一种串行总线系统及地址分配方法_2

文档序号:9274456阅读:来源:国知局
过逻辑程序控制Q管脚的输出特定与之前所述的延时电路完全一致。
[0063]在上述本发明公开的实施例的基础上,本发明还公开了一种地址分配方法,将通过以下实施例进行详细说明。
[0064]请参阅附图4,为本发明公开的一种地址分配方法实施例1流程示意图,所述方法应用于前面所述的串行总线系统,该方法具体包括:
[0065]S101,为起始节点分配初始地址Si。
[0066]需要说明的是,初始地址Si可以为任意值,优选的可以为O或I。
[0067]S102,起始节点在脉冲信号线上发出一个脉冲,并在时钟线上发出周期为T的方波。
[0068]其中,所述脉冲的持续时间小于所述周期T。
[0069]S103,当前节点计算接收到所述脉冲和所述方波的时间差。
[0070]所述当前节点为除所述起始节点之外的其他节点中的任意一个节点。
[0071]具体的,从所述方波的第一个上升沿开始计时,到当前节点接收到的脉冲信号发生第一个上升沿时结束,获取当前节点的计时时间△ T作为所述时间差。
[0072]S104,当前节点根据所述初始地址Si以及所述时间差计算自身地址。
[0073]具体的,根据公式sn = sl+(AT+T_t)/T计算当前节点的地址,其中,η为当前节点的顺序号,t为延时电路的延时时间,t < T/2。
[0074]本实施例公开的地址分配方法,起始节点在时钟线及脉冲信号线上同时发送信号,其他节点根据接收到的两个信号的时间差计算出各自的地址。各节点的CPU不参与其他节点的地址分配过程,因此,即使串行总线上的某个节点故障或不在线,也不会影响其他节点的地址分配。
[0075]另外,本实施例给出了如下示例详细描述上述方法。
[0076]请参阅附图5,为本示例中的串行总线系统结构示意图,该串行总线系统包括4个节点(节点1、节点2、节点3和节点4),相邻两个节点之间连接有I个延时电路,延时电路具有脉冲信号输入端(D)、时钟信号输入端(CLK)以及输出端(Q)。为方便描述,将四个节点的第一输出端连接的脉冲信号线分别命名为D、Ql、Q2和Q3。时钟信号线为CLK。
[0077]地址分配的具体过程如下:
[0078]节点I作为起始节点,自动分配地址为si = I。
[0079]当需要分配地址时,节点I先在D线上发出I个脉冲,然后再在CLK线上发出周期为T的方波。其中脉冲信号线上脉冲的持续时间小于T、
[0080]经过多个延时电路后,Q1、Q2、Q3端口的电平变化如图6所示。其中延时电路的延时时间t经过调节,保证t < T/2。
[0081]节点2监控CLK线和Ql线的电平变化过程,从CLK线电平发生第I个上升沿开始计时,到Ql线电平发生上升沿时结束。由于节点I与节点2之间有I个延时电路,因此计时时间为t。
[0082]节点3监控CLK线和Q2线的电平变化过程,从CLK线电平发生第I个上升沿开始计时,到Q2线电平发生上升沿时结束。由于节点I与节点3之间有2个延时电路,因此计时时间为t+T。
[0083]节点4监控CLK线和Q3线的电平变化过程,从CLK线电平发生第I个上升沿开始计时,到Q3线电平发生上升沿时结束。由于节点I与节点4之间有3个延时电路,因此计时时间为t+2T。
[0084]节点2、节点3、节点4根据计算公式:sn = si+( Δ T+T_t)/T,得到各自的地址,分别为2、3、4。ΔΤ为各节点各自记录得到的计时时间。
[0085]如果存在节点5、节点6,,……,可以按照上述方法类推,即可得到所有节点的地址。
[0086]需要说明的是,本发明目前具体应用于工业控制系统中,在实现案例中,控制器承担节点I的角色,各从站承担节点2、节点3、……的角色。
[0087]上述控制器和从站均使用统一的接口端子设计,例如标准的DB9、DB15端子。在接口端子内部集成了延时电路。具体可参见图7所示。
[0088]根据上述设计,由于延时电路集成在了接口端子内,而接口端子对于节点是独立的部件。因此,当某个从站发生故障或不在线时,只要相应的接口端子存在,控制器仍然能够对其余节点正常进行地址分配。而且当故障或不在线的从站恢复正常后,只要控制器重新发起分配地址,该从站其也能得到地址,且不会影响其它已分配到地址的从站。
[0089]综上所述:
[0090]本发明公开了一种串行总线系统和地址分配方法,串行总线上的多个节点通过时钟线及脉冲信号线连接,并且,相邻两个节点之间设置有延时电路,起始节点在时钟线及脉冲信号线上同时发送信号,其他节点根据接收到的两个信号的时间差计算出各自的地址。各节点的CPU不参与其他节点的地址分配过程,因此,即使串行总线上的某个节点故障或不在线,也不会影响其他节点的地址分配。
[0091]本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0092]另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0093]通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本发明而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0094]综上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照上述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对上述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
【主权项】
1.一种串行总线系统,其特征在于,包括: 串接有多个节点的串行总线、时钟线以及脉冲信号线; 相邻两个节点之间设置有延时电路; 其中,任意两个相邻节点之间的连接方式具体如下: 第一节点的第一端口通过所述脉冲信号线连接延时电路的脉冲信号输入端,所述延时电路的输出端通过所述脉冲信号线连接第二节点的第一端口; 第一节点的第二端口通过所述时钟线连接延时电路的时钟信号输入端后,连接第二节点的第二端口; 所述延时电路的时钟信号输入端发生上升沿变化的预设时间之后,所述延时电路的输出端为延时电路的脉冲信号输入端在时钟信号输入端发生上升沿变化的时刻的状态;所述延时电路的时钟信号输入端未发生上升沿变化时,所述延时电路的输出端的状态不改变。2.根据权利要求1所述的系统,其特征在于,所述延时电路包括: D触发器和RC电路; 其中,所述RC电路由电阻(R)和电容(C)组成; D触发器的第一输入端(DO)为所述延时电路的脉冲信号输入端; D触发器的第二输入端(CLKO)为所述延时电路的时钟信号输入端; D触发器的输出端(QO)与所述RC电路的电阻一端相连,所述RC电路的电阻的另一端连接所述RC电路的电容的一端后为所述延时电路的输出端;所述RC电路的电容的另一端接地。3.根据权利要求1所述的系统,其特征在于,所述延时电路采用可编程逻辑器件构建。4.一种地址分配方法,其特征在于,应用于权利要求1?3中任意一项所述的串行总线系统,所述方法包括: 为起始节点分配初始地址si ; 起始节点在脉冲信号线上发出一个脉冲,并在时钟线上发出周期为T的方波,其中所述脉冲的持续时间小于所述周期T ; 当前节点计算接收到所述脉冲和所述方波的时间差;所述当前节点为除所述起始节点之外的其他节点中的任意一个节点; 当前节点根据所述初始地址Si以及所述时间差计算自身地址。5.根据权利要求4所述的方法,其特征在于,所述当前节点计算接收到所述脉冲和所述方波的时间差具体包括: 从所述方波的第一个上升沿开始计时,到当前节点接收到的脉冲信号发生第一个上升沿时结束,获取当前节点的计时时间△ T作为所述时间差。6.根据权利要求5所述的方法,其特征在于,所述根据所述初始地址Si以及所述时间差计算自身地址具体包括: 根据公式sn = sl+(AT+T-t)/T计算当前节点的地址,其中,η为当前节点的顺序号,t为延时电路的延时时间,t < T/2。7.根据权利要求4?6任一项所述的方法,其特征在于,所述初始地址Si为O。8.根据权利要求4?6任一项所述的方法,其特征在于,所述初始地址Si为I。
【专利摘要】本发明公开了一种串行总线系统和地址分配方法,串行总线上的多个节点通过时钟线及脉冲信号线连接,并且,相邻两个节点之间设置有延时电路,起始节点在时钟线及脉冲信号线上同时发送信号,其他节点根据接收到的两个信号的时间差计算出各自的地址。各节点的CPU不参与其他节点的地址分配过程,因此,即使串行总线上的某个节点故障或不在线,也不会影响其他节点的地址分配。
【IPC分类】G06F13/42
【公开号】CN104991881
【申请号】CN201510434202
【发明人】张国亮, 陈健, 吕炜, 曹焱, 王文伟
【申请人】浙江中控技术股份有限公司
【公开日】2015年10月21日
【申请日】2015年7月22日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1