阅读 | 订阅
阅读 | 订阅
测试测量

嵌入式多路信号数据采集系统(二)

星之球激光 来源:工控网2012-09-23 我要评论(0 )   

3 系统软件实现 3.1 C/OS2Ⅱ 嵌入式 操作系统 当需要进行多任务处理和 调度 时,一个嵌入式实时操作系统就必不可少。为此系统中采用源码公开的C/OS2Ⅱ操作系统,它具有...

        3 系统软件实现

 

  3.1 μC/OS2Ⅱ嵌入式操作系统

  当需要进行多任务处理和调度时,一个嵌入式实时操作系统就必不可少。为此系统中采用源码公开的μC/OS2Ⅱ操作系统,它具有执行效率高、占用空间小、实时性能优良以及可扩展性强等特点,最小内核可编译至2K字节。

  μC/OS2Ⅱ的移植需要满足以下要求:

  ·处理器的C编译器可以产生可重入代码;

  ·可以使用C调用进入和退出临界区代码;

  ·处理器必须支持硬件中断,并且需要一个定时中断源;

  ·处理器需要能够容纳一定数据的硬件堆栈;

  ·处理器需要有能够在CPU寄存器与内核和堆栈交换数据的指令。

  本系统使用的LPC2134ARM7处理器满足以上所有条件,因此可以对其进行移植。根据μC/OS2Ⅱ的要求,移植μC/OS2Ⅱ到一个LPC2134ARM7体系结构上需要提供2个或3个文件:OSCPU.

  H(C语言头文件)、OS-CPU-C.C(C程序源文件)及OS-CPU-A.ASM(汇编程序源文件)。

  数据采集任务中,采用C语言进行编程,但对于系统的初始化,仍然采用汇编来制作启动代码,它可以实现向量表定义、堆栈初始化、系统变量的初始化、中断系统初始化、I/O初始化、外围初始化、地址映射等操作。#p#分页标题#e#

  芯片复位后,系统初始化流程如图2所示。

 

  系统初始化流程图

  图2 系统初始化流程图

 

  3.2 接口程序及SD卡驱动的实现

  在实时内核下,接口程序读取A/D采样数据的方法通常有三种:程序延时法、ADC转换完毕时产生中断法和程序循环等待的方法。其中循环等待的方法CPU开销小,不需要中断服务,比较适合嵌入式系统中采用。

  循环等待A/D读取数据的伪代码如下:

 

  

 

  之间通过串口相连,采集数据先通过开发板串口UART0发送到无线数据终端AYG285C的缓冲区,然后缓冲区将数据打成一个个数据包,通过GPRS网络发送到远程数据处理中心。因此,在μC/OS2Ⅱ下LPC2134的UART底层接口驱动显得尤为重要。

  UART0初始化函数片断如下:#p#分页标题#e#

 

  

 

  在本系统中,串口通信采用8位数据位,1位停止位,奇校验,无流控制。在实际使用中为接收数据稳定波特率设置为9600bps效果较好。在测试系统中,测量到的数据范围为10-6~101,有效数字为4位,所以在发送数据时采用每帧数据由3个字节组成,第1个字节为数据指数部分,高四位为0,低四位中的第四位表示指数符号,0表示正数,1表示负数;其余三位表示指数的数值部分。

  后续两个字节为数据底数部分,采用压缩的BCD码编码方式,高位在前,低位在后,即一个字节表示两位十进制数,则两个字节表示四位十进制数。

  LPC2134的UART0使用中断方式进行通信,这样不会占用CPU很多时间,效率比较高。当中断服务处理子程序接收到一次中断,它仅能知道UART0产生了中断,还需要查询中断标志寄存器U0IIR,依据不同中断源类型进行不同处理。在处理完当前的中断源类型之后,不能立即退出服务,而应当继续判断U0IIR寄存器最低位是否为0。

  如果为0,则表示还有尚未处理的中断,应该继续根据U0IIR[3∶0]判断中断源类型,进行处理,直到U0IIR的最低位为1,最后发送中断结束命令结束中断服务处理程序。

  SD卡读写软件移植到ARM7微处理器LPC2134上的结构图如图3所示。其中硬件抽象层是读写SD卡的硬件条件配置,是与硬件相关的函数;命令层包含SD卡的相关命令以及卡与主机之间数据流的控制,这一层与实时操作系统μC/OS2Ⅱ相关,与硬件无关;应用层是向应用程序提供卡的API函数,这一层由实时操作系统μC/OS2Ⅱ控制。

 

  SD卡读写软件移植结构图

  图3 SD卡读写软件移植结构图#p#分页标题#e#

      

        3.3 应用程序实现

  系统初始化完成后,创建各个任务,进入多任务调度处理。应用程序框架流程如图4所示。

  本系统的主要任务是完成数据采集。系统在得到远程数据中心的采集命令后,选择适当的采集通道,并设置A/D模块参数。在采集过程中判断是否要停止,如果停止,任务处于等待挂起状态。

 

  应用程序框架流程图

  图4 应用程序框架流程图

 

  4 结语

   本系统采用了ARM+RTOS以及ARM+GPRS的方案,选取适当的器件构成了多路的数据采集系统,具有一定的实用价值。考虑到现场采集到的多是小信号,为了有较好的准确度和精确度,对A/D后的采集数据还要进行分析和调整,然后再发送到数据处理中心。为此,可以进行反复实验,获得多组数据,最后通过最小二乘法曲线拟合来提高准确度。另外,随外界环境的变化,也可以修改拟合曲线以适应具体的应用。随着3G时代的来临,大量数据信息的传输成为可能,可以考虑采集现场的相关视频信号。在短消息功能,数据加密技术以及软件操作和文件管理上还有待进一步开发和优化。

 

转载请注明出处。

暂无关键词
免责声明

① 凡本网未注明其他出处的作品,版权均属于hth官方 ,未经本网授权不得转载、摘编或利用其它方式使用。获本网授权使用作品的,应在授权范围内使 用,并注明"来源:hth官方 ”。违反上述声明者,本网将追究其相关责任。
② 凡本网注明其他来源的作品及图片,均转载自其它媒体,转载目的在于传递更多信息,并不代表本媒赞同其观点和对其真实性负责,版权归原作者所有,如有侵权请联系我们删除。
③ 任何单位或个人认为本网内容可能涉嫌侵犯其合法权益,请及时向本网提出书面权利通知,并提供身份证明、权属证明、具体链接(URL)及详细侵权情况证明。本网在收到上述法律文件后,将会依法尽快移除相关涉嫌侵权的内容。

网友点评
0相关评论
精彩导读
Baidu
map