1、第 1 页 共 51 页室温监测系统的设计摘要: 单片机在检测和控制系统中得到了广泛的应用,温度是一个系统经常需要测量控制和保持的量,而温度是一个模拟量,不能直接与单片机交换信息,采用适当的技术将模拟的温度量转化为数字量在原理上虽然不困难但成本较高,还会遇到其它方面的问题。因此对单片机温度控制系统的研究有重要目的和意义。 本文主要介绍了以 MSP430 系列单片机 2274、MC14433、AD590 等芯片组成的温度检测电路,模/数转换电路,键盘/LCD 显示电路,报警电路,信号放大电路;在描述了外围硬件电路的同时,还做了大量的软件工作,包括数据处理软件,PID 控制算法。本设计有效的提高了
2、控制系统的实时性和控制精度大大改善了炉温控制的自动化程度,具有较高的实用价值。关键词: MSP430 单片机 PID 算法 温度采样 第 2 页 共 51 页目 录引 言 3第一章 绪论 .41. 1 选题背景 4第二章 方案的比较和论证 52. 1 温度传感器的选择 62. 2 信号采集通道的选择 6第三章 系统总体设计 731 信号采集 .83.1.1 温度传感器 .83.1.3 多路开关 .1232 信号分析与处理 133.2.1 A/D 转换 133. 3 显示与报警的设计 .173.3.1 显示电路 173.3.2 报警电路 173.4 MSP430 单片机的发展 183.4.1 M
3、SP430 单片机的特点 193.4.2 MSP430 系列与 89C 51 系列的比较 213.4.3 MSP430 系列的内部结构概述 223.5 PID 控制设计 .183.5.1 PID 控制的基本原理 19第 3 页 共 51 页3.4.2 PID 控制的算法 .213.5.3 PID 控制的技术指标 193.4.4 PID 控制的应用 .21第四章 软件设计 254.1.1 主程序流程图: 264.1.2 T0 中断流程图: 274.1.3 报警子程序流程图: 284.1.4 温度采样子程序流程图: 294.1.5 键扫描程序流程图: 30结束语 .31致谢 .32参考文献 .32
4、附录 .33第 4 页 共 51 页引 言室温监测系统针对室温环境下的温度监控,如大型机组的轴温,大型变压器油温,化学反应过程,环境测试等。在现代化的工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。例如:在冶金工业、化工生产、电力工程、造纸行业、机械制造和食品加工等诸多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制。采用 MSP430 单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。因此,单片机对温度的控制问题是一个工业生产中经常会遇到的问题。
5、本文以它为例进行介绍,希望能收到举一反三和触类旁通的效果。第 5 页 共 51 页第一章 绪论1. 1 选题背景单片微型计算机是随着超大规模集成电路技术的发展而诞生的,由于它具有体积小、功能强、性价比高等特点,所以广泛应用于电子仪表、家用电器、节能装置、军事装置、机器人、工业控制等诸多领域,使产品小型化、智能化,既提高了产品的功能和质量,又降低了成本,简化了设计。本文主要介绍单片机在温度控制中的应用。在现代化的工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。例如:在冶金工业、化工生产、电力工程、造纸行业、机械制造和食品加工等诸多领域中,人们都需要对各类加热炉、热处
6、理炉、反应炉和锅炉中的温度进行检测和控制。采用 MSP430单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。因此,单片机对温度的控制问题是一个工业生产中经常会遇到的问题。在人类的生活环境中,温度扮演着极其重要的角色。温度是工业生产中常见的工艺参数之一,任何物理变化和化学反应过程都与温度密切相关,因此温度控制是生产自动化的重要任务。对于不同生产情况和工艺要求下的温度控制,所采用的加热方式,燃料,控制方案也有所不同。无论你生活在哪里,从事什么工作,无时无刻不在与温度打着交道。自18世纪工业革命以来,工业发展
7、对是否能掌握温度有着绝对的联系。在冶金、钢铁、石化、水泥、玻璃、医药等等行业,可以说几乎80%的工业部门都不得不考第 6 页 共 51 页虑着温度的因素。第三章 系统总体设计本设计是基于单片机对数字信号的高敏感和可控性、温湿度传感器可以产生模拟信号,和 A/D 模拟数字转换芯片的性能,我设计了以 MSP430基本系统为核心的一套检测系统,其中包括 A/D 转换、单片机、复位电路、温度检测、湿度检测、键盘及显示、报警电路、系统软件等部分的设计。图 3-1 系统总体框图 本设计由信号采集、信号分析和信号处理三个部分组成的。(一) 信号采集 由 AD590 及多路开关; (二) 信号分析 由 A/D
8、 转换器、单片机 MSP430 基本系统组成;(三) 信号处理 由串行口 LCD 显示器和报警系统等组成。AD590温度检测CD5051 多路开关 MC14433A/D 转换MSP430 单片机LCD 显示报警电路第 7 页 共 51 页31 信号采集3.1.1 温度传感器集成温度传感器 AD590 是美国模拟器件公司生产的集成两端感温电流源。 一 主要特性AD590 是电流型温度传感器,通过对电流的测量可得到所需要的温度值。根据特性分挡,AD590 的后缀以 I,J,K,L,M 表示。AD590L,AD590M 一般用于精密温度测量电路,其电路外形如图 3-2 所示,它采用金属壳 3 脚封装
9、,其中 1 脚为电源正端 V;2 脚为电流输出端 I0;3 脚为管壳,一般不用。集成温度传感器的电路符号如图 3-2所示。图 3-2 AD590 外形(图 1)及电路符号(图 2)1、流过器件的电流(A)等于器件所处环境的热力学温度(开尔文)度数,即:I T/T=1A /K 式中:I T 流过器件(AD590)的电流,单位A。T热力学温度,单位 K。 2、 AD590 的测温范围-55- +150。第 8 页 共 51 页3、 AD590 的电源电压范围为 4V-30V。电源电压可在 4V-6V 范围变化,电流 IT变化 1A,相当于温度变化 1K。AD590 可以承受 44V 正向电压和 2
10、0V反向电压,因而器件反接也不会损坏。4、输出电阻为 710M。5、精度高。AD590 共有 I、J、K、L、M 五档,其中 M 档精度最高,在-55+150范围内,非线形误差0.3。6、 AD590 的工作原理在被测温度一定时,AD590 相当于一个恒流源,把它和 530V 的直流电源相连,并在输出端串接一个 1k 的恒值电阻,那幺,此电阻上流过的电流将和被测温度成正比,此时电阻两端将会有 1mVK 的电压信号。其基本电路如图 3-3 所示。图 3-3 AD590 内部核心电路图 3-3 是利用 U BE特性的集成 PN 结传感器的感温部分核心电路。其中T1、T2 起恒流作用,可用于使左右两
11、支路的集电极电流 I1 和 I2 相等;T3、T4 是感温用的晶体管,两个管的材质和工艺完全相同,但 T3 实质上是由 n 个晶体管并联而成,因而其结第 9 页 共 51 页面积是 T4 的 n 倍。T3 和 T4 的发射结电压 UBE3和 UBE4经反极性串联后加在电阻 R 上,所以 R 上端电压为 U BE。因此,电流 I1 为:I1U BER(KTq) (lnn)R 对于 AD590,n8,这样,电路的总电流将与 热力学温度 T 成正比,将此电流引至负载电阻 RL上便可得到与T 成正比的输出电压。由于利用了恒流特性,所以输出信号不受电源电压和导线电阻的影响。图 3 中的电阻 R 是在硅板
12、上形成的薄膜电阻,该电阻已用激光修正了其电阻值,因而在基准温度下可得到 1AK 的 I 值。图 3-4 AD590 内部电路图 3-4 所示是 AD590 的内部电路,图中的 T1T4 相当于图 3-3 中的T1、T2,而 T9,T11 相当于图 3-3 中的 T3、T4。R5、R6 是薄膜工艺制成的低温度系数电阻,供出厂前调整之用。T7、T8,T10 为对称的 Wilson 电路,用来提高阻抗。T5、T12 和 T10 为启动电路,其中 T5 为恒定偏置二极管。T6 可用来防止电源反接时损坏电路,同时也可使左右两支路对称。第 10 页 共 51 页R1,R2 为发射极反馈电阻,可用于进一步提
13、高阻抗。T1T4 是为热效应而设计的连接防式。而 C1 和 R4 则可用来防止寄生振荡。该电路的设计使得 T9,T10,T11 三者的发射极电流相等,并同为整个电路总电流 I 的13。T9 和 T11 的发射结面积比为 8:1,T10 和 T11 的发射结面积相等。T9 和 T11 的发射结电压互相反极性串联后加在电阻 R5 和 R6 上,因此可以写出:U BE(R 62 R 5)I3R6 上只有 T9 的发射极电流,而 R5 上除了来自 T10 的发射极电流外,还有来自 T11 的发射极电流,所以 R5 上的压降是 R5 的 23。 根据上式不难看出,要想改变 U BE,可以在调整 R5 后
14、再调整 R6,而增大 R5 的效果和减小 R6 是一样的,其结果都会使 U BE减小,不过,改变 R5 对 U BE的影响更为显着,因为它前面的系数较大。实际上就是利用激光修正 R5 以进行粗调,修正 R6 以实现细调,最终使其在 250之下使总电流 I 达到1AK。二 基本应用电路图 3-8 是 AD590 用于测量热力学温度的基本应用电路。因为流过AD590 的电流与热力学温度成正比,当电阻 R1和电位器 R2的电阻之和为1k 时,输出电压 V0随温度的变化为 1mV/K。但由于 AD590 的增益有偏差,电阻也有偏差,因此应对电路进行调整,调整的方法为:把 AD590 放于冰水混合物中,
15、调整电位器 R2,使:V0=273.2+25=298.2(mV) 。但这样调整只保证在 0或 25附近有较高的精度。第 11 页 共 51 页图 3-5 AD590 应用电路(1)图 3-6 AD590 应用电路(2)3 摄氏温度测量电路如图 3-5 所示,电位器 R2用于调整零点,R 4用于调整运放 LF355 的增益。调整方法如下:在 0时调整12348+-OP07U112348+-OP07U2100KR1100KR230KR3100KR4100KR5100KR6GNDGND15V V115VV2GNDGNDAD590 GND入入入入入入ADC入入入入OUT入入-入入入入入入第 12 页
16、共 51 页R2,使输出 V0=0,然后在 100时调整 R4使 V0=100mV。如此反复调整多次,直至 0时,V 0=0mV,100时 V0=100mV 为止。最后在室温下进行校验。例如,若室温为 25,那幺 V0应为 25mV。冰水混合物是 0环境,沸水为100环境。图 3-7 八路分时的模拟量信号采集电路硬件接口四.多路检测信号的实现本设计系统为八路的温度信号采集,而 MC14433 仅为一路输入,故采用 CD4051 组成多路分时的模拟量信号采集电路,其硬件接口如图 3-6 所示3.1.3 多路开关多路开关,有称“多路模拟转换器” 。多路开关通常有 n 个模拟量输入通道和一个公共的模
17、拟输入端,并通过地址线上不同的地址信号把 n 个第 13 页 共 51 页通道中任一通道输入的模拟信号输出,实现有 n 线到一线的接通功能。反之,当模拟信号有公共输出端输入时 ,作为信号分离器,实现了 1 线到n 线的分离功能。因此,多路开关通常是一种具有双向能力的器件。在本设计中,由于采用了温湿度双量控制,所以在信号采集中将有两个模拟量被提取,这时选用多路开关就是很必要的。我选用的是 CD4051 多路开关,它是一种单片、COMS、8 通道开关。该芯片由 DTL/TTL-COMS 电平转换器,带有禁止端的 8 选 1 译码器输入,分别加上控制的 8 个 COMS 模拟开关 TG 组成。CD4
18、051 的内部原理框图如图3-9 所 示。图 3-8、CD4051 的内部原理框图 图中功能如下:通道线 IN/OUT(4、2、5、1、12、15、14、13):该组引脚作为输入时,可实现 8 选 1 功能,作为输出时,可实现 1 分 8 功能。XCOM(3):该引脚作为输出时,则为公共输出端;作为输入时,则为输入端。A、B、C(11、10、9):地址引脚 INH(6):禁止输入引脚。若第 14 页 共 51 页INH 为高电平,则为禁止各通道和输出端 OUT/IN 接至;若 INH 为低电平,则允许各通道按表 3-2 关系和输出段 OUT/IN 接通。V DD(16)和 VSS(8):VDD
19、为正电源输入端,极限值为 17V;V SS为负电源输入端,极限值为-17V。V GG(7) ;电平转换器电源,通常接+5V 或-5V。CD4051 作为 8 选 1 功能时,若 A、B、C 均为逻辑“0” (INH=0) ,则地址码 00013 经译码后使输出端 OUT/IN 和通道 0 接通。其它情况下,输出端 OUT/IN 输出端 OUT/IN 和各通道的接通关系如下输入状态 输入状态INH C B A接通通道INH C B A接通通道0 0 0 0 0 0 1 0 1 50 0 0 1 1 0 1 1 0 60 0 1 0 2 0 1 1 1 70 0 1 1 3 1 x x x 均不显
20、示0 1 0 0 4表 3-232 信号分析与处理321 A/D 转换一A/D 转换器的特点为了把温度、湿度检测电路测出的模拟信号转换成数字量送 CPU 处理,第 15 页 共 51 页本系统选用了双积分 A/D 转换器 MC14433,它精度高,分辨率达 1/1999。由于 MC14433 只有一路输入,而本系统检测的多路温度与湿度信号输入,故选用多路选择电子开关,可输入多路模拟量。MC14433 A/D 转换器由于双积分方法二次积分时间比较长,所以 A/D 转换速度慢,但精度可以做得比较高;对周期信号变化的干扰信号积分为零,抗干扰性能也比较好。目前,国内外双积分 A/D 转换器集成电路芯片
21、很多,大部分是用于数字测量仪器上。常用的有 3.5 位双积分 A/D 装换器 MC14433 和 4.5 位双积分A/D 转换器 ICL7135二MC14433A/D 转换器件简介MC14433 是三位半双积分型的 A/D 转换器,具有精度高,抗干扰性能好的优点,其缺点是转换速率低,约 110 次/秒。在不要求高速转换的场合,例如,在低速数据采集系统中,被广泛采用。MC14433A/D 转换器与国内产品 5G14433 完全相同,可以互换。MC14433A/D 转换器的被转换电压量程为 199.9mV 或 1.999V。转换完的数据以 BCD 码的形式分四次送出(最高位输出内容特殊,详见表 3
22、-3) 。第 16 页 共 51 页多路选择开关锁存器个位 十位 百位 千位极性判别溢出控制电路 C M O S 线性电路时钟/ O R 过量程V R 基准电压V A G 模拟地V X 被测电压D UE O C R 1R 1 / C 1C 1C 0 1C 0 2Q 0 Q 3 D S 1 D S 4实时显示转换周期图 3-9 MC14433A/D 转换器的内部逻辑框图MC14433 引脚图 MC14433 的框图(图 3-10)和引脚(图 3-11)功能说明各引脚的功能如下:电源及共地端VDD: 主工作电源+5V。VEE: 模拟部分的负电源端,接-5V。VAG: 模拟地端。 VSS: 数字地端
23、。VR: 基准电压。 外界电阻及电容端RI: 积分电阻输入端, VX=2V 时,R1=470 ;VX=200Mv 时,第 17 页 共 51 页R1=27K。C1: 积分电容输入端。C1 一般为 0.1F。 C01、C02: 外界补偿电容端,电容取值约 0.1F。 R1/C1: R1 与 C1 的公共端。CLKI、CLKO : 外界振荡器时钟调节电阻 Rc,Rc 一般取 470 K 左右。转换启动/结束信号端EOC:转换结束信号输出端,正脉冲有效。DU: 启动新的转换,若 DU 与 EOC 相连,每当 A/D 转换结束后,自动启动新的转换。过量程信号输出端 /OR:当|Vx|VR,过量程/OR
24、 输出低电平。位选通控制线DS4-DS1: 选择个、十、百、千位,正脉冲有效。DS1 对应千位,DS4 对应个位。每个选通脉冲宽度为 18 个时钟周期,两个相应脉冲之间间隔为 2 个时钟周期。图 3-10 MC14433 芯片第 18 页 共 51 页1 / 2 C L K 周期1 6 4 0 0 个时钟脉冲周期1 8 个时钟脉冲周期E O CD S 1D S 2D S 3D S 4( 最高位 ) 1 / 2 位 2 个时钟脉冲周期最低位图 3-11 MC14433 选通脉冲时序图BCD 码输出线Q0-Q3: BCD 码输出线。其中 Q0 为最低位,Q3 为最高位。当 DS2、DS3和 DS4
25、 选通期间,输出三位完整的 BCD 码数,但在 DS1 选通期间,输出端Q0-Q3 除了表示个位的 0 或 1 外,还表示了转化值的正负极性和欠量程还是过量程其含意见表 3-3Q 2Q 1Q 0 01000011表示结果千位数为 0千位数为 1结果为正结果为负输入过量程输入欠Q 31001表 3-3、DS1 选通时 Q3Q0 表示的结果由表可知 Q3 表示 1/2 位,Q3=“0”对应 1,反之对应 0。第 19 页 共 51 页Q2 表示极性,Q2=“1”为正极性,反之为负极性。Q0=“1”表示超量程:当 Q3=“0”时,表示过量程;当Q3=“1”时,表示欠量程一 MC14433 与 MSP
26、430 单片机的接口设计由于 MC14433 的 A/D 转换结果是动态分时输出的 BCD 码,Q0Q3HE DS1DS4 都不是总线式的。因此,MSP430 单片机只能通过并行 I/O 接口或扩展 I/O 接口与其相连。下面是 MC14433 与 MSP430 单片机 P1 口直接相连的硬件接口,接口电路如图 3-13 所示 图 3-11 MC14433 与 MSP430 单片机 P1 口直接相连的硬件接口 第 20 页 共 51 页3. 3 显示与报警的设计3. 3. 1 显示电路在单片机应用系统设计中,一般都是把键盘和显示器放在一起考虑。本设计是利用 MSP430 的串行口实现键盘/显示
27、器接口。VSS1VDD2NC3RS4R/W5E6DB07DB18DB29DB310DB411DB512DB613DB714PSB15NC16RST17NC18LEDA19LEDK2012864中中中中中中LCD10KRPotR112MHDR1X2P1VCCVCCVCC123MHDR1X3P2P4.0P4.1P4.2中中中中中中图 3-12 12864 液晶显示电路当 MSP430 的串行口未作它用时,使用 MSP430 的串行口来外扩键盘/显示器。应用 MSP430 的串行口方式 0 的输出方式,在串行口外接移位寄存器74LS164,/显示器接口,其硬件接口电路如图 3-12 所示:软件设计比
28、较简单,从而使单片机有更多的时间处理其他事务。第 21 页 共 51 页3. 3. 2 报警电路在微型计算机控制系统中,为了安全生产,对于一些重要的参数或系统部位,都设有紧急状态报警系统,以便提醒操作人员注意,或采取紧急措施。其方法就是把计算机采集的数据或记过计算机进行数据处理、数字滤波,标度变换之后,与该参数上下限给定值进行比较,如果高于上限值(或低于下限值)则进行报警,否则就作为采样的正常值,进行显示和控制。本设计采用峰鸣音报警电路。峰鸣音报警接口电路的设计只需购买市售的压电式蜂鸣器,然后通过 MSP430 的 1 根口线经驱动器驱动蜂鸣音发声。压电式蜂鸣器约需 10mA 的驱动电流,可以
29、使用 TTL 系列集成电路7406 或 7407 低电平驱动,也可以用一个晶体三极管驱动。在图中,P3.2接晶体管基极输入端。当 P3.2 输出高电平“1”时,晶体管导通,压电蜂鸣器两端获得约+5V 电压而鸣叫;当 P3.2 输出低电平“0”时,三极管截止,蜂鸣器停止发声。图 3-21 是一个简单的使用三极管驱动的峰鸣音报警电路: 第 22 页 共 51 页图 3-13 三极管驱动的峰鸣音报警电路本设计是为在温湿度测量中对温湿度的上下限超出是的提示报警,接口位于单片机 MSP430 的 P3.2 口,但温湿度过限时,P3.2 口被置 0,本系统开始工作。3.4 MSP430 单片机的发展 MS
30、P430 系列是一个 16 位的、具有精简指令集的、超低功耗的混合型单片机,在 1996 年问世,由于它具有极低的功耗、丰富的片内外设和方便灵活的开发手段,已成为众多单片机系列中一颗耀眼的新星。回忆 MSP430 系列单片机的发展过程,可以看出有这样三个阶段: 第 23 页 共 51 页开始阶段 从 1996 年推出 MSP430 系列开始到 2000 年初,这个阶段首先推出有 33X 、 32X 、 31X 等几个系列,而后于 2000 年初又推出了 11X 、 11X1 系列。 MSP430 的 33X 、 32X 、 31X 等系列具有 LCD 驱动模块,对提高系统的集成度较有利。每一系
31、列有 ROM 型( C )、 OTP 型( P )、和 EPROM 型( E )等芯片。 EPROM 型的价格昂贵,运行环境温度范围窄,主要用于样机开发。这也表明了这几个系列的开发模式,即:用户可以用 EPROM 型开发样机;用 OTP 型进行小批量生产;而 ROM 型适应大批量生产的产品。2000 年推出了 11X/11X1 系列。这个系列采用 20 脚封装,内存容量、片上功能和 I/O 引脚数比较少,但是价格比较低廉。 这个时期的 MSP430 已经显露出了它的特低功耗等的一系列技术特点,但也有不尽如人意之处。它的许多重要特性,如:片内串行通信接口、硬件乘法器、足够的 I/O 引脚等,只有
32、 33X 系列才具备。 33X 系列价格较高,比较适合于较为复杂的应用系统。当用户设计需要更多考虑成本时, 33X 并不一定是最适合的。而片内高精度 A/D 转换器又只有 32X 系列才有。 寻找突破,引入 Flash 技术 随着 Flash 技术的迅速发展, TI 公司也将这一技术引入 MSP430 系列中。在 2000 年 7 月推出 F13X/F14X 系列,在 2001 年 7 月到 2002 年又相继推出 F41X 、 F43X 、 F44X 这些全部是 Flash 型单片机。 F41X 单片机是目前应用比较广的单片机,它有 48 个 I/O 口, 96 段 LCD 驱动。 F43X
33、 、 F44X 系列是在 13X 、 14X 第 24 页 共 51 页的基础上,增加了液晶驱动器,将驱动 LCD 的段数由 3XX 系列的最多 120 段增加到 160 段。并且相应地调整了显示存储器在存储区内的地址,为以后的发展拓展了空间。MSP430 系列由于具有 Flash 存储器,在系统设计、开发调试及实际应用上都表现出较明显的优点。这是 TI 公司推出具有 Flash 型存储器及 JTAG 边界扫描技术的廉价开发工具 MSP-FET430X110 ,将国际上先进的 JTAG 技术和 Flash 在线编程技术引入 MSP430 。 这种以 Flash 技术与 FET 开发工具组合的开
34、发方式,具有方便、廉价、实用等优点,给用户提供了一个较为理想的样机开发方式。 另外, 2001 年 TI 公司又公布了 BOOTSTRAP 技术,利用它可在烧断熔丝以后只要几根线就可更改并运行内部的程序。这为系统软件的升级提供了又一方便的手段。 BOOTSTRAP 具有很高的保密性,口令可达到 32 个字节的长度。 蓬勃发展阶段 在前一阶段,引进新技术和内部进行调整之后,为 MSP430 的功能扩展打下了良好的基础。于是 TI 公司在 2002 年底和 2003 年期间又陆续推出了 F15X 和 F16X 系列的产品。 在这一新的系列中,有了两个方面的发展。一是从存储器方面来说,将 RAM 容
35、量大大增加,如 F1611 的 RAM 容量增加到了 10KB 。这样一来,希望将实时操作系统( RTOS )引入 MSP430 的,就不会因 RAM 不够而发愁了。二是从外围模块来说,增加了 I 2 C 、 DMA 、 DAC12 和 SVS 等模块。 第 25 页 共 51 页在 2003 年中, TI 公司还推出了专门用于电量计量的 MSP430FE42X 和用于水表、气表、热表上的具有无磁传感模块的 MSP430FW42X 单片机。我们相信由于 MSP430 的开放性的基本架构和新技术的应用,新的 MSP430 的产品品种必将会不断出现。 3.4.1、 MSP430 单片机的特点 MS
36、P430 系列单片机的迅速发展和应用范围的不断扩大,主要取决于以下的特点。强大的处理能力 MSP430 系列单片机是一个 16 位的单片机,采用了精简指令集( RISC )结构,具有丰富的寻址方式( 7 种源操作数寻址、 4 种目的操作数寻址)、简洁的 27 条内核指令以及大量的模拟指令;大量的寄存器以及片内数据存储器都可参加多种运算;还有高效的查表处理指令;有较高的处理速度,在 8MHz 晶体驱动下指令周期为 125 ns 。这些特点保证了可编制出高效率的源程序。 在运算速度方面, MSP430 系列单片机能在 8MHz 晶体的驱动下,实现 125ns 的指令周期。 16 位的数据宽度、 1
37、25ns 的指令周期以及多功能的硬件乘法器(能实现乘加)相配合,能实现数字信号处理的某些算法(如 FFT 等)。 MSP430 系列单片机的中断源较多,并且可以任意嵌套,使用时灵活方便。当系统处于省电的备用状态时,用中断请求将它唤醒只用 6us 。 第 26 页 共 51 页超低功耗 MSP430 单片机之所以有超低的功耗,是因为其在降低芯片的电源电压及灵活而可控的运行时钟方面都有其独到之处。 首先, MSP430 系列单片机的电源电压采用的是 1.83.6V 电压。因而可使其在 1MHz 的时钟条件下运行时, 芯片的电流会在 200400uA 左右,时钟关断模式的最低功耗只有 0.1uA 。
38、 其次,独特的时钟系统设计。在 MSP430 系列中有两个不同的系统时钟系统:基本时钟系统和锁频环( FLL 和 FLL )时钟系统或 DCO 数字振荡器时钟系统。有的使用一个晶体振荡器( 32768Hz ) , 有的使用两个晶体振荡器)。由系统时钟系统产生 CPU 和各功能所需的时钟。并且这些时钟可以在指令的控制下,打开和关闭,从而实现对总体功耗的控制。 由于系统运行时打开的功能模块不同,即采用不同的工作模式,芯片的功耗有着显着的不同。在系统中共有一种活动模式( AM )和五种低功耗模式( LPM0LPM4 )。在等待方式下,耗电为 0.7uA ,在节电方式下,最低可达 0.1uA 。 系统
39、工作稳定 上电复位后,首先由 DCOCLK 启动 CPU ,以保证程序从正确的位置开始执行,保证晶体振荡器有足够的起振及稳定时间。然后软件可设置适当的寄存器的控制位来确定最后的系统时钟频率。如果晶体振荡器在用做 CPU 时钟 MCLK 时发生故障, DCO 会自动启动,以保证系统正常工作;如果程序跑飞,可用看门狗将其复位。 第 27 页 共 51 页丰富的片上外围模块 MSP430 系列单片机的各成员都集成了较丰富的片内外设。它们分别是看门狗( WDT )、模拟比较器 A 、定时器 A ( Timer_A )、定时器 B ( Timer_B )、串口 0 、 1 ( USART0 、 1 )、
40、硬件乘法器、液晶驱动器、 10 位 /12 位 ADC 、 I 2 C 总线直接数据存取( DMA )、端口 O ( P0 )、端口 16 ( P1P6 )、基本定时器( Basic Timer )等的一些外围模块的不同组合。其中,看门狗可以使程序失控时迅速复位;模拟比较器进行模拟电压的比较,配合定时器,可设计出 A/D 转换器; 16 位定时器( Timer_A 和 Timer_B )具有捕获 / 比较功能,大量的捕获 / 比较寄存器,可用于事件计数、时序发生、PWM 等;有的器件更具有可实现异步、同步及多址访问串行通信接口可方便的实现多机通信等应用;具有较多的 I/O 端口,最多达 6*8
41、 条 I/O 口线; P0 、 P1 、 P2 端口能够接收外部上升沿或下降沿的中断输入; 12/14 位硬件 A/D 转换器有较高的转换速率,最高可达 200kbps ,能够满足大多数数据采集应用;能直接驱动液晶多达 160 段;实现两路的 12 位 D/A 转换;硬件 I 2 C 串行总线接口实现存储器串行扩展;以及为了增加数据传输速度,而采用直接数据传输( DMA )模块。 MSP430 系列单片机的这些片内外设为系统的单片解决方案提供了极大的方便。 方便高效的开发环境 目前 MSP430 系列有 OPT 型、 FLASH 型和 ROM 型三种类型的器件,这些器件的开发手段不同。对于 O
42、PT 型和 ROM 型的器件是使用仿真器开发成功之后在烧写或掩膜芯片;对于 FLASH 型则有十分方便的开发调试环境,因为器件片内有 JTAG 调试接口,还有可电擦写的 FLASH 存储器,因此采用先下载程序到 FLASH 内,再在器件内通过第 28 页 共 51 页软件控制程序的运行,由 JTAG 接口读取片内信息供设计者调试使用的方法进行开发。这种方式只需要一台 PC 机和一个 JTAG 调试器,而不需要仿真器和编程器。开发语言有汇编语言和 C 语言。 MSP430 单片机目前主要以 FLASH 型为主。 适应工业级运行环境 MSP430 系列器件均为工业级的,运行环境温度为 -40 85
43、 摄氏度 ,所设计的产品适合用于工业环境下。 3.4.2 MSP430 系列与 89C 51 系列的比较 我国的多数读者对 89C 51 系列的单片机是很熟悉的,为了加深对 MSP430 系列单片机的认识,我们不妨将两者进行一下比较。 首先, 89C 51 单片机是 8 位单片机。其指令是采用的被称为“ CISC ”的复杂指令集,共具有 111 条指令。而 MSP430 单片机是 16 位的单片机,采用了精简指令集( RISC )结构,只有简洁的 27 条指令,大量的指令则是模拟指令,众多的寄存器以及片内数据存储器都可参加多种运算。这些内核指令均为单周期指令,功能强,运行的速度快。 其次, 8
44、9C 51 单片机本身的电源电压是 5 伏,有两种低功耗方式:待机方式和掉电方式。正常情况下消耗的电流为 24mA ,在掉电状态下,其耗电电流仍为 3mA ;即使在掉电方式下,电源电压可以下降到 2V ,但是为了保存内部 RAM 中的数据,还需要提供约 50uA 的电流。而 MSP430 系列单片机在低功耗方面的优越之处,则是 89C 51 系列不可比拟的。正因为如此, MSP430 更适合应用于使 用电池供电的仪器、仪表类产品中。 第 29 页 共 51 页再者, 89C 51 系列单片机由于其内部总线是 8 位的,其内部功能模块基本上都是 8 位的虽然经过各种努力其内部功能模块有了显着增加
45、,但是受其结构本身的限制很大,尤其模拟功能部件的增加更显困难。 MSP430 系列其基本架构是 16 位的,同时在其内部的数据总线经过转换还存在 8 位的总线,在加上本身就是混合型的结构,因而对它这样的开放型的架构来说,无论扩展 8 位的功能模块,还是 16 位的功能模块,即使扩展模 / 数转换或数 / 模转换这类的功能模块也是很方便的。这也就是为什幺 MSP430 系列产品和其中功能部件迅速增加的原因。 最后,就是在开发工具上面。对于 89C51 来说,由于它是最早进入中国的单片机,人们对它在熟悉不过了,再加上我国各方人士的努力,创造了不少适合我们使用的开发工具。但是如何实现在线编程还是一个
46、很大的问题。对于 MSP430 系列而言,由于引进了 Flash 型程序存储器和 JTAG 技术,不仅使开发工具变得简便,而且价格也相对低廉,并且还可以实现在线编程。3.4.3 MSP430 系列的内部结构概述 MSP430 系列器件包含 CPU 、程序存储器 (ROM 、 ROM 和 Flash ROM) 、数据存储器 (RAM) 、运行控制、外围模块和振荡器和倍频器等主要功能模块。其基本结构如 图 1 所示。可以看出, MSP430 内部包含了计算机所有部件,是一个真正的单片机 ( 微控制器 MCU) 。 图 2 所示。在 16 个寄存器中,程序计数器 PC 、堆栈指针 SP 、状态寄存器
47、 SR 和常数发生器 CGl 、 CG2 这 4 个寄存器有特殊用途。除了 R3 CG2 和 R第 30 页 共 51 页2 CGl 外,所有寄存器都可作为通用寄存器来用于所有指令操作。常数发生器是为指令执行时提供常数的,而不是用于存储数据的。对 CGl 、 CG2 访问的寻址模式可以区分常数的数据。 图 2 图 3 所示。 表 1 中。 图 3)。 图 4 所示为外围模块的连接总线示意图。从图中可以看出,外围模块可分为字( 16 位)模块和字节( 8 位)模块两种。对大多数外围模块, MAB 通常是 16 位, MDB 是 8 位或 16 位。 CPU CPU 由一个 16 位的 ALU 、 16 个寄存器和一套指令控制逻辑组成,其逻辑简图如 在 CPU 内部有一组 16 位数据总线和 16 位的地址总线; CPU 运行正交设计、对模块高度透明的精简指令集; PC 、 SR 和 SP 配合精简指令组所实现的控制,使应用开发可实现复杂的寻址模式和软件算法。图 1图 3-14 内部结构 存储器 MSP430 系列采用 “冯纽曼结构”。因此, RAM 、 ROM 和全部外围模块都位于同一个地址空间内,即用一个公共的空间对全部功能模