你的位置:论文发表 >> 论文下载 >> 计算机论文 >> 计算机网络 >> 详细内容 在线投稿

基于ARM9-μC/OS-II 的多任务A/D采集系统设计与实现

浏览190次 时间:2015年1月21日 16:55

谢加明 广州市花都区技工学校 510800

【文章摘要】

为了实现快速有效的数据采集和数模转换,采用基于ARM9 微控制器S3C2410 和嵌入式实时操作系统μC/ OS- Ⅱ的多任务A/D 采集系统。不仅能够以高精度、可靠、稳定、实时完成多路模拟量信号以及开关量信号的数据采集, 并实时在LCD 显示。系统软件在ADS1.2 编译环境下完成,采用C 语言与汇编语言混合编程,充分利用了不同语言的优点。文中构建了系统的总体的设计方案,详细给出了硬件电路设计的方法,同时介绍移植μC/OS-II 嵌入式操作系统的关键以及软件设计的要点。

【关键词】

S3C2410 微控制器;μC/OS-II 操作系统;A/D 数据采集;LCD 实时显示

中图分类号:TP274.2

0 引言

在当今计算机技术得到快速稳定的发展,人们对所取的信息越来越大,考虑在便携式计算机上处理的各种领域的信息,新的嵌入式技术应运而生,它综合了先进的半导体技术、计算机技术、、电子技术等,也包括了不断创新的知识集成了体系。以至于嵌入式应用产品的大规模生产,它的应用范围出现在智能机器人、移动终端等领域,特别在信息时代,人们对信息领域的需求量逐渐增大,数据采集和图像采集及其应用技术受到了重视和应用。正是由于科学技术的发展,数据采集和人脸识别系统正向以着高精度、集成化和微型化的方向发展。目前,作为一个独立的大多数的数据采集监控系统,只能完成数据的工业现场采集或储存,这样满足不了实时通信。现代数据采集系统的发展正是依赖于嵌入式系统基础之上的完成。比如,基于ARM920T 内核的数据采集和处理系统是单片机应用领域中使用最成熟的一类系统。数据采集是获取信息的基本手段, 数据采集系统可对物理量进行采集、存储、处理和显示, 实现对物理量的监测或控制, 将处理后的数据送到显示设备进行显示, 也可通过串行口送给其它计算机。以嵌入式系统为平台的数据采集系统就应运而生。在嵌入式系统中,主要涉及到可移植性、可裁剪性、系统服务、中断管理、稳定性和可靠性等几个过程。针对系统具有需要可靠性,稳定性、实时性的特点,嵌入式数据采集系统将具有十分广阔的前景。

1 系统总体设计

系统总体设计主要包括软件设计和硬件设计。该系统以ARM9 微控制器S3C2410 为中心的硬件和基于嵌入式实时操作系统μC/OS- Ⅱ的软件两部分而成。底层硬件层是数据采集系统,它主要完成实时数据采样、编码、并送入模数转换器变成数字信号,然后对通过协议传至尚上位机。上位机通信接口将实时数据发送到LCD 显示,系统框架如图1 所示。

其中最上层是AD 采集系统的应用程序层,分成5 个任务,分别是主任务,三通道的AD 任务,LCD 刷新任务。各个任务的优先级设置为12,20,21,22,23。便于任务管理与调度。中间层是μC/OS- Ⅱ操作系统,最底层则是硬件层,以微控制器S3C2410 为核心的硬件平台。

2 硬件设计

系统资源以ARM9 微控制器为核心, 外围电路资源有电压调整电路,AD 采集电路,JTAG 电路,时钟复位电路,RS232 电路,LCD 显示电路,电源电路等,硬件系统设计框图如图2 所示。

2.1 模拟量输入电路

S3C2410 内部有一个8 10 位逐次逼近式A/D 转换器, 最大转换率为500KA/D 转换器的最高时钟频率是2.5MHz,A/ D 转换器的基本时钟由APB 总线时钟提供, 10 位精度要求的转换需要11 A/D 转换时钟。配合多路模拟开关、信号放大调理电路以及相应的控制电路, 可以完成8 0-5V 电压信号。

2.2 RS232 通信接口电路

S3C2410 处理器自带3 UART 端口,每个UART 通道都有16 字节的FIFO 用于接受和发送。系统时钟最大波特率可达230.4K,如果使用外部时钟UART 可以更高的波特率运行。因此, 选用UART1 接口通过MAX3232 PC 进行交互。RS- 232-C 标准采用的接口是9 (DB9) 25 (DB25) D 型插头, 本系统采用的是比较常用的9 D 型插头。具体连接电路如图3 所示。其中5 0.1μF 的去耦电容用来提高抗干扰能力。

2.3 LCD 驱动电路

S3C2410 处理器的LCD 显示采用LCD 显示屏,需要与驱动电路相配合使用,特点是体积小,需要另外加驱动芯片,如图4 中的74HC245 芯片。它是一个总线收发器,内部集成CMOS 三态缓冲门电路。LCD 供电电压5V 或者3.3V 通过跳线JP501 设置。LCD 显示采用640×480 TFT 彩屏。

2.4 电压调整电路

该电压调整电路产生最大电压值为3.3V,最小为0V。在电路中采用最大电阻为10K 的电位器来产生不同电压值。其中L1001 是高频磁珠,用来隔离和储能作用。通过AIN0AIN1AIN2 调节按钮来实时更新显示。如图5 所示。

3 软件设计

软件设计主要涉及包括嵌入式实时操作系统μC/OS-II 的移植以及相关任务子程序设计。

3.1 μC/OS-II S3C2410 上的移植

在该系统采用了嵌入式实时操作系统μC/OS-II, 内核具有多任务抢占式可固化实时特点。支持64 个任务, 最多可以支持56 个用户任务,其中统计任务优

1 嵌入式AD 采集系统框图

2 硬件电路系统框图048

软件开发

Software Development

电子制作


先级比空闲任务优先级高,分别是64 63。软件调试平台采用ADS1.2 , 可以生成可执行文件并用AXD 软件调试。首先将μC/OS-II 移植到S3C2410 处理器上, 需修改的文件主要包括。它们分别是内核文件(OS_CPU.H 文件,OS_ CPU_C.C) 文件和启动代码文件(OS_CPU_A.S 文件)。对于内核文件中的OS_CPU. H 文件, 根据AXD 仿真器要求修改数据参数主要涉及:类型定义、宏定义、堆栈单位、堆栈增长方向。对于内核中另一个文件OS_CPU_ C.C , 它采用用C 语言编写6 个操作系统相关的函数(Function OSTaskCreateHook F u n c t i o n O S T a s k D e l H o o k F u n c t i o n OSTaskSwHook Function OSTaskStatHook Function OSTimeTickHookFunction OSTaskStkInit)其中被可以简单地空函数是前5 个函数。而对于启动代码文件OS_ CPU_A.S 中编写4 个与处理器相关的函数都是采用汇编语言, function OSStart HighRdy() 作为运行优先级最高的就绪任务) function OSIntCtxSw ()( 中断级的任务切换函数) 和 ,function OS2TASK2SW() ( 任务级的任务切换函数) function OSTickISR()( 时钟中断处理函数) 。整个μC/OS-II 移植过程基本上采用汇编语言。

3.2 子程序设计

任务子程序包括几类程序。它们是系统初始化程序、A/D 数据采集处理程序、初始化系统消息、LCD 显示程序、串口初始化及处理程序等。待系统初始化和启动以后, 数据采集系统程序完成启动模数转换, 将采集数据存入存储器中(NAND flash)并送入显示缓存区。通过显示程序把将存储器中缓存区数据进行显示在LCD 屏幕上。负责输出当前的电压值由串口处理程序来完成,初始化A/D 设备将在主任务程序中启动,实时显示出以采集到的电压值作为幅值显示一个周期为π/10 的正弦波形。以及调用各种子程序和中断服务程序相互嵌套调用。系统通信程序包括串口通信, 是系统软件设计的关键。程序流程图如图6 所示。

LCD 显示任务主要是通过任务优先级的高低,来调整任务运行来实现。正弦波形的显示主要通过创建设备上下文DC,即函数CreateDC()。初始化ADC 则通过init_ADevice() 函数实现。该函数放在Main_Task 任务中,如果放在其它的子程序中,始终无法实现。因为主任务的任务优先级大于AD 任务的优先级,在AD 任务中采用GetADresult() 来保存采集到的数据。然后将这些数据作为幅值显示一个周期为π/10 的正弦波形。图形结果如图7 8 所示。由于图形较多,只列出电压值为3.2V 时的波形图。

4 结束语

在设计中,主要是针对微控制器S3C2410 数据采集系统进行研究与设计。系统以32 ARM902T 为内核,充分利用现有硬件资源, 以其自带的ADC 作为模数转换器件,提高了转换效率以及系统的实用性。软件方面移植了实时操作系统μ C/OS-II 内核, 系统易于构建, 便于扩展, 系统的可靠性和实时性也得到很大提高, 具有较良好的应用前景。

【参考文献】

[1] 陈平, 欧阳斌林. 基于ARM 的数据采集系统的设计[J]. 东北农业大学学报,2008,(4):99-101.

[2] LABROSSE JJ. 嵌入式实时操作系统μ C/OS-II [M]. 邵贝贝, . 名北京: 北京航空航天大学出版社,2003.

[3] 李莉, 夏路易. 基于ARM 处理器和嵌入式实时操作系统的数据采集装置设计[D]. 太原:太原理工大学, 2006.

[4] 周立功等.ARM 嵌入式系统基础教程[M]. 北京:北京航空航天大学出版社,2005.

[5] 靳其兵. 单片机数据采集卡及其实时多任务机制的实现[J]. 自动化仪表,2002 ,23(6):33-35.

[6] 刘锐, 王林. 基于ARM 数据采集系统的设计[J]. 中国测试,2010,36(4):89-92.

[7] 唐明军, 杨润贤. 嵌入式数据采集系统的设计[J]. 仪器仪表与检测技术,2009,28(10):100-102.

6 程序流程图

7 串口显示图

4 LCD 驱动电路

8LCD 显示采集结果图

5 电压调整电路

3 RS232 电平转换电路图049

上一篇 下一篇

论文发表与咨询

论文发表 写作指导 职称论文 毕业论文 客服联系方式:
投稿信箱:lunww@126.com
在线咨询客服QQ:站点合作85782530
在线咨询客服QQ:站点合作82534308
联系电话:18262951856
点击进入支付宝支付(支付宝认可网络诚信商家)
点击进入财付通支付(财付通认可网络诚信商家)
点击进入支付方式---->>>>

论文发表 诚信说明

论文发表 论文投稿 热点图片