一种双向数字隔离器和编解码方法
文献发布时间:2024-05-31 01:29:11
技术领域
本申请涉及电子技术领域,具体而言,涉及一种双向数字隔离器和编解码方法。
背景技术
数字隔离器是一种被广泛用于电子工程领域的电路器件,其主要功能是将输入信号和输出信号之间的电器连接隔离开来,通过某种隔离介质(电感、电容等)传输信号,以防止潜在的电气噪声、地线干扰、电压浮动等问题对系统造成干扰或损害。
传统数字隔离器传输一路信号需要两个电容(差分传输),每一个通道中仅支持单向传输。发送端输入信号转为差分信号驱动一对隔离电容,接收端接收并放大差分信号,转化为单端信号输出。在单颗芯片中,如果需要实现信号的双向传输,每增加一个通道就需要增加一组电容和发送/接收电路,电容和发送/接收电路在隔离器芯片中占大部分面积,使得最终芯片面积随着通道数量显著增加。
随着数字隔离器行业的快速发展,逐渐产生了通过编解码传输的数字隔离器,通过单个通道就能实现双向的数字信号传输。但是,在使用中,双向数字隔离器容易出现以下问题:例如,双边接收和发送端无法对齐,导致信号无法正常传输;或者编解码能力弱,导致能传输的信号数量太少,隔离电容数量无法降至最少。
发明内容
为了解决上述技术问题,本申请提供一种双向数字隔离器和编解码方法,通过对输入多路信号编码并采用隔离电容分时复用、双向传输的方式将隔离电容降低至一对,并且优化了双向数字隔离器的编码、解码过程,避免了双向数字隔离器在双侧同时接收到信号时,可能导致无法正常发送接收信号的问题。
具体的,本申请的技术方案如下:
第一方面,本申请公开一种双向数字隔离器,包括:
第一电路、第二电路,分别位于隔离电容的两侧;
所述隔离电容,用于提供绝缘屏障;
第一编解码模块、第二编解码模块,分别位于所述第一电路和所述第二电路中,用于对发送端的输入信号进行编码,对接收端接收到的信号进行解码;
信号检测模块,用于检测所述第一电路和所述第二电路的信号输入/输出状态;
开关切换模块,用于控制所述第一电路和所述第二电路在接收端与发送端之间切换;
延时检测模块,用于在所述第一电路和/或所述第二电路由发送端切换为接收端时,设置延迟时间,并在所述延迟时间内,检测所述第一电路和/或所述第二电路是否接收数据成功。
在一些实施方式中,所述开关切换模块,还用于若接收数据成功则在信号接收结束后将所述第一电路和/或所述第二电路由接收端切换回发送端;
所述开关切换模块,还用于若接收数据失败则在所述延迟时间结束后将所述第一电路和/或所述第二电路由接收端切换回发送端。
在一些实施方式中,当所述信号检测模块检测到双侧输入为默认电平时,所述开关切换模块,还用于设置静态模式,在所述静态模式下,将所述第一电路和所述第二电路设置为相同的接收端;
当所述信号检测模块检测到单侧信号输入时,所述开关切换模块,还用于解除所述静态模式;将检测到输入为非默认电平的一侧切换为发送端。
在一些实施方式中,当所述信号检测模块检测到同时有双侧信号输入时,所述开关切换模块,还用于将所述第一电路和所述第二电路由接收端切换为发送端;
所述开关切换模块,还用于将所述第一电路在发送完成后切换为接收端;所述延时检测模块,还用于设置第一延迟时间,在所述第一延迟时间内检测所述第一电路是否接收数据成功;
所述开关切换模块,还用于将所述第二电路在发送完成后切换为接收端;所述延时检测模块,还用于设置第二延迟时间,在所述第二延迟时间内检测所述第二电路是否接收数据成功;所述第一延迟时间不等于所述第二延迟时间;
若所述第一延迟时间小于所述第二延迟时间,所述第一电路接收数据失败,在所述第一延迟时间结束后,所述开关切换模块,还用于将所述第一电路由接收端切换回发送端;此时所述第二电路为接收端,用于接收数据;
若所述第一延迟时间大于所述第二延迟时间,所述第二电路接收数据失败,在所述第二延迟时间结束后,所述开关切换模块,还用于将所述第二电路由接收端切换回发送端,此时所述第一电路为接收端,用于接收数据。
在一些实施方式中,当所述第一电路为发送端,所述第二电路为接收端时;所述第一编解码模块用于对所述输入信号进行编码;并通过所述隔离电容将编码产生的串行信号发送至所述第二电路;所述第二编解码模块用于接收所述串行信号并进行解码;
或,当所述第一电路为接收端,所述第二电路为发送端时;所述第二编解码模块用于对所述输入信号进行编码;并通过所述隔离电容将编码产生的所述串行信号发送至所述第一电路;所述第一编解码模块用于接收所述串行信号并进行解码。
在一些实施方式中,所述的一种双向数字隔离器,还包括:
第一时钟采样电路,用于对接收到的所述串行信号进行采样解码时,采集高电平信号;
第二时钟采样电路,用于对接收到的所述串行信号进行采样解码时,采集低电平信号。
第二方面,本申请还公开一种双向数字隔离器的编解码方法,包括:
当检测到所述数字隔离器双侧输入为默认电平时,设置静态模式,在所述静态模式下,将第一电路和第二电路设置为相同的接收端;
当检测到所述数字隔离器有信号输入时,解除所述静态模式;
设置所述第一电路为发送端,解除其静态模式;通过所述第一电路中的第一编解码模块对输入信号进行编码;并通过隔离电容将编码产生的串行信号发送至所述第二电路;通过所述第二电路中的第二编解码模块接收所述串行信号并进行解码,同时解除第二电路的静态模式;
或,设置所述第二电路为发送端,解除其静态模式;通过所述第二电路中的第二编解码模块对所述输入信号进行编码;并通过所述隔离电容将编码产生的所述串行信号发送至所述第一电路;通过所述第一电路中的第一编解码模块接收所述串行信号并进行解码,同时解除第一电路的静态模式。
在一些实施方式中,所述的一种双向数字隔离器的编解码方法,还包括:
当检测到所述数字隔离器同时有双侧信号输入时,将所述第一电路和第二电路由接收端切换为发送端;
将所述第一电路在发送完成后切换为接收端,通过延时检测模块,设置第一延迟时间,在所述第一延迟时间内检测所述第一电路是否接收数据成功;
将所述第二电路在发送完成后也切换为接收端,通过所述延时检测模块,设置第二延迟时间,在所述第二延迟时间内检测所述第二电路是否接收数据成功;所述第一延迟时间不等于所述第二延迟时间;
若所述第一延迟时间小于所述第二延迟时间,所述第一电路接收数据失败,在所述第一延迟时间结束后,将所述第一电路由接收端切换回发送端;此时所述第二电路为接收端,用于接收数据;
若所述第一延迟时间大于所述第二延迟时间,所述第二电路接收数据失败,在所述第二延迟时间结束后,将所述第二电路由接收端切换回发送端,此时所述第一电路为接收端,用于接收数据。
在一些实施方式中,所述的一种双向数字隔离器的编解码方法,还包括:
对接收到的所述串行信号进行采样解码时,通过第一时钟采样电路和第二时钟采样电路,分别采集所述串行信号的高电平信号和低电平信号。
与现有技术相比,本申请至少具有以下一项有益效果:
1、本申请通过对输入多路信号编码并采用隔离电容分时复用、双向传输的方式将隔离电容降低至一对,本申请为了显著减小芯片面积,降低芯片成本。
2、本申请用于双边自动对齐时的接收延时检测,通过延时检测模块,在任意一侧电路由发送端切换为接收端时,设置延迟时间,在延迟时间内,检测该侧电路是否接收数据成功若接收数据失败则在延迟时间结束后将该侧电路由接收端切换回发送端。通过RX延时检测保障双边对齐,优化了双向数字隔离器的编码、解码过程,避免了双向数字隔离器在双侧同时接收到信号时,可能导致无法正常发送接收信号的问题。
3、本申请设计了静态模式,在检测到接收/发送这几次都是默认电平时,进入静态模式,将第一电路和第二电路设置为相同的接收端,可以降低功耗。
4、本申请设计了双时钟采样,通过两个时钟电路,分别采样接收信号的高电平和低电平,当检测到接收为1时,采样连续高电平,当检测到接收为0时,采样连续低电平,通过合理设置编码中连续1或0的长度,此方案对于失配的容忍远大于一般的单时钟采样方案,将失配导致的采样误码的可能性几乎降低至0,使得单次串行编码信号中可以包含更多通道的信息。
5、本申请设计了非交叠编码,设置编码第一位码字称为头码,用于解码端识别信号开始传输,所述头码与解码端(RX)的复位态相反,接收端接收到由头码开始的固定位数码字(对应的编码位数)后认为接收完成,自动切换为发送端。在任意一侧电路由发送端切换为接收端时,随着最后一位码字发送完成,收发信号线TXP和TXN均会变为高电平上升边沿,避免可能会被误接收的码字。
附图说明
下面将以明确易懂的方式,结合附图说明优选实施方式,对本申请的上述特性、技术特征、优点及其实现方式予以进一步说明。
图1为现有的单向数字隔离器基本结构示意图;
图2为本申请中双向数字隔离器的电路基本结构示意图;
图3为示例的一个错误的电路接收/发送端切换效果图;
图4为示例的另一个错误的电路接收/发送端切换效果图;
图5为本申请提供的一个实施例中电路接收/发送端对齐过程的切换效果图;
图6为本申请提供的另一个实施例中电路接收/发送端对齐过程的切换效果图;
图7为示例的现有的编码过程中使用单时钟采样的时钟信号示意图;
图8为示例的另一个现有的编码过程中使用单时钟采样的时钟信号示意图;
图9为本申请提供的实施例中使用双时钟采样的时钟信号示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其他实施例中也可以实现本申请。在其他情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所述描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其他特征、整体、步骤、操作、元素、组件和/或集合的存在或添加。
为使图面简洁,各图中只示意性地表示出了与发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
在本文中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体的连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。
具体实现中,本申请实施例中描述的终端设备包括但不限于诸如具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的移动电话、膝上型计算机、家教机或平板计算机之类的其他便携式设备。还应当理解的是,在某些实施例中,所述终端设备并非便携式通信设备,而是具有触摸敏感表面(例如:触摸屏显示器和/或触摸板)的台式计算机。
另外,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对照附图说明本申请的具体实施方式。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
本申请主要介绍以电容作为隔离介质的数字隔离器。但本申请的改进内容对于采用电感、光等作为介质的数字隔离器也同样适用。对于本领域的普通技术人员而言,可以结合本申请的技术启示,对采用电感、光等作为介质的数字隔离器进行改进。因此,有着相同技术构思的以电感、光等作为介质的双向数字隔离器和对应的编解码方法,也应当在本申请的保护范围之内。
现有的单向电容数字隔离器基本结构如图1所示。传输一路信号需要两个电容(差分传输),且只能单向传输。输入侧输入信号转为差分信号驱动一对隔离电容,接收端接收并放大差分信号,转化为单端信号输出。目前常使用的数字隔离器中几乎没有单通道的产品和应用,对于这些多通道产品,每增加一个通道就需要增加一组电容和发送/接收(TX/RX)电路,这两者在隔离器芯片中占大部分面积,最终芯片面积随着通道数量显著增加。
本申请为了显著减小芯片面积,降低芯片成本,通过对输入多路信号编码并采用隔离电容分时复用、双向传输的方式将隔离电容降低至一对,发送/接收(TX/RX)电路2组,对于三通道隔离器,面积缩减一半以上。
本申请实施例一:一种双向数字隔离器,包括:第一电路、第二电路,分别位于隔离电容的两侧。
所述隔离电容,用于提供绝缘屏障。
第一编解码模块、第二编解码模块,分别位于所述第一电路和所述第二电路中,用于对发送端的输入信号进行编码,对接收端接收到的信号进行解码。
信号检测模块,用于检测所述第一电路和所述第二电路的信号输入/输出状态。
开关切换模块,用于控制所述第一电路和所述第二电路在接收端与发送端之间切换。
延时检测模块,用于在所述第一电路和/或所述第二电路由发送端切换为接收端时,设置延迟时间,并在所述延迟时间内,检测所述第一电路和/或所述第二电路是否接收数据成功。
所述开关切换模块,还用于若接收数据成功则在信号接收结束后将所述第一电路和/或所述第二电路由接收端切换回发送端。
所述开关切换模块,还用于若接收数据失败则在所述延迟时间结束后将所述第一电路和/或所述第二电路由接收端切换回发送端。
在本实施例的一个实施方式中,参考说明书附图2,所述第一电路和所述第二电路分别为隔离电容的左侧电路和右侧电路。实时开关切换模块,包括开关SW1-SW4。
本实施方式中,双向数字隔离器的基本工作时序以左侧右侧各两个输入输出为例,如图2,其中,SW1、SW3闭合,SW2、SW4开启,信号由左侧传输至右侧,左侧为发送端(TX),右侧为接收端(RX),左侧两个输入经过编码(如11编码为1001)后由发送端串行输出,码字发送完成后内部时序自动切换开关状态,SW1开启,SW2闭合,右侧接收端接收串行信号并输送至解码(1001恢复为11),解码完成后,右侧内部时序也会自动切换开关状态,SW1、SW3开启,SW2、SW4闭合,延迟一定时间后开始发送信号,如此反复实现左右两侧双向信号传输,同时为了减小功耗。
本申请实施例二,在上述双向数字隔离器实施例一的基础上,还包括:
当所述信号检测模块检测到双侧输入为默认电平时,所述开关切换模块,还用于设置静态模式,在所述静态模式下,将所述第一电路和所述第二电路设置为相同的接收端。
当所述信号检测模块检测到信号输入时,所述开关切换模块,还用于解除所述静态模式。
具体的,本申请设计静态模式是为了降低功耗,在双边正常循环几次后,如果检测到接收/发送这几次都是默认电平(自己预先设定的,1或者0都行),那么系统进入静态模式,双边停止这种循环,保持为接收端(RX)状态。这时延时检测功能被屏蔽了,正常情况下双边都是同时进入静态模式。即检测到双边输入均为默认态时将双边电路保持为接收端(SW1、SW4开启,SW2、SW3闭合),检测到输入为非默认态后解除静态模式,开始下一步工作。
具体的,两边的静态模式是单独设置的,解除静态模式的时候,有以下三种情况:
1、检测到A侧电路输入非默认态电平(例如输入电平1),这时A侧解除静态模式,并切换为发送端(TX),B侧并不会有动作,保持为接收端(RX),接收到A侧发送过来的信号后B侧才解除静态模式,然后双边正常循环。
2、检测到B侧输入非默认态电平(例如输入电平1),这时B侧解除静态模式,并切换为发送端(TX),A侧并不会有动作,保持为接收端(RX),接收到B侧发送过来的信号后A侧才解除静态模式,然后双边正常循环。
3、双边同时输入非默认态电平(例如输入电平1),这时两边同时解除静态模式,并切换为发送端(TX),这个时候在两侧正常循环收发信号前,需要有个对齐过程,例如有可能刚开始左侧和右侧均为发送端(TX)或者接收端(RX),参考说明书附图2中的双边数字隔离器结构,即开关SW1、SW4闭合,SW2、SW3开启。或者开关SW1、SW4开启,SW2、SW3闭合。为了使双边能在上电后或者解除静态模式后自动对齐,本申请设计了接收延时检测(RX延迟检测),即在发送端(TX)转变为接收端(RX)后,设置一定的延迟时间来检测接收端(RX)是否接收到信号,在此延迟时间后如果接收端(RX)没有接收到信号则切换为发送端(TX),如果没有此延迟检测,可能会出现如图3所示错误,双边刚好均为发送端(TX),然后同时切换为接收端(RX),此时接收端(RX)将会一直保持住且无法传输信号。但是如果两侧延迟检测时间相同,则可能会出现如图4中的错误,双边接收端/发送端进行循环,但是由于没有对齐,无法实现正常发送接收信号。本申请将双边延迟检测时间设置的不同并使得某一侧的时间足够长,保证能够接收到另一侧下一次的TX信号,如图5所示,当双边TX遇上后同时切换为接收端(RX),此时右侧延迟检测时间较短,会先于左侧切换为TX,由于左侧检测时间足够长,能够接收到右侧TX信号,如此双边信号对齐。
本实施例的实施方式一:当所述信号检测模块检测到单侧信号输入(非默认电平输入)时,所述开关切换模块,还用于解除所述静态模式。将检测到输入为非默认电平的一侧(所述第一电路)切换为发送端。
当所述第一电路为发送端,所述第二电路为接收端时。所述第一编解码模块用于对所述输入信号进行编码。并通过所述隔离电容将编码产生的串行信号发送至所述第二电路。所述第二编解码模块用于接收所述串行信号并进行解码。
本实施例的实施方式二:当所述信号检测模块检测到单侧信号输入(非默认电平输入)时,所述开关切换模块,还用于解除所述静态模式。将检测到输入为非默认电平的一侧(所述第二电路)切换为发送端。
当所述第一电路为接收端,所述第二电路为发送端时。所述第二编解码模块用于对所述输入信号进行编码。并通过所述隔离电容将编码产生的所述串行信号发送至所述第一电路。所述第一编解码模块用于接收所述串行信号并进行解码。
本实施例的实施方式三:当所述信号检测模块检测到同时有双侧信号输入(非默认电平输入)时,所述开关切换模块,还用于解除所述静态模式,将所述第一电路和第二电路均切换为发送端。
再进行双边对齐:将所述第一电路切换为接收端,所述延时检测模块,还用于设置第一延迟时间,在所述第一延迟时间内检测所述第一电路是否接收数据成功。
将所述第二电路切换为接收端,所述延时检测模块,还用于设置第二延迟时间,在所述第二延迟时间内检测所述第二电路是否接收数据成功。所述第一延迟时间不等于所述第二延迟时间。
若所述第一延迟时间小于所述第二延迟时间,所述第一电路接收数据失败,在所述第一延迟时间结束后,所述开关切换模块,还用于将所述第一电路由接收端切换回发送端。此时所述第二电路为接收端,用于接收数据。
此时所述第一电路为发送端,所述第二电路为接收端。所述第一编解码模块用于对所述输入信号进行编码。并通过所述隔离电容将编码产生的串行信号发送至所述第二电路。所述第二编解码模块用于接收所述串行信号并进行解码。
本实施例的实施方式四:当所述信号检测模块检测到同时有双侧信号输入(非默认电平输入)时,所述开关切换模块,还用于解除所述静态模式,将所述第一电路和第二电路均切换为发送端。
再进行双边对齐:将所述第一电路切换为接收端,所述延时检测模块,还用于设置第一延迟时间,在所述第一延迟时间内检测所述第一电路是否接收数据成功。
将所述第二电路切换为接收端,所述延时检测模块,还用于设置第二延迟时间,在所述第二延迟时间内检测所述第二电路是否接收数据成功。所述第一延迟时间不等于所述第二延迟时间。
若所述第一延迟时间大于所述第二延迟时间,所述第二电路接收数据失败,在所述第二延迟时间结束后,所述开关切换模块,还用于将所述第二电路由接收端切换回发送端,此时所述第一电路为接收端,用于接收数据。
此时所述第一电路为接收端,所述第二电路为发送端。所述第二编解码模块用于对所述输入信号进行编码。并通过所述隔离电容将编码产生的所述串行信号发送至所述第一电路。所述第一编解码模块用于接收所述串行信号并进行解码。
本申请实施例三,在上述任意一中双向数字隔离器实施方式的基础上,还包括:
第一时钟采样电路,用于对接收到的所述串行信号进行采样解码时,采集高电平信号。
第二时钟采样电路,用于对接收到的所述串行信号进行采样解码时,采集低电平信号。
具体的,本申请的编码第一位码字称为头码,用于解码端识别信号开始传输,此码字与接收端(解码端)复位态相反,本申请中设置为1,接收端(RX)复位状态设置为0,接收端接收到由1开始的固定位数码字(对应的编码位数)后认为接收完成,自动切换为发送端(TX)。在两侧对齐过程中,可能会出现如图6所示时序,双边发送端(TX)并不是完全对齐,导致右侧接收端(RX)会接收到左侧发送端(TX)的后几位信号。发送端(TX)真实传输过程如图7所示,其传输的为数字信号,高(1)/低(0)为电源/地电压,本申请采用的接收端(RX)在使用时输入电压约为电源电压,在发送端(TX)切换为接收端(RX)过程中,随着最后一位码字发送完成,传输信号边沿(TXP和TXN)均会变为高,那对于不同码字,这个边沿可能会被接收端(RX)接收到(因为这个差分信号强度只有通常信号的一半,所以不是必然会接收到,取决于电路的接收能力,这在不同温度不同电压或不同工艺角下均不相同),所以对于xxx会是111或者000。那么对于图6所示情况右侧可能会接收到的信号为1000或者1111,如果编码中有这两个数据那么就可能会被误识别,例如输入01被编码为1001,输入11被编码为1000,此时出现图6的情况,右侧输出为11,在对齐过程中产生误码。根据上述理论,需要在编码中避免可能会被误接收的码字,或者将00(默认态)选作可能被误识别的码字(对于本申请来说,对齐过程正常情况下只可能发生在上电完成时或者解除静态模式时,此时输出必然为默认态,所以对齐时被误识别为00输出不会出错),对于2位输入的情况,需要至少4位编码。
另外由于传输的串行信号中没有时钟信号,对解码造成一定的困难,通常的解码方法为对输入的串行码字在接收端产生一个时钟采样,如图8所示,但是即便解码时钟采用和编码时钟完全相同的产生电路,由于失配和加工工艺角的存在,可能会造成采样的错误。对于2位输入,如图8的采样方式,两侧时钟周期长度的失配会被累加,图8中整个连续采样的时间为3.5T(T为编码时钟周期时间,采样时钟由接收端(RX)上升沿开启,最后一次采样结束),能忍耐的失配时间为0.5T(解码时钟的3.5T增长或缩短0.5T即会采样错误),能忍耐的失配比例为0.5T/3.5T≈14%(不同芯片上的时钟电路可能存在高至20%的失配),并且对于更多位数的输入编码此情况更严重。针对上述情况,本申请设计了双时钟采样,如图9所示,采用两个时钟电路,分别采样接收信号的高电平和低电平,当检测到接收为1时,启动CLKH,采样高电平,当检测到接收为0时,启动CLKL,采样低电平,通过合理设置编码中连续1或0的长度,此方案对于失配的容忍远大于前述方案,对于2位输入,可以将编码设置为最多2位连续,此时单独的采样时长最多1.5T,能忍耐的失配时间仍为0.5T,能忍耐的失配比例为0.5T/1.5T≈33%,这远高于电路中可能存在的失配,并且对于多位输入也不会显著增加失配造成的影响。
基于相同的技术构思,本申请还公开了一种双向数字隔离器的编解码方法,该方法应用于上述任意一种双向数字隔离器,具体的,本申请的一种双向数字隔离器的编解码方法实施例一,包括:
当检测到所述数字隔离器双侧输入为默认电平时,设置静态模式,在所述静态模式下,将所述第一电路和所述第二电路设置为相同的接收端。
具体的,静态模式是为了降低功耗,在双边正常循环几次后,如果检测到接收/发送这几次都是默认电平(自己预先设定的,1或者0都行),那么系统进入静态模式,双边停止这种循环,保持为RX状态。这时延时检测功能被屏蔽了,正常情况下双边都是同时进入静态模式。
当检测到所述数字隔离器有信号输入时,解除所述静态模式。
本实施例的实施方式一:
当所述信号检测模块检测到单侧信号输入(非默认电平输入)时,通过所述开关切换模块,解除所述静态模式。将检测到输入为非默认电平的一侧(所述第一电路)切换为发送端。此时,所述第一电路为发送端,所述第二电路为接收端。通过所述第一电路中的第一编解码模块对所述输入信号进行编码。并通过所述隔离电容将编码产生的串行信号发送至所述第二电路。通过所述第二电路中的第二编解码模块接收所述串行信号并进行解码。
本实施例的实施方式二:
当所述信号检测模块检测到单侧信号输入(非默认电平输入)时,通过所述开关切换模块,解除所述静态模式。将检测到输入为非默认电平的一侧(所述第二电路)切换为发送端。此时,所述第一电路为接收端,所述第二电路为发送端。通过所述第二电路中的第二编解码模块对所述输入信号进行编码。并通过所述隔离电容将编码产生的所述串行信号发送至所述第一电路。通过所述第一电路中的第一编解码模块接收所述串行信号并进行解码。
本实施例的实施方式三:
当所述信号检测模块检测到同时有双侧信号输入(非默认电平输入)时,通过所述开关切换模块,解除所述静态模式,将所述第一电路和第二电路均切换为发送端。
再进行双边对齐:将所述第一电路切换为接收端,通过所述延时检测模块,设置第一延迟时间,在所述第一延迟时间内检测所述第一电路是否接收数据成功。
将所述第二电路切换为接收端,通过所述延时检测模块,设置第二延迟时间,在所述第二延迟时间内检测所述第二电路是否接收数据成功。所述第一延迟时间不等于所述第二延迟时间。
若所述第一延迟时间小于所述第二延迟时间,所述第一电路接收数据失败,在所述第一延迟时间结束后,将所述第一电路由接收端切换回发送端。此时所述第二电路为接收端,用于接收数据。
此时,所述第一电路为发送端,所述第二电路为接收端。通过所述第一电路中的第一编解码模块对所述输入信号进行编码。并通过所述隔离电容将编码产生的串行信号发送至所述第二电路。通过所述第二电路中的第二编解码模块接收所述串行信号并进行解码。
本实施例的实施方式四:
当所述信号检测模块检测到同时有双侧信号输入(非默认电平输入)时,通过所述开关切换模块,解除所述静态模式,将所述第一电路和第二电路均切换为发送端。
再进行双边对齐:将所述第一电路切换为接收端,通过所述延时检测模块,设置第一延迟时间,在所述第一延迟时间内检测所述第一电路是否接收数据成功。
将所述第二电路切换为接收端,通过所述延时检测模块,设置第二延迟时间,在所述第二延迟时间内检测所述第二电路是否接收数据成功。所述第一延迟时间不等于所述第二延迟时间。
若所述第一延迟时间大于所述第二延迟时间,所述第二电路接收数据失败,在所述第二延迟时间结束后,将所述第二电路由接收端切换回发送端,此时所述第一电路为接收端,用于接收数据。
此时,所述第一电路为接收端,所述第二电路为发送端。通过所述第二电路中的第二编解码模块对所述输入信号进行编码。并通过所述隔离电容将编码产生的所述串行信号发送至所述第一电路。通过所述第一电路中的第一编解码模块接收所述串行信号并进行解码。
本申请提供的一种双向数字隔离器的编解码方法的实施例二,在上述任意一个实施方式的技术上,还包括以下步骤:对接收到的所述串行信号进行采样解码时,通过第一时钟采样电路和第二时钟采样电路,分别采集所述串行信号的高电平信号和低电平信号。
具体的,本申请的编码第一位码字称为头码,用于解码端识别信号开始传输,此码字与接收端(解码端)复位态相反,本申请中设置为1,接收端(RX)复位状态设置为0,接收端接收到由1开始的固定位数码字(对应的编码位数)后认为接收完成,自动切换为发送端(TX)。在两侧对齐过程中,可能会出现如图6所示时序,双边发送端(TX)并不是完全对齐,导致右侧接收端(RX)会接收到左侧发送端(TX)的后几位信号。发送端(TX)真实传输过程如图7所示,其传输的为数字信号,高(1)/低(0)为电源/地电压,本申请采用的接收端(RX)在使用时输入电压约为电源电压,在发送端(TX)切换为接收端(RX)过程中,随着最后一位码字发送完成,传输信号边沿(TXP和TXN)均会变为高,那对于不同码字,这个边沿可能会被接收端(RX)接收到(因为这个差分信号强度只有通常信号的一半,所以不是必然会接收到,取决于电路的接收能力,这在不同温度不同电压或不同工艺角下均不相同),所以对于xxx会是111或者000。那么对于图6所示情况右侧可能会接收到的信号为1000或者1111,如果编码中有这两个数据那么就可能会被误识别,例如输入01被编码为1001,输入11被编码为1000,此时出现图6的情况,右侧输出为11,在对齐过程中产生误码。根据上述理论,需要在编码中避免可能会被误接收的码字,或者将00(默认态)选作可能被误识别的码字(对于本申请来说,对齐过程正常情况下只可能发生在上电完成时或者解除静态模式时,此时输出必然为默认态,所以对齐时被误识别为00输出不会出错),本申请将上述编码方式称为非交叠编码,对于2位输入的情况,需要至少4位编码。
另外由于传输的串行信号中没有时钟信号,对解码造成一定的困难,通常的解码方法为对输入的串行码字在接收端产生一个时钟采样,如图8所示,但是即便解码时钟采用和编码时钟完全相同的产生电路,由于失配和加工工艺角的存在,可能会造成采样的错误。对于2位输入,如图8的采样方式,两侧时钟周期长度的失配会被累加,图8中整个连续采样的时间为3.5T(T为编码时钟周期时间,采样时钟由接收端(RX)上升沿开启,最后一次采样结束),能忍耐的失配时间为0.5T(解码时钟的3.5T增长或缩短0.5T即会采样错误),能忍耐的失配比例为0.5T/3.5T≈14%(不同芯片上的时钟电路可能存在高至20%的失配),并且对于更多位数的输入编码此情况更严重。针对上述情况,本申请设计了双时钟采样,如图9所示,采用两个时钟电路,分别采样接收信号的高电平和低电平,当检测到接收为1时,启动CLKH,采样高电平,当检测到接收为0时,启动CLKL,采样低电平,通过合理设置编码中连续1或0的长度,此方案对于失配的容忍远大于前述方案,对于2位输入,可以将编码设置为最多2位连续,此时单独的采样时长最多1.5T,能忍耐的失配时间仍为0.5T,能忍耐的失配比例为0.5T/1.5T≈33%,这远高于电路中可能存在的失配,并且对于多位输入也不会显著增加失配造成的影响。
本申请的一种双向数字隔离器和编解码方法具有相同的技术构思,二者的实施例的技术细节可相互适用,为减少重复,此次不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的程序模块完成,即将所述装置的内部结构划分成不同的程序单元或模块,以完成以上描述的全部或者部分功能。实施例中的各程序模块可以集成在一个处理单元中,也可是各个单元单独物理存在,也可以两个或两个以上单元集成在一个处理单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件程序单元的形式实现。另外,各程序模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述或记载的部分,可以参见其他实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件,或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其他的方式实现。示例性的,以上所描述的装置实施例仅仅是示意性的,示例性的,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,示例性的,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性、机械或其他的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,既可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可能集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
- 一种高压双向输入电流的数字隔离器电路及数字隔离器
- 一种数字隔离器双输出编解码系统及方法