MSP430系列单片机作为一个性能优异的MCU在大陆已经得到了广泛的应用。MSP430在高整合性与高性能方面与其他MCU比较有较大优势。该系列芯片的价格也较为合理,目前整合性最好的MAP430F44X系列,整合了60K字节程序存储(可记录数据)、2K字节片内RAM、6个I/O端口(P1、P2能中断)、160段液晶驱动、两个串行端口、4个定时器(其中TB带有7个捕获/比较器、包括看门狗)、模拟比较器、硬件乘法器、8路12位A/D转换器、还有频率调整电路FLL+、系统复位SVS模块等。而较为基本型的MSP430F1101、MSP430C1101只有1K字节程序存储、128字节片内RAM、模拟比较器、两个定时器等。他们的性能比较可参考图一、图二以及图三。
图一 MSP430F11XX系列结构框图
图二 MSP430F41XX系列结构框图
点击看原图
图三 MSP430F44X系列结构框图
由图一、图二以及图三可以看出,MSP44X与MSP11X在硬件结构上、在系统整合上存在较大差异;MSP41X与MSP11X的差异不是很大。但这三个系列芯片的价格由49美分到7美圆不等,那么怎么选择我们的系统芯片呢。
二 一般常用的MSP430应用系统的设计方案
图四是常用的MSP430应用系统。在这个系统中,有模拟量采集、脉冲数字量采集、日历时钟、液晶显示、有键盘可供操作、大量的运算等。在这个系统中,可采用以下几种方案进行MSP430的选型。下面同时给出对他们的比较。
1 使用MSP430F44X系列
在这个选型方案中,设计起来最简单,因为目前的MSP430F44X系列芯片是整合最齐全的。该系列任何一款都能胜任(一般程序不会大于32K字节)。
图四 常用的MSP430应用系统
图五 斜边(Slope)A/D转换原理图
在图五中,R1、R2分别为标准的参考电阻(R1)与被测量的电阻(R2),电容C1起充放电作用。比较器的输出CAOUT用于驱动定时器捕获的发生。MSP430内部的模拟比较器能产生用于比较的模拟电压(电源VCC、1/2VCC、1/4VCC、二极管管压降)。比较器负端选择1/2VCC。首先,标准电阻对电容C1充电到VCC,再通过参考电阻R1放电,同时记录定时器值T1;当电容放电到1/2VCC时,比较器产生输出,CAOUT触发定时器产生捕获动作,将定时器值T2读出;其次使用被测量电阻R2对电容充电到VCC,再通过R2放电,同时读取定时器值T3;当电容放电到1/2VCC时,比较器输出信号再次捕获定时器数据T4。则在电容放电的线性区域可以得到被测量电阻的阻值: R2 = (T2 - T1)* R1 / (T4 - T3) ,对于其他物理量的测量也可以使用类似的办法。
2 液晶显示问题的解决方案
MSP30X11XX没有液晶驱动能力,必须外部扩展。如果可以使用外扩2圆人民币不到的液晶驱动芯片(比如HT1621或
图六 HT1621与单片机的接口
HT1621片内有32*8位静态显示存储器,该存储器的内容直接映射到液晶驱动器,可使用读写命令直接访问。通过对显示存储器内容的操作实现液晶显示。图七为MSP430单片机对1621的操作时序图。
图七 1621的操作时序
3 程序量小的解决方案
MSP430F11XX系列单片机最大的程序容量只有4K字节,对于大多数的用途基本够用,但对相对复杂的应用,就显得程序空间较小。对于MSP430系列单片机有个巧妙的解决办法:利用MSP430单片机的存储器是线性统一编址的特点,单片机运行的程序可以在除了片内外围模块空间而外的任何存储空间,这里将RAM用来做程序存储器使用。由于RAM内容可变,故可将程序存放在外部存储器中,在需要的时候调到RAM中,再执行RAM中的程序。而外部存储器选用串行24C系列EEPROM,可使系统体积减小,同时可使程序空间增加32K字节乃至128K字节!而系统成本增加很少。24C系列EEPROM与MSP430单片机的接口,这里不多说了,只需要两根I/O口线与两个上拉电阻。
首先,需要将存放在EEPROM中的应用程序划分为较小的模块。这里针对MSP430F1121将每个模块的大小限定在128字节内。MSP430F1121片内RAM有256字节,拿一半用于程序处理中的数据存储,而另一半用于程序调度的程序暂存。
其次,MSP430F1121/1111/1101的片内存储器用于存放对串行24C系列EEPROM存储器的读写操作程序,以及最常用的处理程序,各种中断服务程序等等。
然后,将各个小模块的应用程序存放在EEPROM中,同时,每个小模块的应用程序在EEPROM中的起始位置与模块长度在MSP430的程序存储器中用数据表格的形式存放。每当要调用在EEPROM中的小模块时,就在此表格中查找。使用EEPROM读程序,在EEPROM中读出全部的该小模块程序数
参考文献:
1 魏小龙 MSP430 系列单片机接口技术及系统设计实例 北京航空航天大学出版社 2002
2 TI资料 Implementing a UART Function With TimerA3
3 TI资料 Economic Measurement Techniques With the Comparator_A Module