ch421 通讯有误码原因何在?

您好,我用ch421做ch365(工控机PCI口)与高速单片机(F8051c360,系统时钟75MHz,3.3V)数据通讯,PC先读ch421的0地址数据,如为0,则从地址0起写入CH421共23字节,(地址0是字节数),单片机读CH421的0地址,如不为0,则读CH421从地址0起23字节,并在ch421的0地址写入0。这样pc写一行,单片机读一行,但高速运行时,读出的数据有误码。改变单片机读CH421脉冲宽度,改变两次读脉冲间隔,误码率有变化但不能消除,目前误码率是20行中有一行出错。请帮助分析一下可能的原因。谢谢。

                             合肥力宇数控设备制造公司  邵文远


ch421采用分时机制,在3.3V供电下,最好读写有效时间要大于140ns,读写间隔时间大于240ns;另外在读写数据软件控制上采取“先进先出”原则,即"CS=0,RD=0,..RD=1,CS=1"。你可以根据自己的单片机速度测试一下。


数据读写软件做法和您说的是一样的。读写有效时间和读写间隔时间经反复试验选了最佳值,但误码率还太大。还有那些原因能导致误码率增大呢?

                                                                                                            合肥力宇数控设备制造公司  邵文远


你说的高速运行是指什么?根据你的情况,貌似是出现在单片机的读上,现在可以用以下方法测试:

  1. 问题出现在处理机制上,你的情况应该是PC写的过程中单片机就在读了。处理上变更为PC写完23个字节后再让单片机去读取23个字节。实际上ch421有中断(INT)通知,可以连接单片机,当PC写完控制ch421中断通知单片机读,读取完成,PC取消中断重新写。

  2. 问题出现在ch421上,如果写一个索引读一个数据没有问题,连续读有错误。那么可能还是你读的太快数据没稳定,或者在ch421的CS和RD端口各增加一个RC电路:单片机经过一个1k电阻然后20p左右电容下拉到地,电阻另一端连ch421。

看你的过程,你所需要的似乎是FIFO,先进先出,一端写另一端读,如果测试阶段可以看一下ch424是不是对你的应用



只有登录才能回复,可以选择微信账号登录