




已阅读5页,还剩58页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
河南科技大学本科毕业设计(论文)基于ARM9单片机多功能数字电压表的设计 摘 要数字电压表是诸多数字化仪表的核心与基础,在日常维修、教学和科研中,电压表是不可缺少的。本文以ARM9-S3C2440单片机为基础设计出一种结构简单、工作可靠、灵活性好的多功能数字电压表。本文设计的数字电压表主要包括两部分:硬件电路的分析及软件程序的设计。基于单片机的数字电压表的硬件系统、软件系统的设计原理及具体实现方案作以详细介绍。其中,在软件部分,大致介绍了软件设计所使用的编程语言和编程思路,及运行期间出现的问题及解决方案。在硬件部分,详细分析了设计原理、使用方法和功能,同时,对各部分接口电路作大致介绍。该设计主要由四个模块组成:A/D转换模块,数据处理模块,显示模块及各驱动控制模块组成。设计过程中对单路的选择进行了扩展研究,提出了通过按键控制实现多路选择的新思路,使其具有更大的发展空间,可用性更大,更能满足实际生活的需要。本设计总体实现基于ARM9-S3C2440平台实现AD转换,并设计显示屏背景,在TFT LCD屏上显示电压值及AD转换的高测量精度的数字值,同时超出一定电压值时具有报警功能,并且能实现多路测量,可通过按键选择某路通道等多功能的数字电压表。 关键词:数字电压表,A/D转换,LCD屏,多路,键盘控制 THE DESIGN OF MULTI-FUNCTION DIGITAL VOLTMETE BASED ON ARM9 S3C2440 - SCM ABSTRACTDigital voltmeter is the core and foundation of many digital instrument,as the voltmeter is indispensable in daily maintenance, teaching and scientific research.In this paper, a kind of digital voltmeter which is of simple structure, reliable operation and good flexibility multi-function is introduced based on ARM9 S3C2440 - SCM. In this paper, the design of digital voltmeter mainly includes two parts: the analysis of the hardware circuits and design of software.This pasper introduces the hardware system, software system design principle and the concrete implementation plan of the Digital- voltmeter is based on single chip microcomputer in detail.In the software part, the programming language used to the software design,the programming ideas, the problems and solutions during the operation are instroduced simply.In the hardware part,the design principle and method of use and function are analyzed , and at the same time, the interface circuit of each part are introduced generally.This design is mainly composed of four modules: A/D conversion module, data processing module, display module and the drive control module. Extended research are carrid of single channel selection in design process, which put forward new ideas that realizing multiplex selection via button control, making it of larger development space, bigger usability,and more meet the needs of real life better. This design in this paper implements a multi-function digital voltmeter which realizes the AD conversion based on arm9 - S3C2440 platform overall, designs display background, displays voltage and numerical value of high measured precision of the AD conversion on the TFT LCD,which has the alarm function while beyond a certain voltage value at the same time, and it can achieve the multi-channel measurement so that a certain mesured channel can be choosed via buttons.KEY WORDS: Digital voltmeter, A/D conversion, LCD screen, Multiplex, The keyboard control 目录IV前言1第1章 引言3 1.1 数字电压表设计的两种方案简介3 1.1.1 由数字电路和芯片构成3 1.1.2 单片机系统及内置的A/D转换芯片构建3 1.2 数字电压表的特点5第2章 设计需求6 2.1 设计目的6 2.2 系统设计6 2.3 设计的功能要求7 2.4 应用软件简介8 2.4.1 Keil软件的使用8 2.4.2 取模软件使用8第3章 硬件电路设计分析11 3.1 单片机模块11 3.1.1 S3C2440单片机原理图11 3.1.2 芯片的选择与介绍12 3.2 ADC数模转换13 3.2.1 S3C2440ADC的主要特性13 3.2.2 ADC转换原理13 3.2.3 ADC相关寄存器15 3.2.4 ADC驱动程序的设计步骤16 3.3 显示模块17 3.3.1 S3C2440内部LCD控制器结构17 3.3.2 TFT LCD屏显示原理17 3.4 驱动模块20 3.4.1 点亮LED灯20 3.4.2 开闭蜂鸣器22 3.4.3 KEYBOARD按键驱动24第4章 软件设计26 4.1 软件设计总流程图26 4.2 A/D转换模块28 4.2.1 A/D转换流程图27 4.2.2 A/D接口设计28 4.3 显示模块29 4.3.1 显示模块流程图29 4.3.2 显示模块接口设计30 4.4 键盘输入模块34 4.4.1 键盘输入流程图34 4.4.2 键盘输入接口34 4.5 报警模块35 4.6 LED灯闪亮模块35 4.7 字符取模模块36第5章 电压表的调试及性能分析39 5.1 软件调试39 5.2 显示测试结果图39 5.2.1 正常状态下39 5.2.2 超压状态下40 5.3 误差分析及解决方案41 5.3.1 误差分析41 5.3.2 解决方案41结论42参考文献43致谢45V 前言数字电压表在生活中应用越来越广泛,是一种现代化的电压测量仪表,简称DVM,它采用的是数字化测量技术,把连续的电压值转变为不连续的数字量,加以数字处理然后再通过显示器件显示。众所周知,根据测量结果的显示方式及测量原理不同,电压测量仪器可分为两大类:模拟式电压表(AVM)和数字式电压表(DVM)。模拟电压表虽然精度较高,但广为使用的是数字电压表。一方面是由于电子计算机的应用逐渐推广到系统的自动控制实验研究的领域,提出了将各种被观察量或被控制量转换成数码的要求,即为了实时控制及数据处理的需要;另一方面,也是电子计算机的发展,带动了脉冲数字电路技术的进步,为数字化仪表的出现提供了条件。所以,数字化测仪表的产生与发展与电子计算机的发展是密切相关的;同时,为革新电子测量中的烦锁和陈旧方式也催促了它的飞速发展。在高速发展的当今社会,高速信号处理的需求越来越多,由于模拟电压表响应速度较慢已经不适用与高速信号领域,取而代之的将是数字电压表。但数字电压表由于存在采样误差,精度不是很高。不过目前可以通过技术手段来缩小误差。使其精度达到与模拟电压表一样精确甚至更高。可见将来数字电压表必将取代模拟电压表。现在有越来越多的数字测量仪器的出现但原理皆与数字电压表殊途同归,因此研究数字电压表有着很大现实意义。模拟电压表在显示测量值方面精度校准,但模拟电压表采用用指针式,里面是磁电或电磁式结构,多用磁电式电流表作为指示器,并在表盘上刻以电压刻度,所以其响应速度较慢,功能单一,精度低,读数的时候也非常不方便,很容易出错。电子电压表主要用于测量各种高、低频信号电压,它是电子测量中使用最广泛的仪器之一。其中,电压量的测量最为经常。采用单片机的数字电压表由于测量精度高,速度快,读数时也非常的方便,抗干扰能力强,可扩展性强等优点已被广泛的应用于电子及电工的测量,工业自动化仪表,自动测试系统等智能化测量领域,显示出强大的生命力。而且随着电子技术的发展,更是经常需要测量高精度的电压,由于数字式电压表首先将模拟量经模数(A/D)转换器变成数字量,然后用电子计数器计数,并以十进制数字显示被测电压值。数字式仪器具有读数准确方便、精度高、误差小、灵敏度高和分辨率高、测量速度快等特点而倍受用户青睐,数字式电压表就是基于这种需求而发展起来的,是一种必不可少的电子测量仪表。本课题实现电压数字化测量的方法是模-数(A/D)转换的方法。主要研究基于ARM9-S3C2440平台实现AD转换,并设计显示屏背景,在TFT LCD屏上显示电压值及AD转换的数字值,同时超出一定电压值时具有报警功能,如:LED灯点亮,蜂鸣器循环报警,屏幕上方出现红色警报图标(正常情况下是绿色)等,以便及时提醒用户。并且能实现多路测量,用户可通过按键选择某路测量等多功能的数字电压表。第1章 引言1.1 数字电压表设计的两种方案简介设计数字电压表有多种的设计方法,方案是多种多样的,由于大规模集成电路数字芯片的高速发展,各种数字芯片品种多样,导致对模拟数据的采集部分的不一致性,进而又使对数据的处理及显示的方式的多样性。又由于在现实的工作生活中,电压表的测量测程范围是比较大的,所以必须要对输入电压作分压处理,而各个数据处理芯片的处理电压范围不同,则各种方案的分段也不同。下面介绍两种数字电压表的设计方案。1.1.1 由数字电路和芯片构成这种设计方案是由模拟电路与数字电路两大部分组成,模拟部分包括输入放大器。A/D 转换器和基准电压源;数字部分包括计数器,译码器,逻辑控制器,振荡器和显示器。其中,A/D转换器是它的核心器件,它将输入的模拟量转换成数字量。模拟电路和数字电路是相互联系的,由逻辑控制电路产生控制信号,按规定的时序将A/D转换器中个组模拟开关接通或4附录断开,保证A/D转换正常进行。A/D转换结果通过计数译码电路变换成段码,最后驱动显示器显示出相应的数值。此方案设计其优点是,设计成本低,能够满足一般的电压测量。但设计不灵活,都是采用纯硬件电路,很难将其在原有的基础上进行扩展。1.1.2 单片机系统及内置的A/D转换芯片构建许多的应用电路这种方案是利用单片机系统与模数转换芯片,显示模块等的结合构建数字电压表。由于单片机的发展已经成熟,利用单片机系统的软硬件结合,可以组装出来。此方案的原理是arm9单片机内置的模数(A/D)转换芯片的基准电压端,被测量电压输入端分别输入基准电压和被测电压。模数(A/D)转换芯片将被测量电压输入端所采集到的模拟电压信号转换成相应的数字信号,然后通过对单片机系统进行软件编程,使单片机系统能按规定的时序来采集这些数字信号,通过一定的算法计算出被测量电压的值。最后单片机系统将计算好了的被测电压值按一定的时序送入显示电路模块加以显示。此方案不仅能够继承上一种方案的各种优点,还能改进上一种设计方案设计不灵活,难与在原基础上进行功能扩展等不足。 1. 单片机的简介 单片微型计算机简称单片机,是典型的嵌入式微控制器,常用英文字母的缩写MCU表示单片机,单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。它最早是被用在工业控制领域。由于单片机在工业控制领域的广泛应用,单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。 2. 单片机的应用领域目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械以及各种智能机械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域。1.2 数字电压表的特点 数字电压表(DVM )是将被测的电压模拟量自动转换成开关量,然后进行数字编码、译码,以数字形式显示出来的一种结构简单、工作可靠、灵活性好的电测仪表,它具有如下主要特点:1. 工作可靠,准确度高:可达到10-4数量级,高测量精度,数字显示,读数准确,可消除人为的读数误差。2. 灵敏度高:一般可做到10微伏至1微伏。3. 灵活性好:采用多路技术,可通过键盘进行通道用户切换,使用方便用途广。4. 测量速度快:采样速度一般每秒种为几十次到上万次,甚至可达百万次。5. 人性化设计:设计了人性化的背景,体现以人为本。第2章 设计需求2.1 设计目的通过制作简易的数字电压表,加深对所学专业知识的认识,提高分析,解决工程实际问题的能力,提高对单片机的应用能力,提高收集文献,资料的能力,从而达到综合运用所学的专业知识进行电子产品设计,制作与调试的能力。这个课题的目的和意义在于使自己掌握对数字电压表的理解,自己动手设计数字电压表,它可以广泛的应用于电压测量, DVM广泛应用于测量领域每期测量的准确度和可信度取决于它的主要性能和技术指标。所示我们要学习和掌握如何设计DVM就显得十分重要。2.2 系统设计本文设计的数字电压表主要包括两部分:硬件电路的分析及软件程序的编程。基于单片机的数字电压表的硬件系统、软件系统的设计原理及具体实现方案作以详细介绍。1 在硬件电路部分,大致介绍了数字电压表的设计原理、使用方法和功能。同时,对各部分接口电路作大致介绍。该设计主要由四个模块组成:A/D转换模块,数据处理模块,显示模块,键盘控制模块组成。2 在软件部分,较为详细的讨论了本设计软件所使用的编程语言和编程思路,及运行期间出现的问题及解决方案,扩展部分在现有功能的电压表基础上,发现新的更好的思路。软件的程序可采用C语言或汇编,这里主要采用C语言,详细的设计思路在后面介绍。3 总体上,设计过程中对单路的选择进行了扩展研究,提出了通过按键控制实现多路选择的新思路,使其具有更大的发展空间,可用性更大,更能满足实际生活的需要。4 详细如下图2-1系统框图所示。 图2-1 系统框图2.3 设计的功能要求本课题采用模-数(A/D)转换的方法实现电压数字化测量,设计的功能要求满足下述五点:1. 以ARM9-S3C2440单片机为核心器件,组成一个多功能的直流数字电压表,在该平台上实现了AD转换。2. 设计显示屏背景,在TFT LCD屏上显示电压值及AD转换的数字值,至少能过显示两位小数。3. 超出一定电压值时具有报警功能,如:LED灯点亮,蜂鸣器循环报警,屏幕上方出现红色警报图标(正常情况下是绿色)等,以便及时提醒用户。4. 实现多路模拟量输入,能过测量0-5V之间的直流电压值。5. 用户可通过按键选择某路测量等多功能的数字电压表。2.4 应用软件简介本课题中运用到多种软件,常用的有keil软件,J-LINK调试器软件,RGB颜色查询软件,字符取模软件,及图像取模软件等多款软件,要求熟练Keil,取模软件的使用。2.4.1 Keil软件的使用Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(Vision)将这些部份组合在一起。运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果使用C语言编程,那么Keil几乎就是的不二之选(目前在国内只能买到该软件、而买的仿真机也很可能只支持该软件),即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍.C51工具包的整体结构,其中Vision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及A51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。2.4.2 取模软件使用用LCD液晶屏、LED点阵以及LED摇摇棒显示汉字或图形的时候,需要用取模软件来完成将汉字或图形转化成一定规律的代码的这一复杂工作。由于不同的取模软件支持的取模规律和输出方式不同,导致每种取模软件都有一定的局限性。本课题采用了汉字取模软件和图像取模软件。 1. 取模软件的使用步骤 第一,设置取模规律(取模方式),需要根据具体的硬件软件而定,具体如说数据排列是从左往右还是从上到下,字节是否倒序等。第二,设置输出方式,比方是C语言还是汇编,生成数据的格式等。第三,设置字体、大小,设置图片大小等,输出代码。 2. 汉字取模软件简介汉字取模分为汉字和ASCII字符取模。其中汉字取模采用的是有16*16,或14*14,或12*12等大小。ASCII字符采用8*16的点阵方式对英文字母(A-Z)及数字(0-9)取模。如图2-2 汉字取模软件 图2-2 汉字取模软件 3. 图像取模软件简介本课题中图像取模采用的是16位真彩的输出灰度。选择高位在前,颜色位数为R:5bits,G:6bits,B:5bits的16位彩色,每两个字节构成一个像素点。 如图2-3图像取模软件 图2-3 图像取模软件 第3章 硬件电路设计分析 3.1 单片机模块3.1.1 S3C2440单片机原理图S3C2440A是三星公司的16/32位精简指令集(RISC)微处理器。三星公司的S3C2440A为手持设备和普通应用提供了低功耗和高性能的小型芯片微控制器的解决方案。S3C2440A基于ARM920T核心,0.13m的CMOS标准宏单元和存储器单元。低功耗,简单,精致,且全静态设计特别适合于对成本和功率敏感型的应用。它采用了新的总线架构如先进微控制总线构架(AMBA)。1. S3C2440芯片原理图(附件2)2. S3C2440单片机实物图S3C2440单片机实物图如图3-1所示 图3-1 S3C2440单片机 包括:串口线,JLINK,大排线,转接小板,小排线,USB转串口线,电源,开发板,JLINK连接线,网线等组成。3.1.2 芯片的选择与介绍 S3C2440A 特点是其处理器核心,是一个由AdvancedRISCMachines(ARM)公司设计的16/32位ARM920T的RISC处理器。ARM920T实现了MMU,AMBA总线和哈佛结构高速缓冲体系结构。这一结构具有独立的16KB指令高速缓存和16KB数据高速缓存。每个都是由具有8字长的行(line)组成。通过提供一套完整的通用系统外设,S3C2440A减少整体系统成本和无需配置额外的组件。综合对芯片的功能描述,S3C2440A集成的以下片上功能(部分): 1. A/D转换器和触屏接口(1) 8通道多路复用ADC(2) 最高500KSPS和10位分辨率(3) 内置FET给线性触屏接口 2. LCD控制器STNLCD显示特性(1) 支持3种类型STNLCD面板:4位双扫描,4位单扫描和8位单扫描显示类型 (2) 支持单色模式,4阶灰度,16阶灰度,256色和4096色的STNLCD(3) 支持多种屏幕尺寸 a. 实际屏幕尺寸典型值:640x480,320x240,160x160和其它 b. 最大帧缓冲区大小为4M字节 c. 256色模式下最大实际屏幕尺寸:40961024,20482048,1024 4096和其它 3. TFT(薄膜晶体管)彩色显示特性(1) 支持彩色TFT的1、2、4或8bpp(位/像素)调色显示(2) 支持彩色TFT的16,24bpp非调色真彩显示(3) 支持在24bpp模式下最大16M色的TFT(4) 内嵌LPC3600时序控制器,支持LTS350Q1-PD1/2(三星3.5吋竖屏 /256K色/反光型a-SiTFTLCD)(5) 内嵌LCC3600时序控制器,支持LTS350Q1-PE1/2(三星3.5吋竖屏256K色/半透型a-SiTFTLCD) (6) 支持多种屏幕尺寸 a. 实际屏幕尺寸典型值:640x480,320x240,160x160和其它 b. 最大帧冲区大小为4M字节 c. 64K色模式下最大实际屏幕尺寸:2048x1024和其它 4. 工作电压范围(1) 核心电压:300MHz下1.20V 400MHz下1.30V(2) 存储器电压:1.8V/2.5V/3.0V/3.3V(3) I/O口电压:3.3V3.2 ADC数模转换3.2.1 S3C2440ADC的主要特性 A/D转换,又称为模数转换,是将模拟信号转换为计算机能够处理的数字信号。S3C2440集成了8通道10位CMOS A/D转换器。S3C2440的CMOS模拟数字转换器ADC可以对8通道模拟输入信号进行循环检测,S3C2440的ADC和触摸屏公用一个ADC转换器。S3C2440 ADC的主要特性如下:1. 分辨率:10位2. 最大转换速率:500KSPS3. 微分线性度误差:1.0 LSB4. 积分线性度误差:2.0 LSB5. 供电电压:3.3V6. 模拟输入电压范围:0-3.3V3.2.2 ADC转换原理 ADC是一种将模拟信号转化为数字信号的方法,一般要经过采样、保持、量化、编码4个步骤。在实际电路中,有些过程是合并进行的,如采样和保持,量化和编码在转换过程中时同时实现的。由奈奎特采样定理可知,当采样频率大于模拟信号中最高频率的2倍时,采样值才能不失真地反映原来模拟信号。主要技术指标如下:1. 分辨率通常以输出二进制的位数表示分辨率的高低,一般位数越多,量化单位越小,对输入信号的分辨能力就越高。例如,输入模拟电压的变化范围为03.3V、分辨率为12位时,可以分辨的最小模拟电压为3.3V/2120.8mV;而分辨率为10位时,可以分辨的最小模拟电压为3.3V/2103.2mV。2. 转换误差它是指在零点和满度都校准以后,在整个转换范围内,分别测量各个数字量所对应的模拟输入电压实测范围与理论范围之间的偏差,取其中的最大偏差作为转换误差的指标。它通常以相对误差的形式出现,并以LSB为单位表示。3. 转换速度完成一次模数转换所需要的时间称为转换时间。在大多数情况下,转换速度是转换时间的倒数。ADC的转换速度主要取决于转换电路的类型,并联比较型ADC的转换速度最高,逐次逼近型ADC次之,双积分型ADC转换速度最低。ADC共有8路模拟输入,XP、XM、YP和YM是触摸屏使用的4路,剩下的4路模拟输入A3:0可以用于一般的ADC输入通道。 此外还需要注意ADC的输入时钟是如何产生的。对于S3C2440处理器,ADC输入时钟是由PCLK分频得到的,如下图3-2所示,其中ADC输入时钟不能超过PCLK/5 。 图3-2 ADC输入时钟一览A:模拟量 D:数字量 C:转换 n:位数模拟量输入电压(Vi),ADC参考电压(Vief),数字测量结果(B),ADC精度位数 (n)4者之间的关系如公示3-1所示 (3-1)A/D转换器是模拟信号和CPU之间联系的接口,它将连续变化的模拟信号转换为数字信号,以供计算机或数字系统进行分析、处理、存储、控制和显示。3.2.3 ADC相关寄存器1. 启动ADC两种方法 使用ADC只需要对相应的寄存器进行配置,然后启动ADC即可,启动ADC有两种方法:手动启动;读取完上一次转换结果后自动启动下一次ADC转换2. ADC是否转换完成的信息两种方法: 查询法:查询寄存器ADCCON的第15位(ADC转换结束标志位); 中断法:转换完成后,产生ADC中断信号,INT_ADC信号。3. ADC相关的寄存器主要有寄存器ADCCON和寄存器ADCDAT0。寄存器ADCCON主要用于ADC的启动方式、设置ADC转换时钟以及ADC转换结束标志位等。寄存器ADCDAT0中存放了ADC转换所得到的的数据,ADC转换结束后,可以通过读该寄存器的值来得到转换结果。 (1)ADC控制寄存器(ADCCON)该寄存器是一个可读/写的寄存器:地址为(0x58000000),复位后的初值为0x3FC4是ADC中最主要的设置寄存器,其决定了ADC的工作方式、转换速率、启动与否假设PCLK频率是50MHZ且ADCCON寄存器中预分频器的设置值是49时,转换得到10位数字量时共需要:A/D转换器频率50MHZ/(49+1)=1MHZA/D转换时间/(1MHZ)/5周期5usA/D转换器最大可以工作在2.5MHZ的时钟下,因此最大转换速率能达500KSPS (2)ADC触摸屏控制寄存器(ADCTSC) 该寄存器是一个可读写的寄存器,地址为0x58000004,复位后的初始值为0x58,主要用于设置ADC的触摸屏功能。在普通A/D转换时,AUTO_PST和XY_PST都置成0,其他各位与触摸屏有关在本设计中用不到,一般设置为全零即可. (3)ADC启动延时寄存器(ADCDLY) 该寄存器是一个可读/写的寄存器,地址为0x58000008,复位后的初始0x00FF (4)ADC转换数据寄存器(ADCDATn) S3C2440包含两个ADC转换数据寄存器:ADCDAT0和ADCDAT1在触摸屏应用中,分别使用ADCDAT0和ADCDAT1保存X位置和Y位置的转数据,普通的A/D转换,使用ADCDAT0来保存转换后的数据,通过读取该寄存器位9:0,可以获得转换后的数字量。ADCDAT1除了9:0为Y位置的转换数据值以外,其他与ADCDAT0类似。 (5)设置相关寄存器 a. 控制寄存器ADCCONADCCON 0:转换开始标志位 15:转换结束标志位(1转换结束)14:时钟分频使能位 13-6:分频值=PCLK(50M)/2.5M5-3:模拟输入通道选择 2:待机模式选择(0正常工作)1:读启动A/D转换(0禁止读启动) b. 数据寄存器 ADCDAT0 0-9:数字测量结果 c. 启动延时寄存器 ADCDLY 15-0:延时时间设置3.2.4 ADC驱动程序的设计步骤 1. 设置ADCCON寄存器,选择输入通道、设置A/D转换时钟。 2. 设置ADCCON寄存器的ADCCCON2即STDBM为普通模式即ADC模式而非触摸屏模式. 3. 设置ADCCCON寄存器的READ_START(读转换数据时启动下一次转换或ENABLE_START位启动A/D转换。4. 不断读ADCCON的ECFLAG位,判断转换是否结束(查询方式)。5. 读ADCDAT0得到转换结果,注意只有最低10位数据有效。3.3 显示模块3.3.1 S3C2440内部LCD控制器结构通过LCD控制器可产生LCD驱动器所需要的控制信号来控制STN/TFT屏。根据数据手册在S3C2440内部的LCD控制器:1. LCD控制器由REGBANK、LCDCDMA、TIMEGEN、VIDPRCS寄存器组成;2. REGBANK由17个可编程的寄存器组和一块256*16的调色板内存组成,它们用来配置LCD控制器的;3. LCDCDMA是一个专用的DMA,它能自动地把在侦内存中的视频数据传送到LCD驱动器,通过使用这个DMA通道,视频数据在不需要CPU的干预的情况下显示在LCD屏上;4. VIDPRCS接收来自LCDCDMA的数据,将数据转换为合适的数据格式,比如说4/8位单扫,4位双扫显示模式,然后通过数据端口VD23:0传送视频数据到LCD驱动器;5. TIMEGEN由可编程的逻辑组成,他生成LCD驱动器需要的控制信号,比如VSYNC、HSYNC、VCLK和LEND等等,而这些控制信号又与REGBANK寄存器组中的LCDCON1/2/3/4/5的配置密切相关,通过不同的配置,TIMEGEN就能产生这些信号的不同形态,从而支持不同的LCD驱动器(即不同的STN/TFT屏)。3.3.2 TFT LCD屏显示原理 1. TFT屏时序分析 所有显示器显示图像的原理都是从上到下,从左到右的。一副图像可以看做是一个矩形,由很多排列整齐的点一行一行组成,这些点称之为像素。那么这幅图在LCD上的显示原理就是:(1) 显示指针从矩形左上角的第一行第一个点开始,一个点一个点的在LCD上显示,在上面的时序图上用时间线表示就为VCLK,我们称之为像素时钟信号; (2) 当显示指针一直显示到矩形的右边就结束这一行,那么这一行的动作在上面的时序图中就称之为1 Line;(3) 接下来显示指针又回到矩形的左边从第二行开始显示,注意,显示指针在从第一行的右边回到第二行的左边是需要一定的时间的,我们称之为行切换;(4) 如此类推,显示指针就这样一行一行的显示至矩形的右下角才把一副图显示完成。因此,这一行一行的显示在时间线上看,就是时序图上的HSYNC;(5) 然而LCD的显示并不是对一副图像快速的显示一下,为了持续和稳定的在LCD上显示,就需要切换到另一幅图上(另一幅图可以和上一副图一样或者不一样,目的只是为了将图像持续的显示在LCD上)。那么这一副一副的图像就称之为帧,在时序图上就表示为1 Frame,因此从时序图上可以看出1 Line只是1 Frame中的一行;(6) 同样的,在帧与帧切换之间也是需要一定的时间的,我们称之为帧切换,那么LCD整个显示的过程在时间线上看,就可表示为时序图上的VSYNC。时序图上各时钟延时参数的含义如下: a. VBPD(vertical back porch):表示在一帧图像开始时,垂直同步信号以后的无效的行数,对应驱动中的upper_margin; b. VFBD(vertical front porch):表示在一帧图像结束后,垂直同步信号以前的无效的行数,对应驱动中的lower_margin; c. VSPW(vertical sync pulse width):表示垂直同步脉冲的宽度,用行数计算,对应驱动中的vsync_len; d. HBPD(horizontal back porch):表示从水平同步信号开始到一行的有效数据开始之间的VCLK的个数,对应驱动中的left_margin e. HFPD(horizontal front porth):表示一行的有效数据结束到下一个水平同步信号开始之间的VCLK的个数,对应驱动中的right_margin; f. HSPW(horizontal sync pulse width):表示水平同步信号的宽度,用VCLK计算,对应驱动中的hsync_len。 2. LCD提供的外部接口信号:(1) VSYNC/VFRAME/STV:垂直同步信号(TFT)/帧同步信号(STN)/SEC TFT信号;(2) HSYNC/VLINE/CPV:水平同步信号(TFT)/行同步脉冲信号(STN)/SEC TFT信号;VCLK/LCD_HCLK:象素时钟信号(TFT/STN)/SEC TFT信号;(3) VD23:0:LCD像素数据输出端口(TFT/STN/SEC TFT); (4) VDEN/VM/TP:数据使能信号(TFT)/LCD驱动交流偏置信号(STN)/SEC TFT 信号; (5) LEND/STH:行结束信号(TFT)/SEC TFT信号; (6) LCD_LPCOE:SEC TFT OE信号; (7) LCD_LPCREV:SEC TFT REV信号; (8) LCD_LPCREVB:SEC TFT REVB信号。 3. 帧缓冲(FrameBuffer)帧缓冲是Linux为显示设备提供的一个接口,它把一些显示设备描述成一个缓冲区,允许应用程序通过 FrameBuffer定义好的接口访问这些图形设备,从而不用去关心具体的硬件细节。对于帧缓冲设备而言,只要在显示缓冲区与显示点对应的区域写入颜色值,对应的颜色就会自动的在屏幕上显示。 4. 相应寄存器对于以上这些参数的值将分别保存到REGBANK寄存器组中的LCDCON1/2/3/4/5寄存器中(对寄存器的操作查看S3c2440数据手册LCD部分):(1) 控制寄存器1LCDCON1管脚 17_8位: 象素时钟分频值CLKVAL;6_5位:扫描模式(对于STN屏:4位单/双扫、8位单扫);4_1位:色位模式(1BPP、8BPP、16BPP等);7位 :=0 ; HCLK:CPU内部时钟,启动代码设为100MHZ。(2) 控制寄存器2LCDCON2管脚 31_24位: 设置场后VBPD;23_14位: 行数LINEVAL;13_6位: 场前 VFPD; 5_0位: 场宽VSPW。(3) 控制寄存器3LCDCON3管脚 25_19位: HBPD; 18_8位: HOZVAL; 7_0位: HFPD。 (4) 控制寄存器4LCDCON4管脚 7_0位:HSPW。(5) 控制寄存器5LCDCON5设置设置时钟极性,字节交换,某些信号线是否使能(背光控制)。(6) 帧缓冲地址寄存器1管脚 29_21位:显存地址的30_22位;20_0位:显存地址的 21_1位;(7) 帧缓冲地址寄存器2管脚 20_0位:显存结束地址的21_1位。(8) 帧缓冲地址寄存器3管脚21_11位:OFFSIZE=0 当显存大于LCD屏时,每无效的字节数/2;10_0位:有效宽度的字节数/2。3.4 驱动模块3.4.1 点亮LED灯1. LED灯原理图如下所示: 图3-3 LED灯点亮原理图由图3-3可知:2. EINT4/5/6/7 如果是低电平,那么电路导通,LED将会被点亮,其中R48-R51为分压电阻,起到保护二极管的作用;3. EINT4/5/6/7 连接的IO口是:GPF4/5/6/7,同时作为外部中断触发引脚。从芯片手册,得知需要设置GPFCON, GPFDAT,GPFUP 表3-1 端口F控制寄存器地址寄存器地址 R/W 描述 复位值GPFCON0x56000050 R/W配置端口F的引脚 0x0GPFDAT0x56000054 R/W端口F的数据寄存器 GPFUP0x56000058 R/W端口F的上拉使能寄存器0x00端口F控制寄存器所示,如果GPF0至GPF7在掉电模式中用于唤醒信号,端口将被设置为中断模式。GPFCON:配置端口F的引脚;GPFDAT:端口F的数据寄存器;GPFUP:端口F的上拉使能寄存器。 表3-2 GPFCON控制寄存器位GPFCON 位 描述 初始状态GPF715:1400=输入 01=输出 10=EINT7 11 =保留0GPF613:1200=输入 01=输出 10=EINT6 11 =保留0GPF511:10 00=输入 01=输出 10=EINT5 11 =保留0GPF49:800=输入 01=输出 10=EINT4 11 =保留0GPF37:600=输入 01=输出 10=EINT3 11 =保留0GPF25:400=输入 01=输出 10=EINT2 11=保留0GPF13:200=输入 01=输出 10=EINT1 11=保留0GPF01:000=输入 01=输出 10= EINT0 11=保留0可知:00输入 01输出 11保留 GPFUP7:0 0:使能附加上拉功能到相应端口引脚1:禁止附加上拉功能到相应端口引脚。GPFDAT7:0 当端口配置为输入端口时,相应位为引脚状态。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安全文明施工培训文库课件
- 安全文明培训记录课件
- 农业温室建设项目2025:技术创新与产业发展分析报告
- 猫咪除虫知识培训课件
- 猫咪谢描画课件
- 安全教育线上公益培训课件
- 猎头顾问培训课件
- 农业无人机租赁市场2025年行业竞争态势与市场格局分析
- 电子监控工程安装方案(3篇)
- 安全教育微培训课件
- 2025光纤购销合同(高速通信光纤)
- 北京同仁堂中药特色药材介绍 - 首都医科大学陈敏课件
- 初中年级家委会分工及工作职责
- 企业会计准则实施典型案例
- 院感惩罚管理制度
- 江苏省泵站技术管理办法
- 进口铁矿石的报关流程
- 新苏教版一年级数学上册第一单元《练习一》教案
- 冀教版英语五年级上册单词表
- 医院感染在眼科医疗中的预防与控制
- 2025华电(海西)新能源限公司面向华电系统内外公开招聘高频重点提升(共500题)附带答案详解
评论
0/150
提交评论