CN100495267C - 一种可编程控制器背板的通信方法 - Google Patents

一种可编程控制器背板的通信方法 Download PDF

Info

Publication number
CN100495267C
CN100495267C CNB2006100896931A CN200610089693A CN100495267C CN 100495267 C CN100495267 C CN 100495267C CN B2006100896931 A CNB2006100896931 A CN B2006100896931A CN 200610089693 A CN200610089693 A CN 200610089693A CN 100495267 C CN100495267 C CN 100495267C
Authority
CN
China
Prior art keywords
data
port
address
dual port
byte
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CNB2006100896931A
Other languages
English (en)
Other versions
CN1888990A (zh
Inventor
庄斌
徐昌荣
宋军
徐毓军
郝莉
赵建民
朱世博
潘燕南
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Helishi Control Technology Co ltd
Original Assignee
Beijing Hollysys Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Hollysys Co Ltd filed Critical Beijing Hollysys Co Ltd
Priority to CNB2006100896931A priority Critical patent/CN100495267C/zh
Publication of CN1888990A publication Critical patent/CN1888990A/zh
Application granted granted Critical
Publication of CN100495267C publication Critical patent/CN100495267C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Communication Control (AREA)

Abstract

本发明涉及一种PLC背板通信方法,包括:对可编程控制器主模块和扩展模块中的通信芯片进行模式配置以实现单字节传输工作模式和多字节猝发式传输工作模式及其相应的芯片本地接口模式;采用单字节传输工作模式和多字节猝发式传输工作模式进行数据通信,同时采用CRC的数据包校验和数据流的交织校验结合的方法对需要进行通信的数据进行校验。其中单字节传输工作模式用以传输数字量数据;多字节猝发式传输工作模式用以传输模拟量数据以及其它需要进行大量数据传输的情况。本发明保证数据传输的完整性,同时具有猝发数据传输机制和灵活的本地接口方式,使得本发明的数据传输可靠性以及传输效率更高,适应多种工业场合的应用。

Description

一种可编程控制器背板的通信方法
技术领域
本发明涉及可编程控制器(PLC),尤其是指PLC背板通信方法。
背景技术
随着工业生产自动化程度的提高,可编程控制器(PLC)的应用也越来越广泛,对于PLC,国际电工委草案作了这样的定义,可编程控制器是一种数字运算操作的电子系统,专为在工业环境下应用的设计,它采用了可编程序的存储器,用来在其内部存储执行逻辑运算、顺序控制、定时、计数和算术操作等面向用户的指令,并通过数字式或模拟式的输入/输出,控制各种类型的机械或生产过程,可编程控制器及其有关外围设备,都按易于与工业系统联成一个整体、易于扩充其功能的原则设计。
对此本领域技术人员对PLC与一般的微机控制的区别就有了一个清晰的概念,市售的PLC产品,以西门子的S7-200产品为例。该产品可以提供3种模拟量扩展模块:模拟量输入模块EM231、模拟量输入/输出模块EM235和模拟量输出模块EM232,其他还有接线端子排以及连接扩展模块用的总线连接器等。
该西门子产品的协议芯片接口具有3种工作模式,即:
1、离散式模式,DI/O(数字输入/输出接口)操作。
2、总线接口模式,提供智能模块(带CPU)的总线接口。
3、总线接口模式,提供非智能模块(ADC/DAC/多路复用器控制)的总线接口。
这3种工作模式为无猝发数据传输(即一次进行批量数据传输)机制,AD/DA模块的AD/DA转换直接由CPU模块通过特定的操作时序来启动转换、读或写模拟量数据。
前述的扩展模块在进行通信协议处理时的传输机制为无猝发传输方式,传输效率、扩展性及适应性不能满足现有技术的需要;另外,由于其单纯采用逐字节双奇偶校验,进行校验的可靠性不能满足现有技术的需要。西门子现有的产品也没有对与智能模块的本地接口方式以及传输机制和操作方法进行明确定义。
发明内容
本发明解决的技术问题是提供一种可编程控制器背板的通信方法,可以实现扩展模块在进行通信协议处理时的猝发传输方式。
为了解决上述技术问题,本发明提供了一种可编程控制器背板通信方法,其特征在于,包括以下步骤:
(a)对可编程控制器扩展模块中的通信芯片和主模块均进行模式配置以实现单字节传输工作模式和多字节猝发式传输工作模式及其相应的芯片本地接口模式;
(b)采用单字节传输工作模式和多字节猝发式传输工作模式进行数据通信,同时采用循环冗余码校验CRC的数据包校验和数据流的交织校验结合的方法对需要进行通信的数据进行校验;在读和写过程进行多字节猝发式传输工作模式下的数据传输时,采用的数据包的比特流依次包括数据包头、对存储器进行读或写操作的首地址、要传送数据的字节数、若干个字节的数据和CRC计算结果,且在比特流的任一8位数据后都附加有2位交织校验位P1和P0;接收方收到10位数据后,先进行交织校验解交织运算,正确则将前8位数据进行CRC-8校验运算,若都正确则交于上层协议处理;否则指示接收错误或做错误应答;且在写过程中,在数据传输完成后,还进行数据包应答字节的回读过程,该应答字节中包含有发出应答的扩展模块的地址和包校验正确与否的信息。
进一步地,上述方法还可具有以下特点:所述步骤(b)在进行多字节猝发式传输工作模式下的数据传输时,由可编程控制器背板总线中的串行时钟驱动内部状态机自动产生本地存储器的读写操作时序,对于所要接收或发送数据的地址,均由一个可在单字节操作模式下读写的内部寄存器指定,并且每接收或发送一个字节该地址自动加1;由一数据/地址复用的总线接口以及相应的控制总线,将所传输的数据通过该端口读出或写入该存储器,直到完成所有数据的传输。
进一步地,上述方法还可具有以下特点:所述数据包头中包括:模块地址,对应于可编程控制器的扩展模块地址;子地址,在多字节模式下对应于扩展模块的存储器或通信芯片中的内部寄存器地址;头扩展标志,指示本次传输为单字节传输工作模式还是多字节猝发式传输工作模式;读写标志,指示本次操作为读操作还是写操作。
进一步地,上述方法还可具有以下特点:所述扩展模块的存储器为双口RAM。
进一步地,上述方法还可具有以下特点:所述可编程控制器中的模块A要从模块B读取多字节数据的过程包括以下步骤:
(b11)模块A通过PLC背板总线对模块B通信芯片内的一内部寄存器A的子地址写“读数据命令字”,该操作为单字节传输工作模式的操作;
(b12)模块B中断本地CPU,启动本地一次读过程,本地中断程序根据命令字的要求,将所要上传的数据和状态写到本地双口RAM中,写完后本地清所述内部寄存器A,清中断;
(b13)模块A读模块B的内部寄存器A,该操作为单字节传输工作模式的操作,判断表示模块B的数据是否准备好,如在超时前数据已准备好,执行下一步,否则,放弃本次操作,结束;
(b14)模块A将模块B双口RAM的操作首地址写入模块B通信芯片内的另一内部寄存器B,该操作为单字节传输工作模式的操作;
(b15)模块A从模块B双口RAM中指定的首地址开始读出指定字节的数据,该操作为多字节猝发式传输工作模式的操作。
进一步地,上述方法还可具有以下特点:所述可编程控制器中的模块A要向模块B写入多字节数据的过程包括以下步骤:
(b21)模块A将双口RAM操作首地址写模块B通信芯片内的一内部寄存器A’,该操作为单字节传输工作模式的操作;
(b22)模块A对模块B双口RAM写规定的字节,将指定字节的数据写到模块B双口RAM中的指定的首地址,该操作为多字节猝发式传输工作模式的操作;
(b23)模块A对模块B通信芯片中的另一内部寄存器B’写“写数据命令”字,该操作为单字节传输工作模式的操作;
(b24)模块B中断本地CPU,启动一次本地写过程,本地中断程序将转换所要的数据从双口RAM中读出,写完后清内部寄存器B’。
进一步地,上述方法还可具有以下特点:所述步骤(a)中,所述主模块或扩展模块的通信芯片具有一选择通信模式的模式配置端口,该模式配置端口可配置为单字节传输工作模式或多字节猝发式传输工作模式;其中,单字节传输工作模式下,芯片端口为数字量输入/输出端口,用以传输数字量数据;在多字节猝发式传输工作模式下,芯片端口为可与存储器接口的数据/地址线复用端口,用以批量传输多个字节数据。
进一步地,上述方法还可具有以下特点:所述进行多字节猝发式传输工作模式的数据传输的扩展模块配置为8位地址/8位数据线的接口模式,该接口模式下各芯片的接口配置为以下几种方式中的一种:
第一种,扩展模块中还包括双口RAM、本地CPU和第一译码器,其中双口RAM为地址/数据总线接口复用的芯片,所述通信芯片的内部寄存器读/写数据端口DataA通过数据总线与本地CPU的8位数据/低8位地址总线复用端口双向连接,用于本地CPU对芯片内部寄存器读/写操作;所述通信芯片的双口RAM地址/数据总线复用端口DataB与双口RAM的地址/数据总线复用端口A连接,双口RAM的地址/数据复用端口B与本地CPU的8位数据/低8位地址总线复用端口双向连接;本地CPU的高8位地址总线输出端口通过数据总线与第一译码器连接,该第一译码器输出的译码信号分别与通信芯片的内部寄存器片选端口nCS和双口RAM的片选端口CEB连接;通信芯片的读写控制信号nRDB、nWEB端口分别与双口RAM的RDA、WEA端口连接;通信芯片的地址锁存控制信号端口nCEB与双口RAM的地址锁存控制信号输入端口CEA连接;本地CPU的读写控制信号RD、WE分别与双口RAM的RDB和WEB相连,通信芯片直接通过中断输出端口nINT与本地CPU连接;
第二种,扩展模块中还包括双口RAM、本地CPU、第一锁存器、第二锁存器和第二译码器,双口RAM为地址/数据总线非复用接口的芯片,通信芯片的双口RAM地址/数据总线复用端口DataB与双口RAM的数据总线端口DB连接,同时通过第一锁存器与双口RAM的地址总线端口AB连接;相应地,本地CPU的数据/低8位地址总线复用端口与双口RAM的数据总线端口DA连接,同时通过第二锁存器与双口RAM的地址总线端口AA连接;本地CPU的高8位地址总线输出端口通过数据总线与第二译码器连接,该第二译码器输出的译码信号分别与通信芯片的内部寄存器片选端口nCS和双口RAM的片选端口CSA连接;通信芯片的读写控制信号nRDB、nWEB端口分别与双口RAM的RDB、WEB端口连接;通信芯片的地址锁存控制信号端口nCSB与双口RAM的地址锁存控制信号输入端口CSB连接;本地CPU的读写控制信号RD、WE分别与双口RAM的RDA和WEA相连,通信芯片直接通过中断输出端口nINT与本地CPU连接;
第三种,扩展模块中还包括本地CPU和第三译码器,所述通信芯片具有内置双口RAM,芯片内部实现总线对双口RAM的操作,通信芯片内部寄存器和双口RAM读/写数据端口DataA和内部寄存器和双口RAM读/写地址端口DataB均与本地CPU的8位数据/低8位地址总线复用端口D/A双向连接;本地CPU的高8位地址总线输出端口通过数据总线与第三译码器连接,该第三译码器输出的译码信号分别与通信芯片的内部寄存器片选端口nCS和双口RAM片选控制信号输入端口dpRAMCS连接;本地CPU和通信芯片对应的读、写控制端口和中断端口相互连接。
进一步地,上述方法还可具有以下特点:所述进行多字节猝发式传输工作模式的数据传输的扩展模块配置为16位地址/8位数据线且8位低地址复用的接口模式,该接口模式下各芯片的接口配置如下:
扩展模块中还包括双口RAM、本地CPU和译码器,所述通信芯片的一内部寄存器作为存储器高8位地址从端口DataA直接输出,与双口RAM的高8位地址端口连接;通信芯片的数据/低8位地址复用端口DataB与双口RAM数据端口D连接,端口DataB还与第三锁存器连接,第三锁存器将锁存的地址信号传送给双口RAM的低8位地址端口,通信芯片直接通过中断输出端口nINT与本地CPU连接;通信芯片和双口RAM对应的读、写控制端口和片选端口相互连接。
综上所述,本发明所述的通信方法和模块,采用特有的芯片接口方式以及工作模式,可以实现主CPU模块与扩展模块间的具有单字节和多字节猝发数据传输机制;并采用CRC的包校验和数据流交织校验结合的方式,使得可编程控制器能够实现较高的可靠性以及传输效率。
附图说明
图1为本发明实施例PLC背板的总线结构图。
图2a~2d分别示出了本发明扩展模块中的通信芯片与双口RAM和本地CPU的一种连接模式。
图3a为本发明实施例CPU生成多字节读数据帧格式的示意图。
图3b为本发明实施例CPU生成多字节写数据帧格式的示意图。
图4为图3a和图3b中数据帧头格式的示意图。
具体实施方式
本实施例PLC背板的总线结构如图1所示,包括一个带有CPU的主模块(即图中的主机)和最多7个扩展模块(即图中的从机),每一扩展模块中均有一背板通信模块,该模块负责本扩展模块与主模块的通讯,主模块和扩展模块之间、扩展模块和扩展模块之间通过、PLC背板总线采用菊花链方式串行连接,该总线包括:
帧传输同步线Sync,单向传输,且总线处理是由该信号线上的低有效脉冲启动的,在任何时候,该低有效脉冲将会复位从机的内部状态机;
数据位同步时钟线Sclk,单向传输,在写操作时,上升沿数据输出(移出),在进行读操作时,下降沿数据锁存输入(移入),空闲时为低电平。
串行数据线Sdata,双向传输信号,用于串行数据的传输,其方向由内部状态机控制切换。
扩展模块的地址Add0—2,3比特表示地址0-7,由芯片从前一模块读入作为本模块地址,并加1送给下一模块。CPU模块送出的地址信息为全零,表示地址0。
每个背板通信模块中有一通信芯片,其部分外部端口用于与上述PLC背板总线相连,其它外部端口与所在扩展模块中的双口RAM和本地CPU相连,该通信芯片具有一选择通信协议模式的模式配置端口。对于不带CPU芯片的数字量输入/输出模块,应配置为单字节传输工作模式,芯片端口为数字量输入/输出端口,每次传输8位数字量,用以传输数字量信号;对于带有本地CPU芯片的智能扩展模块,如模拟输入/输出、以太网和PROFIBUS-DP从站等模块,需要进行模拟量(多字节)传输以及其它进行大量数据传输的场合,如PROFIBUS、以太网数据的收发等等,则应将该通信芯片配置为多字节猝发式传输工作模式,芯片端口为可与存储器接口的数据/地址线复用端口,用以批量传输多个字节数据。
需进行多字节猝发数据传输的扩展模块在本地设有一双口RAM(该RAM也可集成在通信芯片内),通过通信芯片的地址/数据复用接口连接该双口RAM与本地CPU进行数据交换,并通过专门的中断命令来通知本地CPU,告知或启动一次数据传输。以下结合图2a~图2d说明采用多字节猝发式传输工作模式的扩展模块中,通信芯片与本地CPU、双口RAM连接的4种接口模式。
图2a所示为多字节猝发式传输工作模式下8位地址/8位数据线的接口模式,其中双口RAM为地址/数据总线接口复用的芯片。所述通信芯片的内部寄存器读/写数据端口DataA通过数据总线与本地CPU的8位数据/低8位地址总线复用端口双向连接,用于本地CPU对芯片内部寄存器读/写操作;所述的通信芯片的双口RAM地址/数据总线复用端口DataB与双口RAM的地址/数据总线复用端口A连接,双口RAM的地址/数据复用端口B与本地CPU的8位数据/低8位地址总线复用端口双向连接;本地CPU的高8位地址总线输出端口通过数据总线与第一译码器连接,该第一译码器输出的译码信号分别与通信芯片的内部寄存器片选端口nCS和双口RAM的片选端口CEB连接;通信芯片的读写控制信号nRDB、nWEB端口分别与双口RAM的RDA、WEA端口连接;通信芯片的地址锁存控制信号端口nCEB与双口RAM的地址锁存控制信号输入端口CEA连接。以及本地CPU的读写控制信号RD、WE分别与双口RAM的RDB和WEB相连,通信芯片直接通过中断输出端口nINT与本地CPU连接。
图2b所示为多字节猝发式传输工作模式下8位地址/8位数据线的另一种接口模式,但双口RAM为地址/数据总线非复用接口的芯片。其结构原理与图2a相近,只是通信芯片的双口RAM地址/数据总线复用端口DataB与双口RAM的数据总线端口DB连接,同时通过第一锁存器与双口RAM的地址总线端口AB连接。相应地,本地CPU的数据/低8位地址总线复用端口与双口RAM的数据总线端口DA连接,同时通过第二锁存器与双口RAM的地址总线端口AA连接。本地CPU的高8位地址总线输出端口通过数据总线与第二译码器连接,该第二译码器输出的译码信号分别与通信芯片的内部寄存器片选端口nCS和双口RAM的片选端口CSA连接;通信芯片的读写控制信号nRDB、nWEB端口分别与双口RAM的RDB、WEB端口连接;通信芯片的地址锁存控制信号端口nCSB与双口RAM的地址锁存控制信号输入端口CSB连接;本地CPU的读写控制信号RD、WE分别与双口RAM的RDA和WEA相连,通信芯片直接通过中断输出端口nINT与本地CPU连接。
图2a和图2b中该通信芯片的主要管脚定义如下:
DataA----内部寄存器读/写数据端口
nCS----内部寄存器读/写片选输入端口
DataB----双口RAM八位数据地址复用端口
nCEB----双口RAM地址锁存控制信号输出端口
nRDB----双口RAM读控制信号输出端口
nWEB----双口RAM写控制信号输出端口
nCSB----双口RAM片选控制信号输出端口
nINT----本地CPU中断信号输出端口
图2c所示为多字节猝发式传输工作模式下8位地址/8位数据线的又一种接口模式,所述的通信芯片具有内置双口RAM,芯片内部实现总线对双口RAM的操作,结构原理同图2b。其内部寄存器和双口RAM读/写数据端口DataA和内部寄存器和双口RAM读/写地址端口DataB均与本地CPU的8位数据/低8位地址总线复用端口D/A双向连接;本地CPU的高8位地址总线输出端口通过数据总线与第三译码器连接,该第三译码器输出的译码信号分别与通信芯片的内部寄存器片选端口nCS和双口RAM片选控制信号输入端口dpRAMCS连接;本地CPU和通信芯片的读、写控制端口和中断端口相互连接。
图2c的管脚定义如下:
DataA----内部寄存器和双口RAM读/写数据端口
DataB----内部寄存器和双口RAM读/写地址端口
nCS----内部寄存器片选控制信号输入端口
nRDB----内部寄存器和双口RAM读控制信号输入端口
nWEB----内部寄存器和双口RAM写控制信号输入端口
dpRAMCS----双口RAM片选控制信号输入端口
nINT----本地CPU中断信号输出端口
图2d所示为多字节猝发式传输工作模式下16位地址/8位数据线且8位低地址复用的接口模式,通过特殊的外部管脚连接,使得另一个可在单字节操作模式下读/写的内部寄存器local_Haddress_index作为存储器高8位地址从端口DataA直接输出,与双口RAM的高8位地址端口A(15-8)连接。通信芯片的数据/低8位地址复用端口DataB与双口RAM数据端口D连接,端口DataB还与第三锁存器连接,第三锁存器将锁存的地址信号传送给双口RAM的低8位地址端口A(7-0),通信芯片直接通过中断输出端口(INT)与本地CPU连接。通信芯片和双口RAM对应的读、写控制端口和片选端口相互连接。在此通信模式下,本地CPU操作不能操作芯片内部寄存器。其它管脚的功能和连接关系见以下定义和附图。
图2d通信芯片的主要管脚定义如下:
DataA----高8位地址输出端口
DataB----低8位地址/8位数据复用端口
nCEB----双口RAM地址锁存控制信号输出端口
nRDB----双口RAM读控制信号输出端口
nWEB----双口RAM写控制信号输出端口
nCSB----双口RAM片选控制信号输出端口
nINT----本地CPU中断信号输出端口
对于双口RAM读写操作时,可以是单字节传输,也可以是多字节传输。下面对多字节数据读写操作的整个流程进行一下说明,假定模块A要从模块B读取数据,则该过程包括以下步骤:
步骤110,模块A通过PLC背板总线对模块B的子地址4(指向通信芯片内的一内部寄存器)写“读数据命令字”,该操作为单字节传输操作;
步骤120,模块B置nINT为低,中断本地CPU,启动本地一次读过程。本地中断程序根据命令字的要求,将所要上传的数据和状态写到双口RAM中,写完后本地清寄存器地址4,清中断;
步骤130,模块A读模块B的寄存器地址4,该操作为单字节传输操作,若为0xFF表示本地数据未准备好,则等待;若超时则放弃本次操作;如在超时前数据已准备好,执行下一步;
步骤140,模块A将模块B双口RAM的操作首地址写子地址1(即内部寄存器local_Laddress_index),该操作为单字节传输操作;
步骤150,模块A从模块B子地址7(即双口RAM)中指定的首地址开始读出指定字节的数据,该操作为多字节传输操作。
特别地,上述步骤150中多字节传输的比特流格式如图3a所示,包括数据包头、首地址、字节数、若干个字节的数据和CRC检验值XOR子地址,且在每8位数据后都附加有2位交织校验位P1和P0。
图4为在本实施例中的数据包头Header定义。其中:
Board Address:表示模块地址,地址范围000到110,对应于7个扩展模块地址,地址111保留。
Sub Address:表示子地址,地址范围0到7,每次读写操作的地址是由Sub address[2:0]决定。子地址0-5为扩展模块通信芯片中的内部寄存器地址,在单字节模式下可对应通信芯片的外部端口;子地址110保留,子地址7用于多字节操作模式下的双口RAM操作。在多字节操作模式子地址0-5将有特殊的含义。
Header Extend flag:表示头扩展标志,其为0时,表示为单字节传输,为1时表示为多字节传输。
W/R:表示读写标志,为0时,开始一个读操作,为1时,开始一个写操作。
首地址表示对双口RAM进行读或写操作的起始地址,占8位。
Header Extend flag为1时,首地址后传送的内容是字节数Number,用于指示多字节方式下所要传的字节数(1~256字节)。当Number=0时,传送的字节数为1,当Number=1时,传送的字节数为2,...当Number=255时,传送的字节数为256。在扩展模式下,最多一次传送256字节。
数据在线上传输时,每8位插入两位交织校验位,格式如下:
Figure C200610089693D00161
比特流的最后部分是CRC计算结果,采用CRC检验值XOR子地址。
接收方收到10位数据后,先进行交织校验解交织运算,正确则将前8位数据进行CRC-8校验运算,若都正确则交于上层协议处理;否则指示接收错误或做错误应答。
假定模块A要向模块B写入数据,则该过程包括以下步骤:
步骤210,模块A将双口RAM操作首地址写模块B的子地址1(指向通信芯片内的一内部寄存器locaLLaddress_index),该操作为单字节传输操作;
步骤220,模块A对模块B的子地址7写规定的字节,将指定字节的数据写到模块B双口RAM中的指定的首地址,该操作为多字节传输操作;
步骤230,模块A对模块B的子地址4写“写数据命令”字(单字节传输操作),中断模块B的本地CPU;
步骤240,模块B启动本地一次写过程,这时,本地中断程序将转换所要的数据从双口RAM中读出,写完后本地清子地址4。
上述步骤220为写过程的多字节传输,其比特流格式如图3b所示。包括数据包头、首地址、若干字节的数据、CRC检验值和ACK XOR子地址,每8位数据后也都附加有2位交织校验位P1和P0。与读过程比特流格式不同之处在于最后还有一个包应答ACK字节的回读过程。在ACK中包含有发出应答的扩展模块的地址和包校验正确与否的信息。
在扩展模块中,由PLC背板总线中的串行时钟驱动内部状态机自动产生本地双口RAM的读写操作时序。下面以图2b所示的接口方式为例进行说明。
对于一次数据读过程,在总线时钟的驱动下,每十个时钟完成一个字节的数据传输。在第一个时钟的下降沿,nCSB变低,nCEB变高,并将内部寄存器local_Laddress_index的内容从端口DataB送出,一个时钟周期后nCEB变低;当发送完上一个字节的第十个时钟后nRDB变低,同时端口DataB高阻,双口RAM将指定地址的数据放到该端口上,在下一个字节的第一个时钟的下降沿nRDB变高将该字节读到内部寄存器并将该字节的最高位数据放到串行总线上,同时local_Laddress_index的内容加1并又从端口DataB送出,如此往复,直到最后一个数据传输完;最后主模块将会再发十个时钟来读CRC-8字节,以判断整个数据包是否正确传输,然后nCSB变高。
对于一次数据写过程,在总线时钟的驱动下,每十个时钟完成一个字节的数据传输。在第二个时钟的下降沿,nCSB变低,nCEB变高,通信芯片内部寄存器local_Laddress_index的内容从端口DataB送出,一个时钟周期后nCEB变低;当完整接收完一个字节且校验正确的第十个时钟后nWEB变低,同时将从串行总线接收到的数据从端口DataB送出,local_Laddress_index的内容加1,在下一个字节的第一个时钟的下降沿nWEB变高、第二个时钟的下降沿,local_Laddress_index的内容又从端口DataB送出,如此往复,直到最后一个数据传输完,然后写CRC-8校验字节,nCSB变高;最后主模块将会再发十个时钟来读ACK字节,以判断整个数据包是否正确传输。
对于其它几种连接方式,总线操作时序基本同上,只是端口有所不同。在进行多字节猝发数据传输时,由可编程控制器背板总线中的串行时钟驱动内部状态机自动产生本地双口RAM的读写操作时序,对于所要接收或发送数据的地址,均由一个可在单字节操作模式下读写的内部寄存器指定,并且每接收或发送一个字节该地址自动加1;由一数据/地址复用的总线接口以及相应的控制总线,将所传输的数据通过该端口读出或写入该双口RAM,直到完成所有数据的传输。
综上所述,本发明背板通信模块可以用CPLD、FPGA或ASIC等的方式的实现,内部具有对扩展模块的通信与控制的状态机结构,可以同步串行接收和发送数据帧;该模块采用具有数据传输的扩展模块地址和寄存器地址或端口寻址,具有数据流的交织校验和数据包的CRC校验及应答机制,具有单字节数据传输和多字节猝发数据传输方式的帧格式定义;该模块具备用于扩展模块接收和处理该数据帧的芯片的数字量模块、模拟量模块以及智能功能模块的接口方式,和与之相应的由配置端口的不同的配置可选择不同芯片端口复用工作模式;并根据帧要求读或写本地端口或寄存器,自动生成本地读、写、片选等控制信号;同时具有中断机制,以实现主从式数据交换;具有对该芯片的端口或片内寄存器的单字节端口或寄存器操作和多字节的端口操作的功能完整的操作方法和操作流程。
同时,本发明在PLC背景通信中实现了多字节传输,即猝发数据传输。通过在数据帧头中有专门的数据位标识本次操作为猝发数据传输方式,使得通信模块进入特殊的猝发传输工作状态;这时,通信模块将紧随该帧头的字节作为本次所要传输的总字节数,然后芯片在时钟的驱动下连续地接收或发送所要传输的数据。
综上所述,本发明与现有技术相比产生了有益的技术效果,本发明采用特有的芯片接口方式以及工作模式,使得可编程控制器使用本发明的背板能够实现较高的校验可靠性以及传输效率,适用性也更为广泛。

Claims (9)

1、一种可编程控制器背板通信方法,其特征在于,包括以下步骤:
(a)对可编程控制器扩展模块中的通信芯片和主模块均进行模式配置以实现单字节传输工作模式和多字节猝发式传输工作模式及其相应的芯片本地接口模式;
(b)采用单字节传输工作模式和多字节猝发式传输工作模式进行数据通信,同时采用循环冗余码校验CRC的数据包校验和数据流的交织校验结合的方法对需要进行通信的数据进行校验;在读和写过程进行多字节猝发式传输工作模式下的数据传输时,采用的数据包的比特流依次包括数据包头、对存储器进行读或写操作的首地址、要传送数据的字节数、若干个字节的数据和CRC计算结果,且在比特流的任一8位数据后都附加有2位交织校验位P1和PO;接收方收到10位数据后,先进行交织校验解交织运算,正确则将前8位数据进行CRC-8校验运算,若都正确则交于上层协议处理;否则指示接收错误或做错误应答;且在写过程中,在数据传输完成后,还进行数据包应答字节的回读过程,该应答字节中包含有发出应答的扩展模块的地址和包校验正确与否的信息。
2、如权利要求1所述的方法,其特征在于,所述步骤(b)在进行多字节猝发式传输工作模式下的数据传输时,由可编程控制器背板总线中的串行时钟驱动内部状态机自动产生本地存储器的读写操作时序,对于所要接收或发送数据的地址,均由一个可在单字节操作模式下读写的内部寄存器指定,并且每接收或发送一个字节该地址自动加1;由一数据/地址复用的总线接口以及相应的控制总线,将所传输的数据通过该端口读出或写入该存储器,直到完成所有数据的传输。
3、如权利要求1所述的方法,其特征在于,所述数据包头中包括:模块地址,对应于可编程控制器的扩展模块地址;子地址,在多字节模式下对应于扩展模块的存储器或通信芯片中的内部寄存器地址;头扩展标志,指示本次传输为单字节传输工作模式还是多字节猝发式传输工作模式;读写标志,指示本次操作为读操作还是写操作。
4、如权利要求2或3所述的方法,其特征在于,所述扩展模块的存储器为双口RAM。
5、如权利要求4所述的方法,其特征在于,所述可编程控制器中的模块A要从模块B读取多字节数据的过程包括以下步骤:
(b11)模块A通过PLC背板总线对模块B通信芯片内的一内部寄存器A的子地址写“读数据命令字”,该操作为单字节传输工作模式;
(b12)模块B中断本地CPU,启动本地一次读过程,本地中断程序根据命令字的要求,将所要上传的数据和状态写到本地双口RAM中,写完后本地清所述内部寄存器A,清中断;
(b13)模块A读模块B的内部寄存器A,该操作为单字节传输工作模式的操作,判断表示模块B的数据是否准备好,如在超时前数据已准备好,执行下一步,否则,放弃本次操作,结束;
(b14)模块A将模块B双口RAM的操作首地址写入模块B通信芯片内的另一内部寄存器B,该操作为单字节传输工作模式的操作;
(b15)模块A从模块B双口RAM中指定的首地址开始读出指定字节的数据,该操作为多字节猝发式传输工作模式的操作。
6、如权利要求4所述的方法,其特征在于,所述可编程控制器中的模块A要向模块B写入多字节数据的过程包括以下步骤:
(b21)模块A将双口RAM操作首地址写模块B通信芯片内的一内部寄存器A’,该操作为单字节传输工作模式的操作;
(b22)模块A对模块B双口RAM写规定的字节,将指定字节的数据写到模块B双口RAM中的指定的首地址,该操作为多字节传输工作模式的操作;
(b23)模块A对模块B通信芯片中的另一内部寄存器B’写“写数据命令”字,该操作为单字节传输工作模式的操作;
(b24)模块B中断本地CPU,启动一次本地写过程,本地中断程序将转换所要的数据从双口RAM中读出,写完后清内部寄存器B’。
7、如权利要求1所述的方法,其特征在于,所述步骤(a)中,所述主模块或扩展模块的通信芯片具有一选择通信模式的模式配置端口,该模式配置端口可配置为单字节传输工作模式或多字节猝发式传输工作模式;其中,单字节传输工作模式下,芯片端口为数字量输入/输出端口,用以传输数字量数据;在多字节猝发式传输工作模式下,芯片端口为可与存储器接口的数据/地址线复用端口,用以批量传输多个字节数据。
8、如权利要求4所述的方法,其特征在于,所述进行多字节猝发式传输工作模式的数据传输的扩展模块配置为8位地址/8位数据线的接口模式,该接口模式下各芯片的接口配置为以下几种方式中的一种:
第一种,扩展模块中还包括双口RAM、本地CPU和第一译码器,其中双口RAM为地址/数据总线接口复用的芯片,所述通信芯片的内部寄存器读/写数据端口DataA通过数据总线与本地CPU的8位数据/低8位地址总线复用端口双向连接,用于本地CPU对芯片内部寄存器读/写操作;所述通信芯片的双口RAM地址/数据总线复用端口DataB与双口RAM的地址/数据总线复用端口A连接,双口RAM的地址/数据复用端口B与本地CPU的8位数据/低8位地址总线复用端口双向连接;本地CPU的高8位地址总线输出端口通过数据总线与第一译码器连接,该第一译码器输出的译码信号分别与通信芯片的内部寄存器片选端口nCS和双口RAM的片选端口CEB连接;通信芯片的读写控制信号nRDB、nWEB端口分别与双口RAM的RDA、WEA端口连接;通信芯片的地址锁存控制信号端口nCEB与双口RAM的地址锁存控制信号输入端口CEA连接;本地CPU的读写控制信号RD、WE分别与双口RAM的RDB和WEB相连,通信芯片直接通过中断输出端口nINT与本地CPU连接;
第二种,扩展模块中还包括双口RAM、本地CPU、第一锁存器、第二锁存器和第二译码器,双口RAM为地址/数据总线非复用接口的芯片,通信芯片的双口RAM地址/数据总线复用端口DataB与双口RAM的数据总线端口DB连接,同时通过第一锁存器与双口RAM的地址总线端口AB连接;相应地,本地CPU的数据/低8位地址总线复用端口与双口RAM的数据总线端口DA连接,同时通过第二锁存器与双口RAM的地址总线端口AA连接;本地CPU的高8位地址总线输出端口通过数据总线与第二译码器连接,该第二译码器输出的译码信号分别与通信芯片的内部寄存器片选端口nCS和双口RAM的片选端口CSA连接;通信芯片的读写控制信号nRDB、nWEB端口分别与双口RAM的RDB、WEB端口连接;通信芯片的地址锁存控制信号端口nCSB与双口RAM的地址锁存控制信号输入端口CSB连接;本地CPU的读写控制信号RD、WE分别与双口RAM的RDA和WEA相连,通信芯片直接通过中断输出端口nINT与本地CPU连接;
第三种,扩展模块中还包括本地CPU和第三译码器,所述通信芯片具有内置双口RAM,芯片内部实现总线对双口RAM的操作,通信芯片内部寄存器和双口RAM读/写数据端口DataA和内部寄存器和双口RAM读/写地址端口DataB均与本地CPU的8位数据/低8位地址总线复用端口D/A双向连接;本地CPU的高8位地址总线输出端口通过数据总线与第三译码器连接,该第三译码器输出的译码信号分别与通信芯片的内部寄存器片选端口nCS和双口RAM片选控制信号输入端口dpRAMCS连接;本地CPU和通信芯片对应的读、写控制端口和中断端口相互连接。
9、如权利要求4所述的方法,其特征在于,所述进行多字节猝发式传输工作模式的数据传输的扩展模块配置为16位地址/8位数据线且8位低地址复用的接口模式,该接口模式下各芯片的接口配置如下:
扩展模块中还包括双口RAM、本地CPU和译码器,所述通信芯片的一内部寄存器作为存储器高8位地址从端口DataA直接输出,与双口RAM的高8位地址端口连接;通信芯片的数据/低8位地址复用端口DataB与双口RAM数据端口D连接,端口DataB还与第三锁存器连接,第三锁存器将锁存的地址信号传送给双口RAM的低8位地址端口,通信芯片直接通过中断输出端口nINT与本地CPU连接;通信芯片和双口RAM对应的读、写控制端口和片选端口相互连接。
CNB2006100896931A 2006-07-12 2006-07-12 一种可编程控制器背板的通信方法 Active CN100495267C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006100896931A CN100495267C (zh) 2006-07-12 2006-07-12 一种可编程控制器背板的通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006100896931A CN100495267C (zh) 2006-07-12 2006-07-12 一种可编程控制器背板的通信方法

Publications (2)

Publication Number Publication Date
CN1888990A CN1888990A (zh) 2007-01-03
CN100495267C true CN100495267C (zh) 2009-06-03

Family

ID=37578268

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006100896931A Active CN100495267C (zh) 2006-07-12 2006-07-12 一种可编程控制器背板的通信方法

Country Status (1)

Country Link
CN (1) CN100495267C (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102288896A (zh) * 2011-05-17 2011-12-21 上海华岭集成电路技术股份有限公司 高速通信总线芯片端口特性测试方法
CN103577113B (zh) * 2012-07-24 2016-08-03 联想(北京)有限公司 一种存储单元访问方法
CN103425611B (zh) * 2013-05-20 2016-05-18 万高(杭州)科技有限公司 用于计量领域的串口通讯方法
CN104345716B (zh) * 2014-10-13 2017-03-01 哈尔滨工业大学 一种实现卫星功率控制与分配单元模块化即插即用的装置
CN104808572A (zh) * 2015-03-13 2015-07-29 沈阳中科博微自动化技术有限公司 基于功能安全的高完整性plc控制器
CN105527919A (zh) * 2016-01-26 2016-04-27 上海海得控制系统股份有限公司 一种plc控制器的并行总线背板
KR20180124340A (ko) * 2017-05-11 2018-11-21 엘에스산전 주식회사 프로그래머블 논리 제어 장치
CN107368440B (zh) * 2017-07-06 2021-06-18 沈阳理工大学 一种同位控制猝发总线的控制方法
US11431551B2 (en) * 2018-01-15 2022-08-30 Fuji Corporation Multiplexing device, working machine, and communication disconnection method
CN113722261A (zh) * 2021-09-13 2021-11-30 东南大学 Spi扩展片选数目和增强读写响应时间灵活性的方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
一种实用的无线信道纠错方法. 李长乐,李健东,孙荷琨.电讯技术,第2002年第4期. 2002
一种实用的无线信道纠错方法. 李长乐,李健东,孙荷琨.电讯技术,第2002年第4期. 2002 *
基于CPLD的多通道快速数据栈区设计. 邵蓉.现代电子技术,第173卷第6期. 2004
基于CPLD的多通道快速数据栈区设计. 邵蓉.现代电子技术,第173卷第6期. 2004 *

Also Published As

Publication number Publication date
CN1888990A (zh) 2007-01-03

Similar Documents

Publication Publication Date Title
CN100495267C (zh) 一种可编程控制器背板的通信方法
CN101477504B (zh) 数据传输系统及数据传输方法
CN101087235A (zh) 一种基于fpga的多功能通信接口转换设备和方法
CN1719363A (zh) 可编程逻辑控制器硬件扩展方法
CN101127023A (zh) 一种多总线接口的通用异步串口扩展芯片
CN100363915C (zh) 一种串并综合型总线系统及其数据传送方法
CN101794152B (zh) 具有lvds串行接口的嵌入式控制器及其控制方法
CN101814058A (zh) 通用存储装置
CN103677671A (zh) 一种电口模块的数据读写方法和系统
CN101551786A (zh) 波特率自适应串行通信中继器的制作方法
CN103778772B (zh) 一种用电信息采集系统中的分帧互联传输方法
CN110069433A (zh) 一种兼容不同汽车can通信接口的媒介系统
CN201576183U (zh) 一种无线嵌入式实时多任务多通道测控模块
CN201259629Y (zh) 多种总线接口的可配置i/o模块
CN210721084U (zh) 一种带回采诊断功能的冗余模拟量输出板卡
CN106066838A (zh) 基于fpga多路uart的扩展模件及扩展方法
CN101493806B (zh) 一种通讯适配器的数据传输方法
CN101655825B (zh) 一种使用fpga实现lpc-usb双向通信的装置及lpc-usb和usb-lpc数据转换方法
CN102096650B (zh) 一种接口装置
CN107506318A (zh) 一种软件模拟串行数据传输装置
CN2876850Y (zh) 一种串并综合型总线系统
CN201556201U (zh) 可配置串行通信装置
CN100578483C (zh) 一种手机多芯片串行互连架构方法
CN107329417A (zh) 一种微控制器及其输入输出引脚映射电路
CN208314514U (zh) 一种可编程逻辑控制器通讯系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract

Assignee: Hollysys Automation Technologies, Ltd.

Assignor: Beijing HollySys System Engineering Co., Ltd.

Contract record no.: 2012610000044

Denomination of invention: Programmable controller back plate communicating method

Granted publication date: 20090603

License type: Exclusive License

Open date: 20070103

Record date: 20120412

TR01 Transfer of patent right

Effective date of registration: 20211125

Address after: Room 1613, 6 / F, building 1, yard 2, Desheng Middle Road, Beijing Economic and Technological Development Zone, Daxing District, Beijing 100176

Patentee after: Beijing Helishi Control Technology Co.,Ltd.

Address before: 100096, No. 10, building materials Road, Haidian District, Beijing, Xisanqi

Patentee before: BEIJING HOLLYSYS Co.,Ltd.

TR01 Transfer of patent right