CN101639819A - 采用脉冲间隔进行串行通信以及二芯带供电的总线系统 - Google Patents
采用脉冲间隔进行串行通信以及二芯带供电的总线系统 Download PDFInfo
- Publication number
- CN101639819A CN101639819A CN200910194652A CN200910194652A CN101639819A CN 101639819 A CN101639819 A CN 101639819A CN 200910194652 A CN200910194652 A CN 200910194652A CN 200910194652 A CN200910194652 A CN 200910194652A CN 101639819 A CN101639819 A CN 101639819A
- Authority
- CN
- China
- Prior art keywords
- bus
- data
- pulse
- communication
- time
- 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.)
- Pending
Links
Landscapes
- Small-Scale Networks (AREA)
Abstract
采用脉冲间隔进行串行通信以及二芯带供电的总线系统,大容量的通信网络需要一套价廉物美的总线系统,本发明的二芯带供电总线使用普通双绞线,总线在提供直流电源时串一个电感线圈,自由拓扑结构,具有大容量的即时双向通信功能。二芯总线在通信时发送一串对地短路的窄脉冲,根据相邻二个脉冲的间隔时间来传送数据,利用单片微机自带的定时器和一些简单的元器件,就可发送通信的窄脉冲和捕获窄脉冲来接收数据,无需额外的集成电路,结构非常简单,而通信效率可达100%,这是一种大功率驱动的通信总线,抗干扰和带负载能力都很强,成本却比RS232还要低廉。
Description
技术领域
本发明涉及一种“串行通信”的新方法,以及相应配套实施的总线系统。
背景技术
在社区楼宇自动监控等领域需要节点地址达到G数量级的“大容量通信网络”,发明专利“大容量总线网络的分级通信管理”(专利申请号:200910055847.9)通过采用分级通信管理的办法,解决了“大容量通信网络”通信拥堵的问题,虽然这些方法可以通过改造原有的总线系统来实现,但要改变已经定下的通信标准还存在许多困难。特别是一些新发展起来的总线(如FoudationFieldbuS、LonWorks等)结构都很复杂,价格也就很高,大容量的使用投资太昂贵,缺乏实用价值。
为了“大容量通信网络”能够真正投入实际使用,需要设计一套结构简单、通信效率高、性能稳定而价格要低廉能满足大容量通信的总线系统。
采用“二芯带供电”形式无疑是最简单的总线结构,已有此类总线的通信都采用调频、调制等载波方式,需要增加外围集成电路才能完成通信,因此结构比较复杂。而且和其他串行通信一样只有0或1二种数据状态且每位宽度相同,如果干扰造成数据传送错误自己无法判别,必需在信息帧内增加“奇偶、CRC”校验之类的额外负担,造成通信效率低下。
发明内容
本发明“采用脉冲间隔进行串行通信”其通信的数据是由一串不同间隔的脉冲所组成,每位数据的状态是由相邻二个脉冲前沿的间隔时间来确定,这些数据状态与脉冲本身的宽度和幅度都无关;二进制数据的0和/或1有不同的间隔时间,且都有一段容许误差的区间范围。每种数据的状态可以与任何的脉冲间隔时间建立对应的确定关系,在一组确定的对应关系中,除了0或1二种数据状态外,还有通信“终止”等状态,超出正常的数据状态范围自然就是“错误”的状态;通信中的每一个脉冲都是下一位数据的起始同步信号,因此它是自同步串行通信,没有累积误差,容许连续发送一长串的数据位。
数据“0”和“1”可以按一定的比例与脉冲间隔时间建立对应的确定关系,如果令:数据“0”=T(单位间隔时间),则数据“1”=mT;这里的m可以取任意值,但要注意的是:m值大间隔时间就长,平均通信速度会变慢;m值太小“0”和“1”的分辨率就低,容易混淆不清造成错误,应该根据各种不同应用的实际情况综合考虑。下面推荐一组脉冲间隔时间与数据状态的对应关系作为分析的例子,它只是许多种可以实用的对应关系之一。
相邻二个脉冲的间隔时间所代表的数据状态之一组对应关系为:数据“0”=T,数据“1”=1.3125T(反向定义数据“1”和“0”也可以),“终止”≥1.5T,“错误”<0.875T;判数据0/1的分隔点=1.125T,相邻二个脉冲的间隔在0.875T~1.125T的区间都表示数据“0”,最大的容许误差=±12.5%,而在>1.125T~<1.5T的区间都表示数据“1”,最大的容许误差≤±14.2%;如果≥1.5T时间没有后续的脉冲则表示信息帧通信的“终止”,而脉冲的间隔<0.875T就超出正常的数据范围自然是“错误”的状态;单位间隔时间T决定了串行通信的平均传送速度,和公知的串行通信有多种“比特率”一样,可以根据需要自由选择。
CPU使用移位的方法作2^n乘除法最方便,上面不规则的BCD小数用CPU的二进制计算就很容易,0.875=1-1/8;1.125=1+1/8;1.3125=1+1/4+1/16;1.5=1+1/2。
上面推荐的这组脉冲间隔与数据的对应关系还充分考虑到“干扰”对数据的影响,由于自同步串行通信没有累积误差,可以采用信息帧的连续发送方式通信,发送第一个脉冲就是信息帧通信的起始信号,然后连续发送一长串脉冲间隔<1.5T的“0”或“1”数据位,整个信息帧发送完毕就停止输出,当≥1.5T时间没有后续的脉冲就表示信息帧通信的“终止”;一个信息帧是由n个数据字节组成,所以有8n位数据一起发送(如果是32位CPU就有32n位数据),接收到的正确数据也应该是8n位;通信时如果遇到会造成数据错误的干扰噪声,那一定是增加或减少了脉冲的数量(干扰噪声不能大幅度移动原来脉冲的位置),也就是增、减了接收到的数据位,造成数据总数不等于8n位,增加脉冲还会造成至少有一组脉冲的间隔时间<0.875T的“错误”状态,减少脉冲还会造成脉冲的间隔时间≥1.5T而提前“终止”;这种通信方式自己能100%的检测到数据传送中的错误状态,所以“信息帧”内不需要加入“奇偶、CRC”校验之类的额外负担,使其通信效率达到100%。
本发明的“二芯带供电的总线系统”特征是:二芯带供电总线使用普通双绞线,总线在提供直流电源时串接一个电感线圈,串电感的供电总线容许短暂的短路导通,短路后的总线电流是逐渐的增加;总线大部分时间保持高电平,高电平的时间>>低电平的时间,因此能提供充足的电源;电感线圈上可以并一个续流二极管,还可以在总线的二端间并联“浪涌吸收”元件;很多个需要通信的终端设备都可以按照自由拓扑结构方式挂接在此总线上,它们能从总线上获取电源,并通过对总线实施短暂的短路导通产生一串有间隔的窄脉冲发送数据,也能捕获总线上脉冲的跳变时间,同时能引发中断响应程序接收数据,具有双向通信的功能,本总线系统是按照前面介绍的采用脉冲间隔方式进行串行通信。
系统可选用低价的8位单片微机作为CPU,并尽量选用带多个可编程计数器阵列(PCA)定时器功能的单片微机,PCA的功能类似8052单片微机的T2定时器,特别适合采用脉冲间隔方式通信的高速输出驱动和捕获输入采样。自同步串行通信,没有累积误差,因此其容错率几乎等于它的最大容许误差(±12.5%)。这么高的容错率就可降低对硬件电路的要求,对传输电缆的延迟误差也有很好的包容,普通终端设备的CPU可以使用内部RC振荡器(省去外部晶振),通过采样有晶振主控设备的标准脉冲间隔时间,将误差校正到<±2%。
终端设备在连接总线处可并联“瞬变高电压”保护元件,一个能短时间容许≥5安培电流的N-MOSFET的D、S端并联在总线上,只要在G端施加触发电平就能对总线短路导通,在G端串接有高通滤波器,它保证N-MOSFET只能作短暂的导通。在需要串行通信时,CPU的一个定时器按照信息帧的数据位状态去控制脉冲输出的间隔时间,定时器的溢出会引发中断同时从输出口产生一个跳变电平,此跳变电平经高通滤波器去触发N-MOSFET对总线短路导通,几微秒后再由中断程序或高通滤波器发出关断N-MOSFET的电平信号,重复以上过程,就能连续发送一长串与信息帧数据有关的脉冲信号。总线上还接有电阻分压电路或RC高通滤波器,将通信时的脉冲信号耦合到CPU另外一个定时器的捕获输入端,总线上脉冲的下跳沿能引发CPU的中断同时捕获脉冲的下跳时间,中断程序根据所捕获的脉冲下跳时间计算出相邻二个脉冲的间隔时间(脉冲的间隔时间由相邻二个下跳的时间决定,脉冲宽度只要<间隔时间就与数据无关),并将它转换成数据位,把一长串数据位再串接起来,就能接收到一帧信息。
总线的主干线在转向与终端设备连接的支叉线处串接一个可恢复保险丝,这个可恢复保险丝的额定电流要小于0.5倍总线的额定电流,在支叉线上有短路故障时能断开和主干线的连接,但通信时短暂的短路导通不会造成这个可恢复保险丝的断开。
供电的总线上会有几安培的电流,通信时使用大电流的N-MOSFET对地短路导通来产生窄脉冲,这是一种大功率驱动的通信总线,因此带负载能力很强;这种大电流低内阻的通信总线有很强的抗干扰能力,容许和交流电源线穿在同一根电线管内,方便了现场布线,但二芯总线电缆的耐压和绝缘等级需要满足交流高压电的标准。
附图说明
二芯带供电总线系统连接图,图中:①总线供电部分,直流电源(U)串接一个可恢复保险丝(FUSE),并联一个滤波电容,再串接电感线圈(L)为总线提供电源,电感线圈上可以并一个续流二极管,还可以在总线的二端间并联“浪涌吸收”元件(可选1.5KE系列元件);②中继驱动设备,它有上下行二个物理上隔离的总线通道,分别连接在总线1和总线2上,能将总线1和总线2的通信数据进行中继、中转的驱动设备;③挂接在总线上的一种终端设备;④挂接在总线上的另一种终端设备,增加了一个桥式整流器就能无极性地连接到总线上,桥式整流器需要使用高频大电流的二极管;⑤挂接在总线上的一些终端设备;⑥挂接在总线上的另外一些终端设备,它们在总线端并联有保护稳压管(WD),可选用P4KE系列元件,对总线上的瞬变高压进行吸收保护。
如图所示,终端设备串接一个二极管和滤波电容,就能在滤波电容的二端获得直流电源,总线高电平时二极管导通对滤波电容充电,总线低电平时二极管关断,由滤波电容放电提供电源;总线高电平时间>>低电平时间,所有供电很充足。图中的DC-DC是三端稳压元件,为CPU等提供稳定的低压电源。
图中的N-MOSFET可选用2SK3065、APM2306A等型号产品(都是微小形状的贴片元件),其中2SK3065的额定电流2A,瞬间电流8A,耐压60V,SOT-89封装;APM2306A的额定电流3.5A,瞬间电流14A,耐压30V,SOT-23封装。它们的G端串接有RC微分电路组成的高通滤波器,保证N-MOSFET只能作短暂的导通,导通的时间常数由RC的参数决定;一个高电平的控制脉冲,通过高通滤波器就可以触发N-MOSFET作短暂的短路导通,在总线上产生一个低电平的窄脉冲。
图中的CPU可选用STC12C5624AD、STC12C5A60S2等型号产品(都是1T模式单片微机),它们有多个可编程计数器阵列(PCA)定时器,PCA的功能类似8052单片微机中的T2定时器,可以从PCA1的输出端口定时高速输出控制脉冲去触发N-MOSFET,在总线上产生一个个低电平的窄脉冲;在总线二端间通过电阻分压电路(如④号终端设备的电路)或RC高通滤波器(如③号终端设备的电路),将通信时的脉冲信号耦合到CPU的PCA0捕获输入端口,CPU就能捕获脉冲的跳变时间,同时能引发中断响应程序。它们还有模拟量采样(ADC)功能,可以检测总线上的电压,当电压过低时能发出欠压报警信号。它们的标准串行通信接口Txd和Rxd可以和其它通信设备进行连接,配一个RS232接口芯片就能和电脑连接通信,配一个RS485接口芯片就能连接到RS485总线上等等。
图中的各个终端设备都有自己不同的工作任务,附图中只画出了与本总线相关的连接电路部分,本总线主要是通过二芯双绞线为各个终端设备提供电源和相互通信的媒体。
总线的主干线在转向与终端设备连接的支叉线处串接一个可恢复保险丝(FUSE),这个可恢复保险丝的额定电流要小于0.5倍总线的额定电流,在支叉线上有短路故障时能断开和主干线的连接,从而保护主干线上其他设备能正常通信,但通信时短暂的短路导通不会造成这个可恢复保险丝的断开。
具体实施方式
相邻二个脉冲的间隔时间所代表的数据状态另外的一种约定:数据“0”=T,数据“1”=1.5T(反向定义数据“1”和“0”也可以),“终止”≥2T,“错误”<0.8T;取数据0/1的分隔点=1.2T,相邻二个脉冲的间隔在0.8T~1.2T的区间都表示数据“0”,而在>1.2T~<2T的区间都表示数据“1”,最大容许的误差约±20%;如果脉冲的间隔<0.8T自然就是“错误”的状态,而≥2T时间没有后续的脉冲表示信息帧通信的“终止”;单位T的时间长度是由通信速度来确定,就像公知的串行通信有不同的比特率(bps),可以根据需要自由选择。
下面结合附图详细叙述具体实施方式:附图中的CPU选用STC12C系列单片微机,它们有多个可编程计数器阵列(PCA)定时器,工作在1T模式,晶振为12MHz时,PCA的单位计数值t=12/μS;数据“0”=61μS=732t,数据“1”=80.1μS=961t,数据0/1的分隔点=68.6μS=824t,“终止”≥91.5μS=1098t,“错误”<53.4μS=641t,平均的串行通信速度约每秒14K位。
总线的电压(U)可以选择24V DC或12V DC,电流≤5安培,配相应容量的保险丝,电感线圈(L)≥1mH,很多个需要通信的终端设备都可以按照自由拓扑结构方式挂接在总线上,所有终端设备的平均工作电流之和必需小于总线的供电电流,总线的主干线在转向与终端设备连接的支叉线处串接一个0.5A可恢复保险丝。
图中的DC-DC是三端稳压元件,可以选用HT7150,它是CMOS工艺的芯片静态电流很小,为CPU等元件提供稳定的5V电源。N-MOSFET可选用2SK3065、APM2306A等型号产品。
所有终端设备都具有双向通信的功能,大家的通信权力平等都能随时发送数据,这种通信方式会有发送数据时的竞争和冲突,需要互相避让。
一、通信部分的软件
复位初始化程序,设置PCA0=16位捕获脉冲下跳沿时间模式,允许中断,PCA0端口为高阻抗输入;设置PCA1=16位软件定时器模式,允许中断,PCA1端口为推挽输出;启动PCA 16位时钟1T模式开始计时;开PCA中断并设置为最高优先级。
清总线通信状态字20H=#0,状态字中各位的内容:0位=1=通信有“错误”;1位=1=总线已接收到通信启动脉冲;2位=保留;3位=保留;4位=1=信息帧输出完成等终止位;5位=保留;6位=1=PCA1定时到判总线空闲就启动输出;7位=1=在高速发送信息。
……
zxh:软件看门狗65.5mS定时溢出
有接收到信息帧的标志,转到jsc1
需要发送信息帧到总线,转到zxfs
其它工作……
返回zxh作循环
jsc1:如果接收到的信息帧总位数≠8n位,返回zxh作循环
处理接收到的信息帧……
返回zxh作循环
zxfs:将需要发送的信息帧数据保存到发送缓冲区
设置需要发送信息帧的标志OEH=“1”(信息帧发送完毕清OEH状态位)
总线在“忙”(20H≠#0)返回zxh作循环
总线“空闲”关闭中断响应,在PCA1端口发一个通信启动脉冲,触发N-MOSFET作短暂的短路导通,2~8μS后关闭N-MOSFET令总线=高电平
取信息帧数据的第一位,根据0/1状态设置PCA1定时器值,数据“0”=61μS=732t,数据“1”=80.1μS=961t
如果总线=低电平有其它设备也在竞争发送,转fsjs返回,由中断程序接收数据通信状态字20H=#80H,7位=1=在高速发送信息,PCA1设置成定时高速输出模式读取并保存本次PCA0捕获的脉冲下跳沿的时间(有冲突时需要使用)清PCA0中断标志,正在发送脉冲不处理PCA0的脉冲捕获
fsjs:开启中断响应,返回zxh作循环
……
中断响应程序,定时器PCA中断入口
PCArk:有PCA1中断清标志,转到P1C(定时器PCA1到时间引发中断)
有PCA0中断清标志,转到POC(总线有脉冲下跳沿引发PCA0中断)
中断返回
P1C:如果7位=1=在高速发送信息,转到P1C7
如果6位=1=PCA1定时到判总线空闲就启动输出,转到P1C6
如果0位=1=通信有“错误”,转到P1C0
如果1位=0=总线无接收到通信启动脉冲,转到P1C0
至此已经接收完一帧信息,判接收到的数据位=8的整数倍?
如果接收到的数据位非8的整数倍,转到P1C0
将接收到的信息帧保存到接收完成缓冲区,设置接收到信息帧的标志
P1C0:清总线通信状态字20H=#0(总线=“空闲”)
如果有PCA0中断清标志,转到POC(总线有脉冲下跳沿引发PCA0中断)
如果OEH=“1”需要发送信息帧,转到P1FS(安排延迟发送信息帧)
中断返回
P1C4:信息帧发送完毕清OEH=“0”状态位
清总线通信状态字20H=#0(总线=“空闲”)
如果有PCA0中断清标志,转到POC(总线有脉冲下跳沿引发PCA0中断)
中断返回
P1C6:如果总线在“忙”=有PCA0中断清标志,转到POC接收数据
总线“空闲”,在PCA1端口发一个通信启动脉冲,触发N-MOSFET作短暂的短路导通,2~8μS后关闭N-MOSFET令总线=高电平
取信息帧数据的第一位,根据0/1状态设置PCA1定时器值,数据“0”=61μS=732t,数据“1”=80.1μS=961t
如果总线=低电平有其它设备也在竞争发送,转到POC接收数据
通信状态字20H=#80H,7位=1=在高速发送信息,PCA1设置成定时高速输出模式读取并保存本次PCA0捕获的脉冲下跳沿的时间(有冲突时需要使用)清PCA0中断标志,正在发送脉冲不处理PCA0的脉冲捕获中断返回
P1C7:如果4位=1=信息帧输出完成等终止位,“终止”等候91.5μS时间到,转到P1CAPCA1定时到高速输出高电平,软件延迟2~8μS再输出低电平,脉宽2~8μS读取并保存本次PCA0捕获的脉冲下跳沿的时间(有冲突时需要使用)清PCA0中断标志,正在发送脉冲不处理PCA0的脉冲捕获
如果信息帧全部发送完毕,设置4位=1=信息帧输出完成等终止位,PCA1设置成16位软件定时器模式(禁止高速输出),允许中断,转到POTZ(“终止”等候91.5μS)取需要发送的信息帧,读取当前需要发送的位,根据0/1状态设置PCA1定时器值,数据“0”=61μS=732t,数据“1”=80.1μS=961t
移位保存需要发送的信息帧
中断返回
P1FS:设置PCA1定时器值=常数+随机数(高优先权的信息,“常数”可以小一些)
延迟一段随机的等待时间再判总线空闲才开始发送信息帧,如果有多机参与竞争发送,不同的随机延迟可以相互避让,在延迟等待期间总线上如果有脉冲就立即进入接收状态。随机等待时间可以很小,让“在冲突中避让”技术来解决同时竞争的问题
通信状态字20H=#40H,6位=1=PCA1定时到判总线空闲就启动输出
中断返回
POC:如果7位=1=在高速发送信息,转到POER(在发送脉冲的间隔期间增加了脉冲)
读取本次PCA0捕获的脉冲下跳沿的时间
如果1位=1=总线已接收到通信启动脉冲,转到POJS
初始化数据接收工作,通信状态字20H=#02H,1位=1=总线已接收到通信启动脉冲
保存本次PCA0捕获的脉冲下跳沿的时间(下次数据的起始时间),转到POTZ
P0JS:如果0位=1=通信有“错误”,转到POTZ(有“错误”停止接收数据,等“终止”)
本次PCA0捕获的下跳时间-上次PCA0捕获的下跳时间=间隔时间
如果间隔时间<53.4μS=641t,设置0位=1=通信有“错误”的标志,转到POTZ
根据数据0/1的分隔点=68.6μS=824t,判读到的数据位=“0”或“1”
移位保存接收到的信息帧数据位
保存本次PCA0捕获的脉冲下跳沿的时间(下次数据位的起始时间)
如果有PCA0中断清标志,转到POC(总线有脉冲下跳沿引发PCA0中断)
POTZ:(正常数据0/1的间隔时间<91.5μS,通信中不断会有PCA0的中断)
设置PCA1定时器值=91.5μS=1098t,从本次PCA0捕获的脉冲下跳沿的时间起延时91.5μS,过了91.5μS没有PCA0的中断就能引发PCA1的中断,表示通信的“终止”中断返回
POER:PCA1设置成16位软件定时器模式(禁止高速输出),允许中断,停止发送将已经发送的数据转移到接收缓冲区(将已发送数据转为已接收数据)
移位恢复需要发送的信息帧数据(以后可以重新发送数据)
读取本次PCA0捕获的脉冲下跳沿的时间
通信状态字20H=#02H,1位=1=总线已接收到通信启动脉冲(转为接收状态)
停止发送,转到P0JS(转到接收处理程序去读数据和判“错误”状态)
注:在发送脉冲的间隔期间增加了脉冲,二种情况:遇到干扰或有多个节点(终端设备)同时启动发送数据所造成的冲突。先假定是多个节点同时启动发送数据所造成的冲突,它们在发送了一段相同数据后,由于数据0或1的间隔时间不一样,其中发数据“1”=80.1μS的节点在脉冲间隔等待期间,会收到另外节点发数据“0”=61μS的脉冲,需要实施“在冲突中避让”技术,将已发送的数据转为已接收的数据,移位恢复需要发送的信息帧数据,并将发送状态转为接收状态,再转到接收处理程序去读数据和判间隔时间<53.4μS是干扰造成的“错误”。如果不是干扰造成的“错误”,就能继续保持连续的通信。
背景技术CSMA/CD是带有冲突检测的CSMA,其基本原理是:当一个节点需要发送数据时,首先监听信道;如果信道空闲就发送数据,并继续监听;如果在数据发送过程中监听到了冲突,则立刻停止数据发送,并向总线发JAM阻塞信号,通知其它节点也停止发送,等待一段随机的时间后,重新开始尝试发送数据。
发送前的互相避让都相同,但在发送过程中CSMA/CD监听到有冲突,所有节点都会停止发送,延迟一段随机的时间后重新尝试发送数据。这样就浪费了总线的通信时间,会有新的节点加入竞争,增加冲突的概率,再冲突再浪费时间再有新节点加入竞争……甚至阻塞。
本发明的优点是,即使发生多个节点同时启动发送数据的冲突情况,也总会有一个节点能成功地完成信息帧的发送工作,“在冲突中避让”技术能始终保持高速的通信状态。
二、小容量通信网络
总线可以提供≤5安培的电流,一般终端设备使用CMOS芯片其平均工作电流≤10mA,这样一条总线可以连接≤500个终端设备,如果通信网络的设备数≤500个就只需要一条总线,附图中的“中继驱动设备”②就不需要了。
小容量通信网络可以使用“主、从排队查询”的通信方式,由一个主机循环查询各个分机建立通信关系,这样效率是低些,但没有总线的通信竞争冲突。
主机的CPU可以选用STC12C5A32S2配12MHz晶振,它的程序存储器和内存都很大,还有二个全双工UART串行通信接口,适合进行大规模的管理;分机的CPU选用STC12C5205AD不配晶振,使用内部RC振荡器,上电复位时能读到它的工作频率为11-15.5MHz,61μS对应的PCA计数值=工作频率/2^14,工作中还不断采样主机的标准间隔时间来校准自己的频率。
CPU还有模拟量采样的ADC功能,它的PCA还有PWM脉宽调制模式,控制输出的占空比来实现输出模拟量的DAC功能。它的闪存EEPROM可以随意修改并长期保存数据,这些丰富的功能都可用来实现智能控制的目的。
CPU所有I/O口都有二极管连接到Vcc和Vss进行双向过压保护,可以设置成4种模式,1、准双向模式,2、高阻抗输入模式,3、推挽输出模式,4、OC开漏输出模式。它的输入口有施密特防干扰功能,将PCA0设置成高阻抗输入模式,只需串一个电阻就能连接到总线上去采样有高压跳变的脉冲,它的双向过压保护和施密特防干扰功能保证可靠捕获脉冲的下跳沿;将PCA1设置成推挽输出模式,跳变的高电平脉冲有足够的输出电流去触发N-MOSFET可靠地导通。充分利用CPU的内部功能,简化通信部分的硬件结构来降低成本。
附图中的终端设备只使用PCA端口进行总线的通信,如果将它们的全双工UART串行通信接口Txd和Rxd和其它通信设备进行连接,就成为一个“总线转接口”设备,配一个RS232接口芯片就能和电脑连接通信,配一个RS485接口芯片就能连接到RS485总线上等等。
总线系统的通信方式前面已经有详细介绍,这里不再叙述。
三、大容量通信网络
本发明的目的之一是为“大容量通信网络”提供一套价廉物美的总线系统,这也是另外一项发明专利“大容量总线网络的分级通信管理”(专利申请号:200910055847.9)的具体实施方式之一部分,在引用到上述专利(简称:“分级通信专利”)内容时会有注明提示。
大容量通信网络不能使用“主、从排队查询”的通信方式,必需采用所有终端设备通信权力平等都能随时发送数据,这种方式当有2个以上设备同时需要发送信息时就会有冲突,这就要引入避让机制,前面介绍的“通信部分的软件”已经很好的解决了这个问题。
大容量通信网络需采用分级通信管理,这里有关键的“跨级中转连接”设备和“同级中继扩展”设备(参见“分级通信专利”说明),它们就是附图中“中继驱动设备”②。
附图中“中继驱动设备”②的CPU选用STC12C5624AD配24MHz晶振,PCA计数器工作在2T模式。CPU有4个PCA定时器组成上下行二个物理上隔离的总线通道,分别连接在总线1和总线2上。如果总线1和总线2是同级别的网络,那么它就作为“同级中继扩展”设备;否则,总线1和总线2是不同级别的网络,那么它就作为“跨级中转连接”设备。
这二种设备的硬件是一样的,但软件不一样,作为“跨级中转连接”设备只将下行总线通道中信息帧目标地址的区域超出本身所处的通信区域,才把这个信息帧往上行总线通道中转发送;它从上行总线通道接收到一个信息帧,如果目标地址的区域号和自己的区域号相同,才把这个信息帧往下行总线通道中转发送。而作为“同级中继扩展”设备就无须考虑不同级别的问题,可以中继转发上下行二个总线通道的全部信息帧。
前面“通信部分的软件”只介绍了下行总线通道的软件,它的工作原理与上行总线通道是一样的,只要把PCA0改成PCA2,PCA1改成PCA3,再复制一份类似的软件就能控制上行总线通道的通信工作。输出脉冲的前跳沿由PCA自动高速产生,而后跳沿由中断程序软件产生,当有二个通道同时需要输出时,软件很难保证把二个通道的脉冲宽度都控制在10μS以内,这就需要依靠高通滤波器来控制N-MOSFET的导通时间<10μS。脉冲本身的宽度不会影响串行通信的数据状态,控制脉冲宽度目的是控制总线的短路时间,防止电流过大。
如果是在最低层一级网络中的“同级中继扩展”设备,它还能将下行总线通道的终端设备切割成一个“局部小块”,还要按照“局部小块”的管理办法进行通信中继转发(参见“分级通信专利”的说明)。为了减少总线在通信中的竞争和冲突,物理上连接在一起的终端设备不要超过256个,这样总线的额定电流可以≤3安培。需要大电流供电的设备,可以从另外的供电线上获取电源,二芯带供电的总线只对小功率设备提供电源。
增加“同级中继扩展”设备可以扩展终端设备的数量和延长通信的距离。“同级中继扩展”设备采用接收、存储和转发的模式工作,每经过一次转发都有一段延迟时间。
“跨级中转连接”设备的上行总线通道连接的总线1往往是户外长距离的通信总线,这时就需要在“跨级中转连接”设备和总线1连接处增加光电耦合隔离元件,这个光电耦合元件所需要的电源应该分别从二边获取,使它们在电气上完全隔离。直接连接在总线1上的终端设备都要增加“瞬变高电压”保护稳压管(WD),对总线上的瞬变高压进行吸收保护。
附图中的“中继驱动设备”②可以安装在电源箱内,电源箱带蓄电池作为后备电源,使用CPU智能控制蓄电池的充放电,延长蓄电池的使用寿命。主电源箱具有光耦隔离的“跨级中转连接”功能,辅电源箱有信号“同级中继扩展”功能。所有安防报警信号都是通过电源箱中继、中转到高级网络,所以电源箱需安装在隐蔽安全的地方,而且带防拆、掉电、欠压等报警功能。
大容量分级通信网络可采用“不等长地址分配”(详情请参见“分级通信专利”的说明)的方法,通信量大的各级网络“主控管理设备”使用>=0C0H单字节的节点地址,其中0CxH=一级网络,0DxH=二级网络,0ExH=三级网络,0F0H~0FDH=四级互联网,0FEH=调试设备,0FFH=空=广播地址,其他“终端设备”都使用二字节0000H~9FFFH的节点地址。在通信最繁忙的一级网络内部通信时,使用短的节点地址可以提高通信效率。如需要跨网络级别通信时,可逐步在节点地址前面增加表示其所在区域的附加地址,前加二字节0AxxxH的地址表示二级网络的区域号;再前加二字节0BxxxH的地址表示三级网络的区域号。这种分配方式的地址容量达687G,并在可变长度地址的首字节(8bit)就能判别其地址串的网络级别和字节长度,使得分级通信管理非常方便。
实用中,“跨级中转连接”设备也有自己的地址和区域号,通信的信息帧内有目标地址和讲者地址,它们都按照“不等长地址分配”的格式表示。“跨级中转连接”设备从下行总线通道接收的信息帧,如果目标地址的区域超出本身所处的通信区域,才把这个信息帧往上行总线通道中转发送,并在讲者地址前面加上本地的区域号;它从上行总线通道接收到一个信息帧,如果目标地址的区域号和自己的区域号相同,才把这个信息帧往下行总线通道中转发送,并把目标地址前面的区域号删除,最终的目标地址只有一、二字节的节点地址。终端设备只需判别此一、二字节的目标节点地址是否和自己的地址匹配,就能建立通信联系。
本发明的有益效果是:新发明的“采用脉冲间隔进行串行通信”模式,除了0或1二种数据状态还有“错误”和“终止”等状态,在接收数据时就能判别数据是否出错,不再需要额外的校验码,再加上“自同步”功能没有累积误差,容许信息帧的一长串数据位连续发送,其通信效率接近100%。配套的“二芯带供电的总线系统”结构简单、性能稳定而价格低廉(硬件的成本比RS232还要低廉),其大功率驱动的通信总线,带负载能力很强,符合大容量通信网络的需求。所有终端设备通信权力平等都能随时发送数据,本发明的互相避让规则,发送数据时也监听总线是否有干扰或冲突,遇到干扰立即停止发送,否则即使发生多个节点同时启动发送数据的冲突情况,也总会有一个节点能成功地完成信息帧的发送工作,“在冲突中避让”技术能始终保持高速的通信状态。这种大电流低内阻的总线有很强的抗干扰能力,容许和交流电源线穿在同一根电线管内,方便了现场布线。结合“分级通信专利”就可以组建低成本大容量的总线网络,能实际投放到社区楼宇自动监控等领域使用。
Claims (10)
1、一种采用脉冲间隔进行串行通信,串行通信是将二进制数据的0或1一位一位的进行传送,本发明其特征是:串行通信的数据由一串不同间隔的脉冲来传送,传送的每位数据是由相邻二个脉冲前沿的间隔时间来确定,这些数据的状态与脉冲本身的宽度和幅度都无关;二进制数据的0和/或1有不同的间隔时间,且都有一段容许误差的区间范围。
2、根据权利要求1所述的采用脉冲间隔进行串行通信,其特征是:每种数据的状态可以与任何的脉冲间隔时间建立对应的确定关系,在一组确定的对应关系中,不但有0或1二种数据状态,还可有通信“终止”等状态,超出正常的数据状态范围自然就是“错误”的状态;通信中的每一个脉冲都是下一位数据的起始同步信号,因此它是自同步串行通信,没有累积误差,容许连续传送一长串的数据位。
3、根据权利要求1所述的采用脉冲间隔进行串行通信,其特征是:相邻二个脉冲的不同间隔时间与数据状态的对应关系可以有很多种组合,推荐一组对应关系为:数据“0”=T,数据“1”=1.3125T(反向定义数据“1”和“0”也可以),“终止”≥1.5T,“错误”<0.875T;判数据0/1的分隔点=1.125T,相邻二个脉冲的间隔在0.875T~1.125T的区间都表示数据“0”,最大的容许误差=±12.5%,而在>1.125T~<1.5T的区间都表示数据“1”,最大的容许误差≤±14.2%;如果≥1.5T时间没有后续的脉冲则表示通信的“终止”,而脉冲的间隔<0.875T就超出正常的数据范围自然是“错误”的状态;单位间隔时间T决定了串行通信的平均传送速度,和公知的串行通信有多种“比特率”一样,可以根据需要自由选择。
4、根据权利要求3所述的采用脉冲间隔进行串行通信,其特征是:可以采用信息帧的连续发送方式通信,发送第一个脉冲就是信息帧通信的起始信号,然后连续发送一长串脉冲间隔<1.5T的“0”或“1”数据位,整个信息帧发送完毕就停止输出,当≥1.5T时间没有后续的脉冲就表示信息帧通信的“终止”;一个信息帧是由n个数据字节组成,所以有8n位数据一起发送,接收到的正确数据也应该是8n位;通信时如果遇到会造成数据错误的干扰噪声,那一定是增加或减少了脉冲的数量,也就是增、减了接收到的数据位,造成数据总数不等于8n位,增加脉冲还会造成至少有一组脉冲的间隔时间<0.875T的“错误”状态,减少脉冲还会造成脉冲的间隔时间≥1.5T而提前“终止”;这种通信方式自己能100%的检测到数据传送中的错误状态,所以“信息帧”内不需要加入“奇偶、CRC”校验之类的额外负担,使其通信效率达到100%。
5、一种二芯带供电的总线系统,很多个需要通信的终端设备可以通过总线的形式连接在一起进行相互通信,本发明其特征是:二芯带供电总线使用普通双绞线,总线在提供直流电源时串接一个电感线圈,串电感的供电总线容许短暂的短路导通,短路后的总线电流是逐渐的增加;总线大部分时间保持高电平,高电平的时间>>低电平的时间,因此能提供充足的电源;很多个需要通信的终端设备都可以按照自由拓扑结构方式挂接在此总线上,它们能从总线上获取电源,并通过对总线实施短暂的短路导通产生一串有间隔的窄脉冲发送数据,也能捕获总线上脉冲的跳变时间,同时能引发中断响应程序接收数据,具有双向通信的功能,本总线系统是按照权利要求1所述的采用脉冲间隔进行串行通信。
6、根据权利要求5所述的二芯带供电的总线系统,其特征是:总线所串接的电感线圈上可以并一个续流二极管,还可以在总线的二端间并联“浪涌吸收”元件;总线的主干线在转向与终端设备连接的支叉线处串接一个可恢复保险丝,这个可恢复保险丝的额定电流要小于0.5倍总线的额定电流,在支叉线上有短路故障时能断开和主干线的连接,但通信时短暂的短路导通不会造成这个可恢复保险丝的断开。
7、根据权利要求5所述的二芯带供电的总线系统,其特征是:每个终端设备都有二根导线和相同极性的二芯总线连接,如果在终端设备与二芯总线相连接处串一桥式整流器,就能无极性地连接到总线上;通过二极管连接到滤波电容就能从总线上获取电源;一个短时间容许≥5安培电流的N-MOSFET的D端接总线正极,S端接总线负极,只要在G端施加触发电平就能对总线短路导通,在G端串接有高通滤波器,它保证N-MOSFET只能作短暂的导通;选用带有多个可编程计数器阵列(PCA)定时器功能的单片微机作为终端设备的CPU,一个定时器能定时输出跳变电平经高通滤波器去触发N-MOSFET对总线短路导通;在总线二端间通过电阻分压电路或RC高通滤波器,将通信时的脉冲信号耦合到CPU另外一个定时器的捕获输入端,CPU就能捕获总线上脉冲的跳变时间,同时能引发中断响应程序。
8、根据权利要求7所述的二芯带供电的总线系统,其特征是:在需要串行通信时,CPU的定时器按照信息帧的数据位状态去控制脉冲输出的间隔时间,定时器的溢出会引发中断同时从输出口产生一个跳变电平,此跳变电平经高通滤波器去触发N-MOSFET对总线短路导通,几微秒后再由中断程序或高通滤波器发出关断N-MOSFET的电平信号,重复以上过程,就能连续发送一长串与信息帧数据相关的脉冲信号;总线上脉冲的下跳沿能引发CPU的中断同时捕获脉冲的下跳时间,中断程序根据所捕获的脉冲下跳时间计算出相邻二个脉冲的间隔时间,并将它转换成数据位,把一长串数据位再串接起来,就能接收到一帧信息;这些脉冲的间隔时间所代表的数据位状态,需符合权利要求3或其它约定的数据位标准。
9、根据权利要求8所述的二芯带供电的总线系统,其特征是:所有终端设备通信权力平等都能随时发送数据,需要互相避让,发送数据前先判总线有空闲再发送,如果总线“忙”就等通信结束后再延迟一段随机的等待时间来互相避让,在延迟等待期间总线上如果有脉冲就立即进入接收状态,延迟等待时间到了还要判总线有空闲再开始发送;开始发送数据后继续监听总线是否有冲突或干扰,如果发现有增加的脉冲,先假定是多个终端设备同时启动发送数据所造成的冲突,由于数据0或1的间隔时间不一样会增加脉冲,需要实施“在冲突中避让”技术,将已发送的数据转为已接收的数据,移位恢复需要发送的信息帧数据,并将发送状态转为接收状态,再转到接收处理程序去读数据和判是干扰造成的“错误”。
10、根据权利要求5所述的二芯带供电的总线系统,其特征是:附图中“中继驱动设备”②利用CPU内部4个PCA定时器组成上下行二个物理上隔离的总线通道,分别连接在总线1和总线2上,可以根据通信的需要,有选择的将总线1和总线2二边的信息帧进行中继驱动转发;还可以在其上行总线通道和总线1连接处增加光电耦合隔离元件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910194652A CN101639819A (zh) | 2009-08-27 | 2009-08-27 | 采用脉冲间隔进行串行通信以及二芯带供电的总线系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910194652A CN101639819A (zh) | 2009-08-27 | 2009-08-27 | 采用脉冲间隔进行串行通信以及二芯带供电的总线系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101639819A true CN101639819A (zh) | 2010-02-03 |
Family
ID=41614804
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910194652A Pending CN101639819A (zh) | 2009-08-27 | 2009-08-27 | 采用脉冲间隔进行串行通信以及二芯带供电的总线系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101639819A (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102130453A (zh) * | 2010-11-04 | 2011-07-20 | 北京鼎汉技术股份有限公司 | 一种在线并联交流电源模块输出高精度同步信号的方法 |
CN104040904A (zh) * | 2011-10-24 | 2014-09-10 | 瓦列里·瓦西里耶维奇·奥夫奇尼科夫 | 双电线通信线路的电源 |
CN105024730A (zh) * | 2015-07-24 | 2015-11-04 | 北京迎希科技有限公司 | 基于双绞线的时分复用系统 |
CN105765873A (zh) * | 2013-10-25 | 2016-07-13 | 威拓股份有限公司 | 用于在总线上提供脉冲电能和数据的方法和系统 |
CN105933195A (zh) * | 2016-04-27 | 2016-09-07 | 熊运轩 | 采用pwm编解码技术的无极性总线通信技术 |
US9502079B2 (en) | 2011-02-01 | 2016-11-22 | 3M Innovative Properties Company | Passive interface for an electronic memory device |
CN106209496A (zh) * | 2016-06-23 | 2016-12-07 | 珠海格力电器股份有限公司 | 一种通信异常检测装置及方法 |
CN107493156A (zh) * | 2016-11-24 | 2017-12-19 | 天地融科技股份有限公司 | 传输参数获取方法及终端 |
CN108351383A (zh) * | 2015-11-10 | 2018-07-31 | 奥幂电子有限公司 | 用电池运行的继电器测试设备1 |
CN108353011A (zh) * | 2015-11-06 | 2018-07-31 | 大众汽车有限公司 | 用于诊断短路的总线系统和方法 |
CN108521854A (zh) * | 2017-05-17 | 2018-09-11 | 深圳市大疆创新科技有限公司 | 通信控制方法、通信主设备和通信系统 |
CN110489373A (zh) * | 2019-08-21 | 2019-11-22 | 格威半导体(厦门)有限公司 | 一种串行隔离通信方法、装置及系统 |
CN110515880A (zh) * | 2019-08-22 | 2019-11-29 | 烟台东方威思顿电气有限公司 | 一种提高光耦隔离串行通信速率的方法 |
CN113064845A (zh) * | 2021-04-28 | 2021-07-02 | 晶澄微电子(宁波)有限公司 | 一种用于与防伪安全芯片单线通信的实现方法 |
CN114157641A (zh) * | 2021-11-30 | 2022-03-08 | 陕西中源智控科技有限公司 | 基于脉宽通信的控制设备地址自动生成系统及方法 |
CN114900394A (zh) * | 2022-06-22 | 2022-08-12 | 汉威科技集团股份有限公司 | 一种电源通信二总线的调制解调方法 |
-
2009
- 2009-08-27 CN CN200910194652A patent/CN101639819A/zh active Pending
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102130453B (zh) * | 2010-11-04 | 2013-06-05 | 北京鼎汉技术股份有限公司 | 一种在线并联交流电源模块输出高精度同步信号的方法 |
CN102130453A (zh) * | 2010-11-04 | 2011-07-20 | 北京鼎汉技术股份有限公司 | 一种在线并联交流电源模块输出高精度同步信号的方法 |
US9502079B2 (en) | 2011-02-01 | 2016-11-22 | 3M Innovative Properties Company | Passive interface for an electronic memory device |
CN104040904A (zh) * | 2011-10-24 | 2014-09-10 | 瓦列里·瓦西里耶维奇·奥夫奇尼科夫 | 双电线通信线路的电源 |
CN105765873B (zh) * | 2013-10-25 | 2018-11-13 | 威拓股份有限公司 | 用于在总线上提供脉冲电能和数据的方法和系统 |
CN105765873A (zh) * | 2013-10-25 | 2016-07-13 | 威拓股份有限公司 | 用于在总线上提供脉冲电能和数据的方法和系统 |
CN105024730B (zh) * | 2015-07-24 | 2018-11-02 | 北京迎希科技有限公司 | 基于双绞线的时分复用系统 |
CN105024730A (zh) * | 2015-07-24 | 2015-11-04 | 北京迎希科技有限公司 | 基于双绞线的时分复用系统 |
CN108353011A (zh) * | 2015-11-06 | 2018-07-31 | 大众汽车有限公司 | 用于诊断短路的总线系统和方法 |
CN108353011B (zh) * | 2015-11-06 | 2021-09-24 | 大众汽车有限公司 | 用于诊断短路的总线系统和方法 |
CN108351383A (zh) * | 2015-11-10 | 2018-07-31 | 奥幂电子有限公司 | 用电池运行的继电器测试设备1 |
CN105933195A (zh) * | 2016-04-27 | 2016-09-07 | 熊运轩 | 采用pwm编解码技术的无极性总线通信技术 |
CN106209496A (zh) * | 2016-06-23 | 2016-12-07 | 珠海格力电器股份有限公司 | 一种通信异常检测装置及方法 |
CN107493156B (zh) * | 2016-11-24 | 2020-04-10 | 天地融科技股份有限公司 | 传输参数获取方法及终端 |
CN107493156A (zh) * | 2016-11-24 | 2017-12-19 | 天地融科技股份有限公司 | 传输参数获取方法及终端 |
CN108521854A (zh) * | 2017-05-17 | 2018-09-11 | 深圳市大疆创新科技有限公司 | 通信控制方法、通信主设备和通信系统 |
CN110489373A (zh) * | 2019-08-21 | 2019-11-22 | 格威半导体(厦门)有限公司 | 一种串行隔离通信方法、装置及系统 |
CN110515880A (zh) * | 2019-08-22 | 2019-11-29 | 烟台东方威思顿电气有限公司 | 一种提高光耦隔离串行通信速率的方法 |
CN110515880B (zh) * | 2019-08-22 | 2021-06-04 | 烟台东方威思顿电气有限公司 | 一种提高光耦隔离串行通信速率的方法 |
CN113064845A (zh) * | 2021-04-28 | 2021-07-02 | 晶澄微电子(宁波)有限公司 | 一种用于与防伪安全芯片单线通信的实现方法 |
CN114157641A (zh) * | 2021-11-30 | 2022-03-08 | 陕西中源智控科技有限公司 | 基于脉宽通信的控制设备地址自动生成系统及方法 |
CN114157641B (zh) * | 2021-11-30 | 2023-10-27 | 陕西中源智控科技有限公司 | 基于脉宽通信的控制设备地址自动生成系统及方法 |
CN114900394A (zh) * | 2022-06-22 | 2022-08-12 | 汉威科技集团股份有限公司 | 一种电源通信二总线的调制解调方法 |
CN114900394B (zh) * | 2022-06-22 | 2023-10-27 | 汉威科技集团股份有限公司 | 一种电源通信二总线的调制解调方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101639819A (zh) | 采用脉冲间隔进行串行通信以及二芯带供电的总线系统 | |
CN100376093C (zh) | 局域网络及切换器、用于切换器的方法、服务节点的方法 | |
CN109993958A (zh) | 一种rs485总线的数据采集系统及方法 | |
CN106530672A (zh) | 用电信息采集查询系统、采集方法及查询方法 | |
CN101707571A (zh) | 一种电力线、无线双网路由方法 | |
RU2005138024A (ru) | Топология сети и способ маршрутизации пакетов с использованием электропроводки низкого напряжения | |
CN102325065A (zh) | 一种双通道的数字家庭控制及交互系统及实现方法 | |
CN111929634B (zh) | 基于n线的信号注入拓扑识别装置及方法 | |
CN109818423A (zh) | 一种基于主动服务管理模式的智能运维配用电系统 | |
CN102420871B (zh) | 一种网络数据采集器 | |
CN106788737A (zh) | 光纤采集单元及电表数据采集方法 | |
CN106652428A (zh) | 用电信息采集系统及采集方法 | |
CN103227758A (zh) | 一种光纤以太网交换机及控制方法 | |
CN206370154U (zh) | 用电信息采集查询系统 | |
CN104283587A (zh) | 一种具有共模电流抑制能力的能量与信息时分复合传输系统 | |
CN210167853U (zh) | 配电自动化终端 | |
CN209572023U (zh) | 一种基于Zigbee无线通信的协议转换装置 | |
CN109194322A (zh) | Rs485高速通讯电容式隔离电路及其性能测试方法 | |
CN214663926U (zh) | 一种Hi-POE供电的路灯 | |
CN213957869U (zh) | 一种互联网网关电路 | |
CN205051721U (zh) | 以太网交换装置 | |
CN206370832U (zh) | 光纤采集单元 | |
CN201526314U (zh) | 测井电缆复用转换装置 | |
CN206370147U (zh) | 用电信息采集系统 | |
CN101520764A (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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20100203 |