完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
如题,现有系统STM32F407+UCOSII+LWIP+DM9000; 有一个51字节的数据包,在上传到电脑的时候,经常会出现错误,最后一个字节应该是0x0D,电脑抓包后收到的最后一个字节总是错误的,这个数据包,无论是更改长度、改变其中任意一个字节的某一位,都无法产生这种现象;
根据TCP传输协议,上位机检验错误不发送确认,STM32的LWIP没有收到确认开始重新发送,此时上位机收到的数据为各种丢包,TCP、ARP连接也彻底断掉,整个以外网数据就都是乱码; 使用串口跟踪过发给DM9000的数据包,也没发现丢包的现象; 原子的战舰开发板上传这个数据包则一点问题都没有; 咨询过DAVICOM的技术支持,怀疑DM9000的晶振精度有问题,现在已经将DM9000的25M晶振的精度,提高到16ppm,问题还是一样; 更奇怪的是,系统在前两次上电的时候,成功率很低,上电稳定一段时间后(温度上升),问题就基本不出现了; 现在我怀疑可能是stm32F407的晶振精度不够,在驱动FSMC时,时钟为168M的总线,而STM32F407的8M晶振的精度,总是在10~30ppm之内漂,造成8M精度不够时,168M的精度就会放大很多,加上走线这块,我是将FSMC用到的管脚,都从芯片内部打了过孔,集中走线走到DM9000,非等长线(不过也差不了太多),线长3cm左右,造成这种特定格式数据写入错误的情况; 请教下各位大神,这种情况,我应该怎么整。。。(苦苦调试了一个月) |
|
相关推荐
7个回答
|
|
自己顶,急急急急急急
|
|
|
|
接着顶,顶顶顶,有大神来出出主意嘛
|
|
|
|
|
|
|
|
谢谢您的意见,CycloneTCP这块有时间我会看看,粗略看了下功能还是很强大的,就是不知道内存够不够用的;
我这块的问题现象就是,stm32硬件软件感觉没问题(只有特定的数据上不去),上位机网络调试助手肯定没问题。。。。说不清楚原因的问题最难解决不是。。。。 |
|
|
|
STM32F103ZET6跑FreeRTOS+CycloneTCP,RAM肯定不是问题;
|
|
|
|
嗯嗯嗯谢谢您的意见,有时间我看看
|
|
|
|
没人回复我接着顶~
|
|
|
|
只有小组成员才能发言,加入小组>>
如何使用STM32+nrf24l01架构把有线USB设备无线化?
2553 浏览 7 评论
请问能利用51单片机和nRF24L01模块实现实时语音无线传输吗?
2340 浏览 5 评论
3171 浏览 3 评论
2813 浏览 8 评论
为什么ucosii上移植lwip后系统进入了HardFault_Handler?
2770 浏览 4 评论
请教各位大咖:有没有接收频率32M左右的芯片推荐的?先感谢啦!
626浏览 1评论
873浏览 0评论
987浏览 0评论
636浏览 0评论
465浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-1 14:37 , Processed in 0.942651 second(s), Total 61, Slave 54 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号