论文研究-基于VxWorks的非标准串口驱动的设计与实现 .pdf

所需积分/C币:5 2019-08-16 09:16:41 1.24MB .PDF

基于VxWorks的非标准串口驱动的设计与实现,王东,,在VxWorks操作系统中,为了便于管理,标准 的串口驱动采用了3层抽象的软件结构。按照这种标准的驱动,我们使用串口时势必就会经过中
中国技记文在线 库的初始化,初始化 创建输入输出环形缓冲区,创建信号量,调用 将设备增加到设备列表中,以中断方式启动串口通道。它还进行的另外一个重要的操作时安 装了设备提供的输入输出回调函数 ,以便给底层驱动调用。 输入输出 当设备创建后,用 打开相应的串口。 函数返回的文件句柄就是该串口改 备的标识,依据打廾串口时的读写标志参数,可以对该串口进行相应的读写操作。如上 图所示,用户程序的基木读写请求由的 和 实现,这两个函数 在 初始化时安装到驱动列表中。 驱动 标准的串口驱动的编写主要是集中在 目录下的 等文件。 编写串口驱动主要是一下几个方面的工作: 没备初始化ε确定系统要支持的串行通道的个数,初始化数据结构 编 与初始化代码。 编写串口设备的中断服务程序。串口中断处理主要是处理接收和发送两种中断,当 有中断产生吋,执行相应的中断服务程序,这样不必像轮询方式那样花费大 量的时间查询外部设备的工作状态。串∏设各基本上都是工作在中断模式下,轮询 模式只用了解即可。 初始化的函数及调用情况可参照下图 usrInito->sysHwInito-> sysScrialHwInito m8270SioDevlnito) s->>sysclk connecto-> sys SerialHwInit20-> intConnecto usrlos corelnito tty drv( lInit()->tty Dev Createo->sys Scrial Chan gcto 图串口初始化流程 非标准串口驱动设计 该驱功的设计思想是将串∏设备封装任务中,并为任务分配个消息队列。对该串 的读写等操作是通过对该任务所属的消息队列收发消息米实现的。仁务的创建时间没有严格 的限制,只要在使用该串口设备之前创建即可 在该模式中,应用程序也应该分配一个消息队列(应用程序也可以是基于任务的)。通 过制定一些通信协议,应用程序调用串口驱动的过程完全可以由消息队列之间的消息来完 成。至于串口的初始化部分,可以用队列之间的消息类控制,也可以在应用程序调用之前先 中国技记文在线 进行串行设备的初始化(下述的实现过程是按前者来实现的)。这种驱动模式可以参照下图 msgQSendo msgQSendo msgQRccvO msgQRccvO 数据消息DMs Applicati m8270SioManagco 控制消息CMsg m8270SioInito m8270SioStopO m827OSIOINTO 图非标准驱动软件结构 非标准串口驱动实现 该节阐述了该驱动采用的数据结构和驱动的流程 数据结构 在该驱动中常用到的结构类型是 ,定义如下 任务间交互的消息便是基于这和结构体的。其中 字段表示消息的类型(接收 发送、控制等); 字段表示与 对应类型的参数(初始化时的波特率等); 字段表示消息发送方的任务(中断服务程序会采用固定的来标识) 字段表 示消息接收方的任务: 字段表示指针的长度:字段表示可能用到的字符串 如图所小,应用程序和驱动交互的消息分为两类:控制消息(启动和停止串口设各) 和数据消息(发送和接收数据)。因此定义个 字段的宏: 字段只有为 字段时有意义,表示初始化的波特率。因此有 必要定义几个常用波特率的宏: 山国科技记文在线 驱动调用过程 该驱动的工作过程为 应用程序问驱动任务发送初始化的控制消息,驱动任务 接收到控制消 息,验证 和 正确后,并确定该消息为初始化消息(通过 字段判定),根据波特率的宏定义从消息体中提取中波特率的值,执行函数 进行初始化 应用程序向驱动任务 发送数据消息中的发送消息,驱动仼务 接收到数据消息,验证 和 正确后,并确定该消息为发送消息(通 字段判定),提取出要发送的字符串,根据字符串长度,通过操 作的启动中断发送,将该字符串发送出去。 驱动任务 向应用程序发送数据消息中的接收消息,应用程序接 收到数据消息,骏证 和 正确后,并确定该消息为接收消息(通 过 宇段判定),根据字符串长度,提取出要接收到的字符串 应用程序向驱动任务发送停止的控訇消息,驱动任务 接收到控制消息, 验证 和 正确后,并确定该消息为停止消息(通过 字段判 定),执行函数 进行初始化 总结 本文阐述了 系统下一种新型的串口驱动的设计方法。该驱动在实际项目中得 到了很好的证明。改进后的驱动不但一定程度上降低了开发的难度,为应用程序提供了更为 方便的接口,也在很大程度上提高了串行设备的效率。 参考文献 周启平,张扬《 下设备驱动程序及开发指南》【】北京:中国电力出版社, 邝坚《 入门与提高》【】北京:科学出版社 北邮为中石油东方公司研发的具有自主知识产权的大型地震数据采集记录系统。

...展开详情
试读 5P 论文研究-基于VxWorks的非标准串口驱动的设计与实现 .pdf
img

关注 私信 TA的资源

上传资源赚积分,得勋章
    最新推荐
    论文研究-基于VxWorks的非标准串口驱动的设计与实现 .pdf 5积分/C币 立即下载
    1/5
    论文研究-基于VxWorks的非标准串口驱动的设计与实现 .pdf第1页
    论文研究-基于VxWorks的非标准串口驱动的设计与实现 .pdf第2页

    试读已结束,剩余3页未读...

    5积分/C币 立即下载 >