1 / 4
文档名称:

基于VxWorks的双485口管理系统设计.doc

格式:doc   大小:18KB   页数:4页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

基于VxWorks的双485口管理系统设计.doc

上传人:卢卡斯6687 2022/7/3 文件大小:18 KB

下载得到文件列表

基于VxWorks的双485口管理系统设计.doc

相关文档

文档介绍

文档介绍:基于VxWorks的双485口管理系统设计
  摘要:vxrks嵌入式操作系统具有高效的实时任务管理与调度、任务的同步与通信、内存管理、i/管理、时钟管理等机制。两个485口在通信速率、工作形式、控制方式上有较大差异且系统死线要求严格。详务实现,直接在顶层任务中实现硬件操作,完成特有专用的驱动程序。2)vxrks的i/系统将设备程序作为内核过程实现。这种方式便于实现i/子系统的层次模型,便于文件系统一起把设备作为特殊文件处理,提供统一的管理、统一的界面和统一的使用方法,并把设备、文件及网络通信组织成为一致的更高层次的抽象,为用户提供统一的系统效劳和用户接口。采用这种驱动方式,向上将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位、,。首先构造设备描绘符构造体,设备描绘符保存了与设备相关联的数据,它必须以设备头(dev-hdr)构造为开头。由于2个端口的工作方式完全不同,且无法预测数据传输的先后顺序和传输时机,2个端口的数据接收函数必须分开编写,其中uartrequery()函数用于端口2的查询工作方式;uartredata()函数用于端口1的中断握手方式,其优先级高于uartrequery()函数。但数据发送函数可以合并,因为对于单处理器而言,是不可能实现真正的多任务并行处理的,即使编写成两个并行任务,也是在处理器的控制下,按时间片轮转执行的。这样不仅不能进步执行效率,反而会因为任务上下文切换造成一定的资源浪费,影响系统实时性。这种情况,更合适采用面向过程的方法对程序进展设计和优化。下面对其进展说明:调用后,其首先检测输入参数是否合法,而后根据端口号选择工作方式(中断或查询),作相应操作,开场发送数据,每发送一个字节检测并等待tbre(发送缓冲存放器空)信号变为有效,再发送下一字节,数据全部发送完毕后函数返回。其工作流程如驱动程序开发完成后,()函数里,调用api函数isdrvinstall()对以上驱动程序分别进展安装,再初始化设备描绘符,并用isdevadd()将设备增加到设备列表中,最后将设备置为中断形式。以上操作完成后即可用标准i/函数操作两个不同的串口设备
  ,帧分为命令帧和应答郑帧格式为命令帧:命令码长度参数串异或应答帧:应答码长度参数串异或对于多字节参数,按高字节在前,低字节在后的次序发送。数据采用二进制16位有符号整数数据格式。其中,最高位为符号位,数据为二进制格式。数据传输时,上位机首先发送一个命令帧,包含数据包个数、最后一个数据包的字节数,除最后一个数据包外,每包大小为16kb。模拟器收到后,回复应答帧并将收到的数据包个数、最后一个数据包的字节数一同发回校验,对帧长度校验无误