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.

[参考译文] CCS/TMS320F2.8379万D:TMS320F2.8379万D controlCARD

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/643120/ccs-tms320f28379d-tms320f28379d-controlcard

部件号:TMS320F2.8379万D
主题中讨论的其他部件: C2000WARECODECOMPOSER

工具/软件:Code Composer Studio

尊敬的支持人员:

我们想通过在DSP和PC上使用USB_DEP_BULK示例来检查USB速度(来自~ë/tools/USB_BLICK_Example/Release)。

为了进行速度验证,我们从PC发送USB数据包并立即读取。   ("-e"参数选项)。

计算后,我们得到的速度是123Kbps (244数据包/秒)。 每个数据包64字节)

我从DSP端删除了所有调试选项,但结果相同。

我在DSP而不是PC中进行了更改,并删除了所有调试选项 - 但也获得了123Kbps

 同时(1)
   {
       //
       //无任何操作...中断上下文中发生所有操作。
       //
           NumberOfBytes = EchoNewDataToHost (psDevice,pvMsgData,64);
         }

请帮助理解。 USB速度应为12Mbs (而非123Kbps)。  

谢谢,Sabina

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

    我们的USB专家将在下周之前离开办公室。 因此,我预计到星期二才会作出答复。 在他返回之前,我会看看是否有人可以帮助您。

    同时,如果您可以提供有关设置的任何其他详细信息,以帮助提供响应(12月5日)

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

    我们按现状使用USB_DEP_BLU_CPU1示例(没有任何更改),为了改善USB速度通信 ,我们尝试将PLL速度从50 MHz更改为50 MHz。

    在对PLL进行任何更改后  ,PC都无法识别 USB驱动程序。

    SysctlClockSet(sysctl_OSCSRC_XTAL | sysctl_PLL_enable | sysctl_IMULT(20)|

    sysctl_SYSDIV(2));

    SysctlAudxClockSet (sysctl_OSCSRC_XTAL | sysctl_PLL_enable |)

    sysctl_IMULT(12)| sysctl_SYSDIV(4));

    对于增量PLL速度,此处应做哪些更改? 为什么这一变化会影响PC端的USB驱动程序识别?

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

    要使USB在F2837xD上正常工作,AUX PLL需要时钟频率为60MHz。

    此外,我们无法实现完全12Mbps。 这有几个原因。 1)要请求更多数据(数据包中的数据),主机需要发送更多请求。 这可能需要操作系统内核编程,并且似乎是对在Windows PC上执行程序的限制。 2)我们的C2000器件上的USBlibrary相当复杂。 由于要处理的函数调用和案例数量众多,C2000的吞吐量受到其MIPS的限制。

    此致,
    SAL
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Sal,
    谢谢,您有没有其他方法可以通过USB加快与PC的通信? 在不同的配置中对操作系统内核限制有何变通办法?
    此致
    卡洛
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Carlo,

    我不知道有什么好方法可以加速操作系统内核以数据包形式发送数据。

    我建议在设备MCU代码上至少使用-O2。 这可能会在C28x端为您提供更好的性能。 确保使用的是编译器优化。

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

    您好,Sal,

    但我们获得的12Mbs和123Kbs之间的巨大差异。 我想至少得到5-7 Mbs。  
    您要执行什么测试来检查USB速度?
    USB设备发送数据的速度是否会大大提高,PC是否会丢失某些数据?

    我们开发医疗设备,每隔8-10毫秒从设备发送100-150字节的数据。 您建议使用哪种协议:批量或中断?

    TI是否提供了使用中断协议的任何示例?

    谢谢,Sabina

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

    您可以连接USB分析仪,查看MCU或PC裸机的数据包数量。 我怀疑PC正在丢弃数据包。 我怀疑瓶颈是C2000的MIPS。

    我取得了与您类似的成绩。 我通过使用批量设备和修改后的PC批量示例来测试吞吐量,对其进行了分析。

    我不知道你对这些中断有什么要求。 USB示例确实使用中断。

    您可能希望尝试使用SPI进行通信。 您应该能够获得更好的性能。

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

     您好,Sal,

    您是指每秒数百万条指令- MIPS吗? 这是否意味着我们根本无法通过USB实现12Mbs?  使用TMS320F2.8379万D的USB可以实现的真正最大速度是多少? 您是否有以这种速度运行的示例?  或发送给我们应该为其进行哪些更改...

    另一个问题:

    我们无法安装嵌入式PC的批量驱动程序。

    您是否已 在PC 嵌入式系统上为批量驱动程序安装重新分发?

    谢谢,Sabina

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

    您好,Sal,

    在帖子中

    https://e2e.ti.com/support/microcontrollers/c2000/f/171/p/419729/1495772</s>41.9729万 149.5772万

    你写了:。” 通过使用批量传输和F2837xD,我们能够实现7至8 Mbps (875 KB /s - 1 MB /s)的吞吐量。 这略低于最大全速12Mbps。 "

    请将此示例发送给我们。

    谢谢,Sabina

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

    Sabrina,

    请尝试这些拉链。 有一个C2000 CCS项目和一个PC应用。 与C2000Ware中发布的版本相比,这些版本仅作了轻微修改。

    此致,

    SAL

    e2e.ti.com/.../USB_5F00_Bulk_5F00_Stress_5F00_Test.zip

    e2e.ti.com/.../usb_5F00_dev_5F00_bulk_5F00_stress.zip

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

    您好,Sal,

    非常感谢。 我运行您的示例并获得6Mbs的速度! 这对我们来说已经足够好了,但我们还有一些其他 问题:

    1. 根据规范,我们应达到12Mbs。 有可能吗?
    2. 我们无法在嵌入式PC上安装批量驱动程序。 您是否有此驱动程序的可再分发文件? 请访问systrace.txt,我们会收到以下错误信息:
      /cfs/file/__key/communityserver-discussions-组件文件/171/systrace.txt

     谢谢,Sabina

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

    这是好消息吗?

    1.正如我之前提到的,存在多种可能的瓶颈,从而提高吞吐量。 可能是C2000处理器速度是瓶颈所在。

    2.请查看驱动程序的补丁程序是否适合您。 请参见Lori Heustess的回复,其中包含关于此线程的ZIP文件。 e2e.ti.com/.../64.6121万

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

    您好,Sal,

    1.处理器速度为200MHz,USB模块需要60MHz, 我们需要 12Mbs。  为什么处理器速度是瓶颈?

    2.没有帮助。 我们也遇到同样的问题。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    1. USBlib相当复杂。 有许多函数调用使得执行起来很昂贵(循环)。

    2.尝试卸载驱动程序,然后重新安装。 您使用的是什么操作系统?

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

    您好,Sal,

    在嵌入式Windows 64位中,它可以正常工作

    在嵌入式Windows中,32位-不起作用。

    谢谢,Sabina

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

    请验证TI响应以关闭此线程。 如果您还有其他问题,请打开另一个线程。

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

    您好,Sal,

    我尝试过您发布的这些示例,但它们没有正常工作。 Visual Studio被吸入以下行:  

    dwError = ReadUSBPacket (husb,szBuffer,echo_packet_size,&ulRead,Infinite,NULL);   

    无法从DE DSP接收任何数据。

    而CodeComposer项目似乎在某个时候跳转到了一个名为usbringbuf.c的文件,并在此处插入了stucks:

    while (* pui32Val >= ui32Size)  //行101

    *pui32Val -= ui32Size;
    }

    如果您知道,请告诉我,这可能是什么问题?

    非常感谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    确保C2000正在执行正确的CCS项目。 当数据包中的数据到达时,它只能向USB缓冲区写入数据,将数据发送到主机PC,而不能执行任何操作。

    SAL