求教数据通信问题

yuyijun   2007-4-7 10:44 楼主
我的系统由前端fpga缓存数据,并口转交给ARM(lpc2214)打包,再交给网络控制器(lan9115)发送到pc端,三个芯片共用总线,程序烧写在flash中,fpga对应arm CS1片选区(主要用来缓存数据),lan9115对应cs0片选区(寄存器映射和数据缓存)。当我进入fpga发给arm的中断时,lan9115对应的cs0片选区(0x80000000-0x80ffffff)内容就变乱了,类似以下情况:
0x80000000  2e 00 2e 00 ff ff 5a 00 5a 00
0x80000010  12 00 12 00 00 00 00 00 00 00
0x80000020  34 bc 34 bc 11 ab 11 ab ff ff
0x80000030  07 14 07 14 aa bb aa bb 00 00
0x80000040  ff 00 ff 00 ac 09 ac 09 ff ff
.....
(高低位相互映射,且数据杂乱...)
fpga对应的中断程序仅仅是把fpga数据从cs1片选区(0x81000000-0x81ffffff)缓存到静态ram中去(0x40003200-XXXXX),按道理不会影响cs0片选区的值啊?arm自己发数据给lan9115一切正常,先前由于fpga三态输出没做导致一进中断cs0-cs3 4个片选区值全被改成定值,无法读写,难道这次也是三态的原因?

回复评论 (5)

没人有经验么
点赞  2007-4-7 22:01
看看这些数据和你CS1的数据接近么?
点赞  2007-4-7 22:14
不接近,很杂乱的,所以很纳闷
点赞  2007-4-8 19:20
有逻辑分析仪么?看看片选信号。
点赞  2007-4-8 22:00
你指中断的时候查片选信号是否跳变了?
我初学这东西,有些时候可能没法领悟你,,,
点赞  2007-4-8 22:29
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复