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.

28069的usb_dev_serial虚拟串口传输及传输速率

Other Parts Discussed in Thread: C2000WARE, TMDSCNCD28069ISO

您好,我想请问一下,有关usb_dev_serial这个例程。(用的是28069的launchpad)
1.这个模拟成串口的话,发送速率可以突破实际串口的速率吗,即大于115200,可以的话要改动哪里的配置,因为项目的原因,需要较高的波特率来进行数据传输,我在这个函数UARTConfigSetExpClk()里面把波特率改高,实际发送的速率好像没有变化(用一个测试串口速率的小程序进行测试)。
2.用什么发送语句或者函数来进行数据的发送,我现在用的是在while(1)中用UARTCharPutNonBlocking(UART0_BASE, ui8Char)来进行数据的发送,在115200的波特率下可以正常发送,按照我的问题1里的提高波特率之后,用串口助手读取的数据就有问题。不知道这样做对不对,这样属不属于虚拟串口传输。
因为项目比较紧急,希望能尽快得到答复。

  • 你好,串口速率高于最大的115200的话,即使发送端能超速,接收端不是也会出错吗?

    user6295096 说:
    我现在用的是在while(1)中用UARTCharPutNonBlocking(UART0_BASE, ui8Char)来进行数据的发送

    你是修改过程序吗?我这边例程中,这个函数不是在while(1)循环中的,但这个函数是用来将字符放入UART传输FIFO的。至于提高波特率之后读取有问题,还是有可能是接收端波特率限制的问题?

  • 对的。我修改过程序 是为了发送采样的数据到电脑,我之前在主程序里面用UARTCharPutNonBlocking来发送,在波特率115200时可以成功发送数据,在改动UARTConfigSetExpClk()里的波特率的时候,接收端波特率我在串口调试助手的波特率也作了相应的改动,比如(512000或者1000000)。
    刚刚尝试Susan Yang的USBBufferWrite函数进行数据发送,没有成功。是不是我的板子用不了这个函数,我板子(28069的launchpad)上只有一个miniUSB的接口,按我的理解来看,这个就是UART传输数据的接口,而不是USBBufferWrite发送数据的接口,不知道对不对,麻烦您解答一下。
  • 我在E2E论坛上找到一个类似的帖子,你可以参考一下:e2e.ti.com/.../723836
    另外,launchpad上的miniUSB口就是UART传输数据的接口,而不是USBBufferWrite发送数据的接口
  • 您好,我刚刚仔细看了您的答复和帖子。
    帖子里说可以配置到921600左右,这个波特率基本可以满足我的需求,不过我不太确定这个配置的是UART的UARTCharPutNonBlocking还是USB的USBBufferWrite数据传输。因为我这个板子只有一个接口,说明这个usb_dev_serial例程并不是适配我手头launchpad的,我只能用里面UART的部分。
    我打算要是配置不出来的话,接下来就得采用可以用USBBufferWrite的板子,这种方式传输数据的速率按我的理解可以做到很高,想请问现在哪个板子可以采用这个USBBufferWrite?
  • 我的项目是将ADC采样后的结果传输到上位机,在上位机实时显示出波形,由于开关频率比较高,采样频率也比较高。所以对数据传输速率会有一定的要求,现在就是想办法把数据传输速率做上去(大概100kB/s,越高更好),谢谢您的耐心解答!
  • 板子的话这款是带USB2.0接口的:www.ti.com.cn/.../TMDSCNCD28069ISO
    但是用上面这款controlCARD的话需要搭配如这个链接中的底座:www.ti.com.cn/.../TMDSDOCK28069
    上述controlCARD的硬件资料可以在这里找到:C:\ti\c2000\C2000Ware_3_01_00_00\boards\controlCARDs\TMDSCNCD28069ISO
    其中R0_3和R0_4是带USB的版本
  • 好的,万分感谢。我还有一个问题,就是这个我手头28069的这个launchpad,我现在的做法实际上是利用FT2232实现USB转UART(功能等同于USB转RS232之类的),而不是叫做USB虚拟串口通信。USB虚拟串口通信是用带USB接口的板子和USBBufferWrite语句实现的。这样理解对吗?
  • 我认为可以这么理解。
    另外,用例程做实验还需要在电脑上安装驱动,位置在:C:\ti\c2000\C2000Ware_3_01_00_00\utilities\windows_drivers