一种微控器与一线总线器件的光电耦合结构和方法与流程

文档序号:16544045发布日期:2019-01-08 20:42阅读:501来源:国知局
一种微控器与一线总线器件的光电耦合结构和方法与流程

本发明涉及微控器与一线总线器件连接技术领域,具体涉及一种微控器与一线总线器件的光电耦合结构和方法。



背景技术:

一线总线(1-wire)是dallas半导体公司推出的外围串行扩展总线标准,采用单根数据线和地线构成半双工通讯。一线总线只有一根数据输入输出线dq,总线上所有的器件都挂在dq上。

由于一线总线在实际应用中布线很长,数据线和地线根据现场需要,往往可达到数十米或更长。按照现有的一线总线连接方式,数据线和地线是直接与微控器i/o口相连,这种连接方式简单,且只需微控器的一个i/o口。但是由于电磁干扰源日益增多增强,总线布线越长,总线上的感应信号就越强,干扰信号就会直接通过i/o口对微控器形成干扰,可能造成程序跑飞、微控器复位或i/o口损坏,导致系统可靠性降低,甚至不能正常工作。



技术实现要素:

(一)要解决的技术问题

本发明的目的是提供一种微控器与一线总线器件的光电耦合结构,实现微控器与一线总线器件电气隔离;从而切断了在总线上的干扰信号对微控器的影响。本发明的目的还提供一种微控器与一线总线器件的光电耦合方法。

(二)技术方案

为了达到上述目的,本发明采取以下方案:

本发明的一种微控器与一线总线器件的光电耦合结构,包括微控器、一线总线器件、光电耦合器一、光电耦合器二、驱动器、5v直流电源,其中,所述微控器分别与光电耦合器一、光电耦合器二、电阻一、电阻二连接,一线总线器件分别与光电耦合器一、驱动器、电阻三连接,光电耦合器二分别与驱动器、电阻四连接,所述5v直流电源分别连接电阻三、电阻四。

2、一种微控器与一线总线器件的光电耦合方法,有以下步骤:

1)将微控器的2个i/o口用于与一线总线器件的通信,其中一个i/o口定义为输出口:1wire_t,另一个i/o口定义为输入口:1wire_r;

2)增加设置2个光电耦合器和一个驱动器,1组5v直流电源,1wire_t通过光电耦合器一的输出端与一线总线器件数据端(dq)连接,且一线总线器件数据端(dq)还通过上拉电阻二接5v直流电源;另外,一线总线器件数据端(dq)通过驱动器(u2)驱动光电耦合器二与微控器1wire_r端连接,从电路连接上实现了微控器与一线总线器件的光电耦合,实现了电气隔离。

3)微控器作为一线总线的控制器,按照一线总线严格的时序要求,控制软件根据光电耦合电路的连接,将1wire_t口作为一线总线的控制口和数据写操作口、将1wire_r口作为一线总线上器件状态的输入口和数据读操作口;①由1wire_t口在每个通讯周期发出复位脉冲,复位时隙按照一线总线标准为480us,复位脉冲输出完成后,1wire_t释放总线,再由1wire_r口读取总线状态,总线上的器件通过拉低总线来指示其是否在线。②读操作起始于1wire_t口将一线总线拉低1us,接着释放总线,再由1wire_r口读取总线上的器件接管总线后输出的有效数据。③写操作是由1wire_t口将总线从逻辑高(空闲状态)拉为逻辑低,在写0时隙期间,1wire_t口在整个时隙中将总线拉低;在写1时隙期间,1wire_t口将总线拉低,然后在时隙起始后15us之内释放总线。

4)按照步骤3)中每一位的读、写时序操作,可构成字节的读、写操作程序;具体使用一线总线器件时,则按照具体型号器件规定的指令对其进行操作。

3、按照权利要求2所述的一种微控器与一线总线器件的光电耦合方法,其特征在于所述步骤3)还有以下步骤:①由1wire_t口在每个通讯周期发出复位脉冲,复位时隙按照一线总线标准为480us,复位脉冲输出完成后,1wire_t释放总线,再由1wire_r口读取总线状态,总线上的器件通过拉低总线来指示其是否在线;②读操作起始于1wire_t口将一线总线拉低1us,接着释放总线,再由1wire_r口读取总线上的器件接管总线后输出的有效数据;③写操作是由1wire_t口将总线从逻辑高—空闲状态,拉为逻辑低,在写0时隙期间,1wire_t口在整个时隙中将总线拉低;在写1时隙期间,1wire_t口将总线拉低,然后在时隙起始后15us之内释放总线。

(三)有益效果

本发明用构造了一个具有光电隔离特性的一线总线系统,避免了由于现场所需布线距离较长,在一线总线上的数据线和地线感应的各种干扰信号直接加载到微控器的i/o口,对微控器形成干扰,可能造成程序跑飞、微控器复位或i/o口损坏,导致系统可靠性降低,甚至不能正常工作的多种不稳定的情况发生。

附图说明

图1是本发明微控器与一线总线器件的光电耦合的电路图;

图2是本发明方法中复位应答过程流程图;

图3是本发明方法中读一位操作程序流程图;

图4是本发明方法中写一位操作程序流程图。

图中,u1、微控器;u2、驱动器;r1、电阻一;r2、电阻二;r3、电阻三;r4、电阻四;iso1、光电耦合器一;iso2、光电耦合器二;1、一线总线器件。

具体实施方式

参见图1、图2,本发明的一种微控器与一线总线器件的光电耦合结构,包括微控器、一线总线器件、光电耦合器一、光电耦合器二、驱动器、5v直流电源,其中,所述微控器分别与光电耦合器一、光电耦合器二、电阻一、电阻二连接,一线总线器件分别与光电耦合器一、驱动器、电阻三连接,光电耦合器二分别与驱动器、电阻四连接,所述5v直流电源分别连接电阻三、电阻四。

2、一种微控器与一线总线器件的光电耦合方法,有以下步骤:

1)将微控器的2个i/o口用于与一线总线器件的通信,其中一个i/o口定义为输出口:1wire_t,另一个i/o口定义为输入口:1wire_r;

2)增加设置2个光电耦合器和一个驱动器,1组5v直流电源,1wire_t通过光电耦合器一的输出端与一线总线器件数据端(dq)连接,且一线总线器件数据端(dq)还通过上拉电阻二接5v直流电源;另外,一线总线器件数据端(dq)通过驱动器(u2)驱动光电耦合器二与微控器1wire_r端连接,从电路连接上实现了微控器与一线总线器件的光电耦合,实现了电气隔离。

3)微控器作为一线总线的控制器,按照一线总线严格的时序要求,控制软件根据光电耦合电路的连接,将1wire_t口作为一线总线的控制口和数据写操作口、将1wire_r口作为一线总线上器件状态的输入口和数据读操作口;①由1wire_t口在每个通讯周期发出复位脉冲,复位时隙按照一线总线标准为480us,复位脉冲输出完成后,1wire_t释放总线,再由1wire_r口读取总线状态,总线上的器件通过拉低总线来指示其是否在线。②读操作起始于1wire_t口将一线总线拉低1us,接着释放总线,再由1wire_r口读取总线上的器件接管总线后输出的有效数据。③写操作是由1wire_t口将总线从逻辑高(空闲状态)拉为逻辑低,在写0时隙期间,1wire_t口在整个时隙中将总线拉低;在写1时隙期间,1wire_t口将总线拉低,然后在时隙起始后15us之内释放总线。

4)按照步骤3)中每一位的读、写时序操作,可构成字节的读、写操作程序;具体使用一线总线器件时,则按照具体型号器件规定的指令对其进行操作。

3、按照权利要求2所述的一种微控器与一线总线器件的光电耦合方法,其特征在于所述步骤3)还有以下步骤:①由1wire_t口在每个通讯周期发出复位脉冲,复位时隙按照一线总线标准为480us,复位脉冲输出完成后,1wire_t释放总线,再由1wire_r口读取总线状态,总线上的器件通过拉低总线来指示其是否在线;②读操作起始于1wire_t口将一线总线拉低1us,接着释放总线,再由1wire_r口读取总线上的器件接管总线后输出的有效数据;③写操作是由1wire_t口将总线从逻辑高—空闲状态,拉为逻辑低,在写0时隙期间,1wire_t口在整个时隙中将总线拉低;在写1时隙期间,1wire_t口将总线拉低,然后在时隙起始后15us之内释放总线。

本发明实现微控器与一线总线器件电气隔离;从而切断了在总线上的干扰信号对微控器的影响。解决的问题:由于现场所需布线距离较长,在一线总线上的数据线和地线感应的各种干扰信号直接加载到微控器的i/o口,对微控器形成干扰,造成程序跑飞、微控器复位或i/o口损坏,导致系统可靠性降低,甚至不能正常工作的多种不稳定的情况。

显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无法对所有的实施方式予以穷举。凡是属于本发明的技术方案所引伸出的显而易见的变化或变动仍处于本发明的保护范围之列。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1