总线通讯

2024-09-21

总线通讯(精选7篇)

总线通讯 篇1

0 引言

ARINC429通讯总线是航空技术中广泛应用的数据传输总线,规定了航空电子设备及有关系统间的数字信息传输要求,已经广泛应用在波音及空客等机种。我国某些最新研制的机型中也以ARINC429为主要通讯总线。

1 ARINC429 总线简介

ARINC429总线协议全称是数字式信息传输 系统(DITS—Digital InformationTransfer System),具有结构简单,性能稳定,抗干扰性强,可靠性高等优点。根据规范,ARINC429数据信息通过一对单向、差分耦合、双绞屏蔽线传输 ;每条总线上可以连接不超过20个接收器 ;采用双极性归零的三态码方式,具有较强的抗干扰能力 ;传输速率为(12.5 ~ 100)kbps。

按照ARINC429总线规定,每个数据字格式(二进制或BCD码)由32位组成 :1 ~ 8位是标志码(LABEL),9、10位是源 目的地址识别码(SDI)、11 ~ 29位是数据区(Data Field)、30、31位是符号状态位(SSM)、32位是奇偶校验位(P)。在发送每组数据后有4位零周期,它是隔离符号,以便于发送下一组数据。

2 ARINC429 收发系统设计

系统原理框图如图1所示,以DSP处理器芯片F240作为控制核心 ;利用HARRIS公司的一 片HS-3282( 高性能CMOS型ARINC429数据收发芯片 ) 和一片HS-3182(ARINC429数据发送驱动芯片 ) 形成两收一发信息交换通道 , 从而构成数据收发、串 / 并及并 / 串转换的主体。采用可编程逻辑器件GAL16V8实现组合逻辑控制,提高模块的集成度。采用芯片MAX691设计了硬件看门狗监控电路和掉电保护电路,保证了硬件电路的可靠性。

HS-3282芯片低电平复位信号有效,外部工作时钟为1MHz。具有二路接收、一路发射功能 :即第一路接收(A429_DI1A、A429_DI1B)和第二路接收(A429_DI2A、A429_DI2B),具有一路 发送,即(A429_DOA、A429_DOB)。发送时,HS-3282为前级输出,HS-3182为正式差分输出。

其控制逻辑实现如下 :

3 软件设计

3.1 系统初始化模块

初始化模块是整个程序的入口 , 主要完成DSP处理器芯片F240的内部寄存器、时钟频率、看门狗设置、程序及数据存储空间和ARINC429总线通讯所需要设置的字长、传输速率、数据字格式、中断使能等的初始化设置,使之能够正确实现相应的功能。

3.2 ARINC429 总线发送程序设计

DSP处理器在接收到上位机的数据发送指令后,首先对数据收发芯片HS3282芯片进行 复位操作 ;然后向HS3282写入控制字,通过使能写控制字信号/CWSTR来设置发送模式 ;写完控制字之后就可以调用数据发送函数,向HS-3282中写入数据了。具体过程是 :首先设置 /PL1有效 , 将数据WORD1(16位 )写入FIFO寄存器的低16位,再设置 /PL2有效,将数据WORD2(16位)写入FIFO寄存器的高16位,这样就将32位数据写入到FIFO寄存器中。当FIFO寄存器写满32位数据后,标志位TX/R被设置为低电平。写入数据后,且将ENTX设置为高电平,进行数据发送。发送完成后 , 标志位TX/R就会拉回至高电平,此时就可以将ENTX置为低电平。ARINC429总线发送程序的流程图如图2所示。

3.3 ARINC429 总线接收程序设计

利用HS-3282芯片,可以完成2路ARINC429总线数据接收,这里介绍1路数据接收,另1路数据接 收同第1路。首先对HS-3282芯片进行 复位操作 以及写入控制字,等待接收上位机发出的ARINC429数据。当HS-3282芯片接收到一个的数据字(32位)时,就会将此数据存入到数据移位寄存器中。然后源 目的地址识别码(第9、10位)会自动与使用者自定义码进行比较,如果是相同数据就会被锁存 ;否则不操作。数据被锁存之后标志位DR1就被置为低电平,表明接收器已经接收到数据。DSP然后开始读取此数据,首先将数据选择线SEL置为低电平,并且给使能信号 /EN1一个低电平,将32位数据字的低16位锁存到数据总线(16位)上,让DSP就读取低16位数据 ;然后把SEL置为高电平 , 并且再次给使能信号 /EN1一个低电平,这样就将高16位数据锁存到数据总线(16位)上,让DSP完成对高16位数据的读取。同时将标志位DR1复位,这样就完成了一次接收ARINC429数据(32位)的操作。ARINC429总线接收程序的流程图如图3所示。

3.3 ARINC429总线接收程序设计

利用HS-3282芯片,可以完成2路ARINC429总线数据接收,这里介绍1路数据接收,另1路数据接 收同第1路。首先对HS-3282芯片进行 复位操作 以及写入控制字,等待接收上位机发出的ARINC429数据。当HS-3282芯片接收到一个的数据字(32位)时,就会将此数据存入到数据移位寄存器中。然后源 目的地址识别码(第9、10位)会自动与使用者自定义码进行比较,如果是相同数据就会被锁存 ;否则不操作。数据被锁存之后标志位DR1就被置为低电平,表明接收器已经接收到数据。DSP然后开始读取此数据,首先将数据选择线SEL置为低电平,并且给使能信号 /EN1一个低电平,将32位数据字的低16位锁存到数据总线(16位)上,让DSP就读取低16位数据 ;然后把SEL置为高电平 , 并且再次给使能信号 /EN1一个低电平,这样就将高16位数据锁存到数据总线(16位)上,让DSP完成对高16位数据的读取。同时将标志位DR1复位,这样就完成了一次接收ARINC429数据(32位)的操作。ARINC429总线接收程序的流程图如图4所示。

4 结束语

随着国内军用飞机及民用飞机的巨大发展,ARINC429总线通讯 简单、有效、规范严格、可靠性高的优点将使其在机载通讯领域具有十分广泛的应用市场,航空电子系统之间的通讯协议也越来越多的使用ARINC429总线标准。本文方案以DSP处理器为主控制器、可编程逻辑器件GAL16V8实现逻辑控制功能单元、总线收发芯片HS-3282和总线驱动芯片HS-3182一同作为总线收发单元,并结合DSP软件程序和逻辑控制程序完成对ARINC429总线数据的收发任务。

综上所述的ARINC429总线收发系统具有体积小、重量轻、结构简便、兼容性强、使用成本低、软件易升级、数据传输快等特点,能够在军用大飞机、战斗机、民航客机、直升机以及中小型飞机等不同的航空器环境下使用,并适应不同环境条件的变化。其良好的使用前景也越来越被看好,运用也会更加广泛。

总线通讯 篇2

随着航天技术的进步和卫星与高空探测技术的发展, 需要一种高速、可扩展、低功耗、低成本的通用通讯链路接口来满足星载高速数据传输要求。Space Wire总线标准就是一种高速的、点对点、全双工的串行总线网络, 以IEEE1355-1995和LVDS两个商业标准相结合而提出的一种星载数据总线。本文在研究Space Wire总线协议的基础上, 分析了基于CPCI接口的Space Wire节点通讯板卡的硬件实现架构, 并着重分析CPCI接口电路电源管理功能、PCI桥接电路以及上位机软件驱动的生成原理。

1 Space Wire概述

Space Wire是为更好地满足星载设备间高速数据传输需求而提出一种高速的 (2Mbit/s至400Mbit/s, 目前实现的宇航级节点设备之间的速度为200Mbit/s) 、点对点、全双工的串行总线网络, 在2003年1月正式成为欧空局标准。它的提出主要致力于航天器内有效载荷系统数据和控制信息的处理, 以满足未来高性能高速数据传输为目标, 提供了一种统一的用来连接传感器、数据处理单元、大容量存储器、遥测子系统以及电地支持设备EGSE (electronic ground support equipment) 的基础架构。

S p a c e W i r e标准具体包括了链路、节点和路由三方面的内容。本文着重讨论节点的功能, 所谓Space Wire节点, 是指传输包的流出设备或者流向设备, 可以是处理器、存储单元、传感器、电地支持设备 (EGSE) 或连接在Space Wire总线网络上的其它单元。

2 Space Wire节点通讯板卡硬件设计

EMBC1000-CPCISPW是欧比特公司自主研制的完全遵循并实现ECSS-E-ST-50-12C协议规范的航天设备间的高速Space Wire数据总线的, 支持热插拔的CPCI接口的节点终端通讯板卡 (本板卡实现了200Mbit/s的速率) 。此Space Wire总线节点通讯板卡可以嵌入在航天子系统中, 将航天子系统中与其它Space Wire网络之间连接, 保证航天子系统之间高速、实时、确定、可靠地进行数据交换。硬件架构如图l所示, 分为FPGA控制模块、CPCI接口电源管理模块、MDM9S接口模块和SRAM缓存模块。各模块的功能如下:

F P G A控制模块:F P G A采用Altera公司的EP3C55F484I7N芯片, 时钟频率采用80MHz, 同时为了实现Space Wire总线传输速率, FPGA内部采用了PLL对时钟进行了分频, 实现4路Space Wire总线通信协议接口功能, 硬件实现LVDS信号传输, 实现数据通讯过程中产生的大量数据实现缓存并与PCI9056通信接口等功能;

SRAM缓存器:4M字节的SRAM用于实现存储SPW总线收发机制中产生的大容量高速数据的缓存功能;

MDM9S接口模块:MDM9S接口实现FPGA的LVDS信号与外部SPW设备之间的接口功能;

PCI接口模块:实现PCI总线的接口协议功能, 通过CPCI接口实现FPGA与上位机软件间进行数据的通信, 同时实现支持热插拔的板卡的电源管理功能;

电源管理模块:与PCI9056芯片以及CPCI接口共同完成设备的电源热插拔功能。

3 CPCI接口电源电路分析

PCI设备的热插拔功能主要用于具备CPCI接口的装置, 热插拔功能允许板卡随意从设备中插拔而不影响装置操作系统的正常运行。电源芯片电路如图2所示, LTC1643L是一个允许CPCI型设备进行安全插入和拔出的电源管理控制器, 将系统的CPCI插槽电源接入到Space Wire板卡, 图中IRF7413是一个N型MOS管, 用于控制3.3V和5V的电源通断供应, 而-12V和+12V电源由片上开关供应, 所有的电压的上升时间可以达到一个可编程的速率, 同时该芯片还具备电源过流故障时的短路保护。

PCI9056的引脚BD_SEL#是CPCI接口中最小的插针之一, BD_SEL#连接LTC1643L的使能引脚, 低电平时有效开启LTC1643L工作并同时给板卡供电。R10是一个0.018欧姆, 0.5W, 精度为1%的精密电阻, 用于过流保护的电压检测电阻。当板卡发生故障导致电流超过额定值之后, R10两端的压差将增大, SENSE引脚将此过流信息反馈至LTC1643L电源管理器, 同时切断电源供应, 起到电源过流保护的功能。

4 PCI桥接电路分析

在Space Wire总线节点终端系统与航电计算机系统之间实现PCI通讯大致有两个方式, 其一就是采用可编程器件作为一个独立的模块实现PCI协议, 另一种方式就是采用专用PCI协议芯片。本系统的设计出于性能稳定性和结构简易性方面的考虑, 选择用PLX公司生产的PCI9056集成芯片, 该芯片可以设置成多种传输模式, 完成Space Wire总线节点与航电设备之间的通信桥接功能。

在PCI9056与本地FPGA之间的通信分为直接主模式 (Direct Master Mode) 、直接从模式 (Direct Slave Mode) 和DM A模式。由于PCI通信要求达到Space Wire总线网络的2Mbit/s至400Mbit/s通讯速率 (本板卡实现了200Mbit/s) , 这里采用的芯片时钟频率为66MHz, 传输模式为直接从模式, 工作时序如图3所示, PCI9056为主芯片, FPGA为从芯片。

为了与PCI9056进行高效的数据通信, FPGA内部划出了一部分内存以配置成双口RAM的形式完成PCI9056对Space Wire数据的收发以及相应控制寄存器的控制传输。

5 Windriver软件的驱动生产

通过PLXMON软件对PCI9056的配置芯片进行配置后, 可以利用Window s操作系统中Win Dr iver自动生成PCI驱动程序, 步骤如下:首先启动Win Driver Wizard, 从开始菜单, 选择“程序|Win Driver|Driver Wizard”;然后在Driver Wizard菜单, 单击“File New Project”菜单来新建一个工程, 从即插即用列表中选择显示卡, 通过生产商的名字来选定。单击“Memory”标签。该显示卡的三个内存范围显示出来。内存范围中的BAR2映射的是FPGA内的RAM缓存块和专用寄存器, 根据FPGA内核对这些缓存块和寄存器的可读写定义, 可以在BAR2映射的区域里进行读写, 若写进去的数值跟读出来的数值一致, 表面CPCI接口通信正常。最后一步为生成驱动代码:单击“Build|Generate code”菜单, Driver Wizard将产生操作硬件资源的函数, 可以在用户模式下在应用程序中直接使用这些函数, 这个向导还会产生一个样本程序来使用这些函数操作硬件, 上层界面的开发可以直接调用这些API函数。

6 总结

本文是珠海欧比特公司为面向我国航天应用研发的一款Space Wire总线节点终端板卡的一个实际应用设计方案, 并根据此方案完成了对每个功能模块的结构和功能分析, 欧比特公司此已经对方案设计申请了专利保护。此方案对今后Space Wire总线在其它任务中的应用具有重要的借鉴意义。

参考文献

[1]EMBC3000-CPCISPW型SpaceWire节点通讯板卡使用说明书.欧比特控制工程股份有限公司.2013.

[2]康咏岐.面向航天应用的SpaceWire节点单元的IP核设计与实现[J].微电子学与计算机, 2005, 22 (9) :120-123。

[3]陈健飞, 曹松.SpaceWire总线接口终端的设计与实现[J].微计算机信息:2010, 26 (82) :123-124。

[4]LTC1643L datasheet, PCI-Bus Hot Swap Controller, LINEAR TECHNOLOGY.

总线通讯 篇3

关键词:分布式仿真,通信软件总线,软件复用

1 引言

分布式仿真系统需要由多台计算机协同完成仿真任务,仿真节点间的通信是关键问题之一。通常的“点点”通信方式,如果系统内有n个仿真程序需要通信,在极端情况下,需要有n(n-1)条逻辑通信链路。这种通信方式的不足之处在于通信链路多,数据拥塞,浪费网络带宽,造成通信效率下降;仿真程序紧密藕合,每一个仿真程序都需要知道与之通信的其它仿真程序的存在;通信方式不规范, 当系统内增加需要通信的仿真程序时,会导致对已存在的仿真程序通信代码的修改;通信数据分散,造成通信数据监控困难,不便于系统开发时的调式和系统运营后的状态监控。本文采用软件总线方法解决这些通讯问题。

2 通信总体结构

如图1所示是采用通信软件总线的分布式仿真系统的通信逻辑结构。分布式仿真系统由若干仿真节点和一个总线节点构成,各仿真节点和总线节点通过以太网络相联。仿真节点运行仿真程序,仿真程序是完成具体仿真任务或硬件驱动任务的程序。总线节点运行一个通信管理程序(以下称通信软件总线),该程序协调各仿真程序之间的通信。各仿真程序不能直接而是必须经过通信软件总线进行通信。各仿真程序向通信软件总线发送数据而不必关心这些数据发向哪个仿真程序,只需接收通信软件总线的数据而不必关心这些数据来自哪个仿真程序,数据的路由完全由通信软件总线根据外部配置文件确定,如图2所示,从而实现了各仿真程序间的通信解耦。总线节点(计算机)可配置一块或多块以太网网卡, 具体网卡数量根据具体仿真系统的通信节点数、通信流量和实时性的要求具体决定。

3 通信软件总线组成

通信软件总线由五个模块和两个外部配置文件组成,如图2所示。五个模块为外部配置解析模块、数据接收模块、数据发送模块、数据整合模块、数据监控模块;两个外部配置文件为数据包配置文件、通信路由配置文件。数据包配置文件用于定义通信数据包的结构、数据包之间的赋值关系;通信路由配置文件用于定义通信接入端口,通信发送路由。

数据包配置文件、通信路由配置文件存储于总线节点(计算机)硬磁盘上,将其从通信软件总线程序中分离出来,而不是与通信软件总线程序二为一,是为了实现通信软件总线的通用性问题。这两个配置文件为文本文件,可用任何一种文本编辑工具对其进行修改,如果需要产生一个新分布式仿真系统的通信系统,只要在这两个配置文件中填入新的内容即可,而通信软件总线程序不需做任何改变,可大大提高通信系统开发效率。

4 外部配置文件

4.1 数据包配置文件

数据包配置文件用于定义通信数据包的结构、数据包之间的赋值关系,其定义格式:

数据包配置文件:数据包列表数据包赋值列表;

数据包:struct数据包名{数据成员列表};

数据成员:成员类型成员名;

成员类型:float|double|char|short|int|long|

unsigned char| unsigned short| unsigned int|unsigned long|数据包名;

成员名:标识符|成员名[正整数];

数据包赋值:数据包名::成员标识符 = 数据包名::成员标识符;

成员标识符:标识符|成员标识符[非负整数]。

4.2 通信路由配置文件

通信路由配置文件用于定义通信接入端口,通信发送路由,其定义格式:

通信路由配置文件: 通信接入端口配置通信发送路由配置;

通信接入端 口配置 :[LinkIn Ports]= {接入端口列表};

通信发送路由配置:[Send Links]={发送路由列表};

接入端口:<packet= 数据包名,ip=IP地址, port= 端口号 >;

发送路由:<packet= 数据包名,

ip(from)=IP地址 , port(from )= 端口号 ,ip(to)=IP地址, port(to )= 端口号 >。

5 通信软件总线算法

外部配置解析模块解析数据包配置文件,在内存中建立通信数据包的结构(以下简称数据包结构)、数据包之间的赋值关系(以下简称赋值关系)、数据包存储区;外部配置解析模块还解析通信路由配置文件,在内存中建立通信接入端口(以下简称接入端口)、通信发送路由(以下简称发送路由);

数据接收模块按接入端口接收网络数据,存于数据包存储区;

数据整合模块按赋值关系对数据包存储区进行赋值操作,达到数据包整合目标;

数据发送模块按发送路由发送数据包存储区中的数据包;

数据监控模块按数据包结构显示数据包存储区,用于系统开发时的调试和系统运营时的状态监控;

通信软件总线完成通信的主要分为几个步骤。

步骤1(系统初始化):通信软件总线的外部配置解析模块解析外部配置文件的数据包配置文件,在内存中建立数据包结构、赋值关系、数据包存储区;外部配置解析模块还解析外部配置文件的通信路由配置文件,在内存中建立接入端口、发送路由。

步骤2(发送数据包):仿真程序以UDP协议经以太网络分别向通信软件总线发送数据包。

步骤3(接收数据包):通信软件总线的数据接收模块根据接入端口接收新的数据包存于数据包存储区。

步骤4(形成新的数据包):通信软件总线的数据整合模块根据赋值关系对接收到的已存入数据包存储区的数据包进行整合,形成新的数据包。

步骤5(发送新的数据包):通信软件总线的数据发送模块以UDP协议经经以太网络, 按发送路由向第一仿真程序发送新的数据包。

步骤6(显示数据包存储区):通信软件总线的的数据监控模块根据数据包结构显示数据包存储区,用于系统开发时的调试和系统运营时的状态监控。

步骤7(循环控制):继续通信,转步骤2;否则,转步骤8;

步骤8:通信结束。

6 结束语

总线通讯 篇4

1 现场总线的优点

与RS232/RS485方式相比, 现场总线的优点具体体现在:1) 现场总线采用全数字通信技术, 全数字信号传输时不易受外界干扰, 有利于提高系统的可靠性;2) 采用标准化功能模块;3) 故障自诊断;4) 冗余和容错技术;5) 智能诊断和管理技术;6) 故障隔离技术。

2 CAN总线的优点

而目前最重要的现场总线之一CAN总线, 更是RS232/RS485的最佳替代解决方案。CAN总线是控制器局部网络 (Controller Area Network ) 的缩写, 它是1986 年德国BOSCH公司为汽车内部电子控制单元 (ECU:Electric Control Unit) 进行数据交换而开发的串行通信网络, 但是由于其具有突出的可靠性、实时性和灵活性, 现已被广泛应用于工业自动化、多种控制设备、交通工具、医疗仪器以及建筑、环境控制等众多部门。1993年国际标准化组织颁布了CAN总线的国际标准 (ISO11898) , 为CAN总线的标准化、规范化推广铺平了道路。

CAN总线是一种串行通信网络, 可以有效支持分布式控制或实时控制的。由于其独有的物理层与数据链路层的设计, 使得它在通信能力、可靠性、实时性、灵活性、易用性和传输距离等方面有着明显的优势, 成为业界最有前途的现场总线之一。

RS485使用双绞线作为传输介质, 理论上RS485的最长传输距离能达到1.2km, 但在实际应用中其数据信号受信号失真及噪声等影响, 传输的距离要比1.2km短, 而且具体传输多远视周围环境而定。

CAN总线同样使用普通双绞线作为传输介质, 采用直线拓扑结构, 单条网络线路可以连接到110个节点。当通讯距离不大于40m时, 传输速率可达到1Mbps;当信号传输距离达到10km时, 仍可提供高达5kbps的数据传输速率, 自身具备可靠的错误处理和检错机制, 出错后可进行自动重发。CAN总线可适用于节点数目比较多, 传输距离在10km以内, 安全性、可靠性要求高的场合;也可适用于对实时性、安全性要求十分严格的机械控制网络。

与石化行业内广泛使用的RS232/RS485相比较, CAN总线物理层具有以下共同特性:1) 二线制、双工串行通信;2) 差分传送、平衡接收;3) 传输介质为双绞线;4) 需终端匹配电阻器;5) 通信电路可在5V电源条件下工作。

同时CAN总线更具备以下优点, 见表1。

在石化行业内, 出于安全角度考虑, 生产装置与操作控制人员所处的距离一般较远, 这也造成了信号传输过程中的噪声比较大, 在这种情况下, CAN总线几乎可以检测出传输过程中出现的全部错误, 并且可以自动重发出错数据, 这就极大的保证传输数据的可靠性和准确性。

3 改造实施方案

RS232信号转换为CAN Bus信号可以通过RS232-CAN转换器来实现, 在兰州石化实际应用中, 考虑到成本问题, 选择了自主开发实现, 这里选择了基于单片机来实现信号转换。

其中单片机选择了目前最常用AT89C51, CAN控制器选用了PHILIPS公司的SJA1000以及PCA82C250总线收发器。硬件设计框架, 如图1所示。

其中MAX232芯片是电平转换芯片, 负责将RS232电平信号 (-15~15V) 转换为TTL电平信号 (0~5V) 。

AT89C51是主控制器, 负责将从RS232传输过来的数据组织成合适的数据帧发送给SJA1000, 同时也将SJA1000发送过来的数据帧解析为字符, 并把该字符赋给SBUF寄存器, 将其以RS232信号形式传输出去。AT89C51的P0口 (P0.0~P0.7) 连接SJA1000的AD0~AD7, 作为数据传输通道。P2.7取反后连接到SJA1000的CS端, 作为片选信号, 当P2.7置为1时, SJA1000即被选中。

SJA1000支持CAN2.0B协议, 主要负责CAN 信息帧的收发和CAN 数据链路层协议的实现, 以及同外部主控制器的接口, 该单元中的每一个寄存器都可由主控制器通过地址/数据总线访问。SJA1000发送缓冲区可存贮一个完整的信息帧长度为13个字节。主控制器可直接将标识符和数据送入发送缓冲区, 然后置位命令寄存器CMR 中的发送请求位TR , 启动CAN核心模块读取发送缓冲区中的数据, 按CAN 协议封装成一完整CAN 信息帧, 通过收发器发往总线。SJA1000在接收信息时, 验收滤波器负责接收信息的滤波, 只有验收滤波通过且无差错才把接收的信息帧送入接收FIFO 缓冲区, 且置位接收缓冲区状态标志SR.0 , 表明接收缓冲区中已有成功接收的信息帧。

PCA82C250为总线收发器, 它是CAN控制器和物理总线之间的接口, 供对总线数据的差动发送能力和对通信总线数据的差动接收能力, 它负责CAN总线物理层协议的实现。

系统实现的程序流程, 如图2、3所示。

其中, AT89C51初始化程序如下:

在实际使用中, 该转换器可以无缝的实现RS232信号和CAN Bus信号的全双工转换, 基本满足了现场生产的需要。在该转换器的MAX232之前增加一部分MAX485电平转换电路, 就可以实现RS485和CAN总线桥接电路, 使得RS485网络可以和CAN总线网络进行通讯。如图4所示。

4 展望

在石油化工行业, 由于现场生产环境复杂多样 (高温、高压、噪声、腐蚀、有毒等) , 用于监控工业生产的仪表也越来越多, 而操作室离生产现场距离较远, 这就要求现场通讯信号必须具有传输距离远、通讯速度快, 可靠性好等特点, 以前使用的RS232/485通讯链路已经不能满足要求, 如何在利用原有敷设线路同时, 以最小代价改造通讯网络, 是石油化工行业面临的问题。而CAN总线作为一种技术先进、可靠性高、功能完善、成本合理的远程网络通讯控制方式, 为这个问题提供了较好的解决方案。

参考文献

[1]阳宪惠.工业数据通信与控制网络[M].北京:清华大学出版社, 2003.

[2]李正军.现场总线与工业以太网及其应用系统设计[M].北京:人民邮电出版社, 2006.

[3]王黎明, 夏立.CAN现场总线系统的设计与应用[M].北京:电子工业出版社, 2008.

[4]邬宽明.CAN总线原理和应用系统设计[M].北京:北京航空航天大学出版社, 1996.

总线通讯 篇5

一、ATmega 16L单片机

通讯系统采用高性能、低功耗的8位ATmegal 16L单片机为核心处理器。ATmegal 16L单片机属于在AVR大家庭中一款新型高档单片机, 它的芯片内部集成了较大容量的数据存储器和丰富的硬件接口电路, 具备AVR高档单片机系列产品的全部优良性能和特点, 但由于采用了小引脚封装 (为DPI40) , 所以其价格仅与低档单片机相当, 成为在所有AVR单片机中内部接口丰富、功能齐全、性能价格比最好的产品。ATmegal 16L单片机具有以下特点:

1.ATmegal 16L单片机采用了先进的RICS精简指令集结构, 所以具有足够快的运行速度, 工作于16MHz时速度可达16MIPS, 处理速度是普通CISC单片机的10倍;

2.ATmegal 16L单片机具有4个PWM通道, 可实现频率、相位都可以调节的PWM脉宽调制信号输出;具有18个不同的独立中断源, 并有特定的中断允许位, 提高了系统的安全性;

3.ATmegal 16L单片机片内集成了大容量的非易失性程序、数据存储器和工作存储器, 存储空间足以满足系统需要;

4.ATmegal 16L单片机具有32个可编程I/O口, 可以根据需求定义I/O口的输入/输出方向;输出信号具有较强的驱动能力, 能够直接驱动LED等大电流负载, 且大部分的I/0端口为复用口, 不仅可以作为通用数字I/O使用外, 还具有第二功能, 可以作为芯片内部其他外围电路的接口;

5.ATmegal 16L单片机具有三个定时/计数器, 不仅具有常规的定时与计数功能, 还具有信号捕捉、比较、实时时钟计数和脉宽调制输出等更为强大的功能;

6.ATmegal 16L单片机具有8路10位ADC转换器, 可直接实现模拟信号和数字信号之间的相互的转换。还具有满足低功耗系统要求的空闲、掉电和省电三种工作模式, 适合不同的工作场合需求。

二、通讯系统硬件电路设计

ATmegal 16L单片机内部没有集成CAN通讯模块, 故通讯系统选用SJA1000作为CAN通讯系统控制器。SJA1000是一种独立CAN通讯控制器, 广泛应用于移动目标和一般工业环境中的区域网络控制, 它属于PHILIPS半导体PCA82C200 CAN控制器 (Basic CAN) 的替代产品, 在原有CAN控制器基础上增加了一种新的Peli CAN工作模式, 这种模式支持具有很多新特性的CAN 2.0B协议。为增大通讯系统的信号传输距离、提高系统的瞬间抗干扰能力和降低系统的射频干扰等, 选用专用的CAN隔离控制芯片CTM8251T作为CAN控制器与物理总线的接口芯片。SJA1000通过串行数据输出线TX和串行数据输入RX线连接到CAN隔离收发器CTM8251T。CTM8251T通过具有差动发送和接收功能的两个总线端CANH和CANL连接到物理总线。总线两端并联一个匹配电阻, 提高数据传输时的抗干扰能力和可靠性。单片机中的数据通过CAN通讯系统和CAN通讯物理总线CANbus传递给上位机, 单片机与CAN总线接口的电路图如图1所示。

三、软件程序设计

硬件电路是通讯系统的基础, 软件程序是通讯系统的灵魂。CAN通讯系统运行时软件程序首先进行硬件电路进行初始化, 其次复位及初始化CAN总线控制器SJA1000, 最后接收CAN信息帧, 按照相应协议进行解析, 从数据帧取出发送者地址和所发送的各参数信息传递给上位机, 程序继续等待下一个CAN信息帧, CAN通讯程序流程图如图2所示。

四、结束语

本文将CAN总线技术运用到单片机通讯系统设计中, 并结合CAN控制器CAJ1000开发出基于CAN总线技术的单片机数据通讯系统, 设计通讯系统硬件电路和软件程序。通讯系统具有性能稳定、抗干扰能力强及实时性好等特点, 在工业控制、煤矿机电设备和航空航天等领域具有广阔的应用空间。

参考文献

[1]邬宽明.CAN总线原理和应用系统设计[M].北京:北京航空航天大学出版社, 2003

[2]徐科军, 张瀚, 陈智渊.TMS320x281xDSP原理与应用[M].北京:北京航空航天大学出版社, 2006

总线通讯 篇6

1 现场总线网络硬件连接

本设计工业控制所用现场总线网络, 如下图1。由于在分布式系统中主站与各远程站的分布不集中, 故采用RS-232转RS-485进行串口通信。本总线设计主站地址0, 远程站地址1-7。

2 现场总线设计

2.1 现场总线使用的通讯协议

本文设计现场总线采用亚控公司的组态王中单片机通讯协议 (ASCII) 进行通信。因为采用组态王中支持的单片机通讯协议 (ASCII) , 所以采用本设计开发的总线设备既能方便组成工业控制网络, 又能直接与亚控公司的组态王进行通信, 以方便用组态软件设计监控系统。组态王中的单片机通讯协议 (ASCII) 简介如下。

上位机发送读命令:字头-设备地址-标志-数据地址-数据字节数-异或-CR;

若正常下位机应答:字头-设备地址-数据字节数-数据-异或-CR;

若不正常下位机应答:字头-设备地址-**-异或-C R;

上位机发送写命令:字头-设备地址-标志-数据地址-数据字节数-数据-异或-C R;

若正常下位机应答:字头-设备地址-##-异或-C R;

若不正常下位机应答:字头-设备地址-**-异或-CR。

2.2 现场总线的远程站设计

本文设计工业控制所用现场总线的远程设备站, 除完成本站控制任务外, 还要能和总线上的其它远程设备站及主站通信以实现网协同控制和集中监控。本文现场总线远程站按下述方法设计:在远程站设计32字节通信数据缓冲区 (如:U8 X[32]) 包含一个16字节远程站发送缓冲区 (数组X的逻辑地址0-15) 和一个16字节远程站接收缓冲区 (数组X的逻辑地址16-31) ;另外在远程站按协议设计下位机串口 (COM0) 中断应答程序, 来完成数据通信。为了减少给工控网络设计开发人员的工作量, 本设计RS485总线能按要求自动完成数据发送和接收的通信任务。

总线自动完成数据发送和接收通信的具体方法:远程站发送缓冲区X的逻辑地址连续的两个字节为一个通信单元, 通信单元的偶数逻辑地址字节高三位存放目标接收站地址, 低五位存放目标站数据接收缓冲区逻辑地址, 通信单元的奇数逻辑地址字节存放通信数据, 这样主站读取远程站发送缓冲区后将按通信单元中偶数地址设置的地址信息把奇数地址中数据转发给目标站接收缓冲区对应的地址单元, 这个数据发送和接收过程总线自动完成, 远程站 (数据发送站) 开发人员只需按要求把发送数据的目标地址信息和数据写到发送缓冲区。

另外, 由于远程站设计采用组态王中单片机通讯协议 (ASCII) , 所以按本设计开发的远程设备可以直接与组态王通信, 在工控中有较广泛的用途。

2.3 现场总线的主站设计

本文设计工业控制所用现场总线的主站, 要完成读取远程设备站发送缓冲区数据, 并转发给目标站接收缓冲区对应的地址单元, 以实现总线数据实时自动完成发送和接收的通信任务;还要完成和组态王的通信。

本现场总线主站为7个远程站设计对应的通信数据缓冲区 (如U8 BUF[8][32]其中BUF[0]是主站缓冲区32字节) , 其中远程站N对应的数据发送缓冲区为BUF[N]的0-15共16字节, 远程站N对应的数据接受缓冲区为BUF[N]的16-31共16字节。为了实现工业控制现场总线数据实时自动发送和接收的要求, 主站设计了一个每隔0.05s的定时中断程序。定时中断程序主要由3个过程组成:读远程站过程, 即读各远程站发送缓冲区数据 (数组X地址0-15共16字节数据) 存放在主站对应的发送缓冲区 (BUF[远程站地址]的0-15字节) ;主站转发过程, 即主站按发送缓冲区通信单元中偶数地址字节设置的地址信息, 把奇数地址中数据转发给目标站在主站对应的接收缓冲区 (BUF[目标站地址]的16-31字节) ;写远程站过程, 即主站把各远程站在主站对应接收缓冲区数据分别发送给对应远程站接收缓冲区 (数组X的16-31字节) 。主站和组态王的通信设计部分和远程站设计相同, 不同是使用串口为COM1。以上为主站设计的主要内容。

3 现场总线设计实现

本文基于亚控公司的组态王中单片机通讯协议 (ASCII) 的现场总线设计方法, 已在TQ2440开发板上编程设计实现, 并成功组成现场总线控制网络稳定运行, 经测试其可靠性和实时性均能满足工业现场控制要求。

4 结语

随着工业自动化的发展, 对开发的工控设备提出更高的要求, 采用如ARM9等高性能处理器来开发工控现场总线设备是经常需要的。本文设计实现的基于亚控公司的组态王中单片机通讯协议 (ASCII) 的现场总线, 可以方便组成工业现场控制网络, 按其开发的现场总线设备可直接和组态王通信构成监控系统, 所以本文现场总线设计实现方法可为工控系统设计人员提供思路和参考。

摘要:本文阐述了一种基于亚控公司的组态王中单片机通讯协议 (ASCII) 的现场总线的设计与实现, 利用此现场总线不仅可以方便组成工业现场控制网络, 且按其开发的现场总线设备可直接和组态王通信构成监控系统。

关键词:现场总线,工业控制,监控系统,通讯协议

参考文献

总线通讯 篇7

1 MSM7512B的简介

MSM7512B是日本OKI公司生产的1200bps半双工FSK调制解调芯片, 符合ITU-T V.23标准。它是将串口TTL数字信号调制为FSK信号在线路上进行发送, 接收端在解调为串口TTL数字信号。该芯片采用单电源+3~5V供电;具有片内回音消除电路, 大大简化了外围电路;可外接3.579545MHz晶振为芯片提高时钟源;其模拟输出可直接驱动600Ω通信电路。

其工作方式表, MSM7512B分为调制和解调模式, 当引脚MOD1=0, MOD2=0, 芯片处于发送模式, 即调制模式, 若FSK信号输出使能端RS=0时, 引脚XD输入“0”、“1”, 引脚AO对应输出2100Hz、1300Hz的FM调制信号。当引脚MOD1=0, MOD2=1, 芯片处于接收模式, 即解调模式, AI输入频率为“2100Hz”、“1300Hz”的FM模拟信号, RD对应输出解调后的“0”、“1”数字信号。CD是输入检测的指示端。同时芯片还有75bps发送模式, 串口波特率设为75bps时, 引脚XD输入“0”、“1”, 引脚AO对应输出450Hz、390Hz的FM调制信号, 遗憾的是该芯片没有75bps的接收模式, 不能不说这个功能只是个噱头。当引脚MOD1=1, MOD2=1, 模拟环路返回测试模式, 即芯片的自检模式。当引脚MOD1=2, MOD2=1, 芯片处于掉电模式, 即处于功耗低至0.1m W的低功耗模式。

2 MSM7512B与STC12C5A60S2组成的通讯系统

MSM7512B与单片机连接电路比较简单。所以本通讯系统的单片机选用国产宏晶公司的STC12C5A60S2。它带有双串口, 指令代码完全兼容传统8051, 但速度快8-12倍。图2为MSM7512B与STC12C5A60S2组成的通讯系统, P1.5、P1.6控制MSM7512B工作模式, P1.4控制它的发送功率, 它的串口接单片机串口1——P3.0和P3.1。MSM7512B的FSK信号输入输出端口电路参照芯片资料参考电路设计, 采用600Ω:600Ω音频变压器与外部线路进行隔离, 提高了系统的抗干扰能力, 同时与阻值为600Ω的R1进行阻抗匹配。此系统输出两线制通讯线与相同接口的系统可以进行通讯, 可以组成一主多从的总线结构, 由于总线上传输的是FSK低频信号, 所以信号可以传输很远距离, 这样可以实现远程有线通讯。笔者通过搭建一主一丛的总线结构在专用通讯电缆模拟盘上进行试验, 发现MSM7512B在-4d Bm的发送功率下可以实现最大距离7公里正常通讯。若要提高该总线的通讯距离, MSM7512B的FSK信号输入输出端口电路应采用的电路。FSK信号输出端口经电容C13隔离, 再经过U4与R17、R21组成的反相放大器放大信号, 放大倍数为R17/R21, 图4中该放大倍数为50倍, 再经过U3B与R19、R22组成放大倍数为1的反相放大器后恢复原来相位后由音频变压器隔离输出。FSK信号输入时, 信号经U4A与R16、R24组成的反相放大器放大信号, 放大倍数为R16/R24, 图4中该放大倍数为50倍, 放大后信号经过C14隔离输入MSM7512B的输入端。采用了放大电路后, 使MSM7512B发送和接收信号能力提高, 大大增长总线的通讯距离。利用一主一丛的总线结构在专用通讯电缆模拟盘上进行试验, 发现MSM7512B在同样-4d Bm的发送功率下可以实现30公里以上远距离正常通讯。

3 基于MSM7512B的两线制总线通讯协议

该总线由于是两线制半双工通讯模式, 所以在通讯过程中需要不断切换工作模式, 由单片机控制MSM7512B的MOD1、MOD2引脚的电平状态控制工作模式。通过查阅相关文献资料, 大多数资料建议在非通讯状态时不能把通讯两方MSM7512B的模式都设为接收模式, 因为通讯线路上的干扰会造成双方都接收到错误的数据。因此起初笔者时在软件中非通讯状态时两方的MSM7512B的工作模式均为空闲模式, 当MSM7512B接收到FSK信号时, FSK信号检测引脚CD变为低电平, 单片机控制检测到该电平变化, 控制MSM7512B转为接收模式。但是在实验中发现, 在非通讯状态时, 只要线路上有干扰, FSK信号检测引脚CD脚就变为低电平状态, 导致MSM7512B转为接收模式, 甚至通讯双方都转为接收并接收到错误的数据。因此根据该芯片的特点设计了一种主机查询分机的通讯协议。该协议规定非通讯状态时, 主机的MSM7512B处于发送模式, 从机的MSM7512B处于接收模式。因此该总线是一主多从的架构模式, 主机固定, 从机需要配置本机地址来区分, 从机的地址表在主机可以进行对应配置。总线协议包括读命令、写命令, 为其相应的通讯格式, “**”和“##”在实际通讯中为ASCII码, 协议中参与异或校验的数据从从机设备地址开始到异或校验前的数据结束。

由于该总线基于半双工通讯模式的, 所以为了避免发生通讯冲突, 所有的通讯都是主机发起的, 即主机轮询从机的方式, 优点就是通讯协议简单, 缺点是当从机较多时, 完成一次所有从机的查询过程需要耗费不少时间。

4 结束语

由调制解调芯片MSM7512B构成的两线制总线结构简单, 设备接入方便, 与单片机连接简便, 通讯协议简单, 可以实现远距离通信。该总线适合低速远程通讯场合, 例如可以替代低速时RS-485通讯总线, 也可以代替基于电流环的通讯总线, 外围电路也比电流环通讯简单得多。

摘要:介绍了利用集成FSK调制解调芯片MSM7512B组成的两线制通讯总线, 通过STC单片机的串口与MSM7512B连接和相关的通讯协议, 实现远程通讯。

关键词:调制解调器,FSK,MSM7512B,远程通讯,总线

参考文献

[1]OKI Semiconductor.MSM7512B Datesheet.Jan.1998.

【总线通讯】推荐阅读:

智能通讯总线08-03

总线数据07-12

485总线07-22

总线平台07-27

总线方式07-28

仪表总线08-06

总线驱动08-13

总线故障08-16

安全总线08-22

ISA总线05-20

上一篇:关于体育的毕业论文下一篇:支农资金