基于ARM的LCD显示

基于ARM的LCD显示
基于ARM的LCD显示

毕业论文(设计) 题目基于ARM控制的LCD显示

学生姓名

学号

院系信息与控制

专业电气工程与自动化

指导教师

二O一二年五月二十五日

声明

本人郑重声明:

1、持以“求实、创新”的科学精神从事研究工作。

2、本论文是我个人在导师指导下进行的研究工作和取得

的研究成果。

3、本论文中除引文外,所有实验、数据和有关材料均是真

实的。

4、本论文中除引文和致谢的内容外,没有抄袭其他人或其

他机构已经发表或撰写过的研究成果。

5、其他同志对本研究所做的贡献均已在论文中作了声明

并表示了谢意。

作者签名:

日期:

目录

1概述 (1)

1.1选题背景和意义 (1)

1.2设计目标 (2)

2嵌入式和LCD的发展 (2)

2.1嵌入式系统概述 (2)

2.1.1嵌入式系统的发展史 (2)

2.1.2嵌入式系统的定义及其构成 (3)

2.1.3嵌入式系统的应用 (4)

2.2 ARM体系结构的发展 (5)

2.3 LCD控制器 (6)

3软硬件开发平台 (7)

3.1软件开发环境介绍 (7)

3.1.1 Embedded Workbench for ARM 集成环境介绍 (8)

3.1.2 IAR ST-LINK仿真器简介 (9)

3.2 硬件开发环境介绍 (9)

3.3操作系统uCOS II简介 (10)

4系统设计 (11)

4.1 系统设计概述 (11)

4.2 电源控制 (12)

4.3 液晶驱动介绍 (13)

4.3.1液晶驱动HT16C22的芯片配置,以及数据传输接口 (13)

4.3.2 HT16C22初始化设定 (13)

4.3.3 HT16C22数据读写 (13)

4.3.4显示软件驱动模块初始化流程图 (14)

4.3.5 HT16C22引脚接线图 (14)

4.4 I2C总线 (16)

4.4.1简介 (16)

4.4.2 I2C主要特点 (16)

4.4.3 I2C功能描述 (18)

4.4.4 I2C通信方式 (18)

4.5 LCD 图形显示封装库 (21)

5逆变器各种状态下LCD显示 (22)

5.1布局图 (23)

5.2正常运行静态及动态效果 (24)

5.3保护状态效果 (26)

5.4故障状态效果 (27)

6结语 (28)

基于ARM控制的LCD显示

姚远

南京信息工程大学计算机与软件学院,南京 210044

摘要:本论文是以STM公司生产的STM32的微处理器作为硬件开发平台来控制LCD液晶显示,选用的液晶LCD是用来显示太阳能光伏并网逆变器的运行状态的。目前,随着科技的发展和创新,人们把越来越多的目光投向新能源领域,新能源也得到了前所未有的发展和重视。设计这款太阳能光伏逆变器具有很重要的意义,它可以让人们更清晰直观的了解到当前逆变器的运行工作状态,人机交互更加贴近我们的生活。国内这方面目前还处于起步阶段,设计好一款基于ARM控制逆变器液晶模块具有很重要的意义和很强的操作性。本文立足于设计一个功能齐全的LCD人机交互界面,使它满足广大用户对产品的需要。

关键词:STM32,LCD显示,太阳能光伏并网逆变器

1概述

1.1选题背景和意义

崭新的21世纪的到来让我们更加重视新能源的开发和利用,现阶段越来越多的国家和地区开始大力的发展太阳能、风能、潮汐能等新能源。能源的转化和利用也显得越发的重要和突出,其中光伏并网逆变器的发展也越来越快,逆变器是将直流电转化为交流电,若直流电压较低,则通过交流变压器升压,即可以得到标准交流电压和频率。太阳能光伏逆变器逆变过程如图1.1所示:

图1.1太阳能光伏逆变过程

后PC时代到来以及32位嵌入式系统的高端应用吸引了大量人员参与,加之嵌入式系统软/硬件技术的发展,导致了嵌入式系统应用模式的巨大变化,即使嵌入式系统应用进入到一个基于软/硬件平台、集成开发环境的应用开发时代,并带动了嵌入式技术的发展。

本论文准备以STM公司的STM32的微处理器作为硬件开发平台来控制LCD液晶显示,STM32是一个基于支持实时仿真的Coxtex-M3处理器。它不仅定义了传统意义上的处理器内核,同时对存储器、时钟、复位、中断控制器、MPU、调试接口、电源管理等作了全面的规范,使采用Coxtex-M3的各种芯片有了更统一的编程接口,大大简化了用户使用不同厂家芯片的复杂度。本文准备控制的LCD液晶是并网光伏逆变器的重要组成部分。逆变器自动运行时,无需用户操作和任何干预,我们通过LCD显示屏可以获得逆变器的基本工作状态,可以查询逆变器发电量等运行信息,因此LCD液晶显示功能对逆变器用户查询有着非常重要的意义。本文立足于设计一个功能齐全的LCD人机交互界面,使它满足广大用户对产品的需要。

1.2设计目标

该设计基于STM32微控制器液晶LCD设计。该设计要求达到以下功能:

(1)STM32处理器的启动。

(2)液晶模块的驱动程序编写。

(3)实现液晶模块各种图像、模块、数字的显示。

2嵌入式和LCD的发展

2.1嵌入式系统的概述

2.1.1嵌入式系统发展史

嵌入式系统虽然是近几年才风靡起来的,但是这个概念并非是新近才出现产物。从20世纪70年代左右单片机的出现到今天各式各样的微控制器、嵌入式处理器大规模应用,嵌入式系统已经快有30多年的发展历史。【1】综合看嵌入式技术的发展,大致可以说经历了以下4个阶段:

第一阶段是以单芯片为核心的可编程控制器的系统,同时也具有与伺服、监测、指示设备相配合的一些功能,应用在专业性强的工业控制系统中。而且这种系统一般没有操作系统的支持,同时通过汇编语言编程对系统进行直接控制。这一阶段系统主要特点是:系统

结构和功能相对单一,存储容量较小,处理效率较低,几乎没有用户的接口。

●第二阶段是以嵌入式CPU为基础、以简单操作系统为核心的嵌入式系统。

这一阶段系统的主要特点是:CPU种类繁多,通用性比较弱;系统开销小,效率高;操作系统达到了一定的兼容性和扩展性;应用软件较专业化,用户界面不够友好;主要用于控制系统负载的运行以及监控应用程序的运行。

●第三阶段是以嵌入式操作系统为标志的嵌入式系统。这一阶段系统的主要特点是:嵌入式操作系统能运行于各种不同类型的微处理器上,兼容性好;操作系统内核小、效率高,并且具有高度的模块化和扩展性;具备文件和目录管理、多任务、设备支持、网络支持、图形窗口以及用户界面等功能;具有大量的应用程序接口(API),开发应用程序简单;嵌入式应用软件丰富。

●第四阶段是以基于Intemet为标志的嵌入式系统,这是一个正在迅速发展的阶段。目前大多数嵌入式系统还孤立于Internet之外,但随着Intemet的发展以及 Intemet技术与信息家电、工业控制技术等结合日益密切,嵌入式设备与Internet 的结合将代表着嵌入式技术的真正未来。

数字时代和信息时代的到来使嵌入式产品获得了巨大的历史发展机遇,为嵌入式市场展现了美好的前景,同时这也对嵌入式厂商提出了新的挑战。未来的嵌入式系统的发展趋势是:(1)网络互联成为了必然趋势。未来的嵌入式设备为了适应网络互联的要求,必须要在硬件上提供各种网络通讯的接口。软件方面内核要支持网络模块,甚至可以在设备上嵌入WEB浏览器,真正可以实现随时随地的用各种设备上网。

(2)精简系统内核、算法,降低功耗、软硬件的成本。未来嵌入式产品是软、硬件紧密结合的设备,为了降低功耗成本,需要尽量的精简系统内核,只保留和系统紧密相关的软、硬件,利用最少的资源来实现最适当的功能。

(3)提供友好的多媒体人机界面。嵌入式设备不仅能与用户亲密接触,最重要的因素就是能提供友好的用户界面。这就要求了软件设计要在多媒体技术、图形界面上多下功夫。

2.1.2嵌入式系统定义及其构成

根据IEEE(国际电气和电子工程师协会)从应用上定义为:嵌入式系统是“控制、监视或者辅助设备、机器和车间运行的装置(原文为device used to control.monitor,or assist the operation of equipment,machinery or plants)”。由此可以看出来嵌入式系统是软件和硬件的综合体,可以涵盖到机械等附属装置。目前,国内对嵌入式系统的普遍认同一个定义是:以计算机技术为基础、以应用为中心,软硬件可裁减,适应应用系统对功能、体积、可靠性、成本、功耗等严格要求的计算机系统【2】。

对嵌入式系统的定义可以从以下几方面来理解:

(1)嵌入式系统是面向产品、面向用户、面向应用的,嵌入式系统是和应用紧密结合

的,它具有很强地专用性,必须要结合实际系统需求来进行合理的裁减。它的升级换代也是根据具体产品同步来进行的,因此嵌入式系统产品一旦进入了市场,一般都具有具有较长的生命周期。

(2)嵌入式系统是将先进的计算机技术、半导体技术、电子技术等各个行业具体应用相结合的产物。这一点就决定了它是一个资金密集、高度分散、技术密集、高度分散、不断创新的知识集成系统。

(3)嵌入式系统必须能根据应用需要对软件、硬件进行裁减、扩展以满足应用系统的功能、成本、可靠性、体积等要求。为了提高系统可靠性和执行速度,嵌入式系统中的软件一般都固化在了存储器芯片或者单片机本身中,而不是储存在磁盘等载体中。目前的嵌入式系统的内核都只是一个几K到几十K的微核,能够非常顺利地按需求扩展功能。

一般而言,嵌入式系统的构架可以分成四个部分:存储器、处理器、输入/输出(I/O)和软件构成。嵌入式系统和一般的计算机处理系统不同,它不具备像硬盘那样的大容量存储介质,大多都使用EPROM、E2PROM或闪存(Flash Memory)来作为存储介质。由于大多数嵌入式设备的应用软件和操作系统都是紧密结合的,不加以区别,这也是嵌入式系统和Windows 系统最大的区别。

2.1.3嵌入式系统的应用

嵌入式系统技术具有非常广泛的应用前景,其应用领域一般可以包括:

(1)工业控制领域口1:作为32位的RISC架构、基于ARM核的微控制器芯片不但占据高端微控制器市场的很大部分市场份额,同时也在逐渐向低端微控制器应用领域方向扩展,目前已经有了大量的8位、16位、32位嵌入式微处理器应用在工业过程控制、电网安全、数控机床、电力系统、石油化工系统等领域。ARM微控制器的低功耗、高性价比,向传统的8位/16位微控制器提出了强烈挑战。

(2)信息家电领域:以后这将成为嵌入式最大的应用领域,冰箱、空调、电视等家用电器的网络化、智能化将引领人们的生活步入一个崭新的空间,可以利用电话线或者网络来对家电进行远程的控制。

(3)交通管理领域:在流量控制、车辆导航、信息监测与汽车服务等,嵌入式系统技术已经获得广泛的应用,内嵌GPS模块、GSM模块的移动定位终端已经在各种运输业广泛应用。

(4)家庭智能管理系统:水、电和煤气等远程自动抄表,安全防火、防盗,这将是嵌入式系统广泛应用的又一领域,它不仅能代替传统的人工检查,而且还能实现了更准确、速度更快、精度更高、更安全等性能。

(5)无线通讯领域:目前已有超过85%的无线通讯设备采用ARM技术,ARM以其高性能和低成本,在该领域的地位日益巩固和稳定。

(6)消费类电子产品:ARM技术在目前流行的手机、数字音频播放器、数字机顶盒和游

戏机中得到了广泛采用。

(7)网络应用:伴随着宽带技术推广,采用ARM技术的ADSL芯片正逐步获得竞争优势。此外,ARM在语音及视频处理上进行了优化和处理,并获得了广泛的支持,这也对DSP的应用领域提出了新的挑战。

(8)成像和安全产品:现在流行的数码相机和打印机中绝大部分都采用ARM技术。手机中的32位SIM智能卡也采用TARM技术陆。

除了这些以外,ARM微处理器及技术还应用到很多不同的领域,并会在将来取得更加广泛的应用。

2.2 ARM体系结构的发展

ARM(Advanced RISC Machines),既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。1991年ARM公司成立于英国剑桥,主要出售芯片设计技术的授权。目前,采用ARM技术知识产权(IP)核的微处理器,即我们通常所说的ARM微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于ARM技术的微处理器,其应用大概占据了32位RISC微处理器75%以上的市场份额,ARM技术正在逐步渗透到我们生活的各个方面中。

目前,ARM32位体系结构被公认是嵌入式应用领域领先的32位嵌入式RISC微处理器结构。自诞生到现在,ARM体系结构为了能够满足ARM合作者以及设计领域的需求正在稳步发展,已经发展并定义了7个不同的版本,每一次ARM体系结构的重大修改,都会添加成极为重要的技术。在体系结构作重大修改的期间,会添加新的性能来来作为体系结构的变体。ARM的名字代表了系统结构上的提升,后面附加的关键字代表了体系结构的变体。

(1)v1版架构:该版架构只在原型机子ARM1上出现过,没有用在商业产品上。采用的地址空间是26位,寻址空间则是64MBt。

(2)V2版架构:该版架构是对V1版架构进行了扩展,V2架构的ARM处理器的指令结构进行了完善,例如:支持协处理器操作指令、增加了乘法指令、快速中断模式等,但该结构的处理器仍然是26位的地址空间。

(3)V3版架构:对以前的ARM体系结构作了很大的改动,例如:寻址空间增到32位(4GB);指令结构也比前两种有所完善,例如:增加了程序状态保存寄存器(SPSR)、程序状态寄存器 (CPSR)、增加了中止和未定义2种处理器模式等。

(4)V4版架构:V4架构在V3版架构的基础上做了进一步的扩充,指令集中完善了软件中断SWl指令的功能、增加了16位Thumb指令集的读取和写入操作、增加了处理器系统模式等。V4版架构是目前应用比较多的ARM系统结构,属于V4 体系结构的处理器的有ARM7,ARM8,ARM9 ,StrongARM。

(5)V5版架构:提升了ARM和Thumb指令的交互工作的能力,同时有了DSP 指令(V5E

结构)、Java指令(V5J结构支持),增加了带有链接和交换的转移BLX指令。属于V5T体系结构的处理器(有ARMl0TDMI和Xscale(Intel公司产品)。属于V5TE体系结构的处理器有ARM9E、ARM9E.S、ARM946等pJ。

(6)V6版架构:V6版架构与V5版架构相比增加了多媒体指令、增加了高性能定点DSP功能、改进了的内存管理,使系统性能提高了30%。属于V6体系结构的处理器的有ARMll。V6构体系结构包含ARM体系结构中所有的四种特殊指令集:Thumb指令,DSP指令,Java指令,Media指令。同时为了满足向后兼容,ARMv6也包括了ARMy5的存储器管理和例外处理。这使得众多的第三方发展商能够利用现有的成果,支持软件和设计的复用。

(7)V7版架构:V7版架构ARM是2005年发布的。它使用了能够带来更高性能、低功耗、高效率及代码密度大的Thumb.2技术。它首次采用了强大的信号处理扩展集,对MP3等媒体编码提供了加速。

下一代体系结构的发展是由不断出现的新产品和变化的市场来推动的。关键的设计约束也是显而易见的,速度,功能,性能,功耗,面积和成本必须与每一种的应用需求相平衡。保证领先的性能/功耗。在过去是ARM成功的基石所在,在将来的应用中它也是一个很重要衡量标准。但新的体系结构不能是想取代现存的体系结构,让它们变得多余。新的CPU 核和衍生产品必须建立在这些结构之上,同时不断地与制造工艺保持同步。例如基于V4T 体系结构的ARMTTDMI核还在不断广泛被新产品所使用。

2.3 LCD控制器

液晶显示屏LCD(Liquid Crystal Display)主要应用在显示文本及图形信息。液晶显示屏具有体积小、轻薄、耗电量低、无辐射危险、平面直角显示和影像稳定不闪烁等一些特点。因此,在许多的电子应用领域,常常把液晶显示屏作为人机界面。

2.3.1 LCD工作原理

CRT显示器的工作原理是通电后灯丝发热,阴极被激发,来发射出电子流,电子流受到了带有高电压的内部金属层加速,经过透镜聚焦形成了极细的电子束,打在荧光屏上面,使荧光粉发光,形成一个光点,许许多多这样不同亮度光点就形成了一副图像。和CRT显示器的原理不同,LCD显示器中的液晶体是在外加交流电场的作用下排列状态发生变化,呈现不规则的扭转形状,形成了一个个光线的闸门,从而控制液晶显示器件背后的光线是不是穿透,呈现明与暗或者透过不透过的效果,这样的话,人们才能在LCD显示屏上看到各种深浅不一、错落有致的图像。LCD显示器中的每个显示像素都能单独被电场控制,不同的显示像素安装控制信号的指挥就可以在显示屏上显示不同组成的字符、数字及图形。因此,我们说,建立所需的电场和显示像素的组合就成为了液晶显示驱动器和液晶控制器的主要功能。

2.3.2 LCD分类

LCD显示器的种类有很多,不同的LCD显示器,其显示的控制方式也有所不同。主要有STN-LCD(Super Twisted Nematic-Liquid Crystal Display)和TFT-LCD(Thin Film Transistor-Liquid Crystal Display)。

STN-LCD和TFT-LCD都使用一种被称为“向列性”的丝状液晶物质,利用电场来控制“丝状”液晶的放心。通常液态晶体包在两片玻璃之间,在玻璃的表面上先镀有一层透明而且导电的薄膜以作电极之用,然后在有薄膜的玻璃上镀一层透明并且导电的薄膜来作电极之用,然后在有薄膜的玻璃上面镀一层成为配向剂的物质,来使液晶随着一个特定而且平行于玻璃的表面的方向转动。

STN-LCD显示屏中的液晶,其自然状态有90度的扭转,可以利用电场可使液晶再进行旋转,液晶的折射系数同时也随着液晶的方向改变而改变,光在经过STN型液晶后,偏极性会发生变化,只要选择的适当,让光的偏极性旋转到180度到270度,就可以利用两个平行偏光片让光完全不能够通过。假若液晶方向与电场方向平行,这样光的偏极性不会改变,光就可以通过第二个偏光片,于是就可以来以此控制光的明暗。STN型液晶是反射式LCD器件,它的好处是功耗小,缺点是在较暗的环境中清晰度很差,所以一般都不配备外部照明光源。

而TFT液晶显示技术大多都采用了“主动式矩阵”的方式来驱动。原理是利用薄膜技术所做的电晶体电极,利用扫描方式主动的控制任意一个显示点开与关。光源照射时必须先通过下偏光向上透出,借助液晶分子来传导光线。电极通过的时候,液晶分子就像STN液晶的排列状态一样会发生变化,也通过折光和透光达到显示的目的。同时由于TFT晶体管具有电容的效应,能够保持电位的状态,所以已经透光的液晶分子会保持着这种状态,一直到TFT 电极再加电改变它的排列方式的时候为止;而STN型液晶没有这个特性,一旦液晶没有加上电场,就立刻返回到原来的状态,这也是TFT液晶和STN液晶显示原理最大的不同。TFT液晶为每个像素都设置一个半导体的开关,它的加工工艺类似于大规模的集成电路。由于每个像素都可以通过点脉冲来直接控制,因此每个节点都相对是独立的,并可以连续控制。这样的设计不但提高了显示屏的反应速度,同时也可以精确的控制显示灰度,所以TFT液晶的色彩更逼真、更平滑、层次感更强。选择在一定的显示模式,在电场下,液晶分子产生取向会变化,并通过与偏振片的配合,使入射的光在通过液晶层后的强度随之会发生变化,从而实现了图像显示。

3软硬件开发平台

3.1软件开发环境介绍

ARM处理器产品作为一种高性能、低功耗的处理器产品,现已经得到了广泛的应用。ARM开发工具也因此得到很大的发展,ARM应用软件的开发工具根据功能不同,分别有链接软件、汇编软件、编译软件、调试软件、嵌入式实时操作系统、评估板、函数库、在线仿真器、JTAG仿真器等,目前世界上大概有四十多家的公司提供以上不同类别的产品。用户在选用ARM处理器开发嵌入式系统时,选择合适的开发工具可以加快开发速度,节省开发的成本。因此一套含有编译软件、编辑软件、调试软件、汇编软件、链接软件、工程管理及函数库的集成开发环境(IDE)在一般来说是必不可少的,至于嵌入式实时操作的系统、评估板等开发工具则可以根据应用软件的规模和开发计划来选用。除ARM公司自己推出的ARM集成开发工具ADS和STD外,还有公司也研发了ARM开发工具:例如Multi 2000、Embest IDEforARM 等,下面就介绍一下准备应用于这次设计的IAR Embedded Workbench for ARM。

IAR Embedded Workbench for ARM是IAR System 公司为ARM微处理器开发的一个集成环境。比较其它的ARM开发环境,IAR Embedded Workbench for ARM具有入门容易、使用方便和代码紧凑等特点。

3.1.1 Embedded Workbench for ARM 集成环境介绍

Embedded Workbench for ARM是一个针对ARM处理器的集成开发环境,包含项目管理器、编辑器、编译链接工具和支持RTOS的调试工具。在该环境下可以使用C/C++和汇编语言方便地开发嵌入式应用程序。IAR操作界面如图3.1所示:

图3.1 IAR操作界面

Embedded Workbench for ARM主要模块如下:

●项目管理器

●IAR XAR、XLIB建库程序和IAR DLIB C/C++运行库

●高度优化地IAR ARM C/C++ Compiler

●功能强大的编辑器

●IAR ARM Assembler

●通用的IAR XLINK LINKER

●命令行实用程序

●IAR C-SPY调试器

3.1.2 IAR ST-LINK仿真器简介

基本属性:

ST-LINK是一款可以在线仿真以及下载STM8以及STM32的开发工具!ST-LINK是ST 意法半导体为初学者学习、评估、开发STM8系列和STM32系列MCU而设计的集在线仿真与下载为一体的开发工具。

STM8系列通过SWIM接口与ST-LINK连接;

STM32系列通过JTAG / SWD接口与ST-LINK连接。

ST-LINK通过高速USB2.0与PC端连接。

支持的软件:

●直接支持ST官方IDE(集成开发环境软件)ST Visual Develop(STVD)和烧录软

件ST Visual Program(STVP)。

●支持ATOLLIC,IAR和Keil公司的STM32的集成开发环境。

●支持的器件:

●支持所有带SWIM接口的STM8系列单片机

●支持所有带JTAG / SWD接口的STM32系列单片机

3.2 硬件开发环境介绍

本次设计使用的ARM Coxtex-M3是ARM公司针对微控制领域推出的新一代处理器架构,它采用了ARM v7-M体系结构和面向高级语言Thumb-2指令集,在代码密度、实时性、运算性能、功耗、价格等方面达到了很好的平衡。Coxtex-M3处理器不仅定义了传统意义上的处理器内核,同时对存储器、时钟、复位、中断控制器、MPU、调试接口、电源管理等作了全面的规范,使采用Coxtex-M3的各种芯片有了更统一的编程接口,大大简化了用户使用不同厂家芯片的复杂度。意法半导体(ST)公司推出的基于ARM Coxtex-M3内核的STM32系列的微型控制器,集32位RISC处理器、低功耗、高性能的模拟技术、高速DMA通道及丰富的片内外设、JTAG仿真调试等于一体,定义了新一代“超级单片机”的概念,加上丰富的技术资料和完善的开发工具,使用方便,具有很高的性价比。本次设计所用到的STM32f103VB 这款ARM芯片是ARM Coxtex-M3系列的一款经典芯片。STM系统结构如图3.2所示:

图3.2 STM32系统结构

STM微控制器的主要优点

●使用ARM最新的、先进的Cortex-M3内核

●出色的实时性能

●优越的功效

●高级的、创新性外设

●低功率、低电压特性

●最大的集成性

●易于开发

3.3操作系统uCOS II简介

μC/OS-II是一种可移植、可植入ROM的、可裁剪、抢占式的,实时多任务操作系统内核。它被广泛地应用于微处理器、微控制器和数字信号处理器。

μC/OS-II 的前身是μC/OS,最早出自于1992 年美国嵌入式系统专家Jean https://www.360docs.net/doc/8210456733.html,brosse 在《嵌入式系统编程》杂志的5 月和6 月刊上刊登的文章连载的,并把μC/OS 的源码发布在该杂志的BBS上面。

μC/OS 和μC/OS-II 专门为计算机嵌入式应用设计的,绝大部分代码都是用C语言编

写的。CPU 硬件相关部分是用汇编语言编写的、总量约200行的汇编语言部分被压缩到最低

限度,为的是方便移植到任何一种其它的CPU 上。用户只要有了标准的ANSI 的C交叉编译器,有汇编器、连接器等软件工具,就可以将μC/OS-II嵌入到开发的产品中。μC/OS-II 具有执行效率高、占用空间小、实时性能优良和可扩展性强等众多特点,最小内核可编译至2KB 。目前,μC/OS-II 已经移植到几乎所有知名的CPU 上。

严格地来说uC/OS-II只是一个实时操作系统内核,它仅仅包含了任务调度,任务管理,时间管理,内存管理和任务间的通信和同步等基本功能。没有提供输入输出管理,文件系统,网络等额外的服务。但由于uC/OS-II良好的可扩展性和源码开放,这些非必须的功能完全可以由用户自己根据需要分别实现。

uC/OS-II目标是实现一个基于优先级调度的抢占式地实时内核,并在这个内核之上提供最基本的一些系统服务,如信号量,邮箱,消息队列,内存管理,中断管理等。

uC/OS-II以源代码的形式发布,但并不意味着它是开源软件。你可以将它用于教学和私下研究(peaceful research)中;但是如果你将其用于商业用途,那么你必须通过Micrium 来获得商用许可。

4系统设计

4.1 系统设计概述

嵌入式应用系统的设计包含硬件系统的设计和软件系统设计两个部分,并且这两部分的设计是相互关联、密不可分的,嵌入式应用系统的设计经常需要在硬件和软件的设计之间进行权衡与折中。因此,这就要求嵌入式系统设计工程师具有较深厚的硬件和软件基础,并具有熟练应用的能力。这也是嵌入式应用系统设计与其他的纯粹的软件设计或硬件设计最大的区别。

本课题依靠STM32F103VB为参考,详细的分析了系统的软、硬件设计内容、实现细节以及相关使用情况等,设计出与本课题相符的液晶显示驱动控制方案。

基于ARM的系统结构框图,如图4.1所示

图4.1ARM系统结构图

4.2 电源控制

在系统中,LCD需要3.3V直流稳压电源,由CTRL端控制,高电平时不导通,低电平时导通。

直流供电电路如图4.2,4.3所示。

图4.2 LCD电源控制

图4.3 LCD直流供电

4.3 液晶驱动介绍

4.3.1液晶驱动HT16C22的芯片配置,以及数据传输接口

实现方法:包括初始化函数LcdInit(),实现LCD屏幕和HT16C22初始化操作。数据传输函数Ht16C22WriteData(),实现图像数据的传输。

LcdInit()的实现主要包括ARM侧传输端口的初始化操作,HT16C22内部相关RAM和状态机的初始化,以及当前ARM侧显存的初始化操作。

4.3.2 HT16C22初始化设定

HT16C22是一个内置存储器映射和多功能的LCD控制驱动装置。通过软件配置功能使得它适合用于多种LCD的应用。

在使用HT16C22时,首先需对其进行初始化设定,其步骤如下:

步骤1:使能HT16C22内部系统时钟功能

步骤2:对HT16C22内部的LCD Bias电压进行相应的设定

步骤3:对HT16C22内部的LCD的帧频率进行相应的设定

步骤4:对HT16C22的VLCD引脚与SEG引脚共用进行相应的设定

步骤5:对HT16C22的LCD闪烁频率进行相应的设定

4.3.3 HT16C22数据读写

HT16C22数据的读写需按如下步骤操作:

步骤1:对相应地址指针进行设定

步骤2:显示数据RAM的写入操作

步骤3:数据显示HT16C22

4.3.4显示软件驱动模块初始化流程图

软件驱动模块初始化流程图如图4.4所示:

图4.4 显示驱动初始化

4.3.5 HT16C22引脚接线图

设计中,液晶驱动HT16C22引脚接线图如图4.5,4.6所示。

图4.5 HT16C22接口

图4.6 LCD接口

4.4 I2C总线

4.4.1简介

I2C(芯片间)总线接口连接微控制器和串行I2C总线。它提供多主机功能,控制所有I2C 总线特定的时序、协议、仲裁和定时。支持标准和快速两种模式,同时与SMBus 2.0兼容。I2C模块有多种用途,包括CRC码的生成和校验、SMBus(系统管理总线—System Management Bus)和PMBus(电源管理总线—Power Management Bus)。

根据特定设备的需要,可以使用DMA以减轻CPU的负担。

本设计中,HT16C22与外部控制部分采用I2C通信的方式。在程序设计中,I2C显得尤为重要。

4.4.2 I2C主要特点

相关主题
相关文档
最新文档