TI中文支持网
TI专业的中文技术问题搜集分享网站

关于F28377S usb转串口的程序的问题

我最近在做一个通过串口调试的上位机软件,需要发送的数据量很大,发送频率也很高。下位机用的芯片是F28377S。

问题一:

我希望可以将设备的速度设为高速模式,但是在usb.h的文件里面只找到了全速和低速模式,有没有办法设置为高速模式呢?就算是全速模式,最高的发送频率也只能1帧每毫秒,我想要可以支持更高的发送频率。

// usb.h

//*****************************************************************************
//
// The following are values that are returned from USBSpeedGet().
//
//*****************************************************************************
#define USB_UNDEF_SPEED0x80000000  // Current speed is undefined
#define USB_FULL_SPEED0x00000001  // Current speed is Full Speed
#define USB_LOW_SPEED0x00000000  // Current speed is Low Speed

 

问题二 :

有没有办法将USB FIFO 的大小设置超过64bytes?当我在usbdcdc.c文件中把设置USB FIFO 大小的宏定义设置大于64bytes后,自带usb3.0的电脑可以识别,但是老平台只有usb2.0的电脑就没法识别这么串口设备,显示如下:





我看到在usb.h文件中,有这么一段宏定义


// usb.h

//*****************************************************************************
//
// The following are values that can be passed to USBFIFOConfigSet() as the
// ui32FIFOSize parameter.
//
//*****************************************************************************
#define USB_FIFO_SZ_80x00000000  // 8 byte FIFO
#define USB_FIFO_SZ_160x00000001  // 16 byte FIFO
#define USB_FIFO_SZ_320x00000002  // 32 byte FIFO
#define USB_FIFO_SZ_640x00000003  // 64 byte FIFO
#define USB_FIFO_SZ_1280x00000004  // 128 byte FIFO
#define USB_FIFO_SZ_2560x00000005  // 256 byte FIFO
#define USB_FIFO_SZ_5120x00000006  // 512 byte FIFO
#define USB_FIFO_SZ_10240x00000007  // 1024 byte FIFO
#define USB_FIFO_SZ_20480x00000008  // 2048 byte FIFO
#define USB_FIFO_SZ_40960x00000009  // 4096 byte FIFO

在usbdcdc.c里面更改设置的宏定义,把USB_FIFO_SZ_64改成了USB_FIFO_SZ_1024

//*****************************************************************************
//
// Maximum packet size for the bulk endpoints used for serial data
// transmission and reception and the associated FIFO sizes to set aside
// for each endpoint.
//
//*****************************************************************************
// #define DATA_IN_EP_FIFO_SIZEUSB_FIFO_SZ_64
// #define DATA_OUT_EP_FIFO_SIZEUSB_FIFO_SZ_64

#define DATA_IN_EP_FIFO_SIZEUSB_FIFO_SZ_1024
#define DATA_OUT_EP_FIFO_SIZEUSB_FIFO_SZ_1024
#define CTL_IN_EP_FIFO_SIZEUSB_FIFO_SZ_16

情况:

当USB FIFO大小设置为1024bytes时,只有支持USB3.0的windows电脑可以识别,只支持USB2.0的电脑无法识别,此外,Linux系统,不管是USB3.0还是2.0,都无法识别。

当USB FIFO大小设置为默认的64bytes时,USB不管2.0或者3.0都可以识别,此外Linux也可以识别。

请问有没有办法可以把FIFO的大小设置到1024bytes, 又可以让老电脑也可以识别呢

赞(0)
未经允许不得转载:TI中文支持网 » 关于F28377S usb转串口的程序的问题
分享到: 更多 (0)