基于vxworks的双口管理系统设计.docVIP

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于vxworks的双口管理系统设计.doc

基于VxWorks的双485口管理系统设计 摘要: VxWorks嵌入式操作系统具有高效的实时任务管理与调度、任务的同步与通信、内存管理、I/O管理、时钟管理等机制。两个485口在通信速率、工作模式、控制方式上有较大差别且系统死线要求严格。详细介绍了VxWorks下双485口串行通信系统BSP、驱动程序和应用程序的开发过程。基于VxWorks构建的嵌入式串行通信系统实时性好,效率高,可根据硬件进行优化配置;利用VxWorks的I/O系统将驱动程序作为内核过程,设备作为特殊文件处理,解决了工作方式不同的两个485口的驱动程序开发和接口统一问题。 nbsp;nbsp;nbsp; 关键词: 通信系统; 嵌入式串行通信 引言 VxWorks是美国WindRiver公司专门为嵌入式微处理器设计的一种高模块化、高性能的实时多任务操作系统,具有很好的安全性、可靠性及系统灵活性[1-2]。该系统要求两个485端口波特率分别为460.8 kb和614.4 kb;工作方式分别为程序查询式和中断驱动式;代写论文握手方式和通信控制方式也完全不具有相对的独立性和“并发性”,而且各个任务根据不同的“紧迫感”应具有不同的优先级。根据以上多方面的要求和特点,基于优先级抢占式的多任务实时操作系统VxWorks是该系统的首选[3]。本文以研制某型训练装备为背景,详细介绍了基于VxWorks的双485口通信系统设计方法和过程。 1 串口通信基本原理串口通信作为最常用的通信方式,用途非常广泛,驱动易于编写,被绝大多数操作系统默认支持。其基本功能是实现和串行设备间的编码转换发送数据时,字节数据经CPU通过通用异步接收发送器(简称UART)转换为串行位,从串行端口发送出去;接收数据时,串行位通过UART被转换为字节数据,并放入缓冲区,由CPU读取。通过对UART的内部寄存器的控制实现字节数据和位数据的转换和通信。通信时,UART按初始化设置,把起始位、校验位和停止位加到来自CPU的8位数据上,然后按设置的波特率把这个二进制位串发送到串行通信线上,如图1所示;同样,UART能自动从通信线上接收串行数据,并取出有效的数据位,然后转换成数据字符存入接收数据寄存器。 2 串行通信软件设计该软件以WindRiver的TornadoII集成开发环境为平台进行开发。包括BSP开发、驱动程序开发、应用程序开发等步骤。2.1 BSP开发BSP(Board Support Packet,板级支持包)是介于底层硬件和上层软件之间的底层软件开发包。它来源于嵌入式操作系统与硬件无关的设计思想[2,4]。操作系统被设计运行在虚拟的硬件平台上,对于具体的硬件平台,与硬件相关的代码都被封装在BSP中。它主要功能为屏蔽硬件,提供操作系统的驱动及硬件驱动。它的主要功能包括:系统引导时,初始化目标机硬件;提供目标系统上的驱动程序,如定时器、串口等[2,6]。开发BSP,主要以目标板CPU的BSP文件为模板,建立工程并修改相关源文件。BSP文件在vx-works/target/config/all和vxworks/target/config/bsp-name文件夹里。其中,all文件夹里的文件是所有BSP的通用文件,bspname文件夹的文件是用户自己定制的BSP文件。该系统采用Pentium CPU,因此以vxworks/target/config/pcPentium文件夹里的文件为模板进行修改,开发过程如下。系统配置在config/all目录包含的文件中完成。需要配置的头文件有target/config/all/configAll.h和arget/config/pcPentium/config.h;需要配置的模块文件有target/config/all/usrconfig. c和target/src/config目录下的初始化模块。配置头文件主要利用定义(#define)和去除定义(#undef)实现。ConfigAll.h是全局配置头文件,包括所有目标系统公用的配置参数默认定义,一般不修改此文件,而在Config.h中重新定义。以配置引导程序为例:该系统开发过程中使用串口(此串口为目标机开发板上的串口)调试VxWorks映像,端口1作为WDB代理通信通道,不设目标机控制台通#define N-UART-CHANNELS 2这样,宿主机和目标机通过一根串口线连接,VxWorks映像文件从目标机软盘上加载,宿主机通过串口来调试目标机上的VxWorks。在config.h中修改如下内容,同时在Makefile里配置ROM起始地址(ROM-BASE-ADRS)、代码段入口(ROM-TEXT-ADRS)、ROM大小(ROM-SIZE)、VxWorks映像加载地址(RAM-LOW-ADRS)和BootROM加载地

文档评论(0)

zhangningclb + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档