一线总线的通讯方法

文档序号:6466777阅读:2131来源:国知局
专利名称:一线总线的通讯方法
技术领域
本发明涉及一种总线协议,具体是一种一线总线的通讯方法。
技术背景美国DALLAS SEMICONDUCTOR设计了一种高分辨率可编程的数字温度传感 器,器件从数据线上受电,且因其数字传输部分只用了一条微控制器的接口线, 故命名传感器为一线数字温度传感器(1-wire Digital Thermometer)。能够与 一线数字温度传感器进行通讯的数据线就是最初的一线总线(liire bus)。 一 三线总线技术的发展又不断产生系列的一线工作方式的组件、仪表, 一线总线可 以与所有一线组件、仪表进行通讯而不受限制,这是因为DALLAS生产的每个传 感器或数字化器件都是独一无二的,每个器件上都有一个唯一的数字编码。 一线 总线是众多现场总线中极具竞争力的一种。它具备能与计算机进行数字通讯、总 线负载量大、布线简炼、精度高、性能稳定、价格便宜等多方面优点,是工业现 场系统设计的高级境界。一线总线实现了器件与器件之间只用一根线即可进行通 信。因此缓解了中央处理器I/0口分配紧张的问题,应用领域逐渐增多。和其它 的很多通信协议(例如RS232/rC通信协议) 一样, 一线通信协议的数据也是以 帧为单位发送和接收的,每帧可以是2位、4位、8位或16位等,每一位数据表示 一个0/l信号。目前一线通信协议读取数据的方式多为在固定时隙里去读取数据,如果存在 干扰,就会存在读错的可能性。但是目前出现的各种一线总线的通讯协议都不具 备防干扰的功能,这使得在恶劣的条件下,很难保证读到的数据是正确的。发明内容本发明要解决的问题是,提高一线通讯传输数据的可靠,增强总线通讯的抗 干扰能力。目前一线总线的通信协议读取数据的方式多为在固定时隙里去读取数 据,如果存在干扰,就会有读错的可能性。而本方法读取数据是以计算占空比来 实现的,并且对计算的占空比加以验证,进一步避免了读错的危险。本方法在接 收和发送步骤中还设置了标志信号,这些标号可以标示接收和发送过程是否正确,用户可以方便的利用这些标志信号来控制接收。具体技术方案如下一种一线总线的通讯方法,包括数据发送步骤和数据接收步骤,其中,1) 数据发送步骤包括1. l)发送起始信号由发送器件拉低总线电平;1.2) 发送数据发送数据,以每一位数据中高、低电平的占空比来表示该 位信号是1还是0;1.3) 接收应答信号如果接收到应答信号则发送成功,反之则发送失败。2) 数据接收步骤包括-2.1) 接收起始信号接收器件'判断是否是开始信号,若是,则进行接收;2.2) 接收数据判断每位数据中的高、低电平占空比来确定这位是信号l还是0;2.3) 发送应答信号接收到数据之后,发送应答信号。3) 数据发送和数据接收结束后,置总线高电平来释放总线。在步骤l.l)中,发送器件拉低总线电平80个指令周期形成起始信号; 步骤2. 1)中,接收器件通过计算总线上低电平的时间是否达到80个指令周期, 来判断是否是开始信号;若是,则进行接收,若不是,则不进行接收,并返回一 个表示接收失败的错误标志;所述步骤1.2)中,若每位传输数据宽度中,高电平的占空比不小于80%, 表示该位传输的是l;低电平的占空比不小于80%,表示该位传输的是O;步骤2.2)中,判断每位数每位传输数据宽度中,高电平的占空比不小于80 %,则确定该位信号是l;低电平的占空比不小于80%,则确定该位信号是O。所述步骤2.2)中,如果一位数据中,高电平和低电平的总宽度不超过该位 数据宽度的125% (即1.25倍),则传输正确;否则认为是有重大干扰,数据传输 错误,并置位错误标志,以供用户査询使用。数值125%的确定是依据如果传输 过程中, 一位数据中会有干扰信号,干扰信号带来的高或低电平会被记入占空比 的计算中,使该位宽度增大。如果宽度容^^增大得过多,则会造成误码;如果宽 度容许增大得太少,则会造成容错率太小,影响效率。经过实验,125°/。就是在均 衡两者后优选的数值。在步骤2.3)中,在数据传输正确、接收器件接收到正确的数据之后,再发 送应答信号。接收器件发送宽度是40个指令周期的低电平和40个指令周期的高电平构成 应答信号,来通知发送器件数据接收正确。本方法中, 一线总线的通信线需接上拉电阻,例如,在5v供电的情况下,接 10k的上拉电阻。本方法的最大通讯速率为6kbps。所述接收器件和发送器件的工作频相同率。与现有技术相比,本方法的有益效果包括1、 计算占空比来确定接收的数据,并且对于占空比加以验证,抗干扰能力强。2、 本方法中,起始信号优选80个指令周期的低电平是因为通过实验,保证可靠接收的前 提下,该数值是指令周期的最小数值;优选每位传输数据宽度中,高电平的占空比不小于80%,表示该位传输的是 1;低电平的占空比不小于80%,表示该位传输的是O,这个比例是实验得出的。 经过实验,采用上述比例可以在有较小干扰的情况下也能准确判断出l/0信号。 采用其它比例,会带来指令过长(比例变小)或指令虽短单无码率增高的问题(比 例增大)。应答信号优选宽度是40个指令周期的低电平和40个指令周期的高电平,是因 为这种组合与起始信号优选80个指令周期的效果一样,可以明显的区别于其他 信号(例如起始信号和数据信号),并且是通过实验,在保证可靠接收的前提下, 测得的指令周期的较小值。3、 接收和发送都有相应的标志信号来说明是否接收成功或发送成功,用户 可以方便的利用这些信号来控制接收和发送的次数,也提高了抗干扰能力,例如, 接收部分可随用户的需要设置成以中断方式进行接收或以査询方式进行接收。本方法中的起始信号可以引发中断,满足以中断方式进行接收。 本方法中的在接收和发送步骤中还设置了标志信号,方便用户以査询方式进 行接收。以查询方式进行接收的步骤是,每隔一定的周期就查询一次是否有开始信号(即是否有80个指令周期低电平),若有开始信号出现,就开始接收。用户 可以设置接收的次数,以便遇到错误标号的时候可以重新接收,直到接收次数到 达为止。这样可以确保接收正确性。接收部件遇到错误标号时,会不发送应答信 号,导致发送部件产生发送失败信号,这个信号可以使发送设备重新发送。重新 发送的次数用户也可以设置。成功接收之后,接收和发送的标志信号都表示正确 的状态,此时传送立即结束。


图l是发送程序流程图 图2是接收程序流程图 图3是发送时序图 图4是接收时序图具体实施方式
下面结合附图与具体实施方式
对本发明作进一步说明。 发送部分如图l、 3,发送部分由起始信号,发送数据,接收应答信号,释放总线四部 分组成。起始信号由发送器件拉低总线80个指令周期形成。发送数据用不同的占空比表示要发送的数据是1还是0。若每位传输数据宽度中,高电平的占空比不小于80%,表示该位传输的是l;低电平的占空比不小 于80%,表示该位传输的是O;接收应答信号应答信号由接收器件发出,在这个时隙里,发送器件通过计 算低电平的宽度来判断是否是应答信号。用户可通过这个应答信号来判断数据是 否接收成功,若不成功,可以重新发送。释放总线在不通讯的时候要释放总线,保证通讯线为高电平,为下一次的 通讯作准备。接收部分如图2、 4,接收部分由接收起始信号,接收数据,发送应答信号,释放总线组成。接收起始信号接收器件通过计算通讯线上低电平的时间来判断是否是开始 信号,若是,进行接收,若不是返回错误信号。接收数据通过计算每位数据的高电平占空比来确定这一位是1还是0,每位 数每位传输数据宽度中,高电平的占空比不小于80%,则确定该位信号是l;低 电平的占空比不小于80%,则确定该位信号是0。若计算的占空比不符合要求(该要求是,高电平和低电平的总宽度不超过该 位数据宽度的125%),则认为是有重大干扰,数据传输错误,并置位错误标志, 以供用户查询使用。发送应答信号当接收到正确的数据之后,才发送这个应答信号,应答信号的宽度是40个指令周期的低电平,40个指令周期的高电平。它通知发送器件数据 接收正确。释放总线在不通讯的时候要释放总线,保证通讯线为高电平,为下一次的通讯作准备。本方法的具体使用歩骤可以是,1将要发送的数据作为发送函数的入口参数,执行发送函数即可。2执行接收函数,函数的返回值就是接收到的数据。3基于一线通讯的总线实现主机先发送激活码,各从机接收到激活码后便进入就绪状态,然后主机发送地址码,从接将接收到的地址码与自己的地址码相 比较, 一样的话就允许自己与主机进行通讯,不一样的话就挂起自己,不与主机 通讯,直到主机再次发送激活码。本方法中, 一线总线的通信线需接上拉电阻,例如,在5v供电的情况下,接 10k的上拉电阻。本方法的最大通讯速率为6kbps。所述接收器件和发送器件的工 作频相同率在工业控制领域的具体应用中,本方法中的接收器件即为工控机或其它处理 器件中的单片机,发送器件即为各个传感器的单片机。
权利要求
1、一种一线总线的通讯方法,包括数据发送步骤和数据接收步骤,其特征是1)数据发送步骤包括1.1)发送起始信号由发送器件拉低总线电平;1.2)发送数据发送数据,以每一位数据中高、低电平的占空比来表示该位信号是1还是0;1.3)接收应答信号如果接收到应答信号则发送成功,反之则发送失败;2)数据接收步骤包括2.1)接收起始信号接收器件 判断是否是开始信号,若是,则进行接收;2.2)接收数据判断每位数据中的高、低电平占空比来确定这位是信号1还是0;2.3)发送应答信号接收到数据之后,发送应答信号;3)数据发送和数据接收结束后,置总线高电平来释放总线。
2、 根据权利要求l所述的一线总线的通讯方法,其特征是所述步骤l.l)中, 发送器件拉低总线电平80个指令周期形成起始信号;步骤2. 1)中,接收器件通过计算总线上低电平的时间是否达到80个指令周 期,来判断是否是开始信号;若是,则进行接收,若不是,则不进行接收,并返回一个错误标志。
3、 根据权利要求l所述的一线总线的通讯方法,其特征是所述步骤1.2)中, 若每位传输数据宽度中,高电平的占空比不小于80%,表示该位传输的是l;低 电平的占空比不小于80%,表示该位传输的是O;步骤2.2)中,判断每位数每位传输数据宽度中,高电平的占空比不小于80 %,则确定该位信号是l;低电平的占空比不小于80%,则确定该位信号是O。
4、 根据权利要求l所述的一线总线的通讯方法,其特征是所述步骤2.2)中, 如果每一位数据中高电平和低电平的总宽度不超过该位数据宽度的l. 25倍,则认 为传输正确;否则认为有重大干扰,数据传输错误,并置位错误标志,以供用户查询使用。
5、 根据权利要求l所述的一线总线的通讯方法,其特征是所述步骤2.3)中, 在数据传输正确、接收器件接收到正确的数据之后,再发送应答信号。
6、 根据权利要求l所述的一线总线的通讯方法,其特征是所述接收器件发送 宽度是40个指令周期的低电平和40个指令周期的高电平构成应答信号,来通知发 送器件数据接收正确。
7、 根据权利要求l所述的一线总线的通讯方法,其特征是所述总线的通信线 接上拉电阻;在5v供电的情况下,接10k的上拉电阻。
8、 根据权利要求l所述的一线总线的通讯方法,其特征是本方法的最大通讯 速率为6kbps。
9、 根据权利要求1所述的一线总线的通讯方法,其特征是所述接收器件和 发送器件的工作频率相同。
全文摘要
一种一线总线的通讯方法,包括数据发送步骤和数据接收步骤数据发送步骤包括1)发送起始信号由发送器件拉低总线电平;2)发送数据发送数据,以每一位数据中高、低电平的占空比来表示该位信号是1还是0;3)接收应答信号如果接收到应答信号则发送成功,反之则发送失败。数据接收步骤包括1)接收起始信号接收器件判断是否是开始信号,若是,则进行接收;2)接收数据判断每位数据中的高、低电平占空比来确定这位是信号1还是0;3)发送应答信号接收到数据之后,发送应答信号。数据发送和数据接收结束后,置总线高电平来释放总线。本方法通过计算占空比来确定接收的数据,并且对于占空比加以验证,抗干扰能力强。
文档编号G06F13/38GK101404556SQ20081015498
公开日2009年4月8日 申请日期2008年10月24日 优先权日2008年10月24日
发明者陈柏志 申请人:伊玛精密电子(苏州)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1