智能电法仪的设备驱动程序的设计与实现 测控技术与仪器毕业论文.doc

上传人:小小飞 文档编号:3934957 上传时间:2019-10-10 格式:DOC 页数:105 大小:1.65MB
返回 下载 相关 举报
智能电法仪的设备驱动程序的设计与实现 测控技术与仪器毕业论文.doc_第1页
第1页 / 共105页
智能电法仪的设备驱动程序的设计与实现 测控技术与仪器毕业论文.doc_第2页
第2页 / 共105页
智能电法仪的设备驱动程序的设计与实现 测控技术与仪器毕业论文.doc_第3页
第3页 / 共105页
智能电法仪的设备驱动程序的设计与实现 测控技术与仪器毕业论文.doc_第4页
第4页 / 共105页
智能电法仪的设备驱动程序的设计与实现 测控技术与仪器毕业论文.doc_第5页
第5页 / 共105页
点击查看更多>>
资源描述

《智能电法仪的设备驱动程序的设计与实现 测控技术与仪器毕业论文.doc》由会员分享,可在线阅读,更多相关《智能电法仪的设备驱动程序的设计与实现 测控技术与仪器毕业论文.doc(105页珍藏版)》请在三一文库上搜索。

1、毕 业 设 计 ( 论 文 )题 目:智能电法仪的设备驱动程序的设计与实现TITLE: The Design and Implementation of the Intelligent Electrical Apparatus Device Drivers姓 名: 陈石明学 号: 08022101指导教师: 黎正根专 业: 测控技术与仪器二 零 一 二 年 六 月摘 要外部设备可以大大的增加仪器的功能,使仪器更加的智能,更加的完善。典型的外部设备,如显示屏、键盘、打印机等,对于仪器是非常重要的。因此,设计设备驱动程序,使主机与外部设备正常的通信也是非常重要的工作。本文主要设计了智能电法仪的设备

2、驱动程序。主要包括显示屏的驱动程序、USB口的驱动程序和极化补偿中D/A模块的驱动程序。运用这些驱动程序,可以使智能电法仪与人之间的通讯更加的方便。本文设计的设备驱动程序,都是以ARM7单片机为主机。显示屏的驱动程序是通过ARM7单片机控制T6963C芯片,使显示屏显示。USB口的设备驱动程序设计了两种方法,分别是以ISP1161芯片为基础的驱动程序和以CH376芯片基础的驱动程序,使电法仪测得的数据能够正确的存盘。D/A模块的驱动程序是以TLC5620C芯片为基础的驱动程序,使D/A模块可以输出正确的模拟电压。设计中利用C/OS-操作系统优化设备驱动程序的设计,使设计的程序更加的科学。程序设

3、计中都是以模块化的设计方法,把整个驱动程序模块化,使程序的设计更加的简单。经测试,所设计的智能电法仪的设备驱动满足设计要求,外部设备与主机的通讯正常。关键词:智能电法仪; 设备驱动; 显示屏;USB;D/AABSTRACTExternal divice can greatly increase the function of the apparatus and be more intelligent and more perfect. The typical external devices, such as screen, keyboard, printer,are very importa

4、nt to the device. Therefore, the design of the device driver, which makes communication between host and external device more accurate,is also very important work.This paper mainly designed the device drivers of intelligent electric apparatus. Mainly include display driver, the driver of USB port an

5、d the driver of D/A module in polarization compensation. The drivers can make the communication between intelligent electric apparatus and people more convenient.The design of device drivers in this paper are based on ARM7 single chip. Display driver makes the screen shows through the ARM7 MCU (micr

6、o controller unit) control T6963C chip.There are two methods to design the USB port device driver,respectively based on ISP1161 chip and CH376 chip. D/A module driver is based on TLC5620C chip, which makes the D/A module output the proper analog voltage. The use of C/OS-operating system make the dev

7、ice driver more scientific. The modular design method makes the program more simple and pellucid. By test, the design of the intelligent electric apparatus device driver meet the design requirements and the communication between external device and host is perfect.Key words:Intelligent Electrical Ap

8、paratus; Device Driver; Display Screens; USB; D/A目 录绪论11.1课题研究目的和意义11.2电法仪的研究进展及现状11.3主要研究内容及论文结构21.4课题来源22设备驱动程序概述32.1Windows的设备驱动程序概述32.2Linux 的设备驱动程序概述32.3C/OS-的设备驱动程序概述42.4LPC2210的IO模块与EMC42.4.1LPC2210概述42.4.2IO模块介绍42.4.3EMC模块介绍53LCD显示屏的驱动程序的设计113.1T6963C控制器介绍113.1.1概述113.1.2特性113.1.3封装123.1.4引脚

9、描述123.1.5接口时序133.1.6指令说明143.2LCD模块与ARM7的连接143.3LCD的驱动程序154基于ISP1161的USB的驱动程序的设计174.1ISP1161芯片介绍174.1.1概述174.1.2特性174.1.3封装184.1.4引脚描述194.2ISP1161 PAKE板与ARM7的连接224.3USB驱动程序设计235基于CH376的USB的驱动程序的设计255.1CH376芯片介绍255.1.1概述255.1.2特点255.1.3封装265.1.4引脚描述275.1.5命令285.1.6CH376与单片机通讯接口305.1.7并行接口315.2CH376 评估

10、板与ARM7的连接325.2.1CH376 评估板概述325.2.2连接图345.3USB的驱动程序356D/A的驱动程序的设计376.1TLC5620C芯片介绍376.1.1概述376.1.2特性376.1.3封装376.1.4引脚描述386.2D/A的硬件电路386.3D/A的驱动程序396.4测试数据39结论41致 谢42参考文献43附录144附录245附录360附录465附录568II东华理工学院毕业设计(论文)绪论绪论1.1 课题研究目的和意义随着后 PC时代的到来 ,各种嵌入式系统发展迅速。对于嵌入式电子产品来说 ,嵌入式操作系统是它的灵魂。操作系统不但使嵌入式产品获得了更加复杂、

11、 更加人性化的功能 ,还方便了应用程序的开发。C/OS- 是适用于嵌入式系统的实时操作系统。自从 1992年发布以来 ,在世界各地获得了广泛应用。该系统目前已经被移植到 40多种不同结构的 CPU上 ,运行在从 8位到 64位的各种系统上。该系统自从2 . 51版本之后 ,就通过了美国 FAA认证 ,可以运行在诸如航天器等对安全性要求极为苛刻的系统上。纵观目前的各种嵌入式电子产品 ,外部设备是不可或缺的组成部分。外部设备必须有配套的驱动程序才能正常工作,由于嵌入式设备的种类繁多特点决定了不同的嵌入式产品在开发时都必须设计自己的设备驱动程序,使得设备驱动程序的开发在整个嵌入式系统开发工作中占有举

12、足轻重的地位。因此,对嵌入式 C/OS-设备驱动的研究是一个很好的课题,具有重要的社会和商业价值。驱动程序的开发,对智能电法仪的设计与实现也有很重要的意义。1.2 电法仪的研究进展及现状 早期的电法仪器是简单的机械式电压表和电流表。50年代,有了由电子管和晶 体管组成的电法仪器,数据的是以机械指针的方式读取,手工记录的方式保存。到了 60年代,虽然集成电路已经应用到了电法仪器中,但在数据的读取和存储方面没有实质的突破。这无疑增大了数据的误差,同时数据的保存与处理也存在很大的难度。进入70年代,电子技术的快速发展,集成电路得到广泛应用,数据的读取形式 变成了数字式,这样就比指针式的数据读取方式有

13、了更高分辨率。80年代,电法仪器技术进入快速发展时期,这一时期,仪器更加智能化和多功能化,这主要得益于微控制器、模数(A/D)和数模(D/A)转换技术的应用。90年代以后,电子技术 和计算机技术的快速发展,使得数据处理软件与基于嵌入式系统的新电法仪器的直接数据交换成为可能,这必然大大提高电法勘探的工作效率和野外数据的可靠性。 如今国内生产的电法仪器,比较多的有高密度电法仪、时间域与频率域激电仪和瞬变电磁仪。国外主要的电法仪器公司也相继推出新一代电法仪器,主要有高密 度电法仪、电磁法仪、多功能电法仪和通用发送机。目前,国内外的电法仪器正朝 着多通道、多分量、高精度、大功率、多参数、数据处理、图形

14、绘制自动化、资料解释智能化的方向发展。1.3 主要研究内容及论文结构主要研究内容是在ARM7内核芯片LPC2210的基础上,利用C/OS-II嵌入式实时 操作系统,设计与实现智能电法仪的设备驱动程序。全文共分七章,具体内容组织如下:第1章 :绪论。概述了课题的研究目的和意义,电法仪的研究现状,及本文主要研究的工作。第2章 :设备驱动程序的概述.。介绍了Windows,Linux,C/OS-的设备驱动程序。及设计驱动程序所需要的LPC2210的IO模块与EMC模块。第3章 :LCD显示屏的驱动程序的设计。介绍了T6963C控制器及LCM模块与ARM7的连接,实现了LCD的驱动程序。第4章 :基于

15、ISP1161的USB的驱动程序的设计。介绍了ISP1161芯片及ISP1161模块与ARM7的连接,实现了基于ISP1161的USB的驱动程序。第5章 :基于CH376的USB的驱动程序的设计。介绍了CH376的芯片及CH376开发板与ARM7的连接,实现了基于CH376的USB的驱动程序。第6章 :D/A的驱动程序的设计。介绍了TLC5620芯片及D/A的硬件电路,实现了D/A的驱动程序,并且用测试数据证明了驱动程序的正确性。第7章 :结论。总结了设计与实现过程中遇到的难题及克服的办法。并且提出了进一步改进的办法。1.4 课题来源本课题依附于东华理工大学核技术学院测控教研室“智能电法仪的研

16、发”项目。1东华理工学院毕业设计(论文)设备驱动程序概述2 设备驱动程序概述2.1 Windows的设备驱动程序概述在Windows 98操作系统上驱动程序叫作虚拟设备驱动,简称 vxd,执行程序的后缀名是 vxd。在 Windows 2000及以后的 Windows XP等系统下,驱动程序采用了WDM (Windows Driver Model)模式,该模式是由 WindowsNT的驱动模式改进而来。Windows下的程序有用户态和内核态两种运行模式,驱动程序属于操作系统的一部分,运行在内核态,可以访问系统的全部资源。用户态的程序只能访问属于自己的内存空间,不能直接访问 I O端口,也不能直

17、接处理硬件中断,应用程序都是运行在用户态。其优点很明显,减少了应用程序对底层程序和硬件设备的干预,也就降低了破坏系统的风险。通俗地讲,大多数情况下,即使应用程序出错,操作系统也可以继续正常运行。和 Unix一样, Windows系统中的设备在操作系统中被抽象成一个文件。设备的相关操作被操作系统和驱动程序封装起来,以统一形式的接口提供给应用程序。在驱动程序中,DriverEntry作为整个函数的入口,相当于应用程序的 main函数或者 WinMain。编译完成之后,需要分发两个文件: .sys和. inf。其中sys是动态链接库,即执行文件; inf是安装指导文件。对于应用程序来说,操作系统的文

18、件系统提供了统一的程序接口,主要包括:CreateFile、Read、Write、Device IoControl、CloseHandle,与操作系统和驱动程序通信。2.2 Linux 的设备驱动程序概述在Linux操作系统上,设备驱动程序是应用程序和实际设备之间的一个软件层,它向下负责和硬件设备的交互,向上通过一个通用的接口挂接到文件系统上,从而使用户或应用程序可以按操纵普通文件的方式进行访问控制硬件设备。作为 Linux 内核的重要组成部分,设备驱动程序主要完成以下的功能:1) 对设备初始化和释放。2) 把数据从内核传送到硬件和从硬件读取数据。3) 读取应用程序传送给设备文件的数据和回送应

19、用程序请求的数据。4) 检测错误和处理中断。Linux 内核有三种类型的设备驱动程序:字符设备驱动程序、块设备驱动程序和网络设备驱动程序。字符设备是以字节为单位逐个进行 I/O 操作的设备,在对字符设备发出读写请求时,实际的硬件 I/O 紧接着就发生了,一般来说字符设备中的缓存是可有可无的,而且也不支持随机访问。块设备主要是针对磁盘等慢速设备设计的,其目的是避免耗费过多的 CPU 时间来等待操作的完成。它利用一块系统内存作为缓冲区,当用户进程对设备进行读写请求时,驱动程序先查看缓冲区中的内容,如果缓冲区中的数据能满足用户的要求就返回相应的数据,否则就调用相应的请求函数来进行实际的 I/O 操作

20、。网络设备是一个能够和其他主机交换数据的设备,它通常是个物理设备,但也可能是个软件设备,如回环设备(loopback)。网络驱动程序负责驱动设备发送和接收数据包。除了设备类型以外,内核还使用了一个主设备号和一个次设备号来唯一标识设备,主设备号标识了设备对应的驱动程序,而次设备号仅由驱动程序解释,一般用于识别在若干可能的硬件设备中,I/O 请求所涉及到的那个设备。2.3 C/OS-的设备驱动程序概述C/OS-是一个小型化的实时操作系统内核 ,适合小型控制系统。它具有执行效率高、占用空间小、实时性能优良和可扩展性强等特点,最小内核可编译至2 kB。它允许应用程序直接访问硬件资源而不必使用专用的 A

21、PI函数集。因此 ,在C /OS2- 系统平台上可以开发出更加灵活、 更加高效的程序。在 C/OS-一类的微内核操作系统中,设备驱动一般都是由应用程序在内核外部实现的。不过,由于不分系统空间和用户空间,这些设备驱动程序仍在系统态执行。从系统结构的角度看, 设备驱动的实现可以有两种方式。一种是把特定设备的驱动做成一个服务进程,需要访问该设备的进程,通过进程间通信机制向服务进程发出请求,由服务进程独家代理完成对设备的操作。另一种是把对设备的操作做成一组函数调用,以库函数的形式向各个进程提供设备驱动。从设备驱动的实现方式看也有两种。一种是轮询,另一种是中断。本设计是基于C/OS-系统在ARM7平台上

22、设计设备的驱动程序。2.4 LPC2210的IO模块与EMC2.4.1 LPC2210概述LPC2210是基于一个支持实时仿真和嵌入式跟踪的16/32位ARM7TDMI-STM CPU的微控制器。对代码规模有严格控制的应用可使用16位Thumb模式将代码规模降低超过30%,而性能的损失却很小。由于LPC2210的144脚封装、极低的功耗、多个32位定时器、8路10位ADC、PWM输出以及多达9个外部中断使它们特别适用于工业控制、医疗系统、访问控制和POS机。通过配置总线,LPC2210最多可提供76个GPIO。由于内置了宽范围的串行通信接口,它们也非常适合于通信网关、协议转换器、嵌入式软mod

23、ern以及其它各种类型的应用。2.4.2 IO模块介绍1) 管脚描述表2-1 GPIO管脚描述管脚名称类型描述P0.0 - P0.31P1.16 -P1.31输入/输出通用I/O口 实际可用的GPIO数量取决于可选功能的使用。P3.0 - P3.31P2.0 - P2.31输入/输出外部总线数据/地址线,与GPIO、数字和模拟功能共用。用于GPIO/数字和模拟功能的管脚数目取决于总线结构的选择。2) 寄存器描述LPC2210有2个32位的通用I/O口。PORT0使用了30个管脚,PORT1有多达16个管脚可用作GPIO功能。PORT0和PORT1由2组(4)个寄存器控制。除PORT0和PORT

24、1外,LPC2210还包含另外两个端口PORT2和PORT3。通过配置,这两个端口可用作外部存储器数据的地址和数据总线或GPIO(与少数数字和模拟功能共用)。a. GPIO 管脚值寄存器(IO0PIN-0xE0028000,IO1PIN0xE0028010,IO2PIN-0xE0028020,IO3PIN0xE0028030)该寄存器提供GPIO管脚的值。它反映了外部环境对管脚的影响。表2-2 GPIO 管脚值寄存器IOPIN描述复位值31:0GPIO管脚值。IO0PIN的位0对应于P0.0.位31对应于P0.31未定义b. GPIO 输出置位寄存器(IO0SET - 0xE0028004 I

25、O1SET - 0xE0028014,IO2SET - 0xE0028024 IO3SET - 0xE0028034)当管脚配置为GPIO输出模式时,可使用该寄存器从管脚输出高电平。写入1使对应管脚输出高电平。写入0无效。如果一个管脚被配置为输入或第二功能,写IOSET无效。读IOSET寄存器返回 GPIO 输出寄存器中的值。该值由前一次对 IOSET 和 IOCLR(或前面提到的IOPIN)的写操作决定,该值不反映任何外部环境对管脚的影响。表2-3 GPIO 输出置位寄存器IOPIN描述复位值31:0GPIO管脚值。IO0PIN的位0对应于P0.0.位31对应于P0.31未定义c. GPIO

26、 输出清零寄存器(IO0CLR-0xE002800C IO1CLR0xE002801C IO2CLR-0xE002802C IO3CLR-0xE002803C)当管脚配置为 GPIO 输出模式时,可使用该寄存器从管脚输出低电平。写入1使对应管脚输出低电平。并清零IOSET 寄存器中相应的位。写入0无效。如果一个管脚被配置为输入或第二功能,写IOCLR无效。表2-4 GPIO 输出清零寄存器IOCLR描述复位值31:0输出清零。IO0CLR的位0对应于P0.0.位31对应于P0.310d. GPIO 方向寄存器(IO0DIR - 0xE0028008 IO1DIR 0xE0028018 IO2D

27、IR 0xE0028028 IO3DIR 0xE0028038)当管脚配置为GPIO模式时,可使用该寄存器控制管脚的方向。任意管脚的方向位的设置必须与管脚功能一致。表2-5 GPIO 方向寄存器IODIR描述复位值31:0方向控制位(0=输入,1=输出)IO0DIR的位0控制P0.0.位31控制P0.31。02.4.3 EMC模块介绍外部静态存储器控制器是一个AMBA AHB从机模块。它为AMBA AHB系统总线和外部(片外)存储器器件提供了一个接口。该模块可同时支持多达4个单独配置的存储器组。每个存储器组都支持SRAM、ROM、Flash EPROM、Burst ROM存储器或一些外部I/O

28、器件。每个存储器组的总线宽度为8、16或32位。LPC2210 144 脚封装的管脚地址输出线是 A23:0,其中地址位 A25:24用于 4 个存储器组的译码。4个存储器组的有效区域位于外部存储器的起始部分,但在 BOOT1:0的状态控制下,Bank 0可用于初始引导。表2-6 外部存储器组的地址范围Bank地址范围配置寄存器08000 000-80FF FFFFBCFG018100 0000-81FF FFFFBCFG128200 0000-82FF FFFFBCFG238300 0000-83FF FFFFBCFG31) 管脚描述表2-7 外部存储器控制器管脚描述管脚名称类型管脚描述D3

29、1:0输入输出外部储存器数据线A23:0输出外部储存器地址线OE输出输出使能信号,低电平有效BLS3:0输出字节定位选择信号,低电平有效WE输出写使能信号,低电平有效CS3:0输出芯片选择信号,低电平有效2) 寄存器描述外部存储器控制器包含4个寄存器,如表2-8所示。表2-8 外部存储器控制器寄存器名称描述访问复位值地址BCFG0存储器组0的配置寄存器读写0x0000 FBEF0xFFE00000BCFG1存储器组1的配置寄存器读写0x2000 FBEF0xFFE00004BCFG2存储器组2的配置寄存器读写0x1000 FBEF0xFFE00008BCFG3存储器组3的配置寄存器读写0x00

30、00 FBEF0xFFE0000C每个寄存器必须为对应的存储器组选择以下选项:a. 一个存储器组内部的读写访问之间以及访问一个存储器组和访问另一个存储器组之间需要间隔的空闲时钟周期个数(117)个时钟以避免器件间总线的相互争用b. 读访问长度,但对Burst ROM的连续读访问除外(335个时钟)c. 写访问长度(319个时钟)d. 存储器组是否写保护e. 存储器组的总线宽度:8、16或32位3) 存储器组配置寄存器0-3(BCFG0-30xFFE00000-0C)表2-9 存储器组配置寄存器BCFG0-3名称功能复位值3:0IDCY该域控制着一个存储器组内部的读写访问之间以及访问一个存储器组

31、和访问另一个存储器组之间EMC需要给定的空闲CCLK周期最小数目以避免器件间总线的相互争用空闲CCLK周期数为该域的值加1。11114保留保留用户软件不应向其写入1从保留位读出的值未被定义NA9:5WST1该域控制着读访问的长度对Burst ROM的连续读访问除外读访问的长度以CCLK周期来计量其值是该域的值加3。1111110RBLE当存储器组由字节宽度或未按字节区分的器件组成时该位为0这时在读访问时EMC将BLS3:0输出拉高当存储器组由含有字节选择输入的16位和32位宽器件组成时该位为1这时在读访问时EMC将BLS3:0输出拉低。015:11WST2对于SRAM区,该域控制着写访问的长度

32、。对于 Burst ROM 区,该域控制着连续访问的长度。1111116:23保留保留,用户软件不应向其写入1。从保留位读出的值未被定义。NA24BUSERR如果EMC检测到一个大于32位数据访问的AMBA请求时该位被置位。这也是惟一一种可知的该位被置位的情况。ARM7TDMI-S 不会出现这样的请求。025WPERR如果试图对一个 WP 位为 1 的存储器组进行软件写入操作时该位置位。通过写入1将该位清零。026WP该位为1时, 表明存储器组写保护。027BM该位为1时,表明这是一个Burst ROM区。029:28MW该域控制着存储器组数据总线的宽度:00=8位,01=16位,10=32位

33、,11=保留。1031:30AT该域通常写入00004) 外部存储器接口外部存储器接口取决于存储器组的宽度(32、16或8位,由BCFG寄存器的MW位选择)而且,存储器芯片的选择也需要对BCFG寄存器的RBLE位进行适当的设置。RBLE=0时,选择8位的外部存储器;RBLE=1时,存储器芯片必须能够接收16或32位的数据。如果存储器组配置成32位宽,地址线A0和A1就可用作非地址线。如果存储器组配置成16位宽,则不需要 A0;8位宽的存储器组只需要使用A0。通过管脚功能选择寄存器2(PINSEL2寄存器)的位23和24来对A1和/或A0线来进行配置,从而实现A0/A1的地址或非地址功能。下面各

34、图中的符号“a_b”表示数据总线的最高位地址线,符号“a_m”表示使用外部存储器接口的存储器芯片的最高位地址线。图2-1 32位存储器组的外部存储器接口图2-2 16位存储器组的外部存储器接口 图2-38位存储器组的外部存储器接口5) 典型总线时序下图所示为典型的外部存储器读/写访问时序。XCLK是从P3.23输入的时钟信号。当P3.23脚的信号不被外部存储器用作时钟信号时,在典型的外部存储器读/写访问中,它还可用作时间基准(XCLK和PCLK必须设定成相同的频率)。图2-4和图2-5所示是典型的外部存储器读/写访问时序。因而,在某些特殊情况下会有所变化。同样,在对SRAM的几次连续写访问时序

35、中,最后一次写访问的时序与图2-5给出的相同。但另一方面,前导写周期的数据有效时间会长1个周期。单个的写访问时序也将与图2-5的其中一个相同。图2-4 外部存储器读访问(WST1=0和WST1=1两种情况)图2-5 外部存储器写访问(WST2=0和WST2=1两种情况)6) 外部存储器选择根据EMC操作的描述和常用的外部存储器(合适的读和写访问时间tAA 和tWRITE),可构造出下表并用于外部存储器的选择。tCYC 表示单个XCLK周期(见图2-4和2-5)。fmax 表示选用了外部存储器的系统能得到的最大PCLK频率。表10 外部存储器和系统的性能指标访问时序最大频率WST设置(WST=0

36、;取整数)所需的存储器访问时间标准读标准写 10东华理工学院毕业设计(论文)LCD显示屏的驱动程序的设计3 LCD显示屏的驱动程序的设计3.1 T6963C控制器介绍3.1.1 概述内置T6963C控制器型图形液晶模块的驱动和控制系统是由T6963控制器及其周边电路的、行驱动器组、列驱动器组及偏压电路组成。从模块的外接口考察模块的电路特性,实际上就是T6963C 的电路特性。T6963C 最大的特点是具有独特的硬件初始值设置功能,显示驱动所需的参数如占空比、驱动传输的字节数/行及字符的字体都有引脚电平设置数。初始化在上电时已基本完成。 其原理图如图3-1所示。图3-1 T6963C的原理图3.

37、1.2 特性1) 功能特性a. Intel8080 系列微处理器接口 b. 68和 88字体可选 c. 图形方式、文本方式以及图形与文本混合显示,文本方式下的特征显示图形拷贝功能 d. 内置字符发生器 CGROM,含 128个字符。模块上带 32K显示缓冲区。2) 电气特性a. 逻辑工作电压(Vcc): 4.55.5V b. 电源地(GND): 0V c. 输入电压: 0Vcc d. 输入高电平(Vih): Vcc-2.2VVcc e. 输入低电平(Vil): 00.8V f. 输出高电平(Voh): Vcc-0.3Vcc g. 输出低电平(Vol): 00.3V h. 工作频率: 0.45.

38、5MHz3.1.3 封装T6963C的芯片有67个引脚,其封装如图3-2所示。图3-2 T6963C的封装图3.1.4 引脚描述T6963C的引脚功能描述如表3-1所述:表3-1 T3963C的引脚描述名称型态电平功能描述FG铁框地GND电源地VCC输入电源输入(+5V)V0输入LCD驱动电压输入端(对比度调节)/WR输入H/L写信号/RD输入H/L读信号/CE输入H/L片选信号C/D输入H/L寄存器选择端 H:命令寄存器;L:数据寄存器/RST输入H/L复位信号DB0 DB7输入/输出H/L数据总线FS输入H/L字体选择端 H:68字体; L:88 字体Vout输入负压输出端BLA输入背光正

39、极BLK背光负极3.1.5 接口时序1) 工作时序图T6963C的工作时序如图3-3所示:图3-3 T6963C工作时序2) 时序参数表(Vdd=5.0V10,Vss=0V Ta= -10-70)T6963C的工作时序参数如表3-2所示:表3-2 T6963C的时序参数表项目符号最小值最大值单位 C/D建立时间 Tcds100nSC/D保持时间Tcdh10nSCE,/RD,/WR脉冲宽度Tce,Trd,Twr 80nS数据建立时间Tds80nS数据保持时间Tdh40nS取数时间Tacc150nS输出保持时间Toh1050nS3.1.6 指令说明T6963C的指令说明如表3-3所示:表3-3 T

40、6963C 指令列表指令名称 控制状态指令代码参数C/D /RD/WRD7D6D5D4D3D2D1D0读状态字 101S7S6S5S4S3S2S1S0无地址指针设置 11000100N2N1N02显示区域设置110010000N1N02显示方式设置1101000CGN2N1N0无显示状态设置1101001N3N2N1N0无光标形状设置 11011000N2N1N0无数据自动读写设置110101100N1N2无数据一次读写设置11011000N2N1N01屏读(一字节)设置 11011100000无屏拷贝(一行)设置11011101000无位操作1101111N3N2N1N0无数据写操作010数

41、据无数据读操作 001数据无3.2 LCD模块与ARM7的连接MG240128液晶模块内带的液晶控制器为T6963C,此芯片的Vin最小值为VDD-2.2V,当VDD为5V时,Vin最小值为2.8V,所以LPC2210连接不需要加电平转换芯片。由于模块工作电源是5V而LPC2210的I/O电压为3.3V,所以在总线上串联470的保护电阻。图形液晶模块的C/D与A1连接,使用A1控制模块处理数据/命令。LPC2210采用8位总线方式连接MG240128图形液晶模块,该模块没有地址总线,显示地址和显示数据均通过DB0DB7接口实现。如图3-4所示,可调电阻W3用来调整液晶显示对比度。MG24012

42、8液晶模块内装有LED背光,使用5V电源供电,显示字符或图形时LED背光可以点亮或熄灭。图3-4 LCD模块的接口电路3.3 LCD的驱动程序对于LCD的驱动程序,其主要任务是完成LCD模块与LPC2210微控制器的通信。使LPC2210微控制器可以控制LCD屏的显示。编写LCD黑白屏的驱动程序,首先,需要初始化LPC2210微控制器的EMC模块,需要在Startup.s文件中,用运汇编语言,设置好EMC模块相应的寄存器,从而使总线速度符合通讯要求。然后,编写LCD驱动的子函数。LCD应具有以下函数:判断读写指令和读写数据是否允许函数LCD_TestStaBit01();数据自动写状态是否允许

43、函数LCD_TestStaBit3();写无参数命令子程序 LCD_WriteTCommand1();写单参数命令子程序LCD_WriteTCommand2();写双参数命令子程序LCD_WriteTCommand3();写1字节数据子程序LCD_WriteTData1();LCM初始化函数LCD_Initialize();LCD填充(以图形方式进行填充,起始地址为0x0000)函数LCD_FillAll();在指定位置上画点(刷新某一点)函数LCD_UpdatePoint()。完成了以上基本函数的编写,就可以进行LCD的初始化,初始化的主要任务是完成工作模式的初始化和清屏。初始化流程图如图3

44、-5所示。图3-5 LCD初始化流程图LCD的驱动程序是以文件的形式,存于智能电法仪的软件文件中,具体的驱动程序见附录1。完成了LCD的初始化后,可以在智能电法仪上使用了,具体的运用见本组成员郑以磊的毕业论文中。16东华理工学院毕业设计(论文)基于ISP1161的USB的驱动程序的设计4 基于ISP1161的USB的驱动程序的设计4.1 ISP1161芯片介绍4.1.1 概述ISP1161A1 是一个单片通用串行总线(USB)主机控制器(HC)和设备控制器(DC) 。ISP1161A1 的主机控制器部分符合通用串行总线2.0规范, 支持全速 (12Mbit/s) 和低速 (1.5Mbit/s) 的数据传输。 ISP1161A1的设备控制器部分也符合通用串行总线 2.0 规范,支持全速(12Mbit/s)的数据传输。这两个 USB 控

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1