微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > MSP430单片机系统应用结构设计与选型

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

时间:01-17 来源:互联网 点击:

序存放在外部存储器中,在需要时调到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系列各个片内模块的性能与特性基础上,选用最简单、最便宜、最常规的器件,设计高性价比的应用系统是非常可行的;同时随着产量的增加,经济效益也会显著增加。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top