新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于eCos在基于ARM7硬件平台上的应用

基于eCos在基于ARM7硬件平台上的应用

作者:时间:2010-07-27来源:网络收藏

  (1) 组件定义语言CDL

  CDL是组件框架中的一个关键部分,所有模块的程序包中都包含一个CDL脚本对该包进行描述并提供配置选项。以本系统中的串口驱动程序包为例,在该包对应的CDL中定义了一个名为CYGPKG_IO_SERIAL_ARM_AT91的cdl_package。在这个cdl_package中详细列出了该包的一些属性,如该包必须在工程已经包含了抽象层包CYGPKG_HAL_ARM_AT91和上层串口I/O包CYGPKG_IO_SERIAL的情况下才会被使能。另外,串口的一些常用特性,如波特率、设备名、缓冲区大小等配置选项也是必不可少的。在一些复杂的CDL中还会包含对该包中的源程序进行编译时的一些编译选项。在进行配置的时候,该包还会产生一个包含了各个可配置参数数值的头文件。当其他包使用由CYGPKG_IO_SERIAL_ARM_AT91包提供的可配置参数时,这个新产生的头文件就会被相关的源文件通过#include语法包含。

  (2) 组件仓库ecos.db

  ecos.db是一个包含了所有可用程序包和配置模版的文本文件。在该文件中,需要注册所有的CDL包。在注册时以package关键字提供相应包的名称、CDL脚本文件的文件路径以及对该包的一个简单描述。在ecos.db中还会以target关键字生成配置模版,从而提供目标的一些基本组成结构,使目标包括所需要的已经注册了的CDL配置包。

  (3) 图形配置工具configtool

  configtool是利用MFC编写的Windows程序,是可配置性的执行者,也可以理解成是CDL脚本的解释器。一方面它读取ecos.db文件中的目标和已注册的配置包信息,根据配置包的路径找到相应的CDL脚本,然后根据脚本中给出的属性向程序员提供图形化的配置信息;另一方面,它还可以接受用户的输入,包括单选按钮、复选框、下拉列表、文本输入等。当用户保存一个配置时,configtool会根据CDL语言的提示生成相应的头文件,也会将指定的头文件从配置包中复制到配置文件所在的工作目录。无论是生成的头文件还是拷贝的头文件,都会在编译时被源程序所引用。对于内核源程序,configtool又可以理解成编译器。当用户的配置选项被保存并且对工程进行编译时,configtool会在后台调用真正的编译器GCC,根据配置包CDL中的编译选项控制GCC对所有需要的内核源文件进行编译并生成库文件和对应的链接脚本。当然configtool只是对eCos内核进行编译,用户的程序只需在编译时和由configtool编译生成的库文件进行链接就可以得到最终的可执行映像文件。

  2 系统框架

  本系统是一个以为核心构成的测控系统,通过对传感器的脉冲信号进行处理而得到待测物料的流量,并通过控制给料器的给料速度达到流量控制的目的。对于一个有实用价值的测控系统,必须具有人机交互、闭环控制、数据通信和存储等功能。本课题所研制的流量测控系统的框图如图3所示。

  图3 流量测控系统硬件框图

  图3中,处理器为内核的工业级芯片AT91M55800,其强大的功能保证了系统的实时性和稳定性的要求。2 MB的Flash SST39VF160用来保存程序代码、测量所需的一些参数以及测量结果的简单统计信息。在工业生产中,经常需要对一次测量中的数据进行历史再现,以便对一些事故或故障进行排查。本系统通过采用1 MB的大容量RAM来实现这一功能:除了用来作为程序运行时的内存外,RAM还用来实时保存每一时刻的测量数据。USB总线的通信口用来和现场计算机进行通信,以实现一些更加完善的处理,如数据打印、结果分析、实时数据的硬盘保存等。分辨率为320×240的LCD用来作为系统的显示终端配合4×5的键盘来完成系统的人机交互操作。对变频器的控制和对温度信号的采集通过485总线完成。6路脉冲信号是本系统测量功能的核心,通过对这6路脉冲进行处理可以得到流量相关的所有信息。4~20 mA电流信号用来控制给料系统,以实现闭环控制。由于在工业环境中使用,对于一些长线连接必须采取隔离措施。本系统对测量脉冲、485通信信号和4~20 mA电流信号都采取了光电隔离措施。



评论


相关推荐

技术专区

关闭