首页- 芯片解密常见问题- 正文

片上系统芯片的传感器模块设计(下)

来源:芯片解密-龙芯世纪   时间:2012-02-02   阅读:3113

  数据采集系统的设计过程中,输入数据采集系统的电信号与ADC的输入范围并不一定匹配,因而,一般不直接送入ADC进行转换,必需对输入的信号进行信号调理,经过信号调理后的模拟信号符合ADC的要求。将传感器送来的信号送入放大器OPA4350,此时放大器OPA4350形成一个电压跟随器,起到阻抗变换的作用,以增大输出电流。从放大器输出的信号输入ADUC812控制器的AD转换通道进行数据采集。
  由于ADUC812芯片内部只有256字节数据RAM,因此,需外扩大容量RAM,在此选用了IS61C256,扩展了32K数据区。考虑到ADUC812内部集成了640字节Flash,可以作为电子数据表格的存储区,所以无需外扩Flash存储器。
  程序存储器阵列可以按两种模式之一来编程:一种是串行下载(在线编程)模式;另一种是并行编程模式。并行编程模式与常规的第三方提供的闪速或EEPROM器件编程器完全兼容,但应用起来较复杂,需要对ADUC812中支持并行编程所需的外部引脚进行配置。所以,在本模块的开发和调试过程中采用的是串行下载模式。作为工厂引导代码的一部分,ADUC812本身具有在线编程的程序,使经过标准UART串行接口实现串行代码下载变得容易,只需通过一个与地相连的1kΩ电阻将ADUC812的/PSEN引脚拉至低电平,那么上电时器件将自动进入串行下载模式。
  程序软件是系统的灵魂,系统依靠程序软件的运行实现传感器模块的所有功能。程序软件的合理设计可以有效的发挥扩展系统硬件的功能。本模块的软件设计模型的结构化来自于IEEE1451.2标准的结构。系统的处理器是与51系列单片机兼容的ADUC812,可以采用面向MCS-51的程序设计语言,包括ASM51汇编语言和C51高级语言。与以往的80C51单片机不同,ADUC812具有在线调试和下载功能,它由支持ADUC812的开发工具包Quickstart开发系统来提供。也就是说,在用户系统保留ADUC812的情况下,通过开发系统与ADUC812的串行接口通信,直接对用户系统进行调试。
  STIM必须包含一个TEDS、控制与状态寄存器、通道、中断标志、地址和函数编译逻辑、数据传输与处理函数,触发和触发承认函数、一个TII驱动和一个传感器接口。IEEE1451.2STIM的软件分了四个主要部分:(1)传感器接口STIM模块;(2)传感器独立接口TII模块;(3)电子数据表格TEDS模块;(4)地址与函数功能模块。
  为了使数据采集系统得到高精度的数据,不但硬件上需要采取上述的一些抗干扰以及提高精度的措施,如对供电电源进行严格稳压处理,对ADC输入信号进行RC高频滤波,采用高精度、高稳定度的ADC基准源,采用高精度的传感器等等,同时软件上的优化也相当重要,合适的软件设计能进一步提高精度,提高数据采集系统整体性能。
  本系统的TEDS下载程序是RS232串行通讯程序,分为单片机程序和上位机程序两部分组成。这里研究单片机程序的开发。PC机和单片机之间要实现串行通信,除了要遵守RS232串行通讯协议外,还必须具有各自的通信应用软件。通信软件的设计思路是:PC机为主动方式,在通讯开始后由PC机向单片机发送请求,单片机返回应答信号,通讯正常后,单片机根据PC机发送来的命令,执行相应功能并应答。
  本测试系统的大体设计思路是:以ADUC812作为下位机,当接收到上位机的指令采集数据,通过串口将采集到的数据传给上位机,上位机将得到的测试数据很容易被转化成直观的图表等形式,并可以保存于计算机中以便将来使用。本系统需要为单片机和上位机分别编制软件,以实现数据的沟通,本系统采用VB来编写上位机的程序,用汇编语言来编写ADUC812的程序。由于VB具有MSCOMM控件,我们可以很方便地用串口来采集所需要的数据。而且,VB的程序通俗易懂,移植性较强,开发简单、周期短,绘图功能强大,特别适合应用到需要绘制曲线的系统。