MSP430单片机系统应用结构设计与选型
序存放在外部存储器中,在需要时调到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系列各个片内模块的性能与特性基础上,选用最简单、最便宜、最常规的器件,设计高性价比的应用系统是非常可行的;同时随着产量的增加,经济效益也会显著增加。
MSP430 相关文章:
- μC/OS-Ⅱ在MSP430F149上的移植(03-01)
- MSP430与I2C总线接口技术的研究(06-14)
- 基于MSP430单片机的超声波倒车雷达监测报警系统设计(08-14)
- 2010年中国(成都)电子展胜利闭幕(08-15)
- 基于MSP430单片机的电子汽车限速器的研究(08-20)
- 基于MSP430的微功耗数据采集系统的开发应用(10-16)