摘要:随着计算机技术的飞速发展,嵌入式操作系统广泛用于航空航天.工业控制.通讯等领域.其主要通过对计算机及机电系统接口的管理来实现对其它设备的控制.监视和管理功能.本文介绍了中断技术.缓冲技术.通道技术以及DMA 技术等四种嵌入式操作系统设备管理.并通过虚拟仪器labview 程序设计对嵌入式操作系统驱动程序进行了开发设计.
1 嵌入式操作系统及其硬件设备
嵌入式操作系统(Embedded Operating System,简称:
EOS),是指在嵌入式系统中包含有操作系统的计算机系统,它是嵌入式系统设计的,是控制.辅助系统运行的重要单元.其主要包括软件层和硬件层.典型的嵌入式系统如图1 所示;
图1
EOS 常见主要有Windows Embedded 操作系统.嵌入式Linux 操作系统.VxWorks 操作系统.手机类的Android操作系统.手机类iOS 操作系统.uClinux 系统等.EOS可以分为实时性嵌入式操作系统以及非实时性嵌入式操作系统.实时性主要是针对通信领域以及控制方面来进行的,非实时性则主要是针对消费类进行的.硬件层主要包括嵌入式处理器以及嵌入式外围设备,嵌入式处理器主要包括微处理器.微控制器.DSP 处理器(即数字信号处理器).嵌入式片上系统芯片等具有控制功能的硬件设备.
嵌入式外围设备则是指除了嵌入式微处理器之外的硬件设备,主要包括用于存储功能的存储设备.用于通信连接功能的通讯设备以及显示类设备等.
2 嵌入式操作系统中设备管理
EOS 中设备管理主要是指对嵌入式操作系统中的嵌入式处理器(包括微处理器.微控制器.DSP 处理器以及嵌入式片上系统芯片)以及嵌入式外围设备进行管理.嵌入式外围设备具体包括:ROM 存储器.RAM 存储器.SRAMDRAM 存储器.FLASH 存储器.EPROM 存储器.嵌入式计算机与机电系统接口(如串口.以太网接口.I2C接口.USB 接口以及红外接口等).触摸屏幕.LCD 显示屏幕等.嵌入式微处理器的设计是基于计算机系统的处理器进行的,主要包括Power PC.Aml86/88.ARM 等;嵌入式微控制器多用于工业方面的控制,实现嵌入式微控制器扩展功能的模块主要包括I/O 接口.D/A 与A/D 转换接口等.嵌入式片上系统芯片主要包括CPU 单元(中央处理器).外部电路.外部接口.存储模块等.
对设备进行管理的目的主要有两方面:是通过对设备的管理使设备的利用率得到提高;第二是通过对设备的管理使得操作系统更简洁.友好,有利于操作方式简便.统一.首先关于设备的利用率,是通过中断技术.缓冲技术.通道技术以及DMA技术等对系统各种设备统一管理,可以提高I/O 接口以及CPU 等运行效率.
在计算机应用中,EOS 的设备管理即是对计算机进行控制,本文主要从计算机控制角度介绍EOS 的设备管理.
计算机设备控制管理技术是一种主要作用于嵌入式计算机及机电系统接口应用中的技术,主要包括中断技术.缓冲技术.通道技术以及DMA 技术等.中断技术是指在嵌入式系统中,通过中断驱动的方式对I/O 接口进行管理控制,流程是检测I/O 接口控制器所处状态,或出错或准备就绪.读取指令,然后向RAM 写入指令,或传送完成或没有完成,没有完成便向I/O 接口控制器发送一条指令;缓冲技术可以用来减少CPU 与I/O 接口匹配不符的矛盾,缓冲系统主要分为硬件缓冲以及软件缓冲,硬件缓冲是指用作缓冲器功能的专用寄存器,软件缓冲是指EOS 中划出的用于缓冲的区域,缓冲也可分为循环缓冲.单缓冲以及双缓冲等;通道技术是指与设备控制器一起,通过通道程序实现对I/O 接口的控制管理,其特点是指令中含有的信息量较大,对I/O 接口的指令主要分为I/O 指令和通道指令;DMA 技术即直接存储器访问模式,可以进一步使CPU 对I/O 接口干预减少,主要包含数据预处理.传送数据.数据后处理等阶段.
3 嵌入式操作系统中设备驱动程序的开发关于EOS 中设备驱动程序的开发,本文主要基于的驱动程序开发环境是虚拟仪器labview 程序设计,并且涉及DSP 应用以及捷联惯导系统(SINS)中陀螺仪信号的检测和分析等.
Lab view 是程序开发环境的一种,由美国国家仪器公司(NI 公司)研发, Lab view 编程系统的函数库主要包括采集数据.分析数据.显示数据.存储数据.GPIB 以及串口控制等.与C.Basic 等开发环境相比较,Lab view的不同之处在于其所使用的计算机开发语言为基于图形化编辑的G 语言,其产生的驱动程序形式为框架图形式,而其他计算机语言如C 语言等,大部分是基于文本格式.
虚拟仪器即virtual instrument 是一种数据采集系统,它的组织依据是仪器的需求.虚拟仪器主要应用于Lab view编程系统,主要依据的理论原理是DSP 以及计算机数据采集.
在lab view 中开发设备驱动主要有三种方法:直接对端口进行读写.通过CLF(Call Library Function)节点调用DLL 函数,以及通过CIN 节点调用由C 语言编写的程序,基于EOS 中设备驱动程序开发的lab view 程序设计步骤主要包括:分析EOS 设备驱动程序开发任务(包括分析开发终目标.会出现的问题以及解决方案等),将虚拟仪器嵌入Lab view 编程系统(DSP 应用以及捷联惯导系统中陀螺仪信号的检测和分析),对算法进行设计(主要包括选择程序开发过程中的算法以及详细步骤等),进行编程程序(将算法编写成为计算机G 语言,并编辑.翻译.连接源程序),调试程序(对编写出来的EOS 设备驱动程序进行试运行,并分析其结果,如果有不符合要求的地方,对其进行调试),记录程序设计步骤并编制说明书.
捷联惯导系统中陀螺仪信号的检测和分析主要是指对陀螺仪表等惯性元件的原始信号进行传感.测试度量.数据采集.数据分析的步骤.DSP 是用数字形式对信号进行处理的技术,处理方式主要包括分析处理.滤波处理.变换处理.检测处理.解调处理.快速计算以及调试处理等.DSP 设计包括预设数据以及信号指标,语言模拟,DSP 硬件设计,DSP 软件设计等.DSP 主要应用于处理信号.处理语音.处理图像.仪器仪表信号处理.军事.医疗等方面,DSP 技术也可以应用于仪器仪表的信号检测和分析中.
4.结论本文通过对嵌入式操作系统硬件设备以及驱动程序的研究,深入浅出地阐述了嵌入式操作系统中设备的机制.类型;管理的对象.目的以及控制技术;重点介绍了虚拟仪器lab view程序对设备驱动程序开发的概念.特点.通用设计方法.流程以及在航空.航天等军事惯性导航领域的应用.
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。