基于嵌入式的GPRS远程控制的大屏幕LED显示系统的研究(精)

时间:2019-05-12 22:49:21下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《基于嵌入式的GPRS远程控制的大屏幕LED显示系统的研究(精)》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《基于嵌入式的GPRS远程控制的大屏幕LED显示系统的研究(精)》。

第一篇:基于嵌入式的GPRS远程控制的大屏幕LED显示系统的研究(精)

武汉工业学院 硕士学位论文

基于嵌入式的GPRS远程控制的大屏幕LED显示系统的研究 姓名:葛洲 申请学位级别:硕士 专业:机械设计及理论 指导教师:秦实宏 20080601 摘 要

近年来, LED 显示屏作为一种高科技产品广泛应用于诸多领域,日益引起 人们的重视。尽管目前 LED 显示屏的应用范围越来越广, 但是在应用中也存在 着诸多不便之处。例如 LED 显示屏需要现场编程更新数据等。本文研究讨论了 一种基于 GPRS 无线通信的低成本 LED 文字显示屏的控制系统, 并研究了一种 无线远程控制的大屏幕显示系统的软硬件方案。

文章首先介绍了 LED 显示屏的工作原理,提出了本显示系统的结构组成, 然后具体阐述系统的硬件和软件设计过程;介绍了 GPRS 技术,并分析了其在 无线远程控制大屏幕显示屏上的应用;接着又分析了嵌入式 CPU ARM的用于 显示系统的技术情况。这个 32位的 RISC 处理器,负责接收上位机发送的指令 集并解析指令集、产生字模数据和提供显存相关的操作, 并与 FPGA 通信;FPGA 则用于 LED 显示屏的扫描驱动电路设计, 重点介绍了其内部的功能模块;最后 简要的介绍了绘制 PCB 板时的原则。本文方案实现了大屏幕字符信息的动态显 示,是一种具有实际应用价值的远程可控的 LED 大屏幕显示系统。

关键词 :大屏幕, LED ,嵌入式, ARM , FPGA , GPRS ,远程控制

ABSTRACT As a high technology production, LED(Light Emitting Diodedisplay screen attracts more and more people in recent years.With the LED display screen widely used in many fields, there exposed some new problems in the application: for example, it is necessary to program in field to control a LED display screen, etc.In this paper, a method is proposed which can control the low cost LED display screen remotely without in field.The control system had been give one based on GPRS, a wireless communication mode, and an integrated and feasible solution of hardware design.Firstly , the paper introduces the operating Principle of LED display screen and Puts forward originally structure composition.Secondly, the paper explains the hardware and software design process of LED display system.ARM is 32 bits RISC processor.It is responsible for receiving instruction and analyzing it, supporting the operation about display memory, and communicating with FPGA.FPGA is responsible for scanning and driving circuit of LED display.Finally, some keys of drawing PCB are given.The display system realizes the dynamic display of letters and pictures.In word, it is remote control LED screen display system which is worthy of real application.Key words: Lattice Display, LED, Embedded, ARM, FPGA, GPRS, Remote 论文独创性声明

本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进行研 究工作所取得的成果,除文中已经注明引用的内容外,本论文不含任何其他个 人或集体已经发表或撰写过的研究成果,也不包含为获得 武汉工业学院 或其 它教育机构的学位或证书而使用过的材料。对本文的研究做出重要贡献的个人 或集体均已在文中作了明确的说明并表示谢意。本人完全意识到本声明的法律 责任和法律后果由本人承担。

论文作者签名:

签字日期: 年 月 日 论文版权使用授权书

本学位论文作者完全了解 武汉工业学院 有关保留、使用学位论文的规 定,特授权 武汉工业学院 可以将学位论文的全部或部分内容编入有关数据库 进行检索,并采用影印、缩印或其他复制手段保存、汇编,以供查阅和借阅。同意学校向国家有关部门或机构送交论文的复本和电子文件。

(保密的学位论文在解密后适用本授权说明 论文作者签名: 导师签名: 签字日期: 年 月 日 签字日期: 年 月 日 第 1章 绪论 第一章 绪论

1.1 LED显示技术的发展历程简述

随着我国的 LED 显示屏行业近几年非常迅速的发展, 显示屏的技术方面也 取得了很大的进步,但长久以来显示屏在接口方面不够丰富,以串行技术接口 为主,缺少一种低成本多态接口,甚至是远程控制方式的接口。为解决这个问 题,经过技术方案的论证,本文提出了以下的这种基于 ARM 嵌入式核心的、多种接口复合、以远程 GPRS 全功能控制为主的大屏幕 LED 显示屏。

LED 显示屏是利用发光二极管点阵模块或像素单元组成的平面式显示屏 幕。它是多种技术综合应用的产品,涉及光电子学、半导体器件、数字电子电 路、大规模集成电路、单片机及微机等各个方面,既有硬件又有软件。LED 显 示屏是作为广播、电视、报纸、杂志之后的又一新传播媒体。由于它具有发光 效率高、使用寿命长、组态灵活、色彩丰富以及对室内外环境适应能力强等优 点,自 20世纪 80年代后期开始,随着 LED 制造技术的不断完善,在国外得到 了广泛的应用。在我国改

革开放之后,特别是进入 90年代国民经济高速增长, 对公众场合发布信息的需求日益强烈, LED 显示屏的出现正好适应了这一市场 形势,因而在 LED 显示屏的设计制造技术与应用水平上都得到了迅速的提高。LED 显示屏经历了从单色、双色图文显示屏,到图像显示屏,一直到今天的全 彩色视频显示屏的发展过程。目前 LED 显示屏根据使用场所不同,可以分为室 外屏和室内屏两种,其主要区别是发光管的发光亮度不同。而根据所显示的内 容不同也可以分为图像屏和文字屏两种,图像屏可以显示图象以及多媒体,而 文字屏则主要显示文字,也可以显示简单的固定图像。显示图像的多媒体室外 屏是投资巨大(高达数百万 的大型高档设备,主要应用在大型公共场所、形象 工程和一些重要场所。LED 显示屏的应用涉及到社会经济的许多领域 [2],已经 遍及交通、证券、电信、广告、宣传等各个方面。

早期研制出的 LED 只能发红色的光, 其超的功耗性能, 使其广泛应用于电 子设备中的指示灯。如今的 LED 各种光束,包括在同一个灯管中加进复合

LED 有很多突出的优点:低功耗、寿命长,还有低生产成本和维护成本。其外 其应用比较灵活,可以做成各式各样的轻薄产品。由于光谱中没有紫外线和红 外线,也没有辐射,属于典型的绿色照明光源。

在扫描场频方面:高端的 LED 显示系统已经实现了 120Hz 的扫描频率, 甚至更高到 180Hz 至 400Hz。越高的场频将带来越小的闪烁同时得到越好图像 质量。

在 LED 控制方面,我们只需要对 LED 的一极的电流整定就可以得到丰富 多彩的变化效果。作为城市的夜景照明, LED 显示技术已经得到了广泛的运用。同时,在制造工艺不断提升的基础上, LED 的体积和寿命等性能也能进一步满 足各种场合的需求。

高性能处理器和 FPGA 得到了广泛的应用。LED 显示技术也更加的灵活和 丰富。高性能的 ARM 处理器应用于显示,可轻松地完成各种显示特效。这在 以前使用单片机的时代实现起来并不那么容易的。

显而易见, 随着信息化社会逐渐深入, LED 显示屏的应用前景将更为广阔, 适合于广域控制、全功能控制要求的大屏幕 LED 显示屏预计将会有良好的应 用。它可为信息服务领域提供更加丰富灵活的显示设备, 提供在例如公共交通、多点控制显示等的综合服务。

1.2 LED显示系统的国内外发展现况

在高亮度大屏幕视频显示技术方面, JumboTron 系统被公认为是世界的领 先者 [3]。JumboTron 的技术特点在于采用了独特的图像控制器, 确保了图像的高 清晰度。目前,全世界有 23个国家在使用 JumboTron 超大屏幕电子显示屏,总 使用面积已超过 14000平方米。我国 LED 显示屏的发展可以说基本上与世界水平同步,国内的 LED 显示屏发展经历了三个阶段:

1、1990年以前 LED 显示屏的成长形成时期

一方面,受 LED 材料器件的限制, LED 显示屏的应用领域没有广泛展开。另一方面,显示屏控制技术基本上是通信控制方式,客观上影响了显示效果。

这一时期的 LED 显示屏在国外应用较广,国内没有广泛使用。

2、1990~1995年, LED 显示屏迅速发展的时期

进入 90年代后, LED 显示屏的设计制造技术与应用水平上都得到了迅速 的提高。LED 显示屏经历了从单色、双色图文显示屏,到图像显示屏,一直到 全彩色视频显示屏的发展过程。无论在器件的性能(超高亮度及蓝色发光灯等 和系统的组成(计算机化的全动态显示系统 等方面都取得了长足的进步。

3、1995年以来, LED 显示屏应用领域更为广阔 [4]近年在全彩色 LED 显示屏、高清晰度视频控制技术、多级群控技术等方面 均有国内先进、达到国际水平的技术和产品出现。其中,南京洛普股份有限公 司、北京利亚德股份有限公司等,是专业从事大型公众信息显示屏的企业,产 品己批量出口,在本行业中获有较高的知名度 [5]。

目前 LED 电子显示屏的显示向更高亮度、更高耐气候性、更高的发光均匀 性、更高的可靠性、全色化、多媒体方向发展,系统的运行,操作与维护也向 集成化、网络化、智能化方向发展。二十一世纪的显示技术将是平板显示的时 代, LED 显示屏作为平板显示的主导产品之一将有更大的发展。

1、高亮度、全彩化

蓝色及绿色超高亮度 LED 产品出现以来,成本逐年快速降低,使 LED 全 彩色显示屏产品成本下降,推广速度加快。同时,随着控制技术的发展和 LED 显示屏体稳定性的提高,使全彩色 LED 显示屏的亮度、色彩、白平衡均达到比 较理想的效果,完全可以满足户外全天候的环境条件要求,而且图像更清晰、更细腻、更亮丽。

2、标准化、规范化

材料、技术的成熟及市场价格基本均衡之后, LED 显示屏的标准化和规范 化将成为 LED 显示屏发展的一个趋势。近几年业内的发展中,几番价格回落调 整达到基本均衡后,产品质量、系统的可靠性等将成为主要的竞争因素,这就 对 LED 显示屏的标准化和规范化有了较高的要求。行业规范和标准体系的形成, ISO9000系列标准的应用,使 LED 显示屏行业的发展趋于有序 [5]。

3、产品结构多样化

随着信息化社会的形成,信息领域愈加广泛, LED 显示屏的应用前景更为 广阔。预计大型或超大型 LED 显示屏为主流产品的局面将会发生改变, 适合于 服务行业特点和专业性要求的小型 LED 显示屏会有较大提高;面向信息服务领 域的 LED 显示屏产品门类和品种体系将更加丰富;部分潜在市场需求和应用领 域将会有所突破,如公共交通、停车场、餐饮、医院等综合服务方面的信息显 示屏需求量将有更大的提高;大批量、小型化的标准系统 LED 显示屏在 LED 显示屏市场总量中将会占有多数份额。

1.3本文主要研究的内容

毫无疑问, LED 显示屏的应用数量会越来越多,而管理和维护这些显的信 息将会是一项难题。急需一种能多点控制和可移动控制的显示控制技术出现。本文讨论的技术就是一种克服了以下困难的显示控制方案 [6]。

1、信息管理的问题

显示屏的内容需要即时适时地更新。如果显示屏跟管理的距离比较远或者 是在公共交通这种实时移动的显示设备上,内容更新显然不能通过常规的,用 下载设备下载到显示屏中。这时就需要一种可靠的更新方式。本文讨论的 GPRS 方式就是一种低成本的传送方式。显示屏更新的过程只需要在内容提供的服务 器端发出控制指令,显示终端就可以依照指令灵活地更改。

这样不仅能降低管理成本,还能大大地提高 LED 显示系统的工作效率,2、多点同时发布信息的问题

当显示屏需要在不同地点做出相同显示内容的时候,本文讨论的这种无线 信息传输方案就可以完成传统的下载方式不可能同时完成的多点同步数据更新 的功能。比如在一个体育场里,四周有显示比分的若干个显示屏。这时在免布 线的情况下,就可以实现低成本的数据同步更新。甚至在不同的城市,也可以 同步实时的显示服务器发出的相同的显示内容。

这样就大大拓展了 LED 显示系统的应用地域限制,也提高和系统的利用 率。

3、设备维护的问题

可以通过嵌入式控制系统实现设备的简单智能诊断,从而在服务器端就可 以知道 LED 显示系统出了什么样的问题, 要求维修人员检修。避免了传统显示 系统,有了故障不会报警,还需要维护人员定期去查看的问题,实现了简单功 能的无人执守显示系统设备。

因此,针对以上缺憾,本文提出了一种无线远程控制的大屏幕显示系统的 软硬件方案。文章首先介绍了 LED 显示屏的工作原理, 提出了本显示系统的结 构组成,然

后具体阐述系统的硬件和软件设计过程。介绍了 GPRS 技术,并分 析了其在无线远程控制大屏幕显示屏上的应用。接着又分析了嵌入式 CPU ARM的用于显示系统的技术情况。这个 32位的 RISC 处理器,负责接收上位机发送 的指令集并解析指令集、产生字模数据和提供显存相关的操作,并与 FPGA 通 信。FPGA 则用于 LED 显示屏的扫描驱动电路设计,重点介绍了其内部的功能 模块。最后简要的介绍了绘制 PCB 板时的原则。本文方案实现了文字和图形的 动态显示,是一种具有实际应用价值的远程可控的 LED 大屏幕显示系统。

第二章 LED显示系统相关技术与方案的分析 第二章 LED显示系统相关技术与方案的分析 2.1 LED显示的原理及其分析 2.1.1 LED发光二极管的原理简介

LED(Light-Emitting Diode是发光二极管的英文缩写。罗塞夫在 1923年就发现了半导体 SiC 中偶然形成的 P-N 结中的光发射,但利用半导体的 P-N 结电致发光原理制成的发光二极管只是到了 60年代后期才得以迅速发展。近年 来,由于半导体的制作和加工工艺逐步成熟和完善,发光二极管已日益在固体 显示中占主导地位 , 并且大有替代传统发光设备的趋势。

发光二极管的核心部分是由 P 型半导体和 N 型半导体组成的晶片, 在 p 型 半导体和 n 型半导体之间有一个过渡层, 称为 P-N 结。在某些半导体材料的 PN 结中,注入的少数载流子与多数载流子复合时会把多余的能量以光的形式释放 出来,从而把电能直接转换为光能。PN 结加反向电压,少数载流子难以注入, 故不发光。这种利用注入式电流发光原理制作的二极管叫发光二极管,通称 LED。当它处于正向工作状态时(即两端加上正向电压 ,电流从 LED 阳极流 向阴极时,半导体晶体就发出从紫外到红外不同颜色的光线,光的强弱与电流 有。

描述 LED 的特性有许多参数,这些参数之间的关系呈现非线性。因此,用 特性曲线来描述这些关系,在工程应用中更具有使用价值。比如光强特性:发 光强度与正向电流的关系和正向伏安特性。如图 2-1和图 2-2所示。

武汉工业学院硕士学位论文

图 2-1 LED二极管光强与正向电流值关系的示意图 Fig.2-1 the Relation of Intensity and Current about LED Diode

图 2-2 LED二极管的伏安特性示意图

Fig.2-2 the Relation of Voltage and Current about LED Diode 现今的 LED 发光元件通常被封装成显示模块,只需要对 LED 模块的控制 脚发电平信号即可对显示状态进行控制。2.1.2 本课题显示方式的分析

我们的方案要求显示屏具有高动态性能, 在实时更新的显示数据的前提下, 提供一套实时显示的系统。这就要求系统中必须要有高速数据处理电路,以防 止在扫描过程中丢失数据。所以本方案中 LED 大屏幕显示的高速数据模块采用 主控处理器与缓冲处理器相结合方案。FPGA 的驱动能力比主控的 ARM 芯片要 大,在 I/O点方面也更加丰富,可以实现对行列信号并行控制。

同时,在扫描方式下,可以实现两帧图像的双缓冲技术。在一帧图像扫描 的同时,即在 FPGA 里缓冲下一帧的信息。

2.2扫描显示驱动的原理及其分析

LED 显示模块是指通过行列排列组成显示屏幕。LED 可以有多种的产品 形式, 常见的七段管形式或米子形可显示英文字母的形式。单管也是一种形式, 甚至还可以按照用户的要求订做特定形。本文讨论的是一种汉字和图形常见的 点阵式的 LED 显示模块。它的屏幕是由大量的 LED 单管组成阵列形式,如我 们常见的电视机的显像管一样的, 以行列扫描的方式显示图像。当一屏 LED 点 阵扫描完毕即完成了一帧的图像的显示。

点阵屏的刷新显示原理也有几种不同的方式:

1、锁存型

锁存型指显示屏上每一个 LED 模块都由一个对应的锁存器驱动, 即行列扫 描驱动器不 需要 实时 地挨 个对 LED 扫 描 ,每一个 LED 的 亮 度 占 空 比 均 为 100%。这样做能够有效地保证 LED 显示屏的亮度。同时也减少了刷屏对 LED 管的电流冲击,提高了 LED 管的寿命。但这种方案的动态显示性能不高。原因 就在于送显的信号都要经过锁存器 I/O读写。在动画显示方面,刷新率就难以 保证很高,影响了显示屏的亮度和响应速度。但在大型的户外更新率不高的广 告显示屏上,锁存型系统也有较广泛的应用。

2、扫描型

扫描型 LED 显示屏是指显示屏上一行或者若干行共用一个行驱动器, 控制 器在列上实时地对 LED 管进行显示扫描。在这种系统中, 屏幕信息的刷新是靠 驱动寄存器时分工作实现的。只要屏幕的刷新频率在 50Hz 以上,人眼就不会 感到闪烁。因为驱动寄存器的时分工作, 使每一个 LED 的亮度占空比没有锁存 型显示屏的高, 所以导致 LED 亮度降低。为了提高显示屏亮度往往使 LED 在 超额电流状态

下工作。扫描型驱动电路设计比较简单、成本低,较多应用于响 应速度要求较高的动态显示屏上。

图 2-3 扫描型驱动时间与电流的关系示意图

Fig.2-3 the Relation of Time and Current about Scanning LED Drivers 2.3 基于 GPRS 无线通讯的显示系统简介与分析

通常将移动通信被划分为三个阶段。第一个阶段是模拟组网的无线网络, 第二个阶段是全数字组网的无线网络,技术方案包括 GSM(Global System for Mobile Communication和 CDMA(Code Division Multiple Access等, 第三个阶段 则在第二代全数字网络成熟后,提出的分组型的移动业务,称为 3G。GPRS 是 通用无线分组业务的缩写(General Packet Radio System,是介于第二阶段和第 三阶段之间的一种技术,通常称为 2.5G ,通过现有的 GSM 网络升级实现。传统第二代的 GSM 网络最高的数据传送速率仅为 9.6kbit/S,这远远不能满 足用户对数字语音和图像无线数据业务的需求。GPRS 是欧洲电信协会 GSM 系 统中有关分组数据所规定的标准。GPRS 是构建在传统 GSM 网络之上的一种标

准化的分组交换数据业务 [7],它可以提供高达 115kbit/s速率的分组数据业务, 从而使得包括图片、话音和视频的多媒体业务在无线网络中的传输成为现实。GPRS 使若干移动用户能够同时共享一个无线信道, 一个移动用户也可以使用多 个无线信道。在实际不发送或不接收数据的时,用户仅占用很小一部分网络资 源。

GPRS 采用分组交换技术在通信的过程中不需要建立和保持电路, 并且建立 一个新连接的时间很短。GPRS 根据用户使用的实际数据流量计费, 而不是通常 以连接时间计算的方式。这样就允许用户始终在线,而不增加额外的成本。GPRS 是 GSMPhase2.1规范实现的内容之一。GPRS 采用与 GSM 相同的频段、频带宽度、突发结构、无线调制标准、跳频规则以及相同的 TDMA 帧结构。因 此, GPRS 系统是在 GSM 系统的基础上构建的, GSM 系统中的绝大部分硬件都 没有作改动,只作了软件升级。为了实现 GPRS ,需要在现有的 GSM 网络中引 入三种新的逻辑网络实体 [25]:

1、GPRS 服务支持结点(SGSN, Serving GPRS Supporting Node;

2、GPRS 网关支持结点(GGSN, Gateway GPRS Supporting Node;

3、分组控制单元(PCU, Packet Control Unit。

SGSN 提供 GPRS 网络与外部分组数据网络之间的交互操作。在基站子系 统中, PCU 负责管理分组分段和规划、无线信道、传输错误检测和自动重发、信道编码方案、质量控制、功率控制等。

2.3.1 GPRS应用于显示系统的优势 GPRS 技术具体如下的几点特点:

1、GPRS 可以实现基于数据流量、业务类型及服务质量等级的计费功能。计费方式非常适宜需要长期在线的显示控制系统。

2、GPRS 网络接入速度快,提供了与现有数据网的无缝连接。避免了用户 由于使用无线数据功能而重新组网的费用,而且基于 GSM 网络的 GPRS 服务 是覆盖全国的商用移动网络, 这样就为我们的系统提供了相当广域的控制范围。与常见两种联网方式传输率比较如表 2-1所示。

带宽

信号延迟

表 2-1 常见的入网方式通信性质的比较

Tab.2-1 the Comparing of Characteristic about Common Connecting Modes to Internet

3、GPRS 的核心网络层采用 IP 技术,底层款可使用多种传输技术,很方 便地实现与高速发展的 IP 网无缝连接。

4、GPRS 支持偶尔的大量数据的传输, 而且具有防断流的能力, 能在 0.5~ 1秒之内恢复数据的重新传输。

5、GPRS 采用分组交换技术,同时能满足高速或低速数据和控制指令,优 化了对网络资源和无线资源的利用。

基于这些优点,特点是在对 LED 显示系统的应用中, GPRS 的低廉的成本 和优越的性能都是非常显著的,无需组网、计费方式适宜长期在线、同时支持 高速数据传输和低速的信令传输等。这都是我们的方案选用 GPRS 的理由。

2.3.2基于 GPRS 的 LED 显示系统的网络结构

GPRS 的 INTERNET 网络的模型, 也与通常意义的七层参考模型是一一对应 的 [26]。最底层(物理层 为硬件接口,在 GPRS 网络中, GPRS 无线调制解调器是 硬件接口。在硬件接口基础上 GPRS 通过 PPP 即协议来完成数据链接。PPP 协议 [4], 即 LCP(Link Control Protocol, PAP(Password Authentication Protocol, IPCP(IP Control Protocol。在数据链路层之上为网络层, GPRS 是基于 IP 网络的, 目前每个通过 GPRS 接入 INTERNET 的终端都能获得一个内部的 IP 地址, GPRS 终端通过 NIT 的方式与外部 INTERNET 网络连接,因此所有的 GPRS 终端相当于 是 CMNET(一种网络服务提供商提出的 GPRS 方案之一 局域网的内网机器。在 IP 网络中, TCP 或 UDP 协议是传输层。TCP 是面向链接的协议, UDP 是不需要建立链接的。在 GPRS 的应用系统中主要是在这一层进行资料交换。在传输层之上是应用层,包括 HTTP、FTP、SMTP 等协议。

GPRS 技术考虑到 TCP 方式需要在通信的双方建立一个相对固定的连接, 这样会占用相当的网络资源。在以流量计费的情况下,用于连接的通信也会被

计入费用。这样就不适宜永久在线的原则。由于采用了算法相对简单的 UDP 协议,这样对网络资源的消耗会比较少,而且在网络不好的情况下,采用简单 的协议往往能提供较好的解决问题的方法。

GPRS 相当于一个 Wireless Modem,用户的应用系统需要通过 PPP 即(LCP/PAP/IPCP先和运营商的 INTERNET 接入服务器连接, 然后才能应用 UDP 进行通讯。

利用 GPRS 进行数据传输的结构有两种,主要区别在于服务器端的位置。服 务 器 端 采 用 普 通 INTERNET 上 的 主 机 方 式 , 这 个 时 候 所 有 的 终 端 在 接 入 INTERNET 以后发送数据包到服务器进行登记,服务器记录下终端对应的 IP 地址和端口号, 以后的数据发送按照这个 IP 地址和端口号进行。由于目前中国 移动 GPRS 接入 INTERNET 是采用地址映像的方式进行的,尽管 GPRS 接入 INTERNET 以后 CMNET 会提供一个 IP 地址,但是这个 IP 地址是 CMNET 的 局域网地址(一般是 10.xxx.xxx.xxx 地址 , INTERNET 上的任何主机不能通过 这个 IP 进行访问,因此要完成数据传输必须通过这个映像的 IP 地址和端口和 GPRS 模块进行通讯。

服务器通过 CMNET 提供的一个固定的局域网 IP 地址与终端通信。在这种 情况下,所有的终端和服务器相当于位于一局域网下的机器。按照局域网的通 讯原理,所有的终端可以直接利用局域网的 IP 地址网关进行数据通讯。本文的方案,服务器选用固定 IP 地址(校园网局域网 LAN 上网 ,所以服 务器和 GPRS 模块所处于的 CMNET 网络不在同一个局域网内部, GPRS 终端 只能作为客户端通过映射到 INTERNET 的 IP 地址与服务器通信。相反,如果 GPRS 客户端不主动呼叫服务器端的话,服务器端要想找到 CMNET 内部的 GPRS 终端是不可能的。

综上所述,简述了 GPRS 的通信过程。2.4 ARM技术简介与分析

2.4.1基于 ARM 的显示系统简介与分析

ARM 是 Advanced RISC Machines的缩写,是微处理器行业的一家知名企 业,该企业设计了大量廉价、高性能、低功耗的 RISC 处理器、相关技术及软 件。ARM 公司的处理器具有性能高、成本低和能耗小的特点, 适用于多种领域。世界各大半导体生产商从 ARM 公司购买其设计的 ARM 微处理器核, 根据各自 不同的应用领域,加入适当的外围电路,从而形成自己的 ARM 微处理器芯片 进入市场。目前,采用 ARM 技术知识产权 IP(Intellectual Property核的微处理 器,即我们通常所说的 ARM 微处理器,以遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场。

ARM 微处理器一般具有如下特点 [2]:体积小、低功耗、低成本、高性能;支持 Thumb(16位 /ARM(32位 双指令集,能很好的兼容 8位/16位器件;大 量使用寄存器,指令执行速度更快;大多数数据操作都在寄存器中完成;寻址方 式灵活简单,执行效率高;指令长度固定。

ARM 微处理器目前包括下面几个系列 :ARM7系列、ARM9系列、ARM9E 系列、ARM10E 系列、SecurCore 系列等,这些处理器处理具有 ARM 体系结构 的共同特点以外,每一个系列的 ARM 微处理器都有各自的特点和应用领域。用户如果希望使用标准 Linux 等操作系统,就需要选择 ARM720T 以上带有 MMU(Memory Management Unit功能的 ARM 芯片。而 ARM7TDMI 则没有 MMU ,不支持标准的 UNIX ,但目前有 uCLinux 操作系统等不需要 MMU 支持 的操作系统可运行于 ARM7TDMI 迎接平台之上,使用也非常方便。大多数的 ARM 微处理器片内存储器的容量都不太大,需要用户在设计系统是外扩存储 器。除 ARM 微处理器核以外, 几乎所有的 ARM 芯片均根据各自不同的应用领 域,扩展了相关功能模块,并集成在芯片之中,即为片内外围电路。

一般来说,选用处理器的时候要考虑性能、开发难易程度、开发成本、相 关资料公开性等因素。很多微处理器体系结构各有特点,以适应应用在不同领

域。从研究可行性出发, 本文方案采用了 ARM 体系结构的 ARM7TDMI 内核 [9]。它是世界上广泛使用的 32位嵌入式 RISC 处理器,目前主要用于低端的设备, 最适用于对价位和功耗敏感的应用。选择 ARM 的另一个原因是以 ARM 微处理器 为核心的硬件方案比较多,也较为成熟。

综合考虑多方面的因素, 如价格、功能、应用前景等, 本系统选用的是 Philip 公司的 LPC2214芯片,该款 ARM 微处理器是一个支持实时仿真和跟踪的 16/32位 ARM7TDMI CPU的微控制器,芯片内部集成了通用 I/O口、两个 UATR、SPI 串行接口、I 2C 串行接口等多个功能模块,很适合终端类产品的开发。

SPI 串行接口、I 2C 串行接口等多个功能模块,很适合终端类产品的开发。2.4.2 ARM可为显示系统提供的接口资源分析 [8] 本 文 方 案 中 选 择 了 Philip 公 司 LPC2214的 ARM7芯 片 作 为 主 控 处 理 器。LPC2214是一款基于一个支持实时仿真和跟踪的 16/32位 ARM7TDMI-S CPU的 微控制器,并带有 256字节嵌入的高速 Flash 存储器。片内 128位宽度的存储器 接口和独特的加速结构使 32位代码能够在最大时钟速率下运行。对代码规模有 严格控制的应用可使用 16位 Thumb 模式将代码规模降低超过 30%, 而性能的损 失却很小。适用于工业控制、医疗系统、访问控制和 POS 机。其特性 [9]有: 16/32位 ARM7TDMI-S 微控制器;16KB 静态 RAM;256KB 片内 FLASH 程序存储器, 128位宽度接口 /加速器可实现高达 60MHz 的操作频率;LQFP144脚封装;片内 Boot 装载程序实现在系统编程(ISP和在应用中编程(IAP;8路 10位 A/D转换器,转换时间低至 2.44us;

2个 32位定时器(带 4路捕获和 4路比较通道、PWM 单元(6路输出、实 时时钟和看门狗;多个串行接口, 包括 2个 16C550工业标准 UART、高速 I2C 接口(400Kbps和 2个 SPI 接口;通过片内 PLL 可实现最大为 60MHZ 的 CPU 操作频率;向量中断控制器。可配置优先级和向量地址;112个通用 I/O口(可承受 5V 电压 , 12个独立外部中断引脚(EINT和 CAP 功能;片内晶振频率范围 :1~30MHz;通过外部中断将处理器从掉电模式中唤醒;可通过个别使能 /禁止外部功能来优化功耗;双电源:CPU 操作电压范围:1.65~l.95v(1.8V×(l±8.3%;I/O操作电压 范围 :3.0~3.6V(3.3V×(1±10%。

LPC2214包含一个支持仿真的 ARM7TDMI-S CPU、与片内存储器控制器 接口的 ARM7局部总线、与中断控制器接口的 AMBA 高性能总线(AHB和连接 片内外设功能的 VLSI 外设总线(VPB, ARMAMBA 总线的兼容超集。LPC2214将 ARM7TDMI-S 配置为小端模式(little-endian字节顺序。

AHB 外设分配了 2M 字节的地址范围,它位于 4G 字节 ARM 存储器空间 的最顶端。每个 AHB 外设都分配了 16K 字节的地址空间。LPC2214的外设功 能(中断控制器除外 都连接到 VPB 总线。AHB 到 VPB 的桥将 VPB 总线与 AHB 总线相连。

VPB 外设也分配了 2M 字节的地址范围,从 3.5GB 地址点开始。每个 VPB 外设在 VPB 地址空间内都分配了 16K 字节地址空间。片内外设与器件管脚的 连接由管脚连接模块控制。该模块必须由软件进行控制以符合外设功能与管脚 在特定应用中的需求。

2.5 基于 FPGA 的显示扫描系统的简介与分析

FPGA(Field Programmable Gate Array即现场可编程门阵列,它是在 PAL、GAL、EPLD 等可编程器件的基础上进一步发展的产物。它是作为专用集成电 路(ASIC领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克 服了原有可编程器件门电路数有限的缺点。FPGA 的使用非常灵活,同一片 FPGA 通过不同的编程数据可以产生不同的电路功能。FPGA 在通信、数据处

理、网络、仪器、工业控制、军事和航空航天等众多领域得到了广泛应用。随 着功耗和成本的进一步降低, FPGA 还将进入更多的应用领域。

FPGA 采用了逻辑单元阵列 LCA(Logic Cell Array这样一个新概念,内部 包 括 可 配 置 逻 辑 模 块 CLB(Configurable Logic Block、输 出 输 入 模 块 IOB(Input Output Block和内部连线(Interconnect 三个部分。FPGA 的基本特点 [5]主要有:

1、采用 FPGA 设计 ASIC 电路,用户不需要投片生产,就能得到合用的芯 片。

2、FPGA 可做其它全定制或半定制 ASIC 电路的中试样片。

3、FPGA 内部有丰富的触发器和 I/O引脚。

4、FPGA 是 ASIC 电路中设计周期最短、开发费用最低、风险最小的器件 之一。

5、FPGA 采用高速 CHMOS 工艺, 功耗低, 可以与 CMOS、TTL 电平兼容。可以说, FPGA 芯片是小批量系统提高系统集成度、可靠性的最佳选择之 一。目前 FPGA 的品种很多,有 XILINX 的 XC 系列、TI 公司的 TPC 系列、ALTERA 公司的 FIEX 系列等。FPGA 是由存放在片内 RAM 中的程序来设置其 工作状态的,因

此,工作时需要对片内的 RAM 进行编程。用户可以根据不同 的配置模式,采用不同的编程方式。

加电时, FPGA 芯片将 EPROM 中数据读入片内编程 RAM 中, 配置完成后, FPGA 进入工作状态。掉电后, FPGA 恢复成白片,内部逻辑关系消失,因此, FPGA 能够反复使用。FPGA 的编程无须专用的 FPGA 编程器,只须用通用的 EPROM、PROM 编程器即可。当需要修改 FPGA 功能时,只需换一片 EPROM 即可。这样,同一片 FPGA ,不同的编程数据,可以产生不同的电路功能。因 此, FPGA 的使用非常灵活。

FPGA 有多种配置模式 [8]:并行主模式为一片 FPGA 加一片 EPROM 的方式;主从模式可以支持一片 EPROM 编程多片 FPGA;串行模式可以采用串行 EPROM 编程 FPGA;外设模式可以将 FPGA 作为微处理器的外设, 由微处理器对其编程。选择 FPGA 可以大大简化硬件电路的设计,而且对硬件做改动时也更加灵

活,是现代数字电路发展的方向之一。2.6 显示系统的软件开发平台 Linux 技术分析

Linux 诞生于 1991年,是一个 UNIX 类操作系统,它兼容 POSIX 1003.1标 准, 并包含了 UNIX System V与 BSD4.3的大部分特征。Linux 操作系统在短短的 数年之内得到了非常迅猛的发展, 这与 Linux 具有的良好特性是分不开的。简单 的说, Linux 具有以下主要特性 [10]:

1、开放性。系统遵循世界标准规范,特别是遵循开放系统互连(OSI 国 际标准。凡遵循国际标准所开发的硬件和软件,都能彼此兼容,可方便地实现 互连。

2、多用户。系统资源可以被不同用户各自拥有使用,即每个用户对自己的 资源(例如:文件、设备有特定的权限,互不影响。Linux 和 Unix 都具有多 用户的特性。

3、多任务。多任务是现代计算机的最主要的一个特点。它是指计算机同时 执行多个程序, 而且各个程序的运行互相独立。Linux 系统调度每一个进程平等 地访

问微处理器。由于 CPU 的处理速度非常快,其结果是,启动的应用程序看 起来好像在并行运行。事实上,从处理器执行一个应用程序中的一组指令到 Linux 调度微处理器再次运行这个程序之间只有很短的时间延迟 [11],用户是感 觉不出来的。

4、良好的用户界面。Linux 向用户提供了两种界面:用户界面和系统调用。Linux 的传统用户界面是基于文本的命令行界面, 即 Shell , 它既可以联机使用, 又可存在文件上脱机使用。Shell 有很强的程序设计能力,用户可方便地用它编 制程序,从而为用户扩充系统功能提供了更高级的手段。可编程 Shell 是指将 多条命令组合在一起,形成一个 Shell 程序,这个程序可以单独运行,也可以 与其他程序同时运行。系统调用给用户提供编程时使用的界面。用户可以在编 程时直接使用系统提供的系统调用命令。系统通过这个界面为用户程序提供低 级、高效率的服务。Linux 还为用户提供了图形用户界面。它利用鼠标、菜单、窗口、滚动条等设施,给用户呈现一个直观、易操作、交互性强的友好的图形

化界面。

5、设备独立性。设备独立性是指操作系统把所有外部设备统一当作成文件 来看待,只要安装它们的驱动程序,任何用户都可以像使用文件一样,操纵、使用这些设备, 而不必知道它们的具体存在形式。具有设备独立性的操作系统, 通过把每一个外围设备看作一个独立文件来简化增加新设备的工作。当需要增 加新设备时、系统管理员就在内核中增加必要的连接。这种连接(也称作设备 驱动程序保证每次调用设备提供服务时,内核以相同的方式来处理它们。当 新的及更好的外设被开发并交付给用户时, 操作允许在这些设备连接到内核后, 就能不受限制地立即访问它们。设备独立性的关键在于内核的适应能力。其他 操作系统只允许一定数量或一定种类的外部设备连接。而设备独立性的操作系 统能够容纳任意种类及任意数量的设备,因为每一个设备都是通过其与内核的 专用连接独立进行访问。Linux 是具有设备独立性的操作系统,它的内核具有 高度适应能力,随着更多的程序员加入 Linux 编程,会有更多硬件设备加入到 各种 Linux 内核和发行版本中。另外,由于用户可以免费得到 Linux 的内核源 代码,因此,用户可以修改内核源代码,以便适应新增加的外部设备。

6、供了丰富的网络功能。完善的内置网络是 Linux 的一大特点。Linux 在 通信和网络功能方面优于其他操作系统。其他操作系统不包含如此紧密地和内 核结合在一起的连接网络的能力, 也没有内置这些联网特性的灵活性。而 Linux 为用户提供了完善的、强大的网络功能。支持 Internet 是其网络功能之一。Linux 免费提供了大量支持 Internet 的软件, Internet 是在 Unix 领域中建立并繁荣起 来的,在这方面使用 Linux 是相当方便的,用户能用 Linux 与世界上的其他人 通过 Internet 网络进行通信。文件传输是其网络功能之二。用户能通过一些 Linux 命令完成内部信息或文件的传输。远程访问是其网络功能之三。Linux 不仅允 许进行文件和程序的传输,它还为系统管理员和技术人员提供了访问其他系统 的窗口。通过这种远程访问的功能, 一位技术人员能够有效地为多个系统服务, 即使那些系统位于相距很远的地方。

7、可靠的系统安全。Linux 采取了许多安全技术措施,包括对读、写进行 权限控制、带保护的子系统、审计跟踪、核心授权等,这为网络多用户环境中 的用户提供了必要的安全保障。

8、良好的可移植性。可移植性是指将操作系统从一个平台转移到另一个平台使它仍然能按其自身的方式运行的能力。Linux 是一种可移植的操作系统, 能够在从微型计算机到大型计算机的任何环境中和任何平台上运行。可移植性 为运行 Linux 的不同计算机平台与其他任何机器进行准确而有效的通信提供了 手段,不需要另外增加特殊的和昂贵的通信接口。

2.7 本章小结

本章简要介绍了涉及到本文显示方案的相关技术, LED 光亮二极管显示的 原理及其扫描方式的原理;GPRS 通信技术的简要介绍及其在无线远程显示屏 上的应用分析;嵌入式 ARM 与 FPGA 控制技术在显示系统上的应用。最后, 简介和分析了与这些硬件相关的开发平台 Linux 操作系统。简要的介绍了它们 的来历和技术特点,明确分析了本文方案选用这些技术的理由。

第 3章 显示系统硬件电路的设计 第三章 显示系统硬件电路的设计 3.1整体硬件结构设计 整体硬件结构如图 3-1所示:

图 3-1 整体硬件结构图 [29][31] Fig.3-1 Hardware Topological Structure[29][31] 主控模块采用嵌入式 ARM 作为处理核心,完成的是整个电子显示系统的 协调和数据处理。它负责从 GPRS 通信模块读取待显示的汉字代码解码,将其 转换为字模, 送入显示模块。从中担任与上位机通信和对显示模块送显的任务。由于 ARM 具有超大的 RAM 和 ROM ,它还将字库集成和显示存储内容集成在 其中。

LED 显示模块采用 16×16点阵的字符显示屏。本设计由 15 行×20列的 大屏幕。由 FPGA 完成扫描任务驱动器任务。

主控部分与显示部分采用分别各自电源供电,减少高频控制信号与 LED 屏 的干扰 [15]。

3.2 GPRS接口电路的设计

本文的方案选用了西门子公司的 GPRS 模块―― MC45,它具有 GSM 和 GPRS 双通信的功能模块,特别适用于我们选型设计阶段的技术调研。而且西 门子的 GPRS 系列模块同时也有 GPRS 单模块的产品 MC35、MC35I ,产品线

武汉工业学院硕士学位论文 很长,可供选择的空间更大。

MC35提供了一个九针的串行接口作为 GPRS 模块的数据输出, 在通讯中起 到了将 GSM/GPRS的数据转换成串行的字节数据的作用。九针串口采用的是普 通的 RS232针脚的定义。具体连接 [12]如图 3-2所示:

图 3-2 GPRS模块与 ARM 连接接口 Fig.3-2 the Interface Between GPRS And ARM 在与 ARM 接驳的时候,模块的 RXD、TXD 分别连接到 ARM 对应的 SCIB 接 口上。连接正常后,用 LCP2214通过串口给 MC35模块发 AT 命令 , 读取或写入相 应的显示系统的数据和控制指令 [27]。

连接正常后,用 ARM 串口程序包通过 SPIA 给 MC35发 AT 命令。例如 :给模块发个命令字“ 4lH、54H、ODH ”(AT+回车 ,如果 ARM 端会收到反馈 信息“ ODH、OAH、4FH、4BH、ODH、OAH ”(回车换行 +OK+回车换行 ,那 么就说明 MC35与 ARM 的通信成功了。否则,就要检查是否有接线错误。

3.3 行列扫描电路的设计 3.3.1 显示电路模块的设计

基于整个系统的考虑,该控制系统时序的原理框图如图 3-3所示,本文选 用了 Philip 公司 LPC2214的 ARM7芯片。在图中, LPC2214能提供 16位数据线 和 16位地址线(即图中 GENERAL PURPOSE I/O, 通用的 I/O口信号作为控制信 号。写地址产生器产生写显示存储器的写入地址,读地址产生器产生显示存储

器的读出地址。静态显示存储器组的读写状态由读写控制电路、读地址发生电 路、写地址发生电路来控制。同时读地址发生电路及时钟发生电路还将产生 LED 显示屏驱动电路所需的移位时钟信号(SCLK、行锁存信号(LATCH 及行地址 信号 [13]。

图 3-3 LPC2214资源拓扑结构图 [[6] Fig.3-3 LPC2214 Resource Structure [14] 根据读写转换开关中的地址选择器、读写信号产生器、读写选择器来决定 是把写数据及写地址同存储器连接还是把读数据及读地址同存储器连接,同时 产生相应的扫描控制信号 [15]。

系统在 LPC2214的内存区域中开辟两组存储区域 , 两组存储区域交替读写, 实现画面的双缓冲。在选择显示存储器的大小,考虑到控制系统最大的驱动单

色 LED 显示屏显示为 15行 20列汉字,每个汉字为 16×16 bit点阵,所以一帧 数据量最大为 12K 字节, 采用 LPC2214的扩展 RAM 作为显示存储器完全可以 满足要求。

根据驱动电路及电路分区的要求,为保证显示的数据与 LED 屏驱动电路传 输的数据同步,在系统中采用双缓冲切换的方式 [16],用两组逻辑的帧显示存储 器组来存

储待显的数据,通过控制这两组存储器组的读写来完成显示信息向 LED 显示屏驱动电路显示信号的转换。两组逻辑显示存储区域交替处于读写状 态。设某一场时, A 区处于写状态,将要显示信息的数据存入存储区域 A ,则 B 区域处于读状态,将前一帧写入的数据按一定时序读出,用于驱动 LED 模块显 示。到下一场时,正好相反, A 区处于读状态, B 区处于写状态,如此交替进行 [17]。数据分别存入存储 A 区或存储 B 区,两个逻辑的显示存储器组工作在交替 读写状态。这两个显示存储区域的操作是通过程序的读写选择函数仲裁。LPC2214将数据读写数据流向 FPGA 的扫描控制器的接驳 [18],如图 3-4所 示:

图 3-4 LPC2214与 EP1K30连接示意图

Fig.3-4 the Interface Between LPC2214 And EP1K30 其中 I/O 0~7是 A 区通道的传输路径、I/O 8~15则是 B 区通道的传输路 径。这两路的切换控制由 SEL 信号发出。I/O口接在 LPC2214的通用 I/O P1接

口上, SEL 信号接在 P0.1上。3.3.2 扫描电路模块的设计

为了降低控制系统到显示屏的信号传输频率, 本方案将整屏 240×320像素 点阵(由 15行 20列的 16×16点阵组成 ,划分为 2个分区(每区由 4行组成。可以采用四个分区同时传输的方法。由 30片 74HC373连成 8位的并行锁存器 作为行驱动电路, FPGA 的 I/O输出点直接驱动列信号。把第 1~150个汉字数 据传送到第一分区,第 151~300个汉字传送到第二分区,如此进行。这样就完 成显示屏分区,数据分流的操作。

数据分流对于显示存储区域的操作完成是由软件完成的,由 Linux平台下 的存储管理程序完成。按照两个分区的地址分别读取出相应的显示数据送到端 口。

显示扫描时序控制电路是整个控制电路的硬件核心, 主要包括以下几方面:

1、双缓冲的读写控制 [13]:即当一组用于接收前一级传过来的一帧完整的 数据,另一组用于为后一级读操作提供数据。这样两组显示存存储区域轮流交 替被读写,从而保证系统不用停下来等数据而连续工作。

2、包括数据 I/0口、地址总线接口和读写使能信号等,其都要受场同步以 及像素时钟的协调控制。

3、其主要实现的功能是:产生读存储器的地址和写存储器的地址、控制数 据口的数据的双向流动以及产生读写控制信号。地址发生器的输入信号是前一 级送过来的像素时钟(CLK[19]。利用 FPGA 的 I/O口产生输入输出信号,输入信 号为一组写地址 A[15..0],一组读地址 Q [15..0],输出信号为两组 16位地址的 读写地址 XA[15..0], XB[15..0];输入信号为两组 8位数据入口,输出信号为一 组 8位数据出口。LED 大屏幕 16个分区同时刷新,要求由显示数据到 16个分 区的信号必须同时传送,这样才能保证各分区数据的同步更新 [20]。而且每个分 区的数据传输与 LED 大屏的点阵扫描(每次点亮一行 同步进行,即在传输第 I 行(I<16时, 第 I-1行被点亮,在 I-1行灭时, 驱动板上的 74HC373才将第 I 行点亮, 当点亮到第 15行时, FPGA 控制 74HC373复位,如此循环往复。显示存储器扫

描时序控制电路具体设计电路如图 3-5所示:

图 3-5 单个LED模块驱动的列信号控制 [28] Fig.3-5 Single LED Model Row Driver 系统控制板与 LED 显示屏驱动板之间用 2根 26芯排线传输,每根排线传 输 1个分区的数据及控制信号。系统控制板与 LED 显示屏驱动板信号列表。所 有排线的定义排列顺序相同,但数据分别为第一区、第二区。当数据为 0时, 显示屏对应的象素发光。LED 显示屏驱动板主要功能是调整从系统控制板接收 的信号以适用于驱动分区 LED 模块单元显示。如数据控制信号的缓冲, 数据的 移位,使之与相应的 LED 模块点阵相对应,实现扫描显示。驱动单元板采用移 位方式实现扫描,将

SCLK 作扫描时钟, LATCH(即图 3-5中 C-00信号 作行同 步信号, QD-QA 译码后作为行选信号,通过寄存器 74HC373来实现扫描。

3.3.3 辅助电路的设计

1、电源电路

LPC2214微控制器要使用两组电源, I/O口供电电源为 3.3V ,内核及片内 外设供电电源为 1.8V ,所以系统设计为 3.3V 应用系统。其电源部分电路如图 3-6所示。

图 3-6 +3.3V电源供电电路 Fig.3-6 +3.3V Power Supporting LDO 芯片分别采用 SPX1117M-3.3和 SPX1117M-1.8V ,如图 3-7所示,它 有输出电流大,输出电压精度高,稳定性高等特点。SPX1117系统列 LDO 芯 片输出电流可达 800mA ,输出电压精度在±1%以内,还具有电流限制和热保 护功能,广泛用于手

持仪表、数字家电、工业控制等领域。使用时,其输出需 要一个至少 10uF 的钽电容来改善其瞬态响应和稳定性。

图 3-7 +1.8V电源供电电路 Fig.3-7 +1.8V Power Supporting

2、复位电路

由于 ARM 芯片的高速、低功耗和低工作电压导致其噪声容限低,对电源 的纹波、瞬态响应性能、时钟源的稳定性、电源监控可靠性等诸多方面也提出 了更高的要求。本系统的复位电路采用了 SP708电源监控芯片,它可监测微处 理器及数字系统中的供电及电池的工作情况。其管脚分布如图 6所示,其各管 脚功能如图 3-8所示。系统提供一个手动复位按钮和一个 +5V电源异常复位功 能。

图 3-8 复位电路 Fig.3-8 Reset Control

3、RTC 电路

实时时钟(RTC 可提供一套计数器在系统上电和关闭操作时可对时间进 行测量 [21]。RTC 消耗的功率应非常低,以使得其适合由电池供电的, CPU 不连 续工作的系统。

LPC2214内部集成了 RTC 功能模块,但由于其时钟源为 VPB 时钟,故其 不能在芯片断电时使用,故其不适合由电池供电的系统。故我们在这里采用了 外置的 RTC 芯片。

HT1381是 HOLTEK 公司生产的低功耗串行实时时钟芯片,空载时最大工 作电流为 1.2μA ,具有时钟(时、分、秒和日历(年、月、日、星期功 能, 能自动调整闰年和每月的天数, 具有 12小时制和 24小时制两种访问方式。芯片内设有时钟控制功

能和写保护功能,可以通过编程控制 HT1381内部振荡 器的启停和数据写保护,芯片所需时钟独立于微处理器,外接 32768kHz 晶振 就可以工作。为了使用最少的引脚, HT1381采用串行传输方式与微处理器接 口,只需三根引线就可以实现微处理器对 HT1381访问控制。RTC 部分电路原 理图如图 3-9所示,图 10中, C1、C2、G1及 X1和 X2内部的振荡器组成了 HT1381的时钟发生电路。D1、D2、D3以及 3V 的可充电电池,+3.3V 的电源 组成了 HT1381的供电电路。系统采用外部供电时, D3、D2导通, D1截止, 外部电源一方面向芯片供电,另一方面对充电电池进行充电。当系统电源停止 供电时, D3截止, D1导通,芯片由电池来供电。

图 3-9 RTC电路 Fig.3-9 RTC Control

1、JTAG 调试接口电路

为 了 方 便 系 统 的 调 试 , 电 路 板 上 应 留 有 JTAG 接 口 电 路。此 电 路 包 括 LPC2214及 EPM1270两部分。

JTAG(Joint Test Action Group,联合测试行动小组是一种国际标准测试 协议,主要用于芯片内部测试及对系统进行仿真、调试, JTAG 技术是一种嵌 入式调试技术,它在芯片内部封装了专门的测试电路 TAP(Test Access Port, 测试访问口 ,通过专用的 JTAG 测试工具对内部节点进行测试。目前大多数据 比较复杂的器件都支持 JTAG 协议,如 ARM、DSP、FPGA 器件等。标准 JTAG 接口是 4根线连接:TMS、TCK、TDI、TDO ,分别为测试模式选择、测试时 钟、测试数据和测试数据输出。对于 LPC2214采用 ARM 公司提出的标准 20脚 JTAG 仿真调试接口, JTAG 信号的定义及与 LPC2214的连接如图 3-10所示。图中, JTAG 接口上的信号 nTRST 连接到 LPC2214芯片的 /TRST脚,达到控制 LPC2214内部 JTAG 接口电路复位的目的。

图 3-10 LPC2214的 JTAG 接口引出到端子图

Fig.3-10 the Interface Of LPC2214’ JTAG 3.4 本章小结

本章描述了本文方案的硬件系统结构,列出了相应了原理图。硬件电路的 设计是本方案的一项核心工作。它的特点就是可远程控制、屏幕面积可扩展, 使用灵活、更新方便。同时驱动电路的结构也比传统用纯运放搭建的方案要灵 活简便,也易于升级。

第 4章 显示系统的软件设计 第四章 显示系统的软件设计

4.1 GPRS网络的 ARM 驱动程序的设计

基于 ARM 的编程是通过 Linux平台下的 C 语言实现的。其算法主要是根 据 PPP 建立连接的过程和 UDP 通信的格式进行程序编辑的。

首先要对 GPRS 模块初始化,然后进行 PPP 连接,连接成功后,进行 UDP 数 据传送。主流程如图所示。前章已经论述过 PPP [22]连接包括:LCP 协商, PAP 协商和 IPCP 协商。如图 4-

1、4-

2、4-

3、4-4所示。

图 4-1 PPP连接初始化程序流程图

Fig.4-1 the Flow Chart Of PPP Communication Initialization Program 武汉工业学院硕士学位论文 图 4-2 LCP协商模块流程图

Fig.4-2 the Flow Chart Of LCP Communication Initialization Program

图 4-3 PAP协商模块流程图

Fig.4-3 the Flow Chart Of PAP Communication Initialization Program

武汉工业学院硕士学位论文

图 4-4 IPCP模块流程图

Fig.4-4 the Flow Chart Of IPCP Model Program

图 4-5 IP数据处理模块流程图

Fig.4-4 the Flow Chart Of IP Data Processing Program

PPP 连接建立起来以后,就要进行数据传送了。在本文方案中的 LED 显示 系统的 CPU 为 ARM CPU,所以选择简单的非面向连接的 UDP 协议来传送数 据,并用 ICMP 来反馈错误。具体传输数据包的流程如图 4-5所示。

因为在 GPRS 每次登陆的时候, 移动的网关服务器会自动的分配一个 IP 到 我们的 GPRS 终端, 因此自动获取 IP 的工作就需要我们编程确定每次被给予的

IP。有两种方案:通过 EMAIL 获知和通过短信获知。服务器登陆网络以后, 必然被分配一个固定的 1P 地址(只要不掉线。可以将这个 IP 地址放入 EMAIL 信箱,由于 GPRS 有收发 EMAIL 的业务,所以可以通过到固定的信箱以收 EMAIL 的发式获取 IP 地址。具体如图 3-6所示。然后在拨号上网呼叫服务器, 进行数据传送。

图 4-6 GPRS终端获取 IP 的方式示意图 Fig.4-6 GPRS Model Automatic Addressing 此外,也可以通过短信来获取服务器地址。可以通过网络或手机来将服务 器的 IP 地址以、短消息的形式传送到显示系统的 GPRS 终端, 终端将地址保存 起来,然后拨号上网呼叫服务器,传送数据。

4.2 字符数据更新程序设计

在计算机中汉字也是字符,英文字母和一些符号在计算机的内存中占一个 字节,而汉字则占两个字节,为了适应计算机处理汉字的需要,我国于 1981年颁布了《信息交换用汉字编码字符集·基本集》 ,即 GB2312-80[23],该标准所 收集的字符及其编码称为国标码,又叫做国标交换码。GB2312-80国标字符集 构成一个二维平面,分成 94行 94列,行号称为区号,列号称为位号。每个字 符在码表中都有各自的位置,因此

各有一个唯一的位置编码,该编码就是字符 的区号和行号的二进制代码(共 14位 ,称作该汉字的区位码。区位码的第一个 字节表示区号,第二个字节表示位号,因此知道了区位码,就可以知道该汉字 在字库中的地址。每个汉字在字库中是以点阵字模形式存储的,如一般采用 16×16点阵形式,当用存储单元存储该字模信息时,将需要 32个字节 [24]。计算机中的双字节汉字与单字节的字符是混合在一起的,区分汉字信息与 ASC II码,采取的方法是使表示汉字的两个字节的最高位等于 1,这种高位为

1的双字节汉字编码就称为汉字的机内码,又称内码。

计算机中的双字节汉字与单字节的字符是混合在一起的,区分汉字信息与 ASCII 码采取的方法是使表示汉字的两个字节的最高位等于 1,这种高位为 1的节汉字编码就称为汉字的机内码,又称内码。

汉字区位码与内码的转换方法

如果知道汉字的内码,可根据如下公式计算区位码 : 区码 =(内码第一个字节-0Alh AND 7Fh 位码 =(内码第二个字节-0Alh AND 7Fh 那么汉字点阵提取位置(区号×94+位号 ×点阵字节数,例如汉字“大”在 汉字库中的内码为 B4F3H ,可以根据上述公式计算出“大”字在 16×16点阵 HZK16中的起始位置为(B4H-A1h×94+(F3H-Alh×32,根据这个思路就可以 利用程序从汉字库 HZK16中提取 16×16的汉字点阵了。

然后再将字库的字模信息格式化成可显示在 LED 屏幕上的点阵信息。汉字在 LED 显示屏中处理时是采用图形的方法,即每个汉字就是一个图 形。显示个汉字就是显示一个图形符号,这个图形符号称为汉字字模。每个汉 字在计算中都对应一个字模,字模分为两种类型。一种是点阵字模,一种是矢 量字模。点阵汉字是汉字字型最基本的表示法。点阵字模的原理是把汉字的方 形区域分为若干小方格,每个小方格便是一个基本点。在方形范围内,凡笔画 经过的方格便形成黑点,不经过的形成白

点,若黑点代表 1,白点代表 0,那么 小方恰好可以用一个二进制位表示。这样制作出来的汉字称为点阵汉字。对于点阵汉字来说, 一个汉字的字模(如 16×16, 24×24, 32×32, 48×48 都有固定的字节数。大多数字库文件都不进行压缩,所以采用顺序存储方式, 即先存储区位码为 0101的汉字模,紧接着 0102,0103,一直到 0194,下一个是 0201, ……直到 87汉字区。值得注意的是,有些字库文件没有 10-15区汉字, 有些字库文件还常有文件头,写着有关字库的一些信。

为了让显示的字体效果更丰富,在汉字库装入了楷体、黑体、宋体等不同 种类不同大小(如 16×16, 24×24, 32×32, 48×48 的字库,还装入了图片数 据(方法与汉字的点阵数矩生成的道理一样。现以读取 24×24的楷体点阵字

库为例。首先取得输入汉字的区位码,进行计算后,设 24×24的楷体点阵字库 的起始地址为 0x0FFFFh(该地址可人为设定,具体于字体的写入顺序有关 , 得到此汉字模在点阵字库中的偏移量即。

偏移量 =(区号×94+位号 ×72 实际地址 =偏移量 +起始地址,然后将该地址后 72字节对应的点阵信息读 出并存储,这样就读出了该区位码对应的汉字数据。

16×16点阵汉字字模的每一行占 2个字节,占 16行,一共需要 32个字节 来表示。将其数字转化为二进制, 0的地方不填充, 1的地方填充为黑色,如此 循环把点阵全填充好后,就显示了一个完整的汉字。

4.3 本章小结

本章论述了方案在软件部分的设计思路。软件的设计内容主要包括了各个 模块间的接口驱动程序和字符数据更新程序。接口驱动程序主要研究了主控芯 片 ARM9 LPC2214对 GPRS 通信芯片 MC35与 FPGA EP1K30接口方案的驱动 信号时序控制与数据信号的传送。字符数据更新程序则主要研究了将 GPRS 模 块接收来的编码数据完成一系列的解码工作,将其格式成显示扫描模块可理解 的显示数据。

第 5章 系统性能的研究 第五章 系统性能的研究 5.1 PCB设计的原则

印制电路板(PCB是电子产品中电路元件和器件的支撑件,它提供电路元 件和器件之间的电气连接。随着电子技术的飞速发展, PCB 的密度越来越高。PCB 设计的好坏,对抗干扰能力影响很大,因此,印刷电路板的设计绝不单纯 是器件、线路的简单布局安排,必须遵守 PCB 设计的一般原则,并应符合抗干 扰设计的要求。

要使电子电路获得最佳性能,元器件的布置及导线的布设是很重要的。为 了设计质量好、造价低的 PCB ,应遵循一些原则。

一般印刷电路上的器件的布置应符合器件之间电气干扰小和易于散热的原 则。首先,要考虑 PCB 尺寸大小。PCB 尺寸过大时,印制线条长,阻抗增加, 抗噪声能力下降,成本也增加;过小,则散热不好,且邻近线条易受干扰。在 确定 PCB 尺寸后,再确定特殊元件的位置。应将器件按其功率的大小及抗干扰 能力的强弱分类集中布置:将电源变压器和输出驱动器件等大功率器件和电感 作为一类集中布置,将数字逻辑器件作为一类集中布置,将易受干扰的模拟器 件作为一类集中布置。各类器件之间应尽量远离,以防止相互干扰。此外,每 一类器件又可以按照小电气干扰的原则在进一步分类布置。

比如, 某些导线或器件之间可能有较高的电位差, 应加大它们之间的距离, 以免放电引出意外短路。带高电压的元器件应尽量布置在调试时手不易触及的 地方。还有,尽可能缩短高频元器件之间的连线,设法减少它们相互间的电磁 干扰和分布参数。易受干扰的元器件不能相互挨得太近,输入和输出元件应尽 量远离。

对于可变电容器、可调电感线圈、微动开关、电位器等可调元件的布局应 考虑整机的结构要求。如果是机外调节,其位置要与调节旋钮在机箱面板上或 板外支架的位置相适;若是机内调节,应放在印制板上方便于调节的地方。PCB 般的布局要有合理的走向:如输入 /输出,交流 /直流,高频 /低频、强 /

弱信号,高压 /低压等,它们的走向应该是呈线形的(或分离 ,不得相互交融。其目的是防止相互干扰。最好的走向是按直线,但一般不易实现,最不利的走 向是环形,所幸的是可以设隔离带来改善。对于是直流,小信号,低电压 PCB 设计的要求可以低些。

还有,在布线时,输入输出端用的导线应尽量避免相邻平行,最好加线间 地线,以免发生反馈藕合。印制导线拐弯处一般采取圆弧形,而直角或夹角在 高频电路中会影响电气性能。导线不要做成环路,特别是不要沿印刷板周围做 成环路。旁路电容器的引线不能长,尤其是高频旁路电容器,应该考虑不用引 线而直接接地。信号线线条要有讲究:有条件做宽的线决不做细,高压及高频 线应圆滑,不得有尖锐的倒角,拐弯也不得采用直角。地线应尽量宽,最好使 用大面积敷与网格相结合的方式,这对接地点问题有相当的改善。

5.2硬件抗干扰性措施

印制电路板的抗干扰设计与具体电路有着密切的关系, 这里仅就 PCB 抗干 扰设计的几项常用措施做一些说明。

一、电源线设计

在理论上和实际工程中都证实了电源分配对系统有很大影响,通常电源的 铺设方法有两种:电源总线网和电源平面。采用电源总线网式铺设电源时应根 据印制线路板电流的大小,应尽量加粗电源线宽度,减少环路电阻。同时,使 电源线、地线的走向和数据传递的方向一致,这样有助于增强抗噪声能力。但 总线网式有个缺点是:由于印刷电路板布线密度的限制,电源线不可能做得很 宽,因此在电源线上存在一定的电阻,从而导致在最后一个元器件上得到电压 和电源电压有个电压差。而采用平面铺设法,专门用两层或多层金属层来单独 供应电源,能很好的解决这个问题。但要制作多层板,成本会有所增加。

二、地线设计

地线设计时,首先应选择好接地点:一般情况下要求共点地,如前向放大 器的多条地线应汇合后再与干线地相连等。现实中,因受各种限制很难完全办 到,但应尽力遵循。这个问题在实际中是相当灵活的。每个人都有自己的一套

解决方案。地线设计的一般原则是:

1、数字地与模拟地分开。若线路板上既有逻辑电路又有线性电路,应使它 们尽量分开。低频电路的地应尽量采用单点并联接地,实际布线有困难时可部 分串联后再并联接地。高频电路宜采用多点串联接地,地线应短而粗,高频元 件周围尽量用栅格状、大面积地箔。

2、接地线应尽量加粗。若接地线用很细的线条,则接地电位随电流的变化 而变化,使抗噪性能降低。因此应将接地线加粗,使它能通过三倍于印制板上 的允许电流。

3、接地线构成闭环路。只由数字电路组成的印制板,其接地电路布成闭环 路大多能提高抗噪声能力。

三、电容配置

PCB 设计的常规做法之一是在印制板的各个关键部位配置适当的退藕电 容。退藕电容的一般配置原则是:

1、每块印刷电路板都应当接有通用的大容量的电解电容器网络, 以稳定电 源电压。应当把一个 100uF 的电解电容器安放在近邻电源线进入应刷电路板的 地方。如果使用变压器或直流稳压器改变电压电平,则电容器应安放在紧接着 末级之后,这里末级是产生器件的 Vcc 电压的地方。该电容器提供了一种有益 的保持电平作用,当电路中大量的节点同时开关时,它能供给额外的电流。然 而,电源电容器越大, Vcc 从最大值变化到工作电平所需的时间越长。所以, 电容器的容量不得使 Vcc 上升时间违反 Vcc 上升时间的最大上升值。

2、原则上每个集成电路芯片都应布置一个 0.01μF 的瓷片电容,如果印制 板空隙不够,可每 4~8个芯片布置一个 1~10μF 的钽电容。

3、对于抗噪能力弱、关断时电源变化大的器件, 如 RAM、ROM 存储器件, 应在芯片的电源线和地线之间直接接入退藕电容。

4、电容引线不能太长,尤其是高频旁路电容不能有引线。此外,还应注意 以下两点:CMOS 的输入阻抗很高,且易受感应,因此在使用时对不用端要接 地或接正电源;在印制板中有接触器、继电器、按钮等元件时,操作它们时均 会产生较大火花放电, 必须采用 RC 电路来吸收放电电流。一般 C 取 2.2~4μF ,R 取 1~2K。5.3本章小结

本章主要讨论了在 PCB 设计的时候应该注意的原则, 这些原则对成板后的 样品性能有着至关重要的影响。简要地讨论了在 PCB 板上的元件分布原则和布 线原则。

第 6章 总结与展望 第六章 总结与展望

本文对一种无线远程控制的 LED 大屏幕显示屏的实现方案进行了研究,详 细介绍了其方案过程。LED 大屏幕显示屏系统主要包括无线 GPRS 电路、主控电 路和 LED 屏体驱动电路两部分。无线 GPRS 电路主要负责接收管理者对屏体发出 的控制及显示数据的信号,也是本文研究方案的一大特点。通过无线远程模块 的加入,可以实现广域异地的显示控制,易于操作与维护。主控电路负责接收、更新、存储以及处理待显示的信息,字符更新显示内容,向 LED 屏体驱动电路 传送数据, 以及读取来自无线 GPRS 模块传送来的数据;LED 屏体驱动电路负责 点阵的逐行动态扫描,以及扫描控制信号、列数据信号的功率驱动。在系统中 我们用 ARM 扩展 FLASH 存储要显示的信息;通过 ARM LPC2214串行通讯接口 SCI 模块与 FPGA 联合工作

实现信息的更新;为了缓解串行通信的压力,把国标 汉字库集成到 LPC2214系统上,通信过程只需传送区位码,大大提高数据传输 得效力;使用显示单元来实现显示屏拼装的模块化。在硬件控制电路中采用了 目前较为流行的 ARM 加 FPGA 设计结构,从而提高了系统的可靠性、保密性和 易维护性 [14],并有利于系统的升级换代随着信息化社会的形成,信息领域愈 加广泛, LED 显示屏朝着标准化、规范化的方向发展,无线 LED 显示屏必将成 为信息发布领域的主角 [30]。

武汉工业学院硕士学位论文 参考文献

[1]丁卫红,赵建洋,王永强.LED 大屏幕设计中的几个难点和解决方 法 [J],淮阴工业专科学校学报, 2000, 9(1:23.[2]张华、樊庆文等,一种经济型大屏幕 LED 显示系统[J ],自动化信 息, 2002, 1:25-26.[3]徐建华, LED 技术应用与前景展望 [J], 科技情报开发与经济, 2003, 7:287-288.[4]谭海波等, LED 显示屏市场现状及前景 [J],现代显示, 2002, 2: 9-10.[5]赵雅兴, FPGA 原理、设计与应用 [M], 天津:天津大学出版社, 2001: 35-37.[6]陈科,孟文,肖世德等,基于 ARM S2C44B0X的 LED 显示屏设计, 液晶与显示 [J], 2004, 12(6:11.[7]周水清, LED 大屏幕信息发布技术与应用研究 [D], 武汉理工大学硕 士学位论文, 2002, 3.[8]周立功等编著, ARM 嵌入式系统基础教程 [M],北京航空航天大学 出版社 [M], 2005, 1:114-220.[9] Davie Seal, ARM Architecture Reference Manual[M], Second Edition Pearson Education Limited(Addsion-Wesley, 2001:83-87.[10]华清远见嵌入式培训中心著,嵌入式 LINUX C语言应用程序设计 [M],人民邮电出版社, 2007, 8:79-135.[11]Christopher Hallinan, Embedded Linux Primer:Practical Real-World Approach ,人民邮电出版社, 2006, 9:35-70.[12] MC35/MC35I User Manual[OL], www.xiexiebang.com/Thesis_D051301.aspx

第二篇:LED远程控制教学

LED远程控制教学

首先,双击桌面的选择红色圈住的“取消”。

图标打开软件,然后屏幕中央出现图①,图①

出现图②软件界面,点击红色圈住的按钮。

图②

出现图③,勾选红色圈住方框,点选该行变蓝底白字,再选“远程监控”进入。

图③

出现图④的256色的远程窗口,按图中所示三步操作:

图④↑

出现图⑤,第一步选择“文本”,第二步点击编辑按钮。上方起点Y、起点X、宽度、高度即顶部文字的位置和长宽值。

图⑤↑ 出现图⑥,最大化窗口后编辑文字,编辑完成后切记点一下保存按钮再关闭。

图⑥↑

关闭后返回了图⑤,点选“文件”项目出现图⑦,点击增加图片按钮选择远程终端上图片添加。上传图片到远程终端请在本机桌面双击此图标进入,把本机图片复制黏贴到此文件夹即可在远程控制中选择获取。

2011-9-21

第三篇:阵LED显示系统研究与设计_前期报告

河北工业大学城市学院本科毕业设计(论文)前期报告

河北工业大学城市学院本科毕业设计(论文)前期报告

毕业设计(论文)题目:点阵LED显示系统研究与设计 专业(方向):电子信息工程

学 生

信 息:

学号:087785

姓名: 李文超

班级:电子C082 指导教师信息:

姓名:李琦

职称:副教授 报告提交日期:2012-3-17

文献综述

一、课题的研究意义:

在现代信息化社会的高速发展过程中,LED显示屏成为现代信息化社会信息传播的一种重要手段,已经从公共信息展示等商业应用开始向消费类多媒体应用渗透。随着宽带网络的发展,数字化的多媒体内容将在信息世界中占据主流,新型的大屏幕显示设备将代替传统电视机成为人们享受信息和多媒体内容的中心。

二、课题的研究背景:

LED 点阵显示屏的构成型式有多种,其中典型的有两种。一种把所需展示的广告信息烧写固化到 EPROM 芯片内,能进行固定内容的多幅汉字显示,称为单显示型;另一种在机内设置了字库、程序库,具有程序编制能力,能进行内容可变的多幅汉字显示,称可编程序型。目前,国内的 LED 点阵显示屏大部分是单显示型,其显示的内容相对较少,显示花样较单一。一般在产品出厂时,显示内容就已写入显示屏控制系统中的 EPROM 芯片内,当需要更换显示内容时就非常困难,这样使该类型的显示屏使用 范围受到了限制。国内的另一种 LED 显示屏——可编程序型 LED 显示屏,虽然增 加了显示屏系统的编程能力,显示内容和显示花样都有所增加,但也存在着更换显示内容不便的缺点。随着社会经济的迅速发展,如今的广告牌都存在着显示内容丰富、信息量大、信息更换速度快等特点。因此传统的 LED 显示屏控制系统已 经越来越不能满足现代广告宣传业的需要。而利用 PC 机通信技术控制 LED 显示 屏,则具有显示内容丰富,信息更换灵活等优点。本课题要求设计一个点阵LED显示屏,要求在目测条件下LED显示屏各点亮度均匀、充足,可显示图形和文字,显示图形和文字应稳定、清晰无串扰。图形或文字显示有静止、移入移出等显示方式。

从理论上说,不论显示图形还是文字,只要控制与组成这些图形或文字的各个点所在的位置相对应的LED器件发光,就可以得到我们想要的显示结果,这种同时控制各个发光点亮灭的方法称为静态驱动显示方式。16x64的点阵共有1024个发光二极管,显然单片机没有这么多的端口,如果采用锁存器来扩展端口,按8位的锁存器来计算,16x64的点阵需要1024/8=128个锁存器。这个数字很庞大,因为我们仅仅是16x64的点阵,在实际应用中的显示屏往往要大得多,这样在锁存器上花的成本将是一个很庞大的数字。因此在实际应用中的显示屏几乎都不采用这种设计,而采用另外一种称为动态扫描的显示方法

动态扫描的意思简单地说就是逐行轮流点亮,这样扫描驱动电路就可以实现多行(比如16行)的同

[1]河北工业大学城市学院本科毕业设计(论文)前期报告

名列共用一套驱动器。具体就16x64的点阵来说,把所有同1行的发光管的阳极连在一起,把所有同1列的发光管的阴极连在一起(共阳极的接法),先送出对应第一行发光管亮灭的数据并锁存,然后选通第1行使其燃亮一定时间,然后熄灭;再送出第二行的数据并锁存,然后选通第2行使其燃亮相同的时间,然后熄灭;以此类推,第16行之后,又重新燃亮第1行,反复轮回。当这样轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留现象,就能够看到显示屏上稳定的图形了。

采用扫描方式进行显示时,每一行有一个行驱动器,各行的同名列共用一个驱动器。显示数据通常存储在单片机的存储器中,按8位一个字节的形式顺序排放。显示时要把一行中各列的数据都传送到相应的列驱动器上去,这就存在一个显示数据传输的问题。从控制电路到列驱动器的数据传输可以采用并列方式或串行方式。显然,采用并行方式时,从控制电路到列驱动器的线路数量大,相应的硬件数目多。当列数很多时,并列传输的方案是不可取的【9-10】。

采用串行传输的方法,控制电路可以只用一根信号线,将列数据一位一位传往列驱动器,在硬件方面无疑是十分经济的。但是,串行传输过程较长,数据按顺序一位一位地输出给列驱动器,只有当一行的各列数据都以传输到位之后,这一行的各列才能并行地进行显示。这样,对于一行的显示过程就可以分解成列数据准备(传输)和列数据显示两部分。对于串行传输方式来说,列数据准备时间可能相当长,在行扫描周期确定的情况下留给行显示的时间就太少了,以致影响到LED的亮度。

解决串行传输中列数据准备和列数据显示的时间矛盾问题,可以采用重叠处理的方法。即在显示本行各列数据的同时,传送下一列数据。为了达到重叠处理的目的,列数据的显示就需要具有存储功能。经过上述分析,就可以归纳出列驱动器电路应具有的功能。对于列数据准备来说,它应能实现串入并处的移位功能;对于列数据显示来说,应具有并行锁存的功能。这样,本行已准备好的数据打入并行锁存器进行显示时,串并移位寄存器就可以准备下一行的列数据,而不会影响本行的显示。

3、本课题采用MCS-51系列单片机,因为它具有

[2-4,6-8]

[5]

①可靠性高:因为芯片是按工业测控环境要求设计的,故抗干扰的能力优于PC机。

②便于扩展:片内具有计算机正常运行所必需的部件,片外有很多供扩展用的(总线,并行和串行的输入/输出)管脚,很容易组成一定规模的计算机应用系统。

③控制功能强:具有丰富的控制指令:如:条件分支转移指令,I/O口的逻辑操作指令,位处理指令。④实用性好:体积小,功耗低,价格便宜,易于产品化等优点。

本课题拟根据点阵LED显示特性,以单片机为核心处理器设计点阵LED显示系统,实现点阵LED控制、显示驱动、文字或图形显示等功能,该系统应具有结构简单、成本低、应用方便等特点。

参考文献:

1.禇昌晨.LED显示屏系统原理及工程技术.成都.电子科技大学出版社.2000 2.李光飞,楼然苗.51系列单片机设计实例.北京航空航天大学出版社.2003 3.范立南,谢子殿.单片机原理及应用教程.北京.北京大学出版社.2006 4.王幸之.AT89系列单片机原理与应用.北京.北京航空航天大学出版社.2004 5.阎石.数字电路技术基础.北京.高等教育出版社.1998 6.丁元杰.单片微机原理及应用.北京.机械工业出版社.1999 河北工业大学城市学院本科毕业设计(论文)前期报告

7.周荷琴,吴勇清.微型计算机原理与接口技术.合肥.重活科技大学出版社.2004 8.张红润,马平安.单片机原理及应用.科学出版社.1999 9.韩志军,沈晋源,王振波.单片机应用系统设计—入门向导与设计实例.机械工业出版社.2005 10.彭为.单片机典型系统设计实例精讲.北京.电子工业出版社.2006

前期报告

一、课题工作安排:

第一周:明确课题研究内容和最终结果,检索文献、查阅资料、收集课题所需的中外文素材。第二周:整理素材、撰写文献综述。根据任务要求,制定工作计划。

第三周:学习与课题相关的关键技术,研究基于单片机的点阵LED显示系统工作原理。制定设计技术指标、功能,并进行方案论证。

第四周:对进行前期工作总结,撰写前期报告。第五周:接受前期工作检查,修改设计方案。

第六周:熟悉单片机开发工具,掌握开发设计方法,系统硬件设计。第七周:系统软件设计分析。

第八周:系统软硬件性能、指标和功能分析。第九周:对研究结果进行小结,撰写中期报告。第十周:接受中期工作检查,进行系统调试实验。第十一周:进行系统软硬件测试。

第十二周:根据调试实验结果对系统软硬件设计进行改进。对调试实验结果进行分析并给出结论。用所学知识对结论予以分析及整理,撰写毕业论文。

第十三周:修改论文并提交论文初稿。

第十四周:根据指导教师评审意见改稿,并提交设计论文定稿。第十五周:整理全部设计文档。第十六周:准备答辩。

二、本课题要研究或解决的问题:

本课题旨在设计点阵LED显示系统,该系统具有实现显示内容的向左滚动显示功能,下面进行说明。1.系统的显示功能

8X8点阵可以用于显示简单的中文文字,也可用于简单图形显示。用多块点阵显示器组合则可构成大屏幕显示器,使用AT89C51控制驱动。

2.系统的滚动显示功能或技术指标

动态显示采用动态扫描显示方式, 因为利用动态扫描显示使我们看到一幅稳定画面的实质是利用了人眼的暂留效应和发光二极管发光时间的长短, 发光的亮度等因素。

二、拟采用的研究手段(途径):

1、系统设计方案 河北工业大学城市学院本科毕业设计(论文)前期报告

(1)单片机系统及外围电路:单片机采用AT89C51。系统采用12 MHz或更高频率的晶振,以获得较高的刷新频率,使显示更稳定。单片价的串口与列驱动器相连,用来送显示数据。P1口低4位与行驱动器相连,送出行选信号,P1.5~P1.7口则用来发送控制信号。P0和P2口空闲,在必要时可以扩展系统的ROM和RAM。

(2)列驱动电路:由集成电路74HC595构成。它具有一个8位串入并出的移位寄存器和一个8位输出锁存器的结构,而且移位寄存器和输出锁存器的控制是各自独立的,可以实现在显示本行各列数据的同时,传送下一行的列数据,即达到重叠处理的目的。

74HC595的输入侧有8个串行移位寄存器,每个移位寄存器的输出都连接一个输出锁存器。引脚SI是串行数据的输入端。引脚SCK是移位寄存器的一位时钟脉冲,在其上升沿发生移位,并将SI的下一个数据打入最低位。移位后的各位信号出现在各移位寄存器的输出端,也就是输出锁存器的输入端。RCK是输出锁存器的打入信号,其上升沿将移位寄存器的输出打入到输出锁存器。引脚G是输出三态门的开放信号,只有当其为低时移位寄存器的输出才开放,否则为高阻态。芯片的输出端QA~QH,最高位QH可作为多芯片74HC595级联应用时,向上一级的级联输出。但一位QH受输出锁存器打入控制,所以还从输出锁存器前引出QH’,作为与移位寄存器完全同步的级联输出。

2、系统基本框图如下:

将8片74HC595进行级连,可共用一个移位时钟SCK及数据锁存信号RCK。这样,当第一行需要显示的数据经过8x8=64个SCK时钟后便可将其全部移入74HC595中,此时还将产生一个数据锁存信号RCK将数据锁存在74HC595中,并在使能信号G的作用下,使串入数据并行输出,从而使与各输出位对应的场驱动管处于放大或截止状态;同时由行扫描控制电路产生信号使第一行扫描管导通,相当于第一行LED的正端都接高,显然,第一行LED管的亮灭就取决于74HC595中的锁存信号;此外,在第一行LED管点亮的同时,再在74HC595中移入第二行需要显示的数据,随后将其锁存,同时由行扫描控制电路将第一行扫描管关闭而接通第二行,使第二行LED管点亮,以此类推,当第十六行扫描过后再回到第一行,这样,只要扫描速度足够高,就可形成一幅完整的文字或图像。

3、显示屏软件的主要功能是向屏体提供显示数据,并产生各种控制信号,使屏幕按设计的要求显示。根据软件分层次设计的原理,可把显示屏的软件系统分成两大层:第一层是底层的显示驱动程序,第二层是上层的系统应用程序。显示驱动程序负责向屏体送显示数据,并负责产生行扫描信号和其他控制信号,配合完成LED显示屏的扫描显示工作。显示驱动程序由定时器T0中断程序实现。系统应用程序完成系统环境设置,显示效果处理等工作,由主程序来实现。河北工业大学城市学院本科毕业设计(论文)前期报告

显示驱动程序在进入中断后首先要对定时器T0重新赋初值,以保证显示屏刷新率的稳定。然后显示驱动程序查询当前燃亮的行号,从显示缓冲区内读取下一行的显示数据,并通过串口发送给移位寄存器。为消除在切换行显示数据的时候产生拖尾现象,驱动程序先要关闭显示屏,即消隐,等显示数据打入输出锁存器并所存,然后在输出新的行号,重新打开显示。

总之,毕业设计已经按照任务书的要求正常展开,阅读了一些与毕业设计相关的参考文献,特别是相关的学术论文和书籍,启发很大,了解了整个设计的流程,明确了设计中的重点部分,学习到了很多课题中需要熟悉和掌握的知识,为顺利开展下一阶段的工作打下良好的基础。

第四篇:基于嵌入式ARM的远程视频监控系统研究.

基于嵌入式ARM的远程视频监控系统研究

随着科技的进步,视频监控系统正在向嵌入式、数字化、网络化方向发展。嵌入式视频监控系统充分利用大规模集成电路和网络的科技成果,实现了体积小巧、性能稳定、通讯便利的监控产品。本文以S3C2410为核心硬件平台开发了基于嵌入式的远程视频监控系统,并对关键技术进行了论述和研究。首先给出了系统总体软硬件设计方案,针对本系统硬件对vivi进行了修改和移植,对编译和移植Linux内核以及制作YAFFS文件系统也做了深入的研究,重点讨论了在嵌入式Linux操作系统下开发USB接口摄像头驱动程序和利用linux提供的Video4Linux API函数实现视频数据采集,其次采用背景差法实现了对视频图像中运动目标的检测,然后通过MJPEG压缩算法实现了视频数据压缩,接着介绍了在Linux下基于TCP/IP协议的socket编程,实现了视频数据的网络发送。最后着重论述了嵌入式Web服务器的设计,编写了视频监控主界面程序,并实现了基于B/S模式的视频监控系统结构。本系统采用模块化设计方法,使得设计更加简洁、高效,具有良好的扩展性和易用性,有利于系统升级。另外采用嵌入式的方法,系统成本较低,易于推广使用。

【关键词相关文档搜索】: 控制理论与控制工程;ARM;嵌入式Linux;USB摄像头;Video4Linux;嵌入式Web服务器

【作者相关信息搜索】: 南京理工大学;控制理论与控制工程;陈青林;李保国;

第五篇:嵌入式实训 LED显示+文件系统定制实验报告

LED显示控制+文件系统定制

名:

业:

指导教师:

名:

号:

级:

员:

目:

二○一 年 月

目 录

一、设计任务和技术要求:.....................................................................................................................二、器件介绍……………………………………………………………………………………………

三、设计代码:………………………………………………………………………………………….四、设计结果:.......................................................................................................................................五、系统评价:.......................................................................................................................................六、心得体会:.......................................................................................................................................一、设计任务和技术要求:  编写LED驱动程序,驱动程序采用手动定义设备名称(自己姓名拼音_led)和主设备号,设备号必须是系统尚未使用的设备号  编写对应驱动的makefile文件

 将驱动程序编译成模块,并实现模块的加载及卸载

 编写驱动测试程序,要求运行该测试程序后,能够对led设备打开成功与否做出判断;能够显示led控制菜单选项(至少2个控制选项),例如,选择“1”,led等循环点亮;选择“2”,指定led1灯点亮

 编写对应测试程序的makefile 文件

文件系统定制 要求:

 制作文件系统类型为yaffs的文件系统;  文件系统启动时显示小组成员信息;  文件系统启动时需要按提示输入用户名信息;

 文件系统成功挂载后,通过串口传送刚刚编写的led控制程序,并运行该led控制程序,要求能够按照规定的控制方式实现led灯的控制

二、设计代码

程序清单:

应用程序测试leds_test.c如下:

#include #include #include #include

#define IOCTL_LED_ON 1 #define IOCTL_LED_OFF 5 #define IOCTL_LED_RUN 3

void usage(char *exename){ printf(“Usage:n”);printf(“

%s n”, exename);printf(“

led_no = 1, 2, 3 or 4n”);}

int main(int argc, char **argv){ unsigned int led_no;int fd =-1;

unsigned int count=10;

if(argc > 3 || argc == 1)

goto err;

fd = open(“/dev/cylled”, 0);// 打开设备

if(fd < 0){

printf(“Can't open /dev/fdwled,n”);

return-1;}

if(argc == 2){

if(!strcmp(argv[1], “run”))

{

ioctl(fd, IOCTL_LED_RUN, count);

//运行跑马灯

} else {

goto err;

} }

if(argc == 3){

led_no = strtoul(argv[1], NULL, 0)-1;

// 操作哪个LED?

if(led_no > 3)

goto err;

if(!strcmp(argv[2], “on”)){

ioctl(fd, IOCTL_LED_ON, led_no);

// 点亮

} else if(!strcmp(argv[2], “off”)){

ioctl(fd, IOCTL_LED_OFF, led_no);

// 熄灭

} else {

goto err;

} }

close(fd);return 0;

err:

按键驱动:

/* * linux/drivers/char/mini210_buttons.c * * This program is free software;you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation.*/

#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include

#include #include #include #include

#define DEVICE_NAME “buttons”

struct button_desc { int gpio;int number;char *name;struct timer_list timer;};

static struct button_desc buttons[] = { { S5PV210_GPH2(0), 0, “KEY0” }, { S5PV210_GPH2(1), 1, “KEY1” }, { S5PV210_GPH2(2), 2, “KEY2” }, { S5PV210_GPH2(3), 3, “KEY3” }, { S5PV210_GPH3(0), 4, “KEY4” }, { S5PV210_GPH3(1), 5, “KEY5” }, { S5PV210_GPH3(2), 6, “KEY6” }, { S5PV210_GPH3(3), 7, “KEY7” },static volatile char key_values[] = { '0', '0', '0', '0', '0', '0', '0', '0' };

static DECLARE_WAIT_QUEUE_HEAD(button_waitq);

static volatile int ev_press = 0;

static void mini210_buttons_timer(unsigned long _data){ struct button_desc *bdata =(struct button_desc *)_data;int down;int number;unsigned tmp;

tmp = gpio_get_value(bdata->gpio);

/* active low */ down =!tmp;printk(“KEY %d: %08xn”, bdata->number, down);

number = bdata->number;if(down!=(key_values[number] & 1)){ key_values[number] = '0' + down;

ev_press = 1;wake_up_interruptible(&button_waitq);} }

static irqreturn_t button_interrupt(int irq, void *dev_id){ struct button_desc *bdata =(struct button_desc *)dev_id;mod_timer(&bdata->timer, jiffies + msecs_to_jiffies(40));

return IRQ_HANDLED;}

static int mini210_buttons_open(struct inode *inode, struct file *file){ int irq;int i;int err = 0;

for(i = 0;i < ARRAY_SIZE(buttons);i++){ if(!buttons[i].gpio)continue;

setup_timer(&buttons[i].timer, mini210_buttons_timer,(unsigned long)&buttons[i]);

irq = gpio_to_irq(buttons[i].gpio);err = request_irq(irq, button_interrupt, IRQ_TYPE_EDGE_BOTH, buttons[i].name,(void *)&buttons[i]);if(err)break;} if(err){ i--;for(;i >= 0;i--){ if(!buttons[i].gpio)continue;

irq = gpio_to_irq(buttons[i].gpio);disable_irq(irq);free_irq(irq,(void *)&buttons[i]);del_timer_sync(&buttons[i].timer);}

return-EBUSY;}

ev_press = 1;return 0;}

static int mini210_buttons_close(struct inode *inode, struct file *file){ int irq, i;

for(i = 0;i < ARRAY_SIZE(buttons);i++){ if(!buttons[i].gpio)continue;

irq = gpio_to_irq(buttons[i].gpio);free_irq(irq,(void *)&buttons[i]);

del_timer_sync(&buttons[i].timer);} return 0;}

static int mini210_buttons_read(struct file *filp, char __user *buff, size_t count, loff_t *offp){ unsigned long err;

if(!ev_press){ if(filp->f_flags & O_NONBLOCK)else wait_event_interruptible(button_waitq, ev_press);}

ev_press = 0;

err = copy_to_user((void *)buff,(const void *)(&key_values), min(sizeof(key_values), count));

return err ?-EFAULT : min(sizeof(key_values), count);}

static unsigned int mini210_buttons_poll(struct file *file, struct poll_table_struct *wait){ unsigned int mask = 0;

poll_wait(file, &button_waitq, wait);if(ev_press)mask |= POLLIN | POLLRDNORM;

return mask;}

static struct file_operations dev_fops = {.owner = THIS_MODULE,.open = mini210_buttons_open,.release = mini210_buttons_close,.read = mini210_buttons_read,.poll = mini210_buttons_poll, };

static struct miscdevice misc = {.minor = MISC_DYNAMIC_MINOR,.fops = &dev_fops, };

static int __init button_dev_init(void){ int ret;

ret = misc_register(&misc);

printk(DEVICE_NAME“tinitializedn”);

return ret;}

static void __exit button_dev_exit(void){ misc_deregister(&misc);}

module_init(button_dev_init);module_exit(button_dev_exit);

MODULE_LICENSE(“GPL”);MODULE_AUTHOR(“FriendlyARM Inc.”);程序cylled.c如下(基于实验11的代码进行更改):

#include #include #include #include #include #include #include #include #include #include

#include #include #include

#define DEVICE_NAME “cylled” #define LED_MAJOR 222 #define IOCTL_LED_ON 1 #define IOCTL_LED_OFF 5 #define IOCTL_LED_RUN 3

%定义三个宏

#define LED_NUM ARRAY_SIZE(led_gpios)

static int led_gpios[]={ S5PV210_GPJ2(0), S5PV210_GPJ2(1), S5PV210_GPJ2(2), S5PV210_GPJ2(3), };

static long mini210_leds_ioctl(struct file *filp,unsigned int cmd,unsigned long arg){ int i;int j;switch(cmd){

case IOCTL_LED_RUN:

%定义RUN,用了两个for循环。

for(i=0;i

{

for(j=0;j<4;j++)

{

gpio_set_value(led_gpios[j],0);

msleep(100);

gpio_set_value(led_gpios[j],1);

}

}

break;

case IOCTL_LED_ON:

if(arg>LED_NUM)

{

return-EINVAL;

}

gpio_set_value(led_gpios[arg],0);

break;

case IOCTL_LED_OFF:

if(arg>LED_NUM)

{

return-EINVAL;

}

gpio_set_value(led_gpios[arg],1);

break;

default:

return-EINVAL;} return 0;}

static struct file_operations mini210_led_dev_fops={.owner =THIS_MODULE,.unlocked_ioctl =mini210_leds_ioctl, };

static int __init mini210_led_dev_init(void){ int ret;int i;for(i=0;i

ret=gpio_request(led_gpios[i],“LED”);

if(ret)

{

printk(“%s: request GPIO %d for LED failed, ret=%dn”,DEVICE_NAME ,led_gpios[i],ret);

return ret;

}

s3c_gpio_cfgpin(led_gpios[i],S3C_GPIO_OUTPUT);

gpio_set_value(led_gpios[i],1);} ret=register_chrdev(LED_MAJOR,DEVICE_NAME,&mini210_led_dev_fops);if(ret<0){

printk(“%s can't register major numbern”,DEVICE_NAME);

return ret;} return 0;} static void __exit mini210_led_dev_exit(void){ int i;for(i=0;i

gpio_free(led_gpios[i]);

} unregister_chrdev(LED_MAJOR,DEVICE_NAME);}

module_init(mini210_led_dev_init);module_exit(mini210_led_dev_exit);

MODULE_LICENSE(“GPL”);MODULE_AUTHOR(“cyl”);

五.设计结果:

Makefile Serial COM1 命令代码

第一盏灯亮 第二盏灯亮

第三盏灯亮

显示小组成员信息(文件系统)

用户名122014021登陆

加载驱动

创建设备名

卸载驱动

运行跑马灯命令

点灯关灯

6.心得体会:

在了解了基础知识之后,我开始进行上机操作,当然,其中遇到很多的难题,很多东西都是第一次接触,又没有别人在旁边指导操作,完全凭借自己去摸索练习。其 中的困难可想而知。然而坚持就是胜利,牙一咬眼一闭坚持做下去,而通过本次实验,我感觉收获还是蛮多的。可能我对于嵌入式的知识学习的还是不太多,但是这 之外的东西收获颇丰。它让我学会了如何通过自己的努力去认知一个新事物,更重要的是端正自己的学习态度,只有真正下功夫去学习,才能有收获,正所谓“一份 耕耘,一份收获。”没有付出,何谈回报呢?再者,通过本次实验,我也学会了如何去分析问题,如何找出自己设计中的不足,继而去排除解决问题,这就是一个自 我学习的过程。当我们通过实验去学习理论知识时,自己动手得出的结论,不仅能加深我们对嵌入式的理解,更能加深我们对此的记忆。学习到一个实验的完成过程。更深刻地了解arm的工作原理及其应用,对比出之前单片机系统应用的不同。

下载基于嵌入式的GPRS远程控制的大屏幕LED显示系统的研究(精)word格式文档
下载基于嵌入式的GPRS远程控制的大屏幕LED显示系统的研究(精).doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    GPRS远程无线车载LED信息发布系统方案

    上海正伟数字技术有限公司 www.xiexiebang.com 正伟短信/GPRS无线LED一体控制卡应用文档 GPRS远程无线车载LED信息发布系统方案 上海正伟数字技术有限公司 地址:上海市徐汇区......

    嵌入式ARM键盘控制LED灯实验报告

    实验六 键盘控制LED灯实验 1 实验目的 (1) 通过实验掌握中断式键盘控制与设计方法; (2) 熟练编写S3C2410中断服务程序。 2 实验设备 (1) S3C2410嵌入式开发板,JTAG仿真器......

    Led点阵广告牌设计显示原理及控制方式分析

    2.1 LED点阵模块结构 八十年代以来出现了组合型LED点阵显示器模块,以发光二极管为像素,它用高亮度发光二极管芯阵列组合后,环氧树脂和塑模封装而成。这种一体化封装的点阵LED模......

    基于UCOS嵌入式实时操作系统的单任务和多任务LED显示总结----娄...

    基于uCOSII的单任务和多任务LED显示 一、uCOSII简介 uCOS II是一个微型的实时操作系统,包括了一个操作系统最基本的一些特性,如任务调度、任务通信、内存管理、中断管理、定......