一种总线架构的制作方法

文档序号:6626876阅读:194来源:国知局
一种总线架构的制作方法
【专利摘要】一种总线架构,涉及通信总线【技术领域】,特别是属于一种具备多主机支持的高性能串行总线。其特征在于,具有三根双向信号线,一根是总线占用标志线EN,一根是数据线DATA,还有一根是时钟线CLK,总线通过上拉电阻接正电源;上述信号线挂接总线模块,总线模块上设置多种不同类型的接口;用户端通过总线模块挂接各种设备;具有避免了使用时安装各种类型的总线、节省布线成本、后期维护简单、可靠性高的积极效果。
【专利说明】一种总线架构

【技术领域】
[0001]本发明涉及通信总线【技术领域】,特别是属于一种具备多主机支持的高性能串行总线。

【背景技术】
[0002]目前现阶段普遍使用的通讯线如SPI通信线、I2C线、串口线等多是单一功能的总线,不能实现多种设备同时进行工作、同时挂接多种总线模块等功能,在实际使用中,如果需要挂接传感器,又要实现串口通信,同时还要实现SPI通信等工作时只能根据情况使用安装不同类型的总线,才能完成工作,具有安装与检修复杂,维护成本高等缺陷。


【发明内容】

[0003]本发明的目的即在于提供一种总线架构,以达到实现同时挂接不同通信速度的设备、兼容多种挂接方式、通用性强的目的。
[0004]本发明所公开的一种总线架构,其特征在于,具有三根双向信号线,一根是总线占用标志线EN,一根是数据线DATA,还有一根是时钟线CLK,总线通过上拉电阻接正电源;上述信号线挂接总线模块,总线模块上设置多种不同类型的接口 ;用户端通过总线模块挂接各种比如传感器、主机、定时器等设备。
[0005]当总线空闲时,EN线为高电平,DATA线与CLK线也默认置为高电平,此时,挂接到总线上的任一设备输出的低电平,都将使得对应总线信号变低,即总线模块与相应总线是线“与”关系;每个接到总线上的设备都有唯一的一个8位地址。
[0006]上述总线架构的数据传送方式:
1、发送开始标志:总线在发送数据前,先将EN线拉低,使得总线处于“忙”状态,此时总线上的其它主机设备将无法使用总线;
2、传送数据:在CLK处于高电平状态期间,将数据位放到DATA线上,维持DATA总线上的数据,直到下一次CLK高电平到来后,再将另一位数据放到DATA总线上,如此反复,直到将所有数据传送完毕;数据传送完毕后,DATA线与CLK线均被拉高;
3、数据结束标志:当数据传送完毕后,在下一个CLK时钟下降沿到来之前,将EN总线拉高,CLK保持1-2个时钟周期,在这期间同时等待DATA线返回的ACK信号,如果未等到ACK信号,则数据发送失败,并置相应总线错误标志;
4、发送的数据包含以下几个部分:目标主机地址+源主机地址+有效数据+校验数据;
5、数据发送的顺序是:
<1>先发送字节的低位,再发送字节的高位;
<2>先发送低字节数据,再发送高字节数据。
[0007]上述总线的数据接收方式:
1、挂接在总线上的所有其它处于非发送状态的主机,在总线时钟CLK下降沿接收总线数据,并判断地址与自身地址是否相符,如果相符,则接收剩余数据,如果不相符,则自动清除已接收的数据,清空接收缓冲区;
2、当判断地址相符,并接收完剩余的数据后,将立即进行数据校验,如果校验结果正确,则在下一次时钟下降沿到来时,将立即拉低DATA线一个或几个总线时钟半周期,作为数据正确接收的ACK信号,发送方依据这个信号来判断数据是否成功发送完成。
[0008]上述总线的抢占与仲裁机制:
1、需要使用总线的主机首先检测EN线,如果总线“忙”,则随机等待一个很短的时间再重新检测总线,如此反复,直到检测到总线“空闲”或者达到设定的检测次数的上限,自动放弃本次总线请求为止;
2、如果成功检测到总线“空闲”,则紧接着再次检测总线,如果还是“空闲”,则延时一个或几个总线时钟半周期,再次检测总线,如果此时总线仍然为“空闲“状态,则拉低EN线,抢占总线成功;
3、如果在I中始终没有检测到总线“空闲”,则总线请求失败,自动放弃本次总线请求,并置相应总线错误标志;
4、如果在2中检测到不少于一次的总线“忙”信号,则总线请求失败,自动放弃本次总线请求并置相应总线错误标志;
5、任何主机传送的数据包的长度都是有限制的,不可超过最大允许长度;
6、任何主机在完成一次数据包的传送后,必须让出总线,如需继续发送数据,则须重新参与总线的竞争。
[0009]将总线模块的MODE脚拉至低电平,可以对总线的工作模式进行配置,直接将MODE脚置为高电平,总线模块即进入数据透传模式,发送方与接收方之间的数据传送完全透明化传送;总线模块可以从总线上随时接入和移除,无需断电重启动过程,总线的接入与移除不影响正在通讯中的其它设备的正常工作。
[0010]本发明的有益效果是实现了将目前不同通信方式的总线的优点兼容到一个共同的总线上面,同时克服了其固有的不足,挂接到总线上的总线模块可以具有不同功能、不同的传输速度要求、不同的挂接方式,不局限单一通信速度、单一挂接方式,通用性强,具有避免了使用时安装各种类型的总线、节省布线成本、后期维护简单、可靠性高的积极效果。

【专利附图】

【附图说明】
[0011]附图部分进一步公开了本发明的【具体实施方式】,下面结合附图对本发明作进一步详细说明,
图1为本发明总线结构示意图;
图2为本发明总线时序图。

【具体实施方式】
[0012]如图1所示,本发明所提供的一种总线架构,具有三根双向信号线,一根是总线占用标志线EN,一根是数据线DATA,还有一根是时钟线CLK,总线通过上拉电阻接正电源;上述信号线挂接总线模块,总线模块上设置多种不同类型的接口 ;用户端通过总线模块挂接各种比如传感器、主机、定时器等设备。
[0013]如图2所示,弧线以左是数据发送方模块发出的信号,弧线右边是接收方反馈的ACK信号当总线空闲时,EN线为高电平,DATA线与CLK线也默认置为高电平,此时,挂接到总线上的任一器件输出的低电平,都将使得对应总线信号变低,即总线模块与相应总线是线“与”关系。
[0014]上述总线架构的数据传送方式:
1、发送开始标志:总线在发送数据前,先将EN线拉低,使得总线处于“忙”状态,此时总线上的其它主机设备将无法使用总线;
2、传送数据:在CLK处于高电平状态期间,将数据位放到DATA线上,维持DATA总线上的数据,直到下一次CLK高电平到来后,再将另一位数据放到DATA总线上,如此反复,直到将所有数据传送完毕;数据传送完毕后,DATA线与CLK线均被拉高;
3、数据结束标志:当数据传送完毕后,在下一个CLK时钟下降沿到来之前,将EN总线拉高,保持1-2个时钟周期,在这期间同时等待DATA线返回的ACK信号,如果未等到ACK信号,则数据发送失败,并置相应总线错误标志;
4、发送的数据包含以下几个部分:目标主机地址+源主机地址+有效数据+校验数据;
5、数据发送的顺序是:
<1>先发送字节的低位,再发送字节的高位;
<2>先发送低字节数据,再发送高字节数据;
6、校验类型可以为:CRC16、CRC32或者校验和方式等均可,不局限此类校验方式,可以根据需要任意选择;
数据发送成功后,串口会立即返回SUCCESS,表示数据发送成功;
数据发送失败后,串口会立即返回ERROR,表示数据发送失败。
[0015]如图2所示,总线的数据接收方式采用:
1、挂接在总线上的所有其它处于非发送状态的主机,在总线时钟CLK下降沿接收总线数据,并判断地址与自身地址是否相符,如果相符,则接收剩余数据,如果不相符,则自动清除已接收的数据,清空接收缓冲区;
2、当判断地址相符,并接收完剩余的数据后,将立即进行数据校验,如果校验结果正确,则在下一次时钟下降沿到来时,将立即拉低DATA线一个或几个总线时钟半周期,作为数据正确接收的ACK信号,发送方依据这个信号来判断数据是否成功发送完成。
[0016]所述的ACK信号,是指发送数据的发送方将发送的数据在总线有空闲的时候,将要发送的数据发送到总线上,接收方接收到总线的时序信号后,比对发现地址是接收方的地址后,会反馈一个ACK信号给总线,总线会将数据发送给接收方。
[0017]每个接到总线上的器件都有唯一的一个8位地址,总线上一共可以挂接最多可达256台主机设备;各个主机之间可以自由通讯,不分主机与从机,它们之间对总线的使用是平等的,总线仲裁由各个主机之间通过竞争来完成。
[0018]总线的抢占与仲裁机制包括如下步骤:
1、需要使用总线的主机首先检测EN线,如果总线“忙”,则随机等待一个很短的时间再重新检测总线,如此反复,直到检测到总线“空闲”或者达到设定的检测次数的上限,自动放弃本次总线请求为止; 2、如果成功检测到总线“空闲”,则紧接着再次检测总线,如果还是“空闲”,则延时一个或几个总线时钟半周期,再次检测总线,如果此时总线仍然为“空闲“状态,则拉低EN线,抢占总线成功;
3、如果在I中始终没有检测到总线“空闲”,则总线请求失败,自动放弃本次总线请求,并置相应总线错误标志;
4、如果在2中检测到不少于一次的总线“忙”信号,则总线请求失败,自动放弃本次总线请求并置相应总线错误标志;
5、任何主机传送的数据包的长度都是有限制的,不可超过最大允许长度;最大允许长度根据总线的速度和实际需要进行设定,不局限某一值,以防止连接到总线上面的设备发送超长的数据包影响其他设备使用总线;有超长的数据包需要发送的时候,需要分割为小的数据包进行发送数据;
6、任何主机在完成一次数据包的传送后,必须让出总线,如需继续发送数据,则须重新参与总线的竞争。
[0019]总线模块自带数据校验功能,可以支持8位、16位、32位CRC校验或者累加和校验等校验方式,对于校验不正确的数据,总线模块会自动将错误数据丢弃,并通知发送方。
[0020]总线对外输入输出接口为标准异步串口,设备通过串口与总线模块相连接;标准异步串口的默认配置为:速度:115200bps ;校验位■?无;数据位:8 ;停止位:1。如需手动配置总线模块参数,则须先将MODE脚拉至低电平。
[0021]总线的默认设置:串口速度:115200bps ;总线速率10us/P ;校验方式:16位累加和;数据传输方式:透明传输;数据包等待时间:1ms。
[0022]将总线模块的MODE脚拉至低电平,可以对总线的工作模式进行配置,目前支持的命令包括:
< DHELP帮助与支持
<2>SET ADDRESS设置本地设备地址
<3>GET ADDRESS获取本地设备地址
<4>SET BUSRATE设置本地总线速率
<5>SET USARTRATE设置本地串口速率 <6>SET TIMEOUT设置数据包等待时间
<7>SET DATACHECK 设置数据校验方式。
[0023]设置完成后,将MODE脚置为高电平,总线模块将按照新的配置运行在透传模式,发送方与接收方之间的数据传送完全透明化传送。总线模块可以从总线上随时接入和移除,无需断电重启动过程;总线的接入与移除不影响正在通讯中的其它设备的正常工作。
[0024]总线的地址可由位于总线模块上的拨码开关配置地址,也可以通过串口使用命令配置地址。如果使用了拨码开关,则总线模块会自动检测到拨码开关,并优先使用拨码开关。
[0025]每个接到总线上的器件都有唯一的一个8位地址,总线上一共可以挂接最多可达256台主机设备。
【权利要求】
1.一种总线架构,其特征在于,具有三根双向信号线,一根是总线占用标志线EN,一根是数据线DATA,还有一根是时钟线CLK,总线通过上拉电阻接正电源;上述信号线挂接总线模块,总线模块上设置多种不同类型的接口 ;用户端通过总线模块挂接各种设备; 当总线空闲时,EN线为高电平,DATA线与CLK线也默认置为高电平,此时,挂接到总线上的任一设备输出的低电平,都将使得对应总线信号变低,即“线与”关系;每个接到总线上的设备都有唯一的一个8位地址。
2.根据权利要求1所述的总线架构的数据传送方式,其特征在于, 1)、发送开始标志:总线在发送数据前,先将EN线拉低,使得总线处于“忙”状态,此时总线上的其它主机设备将无法使用总线; 2)、传送数据:在CLK处于高电平状态期间,将数据位放到DATA线上,维持DATA总线上的数据,直到下一次CLK高电平到来后,再将另一位数据放到DATA总线上,如此反复,直到将所有数据传送完毕;数据传送完毕后,DATA线与CLK线均被拉高; 3)、数据结束标志:当数据传送完毕后,在下一个CLK时钟下降沿到来之前,将EN总线拉高,CLK保持1-2个时钟周期,在这其间同时等待DATA线返回的ACK信号,如果未等到ACK信号,则数据发送失败,并置相应总线错误标志; 4)、发送的数据包含以下几个部分:目标主机地址+源主机地址+有效数据+校验数据; 5)、数据发送的顺序是: 〈1>先发送字节的低位,再发送字节的高位; <2>先发送低字节数据,再发送高字节数据。
3.根据权利要求1所述的总线架构的数据接收方式,其特征在于, 1)、挂接在总线上的所有其它处于非发送状态的主机,在总线时钟CLK下降沿接收总线数据,并判断地址与自身地址是否相符,如果相符,则接收剩余数据,如果不相符,则自动清除已接收的数据,清空接收缓冲区; 2)、当判断地址相符,并接收完剩余的数据后,将立即进行数据校验,如果校验结果正确,则在下一次时钟下降沿到来时,将立即拉低DATA线一个或几个总线时钟半周期,作为数据正确接收的ACK信号,发送方依据这个信号来判断数据是否成功发送完成。
4.根据权利要求1所述的总线架构的抢占与仲裁机制,其特征在于, 1)、需要使用总线的主机首先检测EN线,如果总线“忙”,则随机等待一个很短的时间再重新检测总线,如此反复,直到检测到总线“空闲”或者达到设定的检测次数的上限,自动放弃本次总线请求为止; 2)、如果成功检测到总线“空闲”,则紧接着再次检测总线,如果还是“空闲”,则延时一个或几个总线时钟半周期,再次检测总线,如果此时总线仍然为“空闲“状态,则拉低EN线,抢占总线成功; 3)、如果在I中始终没有检测到总线“空闲”,则总线请求失败,自动放弃本次总线请求,并置相应总线错误标志; 4)、如果在2中检测到不少于一次的总线“忙”信号,则总线请求失败,自动放弃本次总线请求并置相应总线错误标志; 5)、任何主机传送的数据包的长度都是有限制的,不可超过最大允许长度; 6)、任何主机在完成一次数据包的传送后,必须让出总线,如需继续发送数据,则须重新参与总线的竞争; 将总线模块的MODE脚拉至低电平,可以对总线的工作模式进行配置,直接将MODE脚置为高电平,总线模块即进入数据透传模式,发送方与接收方之间的数据传送完全透明化传送;总线模块可以从总线上随时接入和移除,无需断电重启动过程,总线的接入与移除不影响正在通讯中的其它设备的正常工作。
【文档编号】G06F13/38GK104199795SQ201410467523
【公开日】2014年12月10日 申请日期:2014年9月15日 优先权日:2014年9月15日
【发明者】刘润滋 申请人:活点信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1