图8 软件控制选择通道时序图
4.1 AD7865启动转换和读取结果
在选择了转换通道之后,给CONVST一个负脉冲就可进行一个转换顺序,在CONVST的上升沿各路模拟信号被同时采样,最少70ns后BUSY管脚输出变为高电平,标志转换正在进行,不能进行新的转换,当它的输出出现下降沿时标志着各通道转换结束。转换结果既可在转换过程中每个通道转换完毕时被读取,也可以在各通道都转换完毕后被依次读出,出于可靠性的考虑,本设计选择了后者,时序图如图9所示。
图9 各通道转换结束后读取结果的时序图
4.3 DSP程序设计
软件编程上采用了switch语句,方便对两个方向进行分时提取,在采集每个方向倾斜信息时,首先给相应方向加载大于7ms脉冲信号,然后DSP控制AD7895采集相应方向的倾斜信息,具体程序代码如下所示:
#define F1 GpioDataRegs.GPADAT.bit.GPIOA3
#define F2 GpioDataRegs.GPADAT.bit.GPIOA2
#define CONVST GpioDataRegs.GPBDAT.bit.GPIOB1
#define BUSY
GpioDataRegs.GPBDAT.bit.GPIOB0
Uint16 *Adcdate=(Uint16 *)0x0080000;//总线地址,对应于片选线2
void AD7865(Uint16 channel)
{
Uint16 i;
switch(channel)
{
case 0:
F1 =1;
for(i=0;i<19;i++) {Delay(60000);} //延时7ms
*Adcdate=1; //打开通道1,转换P
//启动转换
CONVST = 0;
Delay(8);//延时至少35N
CONVST = 1;
Delay(20);//等待BUSY信号拉高 while(BUSY == 1){;}
P=*Adcdate;
P&=0x3FFF;// 读取P
F1 =0;
break;
case 1:
F2 = 1
for(i=0;i<19;i++) {Delay(60000);} //延时7ms
*Adcdate=2; //打开通道2,转换R
CONVST = 0;
Delay(8);//延时至少35ns
CONVST = 1;
Delay(20);
while(BUSY == 1){;}
R=*Adcdate;
R&=0x3FFF; //读取R
F2= 0;
break;
default: break;
}}
5 结束语
电解质型倾角传感器具有良好的复现性、可靠性和较高的精度,在应用中需要特别注意的是:⑴驱动信号POUT1,POUT2必须为直流分量为零的交流电压信号,因为直流会使电解质产生电解反应而失去导电性,对传感器造成不可逆转的损坏。⑵在读取两个方向的倾斜信息时,为防止两个方向互相干扰,分时读取,并且加在每个方向上的脉冲大于7ms时,这样两个方向的干扰最小,读取的结果最为准确。
参考资料:
[1] 倾斜传感器解决方案.上海辉格科技发展有限公司.2003
[2] 童长龙等.新型传感器.洪都航空工业集团.2002.10
[3] 张秀,丁仁杰.一种DSP和AD7865数据采集卡的设计与实现[J].电测与仪表.2004.6
[4] 王云峰等.基于ADUC816单片机的倾角传感器应用设计[J].仪器仪表用户.2004.4