LC9723_IC芯片在叶轮式流量仪表中的应用
摘要:
目前在工业用和民用的供水、供气、供暖计量应用中,如电子类水表、热量表、燃气表等都应用大量的叶轮式流量计。由于这些流量计的工作原理相同,都是由液体和气体的流动推动叶轮旋转,理论上叶轮的转动速度与流速成正比关系,通过测量叶轮的转速来计算流量。但由于结构的制造工艺不一致和运动件旋转摩擦等不确定因素的存在,使叶轮的转速在某些流量范围内与流速的关系存在误差,将叶轮的转速(通过测量)与实际各种不同流量之间的关系画成曲线就是流量误差关系曲线。为了在实际应用中更好的使流量误差曲线平直以减少误差,就要用可行的方法根据曲线的特性对该曲线通过电子的方法进行校正,通过此方法在某种程度上可拓宽其量程比。这就大大降低了通过改进机械结构来修正流量曲线在效果和范围上的难度。本文针对上述问题介绍微功耗LC9723-IC芯片在叶轮式流量计中的应用。
1 芯片概述
1.1 技术状况与技术领域
LC9723-IC芯片是以发明专利“幅度频率变化差异比较式采样器”(专利号20081038789.1)为基础设计的高性能传感器芯片。采用本芯片构成的非接触式采样的传感器具有如下特点:A,采样器频率为超声波段,具有良好的穿透性,功耗极低,工作电流小于7μA,适用于要求微功耗的流量计;B,受环境温度影响小,适用温度范围宽,抗干扰性能优良,适合环境条件差的场合;C,具有存储功能,自带数字通信接口与通信协议,应用方便,误码率低,可以与高、中、低各种档次的MCU、通用PC计算机实现通信,并且具有优良传输能力,智能化程度高。
应用LC9723-IC芯片构成微功耗流量传感器,可以直接应用在热量表、智能水表、燃气表、燃料加油机、测速仪等多种智能仪表中,具有广阔的应用前景。
1.2 应用设计框图
1.3 基本工作原理
LC9723-IC芯片分为模拟、数字两个部分。
模拟部分:LC9723-IC芯片是应用幅度频率变化差异比较式采样器工作原理以集成电路方式加以实现。振荡器连接具有聚焦性能的线圈(片外器件),并由此线圈发射电磁波;被测物(金属片)进入探测有效区域时,产生回波,被线圈接收,当被测物(金属片)离开有效探测区域时,恢复初始状态,此变化定义为系统内部特征量的变化,产生有效信号。当被测物体振动或者按轴向窜动时,幅度的变化速度比正常情况下要大得多,发生时间极短,基本上来不及引起频率瞬间的变化,造成转换电压的变化,或者变化极小,或者相互抵消,对于幅度突变而引起的误码具有良好的抑制作用,从而降低误码发生的几率。当系统受到来自外部的强静磁或强电磁场的干扰时,采样电磁波的幅度与频率转电压值产生同向而且同步的变化,此变化定义为系统外部特征量的变化;不能满足产生有效信号的条件,因此具有高性能的抗干扰能力。有效信号被比较器检出,由触发器通过驱动电路处理并输出,同时通过刷新电路对基准进行刷新,精确的反映不同时刻的瞬时值;本芯片有时间控制、确定的阈值设计,各功能块之间电位定义严格,以实现芯片的高性能指标。
采样部分有potential_pulse_out;fixed_pulse_out ;delay_pulse_out三种信号输出,均产生计数信号。其中potential_pulse_out电平脉冲,用以产生中断,唤醒休眠状态的计算机;fixed_pulse_out 正脉宽20μs, delay_pulse_out比fixed_pulse_out延迟20μs用以识别正反转。
数字部分:LC9723-IC芯片的数字部分主要是完成计数与通信功能。
对金属片进出探测区域内的次数进行计数,并同步存入32位计数器;MCU与本芯片通信时,MCU发送指令,先将计数器中的数据拷贝到寄存器中,再读取寄存器中的数据。不需要通信时,数字部分进入静态省电模式。在需要测量瞬时流速时,只要定时读取LC9723-IC中的数据,即可容易的得到瞬时流速。
LC9723-IC芯片有供电工作方式和外供电工作方式。能实现两种供电方式之间的无缝隙转接,以方便通信(如智能仪表的远程抄表)。
1.4 技术指标
工作电压:DC 2.0~5.5V 推荐DC 2.2~5V
平均工作电流:5~7μA
上电复位时间:3ms
工作温度范围:–25~125℃
探测物质: 铜、铁、铝、不锈钢等
探测距离:3mm < d < 7mm
采样方式: 非接触式无磁性采样
采样频率:1~1500Hz,采样精度1/10000
时钟频率:32kHz~4MHz
通信方式:异步通信,传输距离100m,信号模式,电平信号
抗干扰能力:满足相关应用领域现行芯片电磁兼容标准
封装形式:TSSOP14,TSSOP16,TSSOP20,TSSOP24体积小,方便应用。
2 应用实例
2.1 LC9723-IC芯片在热量表上的应用
2.1.1 热量表基本原理简述
热量表的工作原理是比较简单的,概括的讲就是通过流量传感器测量出载热流体的体积,并计算出相应的质量;由温度传感器,测量出载热流体在通过散热器的进出口的温差;最后由积分仪计算出相应热量。
2.1.2 目前热量表在应用中存在的问题分析
热量表的问题重点仍然集中在流量的采集与流量误差曲线的校正上,目前使用的较大一部分热量表是采用有磁流量传感器,少部分采用无磁方案。有磁流量传感器在热量表的实际使用中存在着许多的缺点,如:磁钢在热水中的退磁,磁钢吸附水中的铁锈等等,业界与用户已经很清楚了。随着无磁流量传感器的不断成熟和发展,有磁流量传感器将逐步被无磁流量传感器所取代。但是不论哪种传感器对基表流量曲线的校正还是相当麻烦的,在编程中上的难度也较大,其功耗与可靠性均达不到理想的效果,同时使制造难度和成本大大增加。
2.1.3 应用LC9723-IC芯片解决上述问题是目前最好方法
应用LC9723-IC芯片解决上述问题就变得非常简单,因为LC9723-IC芯片采样器实现无磁采样,正确反映叶轮转动圈数,其数字电路部分包括32位计数器、32位寄存器、控制器、通信接口,并自带通信协议,时钟频率在32kHz~4MHz范围内均可选择。工作原理是计数器实时记录采样器产生的流量脉冲,需要读取传感器数据时,只需上位单片机给传感器芯片送入外接CLOCK,并发出指令即COPY和READ命令,此时传感器芯片在几毫秒或几十微秒内把数据传给单片机,单片机停掉此CLOCK,传感器芯片数字部分进入静态模式,功耗仅几个纳安,由单片机处理取回的数据。
单片机向传感器芯片发出COPY指令时,是将计数器内的数据复制到寄存器中,在纳秒级的时间内完成,并有触发沿时间保护,此过程不影响计数器的正常计数;在发出READ命令时单片机将寄存器中的数据取回,并送入响应的通讯接口,此操作不影响计数器的正常工作,与单片机通讯时不影响传感器正常采样与计数。
应用LC9723-IC传感器,单片机只要定时与传感器通讯读取数据,即可得到流量计的瞬时流量,同时根据基表各流量点的当量(或叫流量系数),就可以修正成准确值。把每次瞬时流量累计即可得到累计流量,因此在热量表上均可以实现流量曲线的校正功能。如下图:
典型的流量-误差曲线
电子修正后的流量-误差曲线
由此可以看出应用LC9723-IC芯片后可以使流量计的流量误差曲线更加平直,计量精度得到进一步提高,且在一定误差范围内的量程比拓宽了。另外,对于单片机的选型面也大大拓宽,而不仅限制于微功耗的几种单片机上,单片机以实现间歇工作,即分时工作模式。在热量表上除测量温度、计算热量外,其它时间均可进入休眠模式,工休比可达到1/50~1/100,降低功耗效果十分显著。在LC9723-IC芯片上有一个potential_pulse_out管脚输出电平脉冲信号,以解决无流量时单片机长时间休眠的唤醒。这种做法应用可以使热量表平均总功耗达到小于20微安功耗指标。
2.1.4 对热量表的升级
原温度测量方法不变,仅将流量测量改为LC9723-IC芯片工作模式。
2.2 LC9723-IC芯片在其他仪表上的应用简介
2.2.1 LC9723-IC芯片在电子水表上的应用。电子水表其种类比较多,主要有各类卡式表、电子计量式水表、GPRS电子式远传水表。目前的采样方式多为干簧管式,以及少量的霍尔元件的,都不能满足流量误差校正的需要。因此,应用LC9723-IC芯片即可非常容易的解决这一问题。其方法与热量表流量测量方法完全相同。其他功能增加了阀门的控制,通信部件不变。
2.2.2 LC9723-IC芯片在燃气表上的应用。与电子水表上的应用极其类似,唯一不同的是,流量曲线不同。其防爆问题上,LC9723-IC芯片是不接触煤气气体的,由于LC9723-IC芯片制面部件,本身就是微功耗、低电压的,完全密封后与单片机放在个防爆壳体里面的,应用非常简便,且具有高可靠性。
2.2.3 LC9723-IC芯片在转速表上的应用。对于LC9723-IC芯片在转速表上的应用是最简单的,只需定时通信,读取测量数据。
总之,应用 LC9723-IC芯片在各类流量计上除实现其微功耗及其它一系列的优点和好处外,更重要的是,可大幅提高计量精度,并在一定程度上拓宽量程比。
3 编程要点
LC9723-IC数字部分由控制器模块、指令接收模块、数据发送模块和计数器模块组成,可实时对由LC9723-IC模拟部分产生的脉冲信号(上升沿)进行计数,并通过3个引脚以串行方式与MCU通讯,实现读取计数器结果、计数器清零及误码重读功能。电路通过模拟部分提供的复位信号实现上电复位功能,LC9723-IC内置32位计数器和寄存器。
输入信号pulse由LC9723-IC模拟部分提供,与计数器模块连接,计数器在pulse信号上升沿进行计数。
输入信号rst_n由LC9723-IC 模拟部分提供,对全部模块进行复位,低电平有效。
输入信号clk由外部MCU提供,与控制器模块、指令接收模块和数据发送模块连接,为电路提供时钟信号,上升沿触发。
输入信号data_in由外部MCU提供,与指令接收模块连接,对电路工作状态进行控制,串行接受指令。
输出信号data_in由数据发送模块提供,与外部MCU输入端口连接,串行发送数据。
3.1 接口时序
3.1.1 指令接收及发送数据时序
Tinit:电路初始时间,5个时钟周期,该时间段及无时钟阶段电路均不接收指令。若前一次通讯为异常退出,则LC9723-IC的Tinit为45个周期。
Twait:输出响应时间,5个时钟周期,即电路将在收到正确指令5个时钟周期后从输出端data_out发送数据。
Twork:收到正确指令后电路工作时间,该时间段内电路不再接收其他指令。LC9723-IC Twork为40个时钟周期。
Tstop:电路完成工作至关闭时钟的时间,5个时钟周期,以确保电路已完成全部操作。
空闲时间段,MCU应发送高电平1(即data_in=1,clk=0)以保证LC9723-IC 处于等待模式,同时LC9723-IC输出端data_out将维持高电平1。
3.1.2 异常指令处理
LC9723-IC对错误指令不做任何响应(包括指令错误,偶校验错误,结束位错误)。
3.1.3 指令/数据传输时序
LC9723-IC设计使用时钟信号上升沿收发数据,因此为保证数据收发稳定可靠,MCU应尽量使用时钟下降沿进行数据收发。
3.2 指令和数据
LC9723-IC共包含两条指令COPY和READ,通过data_in串行接收,通过data_out串行发送。
3.2.1指令构成
指令共6位,其中包括1位起始位,3位指令位,1位偶校验位和1位结束位。
3.2.2 数据构成
LC9723-IC输出数据共35位,其中包括1位起始位,32位数据位,1位偶校验位和1位结束位。
3.2.3 COPY指令
收到COPY指令后,电路将计数器counter中的数据拷贝到寄存器counter_reg中,并将计数器counter清零,同时data_out发送全零数据。
3.2.4 READ指令
收到READ指令后,电路将寄存器counter_reg中的数据通过data_out发送。
3.3 操作
基于当前指令集,MCU可实现实时计数结果读取操作,并且可以对数据/指令传输异常进行有效处理。
3.3.1 操作步骤
3.3.1.1 实时计数结果读取
当MCU需要读取当前计数结果时,先向LC9723-IC发送一个COPY指令,待收到正确回应后再发送一个READ指令,即可完成实时计数结果读取操作。
3.3.1.2 READ指令异常处理
当MCU发出READ指令后收到的数据异常(未能按时收到数据、偶校验错误、结束位错误)时,可向LC9723-IC再次发送一个READ指令,以实现计数结果重读操作。
3.3.1.3 COPY指令异常处理
当MCU发出COPY指令后收到的数据异常(收到数据非32’h0、未能按时收到数据、偶校验错误、结束位错误),应向LC9723-IC发送READ指令,读取寄存器数据,通过将本次读取的数据与前次读取数据进行比较判断LC9723-IC是否已经完成COPY操作,如果未完成操作,则需重新发送COPY指令。
切勿连续发送COPY指令,从而导致LC9723-IC连续对计数器清零,使得计数结果丢失。
Copy指令执行时MCU不要产生中断,应保持时钟正常发送,待到Copy指令正常执行完毕后再进行中断。
3.3.2 操作实例
3.3.2.1 初始化
向data_in发送高电平1并保持,再为电路提供时钟信号clk,5个时钟周期后即可发送指令,此时电路进入等待状态,data_out输出1。
寄存器counter_reg复位后初始状态为全零(16’h0 / 32’h0)。
3.3.2.2 发送指令
当电路处于等待状态时,通过data_in向电路发送完整的指令信号,包括起始位、指令位、偶校验位及结束位。
当电路接收到正确指令后进入工作状态。
当电路接收到错误指令(包括指令错误,偶校验错误,结束位错误)后,继续处于等待状态,data_out保持1。
为保证电路正常接收指令,应尽量在时钟信号下降沿附近进行指令发送。
3.3.2.3 接收数据
电路进入工作状态5个时钟周期(Twait)内data_out保持1,5个时钟周期后会进行数据发送,LC9723-IC将发送35位数据。
数据发送完成后电路进入等待状态,data_out输出1。
3.3.2.4 关闭电路
数据发送完成5个时钟周期后,可停止发送时钟信号(保持0),此时电路不接收任何指令,data_out保持1。
目前在工业用和民用的供水、供气、供暖计量应用中,如电子类水表、热量表、燃气表等都应用大量的叶轮式流量计。由于这些流量计的工作原理相同,都是由液体和气体的流动推动叶轮旋转,理论上叶轮的转动速度与流速成正比关系,通过测量叶轮的转速来计算流量。但由于结构的制造工艺不一致和运动件旋转摩擦等不确定因素的存在,使叶轮的转速在某些流量范围内与流速的关系存在误差,将叶轮的转速(通过测量)与实际各种不同流量之间的关系画成曲线就是流量误差关系曲线。为了在实际应用中更好的使流量误差曲线平直以减少误差,就要用可行的方法根据曲线的特性对该曲线通过电子的方法进行校正,通过此方法在某种程度上可拓宽其量程比。这就大大降低了通过改进机械结构来修正流量曲线在效果和范围上的难度。本文针对上述问题介绍微功耗LC9723-IC芯片在叶轮式流量计中的应用。
1 芯片概述
1.1 技术状况与技术领域
LC9723-IC芯片是以发明专利“幅度频率变化差异比较式采样器”(专利号20081038789.1)为基础设计的高性能传感器芯片。采用本芯片构成的非接触式采样的传感器具有如下特点:A,采样器频率为超声波段,具有良好的穿透性,功耗极低,工作电流小于7μA,适用于要求微功耗的流量计;B,受环境温度影响小,适用温度范围宽,抗干扰性能优良,适合环境条件差的场合;C,具有存储功能,自带数字通信接口与通信协议,应用方便,误码率低,可以与高、中、低各种档次的MCU、通用PC计算机实现通信,并且具有优良传输能力,智能化程度高。
应用LC9723-IC芯片构成微功耗流量传感器,可以直接应用在热量表、智能水表、燃气表、燃料加油机、测速仪等多种智能仪表中,具有广阔的应用前景。
1.2 应用设计框图
1.3 基本工作原理
LC9723-IC芯片分为模拟、数字两个部分。
模拟部分:LC9723-IC芯片是应用幅度频率变化差异比较式采样器工作原理以集成电路方式加以实现。振荡器连接具有聚焦性能的线圈(片外器件),并由此线圈发射电磁波;被测物(金属片)进入探测有效区域时,产生回波,被线圈接收,当被测物(金属片)离开有效探测区域时,恢复初始状态,此变化定义为系统内部特征量的变化,产生有效信号。当被测物体振动或者按轴向窜动时,幅度的变化速度比正常情况下要大得多,发生时间极短,基本上来不及引起频率瞬间的变化,造成转换电压的变化,或者变化极小,或者相互抵消,对于幅度突变而引起的误码具有良好的抑制作用,从而降低误码发生的几率。当系统受到来自外部的强静磁或强电磁场的干扰时,采样电磁波的幅度与频率转电压值产生同向而且同步的变化,此变化定义为系统外部特征量的变化;不能满足产生有效信号的条件,因此具有高性能的抗干扰能力。有效信号被比较器检出,由触发器通过驱动电路处理并输出,同时通过刷新电路对基准进行刷新,精确的反映不同时刻的瞬时值;本芯片有时间控制、确定的阈值设计,各功能块之间电位定义严格,以实现芯片的高性能指标。
采样部分有potential_pulse_out;fixed_pulse_out ;delay_pulse_out三种信号输出,均产生计数信号。其中potential_pulse_out电平脉冲,用以产生中断,唤醒休眠状态的计算机;fixed_pulse_out 正脉宽20μs, delay_pulse_out比fixed_pulse_out延迟20μs用以识别正反转。
数字部分:LC9723-IC芯片的数字部分主要是完成计数与通信功能。
对金属片进出探测区域内的次数进行计数,并同步存入32位计数器;MCU与本芯片通信时,MCU发送指令,先将计数器中的数据拷贝到寄存器中,再读取寄存器中的数据。不需要通信时,数字部分进入静态省电模式。在需要测量瞬时流速时,只要定时读取LC9723-IC中的数据,即可容易的得到瞬时流速。
LC9723-IC芯片有供电工作方式和外供电工作方式。能实现两种供电方式之间的无缝隙转接,以方便通信(如智能仪表的远程抄表)。
1.4 技术指标
工作电压:DC 2.0~5.5V 推荐DC 2.2~5V
平均工作电流:5~7μA
上电复位时间:3ms
工作温度范围:–25~125℃
探测物质: 铜、铁、铝、不锈钢等
探测距离:3mm < d < 7mm
采样方式: 非接触式无磁性采样
采样频率:1~1500Hz,采样精度1/10000
时钟频率:32kHz~4MHz
通信方式:异步通信,传输距离100m,信号模式,电平信号
抗干扰能力:满足相关应用领域现行芯片电磁兼容标准
封装形式:TSSOP14,TSSOP16,TSSOP20,TSSOP24体积小,方便应用。
2 应用实例
2.1 LC9723-IC芯片在热量表上的应用
2.1.1 热量表基本原理简述
热量表的工作原理是比较简单的,概括的讲就是通过流量传感器测量出载热流体的体积,并计算出相应的质量;由温度传感器,测量出载热流体在通过散热器的进出口的温差;最后由积分仪计算出相应热量。
2.1.2 目前热量表在应用中存在的问题分析
热量表的问题重点仍然集中在流量的采集与流量误差曲线的校正上,目前使用的较大一部分热量表是采用有磁流量传感器,少部分采用无磁方案。有磁流量传感器在热量表的实际使用中存在着许多的缺点,如:磁钢在热水中的退磁,磁钢吸附水中的铁锈等等,业界与用户已经很清楚了。随着无磁流量传感器的不断成熟和发展,有磁流量传感器将逐步被无磁流量传感器所取代。但是不论哪种传感器对基表流量曲线的校正还是相当麻烦的,在编程中上的难度也较大,其功耗与可靠性均达不到理想的效果,同时使制造难度和成本大大增加。
2.1.3 应用LC9723-IC芯片解决上述问题是目前最好方法
应用LC9723-IC芯片解决上述问题就变得非常简单,因为LC9723-IC芯片采样器实现无磁采样,正确反映叶轮转动圈数,其数字电路部分包括32位计数器、32位寄存器、控制器、通信接口,并自带通信协议,时钟频率在32kHz~4MHz范围内均可选择。工作原理是计数器实时记录采样器产生的流量脉冲,需要读取传感器数据时,只需上位单片机给传感器芯片送入外接CLOCK,并发出指令即COPY和READ命令,此时传感器芯片在几毫秒或几十微秒内把数据传给单片机,单片机停掉此CLOCK,传感器芯片数字部分进入静态模式,功耗仅几个纳安,由单片机处理取回的数据。
单片机向传感器芯片发出COPY指令时,是将计数器内的数据复制到寄存器中,在纳秒级的时间内完成,并有触发沿时间保护,此过程不影响计数器的正常计数;在发出READ命令时单片机将寄存器中的数据取回,并送入响应的通讯接口,此操作不影响计数器的正常工作,与单片机通讯时不影响传感器正常采样与计数。
应用LC9723-IC传感器,单片机只要定时与传感器通讯读取数据,即可得到流量计的瞬时流量,同时根据基表各流量点的当量(或叫流量系数),就可以修正成准确值。把每次瞬时流量累计即可得到累计流量,因此在热量表上均可以实现流量曲线的校正功能。如下图:
典型的流量-误差曲线
电子修正后的流量-误差曲线
由此可以看出应用LC9723-IC芯片后可以使流量计的流量误差曲线更加平直,计量精度得到进一步提高,且在一定误差范围内的量程比拓宽了。另外,对于单片机的选型面也大大拓宽,而不仅限制于微功耗的几种单片机上,单片机以实现间歇工作,即分时工作模式。在热量表上除测量温度、计算热量外,其它时间均可进入休眠模式,工休比可达到1/50~1/100,降低功耗效果十分显著。在LC9723-IC芯片上有一个potential_pulse_out管脚输出电平脉冲信号,以解决无流量时单片机长时间休眠的唤醒。这种做法应用可以使热量表平均总功耗达到小于20微安功耗指标。
2.1.4 对热量表的升级
原温度测量方法不变,仅将流量测量改为LC9723-IC芯片工作模式。
2.2 LC9723-IC芯片在其他仪表上的应用简介
2.2.1 LC9723-IC芯片在电子水表上的应用。电子水表其种类比较多,主要有各类卡式表、电子计量式水表、GPRS电子式远传水表。目前的采样方式多为干簧管式,以及少量的霍尔元件的,都不能满足流量误差校正的需要。因此,应用LC9723-IC芯片即可非常容易的解决这一问题。其方法与热量表流量测量方法完全相同。其他功能增加了阀门的控制,通信部件不变。
2.2.2 LC9723-IC芯片在燃气表上的应用。与电子水表上的应用极其类似,唯一不同的是,流量曲线不同。其防爆问题上,LC9723-IC芯片是不接触煤气气体的,由于LC9723-IC芯片制面部件,本身就是微功耗、低电压的,完全密封后与单片机放在个防爆壳体里面的,应用非常简便,且具有高可靠性。
2.2.3 LC9723-IC芯片在转速表上的应用。对于LC9723-IC芯片在转速表上的应用是最简单的,只需定时通信,读取测量数据。
总之,应用 LC9723-IC芯片在各类流量计上除实现其微功耗及其它一系列的优点和好处外,更重要的是,可大幅提高计量精度,并在一定程度上拓宽量程比。
3 编程要点
LC9723-IC数字部分由控制器模块、指令接收模块、数据发送模块和计数器模块组成,可实时对由LC9723-IC模拟部分产生的脉冲信号(上升沿)进行计数,并通过3个引脚以串行方式与MCU通讯,实现读取计数器结果、计数器清零及误码重读功能。电路通过模拟部分提供的复位信号实现上电复位功能,LC9723-IC内置32位计数器和寄存器。
输入信号pulse由LC9723-IC模拟部分提供,与计数器模块连接,计数器在pulse信号上升沿进行计数。
输入信号rst_n由LC9723-IC 模拟部分提供,对全部模块进行复位,低电平有效。
输入信号clk由外部MCU提供,与控制器模块、指令接收模块和数据发送模块连接,为电路提供时钟信号,上升沿触发。
输入信号data_in由外部MCU提供,与指令接收模块连接,对电路工作状态进行控制,串行接受指令。
输出信号data_in由数据发送模块提供,与外部MCU输入端口连接,串行发送数据。
3.1 接口时序
3.1.1 指令接收及发送数据时序
Tinit:电路初始时间,5个时钟周期,该时间段及无时钟阶段电路均不接收指令。若前一次通讯为异常退出,则LC9723-IC的Tinit为45个周期。
Twait:输出响应时间,5个时钟周期,即电路将在收到正确指令5个时钟周期后从输出端data_out发送数据。
Twork:收到正确指令后电路工作时间,该时间段内电路不再接收其他指令。LC9723-IC Twork为40个时钟周期。
Tstop:电路完成工作至关闭时钟的时间,5个时钟周期,以确保电路已完成全部操作。
空闲时间段,MCU应发送高电平1(即data_in=1,clk=0)以保证LC9723-IC 处于等待模式,同时LC9723-IC输出端data_out将维持高电平1。
3.1.2 异常指令处理
LC9723-IC对错误指令不做任何响应(包括指令错误,偶校验错误,结束位错误)。
3.1.3 指令/数据传输时序
LC9723-IC设计使用时钟信号上升沿收发数据,因此为保证数据收发稳定可靠,MCU应尽量使用时钟下降沿进行数据收发。
3.2 指令和数据
LC9723-IC共包含两条指令COPY和READ,通过data_in串行接收,通过data_out串行发送。
3.2.1指令构成
指令共6位,其中包括1位起始位,3位指令位,1位偶校验位和1位结束位。
3.2.2 数据构成
LC9723-IC输出数据共35位,其中包括1位起始位,32位数据位,1位偶校验位和1位结束位。
3.2.3 COPY指令
收到COPY指令后,电路将计数器counter中的数据拷贝到寄存器counter_reg中,并将计数器counter清零,同时data_out发送全零数据。
3.2.4 READ指令
收到READ指令后,电路将寄存器counter_reg中的数据通过data_out发送。
3.3 操作
基于当前指令集,MCU可实现实时计数结果读取操作,并且可以对数据/指令传输异常进行有效处理。
3.3.1 操作步骤
3.3.1.1 实时计数结果读取
当MCU需要读取当前计数结果时,先向LC9723-IC发送一个COPY指令,待收到正确回应后再发送一个READ指令,即可完成实时计数结果读取操作。
3.3.1.2 READ指令异常处理
当MCU发出READ指令后收到的数据异常(未能按时收到数据、偶校验错误、结束位错误)时,可向LC9723-IC再次发送一个READ指令,以实现计数结果重读操作。
3.3.1.3 COPY指令异常处理
当MCU发出COPY指令后收到的数据异常(收到数据非32’h0、未能按时收到数据、偶校验错误、结束位错误),应向LC9723-IC发送READ指令,读取寄存器数据,通过将本次读取的数据与前次读取数据进行比较判断LC9723-IC是否已经完成COPY操作,如果未完成操作,则需重新发送COPY指令。
切勿连续发送COPY指令,从而导致LC9723-IC连续对计数器清零,使得计数结果丢失。
Copy指令执行时MCU不要产生中断,应保持时钟正常发送,待到Copy指令正常执行完毕后再进行中断。
3.3.2 操作实例
3.3.2.1 初始化
向data_in发送高电平1并保持,再为电路提供时钟信号clk,5个时钟周期后即可发送指令,此时电路进入等待状态,data_out输出1。
寄存器counter_reg复位后初始状态为全零(16’h0 / 32’h0)。
3.3.2.2 发送指令
当电路处于等待状态时,通过data_in向电路发送完整的指令信号,包括起始位、指令位、偶校验位及结束位。
当电路接收到正确指令后进入工作状态。
当电路接收到错误指令(包括指令错误,偶校验错误,结束位错误)后,继续处于等待状态,data_out保持1。
为保证电路正常接收指令,应尽量在时钟信号下降沿附近进行指令发送。
3.3.2.3 接收数据
电路进入工作状态5个时钟周期(Twait)内data_out保持1,5个时钟周期后会进行数据发送,LC9723-IC将发送35位数据。
数据发送完成后电路进入等待状态,data_out输出1。
3.3.2.4 关闭电路
数据发送完成5个时钟周期后,可停止发送时钟信号(保持0),此时电路不接收任何指令,data_out保持1。
文章版权归西部工控xbgk所有,未经许可不得转载。