1 使用MSP430F44X系列
在这个选型方案中,设计起来最简单,因为目前的MSP430F44X系列芯片是整合最齐全的。该系列任何一款都能胜任(一般程序不会大于32K字节)。
图四 常用的MSP430应用系统
2 使用MSP430F41X系列
如果程序在8K字节范围以内,这无疑也是一种较好的方案。MSP41X系列就差不能直接A/D转换,系统价格适中。
3 使用MSP430F11XX系列
这种方案中MSP430不能直接驱动液晶,程序量较小,也没有直接A/D转换能力,这是与前两种方案相比较的明显不足,但它的价格是最好的。
在这三中方案中,可以看出如果不计硬件成本,第一种方案最好;如果一定要考虑硬件成本(比如大量产的民品),则第三种方案最好,是性价比最高的。如果使用MSP430C1101,则官方报价在49美分,价格相当便宜,适合与大批量的、成本价格敏感的产品,可得到最高的性能价格比。但第三种方案存在很多问题有待解决。
三 高性价比的MSP430应用系统解决方法
图四是较为经典的MSP430应用系统框图,如果使用最经济的MSP430系列器件MSP430F11XX系列,则要解决五个问题:模数转换的问题、液晶显示问题、程序量小的问题、日历时钟的程序化、串行通讯问题。
1 模数转换(A/D)的问题解决方案
MSP430X11XX系列单片机片内有模拟比较器Comparator_A与功能强大的定时器Time_A,可以构成斜边(Slope)A/D转换,实现模拟量到数字量的转换。具体原理是(这里以电阻量到数字量的转换为例)。
图五 斜边(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或其他),为什么还使用自带液晶驱动的40-70圆*币左右的MSP430F43X、MSP430F44X系列呢。
这里以便宜的HT1621为例说明液晶驱动芯片与MSP430系列的接口。HT1621有128段的液晶驱动能力。有4个公共端、32个段输出,能实现静态、2MUX、3MUX、4MUX等液晶驱动方式。须3或4线与单片机接口,同时可定时输出信号驱动单片机(在单片机间歇工作时很有用),也能输出用于驱动蜂鸣器的信号。与MSP430单片机接口如图六所示。如果不需要读出显示内容,则读信号可以不使用,只需要3线就可实现液晶显示的驱动,在口线紧张的情况下,可这样使用。
图六 HT1621与单片机的接口
HT1621片内有32*8位静态显示存储器,该存储器的内容直接映射到液晶驱动器,可使用读写命令直接访问。通过对显示存储器内容的操作实现液晶显示。图七为MSP430单片机对1621的操作时序图。
图七 1621的操作时序
|