完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 一只耳朵怪 于 2018-6-21 15:08 编辑
利用AM335X芯片的GPMC扩展8路串口,2400~57600bps条件下通讯收发均正常,在115200bps条件下出现误码,收到的数据通过485监测,数据是正确的,但在应用层读进来的数据,当接收的数据超过18个字节时,多了随机的00字节,请各路大神指点一下!谢谢 监测到的数据帧:7E 32 30 30 31 34 30 30 30 30 30 30 30 46 44 42 39 0D 通过read读取的数据帧:7e 32 0 30 30 31 34 30 30 30 30 30 30 30 46 44 42 39 当向AM335X的扩展串口发送18个字节时,最后一个字节0D被截断,收到的数据第三个字节被00填充了,当接收的数据超过18个字节都会出现这种情况 |
|
相关推荐
6个回答
|
|
如同你发的相同帖子的回复,能否调整一下应用层的串口收发速度
|
|
|
|
是否可以增加数据协议来保证数据的完整性和可靠性
|
|
|
|
串口的收发速度都作了延时控制,在115200pbs条件下,当通过串口调试助手向AM3352发送902个字节时,扩展串口只能接收到671个字节,丢包的情况还是比较严重的。在接收到的671个字节中,每隔16个字节都会***入一个“0”字节。2400~57600pbs波特率条件下不存在丢包的现象。 7e 32 0 30 30 31 34 31 30 30 32 33 37 34 30 30 32 38 37 0 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 0 46......46 0 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 0 46 46 46 46 46 46 46 46 46 46 46 46 31 32 30 通过示波器对TL16C554的RX引脚上波形进行分析时,发现波形是完成正确的。通过查阅相关帖子,有如下描述“当连续接收大量数据时,如果串口IST不能及时读走FIFO中的数据(发生中断时FIFO再接收两个字节就满),将导致串口通信出现丢失数据的情况,当系统任务繁重时这种情况就会更加严重。” 不知道Jian Zhou工有什么更好的解决方法没有? |
|
|
|
嘻嘻爱哈哈 发表于 2018-6-21 08:12 可不可以认为是16C554那边收到的数据速度太快,而AM335x GPMC读取的速度跟不上导致的丢包呢? |
|
|
|
目前,通过示波观测TL16C554的读(IOR)、中断信号,以及在驱动里对线路状态寄存器(LSR)的打印信息,基本可以确定导致在115200bps条件下丢包是由于出现超限错误(LSR的OE位)导致的,也就是说当FIFO中断信号产生后,CPU没有及时产生读控制信号,数据手册上有如下描述“在至少四个字符时间段内没有对接收FIFO进行读操作”,通过示波器监测波形确实出现超时了。那么这个读信号的发出是和tl16c554_timings密切相关的吧?我的gpmc_timings参考之前你给出的时序,是否可以从这里进行优化呢? .sync_clk = 0, .cs_on = 0, .cs_rd_off = 90, .cs_wr_off = 70, .adv_on = 0, .adv_rd_off = 15, .adv_wr_off = 15, .we_off = 65, .oe_off = 70, .access = 90, .rd_cycle = 140, .wr_cycle = 90, .wr_access = 90, .wr_data_mux_bus = 0, 另外,TL16C554数据手册里提到自动流控功能可以避免超限误差——“在TL16C554A中的ACE1和ACE2的自动流控功能被使能时,可以避免超限误差。不然,在数据发送速率超过接收器FIFO读操作等待时间时,就可能出现超限误差”。这里说的FIFO读操作等待时间太过于模糊了,感觉没有说得更具体一点,难道115200bps就超过了,如果这解决这个问题必须要用自动流控功能吗? |
|
|
|
嘻嘻爱哈哈 发表于 2018-6-21 08:49 你可以先优化下时序看看,如果是16C554需要硬件流控,需要在Linux驱动层添加。 |
|
|
|
只有小组成员才能发言,加入小组>>
TMS320F28377D:新做了以377d为芯片的板子,上电后芯片复位引脚出现方波请问如何解决?
1888 浏览 0 评论
TPS55340通电后输入端保险丝烧断,芯片输入和GND之间短路
3641 浏览 4 评论
5027 浏览 0 评论
请问如何用DM368对RGB格式的图片数据进行编码生成JPEG格式图片?
1732 浏览 1 评论
9353 浏览 8 评论
CC3100BOOST使用CC3200lunchXL进行烧录
664浏览 2评论
707浏览 1评论
TMS320F28034: 利用C2prog通过SCI给TMS320F28034烧录程序,出现错误提示:Bootloading... failed (invalid echo)!
668浏览 1评论
求DLPC350 Programmer’s Guide User's Guide 中文版说明书
1189浏览 1评论
1761浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-4-20 14:01 , Processed in 0.666433 second(s), Total 75, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号