基于USB的嵌入式LCD图文显示系统的设计
扫描二维码
随时随地手机看文章
1 引言
随着科技的飞速发展,电脑的日益普及,人类文明踏入数字化时代的不断成功,数字化已经渗透到人类社会的各个角落。而显示器是人与机器沟通的重要界面,早期以显像管显示器为主,但随着科技不断进步,各种显示技术不断涌现。液晶显示器件作为一种成熟的平板显示器件,它独具的低压、微功耗特性使之可以直接与大规模集成电路结合而开发出一系列具有显示功能的产品。这些产品不仅改变了人类生活甚至改变了整个社会。可以说,有信息的地方就离不开显示,凡是需要显示的地方就有液晶的用武之地,因此对 LCD显示技术的研究和学习具有很高的实际应用意义。
2 系统工作原理及总体设计
2.1系统工作原理
本系统将应用单片机技术开发一种便捷的LCD图文显示设备,采用上/下位机设计方式,通过 USB通讯方式实现信息传输。具体工作原理是:上位机( PC机)首先安装驱动程序和 PC应用软件,然后将下位机系统安装到主机机箱上,将 USB插头插入主机(或在机箱内接入),经主机正确识别后,运行 PC应用软件生成要显示的点阵数据,通过 USB接口将数据向下传输, LCD图文显示设备通过单片机控制与主机进行数据通讯,将要显示的点阵数据存储到下位机存储单元中,在取得要显示的数据之后,下位机系统便可实现显示,比如系统时间、CPU占用率、内存占用率等等。如果不是安装到机箱上,该系统还可作为便携设备,用来显示一些其他的信息,比如上次关机时间、 CPU占用率、内存占用率或者作为便携记事本等。
2.2 系统总体设计
LCD图文显示系统的系统结构如图 1所示。单片机 AT89C52是整个 LCD显示系统的控制核心,主要完成以下的控制功能:配合 PC机控制 USB通信电路完成硬件检测、列举、连接及数据的双向传输;控制 LCD显示电路完成 PC机数据的显示;控制存储电路完成数据的存取等。
3 硬件电路设计
基于 USB总线的 LCD图文显示系统的硬件电路结构主要包括以下几个部分:USB通信电路部分、LCD显示部分、存储管理部分。模块的功能都是在以 AT89S52为核心的硬件平台上实现的。
3.1 USB接口电路设计
CH372是一个 USB 总线的通用设备接口芯片,是 CH371的升级产品,是CH375芯片的功能简化版。CH372内置了USB 通讯中的底层协议,具有省事的内置固件模式和灵活的外置固件模式。在内置固件模式下,CH372自动处理默认端点0的所有事务,本地端单片机只要负责数据交换,所以单片机程序非常简洁。在外置固件模式下,由外部单片机根据需要自行处理各种USB 请求,从而可以实现符合各种 USB 类规范的设备。
图 2是单片机与 CH372的连接简图, CH372的 D0~D7是专用于与单片机连接的并行口,接到单片机的 P0口;片选端接地,始终处于选通状态; RD和 WR分别接到单片机的对应端,INT#是中断申请端,接到单片机 INT0上。在本地端,CH372芯片以内置的固件程序自动处理了 USB通讯中的基本事务,A0引脚与 P3.7相接,当 A0引脚为高电平时选择命令端口,可以写入命令;当 A0引脚为低电平时选择数据端口,可以读写数据。
3.2 存储模块设计
系统利用三片 24LC64 来作为扩展的存储器模块,每片容量为 8KB,共 24KB。它们通过 I2C方式与此平台的微处理器 AT89S52相连。芯片引脚 A0,A1, A2用来作为片选,它们直接连接逻辑“0”或者逻辑“ 1"。定义:A2A1A0=000时选中第一片, A2A1A0=001和 010时分别选中第二片和第三片。每片 24LC64均需要 13位地址(A0-A12 )。但在微处理器发出具体字地址之前首先要发出控制字节。控制字节的组成为: 1010+ "A2AlA0" +R/W位。控制字节用来确定具体是对哪一个存储芯片进行读或者写操作。被选中的存储器芯片向微处理器发送确认信号,微处理器确认后将发送具体的 13位地址,A0-A12作为低 13位地址用来进行片内地址的确定。如此,程序中设定的第一片 24LC64的起止地址即为:0000F-1FFF,第二片 24LC64的起止地址为 2000F-3FFF,第三片 24LC64的起止地址为 4000F-5FFF。这样编址可以使得本是独立的三片存储器统一起来,且地址依次递增。
3.4 电源部分设计
本系统的电源部分使用 LM7805芯片进行稳压后提供单片机 5V的电压。其电源部分电路的设计如图 4所示。该电源部分电路,使用四个 1N4004二极管构成整流桥,可以输入直流或是交流 9V电源,然后再通过 7805稳定到 5V供单片机工作。固定式三端稳压电源 7805是由输出脚 Vo,输入脚 Vi和接地脚 GND组成,它的稳压值为 +5V,它属于 LM78XX系列的稳压器,输入端接电容可以进一步的滤波,输出端也要接电容可以改善负载的瞬间影响,电路的稳定性也比较好。
4 软件设计
软件部分由三个部分组成:单片机系统运行程序、主机 PC上的 USB设备驱动程序和主机上的客户应用程序。单片机系统运行程序按功能可以划分为 USB通信程序、单片机对扩展存储器访问程序和 LCD显示程序,其中 USB通信程序的功能是实现 USB设备枚举和数据传输;设备驱动程序是连接设备和主机应用程序的纽带,它向上提供应用程序的访问接口(API),向下则实现对具体设备的访问和管理功能,在 USB体系的中间起到信息转换和传递的中介作用。本系统采用 Driverworks开发WDM型USB设备驱动程序;应用程序是以 .NET为平台进行开发的,主要功能是在设备驱动程序中查找设备,与设备交换数据,并将设备发送来的数据进行处理和显示。
PC软件在开始时,先进行控件及窗体的初始化,然后可以录入数据(汉字、英文字母、数字或时间),选择字体及字号,并对所加载数据通过点阵生成算法生成下位机数据。然后进行数据传输,如果 PC软件找到设备即可与之进行通信(首先主机能发现硬件设备并正常驱动),否则跳出 USB传输模块并返回。在下位机固件程序中,在设备接入主机后,首先对下位机进行系统初始化,然后进行 USB连接,被主机识别并能正常驱动,进入正常使用状态,等待数据传输。如果有 PC数据传输,则调用通讯模块接收数据,并将数据存入下位机存储器,然后调用读数据模块与显示模块进行显示;否则直接执行读数据模块并调用显示模块进行显示(显示上次存储的数据)。系统软件的流程图如图 5所示。
5 总结
本文的创新点是将 USB串行总线和液晶显示技术引入到图文显示系统中,使系统具有使用简单、即插即用、热插拔、开放性、高速、稳定、可靠性高和低功耗、体积小、质量轻、使用简单等优点;其次,通过扩展存储芯片,使系统还能够实现信息存储功能,从而作为便携器,用作信息的阅读工具。