基于VxWorks的双485口管理系统设计_第1页
基于VxWorks的双485口管理系统设计_第2页
基于VxWorks的双485口管理系统设计_第3页
基于VxWorks的双485口管理系统设计_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于VxWorks的双485口管理系统设计摘要:vxrks嵌入式操作系统具有高效的实时任务管理与调度、任务的同步与通信、内存管理、i/管理、时钟管理等机制。两个485口在通信速率、工作形式、控制方式上有较大差异且系统死线要求严格。详细介绍了vxrks下双485口串行通信系统bsp、驱动程序和应用程序的开发过程。基于vxrks构建的嵌入式串行通信系统实时性好,效率高,可根据硬件进展优化配置;利用vxrks的i/系统将驱动程序作为内核过程,设备作为特殊文件处理,解决了工作方式不同的两个485口的驱动程序开发和接口统一问题。关键词:通信系统;嵌入式串行通信引言vxrks是美国indriver公司专门

2、为嵌入式微处理器设计的一种高模块化、高性能的实时多任务操作系统,具有很好的平安性、可靠性及系统灵敏性1-2。该系统要求两个485端口波特率分别为460.8kb和614.4kb;工作方式分别为程序查询式和中断驱动式;代写论文握手方式和通信控制方式也完全不具有相对的独立性和“并发性,而且各个任务根据不同的“紧迫感应具有不同的优先级。根据以上多方面的要求和特点,基于优先级抢占式的多任务实时操作系统vxrks是该系统的首选3。本文以研制某型训练装备为背景,详细介绍了基于vxrks的双485口通信系统设计方法和过程。1串口通信根本原理串口通信作为最常用的通信方式,用处非常广泛,驱动易于编写,被绝大多数操

3、作系统默认支持。其根本功能是实现和串行设备间的编码转换发送数据时,字节数据经pu通过通用异步接收发送器(简称uart)转换为串行位,从串行端口发送出去;接收数据时,串行位通过uart被转换为字节数据,并放入缓冲区,由pu读龋通过对uart的内部存放器的控制实现字节数据和位数据的转换和通信。通信时,uart按初始化设置,把起始位、校验位和停顿位加到来自pu的8位数据上,然后按设置的波特率把这个二进制位串发送到串行通信线上,如图1所示;同样,uart能自动从通信线上接收串行数据,并取出有效的数据位,然后转换成数据字符存入接收数据存放器。2串行通信软件设计该软件以indriver的trnadii集成

4、开发环境为平台进展开发。包括bsp开发、驱动程序开发、应用程序开发等步骤。2.1bsp开发bsp(bardsupprtpaket,板级支持包)是介于底层硬件和上层软件之间的底层软件开发包。它来源于嵌入式操作系统与硬件无关的设计思想2,4。操作系统被设计运行在虚拟的硬件平台上,对于详细的硬件平台,与硬件相关的代码都被封装在bsp中。它主要功能为屏蔽硬件,提供操作系统的驱动及硬件驱动。它的主要功能包括:系统引导时,初始化目的机硬件;提供目的系统上的驱动程序,如定时器、串口等2,6。开发bsp,主要以目的板pu的bsp文件为模板,建立工程并修改相关源文件。bsp文件在vx-rks/target/nf

5、ig/all和vxrks/target/nfig/bsp-nae文件夹里。其中,all文件夹里的文件是所有bsp的通用文件,bspnae文件夹的文件是用户自己定制的bsp文件。该系统采用pentiupu,因此以vxrks/target/nfig/ppentiu文件夹里的文件为模板进展修改,开发过程如下。系统配置在nfig/all目录包含的文件中完成。需要配置的头文件有target/nfig/all/nfigall.h和arget/nfig/ppentiu/nfig.h;需要配置的模块文件有target/nfig/all/usrnfig.和target/sr/nfig目录下的初始化模块。配置头文

6、件主要利用定义(#define)和去除定义(#undef)实现。nfigall.h是全局配置头文件,包括所有目的系统公用的配置参数默认定义,一般不修改此文件,而在nfig.h中重新定义。以配置引导程序为例:该系统开发过程中使用串口(此串口为目的机开发板上的串口)调试vxrks映像,端口1作为db代理通信通道,不设目的机控制台通#definen-uart-hannels2这样,宿主机和目的机通过一根串口线连接,vxrks映像文件从目的机软盘上加载,宿主机通过串口来调试目的机上的vxrks。在nfig.h中修改如下内容,同时在akefile里配置r起始地址(r-base-adrs)、代码段入口(r

7、-text-adrs)、r大小(r-size)、vxrks映像加载地址(ra-l-adrs)和btr加载地址(ra-high-adrs)。该系统对模块文件usrnfig.和target/sr/nfig目录下的初始化模块无需作修改2。2.2串口驱动程序开发vxrks操作系统有两种方式实现驱动。1)把设备驱动程序作为独立任务实现,直接在顶层任务中实现硬件操作,完成特有专用的驱动程序。2)vxrks的i/系统将设备程序作为内核过程实现。这种方式便于实现i/子系统的层次模型,便于文件系统一起把设备作为特殊文件处理,提供统一的管理、统一的界面和统一的使用方法,并把设备、文件及网络通信组织成为一致的更高层

8、次的抽象,为用户提供统一的系统效劳和用户接口。采用这种驱动方式,向上将tty设备安装到标准的i/系统中,上层应用通过标准的i/接口完成对硬件设备的操作,向下提供对实际硬件设备的底层设备驱动程序7-8。串口1、串口2均采用8252芯片作为uart。根据上位机的工作方式,端口1采用硬件握手中断驱动方式,有5根信号线:2根数据传输线(txd、rxd),2根握手线(ts、rts)和1根地线。端口2采用软件握手查询工作方式,有3根信号线:2根数据传输线(txd、rxd)和1根地线。各端口的默认字长均为8位、停顿位2位、奇偶校验位1位、端口1默认波特率为614.4kbps,端口2默认波特率为460.8kb

9、ps。首先构造设备描绘符构造体,设备描绘符保存了与设备相关联的数据,它必须以设备头(dev-hdr)构造为开头。由于2个端口的工作方式完全不同,且无法预测数据传输的先后顺序和传输时机,2个端口的数据接收函数必须分开编写,其中uartrequery()函数用于端口2的查询工作方式;uartredata()函数用于端口1的中断握手方式,其优先级高于uartrequery()函数。但数据发送函数可以合并,因为对于单处理器而言,是不可能实现真正的多任务并行处理的,即使编写成两个并行任务,也是在处理器的控制下,按时间片轮转执行的。这样不仅不能进步执行效率,反而会因为任务上下文切换造成一定的资源浪费,影响

10、系统实时性。这种情况,更合适采用面向过程的方法对程序进展设计和优化。下面对其进展说明:调用后,其首先检测输入参数是否合法,而后根据端口号选择工作方式(中断或查询),作相应操作,开场发送数据,每发送一个字节检测并等待tbre(发送缓冲存放器空)信号变为有效,再发送下一字节,数据全部发送完毕后函数返回。其工作流程如驱动程序开发完成后,在usrnfig.文件的usrrt()函数里,调用api函数isdrvinstall()对以上驱动程序分别进展安装,再初始化设备描绘符,并用isdevadd()将设备增加到设备列表中,最后将设备置为中断形式。以上操作完成后即可用标准i/函数操作两个不同的串口设备2.3

11、串口通信应用程序设计数据通信按帧进展,帧分为命令帧和应答郑帧格式为命令帧:命令码长度参数串异或应答帧:应答码长度参数串异或对于多字节参数,按高字节在前,低字节在后的次序发送。数据采用二进制16位有符号整数数据格式。其中,最高位为符号位,数据为二进制格式。数据传输时,上位机首先发送一个命令帧,包含数据包个数、最后一个数据包的字节数,除最后一个数据包外,每包大小为16kb。模拟器收到后,回复应答帧并将收到的数据包个数、最后一个数据包的字节数一同发回校验,对帧长度校验无误后开场发送数据。由于传输数据量较大,一般校验方法进展内容误判率高,不能纠错,大多数情况下需要重新发送,非常费时。循环冗余校验法(r

12、)由于实现简单,检错才能强,并能纠错,可以较好地解决这个问题。该系统采用r16进展校验9。3结论串行通信以其网络连接方便、抗干扰性能好、传输间隔 远等优点,在嵌入式系统得到广泛应用。本文以某训练装备研制为背景,详细介绍了vxrks嵌入式操作系统下串行通信系统软件的开发过程。利用了vxrks的i/系统将设备程序作为内核过程,设备作为特殊文件处理,解决了不同工作方式下,两个485口的驱动程序开发和接口统一的问题。目前,该系统已交付使用。运行理论证明该通信系统软件设计思路正确,设计方法得当。对于其他嵌入式串行通信系统设计也具有一定的参考价值。参考文献:1liqing美.嵌入式系统的实时概念.王安生,译.北京:北京航空航天大学出版社,2022.2王学龙.嵌入式vxrks系统开发与应用.北京:人民邮电出版社,2022.3陈坤,陈志勇,黎湘.vxrks实时操作系统在相控阵雷达系统中的应用j.电光与控制,2022,12(4):51-53.4vxrksprgraersguide.indriversystein.,1999.5周启平,张杨.vxrks程序员速查手册.北京:机械工业

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论