CN112003878A - 一种串行通信装置和系统 - Google Patents
一种串行通信装置和系统 Download PDFInfo
- Publication number
- CN112003878A CN112003878A CN202010998527.3A CN202010998527A CN112003878A CN 112003878 A CN112003878 A CN 112003878A CN 202010998527 A CN202010998527 A CN 202010998527A CN 112003878 A CN112003878 A CN 112003878A
- Authority
- CN
- China
- Prior art keywords
- data
- serial
- bits
- bit sequence
- circuit
- 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.)
- Granted
Links
- 230000006854 communication Effects 0.000 title claims abstract description 183
- 238000004891 communication Methods 0.000 title claims abstract description 177
- 238000012545 processing Methods 0.000 claims abstract description 223
- 230000005540 biological transmission Effects 0.000 claims abstract description 89
- 238000000034 method Methods 0.000 claims abstract description 39
- 230000004044 response Effects 0.000 claims description 23
- 230000006870 function Effects 0.000 claims description 11
- 230000000977 initiatory effect Effects 0.000 claims 1
- 238000012423 maintenance Methods 0.000 abstract description 3
- 102220005128 rs35654785 Human genes 0.000 description 18
- 102220068535 rs142813109 Human genes 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 2
- WHXSMMKQMYFTQS-UHFFFAOYSA-N Lithium Chemical compound [Li] WHXSMMKQMYFTQS-UHFFFAOYSA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 229910052744 lithium Inorganic materials 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/06—Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
Abstract
本申请公布了一种用于多点通信的串行通信装置和系统。串行通信装置包括接收电路、发送电路和控制器;当接收电路接收到第一串行数据帧时,控制器的处理步骤包括:从第一串行数据帧包含的数据为序列中读取第一数据位序列,之后的部分记为第二数据位序列;选择一个发送电路发送第二串行数据帧,第二串行数据帧包含的数据位序列最前部包含第二数据位序列。多个串行通信装置之间通过接收电路与发送电路连接构成串行通信系统。串行通信系统避免了串行总线和主从结构,降低了对参与通信的节点的处理能力的要求,简化了系统的组装和维护过程,节省了系统功耗,同时使大量节点之间具备了对等通信的可行性。
Description
技术领域
本申请涉及串行通信装置和系统,特别是涉及多点之间通信的串行通信装置和系统。
背景技术
多点之间的串行通信方案一般采用串行总线和主从结构,即一台主设备通过串行总线连接多个从设备,并与其进行通信。为了避免在串行总线上发生通信冲突,无论主设备还是从设备,均需要遵循总线协议并为每个从设备分配地址;在串行总线上发生的任何一次通信,都需要全体从设备处于监听状态,判别本次通信是否与自身有关,决定是否参与;而且通信只能发生在主设备与从设备之间。
在物联网、智能家居、机器人、智能制造装备、可穿戴设备、锂电池组管理等一些新兴技术领域,为了实现系统整体的功能,往往需要功能单一、数量众多的控制器、传感器和执行器相互连接、相互通信、协同工作。如果采用上述串行通信方案将存在以下技术问题:
1、控制器、传感器和执行器必须具备足以应付总线协议的处理能力,这一处理能力要求过高,甚至远远超出其完成自身功能的处理能力要求;
2、每个参与通信的节点都需要分配地址,即便功能相同也会存在地址的差异,无法相互替换,节点数量很多时,系统组装和维护变得极为复杂;
3、与串行总线上发生的通信无关的设备,也要随时处于监听状态,浪费了系统功耗;
4、主从结构的局限性,限制了大量节点之间进行对等通信的可行性。
发明内容
本申请提供一种串行通信装置和系统,技术方案中避免了串行总线和主从结构,解决了目前串行通信方案中的上述技术问题。
本申请公开了一种串行通信装置,包括:一个或多个接收电路,用于接收第一串行数据帧;一个或多个发送电路,用于发送第二串行数据帧;控制器,分别与接收电路和发送电路连接。当接收电路接收到第一串行数据帧时,在接收过程中或接收过程完成后,控制器的处理步骤包括:
第一处理步骤,包括:从第一串行数据帧包含的数据位序列的第一位开始读取不少于1位的数据位序列记为第一数据位序列,第一串行数据帧包含的数据位序列中在第一数据位序列之后的部分记为第二数据位序列;第一数据位序列的位数由预先定义的以下方式之一确定:固定的位数;根据预先定义的第一数据位序列中的数据位确定;
第二处理步骤,包括:如果第二数据位序列不为空,被选中发送电路发送第二串行数据帧,第二串行数据帧包含的数据位序列的最前部包含第二数据位序列;被选中发送电路由预先定义的以下方式之一确定:将仅有的一个发送电路确定为被选中发送电路;根据第一数据位序列中的预先定义的数据位从发送电路中确定一个作为被选中发送电路。
进一步地,当接收电路接收到第一串行数据帧时,在接收过程中或接收过程完成后,控制器的处理步骤还包括:
第三处理步骤,包括:如果进行响应,则将待响应数据依次添加到第二数据位序列的尾部;是否进行响应由预先定义的以下方式之一确定:不进行响应;进行响应;根据第一数据序列中预先定义的数据位确定。
进一步地,还包括接口电路,用于与其它装置连接;接口电路与控制器连接;当接收电路接收到第一串行数据帧时,在接收过程中或接收过程完成后,控制器的处理步骤还包括:
第四处理步骤,包括:向接口电路进行数据输出,或从接口电路进行数据采集,将采集到的数据作为待响应数据。
进一步地,当接收电路接收到第一串行数据帧时,在接收过程中或接收过程完成后,控制器的处理步骤还包括:
第五处理步骤,包括:将第一数据位序列根据预先定义的指令格式分解为一个或多个预先定义的指令,并依次执行指令,如果执行指令产生执行结果,则将执行结果依次作为待响应数据。
进一步地,第二处理步骤还包括:如果被选中电路发送第二串行数据帧时正被占用,则按照以下方式之一处理:将第二串行数据帧丢弃,不再发送;将第二串行数据帧按照时间先后顺序排队,逐一发送。
进一步地,第二处理步骤还包括:根据第一数据序列中的预先定义的校验位对第一数据序列的数据位进行校验,如果出现校验错误,则不发送或终止发送第二串行数据帧。
进一步地,第二处理步骤还包括:在被选中发送电路被确定后,立即启动被选中发送电路的包括发送起始位在内的发送准备工作。
进一步地,控制器具备以下功能:向其自身发送第一串行数据帧,并引发与接收电路接收到第一串行数据帧时完全相同的处理步骤。
本申请还公开了一种串行通信系统,包括多个串行通信装置,且串行通信装置之间相互连接;串行通信装置的任意一个接收电路与至多一个其它串行通信装置的至多一个发送电路连接;串行通信装置的任意一个发送电路与至多一个其它串行通信装置的至多一个接收电路连接;通信系统的任意一部分串行通信装置均与其它部分串行通信装置之间存在连接。
本申请提供的技术方案中,多个串行通信装置之间通过接收电路与发送电路相互连接,构成了通信路径,通信过程被转化为数据在通信路径上的接收和传递过程;通信路径既与连接方式有关,也与接收到的信息有关,通过恰当地连接串行通信装置,并且向其发送内容恰当的第一串行数据帧,即可实现通信过程。本申请提供的技术方案的有益效果如下:
1、无须串行总线,参与通信的串行通信装置也无须具备总线协议处理能力,降低了对串行通信装置的处理能力的要求;
2、无须为串行通信装置分配地址,只要功能相同,就具有可互换性,简化了系统的组装和维护过程;
3、每次通信发生时,仅需要通信路径上的串行通信装置参与,不在通信路径上的串行通信装置可以保持休眠状态,降低了系统功耗;
4、不必区分主设备和从设备,从而使大量节点之间具备了对等通信的可行性。
附图说明
图1串行通信装置的结构图。
图2第一串行数据帧与第二串行数据帧的对照图。
图3控制终端向串行通信系统中的串行通信装置发送数据的系统结构。
图4进行响应时,第一串行数据帧与第二串行数据帧的对照图。
图5控制终端从串行通信系统中的串行通信装置读取数据的系统结构。
图6具备接口电路的串行通信装置的结构图。
图7控制终端向串行通信系统中的串行通信装置发送数据并输出到接口电路的系统结构。
图8控制终端从串行通信系统中的串行通信装置的接口电路进行数据采集的系统结构。
图9控制终端向串行通信系统中的串行通信装置发送并执行指令的系统结构。
图10被选中电路正被占用时,第一串行数据帧与第二串行数据帧的对照图。
图11校验错误时,第一串行数据帧与第二串行数据帧的对照图。
图12提前进行发送准备时,第一串行数据帧与第二串行数据帧的对照图。
图13串行通信系统中的串行通信装置主动发送数据的系统结构。
具体实施方式
需要说明的是,在不冲突的情况下,在本申请中的具体实施方式及实施方式中的特征可以相互组合。所描述的实施例仅为本申请一部分的实施例,而不是全部的实施例。基于本申请实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的属于“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数字在适当情况下可以互换,以便描述本申请的实施例。此外,属于“包括”和“具备”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、装置或系统不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、装置或系统固有的其它步骤或单元。
为了使本技术领域的人员更好地理解本申请的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行详细地描述。
本申请实施例一,如图3,通信系统100由A11、A12、A21、A22共4个串行通信装置10构成,控制终端20向A11、A12、A21、A22发送数据,A11、A12、A21、A22接收来自控制终端20的数据。
在本申请的全部实施例中,未经特别说明,全部的串行通信装置10的接收电路1所接收的通信信号、发送电路2发送的通信信号、以及控制终端20发送的通信信号,采用曼彻斯特编码方式的串行通信信号,通信介质采用导线连接;第一和第二串行数据帧包含起始位、数据位序列和结束位;未经特别说明,下文中提及的第一和第二串行数据帧的内容指其包含的数据位序列的内容,而不包括起始位和结束位。在实际应用中,串行通信装置10的接收电路1所接收的通信信号、发送电路2发送的通信信号、以及控制终端发送的通信信号,亦可采用其它编码方式,通信介质亦包括导线、光纤等有线介质和电磁波、红外线、可见光等无线介质;串行通信装置10的接收电路1和发送电路2应理解为既可以是具备发送和接收串行数据帧功能的独立的通信电路,也可以是具备发送和接收串行数据帧功能的通信信道。
A11、A12、A21、A22的内部结构如图1。
A11和A21各具备1个接收电路1和2个编号分别为#1和#2的发送电路2;A12和A22各具备1个接收电路1和1个发送电路2;A11、A12、A21、A22均具备控制器4。
对于A11、A12、A21、A22,当接收电路1接收到第一串行数据帧时,在接收过程中或接收过程完成后,控制器4的处理步骤包括:
第一处理步骤,包括:
从第一串行数据帧包含的数据位序列的第一位开始读取不少于1位的数据位序列记为第一数据位序列,第一串行数据帧包含的数据位序列中在第一数据位序列之后的部分记为第二数据位序列;
对于A11、A21,第一数据位序列的位数的确定方式预先定义为:根据第一数据位序列中的第1位的标识位S0的值,0代表第一数据位序列的位数为2位,其中不包含数据位;1代表第一数据位序列的位数为34位,其中包含32位数据位;
对于A12、A22,第一数据位序列的位数的确定方式预先定义为:根据第一数据位序列中的第1位的标识位S0的值,0代表第一数据位序列的位数为1位,其中不包含数据位;1代表第一数据位序列的位数为33位,其中包含32位数据位;
第二处理步骤,包括:
如果第二数据位序列不为空,被选中发送电路发送第二串行数据帧,第二串行数据帧包含的数据位序列的最前部包含第二数据位序列;
对于A11、A21,被选中发送电路的确定方式预先定义为:根据第一数据位序列中的第1位和第2位的标识位S0S1的值确定被选中发送电路,00或10为编号#1的发送电路2,01为编号#2的发送电路2;
对于A12、A22,被选中发送电路的确定方式预先定义为:将仅有的一个发送电路确定为被选中发送电路。
为便于理解第一串行数据帧与第二串行数据帧的关系,以A11接收到第一串行数据帧10 D0 D1 … D31 X X X X X X X X X X X时为例,第一串行数据帧与第二串行数据帧的对照图如图2。
控制终端20和通信系统100,如图3。
A11的编号#1的发送电路2与A12的接收电路1连接;A12的发送电路2可以与更多的串行通信装置10作同样连接,用以扩展第一行的串行通信装置10的数量;A11的编号#2的发送电路2与A21的接收电路1连接;A21的编号#1的发送电路2与A22的接收电路1连接;A22的发送电路2可以与更多的串行通信装置10作同样连接,用以扩展第二行的串行通信装置10的数量;A21的编号#2的发送电路2可以与更多的串行通信装置10构成的行作同样连接,用以扩展通信系统100的行数。
控制终端20与A11的接收电路1连接。
以控制终端20向A12发送数据D0 D1 … D31的过程为例,进行详细说明:
1、控制终端20,向A11发送串行数据帧00 1 D0 D1 … D31;
2、A11,接收电路1收到第一串行数据帧00 1 D0 D1 … D31,控制器4的处理步骤包括:
第一处理步骤,S0的值为0,第一数据位序列的位数为2位00,第二数据位序列为1D0 D1 … D31;
第二处理步骤,S0S1的值为00,向编号#1的发送电路1(与A12连接)发送第二串行数据帧1 D0 D1 … D31;
3、A12,接收电路1收到第一串行数据帧1 D0 D1 … D31,控制器4的处理步骤包括:
第一处理步骤,S0的值为1,第一数据位序列为33位1 D0 D1 … D31,收到数据D0D1 … D31,第二数据位序列为空。
再以控制终端20向A22发送数据D0 D1 … D31的过程为例,进行详细说明:
1、控制终端20,向A11发送串行数据帧01 00 1 D0 D1 … D31;
2、A11,接收电路1收到第一串行数据帧01 00 1 D0 D1 … D31,控制器4的处理步骤包括:
第一处理步骤,S0的值为0,第一数据位序列的位数为2位01,第二数据位序列为001 D0 D1 … D31;
第二处理步骤,S0S1的值为01,向编号#2的发送电路1(与A21连接)发送第二串行数据帧00 1 D0 D1 … D31;
3、A21,接收电路1收到第一串行数据帧00 1 D0 D1 … D31,控制器4的处理步骤包括:
第一处理步骤,S0的值为0,第一数据位序列的位数为2位00,第二数据位序列为1D0 D1 … D31;
第二处理步骤,S0S1的值为00,向编号#1的发送电路1(与A22连接)发送第二串行数据帧1 D0 D1 … D31;
4、A22,接收电路1收到第一串行数据帧1 D0 D1 … D31,控制器4的处理步骤包括:
第一处理步骤,S0的值为1,第一数据位序列的位数33位1 D0 D1 … D31,收到数据D0 D1 … D31,第二数据位序列为空。
在本申请实施例一的技术方案中,串行通信装置10的发送电路2与其它串行通信装置10的接收电路1连接,构成串行通信系统100;每个串行通信装置10只要遵循简单的接收和传递规则,就可以实现通信过程,避免了采用串行总线和主从结构。
上述技术方案中,每次通信过程发送的数据为32位的定长数据。为了实现位数不定长的数据的发送和接收,可以在本申请实施例一的技术方案基础上,修正第一处理步骤中的部分技术方案:
对于A11、A21,第一数据位序列的位数的确定方式可以预先定义为:根据第一数据位序列中的第1位的标识位S0的值,0代表第一数据位序列的位数为2位,其中不包含数据位;1代表第一数据位序列的位数为2+M+8*(N+1)位,其中包含8*(N+1)位数据位,其中M是第一数据位序列中的第3位开始的长度标识位的位数,N是第3位开始的长度标识位的数值。
相应地,对于A12、A22,第一数据位序列的位数的确定方式可以预先定义为:根据第一数据位序列中的第1位的标识位S0的值,0代表第一数据位序列的位数为1位,其中不包含数据位;1代表第一数据位序列的位数为1+M+8*(N+1)位,其中包含8*(N+1)位数据位,其中M是第一数据位序列中的第3位开始的长度标识位的位数,N是第3位开始的长度标识位的数值。
当M为5时,通过这一预先定义的方式,一次通信最多可以发送的数据的位数为256位。
以控制终端20在一次通信过程中向A12发送256位数据D0 D1 … D255的过程为例,进行详细说明:
1、控制终端20,向A11发送串行数据帧00 1 11111 D0 D1 … D255;
2、A11,接收电路1收到第一串行数据帧00 1 11111 D0 D1 … D255,控制器4的处理步骤包括:
第一处理步骤,S0的值为0,第一数据位序列的位数为2位00,第二数据位序列111111 D0 D1 … D255;
第二处理步骤,S0S1的值为00,向编号为#1的发送电路1(与A12连接)发送第二串行数据帧1 11111 D0 D1 … D255;
3、A12,接收电路1收到第一串行数据帧1 11111 D0 D1 … D255,控制器4的处理步骤包括:
第一处理步骤,S0的值为1,N为31,第一数据位序列为1+5+8*(N+1)=262位111111 D0 D1 … D255,收到数据D0 D1 … D255,第二数据位序列为空。
类似的,为了实现不定长且不限长的数据的发送和接收,可以在本申请实施例一的技术方案基础上,修正第一处理步骤中的部分技术方案:
对于A11、A21,第一数据位序列的位数的确定方式还可以预先定义为:根据第一数据位序列中的第1位的标识位S0的值,0代表第一数据位序列的位数为2位,其中不包含数据位;1代表第一数据位序列的位数为10位,其中包含1个字节的数据位,10位之后的第1位仍然作为标识位S0,如果S0的值为1,则第一数据位序列的位数再增加10位,直到S0的值为0,N的值为S0的值为1的次数加1,则第一数据位序列的位数一共为10*N+1位,其中包含N个字节的数据位。
相应地,对于A12、A22,第一数据位序列的位数的确定方式可以预先定义为:根据第一数据位序列中的第1位的标识位S0的值,0代表第一数据位序列的位数为1位,其中不包含数据位;1代表第一数据位序列的位数为9位,其中包含1个字节的数据位,9位之后的1位仍然作为标识位S0,如果S0的值为1,则第一数据位序列的位数再增加9位,直到S0的值为0,N的值为S0的值为1的次数加1,则第一数据位序列的位数一共为9*N+1位,其中包含N个字节的数据位。
通过这一预先定义的方式,一次通信可以发送不定长且不限长的数据。
以控制终端20在一次通信过程中向A12发送3字节数据D0 D1 … D7 E0 E1 … E7F0 F1 … F7的过程为例,进行详细说明:
1、控制终端20,向A11发送串行数据帧00 1 D0 D1 … D7 1 E0 E1 … E7 0 F0F1 … F7;
2、A11,接收电路1收到第一串行数据帧00 1 D0 D1 … D7 1 E0 E1 … E7 0 F0F1 … F7,控制器4的处理步骤包括:
第一处理步骤,S0的值为0,第一数据位序列的位数为2位00,第二数据位序列1 D0D1 … D7 1 E0 E1 … E7 0 F0 F1 … F7;
第二处理步骤,S0S1的值为00,向编号#1的发送电路1(与A12连接)发送第二串行数据帧1 D0 D1 … D7 1 E0 E1 … E7 0 F0 F1 … F7;
3、A12,接收电路1收到第一串行数据帧1 D0 D1 … D7 1 E0 E1 … E7 0 F0 F1… F7,控制器4的处理步骤包括:
第一处理步骤,S0的值为1,18位后的S0的值为0,N为2,第一数据位序列为27位1D0 D1 … D7 1 E0 E1 … E7 0 F0 F1 … F7,收到数据D0 D1 … D7 E0 E1 … E7 F0 F1… F7,第二数据位序列为空。
此外,为了实现每次对通信路径上全部串行通信装置10发送数据,可以在本申请实施例一的技术方案基础上,修正第一处理步骤中的部分技术方案:
对于A11、A21,第一数据位序列的位数的确定方式可以预先定义为:固定的34位。
相应地,对于A12、A22,第一数据位序列的位数的确定方式可以预先定义为:固定的33位。
以下对控制终端20在一次通信过程中向A11、A12分别发送32位数据的过程进行详细说明:
1、控制终端20,向A11发送串行数据帧00 D0 D1 … D31 1 E0 E1 … E31;
2、A11,接收电路1收到第一串行数据帧00 D0 D1 … D31 1 E0 E1 … E31,控制器4的处理步骤包括:
第一处理步骤,第一数据位序列为34位00 D0 D1 … D31,收到数据D0 D1 …D31,第二数据位序列1 E0 E1 … E31;
第一处理步骤,S0S1的值为00,向编号#1的发送电路1(与A12连接)发送第二串行数据帧1 E0 E1 … E31;
3、A12,接收电路1收到第一串行数据帧1 E0 E1 … E31,控制器4的处理步骤包括:
第一处理步骤,第一数据位序列为33位1 E0 E1 … E31,收到数据E0 E1 … E31,第二数据位序列为空。
在实际应用中,为了实现应用需求,在第一处理步骤中,可以采用多种方式确定第一数据位序列的位数,这些方式概括为由预先定义的以下方式之一确定:预先定义的固定位数;预先定义的第一数据位序列中的数据位代表的位数。
在第二处理步骤中,同样可以采用多种方式确定被选中发送电路,这些方式概括为被选中发送电路由预先定义的以下方式之一确定:将仅有的一个发送电路确定为被选中发送电路;根据第一数据位序列中的预先定义的数据位从发送电路中确定一个作为被选中发送电路。
在详细描述了本申请实施例一的技术方案之后,以下对更多实施例进行说明。
本申请实施例二,如图5,通信系统200由A11、A12、A21、A22共4个串行通信装置10构成;控制终端20向A11、A12、A21、A22发送数据,A11、A12、A21、A22收到来自控制终端20发送的数据后进行响应,控制终端20读取响应数据。
A11、A12、A21、A22的内部结构如图1。
A11和A21各具备3个接收电路1和3个编号分别为#1、#2和#3的发送电路2;A12和A22各具备2个接收电路1和2个编号分别为#1和#2的发送电路2;A11、A12、A21、A22均具备控制器4。
对于A11、A12、A21、A22,当接收电路接收到第一串行数据帧时,在接收过程中或接收过程完成后,控制器4的处理步骤包括:
第一处理步骤,包括:
从第一串行数据帧包含的数据位序列的第一位开始读取不少于1位的数据位序列记为第一数据位序列,第一串行数据帧包含的数据位序列中在第一数据位序列之后的部分记为第二数据位序列;
第一数据位序列的位数的确定方式预先定义为:固定的3位;
第二处理步骤,包括:
如果第二数据位序列不为空,被选中发送电路发送第二串行数据帧,第二串行数据帧包含的数据位序列的最前部包含第二数据位序列;
被选中发送电路的确定方式预先定义为:根据第一数据位序列中第1位和第2位的标识位S0S1的值确定被选中发送电路,01为编号#1的发送电路2,10为编号#2的发送电路2,11为编号#3的发送电路2。
第三处理步骤,包括:
如果进行响应,则将待响应数据依次添加到第二数据位序列的尾部;
是否进行响应的判定方式预先定义为:根据第一数据位序列中第3位的标识位S2的值判定是否需要响应,0为不进行响应,1为进行响应。
为便于理解第一串行数据帧与第二串行数据帧的关系,以A11接收到第一串行数据帧S0 S1 1 X X X X X X X X X X X且待响应数据为R0 R1 … R7时为例,第一串行数据帧与第二串行数据帧的对照图如图4。
控制终端20和通信系统200,如图5。
A11的编号#1的发送电路2和一个接收电路1分别与A12的接收电路1和编号#2的发送电路2连接;A12的编号#1的发送电路2和一个接收电路1与更多的串行通信装置10作同样连接,用以扩展第一行的串行通信装置10的数量;A11的编号#3的发送电路2和一个接收电路1分别与A21的一个接收电路1和编号#2的发送电路2连接;A21的编号#1的发送电路2和一个接收电路1分别与A22的接收电路1和编号#2的发送电路2连接;A22的编号#1的发送电路2和一个接收电路1与更多的串行通信装置10作同样连接,用以扩展第二行的串行通信装置10的数量;A21的编号#3的发送电路2和一个接收电路1与更多的串行通信装置10构成的行作同样连接,用以扩展通信系统200的行数。
控制终端20与A11的编号#2的发送电路和接收电路1连接。
以控制终端20从A12获得待响应数据R0 R1 … R31的过程为例,进行详细说明:
1、控制终端20,向A11发送串行数据帧010 101 100;
2、A11,接收电路1收到第一串行数据帧010 101 100,控制器4的处理步骤包括:
第一处理步骤,第一数据位序列的位数为3位010,第二数据位序列为101 100;
第三处理步骤,S2的值为0,不进行响应;
第二处理步骤,第二数据位序列不为空,S0S1的值为01,向编号#1的发送电路1(与A12连接)发送第二串行数据帧101 100;
3、A12,接收电路1收到第一串行数据帧101 100,控制器4的处理步骤包括:
第一处理步骤,第一数据位序列的位数为3位101,第二数据位序列为100;
第三处理步骤,S2的值为1,进行响应,将待响应数据R0 R1 … R31添加到第二数据位序列的尾部,第二数据位序列为100 R0 R1 … R31;
第二处理步骤,第二数据位序列不为空,S0S1的值为10,向编号#2的发送电路1(与A11)发送第二串行数据帧100 R0 R1 … R31;
4、A11,接收电路1收到第一串行数据帧100 R0 R1 … R31,控制器4的处理步骤包括:
第一处理步骤,第一数据位序列的位数为3位100,第二数据位序列为R0 R1 …R31;
第三处理步骤,S2的值为0,不进行响应;
第二处理步骤,第二数据位序列不为空,S0S1的值为10,向编号#2的发送电路1(与控制终端20)发送第二串行数据帧R0 R1 … R31;
5、终端控制器20,收到串行数据帧R0 R1 … R31。
再以控制终端20从A21和A22获得待响应数据R0 R1 … R31和T0 T1 … T31的过程为例,进行详细说明:
1、控制终端,向A11发送串行数据帧110 011 101 100 100;
2、A11,接收电路1收到第一串行数据帧110 011 101 100 100,控制器4的处理步骤包括:
第一处理步骤,第一数据位序列的位数为3位110,第二数据位序列为011 101 100100;
第三处理步骤,S2的值为0,不进行响应;
第二处理步骤,第二数据位序列不为空,S0S1的值为11,向编号#3的发送电路1(与A21连接)发送第二串行数据帧011 101 100 100;
3、A21,接收电路1收到第一串行数据帧011 101 100 100,控制器4的处理步骤包括:
第一处理步骤,第一数据位序列的位数为3位011,第二数据位序列为101 100100;
第三处理步骤,S2的值为1,进行响应,将待响应数据R0 R1 … R31依次添加到第二数据序列的尾部,第二数据序列为101 100 100 R0 R1 … R31;
第二处理步骤,第二数据位序列不为空,S0S1的值为01,向编号#1的发送电路1(与A22连接)发送第二串行数据帧101 100 100 R0 R1 … R31;
4、A22,接收电路1收到第一串行数据帧101 100 100 R0 R1 … R31,控制器4的处理步骤包括:
第一处理步骤,第一数据位序列的位数为3位101,第二数据位序列为100 100 R0R1 … R31;
第三处理步骤,S2的值为1,进行响应,将待响应数据T0 T1 … T31依次添加到第二数据序列的尾部,第二数据序列为100 100 R0 R1 … R31 T0 T1 … T31;
第二处理步骤,第二数据位序列不为空,S0S1的值为10,向编号#2的发送电路1(与A21连接)发送第二串行数据帧100 100 R0 R1 … R31 T0 T1 … T31;
5、A21,接收电路1收到第一串行数据帧100 100 R0 R1 … R31 T0 T1 … T31,控制器4的处理步骤包括:
第一处理步骤,第一数据位序列的位数为3位100,第二数据位序列100 R0 R1 …R31 T0 T1 … T31;
第三处理步骤,S2的值为0,不进行响应;
第二处理步骤,第二数据位序列不为空,S0S1的值为10,向编号#2的发送电路1(与A11连接)发送第二串行数据帧100 R0 R1 … R31 T0 T1 … T31;
6、A11,接收电路1收到第一串行数据帧100 R0 R1 … R31 T0 T1 … T31,控制器4的处理步骤包括:
第一处理步骤,第一数据位序列的位数为3位100,第二数据位序列为R0 R1 …R31 T0 T1 … T31;
第三处理步骤,S2的值为0,不进行响应;
第二处理步骤,第二数据位序列不为空,S0S1的值为10,向编号#2的发送电路1(与控制终端20连接)发送第二串行数据帧R0 R1 … R31 T0 T1 … T31;
7、控制终端20,收到串行数据帧R0 R1 … R31 T0 T1 … T31。
在本申请实施例二的技术方案中,串行通信装置10可以在收到串行数据帧时进行响应,具备了双向通信的能力,同样避免了采用串行总线和主从结构。
在实际应用中,为了实现应用需求,在第三处理步骤中,可以采用多种方式确定是否需要进行响应,这些方式概括为是否进行响应由预先定义的以下方式之一确定:不进行响应;进行响应;根据第一数据序列中的预先定义的数据位确定。
本申请实施例三,如图7,通信系统300由A11、A12、A21、A22共4个串行通信装置10构成。控制终端20向A11、A12、A21、A22发送数据颜色亮度数据,A11、A12、A21、A22接收到颜色亮度数据后,对各自连接的彩色LED灯的颜色和亮度进行控制。
A11、A12、A21、A22的内部结构如图6。
A11和A21各具备1个接收电路1和2个编号分别为#1和#2的发送电路2;A12和A22各具备1个接收电路1和1个发送电路2;A11、A12、A21、A22各具备1个接口电路3,接口电路3通过三路脉冲宽度调制电路PWMR、PWMG、PWMB分别控制彩色LED灯的R、G、B三个颜色驱动电路;A11、A12、A21、A22均具备控制器4。
对于A11、A12、A21、A22,当接收电路接收到第一串行数据帧时,在接收过程中或接收过程完成后,控制器4的处理步骤包括:
第一处理步骤,包括:
从第一串行数据帧包含的数据位序列的第一位开始读取不少于1位的数据位序列记为第一数据位序列,第一串行数据帧包含的数据位序列中在第一数据位序列之后的部分记为第二数据位序列;
第一数据位序列的位数的确定方式预先定义为:根据第一数据位序列中的第3位的标识位S2的值,0为3位,其中不包含颜色亮度数据位;1为27位,其中包含24位颜色亮度数据位。
第二处理步骤,包括:
如果第二数据位序列不为空,被选中发送电路发送第二串行数据帧,第二串行数据帧包含的数据位序列的最前部包含第二数据位序列;
被选中发送电路的确定方式预先定义为:根据第一数据位序列中的第1位和第2位的标识位S0S1的值确定被选中发送电路,01为编号#1的发送电路2,10为编号#2的发送电路2;
第三处理步骤,包括:
不进行响应;
第四处理步骤,包括:
根据第一数据位序列中的第3位的标识位S2的值,0为3位,不输出数据;1为27位,将第一数据位序列中的第4位到第27位的颜色亮度数据位D0 D1 … D23输出到接口电路,其中D0 D1 … D7控制PWMR,D8 D9 … D15控制PWMG,D16 D17 … D23控制PWMB。
控制终端20和通信系统300,如图7。
A11的编号为#1的发送电路2与A12的接收电路1连接;A12的编号为#1的发送电路2与更多的串行通信装置10作同样连接,用以扩展第一行的串行通信装置10的数量;A11的编号为#2的发送电路2与A21的一个接收电路1连接;A21的编号为#1的发送电路2与A22的接收电路1连接;A22的编号为#1的发送电路2与更多的串行通信装置10作同样连接,用以扩展第二行的串行通信装置10的数量;A21的编号为#2的发送电路2与更多的串行通信装置10构成的行作同样连接,用以扩展通信系统300的行数。
控制终端20与A11的接收电路1连接。
以控制终端20向A12发送并输出颜色亮度数据D0 D1 … D23到接口电路的过程为例,进行详细说明:
1、控制终端20,向A11发送串行数据帧010 001 D0 D1 … D23;
2、A11,接收电路1收到第一串行数据帧010 001 D0 D1 … D23,控制器4的处理步骤包括:
第一处理步骤,S2的值为0,第一数据位序列的位数为3位010,第二数据位序列001D0 D1 … D23;
第二处理步骤,S0S1的值为01,向编号#1的发送电路1(与A12连接)发送第二串行数据帧001 D0 D1 … D23;
3、A12,接收电路1收到第一串行数据帧001 D0 D1 … D23,控制器4的处理步骤包括:
第一处理步骤,S2的值为1,第一数据位序列的位数为27位001 D0 D1 … D23,第二数据位序列空;
第四处理步骤,S2的值为1,将第一数据位序列中的第4位到第27位的颜色亮度数据D0 D1 … D23输出到接口电路,其中D0 D1 … D7控制PWMR,D8 D9 … D15控制PWMG,D16D17 … D23控制PWMB。
再以控制终端20向A21和A22构成的第二行发送并输出颜色亮度数据D0 D1 …D23和C0 C1 … C23到接口电路的过程为例,进行详细说明:
1、控制终端,向A11发送串行数据帧100 011 001 D0 D1 … D23 C0 C1 … C23;
2、A11,接收电路1收到第一串行数据帧100 011 001 D0 D1 … D23 C0 C1 …C23,控制器4的处理步骤包括:
第一处理步骤,S2的值为0,第一数据位序列的位数为3位100,第二数据位序列011001 D0 D1 … D23 C0 C1 … C23;
第二处理步骤,S0S1的值为10,向编号#2的发送电路1(与A21连接)发送第二串行数据帧011 001 D0 D1 … D23 C0 C1 … C23;
3、A21,接收电路1收到第一串行数据帧:011 D0 D1 … D23 001 C0 C1 … C23,控制器4的处理步骤包括:
第一处理步骤,S2的值为1,第一数据位序列的位数为27位011 D0 D1 … D23,第二数据位序列001 C0 C1 … C23;
第四处理步骤,S2的值为1,将第一数据位序列中的第4位到第27位的颜色亮度数据D0 D1 … D23输出到接口电路,其中D0 D1 … D7控制PWMR,D8 D9 … D15控制PWMG,D16D17 … D23控制PWMB;
第二处理步骤,S0S1的值为01,向编号#1的发送电路1(与A22连接)发送第二串行数据帧001 C0 C1 … C23;
4、A22,接收电路1收到第一串行数据帧001 C0 C1 … C23,控制器4的处理步骤包括:
第一处理步骤,S2的值为1,第一数据位序列的位数为27位001 C0 C1 … C23,第二数据位序列为空;
第四处理步骤,S2的值为1,将第一数据位序列中的第4位到第27位的颜色亮度数据C0 C1 … C23输出到接口电路,其中C0 C1 … C7控制PWMR,C8 C9 … C15控制PWMG,C16C17 … C23控制PWMB。
本申请实施例三中的串行通信装置10均具备接口电路3,将收到的数据输出到接口电路。在实际应用中,为了实现应用需求,在第四处理步骤中,可以采用多种方式向接口电路进行数据输出,这些方式概括为向接口电路进行数据输出。接口电路可以采用各种现有接口电路的技术方案,包括通用IO口、SPI、I2C、PWM等。串行通信装置不仅可以向接口电路进行数据输出,也可以从接口电路进行数据采集,有关数据采集的技术方案在下面的本申请实施例四中进行详细说明。
本申请实施例四,如图8,通信系统400由A11、A12、A21、A22共4个串行通信装置10构成。控制终端20向A11、A12、A21、A22发送数据,A11、A12、A21、A22收到控制终端20发送的数据后,对其各自连接的温度传感器21进行数据采集,并将采集到的数据返回给控制终端20。
A11、A12、A21、A22的内部结构如图6。
A11和A21各具备3个接收电路1和3个编号分别为#1、#2和#3的发送电路2;A12和A22各具备2个接收电路1和2个编号分别为#1和#2的发送电路2;A11、A12、A21、A22各具备1个接口电路3,接口电路3通过SPI接口与数字温度传感器21连接。
对于A11、A12、A21、A22,当接收电路接收到第一串行数据帧时,在接收过程中或接收过程完成后,控制器4的处理步骤包括:
第一处理步骤,
从第一串行数据帧包含的数据位序列的第一位开始读取不少于1位的数据位序列记为第一数据位序列,第一串行数据帧包含的数据位序列中在第一数据位序列之后的部分记为第二数据位序列;
第一数据位序列的位数的确定方式预先定义为:固定的3位;
第二处理步骤,包括:
如果第二数据位序列不为空,被选中发送电路发送第二串行数据帧,第二串行数据帧包含的数据位序列的最前部包含第二数据位序列;
被选中发送电路的确定方式预先定义为:根据第一数据位序列中第1位和第2位的标识位S0S1的值确定被选中发送电路,01为编号#1的发送电路2,10为编号#2的发送电路2,11为编号#3的发送电路2。
第三处理步骤,包括:
根据第一数据位序列中的预先定义第3位的标识位S2的值,1为进行响应,则将待响应数据依次添加到第二数据位序列的尾部;
第四处理步骤,包括:
根据第一数据位序列中的预先定义第3位的标识位S2,为1则从接口电路3进行数据采集,并将采集到的数据作为待响应数据。
控制终端20和通信系统400,如图8。
A11的编号#1的发送电路2和一个接收电路1分别与A12的接收电路1和编号#2的发送电路2连接;A12的编号#1的发送电路2和一个接收电路1与更多的串行通信装置10作同样连接,用以扩展通信系统400的第一行的串行通信装置10的数量;A11的编号#3的发送电路2和一个接收电路1分别与A21的一个接收电路1和编号#2的发送电路2连接;A21的编号#1的发送电路2和一个接收电路1分别与A22的接收电路1和编号#2的发送电路2连接;A22的编号#1的发送电路2和一个接收电路1与更多的串行通信装置10作同样连接,用以扩展通信系统400的第二行的串行通信装置10的数量;A21的编号#3的发送电路2和一个接收电路1与更多的串行通信装置10构成的行作同样连接,用以扩展通信系统400的行数。
控制终端20与A11的接收电路1和编号#2的发送电路2连接。
以控制终端20从A21和A22的接口电路连接的温度传感器21读取温度数据R0 R1… R31和T0 T1 … T31的过程为例,进行详细说明:
1、控制终端20,向A11发送串行数据帧110 011 101 100 100;
2、A11,接收电路1收到第一串行数据帧110 011 101 100 100,控制器4的处理步骤包括:
第一处理步骤,第一数据位序列的位数为3位110,第二数据位序列为011 101 100100;
第四处理步骤,S2的值为0,不进行数据采集;
第三处理步骤,S2的值为0,不进行响应;
第二处理步骤,第二数据位序列不为空,S0S1的值为11,向编号#3的发送电路1(与A21连接)发送第二串行数据帧011 101 100 100;
3、A21,接收电路1收到第一串行数据帧011 101 100 100,控制器4的处理步骤包括:
第一处理步骤,第一数据位序列的位数为3位011,第二数据位序列为101 100100;
第四处理步骤,S2的值为1,进行采集数据,将从接口电路采集到的数据R0 R1 …R31作为待响应数据;
第三处理步骤,S2的值为1,进行响应,将待响应数据R0 R1 … R31依次添加到第二数据位序列的尾部,第二数据序列为101 100 100 R0 R1 … R31;
第二处理步骤,第二数据位序列不为空,S0S1的值为01,向编号#1的发送电路1(与A22连接)发送第二串行数据帧101 100 100 R0 R1 … R31;
4、A22,接收电路1收到第一串行数据帧101 100 100 R0 R1 … R31,控制器4的处理步骤包括:
第一处理步骤,第一数据位序列的位数为3位101,第二数据位序列为100 100 R0R1 … R31;
第四处理步骤,S2的值为1,进行采集数据,将从接口电路采集到的数据T0 T1 …T31作为待响应数据;
第三处理步骤,S2的值为1,进行响应,将待响应数据T0 T1 … T31依次添加到第二数据位序列的尾部,第二数据序列为100 100 R0 R1 … R31 T0 T1 … T31;
第二处理步骤,第二数据位序列不为空,S0S1的值为10,向编号#2的发送电路1(与A21连接)发送第二串行数据帧:100 100 R0 R1 … R31 T0 T1 … T31;
5、A21,接收电路1收到第一串行数据帧100 100 R0 R1 … R31 T0 T1 … T31,控制器4的处理步骤包括:
第一处理步骤,第一数据位序列的位数为3位100,第二数据位序列100 R0 R1 …R31 T0 T1 … T31;
第四处理步骤,S2的值为0,不进行数据采集;
第三处理步骤,S2的值为0,不进行响应;
第二处理步骤,第二数据位序列不为空,根据第二规则的预先配置,S0S1的值为10,向编号为#2的发送电路1(与A11连接)发送第二串行数据帧:100 R0 R1 … R31 T0 T1… T31;
6、A11,接收电路1收到第一串行数据帧:100 R0 R1 … R31 T0 T1 … T31,控制器4的处理步骤包括:
第一处理步骤,第一数据位序列的位数为3位100,第二数据位序列为R0 R1 …R31 T0 T1 … T31;
第四处理步骤,S2的值为0,不进行数据采集;
第三处理步骤,S2的值为0,不进行响应;
第二处理步骤,第二数据位序列不为空,S0S1的值为10,向编号#2的发送电路1(与控制终端20连接)发送第二串行数据帧R0 R1 … R31 T0 T1 … T31;
7、控制终端20,收到串行数据帧R0 R1 … R31 T0 T1 … T31。
本申请实施例四中的串行通信装置10均具备接口电路3,从接口电路3进行数据采集,并将采集到的数据返回给控制终端20。在实际应用中,为了实现应用需求,在第四处理步骤中,可以采用多种方式从接口电路进行数据采集,这些方式概括为从接口电路进行数据采集,将采集到的数据依次作为待响应数据。
本申请实施例五,如图9,通信系统500由A11、A12、A21、A22共4个串行通信装置10构成。控制终端20向A11、A12、A21、A22发送指令,A11、A12、A21、A22接收并执行这些指令,如果执行指令时产生了执行结果,则将执行结果返回给控制终端20。
A11、A12、A21、A22的内部结构如图6。
A11和A21各具备3个接收电路1和3个编号分别为#1、#2和#3的发送电路2;A12和A22各具备2个接收电路1和2个编号分别为#1和#2的发送电路2;A11、A12、A21、A22各具备1个接口电路3,接口电路3具备三路脉冲宽度调制电路PWMR、PWMG、PWMB分别控制彩色LED灯的R、G、B三个驱动电路;A11、A12、A21、A22均具备控制器4。
A11、A12、A21、A22均预先定义了指令集。
在第一数据位序列中包含一条指令的格式为:S0 S1 C0 C1 D0 D1 …;
在第一数据位序列中包含多条指令的格式为:0 0 C0 C1 D0 D1 … …… S0 S1C0 C1 D0 D1 …;
指令集中的指令包括:
指令1、向寄存器写入数据,C0C1为00,附带8位数据D0 D1 … D7,不产生执行结果;
指令2、从寄存器读取数据,C0C1为01,无附带数据,产生执行结果R0 R1 … R7;
指令3、向接口电路输出数据,C0C1为10,附带24位数据D0 D1 … D23,不产生执行结果;
指令4、仅传递无操作,C0C1为11,无附带数据,不产生执行结果;
A11、A12、A21、A22,当接收电路接收到第一串行数据帧时,在接收过程中或接收过程完成后,控制器4的处理步骤包括:
第一处理步骤,包括:
从第一串行数据帧包含的数据位序列的第一位开始读取不少于1位的数据位序列记为第一数据位序列,第一串行数据帧包含的数据位序列中在第一数据位序列之后的部分记为第二数据位序列;
第一数据位序列的位数的确定方式预先定义为:根据第一数据位序列中的第1位和第2位的标识位S0S1的值,01、10或11代表仅有1条指令,再根据C0C1代表的指令的位数计算第一数据位序列的位数;00代表有多条指令,根据后续的S0S1,直到出现01、10或11为止,根据每一指令的C0C1代表的指令的位数计算第一数据位序列的位数;
第二处理步骤,包括:
如果第二数据位序列不为空,被选中发送电路发送第二串行数据帧,第二串行数据帧包含的数据位序列的最前部包含第二数据位序列;
被选中发送电路的确定方式预先定义为:根据第一数据位序列中的最后一条指令的S0S1的值确定被选中发送电路,01为编号#1的发送电路2,10为编号#2的发送电路2,11为编号#3的发送电路2;
第三处理步骤,包括:
如果进行响应,则将待响应数据依次添加到第二数据位序列的尾部;
是否进行响应的确定方式预先定义为:如果第一数据位序列中包含C0C1为01的指令2,则进行响应,否则不进行响应;
第五处理步骤,包括:
将第一数据位序列按照指令集的指令格式分解为一个或多指令,并依次执行指令,C0C1为01的执行指令2将产生执行结果,执行结果将被作为待响应数据,其它指令不产生执行结果。
控制终端20和通信系统500,如图9。
A11的编号#1的发送电路2和一个接收电路1分别与A12的接收电路1和编号#2的发送电路2连接;A12的编号#1的发送电路2和一个接收电路1与更多的串行通信装置10作同样连接,用以扩展第一行的串行通信装置10的数量;A11的编号#3的发送电路2和一个接收电路1分别与A21的一个接收电路1和编号#2的发送电路2连接;A21的编号#1的发送电路2和一个接收电路1分别与A22的接收电路1和编号#2的发送电路2连接;A22的编号#1的发送电路2和一个接收电路1与更多的串行通信装置10作同样连接,用以扩展第二行的串行通信装置10的数量;A21的编号#3的发送电路2和一个接收电路1与更多的串行通信装置10构成的行作同样连接,用以扩展通信系统500的行数。
控制终端20与A11的接收电路1和编号#2的发送电路2连接。
以控制终端20向A12的寄存器写入一个8位数据D0 D1 … D7并读出这个8位数据R0 R1 … R7的过程为例,详细说明如下:
1、控制终端20,向A11发送串行数据帧0111 0000 D0 D1 … D7 1001 1011;
2、A11,接收电路1收到第一串行数据帧0111 0000 D0 D1 … D7 1001 1011,控制器4的处理步骤包括:
第一处理步骤,S0S1的值为01,代表第一数据位序列中仅有1条指令,C0C1为11,无附带数据,第一数据位序列的位数为4位0111,第二数据位序列为0000 D0 D1 … D7 10011011;
第五处理步骤,第一数据位序列包含1条指令,执行指令4、仅传递无操作,C0C1为11,不产生执行结果;
第三处理步骤,C0C1为11,指令4不进行响应;
第二处理步骤,S0S1的值01,向编号为#1的发送电路(与A12连接)发送第二串行数据帧0000 D0 D1 … D7 1001 1011;
3、A12,接收电路1收到第一串行数据帧0000 D0 D1 … D7 1001 1011;控制器4的处理步骤包括:
第一处理步骤,S0S1的值为00,代表第一数据位序列中有多条指令,其中,第1条指令的C0C1为00,附带8位数据;第2条,S0S1的值10,代表后面没有其它指令,指令的C0C1为01,无附带数据,第一数据位序列的位数为16位0000 D0 D1 … D7 1001,第二数据位序列为1011;
第五处理步骤,第一数据位序列包含2条指令,执行指令1,将附带8位数据D0 D1… D7写入寄存器,不产生执行结果;执行指令2,从寄存器读取数据,无附带数据,产生执行结果R0 R1 … R7;将执行结果R0 R1 … R7依次作为待响应数据;
第三处理步骤,第一数据位序列中包含C0C1为01的指令2,进行响应,将待响应数据R0 R1 … R7添加到第二数据位序列的尾部,第二数据位序列为1011 R0 R1 … R7;
第二处理步骤,最后一条指令的S0S1的值10,向编号为#2的发送电路(与A11连接)发送第二串行数据帧1011 R0 R1 … R7;
4、A11,接收电路1收到第一串行数据帧1011 R0 R1 … R7,控制器4的处理步骤包括:
第一处理步骤,S0S1的值为10,代表第一数据位序列中仅有1条指令,C0C1为11,指令4,无附带数据,第一数据位序列的位数为4位1011,第二数据位序列为R0 R1 … R7;
第五处理步骤,第一数据位序列包含1条指令,执行指令4,仅传递无操作,无附带数据,不产生执行结果;
第二处理步骤,最后一条指令的S0S1的值10,向编号为#2的发送电路(与控制终端20连接)发送第二串行数据帧R0 R1 … R7;
5、控制终端20,收到串行数据帧R0 R1 … R7。
再以控制终端20向A22的接口电路输出一个24位颜色亮度数据D0 D1 … D23的过程为例,详细说明如下:
1、控制终端20,向A11发送串行数据帧1111 0111 1110 D0 D1 … D23;
2、A11,接收电路1收到第一串行数据帧1111 0111 1110 D0 D1 … D23,控制器4的处理步骤包括:
第一处理步骤,S0S1的值为11,代表第一数据位序列中仅有1条指令,C0C1为11,指令4,无附带数据,第一数据位序列的位数为4位1111,第二数据位序列为0111 1110 D0 D1… D23;
第五处理步骤,第一数据位序列包含1条指令,执行指令4,仅传递无操作,无附带数据,不产生执行结果;
第二处理步骤,最后一条指令的S0S1的值11,向编号为#3的发送电路(与A21连接)发送第二串行数据帧0111 1110 D0 D1 … D23;
3、A21,接收电路1收到第一串行数据帧0111 1110 D0 D1 … D23,控制器4的处理步骤包括:
第一处理步骤,S0S1的值为01,代表第一数据位序列中仅有1条指令,C0C1为11,指令4,无附带数据,第一数据位序列的位数为4位0111,第二数据位序列为1110 D0 D1 …D23;
第五处理步骤,第一数据位序列包含1条指令,执行指令4,仅传递无操作,无附带数据,不产生执行结果;
第二处理步骤,最后一条指令的S0S1的值01,向编号为#1的发送电路(与A22连接)发送第二串行数据帧1110 D0 D1 … D23;
4、A22,接收电路1收到第一串行数据帧1110 D0 D1 … D23,控制器4的处理步骤包括:
第一处理步骤,S0S1的值为11,代表第一数据位序列中仅有1条指令,C0C1为10,指令3,附带24位数据,第一数据位序列的位数为28位1110 D0 D1 … D23,第二数据位序列为空;
第五处理步骤,第一数据位序列包含1条指令,执行指令3,将附带的24位数据D0D1 … D23输出到接口电路,其中D0 D1 … D7控制PWMR,D8 D9 … D15控制PWMG,D16 D17… D23控制PWMB,不产生执行结果。
本申请实施例五,提供了一个具有4个指令的指令集和指令执行功能的串行通信装置。在实际应用中,为了实现应用需求,串行通信装置可以拥有更为复杂的指令集,用于对串行通信装置的接口电路、内部寄存器、内部存贮器等进行数据交互。集成了串行通信装置的执行器、传感器或控制器,可以通过公开指令集,方便与其它装置进行数据通信和协同工作。
本申请实施例六,如图1,表示串行通信装置10的结构。
串行通信装置10具备2个接收电路1、2个发送电路2和控制器4;
控制器4分别与接收电路1和发送电路2连接;
当接收电路1接收到第一串行数据帧时,在接收过程中或接收过程完成后,控制器4的处理步骤包括:
第一处理步骤,
从第一串行数据帧包含的数据位序列的第一位开始读取不少于1位的数据位序列记为第一数据位序列,第一串行数据帧包含的数据位序列中在第一数据位序列之后的部分记为第二数据位序列;
第一数据位序列的位数由预先定义的以下方式之一确定:固定的11位数,第一数据位序列的格式为S0 S1 D0 D1 … D7 P,其中S0 S1为标识位,D0 D1 … D7为8位数据位,P为奇偶校验位;
第二处理步骤,
如果第二数据位序列不为空,被选中发送电路发送第二串行数据帧,第二串行数据帧包含的数据位序列的最前部包含第二数据位序列;
被选中发送电路由预先定义的以下方式之一确定:根据第一数据位序列中的第1位和第2位的标识位S0S1的值确定被选中发送电路,01为编号#1的发送电路2,10为编号#2的发送电路2;
如果被选中电路发送第二串行数据帧时正被占用,则将第二串行数据帧按照时间先后顺序排队,逐一发送。图10表示了被选中电路发送第二串行数据帧时正被占用时,第二串行数据帧被延迟发送。
根据第一数据序列中的第11位的奇偶校验位P对第一数据序列的数据位进行校验,如果出现校验错误,则终止发送第二串行数据帧。图11表示了校验错误时,终止发送第二串行数据帧。
在被选中发送电路被确定后,立即启动被选中发送电路的发送准备工作,重复发送起始位,直到收到第二数据位序列;提前的发送准备工作可以留出更多的时间以便发送电路尽早建立通信信道,减小发送迟滞。图12表示了提前发送准备的原理。
本申请实施例七,如图13,通信系统600由A11、A12、A21、A22共4个串行通信装置10构成。A11、A12、A21、A22主动向其它串行通信装置10发送数据。
A11、A12、A21、A22的内部结构如图1。
A11、A12、A21、A22各具备1个接收电路1和1个发送电路2。
A11、A12、A21、A22的控制器4具备以下功能:向其自身发送第一串行数据帧,并引发与接收电路接收到第一串行数据帧时完全相同的处理步骤。
对于A11、A12、A21、A22,当接收电路接收到第一串行数据帧时,在接收过程中或接收过程完成后,控制器4的处理步骤包括:
第一处理步骤,包括:
从第一串行数据帧包含的数据位序列的第一位开始读取不少于1位的数据位序列记为第一数据位序列,第一串行数据帧包含的数据位序列中在第一数据位序列之后的部分记为第二数据位序列;
第一数据位序列的位数的确定方式预先定义为:根据第一数据位序列中的第1位的标识位S0的值,0为1位,其中不包含数据位,1为33位,其中包含32位数据位;
第二处理步骤,包括:
如果第二数据位序列不为空,被选中发送电路发送第二串行数据帧,第二串行数据帧包含的数据位序列的最前部包含第二数据位序列;
被选中发送电路的确定方式预先定义为:将仅有的一个发送电路确定为被选中发送电路;
第三处理步骤,包括:
不进行响应。
通信系统600,如图13。A11的发送电路2与A12的接收电路1连接;A12的发送电路2与A22的接收电路1连接;A22发送电路2与A21的接收电路1;A21发送电路2与A11的接收电路1。
以A11向A12主动发送一个32位数据D0 D1 … D31的过程为例,进行详细说明:
1、A11,向自身发送第一串行数据帧0 1 D0 D1 … D31,引发控制器4与接收电路1接收到第一串行数据帧时完全相同的处理步骤;
2、A11,接收电路接收到第一串行数据帧0 1 D0 D1 … D31,控制器4的处理步骤包括:
第一处理步骤,S0的值为0,代表第一数据位序列的位数为1位0;第二数据位序列为1 D0 D1 … D31;
第二处理步骤,第二数据位序列不为空,向仅有的一个发送电路(与A12连接)发送第二串行数据帧1 D0 D1 … D31;
3、A12,接收电路1接收到第一串行数据帧1 D0 D1 … D31,控制器4的处理步骤包括:
第一处理步骤,S0的值为1,第一数据位序列的位数为33位1 D0 D1 … D31,收到数据D0 D1 … D31,第二数据位序列为空。
再以A11向A22主动发送一个32位数据D0 D1 … D31的过程为例,进行详细说明:
1、A11,向自身发送第一串行数据帧0 0 1 D0 D1 … D31,引发控制器4与接收电路1接收到第一串行数据帧时完全相同的处理步骤;
2、A11,接收电路接收到第一串行数据帧0 0 1 D0 D1 … D31,控制器4的处理步骤包括:
第一处理步骤,S0的值为0,代表第一数据位序列的位数为1位0,第二数据位序列为0 1 D0 D1 … D31;
第二处理步骤,第二数据位序列不为空,向仅有的一个发送电路(与A12连接)发送第二串行数据帧0 1 D0 D1 … D31;
3、A12,接收电路接收到第一串行数据帧:0 1 D0 D1 … D31,控制器4的处理步骤包括:
第一处理步骤,S0的值为0,第一数据位序列的位数为1位0,第二数据位序列为1D0 D1 … D31;
第二处理步骤,第二数据位序列不为空,向仅有的一个发送电路(与A22连接)发送第二串行数据帧1 D0 D1 … D31;
4、A22,接收电路1接收到第一串行数据帧1 D0 D1 … D31,控制器4的处理步骤包括:
第一处理步骤,S0的值为1,第一数据位序列的位数为33位1 D0 D1 … D31,收到数据D0 D1 … D31,第二数据位序列为空。
再以A11向A21主动发送一个32位数据D0 D1 … D31的过程为例,进行详细说明:
1、A11,向自身发送第一串行数据帧0 0 0 1 D0 D1 … D31,引发控制器4与接收电路1接收到第一串行数据帧时完全相同的处理步骤;
2、A11,接收电路接收到第一串行数据帧0 0 0 1 D0 D1 … D31,控制器4的处理步骤包括:
第一处理步骤,S0的值为0,第一数据位序列的位数为1位0,第二数据位序列为0 01 D0 D1 … D31;
第二处理步骤,第二数据位序列不为空,向仅有的一个发送电路(与A12连接)发送第二串行数据帧0 0 1 D0 D1 … D31;
3、A12,接收电路接收到第一串行数据帧0 0 1 D0 D1 … D31,控制器4的处理步骤包括:
第一处理步骤,S0的值为0,第一数据位序列的位数为1位0,第二数据位序列为0 1D0 D1 … D31;
第二处理步骤,第二数据位序列不为空,向仅有的一个发送电路(与A22连接)发送第二串行数据帧0 1 D0 D1 … D31;
4、A22,接收电路接收到第一串行数据帧:0 1 D0 D1 … D31,控制器4的处理步骤包括:
第一处理步骤,S0的值为0,第一数据位序列的位数为1位0,第二数据位序列为1D0 D1 … D31;
第二处理步骤,第二数据位序列不为空,向仅有的一个发送电路(与A21连接)发送第二串行数据帧1 D0 D1 … D31;
5、A21,接收电路1接收到第一串行数据帧:1 D0 D1 … D31,控制器4的处理步骤包括:
第一处理步骤,S0的值为1,第一数据位序列的位数为33位1 D0 D1 … D31,收到数据D0 D1 … D31,第二数据位序列为空。
A12、A21、A22可以用同样方式主动向其它串行通信装置10发送数据。
本申请实施例七,提供了串行通信装置主动向串行通信系统中的其它串行通信装置发送数据的技术方案,为串行通信装置之间进行数据通信和协同工作提供了更多方式。
Claims (9)
1.一种串行通信装置,其特征在于,包括:
一个或多个接收电路,用于接收第一串行数据帧;
一个或多个发送电路,用于发送第二串行数据帧;
控制器,分别与所述接收电路和所述发送电路连接;
当所述接收电路接收到所述第一串行数据帧时,在接收过程中或接收过程完成后,所述控制器的处理步骤包括:
第一处理步骤,包括:
从所述第一串行数据帧包含的数据位序列的第一位开始读取不少于1位的数据位序列记为第一数据位序列,所述第一串行数据帧包含的数据位序列中在所述第一数据位序列之后的部分记为第二数据位序列;
所述第一数据位序列的位数由预先定义的以下方式之一确定:
固定的位数;
根据所述第一数据位序列中的预先定义的数据位确定;
第二处理步骤,包括:
如果所述第二数据位序列不为空,被选中发送电路发送第二串行数据帧,所述第二串行数据帧包含的数据位序列的最前部包含所述第二数据位序列;
所述被选中发送电路由预先定义的以下方式之一确定:
将仅有的一个所述发送电路确定为所述被选中发送电路;
根据所述第一数据位序列中的预先定义的数据位从所述发送电路中确定一个作为所述被选中发送电路。
2.根据权利要求1所述串行通信装置,其特征在于:
当所述接收电路接收到所述第一串行数据帧时,在接收过程中或接收过程完成后,所述控制器的处理步骤还包括:
第三处理步骤,包括:
如果进行响应,则将待响应数据依次添加到第二数据位序列的尾部;
是否进行响应由预先定义的以下方式之一确定:
不进行响应;
进行响应;
根据所述第一数据序列中的预先定义的数据位确定。
3.根据权利要求2所述串行通信装置,其特征在于:
还包括接口电路,用于与其它装置连接;
所述接口电路与所述控制器连接;
当所述接收电路接收到所述第一串行数据帧时,在接收过程中或接收过程完成后,所述控制器的处理步骤还包括:
第四处理步骤,包括:
向所述接口电路进行数据输出,或从所述接口电路进行数据采集,将采集到的数据依次作为所述待响应数据。
4.根据权利要求2所述串行通信装置,其特征在于:
当所述接收电路接收到所述第一串行数据帧时,在接收过程中或接收过程完成后,所述控制器的处理步骤还包括:
第五处理步骤,包括:
将所述第一数据位序列根据预先定义的指令格式分解为一个或多个预先定义的指令,并依次执行指令;如果所述执行指令产生执行结果,则将所述执行结果依次作为所述待响应数据。
5.根据权利要求1所述串行通信装置,其特征在于:
所述第二处理步骤还包括:
如果所述被选中电路发送第二串行数据帧时正被占用,则按照以下方式之一处理:将所述第二串行数据帧丢弃,不再发送;将所述第二串行数据帧按照时间先后顺序排队,逐一发送。
6.根据权利要求1所述串行通信装置,其特征在于:
所述第二处理步骤还包括:
根据所述第一数据序列中的预先定义的校验位对所述第一数据序列的数据位进行校验,如果出现校验错误,则不发送或终止发送第二串行数据帧。
7.根据权利要求1所述串行通信装置,其特征在于:
所述第二处理步骤还包括:
在所述被选中发送电路被确定后,立即启动所述被选中发送电路的包括发送起始位在内的发送准备工作。
8.根据权利要求1所述串行通信装置,其特征在于:
控制器具备以下功能:向其自身发送第一串行数据帧,并引发与所述接收电路接收到第一串行数据帧时完全相同的处理步骤。
9.一种串行通信系统,其特征在于:
包括多个权利要求1至8中任意一项所述串行通信装置,且所述串行通信装置之间相互连接;
所述串行通信装置的任意一个所述接收电路与至多一个其它所述串行通信装置的至多一个所述发送电路连接;
所述串行通信装置的任意一个所述发送电路与至多一个其它所述串行通信装置的至多一个所述接收电路连接;
所述串行通信系统的任意一部分所述串行通信装置均与其它部分所述串行通信装置之间存在连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010998527.3A CN112003878B (zh) | 2020-09-22 | 2020-09-22 | 一种串行通信装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010998527.3A CN112003878B (zh) | 2020-09-22 | 2020-09-22 | 一种串行通信装置和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112003878A true CN112003878A (zh) | 2020-11-27 |
CN112003878B CN112003878B (zh) | 2023-12-29 |
Family
ID=73475581
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010998527.3A Active CN112003878B (zh) | 2020-09-22 | 2020-09-22 | 一种串行通信装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112003878B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1893404A (zh) * | 2005-07-01 | 2007-01-10 | 海尔集团公司 | 串行通讯的方法及其接口电路 |
CN102063401A (zh) * | 2011-01-13 | 2011-05-18 | 四川大学 | 分布录波装置的tdmow串行总线结构及编码方法 |
CN104572337A (zh) * | 2015-01-26 | 2015-04-29 | 中国航天科技集团公司第九研究院第七七一研究所 | 一种芯片间的数据传输方法 |
CN108989014A (zh) * | 2018-07-11 | 2018-12-11 | 江苏省精创电气股份有限公司 | 一种宽时钟容差的单线串行半双工通信方法 |
CN110750478A (zh) * | 2019-09-11 | 2020-02-04 | 深圳震有科技股份有限公司 | 一种多串口通信方法及系统 |
-
2020
- 2020-09-22 CN CN202010998527.3A patent/CN112003878B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1893404A (zh) * | 2005-07-01 | 2007-01-10 | 海尔集团公司 | 串行通讯的方法及其接口电路 |
CN102063401A (zh) * | 2011-01-13 | 2011-05-18 | 四川大学 | 分布录波装置的tdmow串行总线结构及编码方法 |
CN104572337A (zh) * | 2015-01-26 | 2015-04-29 | 中国航天科技集团公司第九研究院第七七一研究所 | 一种芯片间的数据传输方法 |
CN108989014A (zh) * | 2018-07-11 | 2018-12-11 | 江苏省精创电气股份有限公司 | 一种宽时钟容差的单线串行半双工通信方法 |
CN110750478A (zh) * | 2019-09-11 | 2020-02-04 | 深圳震有科技股份有限公司 | 一种多串口通信方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112003878B (zh) | 2023-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9667699B2 (en) | Method for transmitting data via a CANopen bus | |
KR920004131B1 (ko) | 통신제어방법, 통신제어장치 및 정보전송시스템 | |
US7793017B2 (en) | Connection module for sensors | |
CN108605005B (zh) | 有效控制组件以及控制方法 | |
US20030179719A1 (en) | Method and apparatus for transmitting packets at a transfer rate that depends on a response from a destination | |
US7827335B2 (en) | Remote communication system of a network | |
EP2233255A2 (en) | Data transformation network apparatus and robot controlling system and method using the same | |
WO2007055083A1 (ja) | 制御・監視信号伝送システム | |
US11671269B2 (en) | Method for operating a sensor arrangement in a motor vehicle on the basis of a DSI protocol | |
CN109327365B (zh) | 在转角传感器与发动机控制装置或分析单元之间的数据传递方法 | |
CN107018151B (zh) | 一种可编程转换逻辑的CAN-LonWorks协议转换方法 | |
CN112003878A (zh) | 一种串行通信装置和系统 | |
CN113328926A (zh) | 一种fc-ae-1553和fc-ae-asm的混合网络系统 | |
KR101704300B1 (ko) | Can 메시지 송수신 방법 및 이를 실행하는 시스템 | |
US7761243B2 (en) | Measuring device for process engineering and operating method for a measuring device | |
JP4137290B2 (ja) | パケット転送方法及びパケット転送制御装置 | |
CN101820373B (zh) | 一种现场总线式模块实时配置方法 | |
US11489697B2 (en) | Transmission of data on a local bus | |
US20220374376A1 (en) | Memory mapping of legacy i/f protocols over tdd | |
US20060083230A1 (en) | Method and apparatus for transferring data | |
CN110663029B (zh) | 分布式处理过程数据 | |
US11736318B2 (en) | Initialization of data bus subscribers | |
TW201911832A (zh) | 定點訊號傳輸系統及其定點訊號處理之方法 | |
CN114911736A (zh) | 一种主从机系统 | |
CN101677288B (zh) | 因特网的远程通讯方法及其系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |