阅读:1514回复:6
急救:pci9054的io输出问题,大虾们请进
我做的pci9054数据采集卡DMA传输已经调试通过,并且能采回很好的波形。但是用低8位数据线扩展的io口输出却不正确,我的io口是在cpld里扩展的:
低8位数据线用74373锁存输出,地址是用LA1(LBE1),LA2,LA3译码产生。同时扩展了一个输入口。用8位发光管调试。现象如下: io输入口地址为E808~E809 io输出口地址为E804~E805 我把输入口在CPLD里置为0X98,读E808时数据(用PLXMON的iw指令)为98FF,读E809时数据为FF98,两个地址应该是用一个口,为什么数据会不一样呢! 关键问题还不是输入,输出数据时往E803~E807输出数据时数码管都有反映,但显示的数据不对。 我的LBE0,LBE3接入了CPLD但没有使用,我不知道是LBE0~LBE3如何使用,是否会影响到io输出 望各位大虾帮忙,只要问题解决了,分数不是问题,我可以再开帖子给分 |
|
沙发#
发布于:2004-06-23 21:49
各位大虾出手啊!
是我没把问题说清楚还是怎么? |
|
板凳#
发布于:2004-06-24 22:11
大家给点招啊,这个问题憋了好久了
|
|
地板#
发布于:2004-06-25 20:38
检查一下你的Endian 寄存器和你对应的Local Bus宽度
|
|
地下室#
发布于:2004-06-25 21:46
谢谢flying兄的回复,我去照着检查以下。怎么给分啊,怎么没有给分的按钮呢?
|
|
5楼#
发布于:2004-06-27 08:55
我检查了endian寄存器,如果改为little的话,读e808变为ff98 ,读e809变为98ff。写io口还是有问题。是否lbe3~lbe0的问题,它在电路中应怎样接呢?
|
|
6楼#
发布于:2004-06-29 11:38
你采用8位数据读写,应该用LBE0、LBE1啊。你用了LBE1、LBE2,所以每次读出的都是两个字节。“读E808时数据为98FF,读E809时数据为FF98。”其实E808中数据是FF,E809中数据是98。
改为LITTLE ENDIAN后,其实就正确了,E808中读出为98,E809中读出FF。 |
|