实时操作系统VxWorks下多串口通讯设计
- 格式:pdf
- 大小:201.57 KB
- 文档页数:4
嵌入式VxWorks实时操作系统的多串口通信的实现【摘要】VxWorks是一种由WindRiver公司开发的实时操作系统,可通过I/O 控制函数Ioctl()对串口参数进行选择,通过Select宏实现对串口数据读写与监测。
通过配置头文件中相应的配置宏来实现该系统的串口通信。
并以DOS平台为例,介绍基于DOS平台的嵌入式VxWorks系统的多串口通信的实现方式以及串口通信的编程方法。
【关键词】串口通信;VxWorks;内核组件;实时操作系统1.引言在多个设备互连的实时信息控制系统中,常常涉及主控系统与多个设备之间的信息通讯,设备间通讯方式有多种,主要包括串口通讯、并口通讯、网络通讯、CAN总线通讯、429总线通讯和1533B总线通讯等。
在VxWorks系统设计应用中,串口是一类非常重要的数据通信接口,是嵌入式设备应用最为广泛的一种通信方式,在嵌入式实时操作系统中实现串口通信,可大大提高系统的应用范围,提高系统获取信息的能力。
因此,在VxWorks系统下串行通信程序首先必须清晰地了解和认识VxWorks系统下串口的层次结构。
2.VxWorks实时操作系统串口组件VxWorks[1、2]实时操作系统具有良好的可裁剪能力,可裁剪的组件超过80个,用户可以通过交叉开发环境根据需求进行方便的配置。
针对不同的功能要求,选择所需要的内核组件,在VxWorks实时操作系统微内核编译阶段,加载相应得支持组件,卸载不需要的功能组件。
通过配置VxWorks实时操作系统微内核,可以使系统运行所需的资源有效减少。
VxWorks的可裁剪性能方便地在全局配置头文件configALL.h和BSP。
配置头文件config.h中通过包括(#define XXX)或去除(#undefXXX)配置宏来实现[4]。
#define INCLUDE_TTY_DEV //配置串口驱动程序#define NUM_TTY 2 //配置串口数目串口配置的具体步骤如下:1)在内核配置文件configALL.h或config.h中加入如下串口配置宏定义:#define INCLUDE_TTY_DEV //配置串口驱动程序#define NUM_TTY 2 //配置串口数目2)编译内核VxWorks实时操作系统微内核驱动时将在根任务usrRoot()中调用串口设备驱动程序初始化函数ttyDrv()以及创建VxWorks系统串口设备函数ttyDevCreat(),建立能够被VxWorks系统识别的串口设备文件;3)这样通过以上两个步骤,用户既可在自己编写的应用程序中通过open(),read(),write(),close()等函数调用串口设备文件来实现对串口设备的控制。
基于VxWorks的双485口管理系统设计摘要:vxworks嵌入式操作系统具有高效的实时任务管理与调度、任务的同步与通信、内存管理、i/o管理、时钟管理等机制。
两个485口在通信速率、工作模式、控制方式上有较大差别且系统死线要求严格。
详细介绍了vxworks下双485口串行通信系统bsp、驱动程序和应用程序的开发过程。
基于vxworks构建的嵌入式串行通信系统实时性好,效率高,可根据硬件进行优化配置;利用vxworks的i/o系统将驱动程序作为内核过程,设备作为特殊文件处理,解决了工作方式不同的两个485口的驱动程序开发和接口统一问题。
关键词:通信系统;嵌入式串行通信引言vxworks是美国windriver公司专门为嵌入式微处理器设计的一种高模块化、高性能的实时多任务操作系统,具有很好的安全性、可靠性及系统灵活性[12]。
该系统要求两个485端口波特率分别为460.8 kb和614.4 kb;工作方式分别为程序查询式和中断驱动式;代写论文握手方式和通信控制方式也完全不具有相对的独立性和“并发性”,而且各个任务根据不同的“紧迫感”应具有不同的优先级。
根据以上多方面的要求和特点,基于优先级抢占式的多任务实时操作系统vxworks是该系统的首选[3]。
本文以研制某型训练装备为背景,详细介绍了基于vxworks的双485口通信系统设计方法和过程。
1串口通信基本原理串口通信作为最常用的通信方式,用途非常广泛,驱动易于编写,被绝大多数操作系统默认支持。
其基本功能是实现和串行设备间的编码转换发送数据时,字节数据经cpu通过通用异步接收发送器(简称uart)转换为串行位,从串行端口发送出去;接收数据时,串行位通过uart被转换为字节数据,并放入缓冲区,由cpu读取。
通过对uart的内部寄存器的控制实现字节数据和位数据的转换和通信。
通信时,uart按初始化设置,把起始位、校验位和停止位加到来自cpu的8位数据上,然后按设置的波特率把这个二进制位串发送到串行通信线上,如图1所示;同样,uart能自动从通信线上接收串行数据,并取出有效的数据位,然后转换成数据字符存入接收数据寄存器。
基于VxWorks的虚拟机串口通信的实现
李洪;吴宁
【期刊名称】《信息系统工程》
【年(卷),期】2009(000)005
【摘要】以VMware Workstation为虚拟硬件开发平台,Tornado为交叉编译环境,通过网络下载的方式向虚拟机成功移植了VxWorks操作系统.介绍了虚拟机平台的构造和虚拟网卡驱动程序的移植过程,给出了内核映像的定制流程,详细探讨了bootrom的编译和引导盘的制作方法.最后,分析了VxWorks串口驱动的基本框架,并通过编译下载应用程序,实现了虚拟机平台和普通PC机之间的串口通信.
【总页数】6页(P110-115)
【作者】李洪;吴宁
【作者单位】南京航空航天大学信息科学与技术学院南京 210016;南京航空航天大学信息科学与技术学院南京 210016
【正文语种】中文
【中图分类】TP3
【相关文献】
1.基于VxWorks实时操作系统的多串口通信系统的实现 [J], 雷瑛;刘亘炜;张安;张磊
2.基于Vxworks实时操作系统的串口通信程序设计与实现 [J], 张军
3.VxWorks中基于RS485总线的串口通信协议及实现 [J], 张爱卿;唐普英;汪康洪
4.基于Vxworks实时操作系统的串口通信程序设计与实现 [J], 张军
5.VxWorks中基于RS485总线的串口通信协议及实现 [J], 张爱卿;唐普英;汪康洪因版权原因,仅展示原文概要,查看原文内容请购买。
VxWorks的多任务通信机制一、 VxWorks操作系统介绍VxWorks实时操作系统式由美国WindRiver公司推出的一个运行在目标机上的高性能、可裁减的嵌入式实时操作系统,VxWorks的核心是高性能的微内核wind,其具有快速任务切换、中断支持、抢占式和时间片轮转调度机制等特点,保证对外部事件的快速反应。
除了微内核,VxWorks还包括了I/O系统、文件系统、TCP/IP网络系统、图形系统、虚拟内存管理、板极支持包BSP (Board Support Package)等模块,而BSP层的存在使VxWorks可以方便地移植到各种硬件平台。
在目前的嵌入式操作系统市场,VxWorks占据着80%以上的市场份额,广泛地应用于通信、消费电子、交通运输、工业控制、航天航空等领域。
二、 VxWorks的多任务通信机制通常,在一个实时系统中,存在着多个并发的任务来协同实现系统的功能,操作系统必须为这些任务提供快速且功能强大的通信机制。
在VxWorks系统中,有信号量(semaphore)、消息队列(message queue)、管道(pipe)、事件(event)等通信机制,对一个系统开发人员来说,如何合理地使用这些通信机制,是系统能够长期高效、可靠、安全运行的关键。
1、信号量(semaphore)在VxWorks种,信号量是提供任务间同步和互斥的最快速、开销最小的机制,VxWorks有三种不同类型的信号量:(1)二进制信号量:可用于2个任务之间的同步工作。
如任务A 必须在任务B完成特定的动作以后才能进行,在这种情况下,任务A 可以获取信号量而处于阻塞(pend)状态,任务B在完成特定的动作后释放该信号量。
一般来说二进制信号量适用于一对一的任务之间的同步。
(2)互斥信号量:主要用于任务之间共享数据区的互斥保护,具有优先级反转、安全删除、递归等特性。
在有2个或2个以上的任务共享一个数据区的时候,必须使用互斥机制进行保护。
VxWorks下串口通信程序设计与实例【摘要】本问讨论了在嵌入式实时操作系统VxWorks下结合PowerPC平台实现串口通信的相关技术,给出了基本原理和程序示例。
详细介绍了串口设置时每个参数的配置方法及作用。
【关键词】VxWorks;PowerPC平台;串行通信;串口参数1.前言VxWorks是一个具有微内核、可裁剪的高性能强实时操作系统,在全球和国内被大量使用。
它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中。
PowerPC处理器有非常强的嵌入式表现,因为它具有优异的性能、较低的能量损耗以及较低的散热量,包含串行和以太网控制器这样功能强大的集成I/O。
在计算机系统通信应用中,RS232串口是目前广泛使用的设备通信控制接口,在嵌入式实时操作系统中实现串口通信,可大大提高系统的应用范围,提高系统获取信息的能力。
2.串口通信原理及优点串口通信本质是CPU发出的命令数据经串行端口后转换为串行的位,接收方又把串行的位转换成字节命令回送CPU,实现通讯。
串口通信有如下优点:(1)开发简单,用户可以自定义数据格式,独占串口与另一方通讯。
(2)成本低廉,串口通信从转换芯片到传输介质相对其他通信成本廉价。
(3)使用灵活,有全双工RS232,亦有但双工RS485,而且转换方便。
在传输数据量不大,传输距离不大,比如一个变电站内,非常适合使用串口通信。
3.串口通信在Vxworks实现原理在VxWorks中,将I/O系统设计成为任何类型的设备提供一个简单、统一、独立于设备的接口,任何对于串口的操作都可以视为对一个文件的操作,而不必了解串口设备或程序驱动实现的细节。
下面以MPC8309 CPU添加12个串口为例解释实现过程:(1)软件添加,修改对应BSP包,使系统支持12个串口,并且申请资源。
编译BSP包,生成vxworks系统文件及bootrom文件。
系统启动时用devs命令可以查看到串口。
54软件开发与应用Software Development And Application电子技术与软件工程Electronic Technology & Software Engineering1 引言VxWorks 是由美国Wind River System 公司推出的一款具有微内核、可裁剪的实时操作系统。
它以其强大实时性、良好的可靠性、灵活的可裁剪性被广泛应用在高精尖技术及对实时性要求极高的领域,如航空航天、通信控制、军事国防、交通运输、医疗设备等。
串行接口简称串口,是一种采用串行通信方式的扩展接口,按位来发送和接收字节,如图1所示。
其特点是通信线路简单、传输距离长,只要一对传输线就能实现双向通信,成本较低。
所以在VxWorks 操作系统下采用串口通讯可以高效、方便的实现数据交互功能。
但是,基于VxWorks 操作系统下的设备在串口模块开发、设备间的串口数据调试过程中缺少一款能够实时显示串口接收数据、模拟发送串口数据的调试工具。
针对于以上背景本文提出了一种基于VxWorks 操作系统的串口调试系统的设计思想,可在设备中嵌入串口调试模块,当调试人员按下某个按键时即可调用串口调试模块,进而完成与其他设备间的串口数据调试工作。
2 系统总体设计共振柱试验、直剪慢剪试验、回弹再压缩试验、击实试验试验的个数和金额。
4.3.4 其它勘探测试费计算(1)软件自动计算测量定孔的个数和金额,该项可由用户在软件面板统一修改。
(2)软件自动计算注水试验试验、轻便触探试验的个数和金额。
(3)软件自动计算水位观测孔、明浜断面的个数和金额,该项可由用户在软件面板统一修改。
4.3.5 工程总费计算各项金额分别汇总统计:钻探、原位测试、其它勘探测试、波速试验费、室内水土试验、工程勘察技术费、波速试验技术费、工程测量技术费、室内试验技术费。
4.3.6 总报价计算根据上述各项金额分别汇总统计结果、进出场费(该项可由用户在软件面板统一修改)、下浮比例(下浮比例控制报价时,该项可由用户在软件面板统一修改),计算最终报价金额。
VxWorks 操作系统及实时多任务程序设计刘尉悦张万生邢涛王砚方(中国科技大学近代物理系,合肥, 230027摘要 :数字式声纳系统需要实时的显示其搜索、跟踪结果, 同时对用户命令作出及时的响应, 并实时控制前端的硬件。
本文介绍基于 VxWorks 实时操作系统和 X 窗口系统的显示及控制程序设计。
着重介绍本系统中基于 VxWorks 的实时多任务程序设计。
关键词:实时,实时操作系统, VxWorks , X-Window一. 系统概况本系统运行于 VME 总线系统 (MVME177上, 通过 VME 背板总线与各模件交换数据对各处理模件进行控制并把信号处理结果显示。
MVME177模件运行于嵌入式实时操作系统 VxWorks 下,人机交互界面基于 X 窗口系统。
二. 嵌入式实时操作系统 VxWorks 简介由于声纳系统在探测到某些目标后 (例如鱼雷要迅速作出反应, 所以要求控制及显示系统必须是实时操作系统。
实时操作系统, 要求能够随时打断正在执行的任务, 对内部和外部发生的事件在确定的时间内作出响应。
本系统采用的 VxWorks 是由美国 WindRiver 开发的一种类 UNIX 的高性能嵌入式实时操作系统。
它是目前世界上用户数量最大的实时操作系统。
具有优越的技术性能、丰富的应用软件支持、良好的技术服务和可靠的系统稳定性。
VxWorks 的主要性能特点有:1.高度可剪裁的微内核结构 VxWorks 的所需要的存储器空间大约为8KB~488KB(ROM、 620KB~29.3KB(RAM,具有极好的可伸缩性。
2.高效的多任务调度 VxWorks 支持中断驱动的优先级抢占式调度和时间片轮转调度, 并具有确定的、快速的上下文切换能力。
3.灵活的任务间通讯手段支持信号灯、消息队列、管道、信号和套接字等进程间通讯和互斥手段。
4.支持诸如 Ring buffer、 Link list 等共享内存技术。
基于VxWorks平台的多串口卡通信设计VxWorks 操作系统是美国Wind River 公司于1983 年设计开发的一种嵌入式实时操作系统(RTOS),良好的持续发展能力、高性能的内核以及友好的用户开发环境,使其在嵌入式实时操作系统领域居于领先地位,广泛应用于现代的各种嵌入式计算机系统中,比如军事指挥系统、武器控制系统或工业控制系统中。
而在这些系统中,往往不是单个计算机的控制,而是多个计算机以及其他设备组成通信网络共同完成控制作用,因此,对于每一个嵌入式计算机除了连接必需的外设之外,还需要考虑计算机之间的通信。
计算机间常用的通信方式是利用串行口来实现的。
本文在VxWorks 多串口通信的实现过程中未采用常见的标准VxWorks 虚拟设备ttyDrv 驱动方式,而是在用户的驱动程序中直接对硬件进行初始化,以中断方式进行串口通信。
1、环境及配置VxWorks 嵌入式开发采用图1 所示的主机一目标机方式。
其他硬件与本文关系不大,这里主要介绍串口卡,该卡是DIAMOND SYSTEM 公司生产的EMERALD-MM-8 型8 串口扩展卡(以下简称EMM8),是基于2 片ST16C554 芯片的8 串口集成板卡,每一路串口均可单独配置成符合RS-232C/RS-422A/RS-485 协议规范,最高速率可达115.2kb/s。
通用异步收发器(UART)ST16C554 用来扩展4 路串口通道。
每路通道各有一组16B 的收发FIFO 和移位寄存器,用来缓冲数据和串并转换。
每个通道有12 个8b 内部寄存器,用来存放收发数据以及配置该串口的工作模式,需要在初始化时对各寄存器进行设置。
本文根据工程的要求,将卡上的硬件跳线设好,如:各串口使用RS-232C 协议,按照datasheet 进行硬件跳线。
其中J9 的配置较为重要,如图2 所示。
VxWorks中串口通信的实现
李慧
【期刊名称】《金陵科技学院学报》
【年(卷),期】2007(23)2
【摘要】以PowerPC为例,讨论了基于PowerPC的嵌入式实时操作系统VxWorks与PC机进行串口通信的基本原理、关键技术和编程实现,突出了PowerPC平台的特点.介绍了一个具体的系统实现,对基于PowerPC的VxWorks 串口通信开发具有很强的实用价值.
【总页数】4页(P37-40)
【作者】李慧
【作者单位】金陵科技学院信息技术学院,江苏,南京,210001
【正文语种】中文
【中图分类】TP316.2
【相关文献】
1.嵌入式VxWorks实时操作系统的多串口通信的实现 [J], 吕志刚
2.基于VxWorks实时操作系统的多串口通信系统的实现 [J], 雷瑛;刘亘炜;张安;张磊
3.嵌入式VxWorks实时操作系统中串口通信的实现 [J], 孟英谦;王玲
4.VxWorks中基于RS485总线的串口通信协议及实现 [J], 张爱卿;唐普英;汪康洪
5.VxWorks中基于RS485总线的串口通信协议及实现 [J], 张爱卿;唐普英;汪康洪
因版权原因,仅展示原文概要,查看原文内容请购买。