基于ARM内核的嵌入式检测系统设计

时间:2022-09-17 12:05:23

基于ARM内核的嵌入式检测系统设计

摘要:为提高检测系统的多任务处理能力和实时响应性能,数据检测系统是集通信、计算机、工业控制、电子技术为一体的综合性测控系统,设计了基于ARM嵌入式数据检测系统的软件设计和硬件结构。在硬件上,主要采用了ARM微处理器技术,确保了系统的可扩展性和可靠性的不断提高,在奶制品菌群检测中,引入嵌入式数据检测系统,进行实际验证,实践表明,与传统的基于PCI卡数据采集系统相比,检测数据现场施工更为简单可靠,大大提高了检测数据的准确性与实时性,进而实现了自动化检测。

关键词:数据检测;嵌入式;内核;操作系统

中图分类号:TP316文献标识码:A文章编号:1009-3044(2010)21-6121-03

Embedded ARM Core-based Detection System

ZHU Li-ye

(Baoji Arts and Sciences, Baoji 721013, China)

Abstract: To improve detection system of multi-tasking capabilities and real-time response performance, data detection is Ji Ji Tong Communication, computer, industrial control, electronic technology for the integrated monitoring and control Xitong, designed based on the ARM Embedded Data Detection System Software and hardware structure. In the hardware, mainly 了 ARM microprocessor technology to ensure the system scalability and reliability of the continuous improvement in the dairy bacteria detection, into the embedded Data Measuring System, carried out, verification practices show that The traditional data acquisition system based on PCI cards than test data on-site construction is more simple and reliable test data greatly improved the accuracy and real-time, and then automated testing.

Key words: data detection; embedded; core; operating system

嵌入式系统就是将底层硬件、应用软件和实时操作系统有机结合在一起的计算机应用系统,是面向具体应用而设计的。目前,嵌入式系统被广泛应用于消费电子、控制领域产品等行业,已经成为了现代电子产业的一个重要研究方向。

当前,由于奶制品具有极高的营养价值,其在人们消费食品中所占比例越来越大,与日俱增。然而,奶制品作为一种非常容易变质的食品之一,经常会出现由于牛奶变质而造成的中毒事件。过去传统落后的乳品细菌检测方法存在着检测时间过长、检测仪器较少、检测费用昂贵等缺点与不足之处,本文研究了利用ARM嵌入式系统以及图像传感器实现的一种性价比更好的奶制品菌群检测系统。

随着科学技术的日新月异,在许多行业中都出现了检测。同时,也对检测提出了更高更新的要求,希望能够快速准确地完成检测任务,从而实现自动化检测。[1]现在流行的数据检测系统通常采用PCI数据采集卡,它的优点是能够利用PCI总线的研究成果很快地开发系统软件,整体运行速度较快,能够实现实时采集、实时处理,基于PCI总线设计的采集卡目前依然是数据检测系统的主流,由于嵌入式数据检测前端已经把模拟信号转换成数字信号,使得数据检测系统变得更加精准与可靠,并且大大地简化了现场测试的难度。用奶制品菌群测试过程作为对象,从软件和硬件上介绍这个数据检测系统的结构。

1 检测系统总体设计原理

检测系统的原理框图如图1。

如图1所示,奶制品菌群微生物发酵过程十分复杂,这一发酵过程包含微生物细胞的生长和代谢等等,是一个具有随机性、时变性以及多变量的动态过程。有的关键变量的在线检测难度比较大,并且不能直接作为被控变量,因此在发酵过程中,主要采集与质量相关的变量,如电机转速、水箱温度、溶解氧气、通气数量以及pH值等作为被控变量。针对发酵过程中对微生物代谢的环境参数产生影响的重要性,系统仅对温度、pH值、发酵液体积和溶解氧气浓度等进行了实时数据检测。

通过处理器的IIC接口设置图像传感器的内部寄存器,使其按照设定的参数来运行。图像传感器所采集的图像是按照设定的频率,在处理器控制的情况下传送到内部的RAM中,然后由USB接口通过电缆传输到PC机上,从而实现了数据由上位机软件处理。

测试系统设计时需要充分考虑图像采集、传输速度、存储空间、图像清晰程度等因素。图像采集芯片被作为系统选用的图像传感器,它工作于逐行扫描模式的时候,采样速度可以达到30帧,最大分辨率为664×492,可以较好地完成本系统所要完成的图像采集任务[2]。能够通过硬件上电复位时设置,也能够通过SCCB接口进行编程控制。通过硬件上电复位时设置的方式一旦经过设计定型,复位后要再想进行更改就显得十分不方便;而通过SCCB接口进行编程控制的方式能够随时通过I2C接口访问传感器的相关寄存器来实现配置的改变,这种设置方式不仅使用灵活,而且具有很好的可操作性,考虑到系统的继承性和灵活性等因素,本系统选用的就是通过SCCB接口进行编程控制的方式。

2 检测系统硬件方面设计

检测系统所采用的ARM硬件平台基于嵌入式操作系统,主要用来满足系统较高的实时性需求,不仅满足了软、硬件功能升级、扩充以及修改等需求,而且大大缩短了开发周期,进而有效地降低了研发成本。

检测系统硬件设计最重要的组成部分包括IIC接口、SCCB接口连接、三个时序信号HREF、VSYNC和PCⅨ的连接,处理器通过I2C接口与SCCB接口的相连,这两种接口在功能上基本是一致的,都是使用两根线来连接,即一根时钟线SCL,一根数据线SDA。其接口电路比较简单,这也是I2c接口的主要优点。SCCB具有三个十分重要的参考信号输出[3],它的时序如图2所示。

1)嵌入式处理器

系统使用基于ARM内核RISC嵌入式的微处理器,主要应用在高性价比和低功耗的场合[4]。运行频率通常是203 Hz,具有优良的片上资源:16K高速缓存(cache),一个LCD控制器(支持TFT和STN具有触摸屏的液晶显示屏)。三个通道UART,2个USB主机接口8通道的10位ADC,一个USB设备接口。2个SPI接口,四个计时器(具有PWM功能)和一个内部时钟。触摸屏接口,SD接口和MMC接口,SDRAM控制器12S总线接口,四个通道DMA,看门狗计数器,117位通用I/0口,8通道l0位AD控制器,24位外部中断源。

2)数据采集模块

下位机系统每间隔1秒就可以通过4个传感器分别对发酵罐的温度、泡沫高度、pH值以及溶解氧气等情况进行实时采集。

3)人机交互模块

本系统根据使用最简化的原则进行了人机交互模块的设计,采用4×4矩阵键盘和点阵液晶显示模块组合的形式。键盘使用4×4的矩阵键盘接口,“行扫描法”方法更加节省口线,检测键盘,仅仅需要8根口线,系统将PF口作为检测键用端口,设定PF4一PF7为键盘读入口,PF0一PF3为输出扫描端口。液晶选用的是MG12864―7型点阵液晶模块,显示体积仅为54am×50am×6.5am,容量为128×64个点,内部带有EL背光逆变器和10V电压产生器,使用单5V的电源进行供电。

4)其它功能模块

其他功能模块主要包括JTAG接口模块、超限报警模块、电源、时钟电路、存储器模块、异步串行通信模块等。

2 系统软件设计

根据系统设计的要求,将系统软件分为上位机软件和下位机软件两部分。

1)上位机软件设计

为了实现对现场的远程实时管理与监控,上位机监控管理界面是必须编制的。如果使用专业的组态软件进行上位机监控管理界面的编制,要求系统具有较高的硬件配置,而且这带来了昂贵的价格。此外,也不便于软件系统的升级以及后续开发。因此,我们采用了VC++编写上位机的监控软件,VC++作为Windows应用程序开发工程软件,包括监控程序和通讯模块两个部分。采取基于Windows的窗口化程序来进行MFC设计,人机界面更为直观,操作更为简单,且用其来实现底层的通讯控制效率更快。

2)下位机软件设计

在下位机软件设计中,采用了嵌入式系统开发技术。选用嵌入式实时操作系统Fedora,代码密度优化通过Thumb和ARM指令集混合编译来进行。首先是把实时操作系统移到嵌入式微处理器上,再是将系统所要完成的功能细化为几个核心任务,调度由嵌入系统实时内核来实现,从而多个任务的同步执行能够实现,这样,大幅度的提升了系统的实时性和可靠性。

3)应用程序设计

主要是考虑到java语言的跨平台性好,因此,为了今后升级设备时可以直接写入ARM片内去运行,选用了java语言作为开发语言进行本系统的应用软件设计。所谓Java语言的跨平台性就是经过编译之后的java程序,可以在不同的安装了java解释器的软硬件平台上运行,并且程序运行的结果始终保持一致,然而,例如C++等其他计算机语言不具备这种跨平台性[5]。我们选择使用Eclipse进行整个应用程序的开发,进行了操作界面的设计,图像数据接收与处理功能的实现,以及色差与检测系统数据的计算等部分。在设计时,为了使得现有资源得到充分利用,降低开发成本,减少开发时间,由于USB驱动程序和动态连接库能够直接使用,因此选择它们。由于不是用Java Native Interface标准编写的,所以,这个动态库不可以直接在程序中运行,在程序中定义了一个JavaUSBdll类重新对动态库AnyUSB.dll进行了封装,能在我们程序中使用的JavaUSBdll.dll文件通过利用VC++6.0而制作。由getPixData()方法来实现图像数据获取,由drawlmage()方法实现图像绘制和保存,由calculateGwups()方法完成奶制品菌群数量计算的功能。

3 结束语

基于ARM内核的嵌入式检测系统较好地利用了ARM内核处理器丰富的片内资源和寄存器灵活的配置方式,设计出了一种体积小、结构简单、性价比好的检测系统,该系统能够进行实时性的数实时性、具有较高的检测精度和较高的自动化程度以及良好的可靠性、稳定性和抗干扰性等[6]。在奶制品过程环境参量的检测中引入嵌入式数据检测系统,能够实时对奶制品菌群检测系统生产过程进行远程检测,具有非常友好和直观的人机界面,通过简单的操作就能够达到效果。在发酵罐自动化改造中,该系统已经取得了非常好的效果,工程推广价值也非常好。也能够将该系统进行扩展,从而在相关其他领域的过程检测中应用。

本系统也存在一定的缺陷。因为是用java编写的应用程序,必须通过动态连接库来进行对USB口的操作,因此在一定程度上影响了运行速度,在后期可以通过对设备进行改进或升级时,在片内将java程序直接写入去运行的方式,来消除运行速度的影响,从而取得更好的效果。

参考文献:

[1] 王丽,周真,李震.利用色差法检测乳品菌群浓度的研究[J].哈尔滨理工大学学报,2OO4,9(5):47-48.

[2] 车树良,吕英华,王海兰.基于$3C,44B0的图像数据采集方法[J].计算机工程与应用,2O05(12):113-115.

[3] 江川贵,廖启征,魏世民.基于COMS图像传感器的USB接口图像采集系统设计[J].仪表技术,2005(3):18-20.

[4] 贾智平,张瑞华.嵌入式系统原理与接口技术[M].北京:清华大学出版社,2005:149-233.

[5] 谭思亮.Visual C++串口通讯工程开发实例导航[M].北京:人民邮电出版社,2003:149-233.

[6] 雷于红,刘益成,刘凯.基ARM的嵌入式LINUX地震数据采集系统设计[J].微计算机信息,2008,3(2):166-167.

上一篇:数据库查询优化研究 下一篇:JAVA语言中构造方法的继承与重载探讨