利用RS232_CAN总线转换器实现多机通讯
RS232转RS485串口远距离多机通信
RS232转RS485串口远距离多机通信
应用客户企业:河南某煤矿有限公司
现场应用要求:
1.将5 台RS232 接口设备信号转换为RS485 信号进行通信。
2.通信距离最远1200 米左右。
3.通信速率在4800bps。
4.应用环境为地下矿井通信控制系统。
波仕提供的解决方案:
1.采用波仕485A 型RS232/485 转换器。
2.因为客户通信距离较远,节点较多。
故建议选用2~4 个端点式485A 和3~1 个节点式485A 无源串口转换器。
同时为了保证通信效果,避免外部环境电磁干扰的影响,故此建议选用带屏蔽的4 芯电缆。
屏蔽层作为地线、每2 股线并为一股,分别接信号A 和B。
波仕485A 的主要性能参数如下:
电源电压
无须供电
电气
接口
RS-232(DB-9 孔)
传输介质
双绞线(最好带屏蔽层并做为地线)。
串口交叉线实现2台计算机通信步骤
一、串口交叉线实现2台计算机通信步骤1、制作交叉电缆步骤(1)使用DB-9针的RS-232C连接器和9芯电缆制作交叉线,制作方法按照空Modem 的连接规则,如图1.1.2所示。
图1.1.2 DB-9针空Modem连线在实际应用中,交叉线缆制作可以使用最简单的三线连接方式,如图1.1.3所示,相对的发送和接收针脚需要交叉相连,信号地SIG相连。
图1.1.3 RS-232C接口的简单连接方式步骤(2)使用万用表对各连接线进行测量,确认制作的电缆线是否已可用。
2、直连两台计算机步骤(1)使用“交叉线”连接两台计算机的串行口1(COM1口),也可以是串口2(COM2口),但要记录好每台计算机各使用的串口号。
步骤(2)启动两台计算机。
注:一定要先接线后开计算机,而且当计算机处在开机状态时,不要插拔串口,以免烧坏串口电路。
3、设置主机步骤(1)在Windows2000操作系统中,单击“开始”’“设置”’“网络和拨号连接”,打开如图1.1.4所示的窗口界面。
图1.1.4 网络和拨号连接窗口界面步骤(2)双击“新建连接”图标,进入“网络连接向导”,单击“下一步”。
步骤(3)设置网络连接类型,选择第5项“直接连接到另一台计算机(C)”,然后单击“下一步”,如图1.1.5所示。
图1.1.5 设置使用串行接口直连两台计算机步骤(4)设定此计算机为主机,并单击“下一步”,如图1.1.6所示。
图1.1.6 设置计算机为主机步骤(5)选择连接设置,设置通讯端口(COM1)或(COM2)作为通讯连接的设备,然后单击“下一步”,如图1.1.7所示。
注:所设置的通讯端口必须与串行线所接的计算机端口一致。
图1.1.7 设置串行通讯的连接设备步骤(6)允许连接到主机的用户为“Guest”,即设置客户机可以连接到主机,然后单击“下一步”,如图1.1.8所示。
图1.1.8 指定Guest用户可以连接到主机步骤(7)设置主机连接名为“传入的连接”,单击“完成”配置完主机的网络连接。
RS232-CAN协议转换器的设计及应用
b t e 2 2 t e we n RS 3 o CAN,a d i i fg e tsg i c n e i h n tume twi 2 2 it ra e n t so r a i nf a c n t e isr i n t RS 3 n e f c . h
Ke r s o t l rae e ok ( A ;po cl o vri ;c e c l xgnd m n ( O ywod :cnr l rant r C N) rt o cn e o oe w o s n h mi ye 局部 网 C N ( o t l r raN tok 总线 是 一种有 效支 持 分布式 控 制或 实时 控制 的 串行通 A C nr l e ew r ) oe A
中 图 分 类 号 :T 2 4 2 P 7 . 文献 标 识 码 : A
De in a d Ap lc t n o n etrb t e 2 2 a d CAN sg n p iai fCo v re ewe n RS 3 n o
D N u n — ,LU G a gd , H U Z i i E G G a gf u I u n —a Z O h—a jn
摘要 : 为解决 R 2 2接 口设 备传输距离短 、不便 于组 网等问题 ,根据 C N ( ot l r raN tok S3 A C nr l e e r )总线的传 oe A w 输距 离远 、抗 干扰 能力 强 、便 于组 网等特 点 ,设计 了基 于 C N总线 技 术 、串行 通 信 技术 和单 片 机 技术 的 A
( ol eo s u nai n l t clE gn eig i n U ie i ,C a g h n 1 0 6 , hn ) C l g fI t me tt n a d E e r a n ier ,J i nv r t e nr o ci n l s y h n c u 3 0 1 C ia
rs232 通信原理
rs232 通信原理RS232通信原理是一种串行通信协议,用于在计算机及外设之间进行数据传输。
其通信原理基于两个基本概念:数据位和波特率。
首先,数据位是指在每个数据字节中传输的二进制位数。
RS232通信协议中的数据位可以是5位、6位、7位或8位,其中8位是最常用的。
数据位数的选择取决于所传输的数据量和精确度要求。
其次,波特率指的是数据传输的速率,即每秒钟传输的位数。
RS232通信协议中常用的波特率包括9600bps、19200bps和115200bps等。
选择合适的波特率要根据设备之间的数据传输要求和通信距离来确定。
RS232通信原理中,数据的传输是通过发送方将二进制数据转换为电压信号,并通过串行线路进行传输。
接收方则将接收到的电压信号转换为二进制数据。
通信双方需要事先约定好数据位、波特率和其他协议参数,以确保数据能够正确传输和解析。
通信的开始和结束由起始位和停止位确定。
起始位是一个逻辑低电平,用于通知接收方数据的传输将要开始。
停止位是一个逻辑高电平,用于表示数据传输已经结束。
起始位和停止位的长度可以根据需求进行设置。
此外,RS232通信原理还包括奇偶校验位的概念。
奇偶校验位用于检测数据传输中的错误。
发送方会根据要传输的数据计算奇偶校验位,并将其添加到数据中一起传输。
接收方则根据接收到的数据和奇偶校验位进行校验,以确保数据的正确性。
总结来说,RS232通信原理涉及数据位、波特率、起始位、停止位和奇偶校验位等概念。
通过约定好的协议参数和电压信号的传输,可以实现计算机与外设之间的可靠数据传输。
CanBus RS232C 双向通讯模块
CanBus RS232C双向通讯模块SC1232B使用说明书一应用本控制器用以实现RS232串口与CAN总线之间的双向通讯当多台串行设备使用时既可以利用该模块自组网络也可以加入到其它CAN设备组成的网络中还可以实现两台RS232C串口设备之间的远程通讯应用设备z PC机z工控机z串行仪器仪表z PLCz用户开发的智能模块z其它串行设备应用领域z远程通讯z多机通讯z数据采集系统z现场监控系统z其它需要联网运用的场合本控制器特别适用于旧设备改造或者现有串行设备需要联网控制的场合用户只需设置相关的跳线即可将该控制器灵活配置成网络主机(协议工作方式)或者网络从机(设备工作方式)以实现CAN总线主从网络与SC1232通讯模块相比SC1232B具有如下新特性更人性化的设计方案z协议和设备两种工作方式设计更加合理z简化用户跳线设置设置更加方便直观z直接设置模块地址用户不必致力于模块的AC AM和IDz简化协议工作方式的串口数据格式应用更加简捷方便更强大的适应能力z完整的支持CAN2.0B协议z可设置多达8个主机地址或者128个从机地址z RS232串口波特率4档选择最高可达57600bpsz CAN波特率拨码选择覆盖5Kbps到1Mbps的8档速度空间z设备工作方式自动获取主机地址特性联网运用更加方便二技术指标z1路Can接口Can2.0B协议z Can端口波特率5k10k20k50k125k250k500k1Mbps共8档可选z1路RS232C接口波特率240096003840057600bps4档可选z串口数据1位起始位8位数据位1位停止位无奇偶校验位z用户可配置成协议工作方式(主机)或者设备工作方式(从机)z协议工作方式支持多达8个主机地址(0-7)z设备工作方式支持多达128个从机地址 (0-127)z内置看门狗CAN总线光电隔离适应高可靠性工业应用z电源功耗5V@100mAz工作环境070摄氏度存储环境-55125摄氏度湿度<90z外观尺寸1218725mm三产品外观略四硬件说明SW1复位按钮J19针孔矩形插头(表1)235TXD RXD GNDJ2电源插头5V电源插座与J3口的电源选一连接不能同时使用J3(200mil标准工业端子)(表2)1234565V GND CANL CANH CANL CANH 注1电源接入时不能同时使用J2口S1(8位拨码开关)用于设置设备工作方式时的从机地址(低6位)和CAN总线波特率设备工作方式从机地址设置见表5CAN总线波特率选择见表4E1协议工作方式/设备工作方式选择ON协议工作方式OFF设备工作方式(默认)协议工作方式时模块被设置为网络主机需要配置主机地址设备工作方式时模块被设置为网络从机需要配置从机地址和模块上电缺省回复主机地址E2-E4主机地址配置跳线协议工作方式时该3位既是模块的主机地址设备工作方式时该3位代表模块上电后缺省的回复主机地址ON 0OFF 1(表3)E2E3E4主机地址ON ON ON 0ON ON OFF 1(默认)ON OFF ON 2ON OFF OFF 3OFF ON ON 4OFF ON OFF 5OFF OFF ON 6OFF OFF OFF 7E5CAN 总线波特率高/低速度区间选择位ON 高速OFF 低速(表4)E5S1.7S1.8CAN 波特率ON ON 1MbpsON OFF 500KbpsOFF ON 250Kbps高速区E5=ON(默认)OFF OFF 125Kbps ON ON 50Kbps ON OFF 20Kbps OFF ON 10Kbps 低速区E5=OFFOFF OFF 5Kbps E6从机地址区间选择位可作为从机地址第7位(表5)E6S1.1-S1.6地址范围0区E6=ON (默认)0-631区E6=OFFID.5- ID.064-127E7-E8RS232C 串口波特率选择跳线(表6)E7E8串口波特率ON ON 57600bps ON OFF 38400bps OFF ON 9600bps(默认)OFF OFF 2400bps E9CAN 总线终端匹配电阻ON 接入OFF 不接入电阻(默认)在CAN网络中应采用总线式连接在两端的站点安装匹配电阻其余站点不安装匹配电阻如图所示只有1站点和N 站点需要安装匹配电阻注必须保证CAN 总线CANH/CANL 之间阻抗为120R D1电源指示红色D2模块工作状态指示绿色五出厂默认设置出厂时SC1232B 模块设置成设备工作方式从机1 E 1=OFF 设备工作方式2 E 2=ON 3 E 3=ON 4 E 4=OFF 缺省回复主机地址0015 E 5=ON CAN 波特率默认高速区6 E 6=ON 从机地址0区可通过外部拨码开关设置从0到63共64个地址7 E7=OFF 8 E 8=ON RS232串口默认波特率9600bps 9 E 9=OFF 不接入CAN总线匹配电阻10拨码开关S1=01010001缺省从机地址=14H CAN 波特率=500Kbps 六协议工作方式(SC1232B 配置成主机) 此时SC1232B 的串口端接CAN 总线网络的主机E1=On 比如z 配置成主机的PC机z 配置成主机的工控机z PLC设备z 用户开发的DSP主节点z 临时接入的笔记本电脑z 其它实现网络监控的便携式设备配置说明1 E1=ON 协议工作方式2 E2E3E4设置模块主机地址E2为高位3 E5CAN波特率区间选择4 E6不用5 E7E8设置RS232串口波特率1站点2站点3站点N 站点6E9CAN总线匹配电阻7拨码开关低2位设置CAN波特率其余不用串口端发送/接收的数据格式<0FH><MACID><DLEN><BYTE1>...<BYTEn>其中:<0FH>为数据起始字节<MACID>是从机地址(0-7FH)<DLEN>是数据字节长度(1-8)<BYTE1>...<BYTEn>为n个数据字节,n应等于DLEN注当下位机是配置成从机的SC1232B时最后一个数据字节通常应为0DH七设备工作方式(SC1232B配置成从机)此时SC1232B的串口端接CAN总线网络的从机设备E1=Off比如z配置成从机的PC机z配置成从机的工控机z仪器仪表z控制机柜z现场监控PLCz用户开发的智能控制器z其它通用串行设备配置说明1E1=OFF设备工作方式2E2E3E4设置默认回复主机地址用于模块上电后的初始回复主机地址一旦模块接收到主机的命令后模块自动以新的主机地址覆盖除非模块复位3E5CAN波特率区间选择4E6从机地址最高位5E7E8设置RS232串口波特率6E9CAN总线匹配电阻7拨码开关高6位设置模块从机地址低2位设置CAN波特率串口端发送/接收的数据格式<数据字符串><0DH>八应用举例1标准CAN 网络如图所示1#2#模块配置成网络主机3#和4#模块配置成网络从机2实现两个串行设备的远程联接 如图示5#和6#模块均配置成设备工作方式(从机)且地址设置应相同九应用层协议1 主机AC AM 码规定AC 码AC.10AC.9-AC.7AC.6-AC.01主机地址0000000AM 码AM.10AM.9-AM.7AM.6-AM.0100011111112从机AC AM码规定AC码AC.10AC.9-AC.7AC.6-AC.01000从机地址AM码AM.10AM.9-AM.7AM.6-AM.0011100000003数据帧ID规定无论是主机发送给从机还是从机发送给主机其数据帧ID均满足如下规定ID.10ID.9-ID.7ID.6-ID.01主机地址从机地址数据帧ID包含了发送源地址(主机地址)和发送目的地地址(从机地址)在两个互为主从的设备间其发送和接收的数据帧ID均相同4SC1232B模块配置成主机协议工作方式或者配置成从机设备工作方式其模块内部AC AM码均自动满足上述协议5当SC1232B与其它CAN设备比如SC2102CAN总线PCI插卡一同使用时SC2102卡AC AM的设置也应满足如上规定十服务与联络z本产品一月保换一年保修从自销售之日起z保修范围本公司销售的在保修期内的产品确由于产品质量原因产生的故障可免费得到维修服务z特殊要求需另外订货。
RS232串行口CAN总线转换器:CAN232使用手册.
PCI非智能卡函数使用说明--for Windows 95/98/2000Pcicandrv.LIB - CAN总线函数库(适用于Windows 95/98/2000):1.自定义数据结构说明1.1 PORT_STRUCT 结构定义PORT_STRUCT结构:定义读取的PCI板卡typedef struct _tagPORT_STRUCT{BYTE card; // index of card(start from 0)BYTE value; // for some particular use} PORT_STRUCT;成员变量说明:card:表示读取哪一个PCI非智能卡,基值必须从0开始;value:为将来功能的扩展预留;1.2 PORT_CONFIG 结构定义PORT_CONFIG结构: 配置PCI非智能卡的工作方式、ID和波特率typedef struct _tag PORT_CONFIG{WORD workMode; // 0 for 11-bit;// 1 for 29-bitWORD filterMode; // 0 for single filter mode,// 1 for dual filter mode;DWORD accCode; // accept codeDWORD accMask; // accept maskBYTE timer0; // timer0 register (set baudrate)BYTE timer1; // timer1 registerBYTE control; // enable interrupt}PORT_CONFIG;成员变量说明:workMode : 0 - 使用 11位 CAN_ID;1- 使用 29位 CAN_ID;filterMode: 0 -CAN控制器采用单滤波方式;1 -CAN控制器采用双滤波方式;accCode:设定的CAN控制器节点ID;accMask:设定的与CAN_ID对应的屏蔽码;timer0:设定的CAN控制器 time0寄存器内容(用于设定波特率);timer1:设定的CAN控制器 time1寄存器内容(用于设定波特率);control:用于设定允许开放的中断 0-禁止中断 1-开放中断control.7 control.0BEIE: bus error interrupt enableALIE : arbitration lost interrupt enableEPIE: error passive interrupt enableWUIE: wake-up interrupt enableDOID: data overrun interrupt enableEIE: error warning interrupt enableTIE: transmit interrupt enableRIE: receive interrupt enable波特率与Time0、Time1寄存器设定对照表1.3 PORT_REG 结构定义PORT_REG结构: 用于读/写CAN控制器内的寄存器的数据结构。
CAN总线/RS232智能电平转换器的设计
CAN总线/RS232智能电平转换器的设计1 引言CAN,全称为Controller Area Network,即控制器局域网,是一种国际标准的,高性价的现场总线,在自动控制领域具有重要作用。
CAN 是一种多主方式的串行通讯总线,具有较高的实时性能,因此,广泛应用于汽车工业、航空工业、工业控制、安全防护等领域。
由于PC 机无CAN 接口,因此,PC 机与智能节点构成CAN 总线系统可采用RS232/CAN、并口/CAN、USB/CAN、ISA 卡/CAN 以及PCI 卡/CAN 方式接入。
而采用RS232/CAN 接入时,需采用CAN/RS232 接口标准转换。
针对这一问题,提出了CAN/RS232 智能电平转换器设计方案,以SJAl000 作为独立CAN 控制器,完成CAN 通信协议。
并在SJAl000 与驱动器之间连接高速光耦,从而实现总线各点间的电气隔离。
2 硬件电路设计CAN/RS232 智能电平转换器硬件电路主要由微处理器AT89C52、独立CAN 通讯控制器SJAl000、CAN 总线驱动器82C250、高速光电耦合器6N136、TTL 电平与RS232 电平转换器ICL232、LED 数码管显示电路以及为SJAl000 提供初始地址的拨码电路组成,其结构框图如图1 所示。
3 CAN 控制器SJAlOOOSJAl000 是一款独立CAN 控制器,应用于移动目标和工业局域区域网控制领域。
该器件是Philips 公司CAN 控制器PCA82C200 的替代产品。
SJAl000 具有两种工作模式,本设计采用PeliCAN 工作模式。
3.1 SJAl000 与AT89C52 的接口设计SJAl000 与AT89C52 的接口电路如图2 所示。
AT89C52 负责sJAl000 的初始化,控制SJAl000 来实现数据的接收和发送等通讯任务。
SJAl000 的ADO~AD7 连接至AT89C52 的P0 端口,CS 连接至AT89C52 的P3.4(AT89C52 的定时器T0 不起作用)。
利用RS232-CAN总线转换器实现多机通讯
利用RS232-CAN总线转换器实现多机通讯
孙飞;汤俊玲
【期刊名称】《江苏技术师范学院学报》
【年(卷),期】2004(10)4
【摘要】RS232通讯距离短,而且只能进行点到点通讯,不能直接组建多点通讯网络.为了延长RS232的通讯距离,并将RS232节点组成通讯网络,目前广泛使用
RS232/RS485信号转换器.但是,由于RS485通讯本身的局限性,在实际应用中存在许多不足.为此,可以将RS232通讯网络转换成CAN通讯网络,以更好地解决用户建立远程通讯网络的问题.
【总页数】5页(P47-51)
【作者】孙飞;汤俊玲
【作者单位】常州信息职业技术学院,计算机系,江苏,常州,213002;江苏技术师范学院,实验室与设备管理处,江苏,常州,213001
【正文语种】中文
【中图分类】TP303;TP311.11
【相关文献】
1.基于RS-485总线实现井下多机串口通讯 [J], 王鑫;苏楠;李佐;孙善超;史金安;张羽
2.RS232-CAN总线协议转换器设计 [J], 张同新;戴义保;吴斌
3.基于RS-422总线的单片机多机通讯接口的设计与实现 [J], 桑胜举;张华;沈丁;安琦
4.单根总线等级分布式串行中断多机通讯系统的设计与实现 [J], 张家栋
5.基于RS485总线的多机通讯的实现 [J], 由勇
因版权原因,仅展示原文概要,查看原文内容请购买。
rs232串口中继器原理
rs232串口中继器原理
RS232串口中继器是一种用于扩展RS232串口传输距离的设备。
它的原理是利用电子元件将RS232信号转换成适合长距离传输的信号,并在传输过程中保持信号的稳定性和可靠性。
首先,RS232串口中继器通过接收来自RS232串口的信号,利
用内部的电路将其转换成适合长距离传输的信号。
这通常涉及信号
的放大和整形,以确保在长距离传输过程中不会丢失信号或信号失真。
其次,中继器会将转换后的信号通过适当的传输介质(例如电
缆或光纤)传输到远端的另一个中继器或者终端设备。
在传输过程中,中继器需要保证信号的稳定性和可靠性,以确保数据的准确传输。
最后,远端的中继器或终端设备会将接收到的信号再次转换成
RS232信号,以便于与目标设备进行通信。
这样就实现了在长距离
范围内对RS232信号的传输和扩展。
总的来说,RS232串口中继器的原理是利用信号转换和传输技
术,将RS232信号扩展到更长的距离范围内,从而满足长距离通信的需求。
它在工业控制、通信设备互联等领域有着广泛的应用。
基于STM32的RS232-CAN通信协议转换器设计
基于STM32的RS232-CAN通信协议转换器设计王英志;杨佳;韩太林【摘要】依据RS232接口和CAN总线的特点,设计了RS232接口与CAN总线的协议转换器。
以集成串行接口和CAN总线控制器的STM32F103C8单片机为核心,设计转换器的硬件电路和软件程序,实现RS232和CAN总线通信协议的转换。
本转换器具有通信隔离、防雷电等功能,具有体积小,成本低,便于实现,易于推广等特点,在应用中取得良好效果。
【期刊名称】《制造业自动化》【年(卷),期】2013(000)014【总页数】3页(P141-143)【关键词】协议转换;CAN总线;RS232;STM32F103C8【作者】王英志;杨佳;韩太林【作者单位】长春理工大学电子信息工程学院,长春130022;吉林建筑工程学院电气与电子信息工程学院,长春130021;长春理工大学电子信息工程学院,长春130022【正文语种】中文【中图分类】TP2730 引言目前,RS232接口和CAN总线接口广泛应用于工业设备之间的通信。
它们各有特点,应用在不同领域。
RS232通信距离短,接口容易损坏。
CAN总线具有多点通信、组网方便,传输距离远,通信实时性好,纠错能力强,成本低等特点,能更好地匹配和协调各个控制系统[1]。
基于两种接口特点,本文介绍一种实现RS232接口设备与CAN总线设备进行通信的转换器,更好的解决用户在地域、通信网络、接口协议等方面的矛盾。
1 系统硬件设计RS232-CAN通信协议转换器设计,主要是完成RS232与CAN总线之间的通信协议转换,实现数据的互联通信。
在通信过程中,为了使系统具有通用性和稳定性,对供电电源、通信隔离、防雷电等方面进行了特殊设计。
系统原理框图如图1所示。
图1 系统原理框图1.1 单片机选择选用意法半导体公司ARM Co rtex™-M 3核的32位STM 32F103C8单片机,负责系统的整体运行。
单片机特点为:最大时钟频率为72MHz,3个16位定时器,其内部集成CAN2.0控制器、USART接口和USB2.0全速接口等,调试模式为SWD和JATG接口。
一种实现rs232接口一对多通信的方法
一种实现rs232接口一对多通信的方法RS232接口(RecommendedStandard-232)是一种多用途的串行接口标准,可以被用于计算机、网络、电话和其他通信设备之间的信息传输。
它是一种通用的电气接口规范,可实现一对多的传输,以实现多台设备之间的通信。
因此,RS232接口一对多通信是为实现网络、系统及同步控制等方面的许多应用而设计的重要功能。
RS232接口一对多通信的实现步骤如下:1.t首先将多台设备的RS232接口进行连接,并将它们依次接入计算机系统;2.t使用支持RS232通信协议的软件在每台设备上运行RS232接口;3.t在主机上配置RS232接口,将多台设备通过RS232接口连接起来;4.t调整主机上的RS232接口传输频率;5.t在主机上运行RS232接口的相关软件,将其进行设置,实现RS232接口的多点通信;6.t根据RS232接口的传输速率,将不同设备之间的数据传输;7.t根据RS232接口的要求,调整数据传输的速率;8.t最后,实现RS232接口的一对多通信。
RS232接口一对多通信也有一些需要注意的地方。
首先,对于无线通信,必须使用可靠的信号传输线进行工作,以确保数据传输的安全可靠。
其次,必须使用可用的、有效的RS232接口连接器,以确保数据传输顺利进行。
最后,为了保证传输效率,需要根据实际情况调整传输速率,以确保信号能够正常传输。
RS232接口虽然有一对多通信功能,但在实际使用中仍要注意以上的几点,以保证通信的可靠性和及时性。
同时,也应该勤加维护,保持接口的洁净,以防止信号噪声的干扰。
只有结合优化的应用,RS232的一对多通信能够得到最大的发挥,从而为用户提供高效的服务。
因此,通过正确配置RS232接口,可以实现高效和可靠的一对多通信,使多台设备之间进行交互通信,进而实现多种网络访问、数据传输、远程控制等功能。
232转can编程实例
232转can编程实例目录1.232 转 CAN 总线概述2.232 转 CAN 编程的硬件选择3.232 转 CAN 编程的软件设计4.232 转 CAN 编程的实例应用5.总结正文一、232 转 CAN 总线概述232 转 CAN 总线是指将串行通信(RS-232)转换为控制器局域网(CAN)总线的技术。
RS-232 是一种串行通信接口,主要用于电脑与外部设备之间的通信。
而 CAN 总线是一种多主控制器的串行通信总线,主要用于汽车电子设备、工业自动化等领域。
因此,232 转 CAN 技术在电子设备通信领域具有广泛的应用价值。
二、232 转 CAN 编程的硬件选择要实现 232 转 CAN 编程,首先需要选择合适的硬件。
常见的硬件选择包括:1.232 转 CAN 转换器:这是一种外置的硬件设备,可以将 RS-232 信号转换为 CAN 总线信号。
它具有接口简单、使用方便的特点。
2.CAN 控制器:这是一种集成在微控制器(MCU)内部的硬件设备,可以通过编程实现 232 转 CAN 功能。
它具有成本低、性能稳定的特点。
三、232 转 CAN 编程的软件设计软件设计主要包括以下几个方面:1.初始化:初始化 232 转 CAN 硬件设备,配置相关参数,如波特率、数据位等。
2.数据发送:将 RS-232 数据转换为 CAN 总线数据,并通过 232 转CAN 硬件设备发送到 CAN 总线上。
3.数据接收:从 CAN 总线上接收数据,并将其转换为 RS-232 数据,供上位机处理。
4.错误检测与处理:检测 CAN 总线上的错误,如位错误、帧错误等,并进行相应的处理。
四、232 转 CAN 编程的实例应用以一种常见的 232 转 CAN 转换器为例,通过该转换器将 RS-232 信号转换为 CAN 总线信号,实现对某汽车电子设备的通信控制。
具体应用过程包括:1.选择合适的 232 转 CAN 转换器,并连接到 RS-232 接口和 CAN 总线上。
RS232串口多机通信
RS232串口多机通信一基本原理1、主从多机通信拓扑图2、主从多机通信的具体过程1)使所有的从机的SM2位置1,以便接收主机发来的地址;2)主机发出一帧地址信息,其中包括8位需要与之通信的从机地址,第9位为1;3)所有从机接收到地址帧后,各自将所接收到的地址与本机地址比较,对于地址相同的从机,使SM2位清零以接收主机随后发来的所有信息。
对于地址不符合的从机,仍保持SM2=1的状态,对主机随后发来的数据不予理睬,直至发送新的地址帧;4)主机给已被寻址的从机发送控制命令和数据(数据帧的第9位为0);5)本次通信结束后,从机重置SM2=1,主机可再寻址其它从机。
二主从模式首先要设定工作方式3:(主从模式+波特率可变)SCON位定义:SCON串口功能寄存器:SM0=1;SM1=1(工作方式3)注:主机和从机都要为工作方式3。
1、工作方式2 (SM0 SM1 :1 0):串行口为11位异步通信接口。
发送或接收一帧信息包括1位起始位“0”、8位数据位、1位可编程位、1位停止位“1”。
发送数据:发送前,先根据通信协议由软件设置TB8为“奇偶校验位”或“数据标识位”,然后将要发送的数据写入SBUF,即能启动发送器。
发送过程是由执行任何一条以SBUF为目的寄存器的指令而启动的,把8位数据装入SBUF,同时还把TB8装到发送移位寄存器的第9位上,然后从TXD(P3.1)端口输出一帧数据。
接收数据:先置REN=1,使串行口为允许接收状态,同时还要将RI清“0”。
然后再根据SM2的状态和所接收到的RB8的状态决定此串行口在信息到来后是否置R1=1,并申请中断,通知CPU接收数据。
当SM2=0时,不管RB8为“0”还是为“1”,都置RI=1,此串行口将接收发送来的信息。
当SM2=1时,且RB8=1,表示在多机通信情况下,接收的信息为“地址帧”, 此时置RI=1,串行口将接收发来的地址。
当SM2=1时,且RB8=0,表示在多机通信情况下,接收的信息为“数据帧”, 但不是发给本从机的,此时RI不置为“1”,因而SBUF中接收的数据帧将丢失。
实现RS232或RS485接口设备和CAN设备之间的通信
SCA-102应用案例
——实现RS232/RS485接口设备和CAN设备之间的通信
关键词:232转CAN,485转CAN,串口转CAN,现场总线系统要求:实现PC或者带有RS232/RS485接口设备和CAN设备之间的通信。
系统实现:
∙解决方案:SiboTech的网关SCA-102能够实现RS232/RS485与CAN总线之间透明传输,同时也可以满足从RS232/RS485到CAN的数据转换传输(RS232\RS485发送数据中带有CAN报文信息转换成相应的CAN报文发送)。
∙技术特性:SCA-102的CAN口支持CAN2.0A和CAN2.0B,波特率:5K~1000Kbps;
串口支持RS232/RS485,波特率:1200 ~115200bps;提供两种数据转换模式:透明转换、透明带标识转换;可设置断帧超时时间;CAN接口采用光电隔离,DC-DC电源隔离;串口接收缓存:4.5K字节,CAN接收缓存:1.6K字节。
∙配置方法:建立SCA-102串口(RS232)和电脑串口的连接,通过配置软件配置通讯相关参数:
系统连接:
如上图所示:RS232设备发送01 02 03 04数据,通过SCA-102,帧ID为06 27,所以只有节点2才能收到01 02 03 04四个数据,而节点2发送的数据01 02 03 04帧ID是06 43,因为SCA-102设置的接收ID范围为06 40~06 50,所以RS232设备能
接收到节点2发来的数据,从而实现RS232设备和CAN设备的数据通信。
如上图所示:通过SCA-102可以发送CANopen命令来控制各个CANopen从站,并接收CANopen从站节点的数据通过串口发送给PC机,然后PC机经过分析处理决定发送CANopen报文。
RS232_CAN智能协议转换器及其通信网络
第28卷,第3期 中国铁道科学Vo l 28No 32007年5月 CH INA RAILWAY SCIEN CEM ay,2007文章编号:1001 4632(2007)03 0134 06 成果简报RS232/CAN 智能协议转换器及其通信网络赵志军1,王建英2(1.中国传媒大学信息工程学院,北京 100024; 2.铁道科学研究院通信信号研究所,北京 100081) 摘 要:为研制RS232/CAN 智能协议转换器,根据技术要求,确定其硬件系统主要由RS232接口、CA N 协议控制器和CAN 总线收发器等组成,软件系统主要由参数设置子程序、RS232串口/CA N 转换子程序、CRC 校验子程序等组成。
关键技术包括:在CA N 控制器软件初始化过程中对系统中断的控制;采用硬件流控制实现数据传输过程的控制。
将2个RS232/CAN 智能转换器通过双绞线连接起来,实现2个设备之间的R S232点对点远程通信。
在各设备处安装RS232/CA N 智能转换器,通过双绞线连接,并在端点处安装匹配电阻即可组成RS232/CA N 通信网络。
在调度集中车站智能自律分机系统中,采用RS232/CA N 智能协议转换器构建通信网络,既可充分利用原来的软硬件系统,又可提高系统的效率,缩短开发周期。
关键词:智能协议转换器;RS232接口;R S232/CA N 转换;控制器局域网络(CA N) 中图分类号:T N 919 2;U 285 41 文献标识码:B收稿日期:2006 06 13;修订日期:2007 03 15作者简介:赵志军(1970 ),女,河北元氏人,副教授,博士研究生。
RS232通信距离短,只能进行点到点通信,不能直接组建多点通信网络。
为了延长RS232的通信距离,并将RS232节点组成通信网络,目前广泛使用RS232/RS485信号转换器。
但是随着控制网络规模的扩大,数据通信量的增多,对数据的实时性、可靠性以及故障敏感性等的要求进一步提高,基于RS485总线的通信方式已不能很好地满足应用的要求[1 3]。
c#通过串口及CAN模块实现上位及下位机通讯
c#通过串⼝及CAN模块实现上位及下位机通讯⽬录前⾔⼀、串⼝、CAN总线⼆、使⽤步骤1.RS232串⼝通讯(指令下发与接收)2.CAN总线通讯总结前⾔学习及⼯作中我们经常会遇到上位机与下位机通讯等⼯作,结合场景使⽤不同的通讯⽅式实时通讯,以下为⼯作中遇到的上位机与下位机进⾏实时通讯,采⽤RS232串⼝和CAN总线形式进⾏⽹络通讯。
⼀、串⼝、CAN总线串⾏接⼝简称串⼝,也称串⾏通讯接⼝或串⾏通讯接⼝(通常指设备的COM接⼝),是采⽤串⾏通信⽅式的扩展接⼝。
串⾏接⼝(Serial Interface)是指数据⼀位⼀位地顺序传送。
其特点是通讯简单,只要⼀对传输线,通过设备设置传输线端⼝等参数就可以实现双向通信,从⽽⼤⼤降低了成本,特别适⽤于远距离通信,但传送速度较慢。
CAN是控制器局域⽹络(Controller Area Network, CAN)的简称,是由以研发和⽣产汽车电⼦产品著称的德国BOSCH公司开发的,并最终成为国际标准(ISO 11898),是国际上应⽤最⼴泛的现场总线之⼀。
在北美和西欧,CAN总线协议已经成为汽车计算机控制系统和嵌⼊式⼯业控制局域⽹的标准总线,并且拥有以CAN为底层协议专为⼤型货车和重⼯机械车辆设计的J1939协议。
上位机与与下位机制定好通⽤协议通过CAN模块将数据进⾏16进制转换实时通讯。
⼆、使⽤步骤1.RS232串⼝通讯(指令下发与接收)代码如下(⽰例)://命名空间引⼊using System.IO.Ports;public SerialPort serialPort;//定义串⼝对象类public//定义连接⽅法public void Connect(){serialPort = new SerialPort();serialPort.BaudRate = 1200;//波特率serialPort.PortName = "COM1";serialPort.Parity = Parity.None;//校验法:⽆serialPort.DataBits = 8;//数据位:8serialPort.StopBits = StopBits.One;//停⽌位:1try{serialPort.Open();//打开串⼝serialPort.DtrEnable = true;//设置DTR为⾼电平serialPort.RtsEnable = true;//设置RTS位⾼电平serialPort.DataReceived += new SerialDataReceivedEventHandler(serialPort_DataReceived);//DataReceived事件委托byte[] WriteBuffer = Encoding.ASCII.GetBytes("下发指令");//下发serialPort.Write(WriteBuffer, 0, WriteBuffer.Length);}catch (Exception ex){//打开串⼝出错,显⽰错误信息Console.WriteLine("串⼝打开失败");}}2.CAN总线通讯代码如下(⽰例)://⾸先与CAN模块进⾏连接public TcpClient mTcp = new TcpClient();private const int READ_BUFFER_SIZE = 1000;private byte[] readBuffer = new byte[READ_BUFFER_SIZE + 1];public delegate void DoReadEventHandle(object sender, string e);public event DoReadEventHandle ReadedEvent;public event DoReadEventHandle LogEvent;public string recStr { get; set; }public string HandString { get; set; }public bool Connect(){//Can模块ipstring mIPAddress = "192.168.1.1";IPAddress hostIPAddress = IPAddress.Parse(mIPAddress);//端⼝int mPort = 8080;IPEndPoint endIP = new IPEndPoint(hostIPAddress, mPort);try{mTcp = new TcpClient(mIPAddress, mPort);DateTime Savetime = DateTime.Now;TimeSpan n = new TimeSpan();while (true){n = DateTime.Now - Savetime;if (n.TotalMilliseconds > 1000 || mTcp.Client.Connected) break;}if (!mTcp.Client.Connected) return false;mTcp.GetStream().BeginRead(readBuffer, 0, READ_BUFFER_SIZE, DoRead, null);}catch (Exception){return false;}return true;}private void DoRead(IAsyncResult ar){try{int BytesRead = mTcp.GetStream().EndRead(ar);if (BytesRead > 0){string s = "";for (int i = 0; i <= BytesRead - 1; i++){s = s + string.Format("{0:x2}", readBuffer[i]) + " ";}Console.WriteLine(s);var t = s.Split(new string[] { "aa 00 ff 00 00 00 00 00 00 00 00 00 55" }, StringSplitOptions.RemoveEmptyEntries).FirstOrDefault(ex => ex != " ");if (!string.IsNullOrEmpty(t)){recStr += t + "\r\n";if (HandString == recStr && LogEvent != null){HandString = null;LogEvent(this, "握⼿成功!");}} mTcp.GetStream().BeginRead(readBuffer, 0, READ_BUFFER_SIZE, DoRead, null);}}catch (Exception e){mTcp.Client.Close();}}//数据发送public void sendCan(string temperature, bool check){HandString = "0xC0 0x02 0x02 0x00 0x00";string[] tmp = temperature.Split(' ');var buf = new byte[22];for (int i = 0; i < buf.Length; i++){buf[i] = 0;}for (int i = 0; i < tmp.Length; i++){try{buf[i] = Convert.ToByte(tmp[i], 16);}catch (Exception e){buf[i] = 0;}}SendData(buf, 0, 13, check);}public bool SendData(byte[] sendBytes, int mStart, int mLen, bool check = true) {if (!check) return false;try{lock (mTcp.GetStream()){mTcp.GetStream().Write(sendBytes, mStart, mLen);}return true;}catch (Exception x){return false;}}总结1、RS232串⼝通讯接⼝的信号电平值较⾼,易损坏接⼝电路的芯⽚,传输速率较低,传输距离有限。
CANOpen与RS232485转换器解决方案
CANOpen与RS232/485转换器解决方案现场总线在工业控制领域中的应用研究日益广泛,使用现场总线可以有效的减少各个通信节点之间的连接线数量,从而有效的降低成本,提高通信可靠性。
,下面沈阳广成科技有限公司为您提供解决方案。
在众多的现场总线中,工控领域中较为常用的有RS232/485/422总线、CAN总线、Ethernet总线。
其中CAN总线以其易于掌握、易于开发等优点,成为一种很有应用前景的现场总线。
但CAN不是一种完整的网络协议,缺少应用层和网络管理部分。
CANopen是最初由从事工业控制的CiA(CAN in Automation)会员开发的针对工业系统,并基于CAN通信协议的应用层协议。
CANopen在包括海上电子设备,医疗设备以及铁路系统等多个领域都有广泛的应用。
一、CANopen 协议结构CANopen协议的结构定向根据ISO11898国际标准,以开放系统互联网络OSI为参考模型,结构如图1所示:图1 CANopen通信参考模型如图所示,在数据链路层,具有CAN控制芯片,遵循CAN 2.0A/2.0B 协议,物理层规定执行ISO11898国际标准,数据链路层和物理层由硬件实现CANopen的设备规范,使得制造商可以按照其规范生产标准的通用设备,也不需要特殊的软件来把不同厂家的网络设备组建起来。
基本的网络操作由明确的强制的设备规范所保证。
CiA提供了包括CiA-401的I/O模型,以及CiA-404的用于测量设备和闭环控制的规程。
这些规程都由一个叫做“对象字典”的标准化数据库来实现。
对象字典可以用一个16 位的索引进行存取,在数组和结构的情况下再用一个8 位的子索引。
该字典也描述了设备的全部应用对象。
二、CANopen通信对象CANopen通信标准规定了四中通信对象(报文),通过通信标识符(COB-ID)或CAN标识符来表示区分。
1. 网络管理报文NMT网络管理报文提供网络管理服务,例如,初始化,错误控制和设备状态控制。
AVUN RS232C-CAN总线接口转换器说明书
产品简介:232-CAN接口转换器,兼容RS232C、CAN总线标准,能够将单端的RS-232信号转换为平衡差分的CAN总线信号。
实现点到点、点到多点的两线半双工RS-232-CAN通信,数据通讯速率从0-57.6KBPS,支持的通讯方式RS-232C到CAN总线的信号转换。
内置的快速瞬态电压抑制器(TVS)可以有效地抑制闪电(Lightning)和ESD,提供每线600W的雷击浪涌保护功率。
内置有光电隔离器,能够提供2000Vrms的隔离电压,使设备间实现地和电源的隔离,可以有效地防止雷击和共地干扰。
本232-CAN转换器需外接电源(包括在产品包装中)。
由于CAN总线支持两线半双工通讯,也就是说CAN总线仅有的两条线路即要发送数据又要接收数据。
为控制控制数据发送的方向,本产品内部电路能够自动感知数据流方向并自动切换转换器的收发模式,无需做任何跳线设置实现模式转换,可以方便的组成一个CAN总线网络而无须任何手握信号,这种CAN总线收发控制是完全透明的,不需要对以前的基于CAN总线工作方式作任何软件的修改。
性能参数1、接口特性:接口兼容EIA/TIA的RS232C,CAN总线标准;2、总线芯片:采用PHILIPS 82C250高性能CAN BUS收发芯片;3、电气接口:RS232C端DB9孔型(母头)连接口,CAN总线端配接线柱端子;4、工作方式/传输介质:异步半双工/普通线、双绞线或屏蔽双绞线;5、传输速率/距离:300M时可达到57600KBPS2400M时可达到9600BPS5公里时能达到2400BPS注:传输速率的稳定、持久性还应考虑外围环境,如传输介质、外部信号干扰等影响,本产品出厂标准为1200M时可达到38400KBPS;6、工作环境:-25℃到70℃,相对湿度为5%到95%7、保护等级: CAN总线接口每线600W的雷击浪涌保护。
连接器和信号232-CAN的CAN总线端232-CAN的电源接口定义如下:RS-232C引脚定义CAN总线端引脚定义DB9F母头(PIN)RS-232C(DCE)接线端子CAN总线接线1 DCD(保护地) DC+电源正产品电源+2 RXD(接收数据) DC-电源负产品电源-3 TXD(发送数据) T/R+ CAN-L4 DTR数据终端准备 T/R- CAN-H5 GND(信号地) RXD+ 不使用6 DSR数据装置准备 RXD- 不使用7 RTS(请求发送)8 CTS(清除发送)232-CAN接口转换器,其工作电源情况:采用产品已配的DC7.5V电源适配器供电,也可以从其它直流电源或设备供电,供电电压直流+6/+7.5V,电流0.2-0.5A。
rs232转can原理
rs232转can原理RS232 to CAN conversion is a process that involves transforming serial communication data from RS232 format to CAN format. RS232 is a standard for serial communication transmission of data, whereas CAN (Controller Area Network) is a protocol used in the automotive industry for communication between microcontrollers and devices within a vehicle. The need for RS232 to CAN conversion arises when there is a requirement to integrate RS232-based devices or systems with a CAN-based network.RS232到CAN的转换是一个过程,涉及将来自RS232格式的串行通信数据转换为CAN格式。
RS232是一个用于串行通信数据传输的标准,而CAN(Controller Area Network)是汽车行业中用于车辆内微控制器和设备之间通信的协议。
当需要将基于RS232的设备或系统集成到基于CAN的网络中时,就需要进行RS232到CAN的转换。
One of the key principles behind RS232 to CAN conversion is the difference in communication protocols. RS232 operates on a point-to-point communication protocol, where two devices communicate directly with each other. On the other hand, CAN is a multi-mastercommunication protocol, allowing multiple devices to communicate on the same bus. This fundamental difference in communication protocols requires conversion to ensure seamless and efficient communication between RS232 and CAN devices.RS232到CAN转换背后的一个关键原则是通信协议的差异。
232转can编程实例
232转can编程实例232转CAN编程实例CAN(Controller Area Network)是一种用于实时应用的串行通信协议,常用于汽车电子领域。
在CAN网络中,各个节点通过CAN总线进行数据的传输与接收。
本文将以一个232转CAN的编程实例来介绍如何在CAN网络中进行数据的传输与接收。
我们需要准备一个232转CAN的硬件设备,该设备可以将RS232串口的数据转换为CAN数据,并通过CAN总线进行传输。
在编程之前,我们需要安装好相应的驱动和库文件,以便能够在程序中使用相关的函数和接口。
接下来,我们可以开始编写程序了。
首先,我们需要初始化CAN总线和232串口。
对于CAN总线的初始化,我们可以设置波特率、滤波器等参数,以确保数据的稳定传输。
对于232串口的初始化,我们需要设置波特率、数据位、停止位等参数,以确保与外部设备的正常通信。
然后,我们可以编写发送数据的程序。
在CAN网络中,数据的传输是以帧为单位的。
我们可以定义一个CAN帧的数据结构,包括帧ID、数据长度、数据内容等信息。
然后,我们可以调用相应的函数,将数据发送到CAN总线上。
在发送数据时,我们需要注意数据的优先级和帧ID的设置,以确保数据能够正确地传输到目标节点。
接着,我们可以编写接收数据的程序。
在CAN网络中,数据的接收是通过监听CAN总线上的数据帧来实现的。
我们可以定义一个接收缓冲区,用于存储接收到的数据。
然后,我们可以调用相应的函数,从CAN总线上接收数据,并将其存储到接收缓冲区中。
在接收数据时,我们需要注意数据的过滤和帧ID的匹配,以确保只接收到目标节点发送的数据。
我们可以编写主程序,将发送数据和接收数据的功能结合起来。
在主程序中,我们可以设置一个循环,不断地发送数据和接收数据。
可以通过用户的输入来控制发送的数据内容和接收的数据量。
同时,我们可以在程序中添加一些错误处理的机制,以应对异常情况的发生。
通过以上的编程实例,我们可以实现232转CAN的数据传输与接收功能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
;<<) 与 3:% 脚相连 ’ 从而简化了电路 & 在系统中 ’18(%--- 的片选信号一般由地址总线经译码获得 ’ 并由
此决定出 ’() 控制器各寄存器的地址 & 当上电复位时 ’(9+"’,% 的上电复位 ’ 需要从低到高的电平变化 来激活 ’而 18(%--- 的 %> 脚 319 被激活 ’ 需要出现一个由高电平到低电平的跳变 &
第!期
孙 飞 汤俊玲 ! 利用 !"#$%&’() 总线转换器实现多机通讯
!"
#$%$& ’() 总线收发器
.%/ ’() 总线收发器选用 *’(+&’&,- 作为总线收发器 " *’(+&’&,- 是 ’() 协议控制器和物理总线之
间的接口 " +&’&,- 可以为总线提供不同的发送性能 # 为 ’() 控制器提供不同的接收性能 " 而且它与 $012 %%+"+% 标准完全兼容 & *’(+&’&,- 的目的是为了增大通信距离 ’ 提高系统的瞬间抗干扰能力 ’ 保护 总线 ’ 降低射频干扰 (340 )实现热防护等 & 硬件电路的设计并不太困难 ’ 但有几点应引起注意 !+&’,- 第 + 脚与地之间的电阻 35 称为斜率电阻 ’ 它的取值决定 了系统处于高速工作方式还是斜率控制方式 & 把该 引脚直接与地相连 ’ 系统将处于高速工作方式 ’ 在这 种方式下 ’ 为避免射频干扰 ’ 建议使用屏蔽电缆作总 线 * 而在波特率较低 + 总线较短时 ’ 一般采用斜率控 制方式 ’ 上升及下降的斜率取决于选的阻值 ’ 实验数 据表明 %,6&--7! 为 35 较理想的取值范围 ’ 在该方 式下 ’ 可以使用平行线或双绞线作总线 & 18(%--- 的
学
院
学
报
第 ,. 卷
图 , 利用 "#$!$9&’( 总线转换器实现 "#$!$ 多机网络通讯
5:;+, "<=>:?:@; /&A#" &BCCD@:E=F:B@ GH AI:@; "#$!$9&’( JA# &B@K<LFBL
!
"#$!$%&’( 总线转换器
!)* &’( 总线接口模块
图$
&’( 总线接口模块原理图 5:;+$ &’( JDI 6@F<LM=E< /BND><
$
456 总线的技术特点
可实现多主机工作方式 " 采用非破坏性基于优先权的总线仲裁技术 % 具有判别节点是暂时性故障还
是永久性故障的功能及故障节点的自动脱离功能 % 使系统其它节点的通信不受影响 " 同时 456 具有出错 帧自动重发功能 % 可靠性高 " 信号传输用短帧结构 &* 字节 (% 实时性好 " 不关闭总线即可任意挂接或拆除 节点 %增强了系统的灵活性和可扩展性 "采用统一的标准和规范 %使各设备之间具有较好的互操作性和互 换性 % 系统的通用性好 " 通讯介质可采用双绞线 % 无特殊要求 " 现场布线和安装简单 % 易于维护 % 经济性 好’
+时钟分频寄存器 +选择 %/01*,2 模式 !关闭时钟输出 "*03"4& # +中断允许寄存器 +开放发送中断 !溢出中断和错误警告中断 +接收屏蔽寄存器 +接收屏蔽寄存器内容在单片机内 ’,! 中的首址 +接收屏蔽寄存器赋初值3;接收代码寄存器 +接收代码寄存器内容在单片机内 ’,! 中的首址 +接收代码寄存器赋初值
阻 % 电阻跨接在 456(< 和 456(= 上 ’ 如果用户的数据传输距离超过 )>?% 则需要在 456 网络中间安装 中继器 ’ 利用图 $ 所示的拓朴结构可以方便地实现 21’/’ 多点组网和远程通讯 ’ 所组建的 456 控制网络 具有组网灵活 , 数据传输可靠性高 , 通讯速率高 , 总线利用率高等优点 % 而且 456 是对等网络 % 编程比主 从模式的 21&*) 方便 +
!+,), &’( 控制器 &’( 控制器选用 #-’,... 作为控制器 ! #-’,... 是高集成度 &’( 控制器 ! 具有多主结构 "总线访问
优先权 " 成组与广播报文功能及硬件滤波功能 ! 输入时钟频率可选用 ,$/01 时钟2 输出可编程控制 ! 由以 下几部分构成 #接口管理逻辑 " 发送缓存器 " 接收缓存器 "位流处理器 " 位定时逻辑 " 收发逻辑 " 错误管理逻 辑 " 控制器接口逻辑等 ! #-’,... 有很多新功能 #标准结构和扩展结构报文的接收和发送 $34 字节的接收
利用 05484@;$< 总线转换器组建一个 ;$< 控制网络 ! 能够很方便的实现 05484 多点组网 ’ 远程通 讯 ! 并且不需要更改原有 05484 通讯软件 ! 用户可直接嵌入原有的应用领域 ! 使系统设计达到更先进的 水平 "
参考文献 (
A7B 饶运涛 ! 邹继军 ! 郑勇芸 3 现场总线 ;$< 原理与应用技术 A!B3 北京 ( 北京航空航天大学出版社 !4’’83
!
系统软件设计
31&#&C’() 总线转换器的软件设计包括四大部分 !18(%--- 控制器初始化 ’ 报文发送 ’ 报文接收 ’31C
&#& 串口通讯 & !$% 初始化过程 18(%--- 的初始化只有在复位模式下才可以进行 ’ 初始化主要包括工作方式的设置 ’ 接收滤波方式
的设置 ’接收屏蔽寄存器 ((?3) 和接收代码寄存器 ((’3) 的设置 ’ 波特率参数设置和中断允许寄存器 (0!
’
系统的硬件结构框图
利用 21’/’(456 总线转换器实现 21’/’ 多机通讯网络 % 如上图所示 ’ 注意 %456 网络是一个 ) 直线
型 * 网络 + 首先需要将每个用户设备分别连接一个 21’/’(456 总线转换器 " 然后通过双绞线连接各个
21’/’(456 总线转换器的 456 端口 ’ 另外 % 需要在 456 网络的两个端点处各安装 $ 个 $’% 欧姆的电
,*’121: !"# 12* $%&’
+总线定时寄存器 7
+ 总线定时寄存器 ? +设置波特率 +输出控制寄存器
+接收缓存器起始地址寄存器
+ 发送错误记数寄存器 +清除发送错误记数寄存器 +接收错误记数寄存器 +清除接收错误记数寄存器 +错误代码捕捉寄存器 +清除错误代码捕捉寄存器 +方式寄存器
第2期
B7
江
苏
技
术
师
范
学
院
学
报
第 ?7 卷
!"# !"# !"#5 !"# !"# !"#5 !"# !"# !"# !"#5 $;2< !"# !"# !"# !"#5 $;2< !"# !"# !"#5 !"# !"# !"#5 !"# !"# !"#5 !"# !"# !"#5 !"# !"# !"#5 !"# !"# !"#5 !"# !"#5 !"#
第 $%卷第 & 期 677& 年 $’ 月
江 苏 技 术 师 范 学 院 学 报 #$%&’() $* #+(’,-% ./(01/&- %’+2/&-+.3 $* ./01’$)$,3
245!$%"’4!& !"# !" 677&
利用 !"#$%& ’() 总线转换器实现多机通讯
孙 飞 %汤 俊 玲
!!!! 收稿日期 ! 677&(%)(%* " 修回日期 ! ’%%&($%(’+ 作者简介 ! 孙飞 #$,--( $% 男 % 江苏宜兴人 % 常州信息职业技术学院计算机系助教 " 汤俊玲 &$,-,( $% 女 % 江苏丹阳人 % 江
苏技术师范学院实验室与设备管理处助教 ’
4O
江
苏
技
术
师
范
#$& 31&#& 总线接口模块 ?(:&#& 芯片是 ?(:0? 公司的生产的 + 包含两路接收和驱动器的 0’ 芯片 @ 适用于各种 =0(A&#&’ 和 ;$&+B;$&! 的通信接口 & ?(:&#& 芯片内部有一个电源电压变换器 ’ 可以把 ,; 电压变换成 31C&#&’ 输出
电平所需的正负 %-; 电压 &所以 ’采用此芯片接口的串行通信系统只需单一的D,; 电源就可以了 &加之其 价格适中 ’硬件接口简单 ’因此转换器采用 ?(:&#& 芯片 &
$%&’()*$’ ,()--. 6$%&’(, $%&’()1/’ ,()7$. 6$%&’(, $%&’(),!’ ’8()9 ’7()$,!’ ,(6’7 6$%&’(, ’8(,!’121 $%&’()$,*’ ’8()9 ’7()$,*’ ,(6’7 6$%&’(, ’8 !,*’121 $%&’()=&’7 ,()7> 6$%&’(, $%&’()=&’? ,()7@@. 6$%&’(, $%&’()"*’ ,()7,,. 6$%&’(, $%&’()’=A, ,()7 6$%&’(, $%&’()&5/’’ ,()7 6$%&’(, $%&’()’5/’’ ,()7 6$%&’(, $%&’()/** ,(6$%&’ $%&’()!"$/