rs485串口通信原理

rs485串口通信原理

ID:17973080

大小:22.00 KB

页数:5页

时间:2018-09-12

rs485串口通信原理_第1页
rs485串口通信原理_第2页
rs485串口通信原理_第3页
rs485串口通信原理_第4页
rs485串口通信原理_第5页
资源描述:

《rs485串口通信原理》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、RS485串口通信原理一、RS485串口通信电路图二.VxWorks中基于RS485总线的串口通信协议及实现摘要:本文介绍了在嵌入式实时操作系统Vxworks下串行设备的驱动架构及实现,提出了一种基于RS-485总线的新型串口通信协议,重点讨论了基于这种协议的应用程序的设计方法,发送时主要采用了总线仲裁机制,接收时主要采用了 字符合法性校验、长度校验、内容的CRC校验,提高了系统的通信效率和稳定性。关键词:VxWorks;RS-485;通信协议;总线仲裁;CRC校验1引言随着信息技术和互联网的飞速发展,以及计算机、通讯、数码产品等领域的高速增长,数字化时代已经来临。嵌入式设备是数字化时代的主

2、流产品,嵌入式软件是数字化产品的核心,作为嵌入式软件的基础和关键,嵌入式操作系统在产 业发展过程中扮演着越来越重要的角色,应用遍及工业自动化、网络通信、航空航天、医疗仪器等领域。2RS-485总线RS-485总线接口是一种常用的串口,具有网络连接方便、抗干扰性能好、传输距离远等优点。RS-485收发器采用平衡发送和差分接收,因此具有抑制共模干扰的能力,加上收发器具有高的灵敏度,能检测到低达200mv的电压,可靠通信的 传输距离可达数千米。使用RS-485总线组网,只需一对双绞线就可实现多系统联网构成分布式系统、设备简单、价格低廉、通信距离长。3VxWorks中串口驱动的实现VxWorks操作

3、系统是美国WindRiver公司设计开发的嵌入式实时操作系统(RTOS),是嵌入式开发环境的关键组成部分。Vxworks操作系统的I/O系统可以提供简单、统一、与任何设备无关的接口。这些设备包括:面向字符设备、随机块 存储设备、虚拟设备、控制和监视设备以及网络设备。Vxworks的I/O系统包括基本I/O系统和缓冲I/O系统,具有比其他I/O系统更快速,兼容性更好的特性。这对于实时系统是很重要的。3.1串口驱动架构基于vxWorks的串口设备驱动程序架构,对vxWorks的虚拟设备ttyDrv进行封装,向上将TTY设备安装到标准的I/O系统中,上层应用通过标准的I/O接口完成对硬件设备的操作

4、,向下提供对实际硬件设备的底层设备驱动程序。其软件架构 20currencydeposit,weprescribeapassonaregularbasis,qilucardaccountonaregularbasis),certificatebondsandsavingsbonds(electronic);3.notdrawnonabanksavingscertificate,certificatebondsapplyformortgageloans,acceptingonlythelender如图1所示。由图1可知,串口设备驱动由两部分组成,一部分为对ttyDrv进行封装,将串行设备安装到

5、标准的I/O系统中,提供对外的接口;另一部分为串行设备驱动程序,提供对硬件设备的基本操作。虚拟设备ttyDrv管理着I/O系统和真实驱动程序之间的通信。在I/O系统方面,虚拟设备ttyDrv作为一个字符型设备存在,它将自身的入口点函数挂在I/O系统上,创建设备描述符并将其加入到设备列表中。当用户有I/O请求包到达I/O系统 中时,I/O系统会调用ttyDrv相应的函数响应请求。同时,ttyDrv管理了缓冲区的互斥和任务的同步操作。另一方面,ttyDrv负责与实际的设备驱动程序交换信息。通过设备驱动程序提供的回调函数及必要的数据结构,ttyDrv将系统的 I/O请求作相应的处理后,传递给设备驱

6、动程序,由设备驱动程序完成实际的I/O操作。3.2驱动初始化串口设备的初始化xxDevInit流程如图2。设备驱动的初始化过程首先调用系统函数ttyDrv(),该函数通过调用iosDrvInstall()将ttyOpen()、ttyIoctl()、tyRead()、tyRead、tyWrite安装到系统驱动函数表中,供I/O系统调用。接着根据用户入参对串口芯片寄存器进行初始化,安装驱动函数指针。最后调用系统函数ttyDevCreate()创建ttyDrv设备。该函数初始化设备描述符,调用tyDevInit()函数初始化tyLib、初始化select功能、创建信号量和输入输出缓冲区,调用ios

7、DevAdd()函数将设备添加到设备列表中并将设备置为中断模 式。驱动模块初始化成功后,应用程序就可以用标准的I/O函数read()和write()收发数据了。4RS-485通信协议4.1485通信帧格式表1485通信帧格式目的地址源地址长度控制帧净荷数据CRC检验20currencydeposit,weprescribeapassonaregularbasis,qilucardaccountonaregul

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。