伴随着信息技术和计算机技术的快速发展,如今数字信号处理技术已经成为现代科学发展的核心技术。再加上不断成熟的单片机技术,使得单片机在数字信号处理中有了更为广阔的应用前景。本文主要研究的是以MSP430单片机为主的空间定向测试技术。在设计中实现了基于MSP430单片机的空间定向测试,并且能够很好地应用于实际测量当中。
0引言
空间定向测试仪是一种应用非常广泛的电子测量仪器,尤其是伴随着微电子技术的发展,空间定向测试仪在车辆、舰船、飞行器等导航领域中的应用日趋成熟。本文所研究的空间定向测试技术主要是以MSP430单片机为基础的。因为MSP430系列单片机是一种16位超低功耗、具有精简指令集(RISC)的混合信号处理器,它能针对实际应用需求,将多个不同功能的模拟电路、数字电路模块和微处理器集成在一个芯片上。因此,笔者研究了如何用MSP430单片机控制各模块的接口电路,并且能够很好地应用于实际测量当中。
1空间定向测试各硬件接口的设计
本文主要研究的是基于MSP430单片机的空间定向测试仪,该仪器的工作原理是将方位信息接收器接收到的数据传输给MSP430单片机的可读存储器中,然后在经过输出端显示到液晶屏上。在这一过程中,我们需要设计一个硬件接口电路,连接信息接收器和液晶显示器,而MSP430单片机的读写控制则需要通过语言编程来完成。
基于MSP430单片机的空间定向测试仪设计的基本思想是利用MSP430单片机操控方便、接口简单、体积小、低能耗以及低成本等优点,将其作为嵌入式系统以便扩展空间定向测试仪的功能。由于空间定向测试仪的信息接收模块接口电路较少,但是应用范围非常广泛,因此需要设计多接口电路联接显示器、单片机等。此外,为了提高空间定向测试仪的数据处理和应用能力,需要实现PC机与空间定向测试仪的串行通信。实现良好的人机对话,操作简单以及友好界面,有人性化的输入能力和显示能力。因此,其硬件接口模块设计如图1所示。
图1硬件接口模块
MSP430单片机是空间定向测试仪的核心部位,它不仅可以对整个仪器的内部软件模块进行协调处理,而且还能够对收集到的各种数据信息进行分类整理,计算出相应的数值。加速传感器主要使用的是ADXL203,ADXL203是完整的高精度、低功耗、单轴/双轴加速度计,提供经过信号调理的电压输出,所有功能均集成于一个单芯片IC中。这些器件的满量程加速度测量范围为±1.7 g,既可以测量动态加速度,也可以测量静态加速度。基于MSP430单片机的空间定向测试仪的整个信号电路是对传感器的输出信号进行放大和滤波,电路的晶振频率是411.0592MHz,波特率是4800,此时设波特率的初始值为FFFAH.标定数据库主要是由AT24C16存储器构成,其低压和标准电压为Vcc=1.8V-5.5V,拥有2048×8(4k)的存储空间,2线串行总线,斯密特触发,噪声抑制滤波输入。Bi方向传输协议,100kHz(1.8V,2.5V,2.7V)和400kHz(5V)兼容传输速率。硬件数据写保护引脚,8位页写模式,允许局部页写操作,器件内部写周期最大10ms,高可靠性,1万次的写周期,100年的保存时间。在LCD显示屏方面主要根据LCD的串/并行数据接收模式,如果是低电平采用的是串行模式,如果是高电平则采用并行模式,此外,液晶显示屏设计为中心对称可以正反显示,方便读取数值。键盘部分采用的则是16键盘,4×4阵列,从PB口低4位引出列线,PC低四位引出行线,然后通过电阻接+5V电压。键盘的电源键负责开关机的控制,显示模式选择键则是控制测试仪的空间定向信息,测量方式选择键用于不同情况下方位测量的相互切换。保持按键则是将测量结果保持在显示器上方面读取。为了降低空间定向测试仪的功耗,MSP430单片机可以根据实际情况增加高电平,发出键盘扫描信号,其他情况则可以采用能耗较低的低电平。
基于MSP430单片机的空间定向测试仪的串行输入口和串行输出口分别与MSP430单片机相连,主要负责接收方位信息接收器传输的各种信息。基于MSP430单片机的空间定向测试仪供电电压范围是1.8 ~ 3.0V,该测试仪的硬件平台需要使用三种电压,内核的工作电压为1.8V,存储器和外部I/O设备的工作电压为3.3V,系统平台的工作电压则为4.2V.该仪器所使用的是宽电平输出,通过转换器进行多电平输出,并且可以通过LM317稳压器得到稳定电压。此外,复位电路的设计也是相当重要的一个环节,复位电路主要完成测试仪的上电复位和测试仪在运行过程中用户的按键复位功能。复位电路主要由简单的RC复位电路组成,拥有可靠的逻辑复位功能。为了保证测试仪能够有效复位,需要选择合适的参数,调整复位状态的时间。对于S3C2410X,在测试仪上电后nRESET端必须保持低电平至少有4个MCLK周期,两级非门电路用于按钮去抖动和波形整形;nRESET端的输出状态与Reset端相反,用于高电平复位。
2空间定向测试各接口的软件设计
基于MSP430单片机的空间定向测试仪的软件工作平台主要有内嵌式编辑器、编译器、汇编器、连接器、调试器以及函数库管理器。基于MSP430单片机的空间定向测试仪的编程主要可以分为方位信息接收器数据输入的传统通信程序设计、LCD数据显示输出的程序设计、下位机串口通信模块程序三大部分。
2.1接收方位信息流程设计
接收方位信息的流程如下图2所示。首先需要设置一个串口中断,串行控制寄存器RI表示接收中断的标志位,当RI=1时,说明空间定向测试仪接收到数据。然后将RI至零,判断下一组数据的信息状态。将路径字母输入缓冲区中,判断该语句是否为A(电流数据),如果判断为A就将所需要的语句输出到LCD显示屏上,如果为V(电压数据),则不进行显示。
图2 接受方位信息流程图
2.2液晶显示流程设计
MSP430单片机通过中断接收主通信控制器发来的数据,并将接收到的数据送给LCD显示。通信参数设置为波特率为1200bps,8个数据位,CRC校验。对接收到的数据汉字采用16*16的点阵、字母和数字母采用8*16的点阵显示。由于需要显示的汉字、字母和数字是固定的,所以采用直接固化显示字模到FLASH中的方法。这种方法占用空间少,程序实现简单,显示速度快,适合字模数据库不大的情况。液晶显示程序流程如图3所示。
图3 液晶显示程序流程
2.3下位机串口通信流程设计
首先调用初始化函数进行系统初始化,串口通信结构图如图4所示。初始化完毕后,程序进入主循环。每次循环时,程序首先调用DoUart处理串行通信接收缓冲区中的数据。处理完毕后,如果有需要发送给PC机的数据,就调用SendUart函数发送数据。如果串行通信模块收到数据,则CPU退出低功耗模式,而进入串行接收中断程序。退出中断程序后,CPU不再进入低功耗模式,并执行跳转语句,进行下一轮循环,再次调用DoUart和SendUart函数。若没收到数据,则CPU会一直处于低功耗模式。
图4 下位机串口通信程序结构图
3调试
IAR C-SPY高级调试器与IAR Embedded Workbench的工作环节能够很好的匹配在一起,可以形成一个拥有较强功能的高级语言交互调试器,可以对汇编语言或者C语言进修调试。能够设置断点,进修单步运行,并且支持如Stepin,Step over等多种单步运行方式,可以观察寄存器以及内存的数值,查看变量。
在这里,笔者使用硬件仿真调试Flash EmulationTool模式。主要通过JTAG接口与MSP430单片机的硬件系统相连接,然后下载程序。MSP430单片机接外围电路并且模拟硬件系统的真实环境进行调试,验证应用程序是否有错误,同时检验目标系统的硬件设计是否足够完善。
4结束语
综上所述,单片机是将计算机、微电子以及现代通讯融合在一起的高新技术,在工业控制以及测量领域的应用非常广泛。本文研究的MSP430单片机的主要特点是可靠性高、操作简单、维护方便。基于MSP430单片机的空间定向测试仪有超低的功耗,而且在降低芯片的电源电压和灵活而可控的运行时钟方面都有其独到之处。因此在车辆、舰船、飞行器等导航领域中有着非常广泛的发展和应用前景。本文主要介绍了基于MSP430单片机的空间定向测试仪的结构设计,对其硬件结构设计以及软件结构设计进行了细致的分析研究,从而能够满足实际应用对基于MSP430单片机的空间定向测试仪在性能以及可靠性方面的需求,为基于MSP430单片机的空间定向测试仪未来的发展提供更加广阔的空间。