我打算用ADS7864的BUSY引脚触发TMS320VC5402的外部中断来读取AD寄存器里的采样数据,DSP与AD之间的接口是并行接口,请问我需要用5402的哪条汇编指令来读数据?是用PORTR指令吗?读数据是不是要用到ADS7864寄存器的地址,地址怎么规定?麻烦高手出来解答下,感激不尽!
Shine:
是的,如果ADS7864映射到I/O空间用PORTR指令读取。
地址的话,看你地址线硬件上是怎么接的。
zhe xiao1:
回复 Shine:
ADS7864内部有六个寄存器,六个通道,每个寄存器存储一个通道的采样数据。我让5402的地址线A15和I/O空间选择信号IS接或门,输出再接ADS7864的片选CS。请问这样是不是意味着ADS7864映射到了I/O空间?每个内部寄存器的I/O空间地址又是多少?怎么用PORTR指令?我是初学者,麻烦具体一点。
Shine:
回复 zhe xiao1:
接了IS信号就表示映射到I/O空间。按照你的接法,A15有效电平是0, 如果其他地址线没有接固定电平的话,映射到0xxxxxx空间,也就是随便用这低32K I/O空间地址都可以。PORTR指令的语法是PORTR PA, Smem。
例如
INDAT .equ 60hPORTR 05, INDAT
zhe xiao1:
回复 Shine:
难道读六个寄存器的数据,我只需要读I/O口地址,而不需要读每个寄存器的地址吗?
Shine:
回复 zhe xiao1:
我的理解是ADC的寄存器地址应该是在ADC内部寻址啊
zhe xiao1:
回复 Shine:
我用的AD是ADS7864,它有六个FIFO寄存器,读数据的时候,六个寄存器的数据会移动到其中一个特定的寄存器等待读取。我的理解是可以通过I/O寻址读取数据,不知道如何在ADC内部寻址。难道是定义每个寄存器的地址吗?