xiaoxulee
驱动小牛
驱动小牛
  • 注册日期2004-05-05
  • 最后登录2006-07-09
  • 粉丝0
  • 关注0
  • 积分104分
  • 威望15点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:1514回复:6

急救:pci9054的io输出问题,大虾们请进

楼主#
更多 发布于:2004-06-23 16:21
我做的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输出
  望各位大虾帮忙,只要问题解决了,分数不是问题,我可以再开帖子给分
    
xiaoxulee
驱动小牛
驱动小牛
  • 注册日期2004-05-05
  • 最后登录2006-07-09
  • 粉丝0
  • 关注0
  • 积分104分
  • 威望15点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-06-23 21:49
各位大虾出手啊!
是我没把问题说清楚还是怎么?
xiaoxulee
驱动小牛
驱动小牛
  • 注册日期2004-05-05
  • 最后登录2006-07-09
  • 粉丝0
  • 关注0
  • 积分104分
  • 威望15点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-06-24 22:11
大家给点招啊,这个问题憋了好久了
flying
驱动小牛
驱动小牛
  • 注册日期2002-08-01
  • 最后登录2016-06-19
  • 粉丝0
  • 关注0
  • 积分197分
  • 威望70点
  • 贡献值0点
  • 好评度19点
  • 原创分0分
  • 专家分0分
  • 社区居民
地板#
发布于:2004-06-25 20:38
检查一下你的Endian 寄存器和你对应的Local Bus宽度
xiaoxulee
驱动小牛
驱动小牛
  • 注册日期2004-05-05
  • 最后登录2006-07-09
  • 粉丝0
  • 关注0
  • 积分104分
  • 威望15点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-06-25 21:46
谢谢flying兄的回复,我去照着检查以下。怎么给分啊,怎么没有给分的按钮呢?
xiaoxulee
驱动小牛
驱动小牛
  • 注册日期2004-05-05
  • 最后登录2006-07-09
  • 粉丝0
  • 关注0
  • 积分104分
  • 威望15点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-06-27 08:55
我检查了endian寄存器,如果改为little的话,读e808变为ff98 ,读e809变为98ff。写io口还是有问题。是否lbe3~lbe0的问题,它在电路中应怎样接呢?
pshong
驱动牛犊
驱动牛犊
  • 注册日期2002-05-20
  • 最后登录2007-05-11
  • 粉丝0
  • 关注0
  • 积分-5分
  • 威望-1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
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。
游客

返回顶部