This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] DDC264EVM:Windows 上的自定义软件、可对 DDC264进行编程

Guru**** 1715510 points
Other Parts Discussed in Thread: DDC264
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/864240/ddc264evm-custom-software-on-windows-to-programm-ddc264

器件型号:DDC264EVM

您好!

我们可以编写个人 GUI 的 DLL 代码库很多、在您的代码中、我们修复了一些错误。 然而、在测试期间、EVM 会出现错误且应用程序崩溃、在此错误之后、您的软件也无法写入或读取电路板寄存器、写入/读取配置寄存器时会显示错误消息。

要解除电路板的阻断、我们需要在电路板的 USB 端口连接器附近按 SW2、并在 FPGA 和 DDC 寄存器再次编程。  

如果我们启动命令  以自行写入 DDC264寄存器、尽管我们遵循以下字母中的结构:

2.配置 DDC 寄存器:
首先使用 XferINTDataOut()向电路板发送数据并配置 DDC 寄存器。
由于函数一次只写入一个寄存器、因此必须为执行该函数
多次写入 FPGA 中的以下寄存器。 前两位数字表示
RegH & RegL 和最后两位数字代表 DataH & DataL。
要按顺序发送的数据:0000、0000、1100、1200、1C 、
一维 、1F01、0000、0000、1E01

电路板无法收集正确的数据、就好像命令没有效果一样。

如果我们启动命令从  您的软件中写入 DDC264的 CFG REG (DCC264寄存器下的按钮) 、则我们使用我们的软件配置 FPGA 寄存器后、电路板将再次工作。

此外、DDC 指令的硬复位表明:

要硬复位 DDD 器件,请使用 XferINTDataOut()发送以下寄存器值。 前两位数字表示 RegH 和 RegL、后两位数字表示 DataH 和 DataL。
要按顺序发送的数据:0000、15FF、15FF、1500、1500、 15FF、15FF。

如何才能传递到  XferINTDataOut() 函数的7 对2个字节? 在 DLL 中,func 被定义为: XferINTDataOut( int *USBdev,int *Data01,int *Data02,int *Data03,int *Data04)

我们希望应用复位的 iidstruction 会像前面的那样传递偶数对来写入寄存器。

很明显、document....ca上有一些错误的信息 n 您在软件的2个按钮中只提供了代码示例硬复位 DDC 并编写 CFG/验证 CFG 以了解我们的软件中有什么错误?

 我们再次被阻止 ,并且“可怕的延迟”提供我们必须对您的电路板进行的测试数据,我们有丢失合同的风险。

 非常感谢您为实现我们的目标提供的任何帮助。

Giuseppe

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Guiseppe、您好!

    我已经为 HARD_RESET_DDC 添加了代码片段(请参阅第8页)并写入 CFG/验证 CFG 函数。

    /cfs-file/__key/communityserver-discussions-components-files/73/WRITE_5F00_CFG-and-HARD_5F00_RESET_5F00_DDC_2D00_Code-snippet.docx

    函数  XferINTDataOut()  一次只写入一个寄存器,必须多次调用该函数才能写入 FPGA 中的寄存器。

    例如 、15FF 被拆分为4个数据字并使用函数发送。 对于其他数据也会重复此操作。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    非常感谢您、现在我们能够写入 DDC CFG 寄存器并重置芯片、我想在流位写入 FPGA 寄存器中只有最后一个错误。 我这样说是因为如果我们尝试执行以下操作:

    • 为电路板加电
    • 从我们的软件复位(感谢新信息)
    • 从我们的软件中写入和读取 FPGA
    • 使用我们的软件编写 CFG DDC

    不工作!

    相反、如果我们尝试执行以下操作:

    • 为电路板加电
    • 我们的软件复位(感谢新信息)
    • 使用 FPGA 寄存器下的"写入"按钮从您的软件中写入和读取 FPGA
    • 使用我们的软件编写 CFG DDC

    很不错!!

    在我们的函数下面、写入和读取 FPGA 配置20位似乎有效、因为我们以正确的方式读取我们的写入内容。 更改值我们会回读新值、但无法使用两个软件读取值。

    公共模块礼品卡
    公共功能 FPGA()
    DIM 寄存器 In (256)为整数
    DIM 寄存器输出(256)为整数
    DIM 寄存器(256)为整数
    DIM 标记为整数
    对于指示灯= 0至255
    RegEnabler (指示器)= 0
    下一步
    对于指示灯= 0至255
    RegsIn (指示器)= 0
    下一步

    RegEnabler (0)= 1
    RegEnabler (1)= 1
    RegEnabler (2)= 1
    RegEnabler (3)= 1
    RegEnabler (4)= 1
    RegEnabler (5)= 1
    RegEnabler (6)= 1
    RegEnabler (7)= 1
    RegEnabler (8)= 1
    RegEnabler (9)= 1
    RegEnabler (10)= 1
    RegEnabler (11)= 1
    RegEnabler (12)= 1
    RegEnabler (13)= 1.
    RegEnabler (14)= 1.
    RegEnabler (15)= 1
    RegEnabler (16)= 1
    RegEnabler (17)= 1.
    RegEnabler (18)= 1.
    RegEnabler (19)= 1.
    RegEnabler (20)= 1
    RegEnabler (22)= 1.
    RegEnabler (32)= 1.
    RegEnabler (55)= 1.

    RegEnabler (81)= 1.
    RegEnabler (82)= 1.
    RegEnabler (83)= 1.
    RegEnabler (84)= 1.
    RegEnabler (87)= 1.


    寄存器 In (94)= 1.
    RegsIn (95)= 1.
    寄存器 In (96)= 1.
    寄存器 In (97)= 1.
    RegsIn (98)= 1.
    RegsIn (99)= 1.

    寄存器 In (220)= 1.

    RegsIn (222)= 1.

    DIM I 作为整数
    寄存器 In (2)= 6
    寄存器 In (3)= 63
    寄存器 In (5)= 6
    寄存器 In (6)= 63
    RegsIn (7)= 119'正常时钟频率
    RegsIn (8)= 1 '或正在运行
    寄存器 In (9)= 16'24
    寄存器 In (11)= 1
    RegsIn (12)= 255'正常忽略
    寄存器 In (14)= 4
    寄存器 In (19)= 50
    RegsIn (20)= 200


    寄存器 In (21)= 1.

    寄存器 In (28)= 7

    寄存器 In (31)= 1.
    RegsIn (32)= 51
    寄存器 In (34)= 1.
    寄存器 In (81)= 6
    RegsIn (82)= 14
    RegsIn (83)= 6
    寄存器 In (84)= 14
    寄存器 In (86)= 1.
    寄存器 In (87)= 1.
    寄存器 In (94)= 2
    RegsIn (95)= 144

    寄存器 In (220)= 4
    RegsIn (222)= 1.


    I = WriteFPGARegsC (0、0、RegsIn (0)、RegsOut (0)、RegEnabler (0))

    返回0

    结束功能

    我们认为、我们不会向 FPGA 发送一些命令、这些命令包含在我们的其中一个功能中、标记为红色:

          调用 Me.WriteRegsC_Click (eventSender、EventArgs)

          如果 FPGARegsOk = False、则转到错误处理程序

          调用 Me.Wait_Time (100)

    .

          TempStr = ReadOnePacketInFromEndPoint6()

         如果 Len (TempStr)= 0、则退出 DO

              如果 i > 4096、则转到错误处理程序

              I = I + 1

              System.Windows.Forms.Application.DoEvents ()

    有什么关于我们哪里出错的想法吗?

    是否共享您的功能? 我可以给您直接发送电子邮件联系。

    谢谢你。

    Giuseppe

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    非常感谢您、现在我们能够写入 DDC CFG 寄存器并重置芯片、我想在流位写入 FPGA 寄存器中只有最后一个错误。 我这样说是因为如果我们尝试执行以下操作:

    • 为电路板加电
    • 从我们的软件复位(感谢新信息)
    • 从我们的软件中写入和读取 FPGA
    • 使用我们的软件编写 CFG DDC

    不工作!

    相反、如果我们尝试执行以下操作:

    • 为电路板加电
    • 从  我们的软件复位(感谢新信息)
    •   使用 FPGA 寄存器下的"写入"按钮从您的软件中写入和读取 FPGA
    • 使用 我们 的软件编写 CFG DDC

    很不错!!

    在我们的函数下面、写入和读取 FPGA 配置20位似乎有效、因为我们以正确的方式读取我们的写入内容。 更改值我们会回读新值、但无法使用两个软件读取值。

    公共模块礼品卡
    公共功能 FPGA()
    DIM 寄存器 In (256)为整数
    DIM 寄存器输出(256)为整数
    DIM 寄存器(256)为整数
    DIM 标记为整数
    对于指示灯= 0至255
    RegEnabler (指示器)= 0
    下一步
    对于指示灯= 0至255
    RegsIn (指示器)= 0
    下一步

    RegEnabler (0)= 1
    RegEnabler (1)= 1
    RegEnabler (2)= 1
    RegEnabler (3)= 1
    RegEnabler (4)= 1
    RegEnabler (5)= 1
    RegEnabler (6)= 1
    RegEnabler (7)= 1
    RegEnabler (8)= 1
    RegEnabler (9)= 1
    RegEnabler (10)= 1
    RegEnabler (11)= 1
    RegEnabler (12)= 1
    RegEnabler (13)= 1.
    RegEnabler (14)= 1.
    RegEnabler (15)= 1
    RegEnabler (16)= 1
    RegEnabler (17)= 1.
    RegEnabler (18)= 1.
    RegEnabler (19)= 1.
    RegEnabler (20)= 1
    RegEnabler (22)= 1.
    RegEnabler (32)= 1.
    RegEnabler (55)= 1.

    RegEnabler (81)= 1.
    RegEnabler (82)= 1.
    RegEnabler (83)= 1.
    RegEnabler (84)= 1.
    RegEnabler (87)= 1.


    寄存器 In (94)= 1.
    RegsIn (95)= 1.
    寄存器 In (96)= 1.
    寄存器 In (97)= 1.
    RegsIn (98)= 1.
    RegsIn (99)= 1.

    寄存器 In (220)= 1.

    RegsIn (222)= 1.

    DIM I 作为整数
    寄存器 In (2)= 6
    寄存器 In (3)= 63
    寄存器 In (5)= 6
    寄存器 In (6)= 63
    RegsIn (7)= 119'正常时钟频率
    RegsIn (8)= 1 '或正在运行
    寄存器 In (9)= 16'24
    寄存器 In (11)= 1
    RegsIn (12)= 255'正常忽略
    寄存器 In (14)= 4
    寄存器 In (19)= 50
    RegsIn (20)= 200


    寄存器 In (21)= 1.

    寄存器 In (28)= 7

    寄存器 In (31)= 1.
    RegsIn (32)= 51
    寄存器 In (34)= 1.
    寄存器 In (81)= 6
    RegsIn (82)= 14
    RegsIn (83)= 6
    寄存器 In (84)= 14
    寄存器 In (86)= 1.
    寄存器 In (87)= 1.
    寄存器 In (94)= 2
    RegsIn (95)= 144

    寄存器 In (220)= 4
    RegsIn (222)= 1.


    I = WriteFPGARegsC (0、0、RegsIn (0)、RegsOut (0)、RegEnabler (0))

    返回0

    结束功能

    我们认为、我们不会向 FPGA 发送一些命令、这些命令包含在我们的其中一个功能中、标记为红色:

           调用 Me.WriteRegsC_Click (eventSender、EventArgs)

          如果 FPGARegsOk = False、则转到错误处理程序

          调用 Me.Wait_Time (100)

    .

          TempStr = ReadOnePacketInFromEndPoint6()

         如果 Len (TempStr)= 0、则退出 DO

              如果 i > 4096、则转到错误处理程序

              I = I + 1

              System.Windows.Forms.Application.DoEvents ()

    有什么关于我们哪里出错的想法吗?

    是否共享您的功能? 我可以给您直接发送电子邮件联系。

    谢谢你。

    Giuseppe

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    有关我们尝试整天不同的解决方案但使用我们的功能的任何新闻都不起作用。 请提供包含在 FPGA 按钮写入中的代码。 谢谢。 Giuseppe
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好  

    问题已解决在 USB 上使用监听器、我们使用反向输入查找正确的流位。

    我强烈建议更新您的文档 7167.USB_IO_for_VB6_DLL_User_Guide、因为在很多方面都是错误的、而且没有可靠的信息来正确使用您的 DLL。

    我们浪费了大量的时间来编写一个简单的应用程序、其中包含了我们可以在2周内编写的正确信息。  

    此致

    Giuseppe