新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 高性价比的单片机应用系统结构设计

高性价比的单片机应用系统结构设计

作者:时间:2013-07-04来源:网络收藏


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中读出全部的该小模块程序数据到MSP430的RAM后128字节。

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

4 日历时钟的程序化解决方案

由于MSP430系列单片机的超低功耗特性,使用其内部定时器模块的比较模式实现日历时钟,时钟源使用32768Hz产生的ACLK信号。将定时器模块设置为1秒中断一次,在中断服务程序中编写日历程序。在程序编写时要注意闰年与闰月以及月大与月小的情况,详细方法这里不用多说

。在中断程序完毕则进入低功耗LMP3,这时系统耗电在1uA左右,比常用的专门日历时钟芯片的耗电还要少。在MSP430系列单片机中,将日历时钟程序化从各方面讲(功耗、成本、体积、可靠性等)都是很好的解决方案。

5 串行通讯的解决方案

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

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

串行接收相对复杂一点:首先设置TIME A为捕获模式,要捕获到串行通讯的起始位。捕获到起始位之后,则要将TIME A 设置为比较模式,同时第一位与后面的其他位定时时间不一样,第一位的定时时间是其他位的1.5倍。当所有数据接收完毕则结束。在硬件上使用232或485都可以。

小结

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



参考文献:
1 魏小龙 MSP430 系列单片机接口技术及系统设计实例 北京航空航天大学出版社 2002
2 TI资料 Implementing a UART Function With TimerA3
3 TI资料 Economic Measurement Techniques With the Comparator_A Module

4 MSP430datasheethttp://www.dzsc.com/datasheet/MSP430_490166.html.
5MSP430C1101datasheethttp://www.dzsc.com/datasheet/MSP430C1101.html.
6HT1621datasheethttp://www.dzsc.com/datasheet/HT1621_387407.html.


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭