主放大器我们选用美国ADI公司的精密仪表放大器AD620。 图3中运放U2部分组成了一个二阶压控低通有源滤波器。传感器信号通过调节放大之后被送到滤波器的输入端,通过滤波后将干扰部分消除。其传递函数为:。其中为特征角频率。 由于传感器测量的是拉、压力信号,即放大滤波后输出的电压信号为双极性信号,范围约为-10V~+10V,必须将它转换为单极性信号,即对信号进行直流偏置,在此采用简单的电阻分压方式,如图3所示。所需要的+2.5V电压基准可以由MSP430F149提供。 软件设计 本系统的软件设计主要包括单片机程序、USB驱动程序、PC机应用程序。单片机部分的程序也称为固件,它包括USB设备的连接、USB协议和中断处理等。 PDIUSBD12可以按照USB1.1协议对数据进行封装,然后与PC机进行数据交换。MSP430根据接受到的命令通过PDIUSBD12与PC机的应用程序进行交互。 MSP430向PDIUSBD12发送数据/命令部分程序如下:
void outportb(unsigned char port, unsigned char val)
{
P1OUT&=0xBF; /使PDIUSBD12的WR引脚为低电平
P5DIR=0xFF; /P5口为输出模式
if(port)
P1OUT|=A0; /A0为高电平,传输命令
else
P1OUT&=~A0; /A0为低电平,传输数据 P5OUT=val; /向PDIUSBD12写数据
P1OUT|=~0xBF; /恢复PDIUSBD12的WR引脚为高电平
}
MSP430从PDIUSBD12读取数据的部分固件程序如下:
unsigned char inportb(void)
{
unsigned char data=0x00;
P1OUT&= 0xDF; /使PDIUSBD12的RD引脚为低电平
P5DIR=0x00; / P5口为输入模式
data=P5IN; /从PDIUSBD12读取数据
P1OUT|=~0xDF; /恢复PDIUSBD12的RD引脚为高电平
return i;
}
|