优秀的毕业设计论文网
计算机 JAVA 电子信息 单片机 机械机电 模具 土木工程 建筑结构 论文
热门搜索词:网络 ASP.NET 汽车 电气 数控 PLC

基于嵌入式Linux电表采集终端显示模块设计与实现

以下是资料介绍,如需要完整的请充值下载.
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
  
资料介绍:

 实用性原则
实用性是至关重要的,实用性是个综合性概念,它包括了产品的设计开发、生产销售和应用现场等诸多环节。对于一个民用产品实用性是首先必须考虑,否则设计得再好,也没有市场。主要有:
1. 系统生产的可行性,要求装配调试,装配方便;
2. 系统销售的可行性,要求性价比高,比国内、外同行有竞争力;
3. 系统应用的可行性,要求能适应现场各种工作条件,可靠性高,使用操作简单,维护方便。
2.1.3 智能化原则
智能化是抄表系统最大的特色之一。由于采用了微机系统,使系统具有数据处理,逻辑判断和信息存储的功能。在设计时,要选择性能先进、满足功能要求的CPU和足够容量的存储器,并提供良好的硬件环境,这样智能化才有了基础。智能抄表系统之所以能智能地处理问题,主要是软件的功劳。因此智能性原则必须充分发挥软件的作用,在设计中尽量采用软件来代替硬件完成一些功能,特别是数据采集过程的控制,故障的检测报警等。在设计中还从软件的角度,利用数据处理能力,数据存储能力、逻辑判断能力等特长去开发一些新功能。
智能另一表现是人机界面的友好性,要建立良好的人机界面。一方面要求系统能输出丰富的宜于读取的信息,另一方面要求人对机的信息通道畅通,即要求显示内容切换操作和参数设置简便,降低对操作人员知识要求,尽量实现“傻瓜型”人机界面[1]。 [来源:http://think58.com]

2.2 基于ARM平台智能抄表终端
2.2.1 智能抄表系统的基本构成
智能抄表系统根据数据采集方式的不同可以分为本地抄表系统和远程抄表系统。本地抄表系统主要采用手持式抄表终端,该手持抄表终端里面含有微控制器,配有外设如键盘、液晶显示屏等人机交互接口处理工作人员的命令,通过RS232接口通讯方式与电表进行数据传输,并将电表的相关数据显示在显示屏上。系统硬件平台架构
嵌入式抄表系统具有面向信息服务的特点,网络处理能力一直是系统设计的重点,在存储部分的硬件设计中考虑了网络接口、IDE接口等等的支持。同时为保持系统在接口上的可扩展性,系统预留出与网络、外部存储、各种板卡的接口,可使系统在功能上和性能上得到基本保障。硬件高效、稳定也是硬件设计的重点。
本系统采用了基于ARM9系统处理器的嵌入式商业级主板。ARM处理器专门用于处理娱乐、教育和商业设备。它是信息终端机、个人互联网访问设备等应用的理想处理器解决方案。ARM处理器在芯片上直接智能化地集成了各种关键的系统组件,例如LCD控制模块、USB和内存控制器等。最高主频可达180MHz,同时功耗极低。这种创新的集成功能可以提高系统的可靠性,降低系统整体成本,实现外型更加小巧的设计。
为运行Linux提供硬件上的支持,在开发板上还集成有64M的SDRAM、16M的串行Flash、以太网接口、串口、显示接口、I/O接口等。 [资料来源:THINK58.com]
2.2.3 LCD显示模块
LCD(液晶显示)模块满足了嵌入式系统日益提高的要求,它可以显示汉字、字符和图形,同时还具有低压、低功耗、体积小、重量轻和超薄等很多优点。随着嵌入式系统的应用越来越广泛,功能也越来越强大,对系统中的人机界面的要求也越来越高,在应用需求的驱使下,许多工作在Linux下的图形界面软件包的开发和移植工作中都涉及到底层LCD驱动的开发问题。因此在嵌入式系统中开发LCD驱动得以广泛运用。
本系统使用夏普微电子美国公司推出的3.5英寸透反射式(transflective)LQ035Q7DB02 TFT-LCD显示模块。该产品在传输模式下的亮度达到100cd/m2、对比度达100:1,提供262,144种色彩,功耗小于365mw,响应时间低于30ms,尺寸为65*86.2*4mm,重量为45g,能够在各种照明条件下利用它来生动地展示图像和文字信息,从而成为GPS系统、PDA及其它手持设备的理想选择[2]。
 Linux设备驱动
3.1 Linux设备驱动的概念
3.1.1 Linux设备驱动类别
Linux将设备分为最基本的两大类:一类是字符设备,另一类是块设备。字符设备和块设备的主要区别是:在对字符设备发出读/写请求时,实际的硬件I/O一般就紧接着发生了。字符设备以单个字节为单位进行顺序读写操作,通常不使用缓冲技术;块设备则是以固定大小的数据块进行存储和读写的,如硬盘、软盘等,并利用一块系统内存作为缓冲区。为提高效率,系统对于块设备的读写提供了缓存机制,由于涉及缓冲区管理、调度和同步等问题,实现起来比字符设备复杂得多。LCD是以字符设备方式加以访问和管理的,Linux把显示驱动看作字符设备,把要显示的数据一字节、一字节地送往LCD驱动器。 think58 [资料来源:http://think58.com]
3.1.2 Linux设备管理
Linux的设备管理是和文件系统紧密结合的,各种设备都以文件的形式存放在/dev目录下,称为设备文件。应用程序可以打开、关闭和读写这些设备文件,完成对设备的操作,就像操作普通的数据文件一样。为了管理这些设备,系统为设备编了号,每个设备号又分为主设备号和次设备号。主设备号用来区分不同种类的设备,而次设备号用来区分同一类型的多个设备。对于常用设备,Linux有约定俗成的编号,如硬盘的主设备号是3。Linux为所有的设备文件都提供了统一的操作函数接口,方法是使用数据结构struct file_operations。这个数据结构中包括许多操作函数的指针,如open()、close()、read()和write()等,但由于外设的种类较多,操作方式各不相同。struct file_operations结构体中的成员为一系列的接口函数,如用于读/写的read/write函数和用于控制的ioctl等。打开一个文件就是调用这个文件file_operations中的open操作。不同类型的文件有不同的file_operations成员函数,如普通的磁盘数据文件,接口函数完成磁盘数据块读写操作;而对于各种设备文件,则最终调用各自驱动程序中的I/O函数进行具体设备的操作。这样,应用程序根本不必考虑操作的是设备还是普通文件,可一律当作文件处理,具有非常清晰统一的I/O接口。所以file_operations是文件层次的I/O接口[4]。 [资料来源:http://think58.com]
3.2 framebuffer驱动
帧缓冲区是出现在Linux 2.2.xx及以后版本内核当中的一种驱动程序接口,这种接口将显示设备抽象为帧缓冲区设备区。帧缓冲区为图像硬件设备提供了一种抽象化处理,它代表了一些视频硬件设备,允许应用软件通过定义明确的接口来访问图像硬件设备。这样软件无须了解任何涉及硬件底层驱动的东西(如硬件寄存器)。它允许上层应用程序在图形模式下直接对显示缓冲区进行读写和I/O控制等操作。通过专门的设备节点可对该设备进行访问,如/dev/fb*。用户可以将它看成是显示内存的一个映像,将其映射到进程地址空间之后,就可以进行读写操作,而读写操作可以反映到LCD。
think58

[来源:http://think58.com]