您当前的位置:五五电子网电子知识电工技术电工文摘基于ARM的陀螺仪测控系统的设计 正文
基于ARM的陀螺仪测控系统的设计

基于ARM的陀螺仪测控系统的设计

点击数:7453 次   录入时间:03-04 11:56:05   整理:http://www.55dianzi.com   电工文摘

  高级应用程序在初始化的时候调用初始化函数初始化串口模块,使串口处于工作状态,串口模块将接收到的数据组合整理,最后存放在一个缓冲区里,高级应用程序调用数据提取函数,则存储在缓冲区里的数据被依次提取出来,供高级应用程序处理。相应地,高级应用程序填充struct UartDataFrame结构变量的各域值,把该结构体变量的指针传递给串口通信模块,串口通信模块会把需要发送的数据缓存起来,排队先后发送出去。

  4.4 高级应用程序

  4.4.1控制主机的高级应用程序

  控制主机主要完成参数的测量与陀螺的控制。由于需要对各种设备进行管理,实现较为复杂的逻辑控制功能,高级应用程序的设计借鉴了面向对象的程序设计方法。以高级应用层的模块功能为基础抽象为程序的对象,每个对象拥有自己的资源,并可以完成某一模块的功能,利用对象间的通信实现模块间的协同工作。程序中定义了以下几个类:

  CLASS_Freq_Measurement //频率测量模块

  CLASS_DAC_Module //D/A转换模块

  CLASS_Control_Module //控制模块

  CLASS_System_State_Module //系统状态模块

  CLASS_Alert_Module //报警模块

  高级应用程序以控制算法为核心,多个任务为控制服务,其中串口数据通信模块采用多进程技术设计,以保证通信及时畅通。系统内核定时对各个通道分时测量,将测得的数据通过回调函数传递给高级应用程序。高级应用程序只需进行简单操作就可提取数据并进行相应的后续操作。

  4.4.2基于MicroWINOOWs的图形界面高级应用程序的实现

  人机交互模块的高级应用程序是基于MicroWINOOWs的图形界面高级应用程序。MicroWINOOWs是一个开放源码的嵌入式GUI软件,目的是把图形视窗环境引入到运行Linux的小型平台上。在利用更少的RAM和文件存储空间的情况下,允许设计者轻松加入各种显示设备、鼠标、触摸屏和键盘等;应用程序代码可用C语言实现,可移植性非常好;支持基于ARM内核的处理器芯片。

  基于MicroWINOOWs的高级应用程序,其程序的基本结构是初始化、创建窗口与资源、进入消息循环。

  在本系统的图形界面高级应用程序中,在消息循环里面有从消息队列里面提取消息的函数PeekMessage(),串口接收缓冲区查询函数以及键盘缓冲区查询函数。应用程序初始化之后,就反复执行这三个函数,获得消息就执行消息处理函数。

5 结论

  本文的创新点在于研究和设计了一种基于ARM的陀螺仪测控系统,该系统在以S3C44B0X微处理器和 Clinux操作系统组成的平台上完成了对陀螺仪各项参数的测量、传输、显示、修改和故障报警等功能,实现了对陀螺仪的监测和控制,同时本系统具有良好的人机交互界面,便于进行监视和操作,也为下一步系统功能的完善和扩展提供了良好的解决方案。本系统经过了长期连续运行实验,工作正常,达到了设计的要求。

参考文献:

  [1]李善平、陈文智等,《LINUX内核指导》,杭州:浙江大学出版社,2002

  [2] Samsung公司,《S3C44B0 Microprocessor——Product overview》

  [3]周立功、陈明计、陈渝等,《ARM嵌入式Linux系统构建与驱动开发范例》,北京:北京航空航天大学出版社,2006

  [4] (美)Charlie Calvert,《21天学通WINOOWs编程》,北京:电子工业出版社,1995

  [5]张进、王永梁,基于ARM7的嵌入式系统中频率数据获取与共享,[J]微计算机信息,No.11: 82-83,2006

上一页  [1] [2] 


本文关键字:陀螺仪  电工文摘电工技术 - 电工文摘