前段时间买了块阿波罗的开发板STM32F429,在测试底层驱动,前天发现一个问题,目前还没有找到解决办法; 1、使用的是开发板的U盘(host)实验的例子,增加了在U盘加载后,不停的读、写、比较文件的准确性,我是使用芯片 自带的LCD控制器,使用RGB显示屏。 2、发现在测试过程中,会有USB读写错误,返回USBH_MSC_PHASE_ERROR,这个是USB的一个硬件错误,寄存器描述如下: Bit 7 TXERR: Transaction error Indicates one of the following errors occurred on the USB. CRC check failure Timeout Bit stuff error False EOP。 但是我只要将LTDC中的LTDCEN位去掉,即关闭LTDC控制使能,无论再怎么测试一个晚上,也不会发生读写错误的问题。 而且我关闭是仅仅是使能,LTDC的背光没有关闭,所以不是电源问题引起的USB读写故障 3、我在使用33MHZ的LTDC刷新频率的时候,很快就会出现错误,我降低刷新频率至12.75MHZ,依然会出现错误,但是这个正常运行的时间明显比33MHZ的要长,按理跟硬件走线应该不太会有多大关系,频率都还是比较低的,USB使用的也是FS模式,而且两边走线应该都是相互分离的 4、这里申请的内存都是使用了内部sram的20K空间,来进行数据读写比较,当然外部也试过,问题一样,不知道是不是芯片内部总线的问题。 5、代码是正点原子开发板的测试代码,不管是寄存器版本和HAL版本都是一样的问题 6、不知道有没有其他人遇到类似问题,或者已经解决了这个问题的,大家相互讨论。 上传附件,以供大家一起测试。测试文件只需在U盘下面放置大于20K的,名称为HP.bin的文件 |
429 USB Uç(Host)å®éª.zip
下载2.5 MB, 下载次数: 9, 下载积分: ST金币 -1
STM32F407 定时器触发DMA 求助大神
【MCU实战经验】基于STM32F407的音频播放器设计
盘古UE-STM32F407工控板原理图
【STM32F429心得\疑问】+STM32F4之FSMC和FMC
STM32F429读取IO口传输的数据速率
STM32F407ZGT6 手摸芯片背部重启
STM32F4 SPI 动作时,软件片选信号被拉高,IO口程序逻辑失控
STM32F401RE NUCLEO求助,串口一直不能进中断
读取STM32F407内部温度传感器值错误
STM32F429多路内部ADC独立采集的办法
评分
查看全部评分
会不会是中断优先级导致的呢?
还有,不断地读写U盘,有可能会导致U盘损坏的。
评分
查看全部评分