摘要:MSC1211是德州仪器公司(TI)新近推出的一款功能强大的带24位Σ-Δ A/D转换和16位D/A转换的微处理器。文中详细介绍了MSC1211的特点和性能,给出了它在智能压力传感器系统上的应用实例。
关键词:传感器;MSC1211;Σ-Δ A/D转换器;D/A转换器
在信息高速发展的今天,传感器的智能化和集成化成为其发展的两个重要方向,而传感器智能化和集成化的程度主要取决于与之相结合的微处理器的性能。具有数据处理能力,能够进行自动检测、自动校准、自动误差补偿、自动抽样、以及标度变换功能的智能压力传感器已成为国内外开发和研究的热点。
MSC1211是美国德州仪器公司(TI)新推出的一款非常灵活的高性能低功耗单片机,该器件内含24位Σ-Δ A/D转换器和16位D/A转换器。将MSC1211单片机与硅压阻式传感器相结合便可以构成高集成度、高精确度、高可靠性的小型化智能压力传感器。
图1
1 MSC1211的功能特点
MSC1211系列微处理器是高集成混合信号元器件,其内部结构如图1所示。
1.1 MSC1211中的A/D转换器设置
MSC1211的片上A/D转换器是高集成度、八通道差分和单通道24位Σ-Δ A/D转换器,其内部包括仪表放大器、可编程增益放大器、多路转换开关、数字滤波?1?、数据处理及信号校准电路。该芯片自带高精度标准电压,精度为0.2%?漂移为5×10-6/℃?因此可以节省空间及降低器件成本,也可输出该标准电压或外接标准电压,从而对外部传感器输出的0~100mV微信号进行采集。 在利用MSC1211的片上A/D进行采样时,需要设置的寄存器为多路开关寄存器(ADMUX)、模数转换控制寄存器(ADCON0~ADCON3)、总和移位寄存器(Summation/Shift Control)以及ADC偏移量设置寄存器(OCL~OCH)。ADCON0决定了内部放大器的增益和AD转换的参考电压等。ADCON1确定了AD转换结果的极性、数字滤波方法和计算模式控制位。ADCON2~3用来设定AD转换输出数据的速率。总和移位寄存器用来设定一次输出需要进行采样的个数(如可以设置为进行8次AD转换后取平均值),然后输出数据。ADC偏移量设置寄存器用来存放零点偏移,以便于进行校正。
1.2 MSC1211中的D/A转换器的设置
相对于A/D转换而言,D/A转换器的设置非常简单。只需要配置4个D/A转换寄存器(DAC0~DAC3)和DAC装载控制寄存器。D/A转换寄存器控制着相应的电压输出方式和参考电压。装载控制寄存器用来控制D/A数据的装载方式。
1.3 FLASH存储器 压力信号可由微控制器设置为数字输出模式或模拟输出模式,这使得它可作为一个标准模拟装置而不需要连接数字通讯线路;而作为一个智能型数字输出传感器时,它可以进行双向通讯。该系统通过RS-232标准接口与上位机通信,如:向上位机(主机)发送测量到的数据,接收上位机发来的控制指令,进行参数设置及校准操作。与上位机的通讯指令采用不定长的ASC代码指令,用不同的信令头(SOT)代表不同的控制,并有CRC纠错以保证数据正确传输,信令有统一的结束码(EOT)。
MSC1211系列微处理器的FLASH存储器容量从4kB到32kB,其中MSC1211Y5的存储器容量高达32kB。用户在使用时可以通过硬件配置寄存器(HCR0)的低3位来灵活配置程序存储器和数据存储器空间的大小?2?。而且不论FLASH存储器被定义为程序存储器还是数据存储器,用户都可以通过MOVX指令来对它进行读写。这就意味着用户可以把全部空间做为程序存储空间,并可将程序存储空间当作数据存储空间来使用。
2 在智能压力传感器中的应用
利用MSC1211丰富的片内资源,可以设计出功能强大、高精确度、宽动态范围的全集成数据采集系统。
2.1 系统硬件设计
智能压力传感器的硬件系统构成如图2所示。该系统由压力传感器、微处理器MSC1211、温度传感器、电源模块和输出模块等几部分构成。 其中电源模块为系统提供3.3V模拟电压(AVDD)和2.7V数字电压(DVDD)。
图3为MSC1211与传感器模块及上位机的接口电路,本系统采用恒流源供电的硅压阻式传感器,其供电电源由MSC1211提供,不需要外接电源。MSC1211的多路复用电路可以提供差分信号输入的各种组合?考虑到共模信号的大小、差分信号的大小、放大倍数、输入信号频率等因素,本设计对压力信号采用差分信号输入方式,选择AIN4作为差分输入的正向输入端? AIN5作为负向输入端,温度传感器信号采用单端信号输入方式。
系统的工作过程:从压力传感器来的信号进入A/D转换器,其内部具有可编程增益放大器,可根据输入信号的范围自动设置增益放大倍数,A/D转换器对模拟信号数字化并进行数字滤波后,由CPU根据从温度芯片读来的温度信号,从FALSH存储器中读取零点和线性度校正系数后,再进行温度补偿和非线性补偿,然后根据量程范围进行量程转换并将其送到D/A转换器,从而输出相应的电压值。
图3
2.2 系统软件设计
系统软件采用模块化结构,其软件模块主要包括以下几部分:(1)MSC1211的初始化,包括单片机初始化 、串口初始化、A/D转换器和D/A转换器的初始化。(2)A/D转换器的校准,包括各通道增益、零点漂移校正。(3)现场压力和温度数据的采集(4)压力传感器的零点校准。温度漂移补偿和非线性补偿。(5)量程转换,D/A数据输出。(6)实时压力显示。 (7) 串口中断服务程序等。
在进行软件设计时,要注意在A/D转换时,每次更改PGA放大倍数时均需重新校准,设定特殊寄存器ADCON1的SM1~0位为00,即进入自动模式数字滤波。这样随着A/D采样次数的增加,数字滤波依次为快速转换、Sinc2、Sinc3数字滤波,从而最大限度地提高转换速度和转换准确度。图4为主程序和串口中断通信服务程序流程图。
2.3 系统功能
基于MSC121的智能压力传感器可以实现逻辑判断、统计处理功能、自诊断、自校准功能;自适应、自调整功能;具有优秀的记忆、存储功能以及卓越的数据通讯功能。
3 结束语
MSC1211可直接接收来自传感器的微弱信号且集成度高、体积小,因此,采用MCS1211构成智能压力传感器可大大简化系统结构。同时,充分利用各种软件功能,可以完成硬件难以完成的任务,从而降低传感器制造的难度,提高传感器性能并降低成本。