访问电脑版页面

导航:老古开发网手机版其他

嵌入式系统串行设备管理的研究与实现

导读:
关键字:

冷冰

 

USB的串行管理模型,并详细阐述了串行设备管理的实现过程。

USB

 

 

UART口、SPI这些串行接口或设备同时存在于一个嵌入式系统中,实现对它们的统一管理将能极大地提高整个嵌入式系统的可移植性、易用性以及开发效率。本文通过对嵌入式系统串行设备管理技术的研究,提出了“带的串行管理”模型,并详细阐述了串行设备管理的实现过程。

                                             

 

1带的串行设备管理驱动结构

                                                                         

2数据传输通道

COMmodem等流设备和接口的统一管理。具体说,就是通过统一的上层应用层接口和下层驱动层接口实现对串行设备的统一管理和透明化处理,从而提高整个系统的易用性和可移植性。作为一种新型的高速串行总线,由于具有复杂性和高速性等特点,在嵌入式操作系统中一般专门为其建立一个模型而不放入串行设备管理中。虽然这样有利于全面地管理主机、以及设备,但整个模型实现代码大而难,且在嵌入式系统下位机中多是设备而没有主机和。针对这一特点,本文把对设备的管理加入到串行管理中,使得对设备的访问如同对一个串口的访问一样方便,从而提出了带的串行管理模型。

 

USB的串行管理模型

OpenFile等;下层为硬件驱动程序层对象和函数。串行管理的设备对象由虚拟化的结构体来定义,虚拟对象的登记和管理则是通过对结构体的管理来实现。结构体定义为:

    

DEVICE_LIST结构

  device_index;

  bind_flags;//

  IntID;//

  *reserved;

    

  *DllName;//DLL文件名,预留

  

     //

USB的高速缓冲问题,专门采用了两个单独的循环队列,一个用于缓冲传输数据,一个用于缓冲传输的数据。

USB的串行设备管理驱动结构如图所示。

 

USB的串行管理的实现

Windows操作系统中提供的函数一致的函数名和参数。整个带的串行管理的实现包括名字解析与应用层接口函数的实现、串行设备低层驱动接口、应用层接口函数与低层驱动接口的数据传输通道的实现。

CreateFile 等。具体实现上主要是设备名的登记和设备命名空间的管理。设备名的登记是指通过设备登记表来注册设备文件名所对应的物理设备文件名、函数操作指针和设备命名空间等。其中设备命名空间是指文件系统的统一文件与设备的访问接口表,应用程序通过文件系统里的特殊入口设备文件名设备句柄访问外围设备。

USB的串行管理的

USB是高速设备,且为典型的主从式设备,因此,除了专门为采用了两个循环队列外,还针对是主控制设备的情况,采取通过自定义双向访问协议包来解决下位机主动发起访问的情况。

2所示。数据传输流程大致如下:程序线程调用把要发送或接收的地址指针和数据大小传递到相应的硬件属性表中,函数返回,应用程序继续运行或挂起等待数据操作完硬件中断自动完成,最后由中断返回一个消息唤醒挂起程序线程

USB设备则先通过循环队列缓冲再通过中断进行传输。

 

I/O子系统的一个重要组成部分,本文介绍的串行管理模块已加入某国产的商用嵌入式操作系统中,并在深圳某高科技公司的项目中得到应用。

 

来源:电子设计应用   作者:华中师范大学 电子与计算机研究所 邓彬伟 张和平 朱  2005/8/19 0:00:00
栏目: [ ]

相关阅读

安森美推出新的高功率图腾柱PFC控制器,满足具挑战的能效标准

动态功耗低至60μA/MHz!助力设备超长续航,首选国民技术低功耗MCU!