首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 单片机栏
基于Linux系统的嵌入式工控量热仪设计与实现
来源:本站整理  作者:佚名  2010-03-23 11:29:48



1 引言
现在大多数的发电厂、煤炭矿厂以及各大小级别实验室中所使用的工控量热仪都是这样的一个框架:完成仪器试验测试控制的下位机控制模块;提供人机交互,传输和接收命令、数据的上位机模块;以及两模块间的连接通信设备。在此系统中下位机通常使用的是单片机来完成对试验仪器的控制,并负责从通信设备 usb68013接收到数据,提取相应的试验控制命令来控制仪器试验。这里主要讨论的是系统上位机的构建和实现,对下位机不做进一步的讨论了。那么对于系统的上位机通常的做法就是使用 pc机,当然,通用 pc机有着丰富的资源,不管是它的 cup时钟频率、内存资源、以及对系统各种软硬件管理的能力等,都有着其它替代品不可比拟的优势。但是,使用 pc作为设备的上位机,一个昀大的缺点就是它体积大、不便携等,同时,随着仪器生产商为了能降低生产成本,因此,在能完成仪器整体功能的同时,极力的去寻找使仪器体积小、便携、近似 pc机功能的上位机系统。因此,基于 arm嵌入式系统应用于这样的仪器上就是个非常好的方案。
2 系统设计方案
嵌入式工控量热仪必须要在追求仪器设备体积小、便携的基础上,力求实现原来量热仪设备相应的功能,因此,得到下面几点设计方案:
①使用主频尽可能高的微处理芯片,同时具有很好的内存管理功能;
②对于片上资源和各种外设的接口的扩展。考虑到数据存储、内核、文件系统、图形库及应用程序在系统中所占资源,选用合适的 Flash闪存和 SDRAM;同时,与外围仪器的连接通信扩展出一个 USB Host接口、一个网口 RJ45、一个标准串口等;
③为了实现人机交互和仪器的便携,系统中设计出触摸屏式高级用户交互图形操作界面;

2.1系统硬件框架图


如上图,系统上位机中使用的微处理芯片是三星公司的 arm920T S3C2410A;Flash存储器采用 Samsung公司的 K9F1208U0M Nand Flash存储器,存储容量为 64MB,这种非易失性存储器是高数据存储密度的理想解决方案,它能擦写一百多万次,具有很长的使用寿命; SDRAM存储器采用 HY57V561620CT,在此使用两块,每块大小为 32MB;为了实现人机交
互,以及从系统便携等方面考虑,系统使用了触摸屏,当然还扩展出串口、网口等,以上就是整个系统上位机的硬件框架。上位机和下位机间的通信设备使用的是 EZ-USB68013,它负责从上位机接受数据和命令,并把下位机实验数据以及各种状态返回到上位机,而它在 linux下驱动编写和移植留到下面再讨论。
2.2系统上位机软件组成
针对上面所讨论的系统硬件构成,以及系统所要完成的功能,下面对系统上位机的软件组成进行讨论。如下是系统上位机的软件组成:


2.2.1嵌入式操作系统设计与移植
在整个系统的设计与实现中内核的配置和移植是非常重要的,本系统使用的是韩国 mizi公司免费提供的嵌入式 linux操作系统,本操作系统体积小、方便剪裁,同时它又包含了现有使用的大部分外围设备的驱动,因此,使用此操作系统可以降低开发成本、加快系统的开发。Arm-linux嵌入式操作系统的移植主要包括如下几步:①建立交叉编译环境。交叉编译环境的建立是进行 arm嵌入式项目开发的基础,它的搭建主要需要三个软件包:binutils、 gcc、glibc。其中 binutils主要用于生成一些辅助工具,如 objdump、as、ld等;gcc是用来生成交叉编译器 arm-linux-gcc;glibc主要提供用户程序所使用的一些基本的函数库。当然,交叉环境的搭建是比较复杂的,很多步骤都涉及到硬件平台的选择,因此,本系统使用的是成都博睿公司所提供的交叉编译器,而对交叉环境的具体搭建这里就不作进一步的讨论了。
②修改配置文件,配置内核。修改配置文件使系统启动时自动挂载 devfs文件系统,配置内核使内核支持 yaffs文件系统。③根据系统需求添加相应的外围设备的驱动。本系统中使用了 EZ-usb68013来实现上、下位机的数据通信,那么就必须要在上位机中添加该通信设备的驱动。如下是在嵌入式 linux操作系统中 EZ-usb68013设备驱动添加的步骤:首先,通过修改内核中/driver/usb下的 usb-skelon.c文件,在 usb-skelon.c中添加 EZ-usb68013设备的 PID和 VID,并修改该目录下的 config.in和 Makefile文件,各添加一行内容,分别为:“dep_tristate ' USB 68013 driver support' CONFIG_USB_68013 $CONFIG_USB”和 “obj-$(CONFIG_USB_68013)+= usb68013.o”,这样就把 EZ-USB68013设备驱动编译进 Linux内核(当昀后系统启动后,在/dev/usb下出现 EZ-usb68013的设备节点 skel0);然后,选中内核对应的配置选项,编译后生成内核的移植镜像文件。

[1] [2]  下一页

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:241,015.60000 毫秒