胡小玲, 徐科军, 方 敏, 张彩霞
(合肥工业大学 电气与自动化工程学院,安徽 合肥 230009)
单片机是实现底层自动化和各种设备管理、控制的核心芯片,单片机设计和应用技术是自动化类和电气信息类大学生必须掌握的一门先进技术[1-5]。单片机的种类较多,在实际中都有应用,但是,在教学中基本上是51系列单片机。近年来,TI公司的MSP430系列单片机以其超低功耗以及卓越的性能广泛应用于电能仪表、控制工业、家用电器等领域,在功耗、性能上超过51单片机[6-8]。所以,向学生介绍新型、性能更为优越的单片机,使学生的专业知识跟上科技发展的步伐是必要的。
要掌握单片机这门技术,实践和实验环节必不可少,因此,研制相应的实验装置就相当重要[9]。目前国内研制的单片机实验装置较多,但是,大部分都是针对51系列单片机。也有一些公司推出了MSP430的2系和4系列单片机的实验装置,该两个系列是MSP430系列单片机中的中低端产品,而且比较陈旧,功能较少,可做的实验内容也受限制。MSP430F6736为该系列单片机中的功能比较全面的,属于MSP430系列中的高端产品,除了具备低端产品的基本功能外,其内部还集成3个24位Δ-∑型ADC,并带有LCD驱动模块,在仪器仪表方面具有突出的特点[10-12]。本文针对MSP430F6736研制了一套通用的单片机实验装置,非常适合自动化类和电气信息类大学生学习使用。
研制的基于MSP430F6736实验装置主要可以进行以下几个方面的实验:
(1) I/O实验。包括P1、P2口引脚中断实验(输入实验),控制LED闪烁(输出实验)等。
(2) 定时器实验。包括定时实验、脉冲宽度与周期测量、PWM信号产生;其中产生的可调占空比的PWM信号用于液晶亮度控制实验。
(3) 存储实验。片内Flash、RAM读写,无需CPU干预的DMA数据传输以及外部Mirco SD卡读写实验。
(4) 输入和显示实验。包括普通按键输入实验、基于PCB的电容触摸按键[7]、TFT液晶实验、8段码式液晶显示、计算器实验;其中计算器实验主要利用MAX7348键盘管理芯片,通过扫描矩阵键盘来实现计算器功能。
(5) 串行通信和无线通信实验。包括UART、SPI、I2C通讯以及CC2520、CC1101简单无线通信实验;其中UART主要用于上位机通信实验,CC2520与CC1101无线通信实验主要利用TI公司的无线ZigBee模块,单片机使用SPI方式进行无线数据收发实验。
(6) 仪器仪表类实验。包含双向电流、温度、重量采集实验,片内ADC采集滚轮式电位计电压值,单片机不同低功耗模式下电流消耗检测。
系统以MSP430F6736单片机为核心,主要包括电源变换模块、MSP430单片机最小系统模块、模拟输入输出模块、数字输入输出模块,根据实验需要设计了相应的外围电路模块。硬件框图如图1所示。
图1 系统硬件框图
传统单片机实验板的几种供电电源(5 V电源适配器、USB、锂电池)需要手动进行切换,学生在实验时往往存在几种电源同时接通的情况,这就将几种电源串接在一起了,如果电平大小不一样时,会导致系统供电出现异常,甚至会损坏芯片,影响实验板的正常使用。
本实验装置对电源部分进行改进,采用PMOS管与肖特基二极管对3种电源进行自动选通。其中3种电源的优先级最高为电源适配器,最低的为锂电池。即使同时外接几种电源也不会出现几种电源串在一起的问题;另外,当撤除其中的2种电源,只剩一种电源情况下,也不会导致系统断电。电源适配器与USB均可以作为锂电池的充电电源,构成不间断供电系统,在提高实验装置的可靠性同时也方便学生使用。所设计的电路如图2所示,3种电源经过自动选通后通过LDO稳压后供给系统数字部分与模拟部分。其中加入电容C78、C79的目的是克服肖特基二极管的反向恢复时间的影响[13]。在两种电源切换时,用以延缓PMOS管的关断,防止电源切换时导致系统的短暂断电现象。
MSP430F63736单片机是该系列中的高端产品,具有丰富的片上资源,主要包括:1个具有3个捕获比较寄存器的16位定时器;3个具有2个捕获比较寄存器的16位定时器;320段对比度控制的集成LCD驱动器;支持32位的硬件乘法器;3个24位Δ-∑型ADC;6个外部通道以及2个内部通道的10位ADC;3通道DMA;128 kB大小的Flash以及8 kB的SRAM;3个具有UART、SPI通信等功能增强型通用串行接口A;1个具有UART、SPI、I2C等通信功能的增强型通用串行接口B;实时时钟模块;看门狗定时器模块。单片机最小系统模块是整个实验板的核心部分,包含了单片机、晶振、复位电路。
图2 系统电源变换模块
模拟输入输出模块包括模拟量调理采样部分以及模拟量的产生部分。MSP430F6736单片机具有3个24位Δ-∑型ADC,考虑到实际应用以及传感器成本问题,对应这3个ADC,设计了电流、温度、重量测量。由于该款单片机无DA输出功能,考虑采用外部电路产生恒流源进行温度测量,同时产生的电流也可用于电流测量,提高实验板的独立性,方便用户使用[14]。限于篇幅仅介绍电流测量电路,其余测量电路与此类似。
图3为电流测量电路,其中Rs为100 mΩ检流电阻,经过简单RC之后通过仪用放大器INA128放大,送至单片机内部Δ-∑型ADC采样。R44为配置放大器的放大倍数,另外设计时加入1.25 V基准作为偏置电压,用以测量双向电流。
图3 双向电流测量电路
数字输入输出部分包括PWM输入输出、按键、LED灯点亮、8段码液晶与TFT液晶显示、通讯部分、基于PCB的电容触摸按键。通讯部分包括上位机通讯(通过232与计算机进行数据交换,单片机侧为UART)、SPI通讯、I2C通讯,其中无线通讯部分采用TI的CC2520以及CC1101无线通讯模块,单片机主要通过SPI通讯方式来进行无线数据收发。
为了使得实验装置操作使用方便,避免一个实验对应一个软件工程文件夹,本实验板采用综合的方法将所有的实验均放在一个工程文件里面。使用时可通过滚轮电阻以及两个用户自定义按键完成菜单项的选择与退出,进而进入或者退出相应的实验程序。实验装置的软件总体框图如图4所示,包括单片机初始化模块、菜单选择模块、显示模块、中断模块、SD24B模块、锂电池电量管理模块、液晶亮度调节模块、计算器模块、电容触摸按键模块、MircoSD卡读写模块、上位机通信模块以及射频模块。限于篇幅,仅介绍菜单选择模块与综合性较强的计算器实验。
图4 系统软件总体框图
通过菜单选择模块,用户可以使用齿轮电位器以及按键(确定键S7与返回键S5)选择进入相应的实验程序。菜单选择界面如图5所示,目前已开发了8个实验程序,在软件中预留了接口,用户可以很方便地添加自己开发的实验程序,提高了系统的扩展性。
图5 菜单选择界面
利用MAX7348芯片管理20个按键,这20个按键分别为数字键0~9、加减乘除键、小数点键、正负号键、等于键、退格键、开关ON/OFF键,芯片通过I2C协议与MSP430F6736单片机通讯[15]。
图6为计算器程序流程图,其中ON_flag为计算器开关标志位;Clear_flag为清除标志位,当为1时清除所有参数并且液晶仅显示“0”;Operation_flag为运算标志位,当为1时表示用户已按下“=”键,即进行数据1与数据2 的运算。先进行运算数据1的录入,进入数字1操作模块,当数据1输入完成后,即加减乘除键被按下,进行数据2的录入,进入数字2操作模块。数据1、2操作模块类似,主要完成参与运算的数据1、2的计算,其中包括了对小数点、退格键的处理。上述步骤完成之后在段码式液晶上显示相应信息,然后进入下一个循环,直至用户按下退出键。
图6 计算器实验程序流程图
本文针对TI公司MSP430系列单片机中功能全面的高端产品MSP430F6736单片机研制了一套通用的教学实验装置,实验装置功能丰富,可进行的6大类实验涵盖了该款单片机的大部分模块。在电源变换方面对传统单片机实验板电源部分进行了改进,实现了适配器、USB、锂电池三种供电电源的自动切换。实际通过测试,三种电源之间的可平稳地实现切换;单片机内置的Δ-∑型ADC短路测试精度为14.5位,与数据手册描述相符;电流测量精度可精确到20 μA。本套实验装置在仪器仪表方面表现出了突出的应用,非常适合自动化和电气信息类大学生学习使用,具有较大的参考价值。
[1] 洪 利,章 扬,李世宝.MSP430单片机原理与应用实例详解[M]. 北京:北京航天航空大学出版社,2010:35-38.
[2] 曹 磊. MSP430单片机C程序设计与实践[M]. 北京:北京航天航空大学出版社,2007:1-8.
[3] 沈建华,杨艳琴,翟骁曙.MSP430系列16位超低功耗单片机原理与应用[M]. 北京:清华大学出版社,2004:5-10.
[4] 唐述宏,王文成,等.单片机通用实验板的研制[J].潍坊学院学报,2009,9(4):13-14.
TANG Shu-hong,WANG Wen-cheng. Development of SCM general experiment board[J]. Journal of Weifang University, 2009,9(4):13-14.
[5] 朱震华. 单片机综合实验箱的研制[J].实验科学与技术,2007(1):124-126.
ZHU Zheng-hua. Developing the general experiment box for single-chip microcomputer[J]. Experiment Science & Technology, 2007,(1):124-126.
[6] 石建国,王丽娟.在线调试与编程的单片机教学实验板设计[J].实验科学与技术,2008(3):74-75.
SHI Jian-guo, WANG Li-juan. Design of a MCU demonstration and development board with IAP and ICE Function,[J]. Experiment Science & Technology 2008(3):74-75.
[7] 万志平,柳 斌.一种单片机实践教学实验板开发[J] .自动化技术与应用,2009,28(7):94-96.
WANG Zhi-ping, LIU Bin. A single-chip microcomputer system for teaching purposes[J]. Techniques of Automation and Applications, 2009,28(7):94-96.
[8] 陆中宏.工学结合模式下的单片机实验板的设计与应用[J].制造业自动化,2011,33(2):28-29.
LU Zhong-hong.Work integrated learning mode of SCM experimental slab design and application[J]. Manufacturing Automation, 2011,33(2):28-29.
[9] 张 翰,陈智渊,徐科军.TMS320LF2407A DSP实验装置[J].实验室研究与探索,2007,26(5):39-40.
ZHANG Han, CHEN Zhi-yuan, XU Ke-jun. TMS320LF2407A DSP experimental equipment[J]. Research & Exploration Laboratory, 2007,26(5):39-40.
[10] 刘立群,孙志毅,金坤善.基于MSP430单片机的超低功耗数据采集器设计[J].自动化仪表,2005,26(4):30-31.
LIU Li-qun, SUN Zhi-yi, JIN Kun-shan. The design of Ultra-low power consumptive data collector based on MSP430 single chip computer[J].Process Automation Instrument, 2005,26(4):30-31.
[11] 李 昕,曲梦可,荣誉等. 基于MSP430单片机低功耗湿度计的设计[J].仪器仪表学报,2007,27(6):1437-1438.
LI Xin, QU Meng-ke, RONG Yu, Design of low-power hygrometer based on MSP430 MCU[J].Chinese Journal of Scientific Instrument, 2007,27(6):1437-1438.
[12] 田 野,廖明燕.基于充放电原理的电容式触摸按键设计[J].电子设计工程,2010(10):142-144.
TIAN Ye, LIAO Ming-yan. Capacitive touch sensor design based on charging/discharging principle[J]. Electronic Design Engineering, 2010(10):142-144.
[13] 蔡 震,马洪江.混合PIN/Schottky二极管特性简析[J].微处理机, 2012(4):16-17.
CAI Zheng, MA Hong-jiang. Character and analyse of the MPS[J].Microprocessors, 2012(4):16-17.
[14] 徐科军,马修水,李晓林.传感器与检测技术[M].2版.北京:电子工业出版社,2008:72-79.
[15] 唐红文,陈少平. I2C总线在多机通信中的应用[J].电子技术应用,2005,31(5):51-52.
TANG Hon-wen, CHEN Shao-pin. Application of I2C bus among microprocessor communications[J].Application of Electronic Technique, 2005,31(5):51-52.