历史上的今天
返回首页

历史上的今天

今天是:2025年05月28日(星期三)

正在发生

2021年05月28日 | 设计基于MSP430单片机的微功耗中文人机界面

2021-05-28 来源:eefocus

在现代便携式智能仪器或手持设备中,中文人机界面成为一种事实上的行业标准。能显示汉字的图形点阵液晶和可输进数字的小键盘已成为智能设备必不可少的组成部分。同时作为便携式设备基本要求的低功耗特性也贯串于中文人机界面的设计始终。


这种低功耗中文人机交互界面需要设计者在选取MCU和具体元器件上有特殊考虑。微功耗、小体积应作为选择相关器件的首要要求。




一、MSP430系列FLASH型单片机的微功耗特点


德州仪器公司(TI)推出的MSP430F14x系列是超低功耗Flash型16位RISC指令集单片机。它采用"冯-纽曼"结构,RAM、ROM和全部外围模块都位于同一个地址空间内。其具有丰富的片内外围,性价比极高。


MSP430F14x系列是TI的MSP430F1x系列(FLASH存储器型)单片机中功能最强大的子系列。F14x具有更大的程序和数据存储区、更多的外围模块,其片内甚至还包括一个硬件乘法器。同时F14x系列单片机开发工具简便,固化于FLASH存储器内的程序易于在线升级和调试,非常适合于开发消费类便携式电子产品。


MSP430F14x单片机集中体现了现代单片机先进的低功耗设计理念。其设计结构完全以系统低功耗运行为核心。


这种低功耗结构具体体现在以下四点:


(1)高集成度的完全单片化设计。 将很多外围模块集成到了MCU芯片中,增大硬件冗余。内部以低功耗、低电压的原则设计,这样系统不仅功能强、性能可靠、本钱降低,而且便于进一步微型化和便携化。


(2)内部电路可选择性工作。 F14x单片机可以通过特殊功能寄存器选择使用不同的功能电路,即依靠软件选择其中不同的外围功能模块,对于不使用的模块使其停止工作,以减少无效功耗。


(3)具有高速和低速两套时钟。 系统运行频率越高,电源功耗就会相应增大。为更好地降低功耗,F14x单片机可采用三套独立的时钟源:高速的主时钟、低频时钟(如32.768kHz)以及DCO片内时钟。可在满足功能需要的情况下按一定比例降低MCU主时钟频率,以降低电源功耗。在不需要高速运行的情况下,可选用副时钟低速运行,进一步降低功耗。通过软件对特殊功能寄存器赋值可改变CPU的时钟频率,或进行主时钟和副时钟切换。


(4)具有多种节能工作模式。 F14x单片机具有五种节能模式:LPM0、LPM1、LPM2、LPM3、LPM4。这五种模式为其功耗治理提供了极好的性能保证。图1显示了活动状态(AM)与各种节能模式下消耗的实际工作电流大小。




由于MSP430F14x系列是专为超低功耗的便携式应用开发的。利用先进的集成电路技术和生产工艺,其功耗已经跨越了毫安级,真正进军到了微安级。


不仅如此,F14x的软件结构也针对低功耗而设计。如从备用模式唤醒MCU仅需6μS。其中断和子程序调用无层次限制,这种丰富的中断能力减少了系统查询的需要,可以方便地设计出中断程序结构的控制程序。


利用F14x系列单片机,可以方便地构建一个低电压的工作平台。通过各功能模块的智能运行治理和MCU的节能模式相结合,可以解决运行速度、数据流量与低功耗设计的矛盾,将各功能模块的电流消耗降至最低状态,限制活动状态至最低要求。经过这样优化,可以实现单片机的极低功耗。如在1MHz工作频率下,F14x只消耗0.1~400μA电流(1.8~3.6V供电),如1.8V供电时,执行时仅消耗160uA的电流,备用时0.1uA,这时RAM中的数据还能有效保持。


概括来说,MSP430F14x单片机具有极低的功耗、强大的处理能力、丰富的片上外围模块,方便高效的开发方式。


本系统采用的MSP430F149单片机,是F14x系列中功能最强大的一款。它具有一个硬件乘法器、6个I/O端口(每个有8个I/O口)、1个精确的模拟比较器、2个具有捕捉/比较寄存器的定时器、8路12位A/D转换器、片内看门狗定时器、2个串行通讯接口和60KB的FlashROM,2KB RAM。F149还具有强大的扩展功能,其具有48个I/O引脚,每个I/O口分别对应输进、输出、功能选择、中断等多个寄存器,使得功能口和通用I/O口可以复用,大大增强了端口功能和灵活性,进步了对外围设备的开发能力。


MSP430F149的以上特点,使其非常适合于构成一个全功能的便携式单片机应用系统。


二、液晶显示模块与接口电路


图形点阵式液晶可显示用户自定义的任意符号和图形,并可卷动显示,它作为便携式单片机系统人机交互界面的重要组成部分被广泛应用于实时检测和显示的仪器仪表中。支持汉字显示的图形点阵液晶在现代单片机应用系统中是一种十分常用的显示设备,汉字BP机、手机上的显示屏就是图形点阵液晶。它与行列式小键盘组成了现代单片机应用系统中最常用的人机交互界面。


采用图形点阵式液晶显示较之其它显示方式主要有以下优点:


(1)工作电压低、功耗极低。工作电压3~5V,工作电流≤10uA/cm2,特别适用于便携式的仪器仪表中。


(2)液晶显示属被动显示,受外界光线干扰小。


(3)图形点阵式液晶可显示的信息量大,分辨率高。


(4)不产生电磁干扰。


(5)可靠性高。使用寿命长。


在设计中,笔者采用了信利(TRULY)公司的MG-12232液晶显示模块。MG-12232模块供电电压的典型值为3V,工作电流的典型值为0.3mA,很适合本系统3V电平的低功耗环境。其可显示范围为122×32点阵,即能实现所谓的"双排汉显"。MG-12232采用的控制器是两片SED1520,一片SED1520控制器可以驱动16行×80列。SED1520控制器可以在3V逻辑下正常工作,因而避免了与MSP430单片机逻辑电平不匹配的题目。其具体结构框图见图2。


newmaker.com

图2 SED1520的引脚定义和结构框图


SED1520控制器作为液晶显示屏与MCU的接口,它直接驱动MG-12232液晶,控制字符、汉字以及图形的显示。由于MSP430F149具有48个I/O引脚,借助SED1520,可以直接利用MSP430的I/O口模拟液晶的读写和控制时序。使得MCU对液晶的操纵实际上变为MCU对液晶显示控制器SED1520的操纵,因而接口电路的的硬件连接和软件编程都简单了很多。


图2中"V5"引脚提供MG-12232液晶的对比度电压,可以通过一个-12V电压发生电路(如MAX765)产生,经一个100K电位器分压后即可使用。


MCU可以通过SED1520的一些控制引脚和13条常用指令来访问液晶显示模块。如"RST"用于重启动SED1520,"E1"和"E2"分别用于使能两片SED1520。"R/W"控制对SED1520的读或写。"A0"决定此次操纵是指令读写还是数据读写。


一个SED1520显示控制器能控制80×16点阵液晶的显示,其显示RAM共16行,分2页,每页8行,每一页的数据寄存器分别对应液晶屏幕上的8行点。当设置了页地址和列地址后就确定了显示RAM中的唯一单元。屏幕上的每一列对应一个显示RAM的字节内容,且每列最下面一位为MSB,最上面一位为LSB,即该RAM单元字节数据由低位到高位的各个数据位对应于显示屏上某一列的由高到低的8个数据位。对显示RAM的一个字节单元赋值就是对当前列的8行(一页)像素点是否显示进行控制。如图3,MSP430F149单片机的P5口用作与液晶显示模块通讯的数据口。



MG-12232显示模块有多个型号,不同型号都采用相同的SED1520控制器,操纵及使用方法完全相同,只是尺寸不同。常用的如MG-12232-5(76×29.1×5.7mm)、MG-12232-6(45.05×22.32×6.3mm)、MG-12232-7(84×44×10mm)等,可以分别用在大小不同的便携式仪器或设备上。


对液晶显示模块还需着重考虑其背光类型,不同的背光类型消耗电流大不相同。一般可选的背光类型有LED(发光二极管)、EL(电致发光灯)以及CCFL型(冷阴极灯管)。EL是一种面发光的冷光源,在结构上可以做得很大很薄,固然亮度较低,但发光非常均匀而且无光斑,尤其是功耗很低。缺点是需要一个高压交流电压来驱动,故需要一个专门的电压变换电路(如IMP803)。CCFL照明面积更大,适用于需要大面积液晶显示界面的仪器或设备中。


三、键盘接口


MSP430F149的P1、P2口除了支持输进、输出以外,还支持硬件中断。P1、P2口的8个引脚都有各自的控制寄存器,每个引脚可以单独控制,并且每个引脚都可以作为中断源,每一引脚都可以单独选择中断触发沿,单独答应中断。P1、P2口各使用一个中断向量,P1.0~P1.7产生同一个中断,P2.0~P2.7也产生同一个中断。P1、P2口的这种结构非常适合实现基于中断的键盘输进响应程序。


本系统中使用2×2的行列式键盘。键盘程序采用行扫描法。即P1.0、P1.1接两根列线,列线定义为输出口,P1.2、P1.3接两根行线,行线定义为输进口。两根行线需接10K上拉电阻。


基于对系统低功耗要求的考虑,键盘输进响应程序应设计为中断方式运行的。即有键按下时,产生中断把MCU从休眠状态唤醒,并启动定时12ms的定时器,随后MCU又进进休眠状态。当定时器产生中断时再次将MCU从休眠状态唤醒,此时扫描键盘,若有键按下,则计算出键值,并执行该键值对应的功能程序。执行完该程序后,MCU再次进进休眠状态。


四、汉字显示的原理与部分程序实例


1、图形点阵液晶的汉字字模


与在DOS中显示汉字不同的是,图形点阵液晶并不是简单地用画点的方式来描出汉字。直接从中文系统汉字字库中提取的汉字字模并不能直接在液晶上显示,通常都必须经过格式上的调整和转换。标准16点阵汉字(如希看汉字的HZK16)字模数据的排列形式如图4。


由于一个SED1520显示控制器能控制80×16点阵液晶的显示,其显示RAM共16行,分2页,每页8行。连续16列相邻2页的32字节显示RAM就可以控制一个汉字的显示区域(如图5)。对这些显示RAM赋以相应值就可以显示出一个汉字。



由图4和图5所示可见,SED1520图形点阵液晶显示控制器汉字字模的排列顺序和方式与标准汉字字模完全不同。液晶字模数据可以通过对标准字模数据进行位运算后得到。


实际编程中,具体汉字的液晶字模数据应存放在MSP430F149单片机的FLASH存储器中。


2、液晶显示器初始化流程


在液晶显示信息之前,必须先对液晶进行初始化。 初始化的流程如下:


newmaker.com


需留意,MG-12232模块内固然一片SED1520控制器实际控制区域为61列,但清除显示RAM时,仍应按80个RAM单元清除。


3、部分程序实例


程序是在MSP430单片机的开发平台IAR Embedded Workbench下采用汇编语言编写,仿真机采用了TI公司的MSP-FET430P410。


由于本系统中选用了MSP430F149单片机,对源程序编译前需对IAR Embeded WorkBench平台进行以下设置:


A. 点击Project菜单下的Options…命令进进设置窗口,对左边Category框内的"XLINK"选项下的"Include"页面进行设置,把"XCL file name"框的内容设置为"C:Program FilesIAR Systemsew23430icc430msp430F149A.xcl"。


B. 点击Project菜单下的Options…命令进进设置窗口,对左边Category框内的"C-SPY"选项下的"Setup"页面进行设置,把"Chip Description"框的内容设置为"C:Program FilesIAR Systemsew23430cw430msp430F149.ddf"。


以下给出了一些常量定义和发送命令字子程序(SEND_COM)、发送数据子程序(SEND_DATA)及液晶状态查询子程序(LCD_STE)的源代码。


newmaker.com

RET


五、结束语


本系统利用MSP430F149单片机、MG-12232图形点阵液晶模块和行列式键盘接口构建了基于3V电平的低电压、微功耗的中文人机界面。实际使用中,此人机界面消耗电流不足1mA,这种设计方案取得了很好的微功耗效果。


推荐阅读

史海拾趣

HI Microwave Technology Limited公司的发展小趣事

HI Microwave Technology Limited自2004年在中国成立以来,便以“Hertz Infinite”(赫兹无限)为愿景,致力于将产品范围扩展至30 KHz至110 GHz+(针对GaAs、HEMT、PHEMT和MMIC基产品)以及220 GHz+(针对毫米波产品和子系统)。这一宏伟愿景不仅为公司指明了发展方向,也激励着每一位员工不断追求技术创新和产品卓越。在初创阶段,HI Microwave通过引进国际先进的生产设备和技术人才,迅速在微波通信领域站稳脚跟。

EDAC公司的发展小趣事

ECS-B公司是一家以生产高端电子产品为主的企业。在竞争激烈的电子行业中,ECS-B公司深知品质是企业生存和发展的关键。因此,公司非常重视品质管理,从原材料采购、生产过程到成品检验,都实行严格的质量控制。ECS-B公司还建立了完善的品质管理体系,通过持续改进和优化生产流程,提升产品的品质水平。正是凭借卓越的品质和可靠的性能,ECS-B公司的产品在市场上赢得了良好的口碑和广泛的认可。

BOPLA公司的发展小趣事

为了进一步提升公司的竞争力,BOPLA积极寻求与其他企业的合作机会。通过与上下游企业建立紧密的合作关系,公司实现了产业链的协同发展。同时,BOPLA还与其他创新型企业进行技术交流和合作研发,共同推动电子行业的发展。这种合作模式不仅提升了公司的技术水平,还为公司带来了更多的商业机会和发展空间。

以上便是关于BOPLA公司在电子行业中发展的几个可能的故事情节。这些故事展示了BOPLA在创业初期、技术突破、市场拓展、绿色转型以及合作与共赢等方面的努力和成就。当然,实际的发展过程可能更加复杂和多变,但无论如何,BOPLA都以其坚韧不拔的精神和不断创新的态度,在电子行业中留下了深刻的印记。

Hi-Light Electronic Co Ltd公司的发展小趣事

近年来,随着环保意识的提高和政府对塑料污染治理的关注,BOPLA积极响应国家号召,开始研发和推广生物基可降解材料。经过多年的努力,公司成功推出了BOPLA生物基膜材,实现了产品的绿色转型。这一创新不仅有助于减少塑料污染,还为公司赢得了更多的环保意识和绿色消费市场的青睐。

DBLECTRO公司的发展小趣事

进入21世纪后,随着全球对环保和可持续发展的关注度不断提高,迪贝电子也积极响应这一趋势,将环保和社会责任融入到企业的经营理念中。公司投入大量资金研发更加环保、节能的产品,并积极参与各种环保公益活动。同时,迪贝电子还积极推广绿色制造理念,通过优化生产流程、降低能耗和减少废弃物排放等措施,实现了企业的可持续发展。

Coherent Inc公司的发展小趣事

随着公司的发展,Coherent Inc.开始通过收购和整合来增强自身实力。1998年,公司以6500亿美金收购了Palomar Medical Technologies的部分业务,这一举措进一步拓宽了公司的业务范围和技术领域。此外,公司还陆续收购了多家具有技术优势的公司,如Positive Light和Lambda Physik,这些收购不仅增强了公司的技术实力,也使其在激光技术领域的地位更加稳固。

问答坊 | AI 解惑

AOS ON FAIRSHILD IOR VISHAY MI ST代理经销商

我公司是AOS,ON,FAIRSHILD,IOR,VISHAY,MI,ST国际知名品牌代理经销商,主要经营各系品牌IC、 IGBT、MOS管。有需要的厂家,可将预计年份周期各月采购量以及,合作方式,意向价格(注明交货地址,是否含税以及税率)发给我司(sal06@wgwydz.com)。对有合作 ...…

查看全部问答>

电源滤波设计精华

电源滤波设计精华…

查看全部问答>

WinCE 6.0 KITL无法使用debugger的问题

Build Options中已选中Enable kernel debugger和Enable KITL。 在Core OS Services中添加了Target Control Support。 Target Device Connectivity Options中的配置为: Download:  None Transport: Ethernet Debugger:  K ...…

查看全部问答>

嵌入式系统的双CPU通讯协议设计

我是应届的本科毕业生,学软件工程的。签到东软IA事业部。给我出的毕业设计课题为《嵌入式系统的双CPU通讯协议设计》。可我可以说基本没有接触过,有点无从下手的感觉。有没有哪位牛人,给我点基本思路啊。比如: 1.用什么平台、什么开发工具 2. ...…

查看全部问答>

请教51单片机端口操作的理解

初学C51单片机,对端口的操作感觉不能理解。 看到一个程序 #include main() {    int results;    results=P2*196;    .........     ......... }复制代码 查了一下的文件,P2的定义为:sfr P2  ...…

查看全部问答>

ADC0808的工作原理???

想知道下它是如何传递数据的,读入数据后,送到输出口的原理??比如说读入的数据为3.85,到输出口是怎么分配的??急…

查看全部问答>

WindowsCE电源管理是不是存在设计问题?(高手请进)

小弟最近被手机白屏问题所烦扰。WinCE的display驱动和backlight驱动都属于可以被电源管理的设备。但是他们有着潜在关系。 在系统suspend的时候,应该先关背光,再关LCD。 而在系统wake up的时候,则应该先开LCD,再开背光。 而Power Manager在管 ...…

查看全部问答>

silicon labs新推无线通信模块si1000系列资料

最近刚申请下芯科实验室的一款集MCU和无线通信模块的芯片SI1000评估板,不知道大家有没有用过,可以一起交流一下…

查看全部问答>

STM8被自动唤醒后程序从哪里开始执行啊

                                 不知道STM8自动唤醒后程序从何处执行…

查看全部问答>

PIC 18F6720中全局变量问题求解~

本人PIC单片机初学者,问个弱弱的问题,请各位高手帮帮忙解决。 如PIC 18F6720中,定义全局变量A,但在主函数中A的值为什么不能改变? Unsigned char A; Main() { //初始化省略; If(RA=1) ...…

查看全部问答>