基于ARM9的数据采集与传送系统设计

2010-01-10 03:35
关键词:液晶显示下位内核

高 瞻

(四川大学计算机学院,四川成都 610064)

0 引 言

数据采集系统作为一种典型的嵌入式系统,已得到广泛的应用.早期的数据采集系统基于 ISA、PCI总线,系统庞大而且难以扩展.单片机的出现使数据采集系统得到了发展,基于单片机的数据采集系统在一段时间内被广泛应用,但单片机处理数据能力比较低.随着数据采集的要求不断提高,基于DSP、FPG A等高端微处理器的数据采集系统开始发展,同时,基于PC的高速数据采集系统也日趋成熟.但随着ARM时代来临,数据采集系统也必将被以ARM为核心的新一代数据采集系统所取代.

1 系统功能结构

本文设计的系统主要实现以下功能:①前端数据采集;②数据高速缓存以及对数据压缩传输到上位机监控程序;③下位机显示模块.系统工作的整个流程是:数据采集模块将外部传感器数据采集到之后直接送到缓存(SDRAM),经数据压缩后,通过网络传送到上位机监控程序.同时,也将基本数据参数显示在下位机液晶显示模块上.这样在没有上位机的情况下也能实时观察到数据.系统工作原理框架图如图1所示.

2 系统硬件结构

根据系统功能的要求,本系统的硬件包括前端的数据采集、ARM核心板、语音通道、数据传输以及液晶显示模块.硬件结构如图2所示.

图1 系统工作原理示意图

图2 硬件结构示意图

2.1 前端数据采集

传感器模拟信号经过调理电路之后,进入数据采集模块转换成相应的数字信号.数据采集模块的核心A/D采用的是AD公司的低功耗、高性能、高性价比的单通道12位的逐次逼近串行数模转换器AD7466[1].该款芯片具有8通道、能够大量传输数据的功能.ARM9将数据采集卡采集到的数据通过网络传输到上位机监测控制终端和液晶显示模块.

2.2 ARM核心板

本系统采用的ARM9是目前应用最广的ARM9处理器——三星 S3C2440[2],该芯片是完全围绕ARM920TARM Thumb处理器构建的系统,1.2 V内核,1.8 V/2.5 V/3.3 V储存器,3.3 V扩展I/O,16 K B指令Cache(I-Cache)/16 K B数据Cache(D-Cache).操作频率:Fclk 400 MHz,Hclk 136 MHz,Pclk 68 MHz.支持IIS音频编解码器接口,10/100 M自适应网卡,20针JTAG调试口并集成了LCD专用控制器.此外,它还具有丰富应用外设及标准的接口,具有低功耗、低成本、高性能等特点.

2.3 数据传输和液晶显示

2.3.1 数据传输.

本系统的数据传输采用的是10/100 M自适应网络传输,网络控制芯片选取DAVICOM公司的DM9161,该芯片是一款针对10/100 Mbps低功耗网络传输芯片.在媒体方面,它直接提供一个UTP5 (Unshielded Twisted Pair Category 5)编码的100 Mbps高速以太网,而在10 Mbps以太网方面则是UTP5 UTP3编码.通过独立媒体接口MII(Media Independent Interface),DM9161就可以连接到MAC(Medium Access Control)层,从而确保高速的数据接入.

2.3.2 液晶显示.

系统液晶模块选的是点阵液晶——飞宇达公司的FY D12864-0402B[2],它是一款内置ST7920控制器的128×32点阵图形液晶显示器,通过对ST7920控制器的编程应用,可以实现字符和图形的显示.

3 系统软件结构

在软件的设计方面,本系统软件架构采用了TCP/IP协议分层的思想[4]:整个软件系统首先由VIVI引导起来,然后依次加载Linux内核与根文件系统;下位机应用作为守护进程在Linux启动时自动加载,上位机的监视程序在下位机启动之后自动获取数据信息;驱动层的软件被直接编译到内核模块中.系统软件架构如图3所示.

3.1 嵌入式Linux构建

嵌入式Linux系统由引导程序bootloader、裁减过的Linux内核和根文件系统组成.由于篇幅原因,本文只介绍Linux内核的裁减和下载.

3.1.1 Linux内核裁减.

图3 系统软件层次图

Linux内核裁减步骤包括:①解压linux源码包, tar-zxvf kernel-2.6.13.tar.gz-C/;②进入工作目录,cd kernel-2.6.13;③导出编译器PATH,export PATH=/ usr/local/arm/2.95.3/bin:PATH;④清除中间文件, make clean;⑤配置内核,make menuconfig,菜单配置界面;⑥进入配置界面;⑦生成依赖文件,make⑧生成镜像文件arm-linux-zImage.

完成上述步骤后,编译不报错就可以在/arch/ arm/boot/目录下找到zImage文件.

3.1.2 Linux内核下载.

利用tftp工具将编译好的内核Image文件下载到目标板,目标板配置如下:

3.2 应用程序

系统的应用程序分为下位机程序和上位机程序.下位机程序运行在以ARM为核心的硬件平台上,上位机程序运行在的PC机上,接口程序采用的是LabWindows/CVI8.0开发软件[4].该监测程序主要包括主程序、显示子程序、通讯子程序和中断子程序等,其程序流程图如图4所示.

4 结 语

利用ARM9的低功耗,高性能等特点,我们设计了体积小、功耗低的嵌入式数据采集和传送系统.经过调试和应用表明,该系统具有良好的用户界面,能在没有外接电源的复杂环境中采集数据,并具有良好的软硬件可裁剪性和扩展性.

图4 系统程序流程示意图

[1]AD Corporation.AD7466/AD7467/AD7468 datasheet[G].AD Corporation,2008.

[2]Samsung Corporation.S3C2440A datasheet[G].Samsung Corporation,2002:30-45.

[3]FY D Corporation.FY D12864-0402B LCD datasheet[G].FY D Corporation,2002:90-103.

[4]蒋志发.基于ARM9的信号采集系统软件设计与实现[J].成都大学学报(自然科学版),2009,28(2):46-49.

[5]游 磊.基于AT91RM9200的点阵图形液晶模块接口设计[J].成都大学学报(自然科学版),2007,26(4):323-325.

猜你喜欢
液晶显示下位内核
强化『高新』内核 打造农业『硅谷』
基于嵌入式Linux内核的自恢复设计
Linux内核mmap保护机制研究
发射机房监控系统之下位机
基于TRIZ理论液晶显示模块开发板的创新设计
微生物内核 生态型农资
景洪电厂监控系统下位机数据传输网络改造
围观党“下位”,吐槽帝“登基”
122×32 点阵液晶显示汉字原理实验
CAN总线并发通信时下位机应用软件设计