深圳市华胄科技有限公司 >> MCU专题 >> 单片机应用


单片机应用----MSP430系统应用结构设计与选型



提交者 所罗门那提斯  在  2007-10-16 10:15:19 

上一篇 下一篇
1 MSP430简介


MSP430是TI公司推出的16位单片机系列产品,在电池供电的低功耗应用中具有独特的优势。其工作电压为1.8~3.6 V,正常工作时功耗可控制在200μA左右,低功耗模式可实现2μA甚至O.1μA的低功耗。MSP430系列单片机作为性能优异的mcu在中国已经得到了广泛的应用。MSP430具有高集成度,通常在单个芯片上集成了12位的A/D转换器、比较器、多个定时器,以及片内USART、看门狗、片内DCO等。一般单片就可满足大多数的应用需要。


MSP430单片机的程序存储器是Flash存储器,并且支持JTAG在线编程,可以方便地实现程序的下载、仿真、调试和升级。


目前整合性最好的MSP430F44X系列,具有60 KB程序存储(可记录数据),2 KB片内RAM,6个I/O端口(P1和P2具有中断能力),160段液晶驱动,2个串行端口,4个定时器(其中TB带有7个捕获/比较器,包括看门狗),模拟比较器,硬件乘法器,8路12位A/D转换器,频率调整电路FLL+以及系统复位SVS模块等。而基本型的 MSP430F1101 和MSP430C1101只有1 KB程序存储、128字节片内RAM、模拟比较器和2个定时器等。


MSP430F44X与MSP430F11X在硬件结构上、在系统整合上存在较大差异;MSP430F41X与MSP430F11X的差异不是很大。但这3系列芯片的价格由几元到数十元不等,那么如何选择系统芯片呢?以3种芯片为例,其系统功能框图分别如图1、图2、图3所示。



MSP430F1121A 系统功能框图


MSP430F41X 系统功能框图


MSP430F44X 系统功能框图


2 常用的MSP430应用系统的设计方案


在图4所示系统中,有模拟输入、脉冲采集、日历时钟、液晶显示、键盘操作和外围设备控制等。可采用以下几种方案进行MSP430的选型。



常用的MSP430 应用系统框图



(1)选用MSP430F44X系列


这个方案设计最简单,因为目前MSP430F44X系列芯片是集成度最高的。该系列任何一款芯片都能胜任(一般程序字节不会大于32 KB)。


(2)选用MSP430F41X系列


如果程序在8 KB范围以内,那么这是一种较好的方案。MSP430F41X系列虽然不能直接进行A/D转换,但整个系统价格适中。


(3)选用MSP430F11XX系列


该系列芯片不能直接驱动液晶,且程序量较小,也没有直接的A/D转换能力。与前两种方案相比,这是明显的不足,但其价格是最低的。


在这3种方案中,如果对生产成本要求不高,则第1种方案最好;如果要考虑批量的生产成本,则第3种方案最好,性价比最高。如果使用MSP430F1121A,则批量报价不到9元,适合于大批量生产、成本敏感的产品,可得到最高的性价比。但第3种方案存在很多问题,有待解决。


3 高性价比的MSP430应用系统解决方法


图4是较为经典的MSP430应用系统框图。如果使用最经济的MSP430系列器件MSP430F11XX系列,则要解决5个问题:模/数转换问题、液晶显示问题、程序量小的问题、日历时钟的程序化问题及串行通信问题。


3.1模/数转换问题解决方案


MSP430F11XX系列单片机片内有模拟比较器Comparator_A和功能强大的定时器Time_A,可以构成斜率(Slope)A/D转换,实现从模拟到数字的转换。具体原理如图5所示(这里以电阻模拟量到数字量的转换为例)。


在图5中,Rref、Rmeas分别为标准的参考电阻和被测量的电阻,电容ca0起充放电作用。比较器的输出CAOUT用于驱动定时器捕获的发生。MSP430内部的模拟比较器能产生用于比较的模拟电压(关闭内部参考电压,使用外部参考电压O.25Vcc、O.5Vcc和二极管管压降)。比较器负端选择O.25Vcc。



倾斜(Slope)A/D 转换原理图


首先,标准电阻Rref对电容CAO充电到VCC,再通过参考电阻Rref放电,同时记录定时器值T1;当电容放电到O.5Vcc时,比较器产生输出,CAOUT触发定时器产生捕获动作,将定时器值T2读出。其次,使用被测量电阻Rmeas对电容充电到Vcc,再通过Rmeas放电,同时读取定时器值T3;当电容放电到0.5Vcc时,比较器输出信号再次捕获定时器数据T4,则在电容放电的线性区域可以得到被测量电阻的阻值:





对其他电压等物理量的测量也可采用此办法。


3.2 液晶显示问题解决方案


MSP430F11XX没有液晶驱动能力,必须外部扩展。如图6所示,可以使用I/O输出直接驱动价格低廉的液晶驱动芯片来显示信息。如果这样,为什么还要选用自带液晶驱动的价格昂贵的MSP430F43X或MSP430F44X呢?



液晶驱动示意图


例如,用MSP430的Px.x两个I/O口与驱动芯片的CLK、DATA进行通信,即可实现所需的显示信息。可以节省本就不多的I/O端口以作他用。


3.3 程序量小问题解决方案


MSP430F11XX系列单片机最大的程序容量只有4 KB,对较为复杂的应用来说程序空间比较小。对于MSP430系列单片机有个巧妙的解决办法:由于MSP430单片机存储器具有线性统一编址的特点,因此单片机运行的程序可以在除了片内外围模块空间以外的任何存储空间,这里RAM用作程序存储器。又由于RAM内容可变,故可将程序存放在外部存储器中,在需要时调到RAM中,再执行RAM中的程序。外部存储器可选用串行24C系列为E2PROM,既可减小系统体积,又可使程序空间增加32 KB乃至更多,且系统总成本增加很少。24C系列E2PROM与MSP430单片机的接口,只需要2根I/O口线和2个上拉电阻。


首先,需要将存放在E2PROM中的应用程序划分为较小的模块。这里针对MSP430F1121A将每个模块的大小限定在128字节内。MSP430F1121A的片内RAM有256字节,一半用于存储程序处理中的数据,另一半用于暂存程序调度的程序。


其次,MSP430F1121A的片内存储器用于存放对24C系列存储器的读写操作程序,以及最常用的处理程序和各种中断服务程序等。将各个小模块的应用程序存放在E2PROM中,同时,每个小模块的应用程序在E2PROM中的起始位置和模块长度在MSP430的程序存储器中用数据表格的形式存放。每当要调用在E2PROM中的小模块时,就在表格中查找。使用E2PROM读程序,在E2PROM中读出全部的小模块程序数据到MSP430的RAM中的后128字节。


最后,将程序计数器(PC指针)压栈,再改变PC内容为280H(RAM的后128字节开始位置),程序将由此开始运行。该模块运行完毕后,最后一句是RET,将刚压栈的PC指针恢复。程序继续运行MSP430 Flash中的主程序。


3.4 日历时钟程序化问题解决方案


由于MSP430系列单片机的超低功耗特性,使用其内部定时器模块的比较模式实现日历时钟,时钟源使用钟表32 768 Hz晶振产生的ACLK信号。将定时器模块设置为1 s中断一次,在中断服务程序中编写日历时钟程序。只要在编写的过程中注意公历的各种推算,甚至可以使用某种算法将农历也编写进去。在中断程序结束后立即进入低功耗LMP3模式,这时系统耗电小于1μA,比多数的专用日历时钟芯片的耗电还要小。选材时,只要选用精度高的晶振,做出的时钟将是很准确的,而且使用单片机将日历时钟程序化从各方面讲(可靠性、功耗、成本、体积等)都是很好的解决方案。


3.5串行通信问题解决方案


MSP430F11XX系列单片机片内没有串行通信模块,不能直接用于异步串行通信,但由于定时器Time_A的捕获与比较以及特殊的结构,利用其实现异步串行通信的位定时(波特率产生)以及起始位检测等功能,可方便实现串行通信。


串行发送相对简单一点:设置Time_A为比较模式,比较的数据体现每一位的发送时间,使用中断,每当时间到则发送下一位,全部发送则发送完毕。


串行接收相对复杂一点:设置Time_A为捕获模式,要捕获到串行通信的起始位;捕获到起始位后,将Time_A设置为比较模式,同时第一位与后面其他位的定时时间不一样,第一位的定时时间是其他位的1.5倍。所有数据接收完毕即结束。在硬件上使用RS232或RS485都可以。


另外,也可以使用外围模块进行通信。例如使用半双工或全双工的RS485芯片进行485的信息传递。


4 结 论


实践证明,在充分掌握MSP430系列各个片内模块的性能与特性基础上,选用最简单、最便宜、最常规的器件,设计高性价比的应用系统是非常可行的;同时随着产量的增加,经济效益也会显著增加。



单片机教程,五系列(55讲)电子书全集下载

论坛精选:
单片机应用----与A/D转换器的接口设计
http://bbs.huazhoucn.com/Topic.aspx?id=1764
单片机应用----C8051F020及其在仪器和仪表中的应用
http://bbs.huazhoucn.com/Topic.aspx?id=1714
单片机应用----单片机的状态迁移与复位操作
http://bbs.huazhoucn.com/Topic.aspx?id=1572
单片机应用----FLASH引导装载系统设计
http://bbs.huazhoucn.com/Topic.aspx?id=1531
单片机应用---时钟芯片SD2200ELP与AVR单片机接口
http://bbs.huazhoucn.com/Topic.aspx?id=1763
单片机应用----MSP430系统应用结构设计与选型
http://bbs.huazhoucn.com/Topic.aspx?id=1744
单片机应用----基于单片机的电子导游系统设计
http://bbs.huazhoucn.com/Topic.aspx?id=1554

1 楼  提交者:Guest 在 2007-10-23 10:18:29
终于找到你了,回了看看!
2 楼  提交者: heyongbing 在 2007-10-31 16:17:37
hrtjh 
3 楼  提交者:lipeng 在 2007-10-31 16:29:17
4 楼  提交者:Guest 在 2007-11-1 17:31:57
5 楼  提交者:Guest 在 2007-11-3 12:45:59
nn
6 楼  提交者:Guest 在 2007-11-4 18:21:41
回个
7 楼  提交者:qhchaowei 在 2007-11-5 9:35:58
donhi  
8 楼  提交者:188261138 在 2007-11-11 2:04:37
kk
9 楼  提交者:Guest 在 2007-11-14 11:41:21
谢谢
10 楼  提交者:Guest 在 2007-11-15 9:30:15
好好,中国需要你这种人才
11 楼  提交者:WANGYONG288 在 2007-11-21 19:25:34
单片机应用(系列一)
12 楼  提交者:张先胜 在 2007-11-23 16:02:54
无内容
13 楼  提交者:pp8923 在 2007-11-27 16:10:11
support you
14 楼  提交者:沉没的美国 在 2007-12-4 4:02:21
看看
15 楼  提交者:wsxaisl 在 2007-12-7 12:12:19
support you
16 楼  提交者:dxw0115 在 2008-1-1 20:49:37
谢谢!
17 楼  提交者:baiyuntian 在 2008-1-7 12:05:32
18 楼  提交者: 在 2008-1-7 15:26:56
19 楼  提交者:流明 在 2008-1-8 17:31:26
!!!
20 楼  提交者:Guest 在 2008-1-9 20:11:07
niaho
21 楼  提交者:Guest 在 2008-1-17 16:21:34
22 楼  提交者:cyccyc 在 2008-1-20 14:17:40
213
23 楼  提交者:2512098 在 2008-1-21 20:15:39
无内容
24 楼  提交者:Guest 在 2008-1-22 13:15:27
afda
25 楼  提交者:陈森 在 2008-1-22 22:41:39
1引言 当前,随着科学技术及工农业生产水平的不断提高,对相应的仪器仪表也提出越来越高的要求,因此,仪器仪表需扩展大量的外围功能部件来满足仪器仪表复杂性、高性能及智能化的要求。这种方法虽然满足了仪器的复杂性要求,但随之而来的问题是由于系统扩展的过于复杂而造成系统可靠性降低,故障率增加,查找故障困难,从而失去了智能化仪器仪表的优势,如果能够将功能复杂的众多外围功能部件全部或大部分集成到系统所使用的单片机内部,则可大大提高仪器仪表系统的可靠性,同时又使系统的成本得以降低,还可利用单片机片内资源在不增加硬件成本的情况下增强仪器的性能,因而该方案是提高仪器仪表可靠性及性能的行之有效的方法,而美国Cygnal公司的C8051F020单片机便是1款可满足复杂高性能仪器仪表要求的单片机。 C8051F020单片机是集成在1块芯片上的混合信号系统级单片机,具有与MCS51内核及指令完全兼容的微控制器。除了具有标准8051机的数字外设部件外,片内还集成了数据采集与控制系统中常用的模拟部件和其它数字外设及功能部件,主要包括模拟多路选择器、可编程增益放大器、ADC、DAC、电压比较器、电压基准、温度传感器、SMBus/I2C、UART、SPI、可编程计数器/定时器阵列、定时器、I/O端口、电源监视器、看门狗定时器和时钟振荡器等,且该单片机内部具有JTAG和调试电路,通过JATG接口可以使用安装在最终应用系统产品上的单片机进行非侵入、全速及在系统调试。 2功能与特点   (1)25MIPS高速流水线式与8051机完全兼容的CIP-51内核。   (2)真正12位100KBps、8通道带可编程增益放大器的ADC。   (3)真正8位500KBps,带可编程增益放大器的ADC。   (4)5个16位通用定时器。   (5)具有5个捕捉/比较模块的可编程计数/定时器阵列。   (6)内部电压基准。   (7)内置温度传感器(±3℃)。   (8)片内看门狗定时器,时钟源及VDD监视器。   (9)64个通用数字I/O端口。   (10)具有I2C/SMBUSSPI及两路UART、串行接口。   (11)64KB系统可编程FLASH存储器。   (12)4352(4096+256)Byte片内RAM。   (13)64KB地址的外部存储器接口。   (14)内部FLASH存储器可实现在系统编程,即可作程序存储器也可作非易失性数据存储器。   (15)工作电压为2.7V~3.6V,典型值为3V,I/O、RST、JTAG引脚均允许5V输入电压。   (16)全系列工业级电路(-45℃-+85℃)。   (17)片内JTAG仿真电路,提供全速的电路内仿真,不占用片内用户资源,支持断点、单步、观察点、运行和停止等调试命令、支持存储器和寄存器校验和修改。 3内部功能部件 3.1CPU   C8051F020CPU的主要特点如下:   (1)与标准8051机完全兼容,支持标准的ASM51、KeilC高级语言;   (2)具有高速指令处理能力,机器周期由MCS51标准的12个系统时钟周期降为1个系统时钟周期,且70%的指令时间为1-2个机器周期,指令处理能力大大提高;   (3)增加了中断源,由MCS-51标准7个中断源增加至22个中断源;   (4)增加了复位源,标准的MCS51只有外部引脚复位,而C8051F020增加了7种复位源,使系统可靠性大大提高;   (5)增加了内部能独立工作的时钟源。 3.2存储器 3.2.1数据存储器 C8051F020具有标准8051机的程序和数据地址配置,包括256字节的RAM,其中高128字节为2个地址空间,用间接寻址访问的高128字节和用直接寻址访问的SFR地址空间,低128字节用户可用直接或间接寻址方式访问,此外,C8051F020还具有位于外部数据存储器地址空间的4KB的RAM和外部数据存储器接口(EMIF),这个4KB的RAM可以只映射到片内也可以映射到64KB外部数据存储器地址空间,还可同时映射到片内和片外(4KB地址以内在片内存储器空间访问,4KB以上经过EMIF访问)。外部数据存储器接口用于访问最多64KB的外部扩展RAM。 3.2.2程序存储器 C8051F020的程序存储器包含64KB的FLASH,该存储器以512B为1个扇区,可以在系统编程,且无需在片外提供编程电压,该程序存储器未用到的扇区均可由用户按扇区作为非易失性数据存储器使用。 3.3I/O与数字交叉开关 C8051F020单片机除具有标准的8051机端口P0~P3外,还具有附加的4个8位I/O口。这样,I/O口总数可达64个,每个端口I/O引脚都可设置为推挽或开漏输出。最为独特的功能是引入了数字交叉开关,它可将内部数字系统资源分配给P0、P1、P2和P3端口的I/O引脚,并可将片内计数器/定时器、串行总线、中断源、A/D转换输入、比较器输出以及微控制器的其它数字信号配置为在上述I/O引脚输出,这就允许用户根据自己的特定应用选择通用I/O和所需数字资源的组合。 3.4可编程计数阵列 除了内部提供5个16位的通用定时/计数器外,C8051F020还提供1个片内编程的计数器/定时器阵列(PCA),PCA包括1个专用的16位计数器/定时器,5个可编程的捕捉比较模块,时间基准可以是下面的6个时钟源之一:系统时钟/12;系统时钟/4;定时器0溢出;外部时钟输入;系统时钟和外部振荡频率/8。每个捕捉模块都有6种工作方式:边沿触发捕捉、软件定时器、高速输出、8位脉冲宽度调制器,频率输出、16位脉冲宽度调制器。 3.5多类型串行总线端口 C8051F020内部具有2个全双工UART、SMBUS/I2C总线和SPI总线,每种串行总线都完全用硬件实现,都能向CIP51产生中断,这些串行总线不共享定时器、中断或I/O端口,所以允许用户全部同时使用。 3.6A/D转换器   C8051F020内部有2个ADC子系统。 3.6.1  12位A/D转换器ADC0 该转换器由逐次逼近型ADC、多通道模拟输入选择器和可编程增益放大器组成,ADC工作在100KBPS的最大采样速率时可提供真正的12位精度,ADC0的8个外部输入通道都可被配置为两个单端输入或1个差分输入,ADC0的第9个输入通道为内部温度传感器,同时内部提供1个2.34V基准电压,可编程增益放大器的增益可用软件设置,从0.5~16以2的整数次幂递增,允许用软件事件、硬件信号触发转换或进行连续转换。 3.6.2  8位A/D转换器ADC1 除了12位的ADC子系统ADC0外,C8051F020还有1个8位ADC子系统,即ADC1,它有1个8通道输入多路选择器和可编程增益放大器,该ADC工作在500KBps的最大采样率时可提供真正的8位精度,ADC的基准电压可在电源电压引脚(AV+)和外部VREF引脚之间选择,ADC1的可编程增益放大器的增益可被编程为0.5、1、2或4,ADC1也有灵活的转换控制机制,允许用软件命令,定时器溢出或外部信号输入启动ADC1转换,用软件可以使ADC1与ADC0同步转换。 3.7D/A转换器 C8051F020内部有2个12位电压DAC,每个DAC的输出摆幅均为0V~VREF-1LSB,CPU可通过SFRS控制数模转换和比较器,CPU可将任何1个DAC置于低功耗关断方式,DAC为电压输出模式,与ADC共用参考电压,允许用软件命令和定时器2、定时器3及定时器4的溢出信号更新DAC的输出。 3.8JTAG C8051F020片内具有JTAG接口和逻辑,为生产和在系统测试FLASH存储器的读和写操作,以及非侵入式在电路调试提供边界扫描功能,片内接口完全符合IEEE1149.1规范。 4 C8051F020单片机在仪器仪表中的应用 C8051F020是1种集成了众多功能部件、功能强大的单片机,适合于要求硬件功能强大,运算速度快,工作环境恶劣,可靠性高,扩展功能强及低功耗的应用系统。下面以1个实际的仪器仪表系统即电子配料秤为例给出C8051F020在仪器仪表中的具体应用方法。电子配料秤是1种广泛应用于食品加工、饲料、添加剂、农药、化工、冶金等行业中的配料称重仪器。对电子配料秤的主要要求是具有高速、高精度、高可靠性及高稳定性,而且在整个生产过程中需要动态连续或间歇性动态连续运行,称重配料系统均以单片机为核心,其硬件电路框图如图1所示。图1    电子配料秤的硬件电路框图 图1所示的电子配料秤虽然基本能满足生产的需要,但是由于系统扩展的外围功能器件较多,造成系统的电路复杂,故障率高,调试困难,编程复杂。经反复分析论证,我们以C8051F020为核心重新设计了电子配料秤,如图2所示。 图2    以C8051F020为核心的电子配料硬件框图 使用C8051F020可使系统扩展的外围电路及接口电路数量大大减少,提高了系统的可靠性及稳定性,同时为系统的功能扩展及软硬件升级提供了方便。系统中利用了C8051F020的以下资源以简化原电路设计。 (1)可编程增益放大器PGA 电子配料秤将被测物体的重量通过拉或压等形式将重量传递给称重传感器,称重传感器通常采用电阻应变桥式,其输出电压摆幅均为0V~数百mV,故需将此信号放大后才能提供给A/D转换器,可编程增益放大器的增益可根据称重传感器的满量程值和A/D转换器的参考电压值设置。 (2)A/D转换器 C8051F020单片机具有12Bit分辨率的ADC和10Bit分辨率的ADC,这里使用12Bit分辨率的ADC,12Bit分辨率ADC的采样速率高达100KBps,利用C8051F020片内的ADC,一方面简化了原外围扩展的ADC,另一方面,其12Bit的精度和100KBps的采样速率使得本系统的测量精度和测量实时性大为提高,满足了本系统的动态精度要求和实时性要求,从而使本系统的前向通道更加稳定。 (3)程序和数据存储器 C8051F020单片机片内具有64KByte的大容量FLASH程序存储器和4305Byte的数据存储器。这样可以满足电子配料秤存储复杂算法程序及大量数据的要求,同时为系统的软件升级预留了足够的空间,且简化了原外扩的程序及数据存储器。由于C8051F020支持在系统编程使得本系统的软件升级极为方便。 (4)具有丰富的可编程数字I/O资源 本系统无须进行任何的外部I/O扩展即能满足本系统对I/O的需求,同时可使系统的人机通道和输入/输出开关量与CPU的联系更加通畅,而片内的12BitDAC更加完善了本系统的后向通道。 (5)具有丰富的软件资源 为本系统使用C51等高级语言编程创造了良好的环境,高级语言编程环境可使本系统软件实现真正的模块化,也可使各种编程算法变得简单容易,同时也更加完善,因而大大改善了本系统的软件升级能力。 (6)在线调试 由于片内具有JTAG和调试电路,通过JTAG可在生产现场对电子配料秤进行现场调试,因而便于解决生产中遇到的各种实际问题。 (7)串行通信 C8051F020提供了UART、I2C、SPI等多种串行总线,故允许以多种方式来进行外部设备的扩展,同时更有利于构成多级分布式测控系统。 利用C8051F020片内提供的功能强大、种类繁多的模拟与数字功能部件,可在基本不用进行外围电路扩展的情况下构成1个高速、高精度、易于扩展升级的连续动态配料称重电子秤系统。 5结束语 C8051F020是目前8位单片机中功能较强的1种,利用其强大的功能,无论是进行现有仪器仪表的升级换代还是复杂高性能的智能仪器仪表设计,都是非常理想的,因而该电路是智能仪器仪表的核心“单片机系统”的理想选择。
26 楼  提交者:叶子 在 2008-1-29 10:38:19
谢谢,继续
27 楼  提交者:roma 在 2008-1-29 15:15:10
OK
28 楼  提交者:errrrrrrrr 在 2008-2-12 13:31:59
D
29 楼  提交者:Guest 在 2008-2-14 10:31:38
30 楼  提交者:ilove314 在 2008-2-20 20:03:19
good
上一篇 下一篇
当前第〖1〗页 共有5页 转到第 1 2 3 4 5