sot
sot
驱动牛犊
驱动牛犊
  • 注册日期2001-11-13
  • 最后登录2006-05-18
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望3点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
阅读:1452回复:10

S5933+CPLD的一个问题

楼主#
更多 发布于:2002-11-09 22:23
直通(PT)方式下,如果要使用两个PT REGION,一个I/O方式,一个MEMORY方式,在CPLD里怎么判断总线来的是I/O数据还是MEMORY数据?是S5933的各个管脚输出不同,还是总线上传输的地址不同?
对了,这个地址段就是配置空间基址寄存器的值吗?
谢谢各位!
kxgchina
驱动小牛
驱动小牛
  • 注册日期2002-04-01
  • 最后登录2005-05-05
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-11-10 14:51
管脚的输出不一样,因为你的两个空间不同,分别设置在配置空间中基址寄存器的1-4中的两个里面,地址输出一般也不一样的。地址总线上的地址是从属于你设置的两个空间中的。你的基址寄存器中的数据是两个空间的首址    
sot
sot
驱动牛犊
驱动牛犊
  • 注册日期2001-11-13
  • 最后登录2006-05-18
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望3点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-11-11 17:49
就是问管脚输出哪一点不同,是哪个管脚?假如用8位数据总线,12位的地址线(即4K),那么地址应该怎么算?基址积存器可是32位啊,我看资料上说是4位段地址左移,16位偏移地址,可这是4M的,我没看明白。还说系统会将分配的实际物理地址写回配置空间。那么该用什么地址值呀,怎么用?
谢谢
ppphaitaoamingp
驱动牛犊
驱动牛犊
  • 注册日期2002-11-05
  • 最后登录2005-05-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-11-11 19:32
我不清楚你为什么追问这个问题!在S5933与PCI的接口已确定,32位的数据/地址总线,你访问的任何寄存器都是基地址+偏移量,基地址的取得通过系统得到的(在驱动程序中做),偏移地址在数据手册中有!这个问题很容易解决!不信你试试!
给点分吧,兄弟!
sot
sot
驱动牛犊
驱动牛犊
  • 注册日期2001-11-13
  • 最后登录2006-05-18
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望3点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-11-12 04:41
我不清楚你为什么追问这个问题!在S5933与PCI的接口已确定,32位的数据/地址总线,你访问的任何寄存器都是基地址+偏移量,基地址的取得通过系统得到的(在驱动程序中做),偏移地址在数据手册中有!这个问题很容易解决!不信你试试!


我正是想用12位数据/地址总线,其中数据线8位,地址线12位。这一点我很迷惑。
mengfaf
驱动牛犊
驱动牛犊
  • 注册日期2002-02-26
  • 最后登录2005-05-31
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-11-15 11:31
根据PTNUM1,和PTNUM0这两根信号线,来选择读取不同的存取区域,
如果是MEMORY需要读取/写地址帧。

有一点我不明白,PASS THRU方式,无法看到数据传输是否完成?如果我想先输出一个双字,接着再读取一个双字,我没法知道数据输出是否完成?输入数据是否已经准备好?各位大虾请多发表意见。
stroll
驱动小牛
驱动小牛
  • 注册日期2001-10-26
  • 最后登录2007-06-08
  • 粉丝0
  • 关注0
  • 积分161分
  • 威望17点
  • 贡献值0点
  • 好评度16点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-11-15 13:25
dxfer trdy信号好好看。
sot
sot
驱动牛犊
驱动牛犊
  • 注册日期2001-11-13
  • 最后登录2006-05-18
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望3点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-11-18 11:56
给了一次分后怎么再给分啊?
kxgchina
驱动小牛
驱动小牛
  • 注册日期2002-04-01
  • 最后登录2005-05-05
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2002-11-18 14:10
不可以了,除非重新开贴
你的问题我好像见过,记不太清了
大致是这样的:地址输出是数据地址复用,你可以取低12位所存作为地址,就是地址译码的方式,类似于单片机,如果不太清楚,我们可以再交流
mengfaf
驱动牛犊
驱动牛犊
  • 注册日期2002-02-26
  • 最后登录2005-05-31
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2002-11-19 10:21
 :D
我想明白了,其实这个问题很简单,就是用地址寄存器输出数据,再用数据几春器将数据镀金来。
sot
sot
驱动牛犊
驱动牛犊
  • 注册日期2001-11-13
  • 最后登录2006-05-18
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望3点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2002-11-19 12:04
谢谢各位了!!!!
MENGFAF你说的判断数据传输似乎就是用寄存器将数据锁存住,然后配合各握手信号来操作。
我正在做一块PCI的板子,从软件到硬件一整套都在弄,有机会希望与各位多交流。
游客

返回顶部