CH368地址线理解

你好,CH368有16位数据线,资料中:“CH368 的存储器空间占用 32K 字节,偏移地址是 0000H~7FFFH,可以全部提供给外部设备使用,实际地址是存储器基址加上偏移地址。CH368 的 I/O 空间占用 256 字节,去掉 CH368 自用寄存器,还可以提供 232 字节给外部设备使用,偏移地址是 00H~E7H,实际地址是 I/O 基址加上偏移地址。 ” 偏移地址是 0000H~7FFFH,而且再加地址线是16根也就是最大可以输出FFFF了,但这个每台电脑基地址不一样,比如我PCIe插上电脑的基地址是D000,那这样最大偏移地址就是2FFF,是这样理解的吗?谢谢。


以I/O空间为例:若计算机上给CH368分配的IO基地址是D000,则可以访问到CH368的IO空间的地址范围是:D000~D0FF,232个字节用于外部设备通讯的地址为:D000~D0E7。


这么说,地址线只用到了第8根,那么为什么还做16根地址线勒?


如果是IO读写,实际只需要用到8位地址。如果是Memory读写,则需要用到高位地址线。


哦哦 了解了。

目前我对CH368 +FPGA做了一个PCIe卡,卡上没有Memory,想用IO读写,读取一串AD数据,比如1024个,目前我理解是CH368上位机每读取个数据就需要发送一个地址,让FPGA把数据传输到与CH368连接上,CH368被动读取,感觉有点麻烦, 我在想可以不可这样实现勒,FPGA把1024个数据接收成功后,产生一个中断,CH368一次性轮流接收1024个数据,或有没有别的方法实现勒?谢谢,


如果是和FPGA通信也可以忽略地址线,直接读写数据线内容即可。可以用CH368的中断信号线用作被动通知的信号,但需要注意数据需要一直缓存在FPGA内部,直至接收到IO_RD的信号后总线才输出数据。


是的,我是想AD采集的数据提前送到FPGA的自建ram数组中暂存。例如1024个数据,IO_RD的信号是上位机每次读操作后,IO_RD信号才有一个,也就是说每次IO_RD信号一次传输一个数据,这样我上位机就要读取1024次,有没有连续读取的操作命令,设定读取次数1024,上位机RD一次就把所有数据读取。

可以用CH368的中断信号线用作被动通知的信号”这个怎么用有案例参考没?谢谢


"提示:当选择字或者双字方式读写时,地址和数据长度需要分别为2或4的倍数,HEX单位"  为什么要这个规则勒?

根据之前上面回复:232个字节用于外部设备通讯的地址为:D000~D0E7,如果是IO读写,实际只需要用到8位地址,也就是说偏移地址是00~E7,地址是固定的,比如地址11,这样数据长度也就只能是1,4,8吗?就不能接收更多的数据了吗?谢谢


Q:"提示:当选择字或者双字方式读写时,地址和数据长度需要分别为2或4的倍数,HEX单位"  为什么要这个规则勒?

A:这个规则取决于软件操作方式,一次操作多少字节。此规则由计算机操作和芯片内部寻址决定。

Q:关于地址问题的理解?

A:前面已经描述过,如果是操作非存储类器件,是可以不使用地址线的。如要从FPGA读取1024个字节数据,可以从固定的IO地址直接读取1024次即可。

方便也可以直接联系我们技术支持。



好的,现在我在开发调试上位机窗口,待调试时直接和你们技术电话联系。谢谢


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