UART串行通信电路及电压过零信号的输出方法与流程

文档序号:33506223发布日期:2023-03-18 01:15阅读:34来源:国知局
UART串行通信电路及电压过零信号的输出方法与流程
uart串行通信电路及电压过零信号的输出方法
技术领域
1.本技术涉及通信接口技术领域,特别涉及一种uart串行通信电路及电压过零信号的输出方法。


背景技术:

2.常见的电表芯片一般应用有三相电路,而三相电路中的交流电通常要求两两之间的相位差保持在120度。为了使交流电的相位差不变,通常进行三相电路的相序检测,目前相序检测一般通过电压过零检测的方法,具体的,电表芯片采集三相电路上的电压,通过滤波放大等处理,产生电压过零脉冲信号,再通过处理器根据电压过零脉冲信号来判断三相电路中的电压是否正常。在电表芯片中,通用异步收发器(universal asynchronous receiver/transmitter,uart)可以完成两个设备之间的异步通信。
3.但目前电表芯片上的uart只能单纯的实现数据的收发功能,对于三相电路的相序检测所产生的电压过零信号,电表芯片需要单独设置一个引脚来进行传输。


技术实现要素:

4.本技术提供了一种uart串行通信电路及电压过零信号的输出方法,用以实现在保证电表芯片与单片机的正常通讯基础上,且不增加额外引脚就可以通过复用电表芯片的txd引脚实现电压过零信号的发送。
5.所述技术方案如下:
6.第一方面,提供了一种uart串行通信电路,所述uart串行通信电路包括:通信电路,数据选通器,与所述通信电路和所述数据选通器连接的控制器,以及信号发生器,
7.所述信号发生器与所述数据选通器连接,所述数据选通器用于连接发送端,所述通信电路用于连接接收端和所述数据选通器;
8.其中,所述信号发生器用于采样三相电路上的电压以产生电压过零信号,以及用于将所述电压过零信号传输至所述数据选通器;
9.所述通信电路,用于通过所述接收端接收第一控制指令以及产生待发送数据帧发送至数据选通器;
10.所述控制器,用于根据所述第一控制指令,控制所述数据选通器传输所述电压过零信号至所述发送端,或者控制所述数据选通器将所述通信电路产生的待发送数据帧传输至所述发送端。
11.本技术方案中的uart串行通信电路除了通信电路、数据选通器以及控制器,还包括与数据选通器连接的信号产生器。信号产生器用于采样三相电路上的电压以产生电压过零信号,并将电压过零信号传输至数据选通器。通信电路通过接收端rxd接收第一控制指令和待发送数据帧。控制器则根据第一控制指令控制数据选通器传输电压过零信号,或者待发送数据帧传输至发送端txd。该方案通过控制器利用通信电路获取第一控制指令,并根据第一控制指令控制数据选通从多路通道中选择一路数据进行传输,以利用数据选通器实现
复用同一个发送端txd分时发送电压过零信号和待发送数据帧,即在需要发送电压过零信号时利用发送端txd发送电压过零信号,在需要发送待发送数据帧时利用发送端txd发送待发送数据帧。另外,由于该通信电路还与接收端rxd相连,因此在发送待传输数据帧/电压过零信号的过程中,还可以利用通信电路接收待存储数据帧,因此可以在在保证uart串行通信电路正常收发数据的基础上,仍然实现通过uart串行通信电路的发送端txd发送电压过零信号,因此不需要再额外增加单独用于发送电压过零信号的引脚,因此减小了uart串行通信电路应用的芯片的面积,也降低了成本。
12.在本技术的一个可能的实现方式中,所述通信电路还包括存储单元,所述通信电路还用于通过所述接收端接收数据接收指令,以及用于将所述数据接收指令转发给所述控制器;
13.所述控制器还用于根据所述数据接收指令,控制所述通信电路通过所述接收端接收所述待存储数据帧,以及用于将待存储数据帧存储在所述存储单元中;
14.相应的,在所述第一控制指令为指示传输数据的情况下,所述控制器用于控制所述通信电路从所述存储单元中读取所述待发送数据帧并发送至所述数据选通器。
15.在本技术的一个可能的实现方式中,所述通信电路用于通过所述接收端接收第二控制指令,以及用于转发所述第二控制指令至所述控制器,
16.所述控制器还用于根据所述第二控制指令,控制所述数据选通器停止向所述发送端输出所述电压过零信号。
17.在本技术的一个可能的实现方式中,在所述第一控制指令数据选通器传输所述电压过零信号至所述发送端的情况下,当所述控制器接收到所述第一控制指令为指示传输数据时,所述控制器继续控制所述数据选通器传输所述电压过零信号至所述发送端,
18.直至所述控制器接收到第二控制指令,所述第二控制指令用于控制所述数据选通器停止传输所述电压过零信号至所述发送端,则当所述控制器又接收到所述第一控制指令为指示传输数据时,所述控制器控制所述数据选通器传输所述待发送数据帧。
19.在本技术的一个可能的实现方式中,所述通信电路,还用于通过所述接收端获取所述第一控制指令关联的第一校验帧;
20.所述控制器,具体用于在根据所述第一校验帧确定所述第一控制指令为有效命令的情况下,根据所述第一控制指令,控制所述数据选通器传输所述电压过零信号至所述发送端,或者控制所述数据选通器传输由所述通信电路产生的所述待发送数据帧至所述发送端。
21.在本技术的一个可能的实现方式中,所述通信电路包括接收器和发送器,所述接收器与所述接收端连接,所述发送器与所述数据选通器连接,
22.所述uart串行通信电路还包括与所述接收器和/或所述发送器连接的波特率发生器,
23.所述波特率发生器用于根据预先配置的波特率输出对应的通讯时钟信号给所述接收器和/或所述发送器;
24.所述通讯时钟信号用于控制所述接收器接收待存储数据帧和所述发送器传输所述待发送数据帧的速率。
25.第二方面,提供了一种电压过零信号的输出方法,所述方法应用于uart串行通信
电路中,所述uart串行通信电路具有接收端和发送端,所述方法包括:
26.通过所述接收端接收第一控制指令;
27.根据所述第一控制指令,通过所述发送端发送信号产生器采样到的三相电路上的电压所产生的电压过零信号,或者通过所述发送端发送所述uart串行通信电路的待发送数据帧。
28.在本技术的一个可能的实现方式中,所述方法还包括:通过所述接收端接收数据接收指令;响应于所述数据接收指令,通过所述接收端接收所述待存储数据帧;存储待存储数据帧。
29.在本技术的一个可能的实现方式中,所述方法还包括:通过所述接收端接收第二控制指令,所述第二控制指令用于指示所述uart串行通信电路停止通过所述发送端发送所述电压过零信号;响应于所述第二控制指令,停止通过所述发送端发送所述电压过零信号。
30.第三方面,提供了一种电表芯片,所述电表芯片具有发送端和接收端,所述电表芯片还包括如上述的uart串行通信电路,
31.其中,所述发送端连接所述数据选通器,所述接收端连接所述通信电路。
32.可以理解的是,上述第二方面、第三方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
33.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
34.图1是本技术实施例提供的一种uart串行通信电路的结构示意图;
35.图2是本技术实施例提供的一种uart串行通信电路在通讯过程中通讯帧的示意图;
36.图3是本技术实施例提供的一种uart串行通信电路中接收数据的电路图;
37.图4是本技术实施例提供的一种uart串行通信电路中发送数据的电路图;
38.图5是本技术实施例提供的一种电压过零信号的输出方法示意图;
39.图6是本技术实施例提供的一种uart串行通信电路中发送电压过零信号的电路图;
40.图7是本技术实施例提供的一种uart串行通信电路通讯流程图;
41.图8是本技术实施例提供的一种处理设备的结构示意图。
具体实施方式
42.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
43.应当理解的是,本技术提及的“多个”是指两个或两个以上。在本技术的描述中,除非另有说明,“/”表示或的意思,比如,a/b可以表示a或b;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,比如,a和/或b,可以表示:单独存在a,同时
存在a和b,单独存在b这三种情况。另外,为了便于清楚描述本技术的技术方案,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
44.在对本技术实施例进行详细地解释说明之前,先对本技术实施例的应用场景予以说明。
45.在电表芯片中,由于uart只需要一个发送端(transmit data,txd)和一个接收端(receive data,rxd),就可以完成两个设备之间的异步通信,因此被广泛应用在电表芯片和处理设备之间进行通信。而电表芯片应用的三相电路中,由于三相电路的交流电的相位差为120度,因此在三相电路中,电表芯片还需要进行三相电压的时序检测,通常时序检测是根据电压过零时检测三相电压值来判断,具体由处理器根据电压过零信号进行处理,判断三相电压值是否正常。但是电表芯片上的uart只有数据收发的功能,如果要同时实现电压过零检测还需要增加单独的引脚。
46.为了在电表芯片的uart正常收发数据的基础上,增加电压过零检测的功能,本技术实施例提供了一种uart串行通信电路,以在保证电表芯片与处理设备的正常收发数据的基础上,通过uart的发送端输出电压过零信号,从而减少电压过零检测所需要的额外引脚,减少电表芯片的面积与成本。
47.下面对本技术实施例提供的一种uart串行通信电路进行详细地解释说明。
48.图1为本技术实施例提供的一种uart串行通信电路结构示意图,uart串行通信电路包括:通信电路101,数据选通器102,与通信电路101和数据选通器102连接的控制器103,以及信号发生器104。信号发生器104与数据选通器102连接。数据选通器102用于连接发送端txd,通信电路101用于连接接收端rxd和数据选通器102。其中,信号发生器104用于采样三相电路上的电压以产生电压过零信号,以及用于将电压过零信号传输至数据选通器102。通信电路101用于通过接收端rxd接收第一控制指令以及产生待发送数据帧。控制器103用于根据第一控制指令,控制数据选通器102传输电压过零信号至发送端txd,或者控制数据选通器102将通信电路101产生的待发送数据帧传输至发送端txd。
49.在本技术的一个实施例中,接收端rxd连接外部设备的发送数据端,发送端txd连接外部设备的接收数据端;外部设备发送第一控制指令到接收端rxd,处理器通过发送端txd接收电压过零信号或者待发送数据帧。其中,外部设备可以为微处理,比如单片机,还可以是其他具备数据处理能力的设备,在此处不做限定。
50.在本技术的一个实施例中,数据选通器102至少包括两个数据输入端,以包括两个数据输入端为例,一个数据输入端连接通信电路101,另一个数据输入端连接信号产生器104。数据选通器102还包括两个地址端和一个输出端,每个地址端与一个数据输入端对应,地址端连接控制器103,输出端连接发送端txd。
51.作为一种示例,数据选通器102通过一个数据输入端接收a数据,通过另一个数据输入端接收b数据。控制器103发送的通道选择信号,通过地址端发送至数据选通器102,当通道选择信号指示传输a数据时,数据选通器102将a数据传输至输出端,当通道选择信号指示传输b数据时,数据选通器102将b数据传输至输出端。具体的,通道选择信号用于指示地址端对应的地址代码,即可以根据地址代码确定传输a数据或b数据。
52.在本技术的一个实施例中,第一控制指令可以为指示传输电压过零信号的指令,也可以为指示传输数据的指令。如果第一控制指令为指示传输电压过零信号的指令时,则控制器103控制数据选通器102传输电压过零信号至发送端txd;如果第一控制指令为指示传输数据的指令时,则控制器103控制数据选通器102传输通信电路101产生的待发送数据帧至发送端txd。
53.本技术方案中的uart串行通信电路除了通信电路101、数据选通器102以及控制器103,还包括与数据选通器102连接的信号产生器104。信号产生器104用于采样三相电路上的电压以产生电压过零信号,并将电压过零信号传输至数据选通器102。通信电路101通过接收端rxd接收第一控制指令和产生待发送数据帧。控制器103则根据第一控制指令控制数据选通器102传输电压过零信号,或者待发送数据帧传输至发送端txd。该方案通过控制器103利用通信电路101获取第一控制指令,并根据第一控制指令控制数据选通从多路通道中选择一路数据进行传输,以利用数据选通器102实现复用同一个发送端txd分时发送电压过零信号和待发送数据帧,即在需要发送电压过零信号时利用发送端txd发送电压过零信号,在需要发送待发送数据帧时利用发送端txd发送待发送数据帧。另外,由于该通信电路101还与接收端rxd相连,因此在发送待发送数据帧/电压过零信号的过程中,还可以利用通信电路101接收待存储数据帧,因此可以在在保证uart串行通信电路正常收发数据的基础上,仍然实现通过uart串行通信电路的发送端txd发送电压过零信号,因此不需要再额外增加单独用于发送电压过零信号的引脚,因此减小了uart串行通信电路应用的芯片的面积,也降低了成本。
54.在本技术的一个实施例中,如图1所示,通信电路101还包括存储单元105,通信电路101还用于通过接收端rxd接收数据接收指令,以及用于将数据接收指令转发给控制器103。控制器103还用于根据数据接收指令,控制通信电路101通过接收端rxd接收待存储数据帧,以及用于将待存储数据帧存储在存储单元105中。值得说明的是,通信电路101接收待存储数据帧的过程可以是独立的过程,即uart串行通信电路可以单独接收一个或多个待存储数据帧。相应的,在第一控制指令为指示传输数据的情况下,控制器103用于控制通信电路101从存储单元105中读取待发送数据帧中的待发送数据并发送至数据选通器102。
55.在本技术的另一个实施例中,通信电路101接收待存储数据帧的过程也可以是在控制器103控制数据选通器102传输电压过零信号之后,通信电路101再通过接收端rxd接收数据接收指令,控制器103则控制通信电路101接收待存储数据帧并存储在存储单元105中。
56.其中,通信电路101通过接收端rxd接收的指令,例如第一控制指令中的传输电压过零信号指令和数据接收指令,还可以为其他指令,在此处不做限定。每个指令为一个命令帧,还可以包括校验帧,命令帧用于表明相应的命令,校验帧用于校验该命令帧是否有效。比如,数据接收指令包括命令帧1和校验帧1,命令帧1用于指示接收数据,即从处理设备处接收待存储数据帧,校验帧1用于确定命令帧1是否有效。作为一种示例,数据接收指令的校验帧可以为至少一个第一指示符或者至少一个第二指示符,比如第一指示符可以为0,第二指示符可以为1,当校验帧为第一指示符时,表示数据接收指令的命令帧有效,则通信电路101通过接收端rxd接收待存储数据帧;当校验帧为第二指示符时,表示数据接收指令的命令帧无效,则通信电路101不接收待存储数据帧。
57.值得说明的是,通信电路101通过接收端rxd接收的指令,还可以发送与指令关联
的校验帧。比如,通过接收端rxd接收到第一控制指令,该第一控制指令为指示传输数据,通信电路101在发送待发送数据帧之后,通信电路101还可以发送与该第一控制指令相关的校验帧,用于确定第一控制指令和待传输数据帧是否有效。
58.在本技术的一个实施例中,通信电路101用于通过接收端rxd接收第二控制指令,以及用于转发第二控制指令至控制器103。控制器103还用于根据第二控制指令,控制数据选通器102停止向发送端txd输出电压过零信号。可以理解的是,第二控制指令为指示停止输出电压过零信号的指令。可以理解的是,通信电路101还用于接收用于校验第二控制指令是否有效的校验帧a,在控制器103根据校验帧a确定第二控制指令有效的情况下,则控制器103还用于根据第二控制指令,控制数据选通器102停止向发送端txd输出电压过零信号。在控制器103根据校验帧a确定第二控制指令无效的情况下,则控制器103将不响应第二控制指令。具体的,控制器103用于控制数据选通器102停止输出电压过零信号可以指,控制器103向数据选通器102发送通道选择信号,以触发数据选通器103中断与信号发生器104之间的通路,即断开数据选通器103的输出端和与信号发生器104相连的数据输入端之间的通路断开。
59.在本技术的一个实施例中,在数据选通器102传输电压过零信号至发送端txd的情况下,当控制器103接收到第一控制指令为指示传输数据时,控制器103继续控制数据选通器102传输电压过零信号至发送端txd。可以理解的是,在数据选通器102将电压过零信号传输至发送端txd的过程中,就算通信电路101接收到第一控制指令为指示传输数据,控制器103也会优先传输电压过零信号直至确定停止传输电压过零信号的情况下,才会响应第一控制指令控制数据选通器102传输待传输数据帧。
60.在本技术的一个可能的实现方式中,在当前未传输电压过零信号的情况下,如果控制器103用于通过通信电路101接收到用于指示传输数据的控制指令(比如,第一控制指令),则控制器103控制数据选通器102传输待发送数据帧。举例说明,比如,开始时,控制器103通过通信电路101从接收端rxd接收到的控制命令指示传输电压过零信号,则这时控制器103用于控制数据选通器102传输信号发生器104产生的电压过零信号至发送端。在传输电压过零信号的过程中,如果控制器103用于通过通信电路101接收到用于指示接收数据帧的指令,则控制器103用于控制通信电路101接收来自接收端rxd的一个或多个数据帧,然后将该一个或多个待存储数据帧存储在存储单元中。即在传输电压过零信号的过程中可以同步从rxd接收外部数据。在传输电压过零信号的过程中,控制器103用于通过通信电路101接收到用于指示传输数据的控制指令(比如,第一控制指令),则控制器103用于控制数据选通器102继续传输信号发生器104产生的电压过零信号至发送端。直至确定停止传输电压过零信号的情况下,才会响应第一控制指令控制数据选通器102传输待发送数据帧。
61.当控制器103接收到第二控制指令,第二控制指令用于控制数据选通器102停止传输电压过零信号至发送端txd,则当控制器103又接收到第一控制指令为指示传输数据时,控制器103控制数据选通器102传输待发送数据帧。可以理解的是,只有接收到停止传输电压过零信号的指令,控制器103才会控制数据选通器102停止传输电压过零信号。只有数据选通器102不传输电压过零信号,在通信电路101接收到第一控制指令为指示传输数据时,控制器103才会控制数据选通器102传输待发送数据帧。
62.在本技术的一个实施例中,通信电路101还用于通过接收端rxd获取第一控制指令
关联的第一校验帧。控制器103具体用于在根据第一校验帧确定第一控制指令为有效命令的情况下,根据第一控制指令控制数据选通器102传输电压过零信号至发送端txd,或者控制数据选通器102传输由通信电路101产生的待发送数据帧至发送端txd。
63.值得说明的是,本技术实施例中,当uart串行通信电路收发数据时,uart串行通信电路接收的指令(数据接收指令和指示传输数据的第一控制指令)、待传输数据帧以及第一校验帧可以看作一个通讯帧,如图2所示为一个通讯帧的格式示意图。每个通讯帧包括一个命令帧(即指令),多个数据帧(即待传输数据帧)以及一个校验帧(即第一校验帧)。具体的,通讯帧中的每个帧包括11bit,其中包含1bit开始位,8bit数据,1bit校验位以及1bit结束位。
64.由于本技术提出的uart串行通信电路通常应用的芯片为被动芯片,如电表芯片,所以命令帧(指令)是由与电表芯片通讯的处理设备(比如单片机)发起。指令中的8bit数据即为单片机发送给电表芯片的命令。数据帧中的8bit数据则为uart需要接收或者发送的数据,校验帧用于校验本次通讯是否有效。
65.作为一种示例,当通信电路101通过接收端rxd接收第一控制指令为指示传输数据,且控制器103根据第一校验帧确定第一控制指令有效的情况下,控制器103控制数据选通器102传输通信电路101中存储单元105存储的待发送数据帧至发送端txd。
66.作为另一种示例,当通信电路101通过接收端rxd接收第一控制指令为指示传输电压过零信号,且控制器103用于根据第一校验帧确定第一控制指令有效的情况下,控制器103用于控制数据选通器102传输从信号发生器104发送过来的电压过零信号至发送端txd。
67.在本技术的一个实施例中,如图1所示,通信电路101还包括接收器106和发送器107,接收器106与接收端rxd连接,发送器107与数据选通器102连接。uart串行通信电路还包括与接收器106和/或发送器107连接的波特率发生器。波特率发生器用于根据预先配置的波特率输出对应的通讯时钟信号给接收器106和/或发送器107。通讯时钟信号用于控制接收器106接收待存储数据帧和发送器107发送待发送数据帧的速率。
68.举例说明,波特率发生器根据预先配置的波特率,输出与波特率对应的通讯时钟信号至接收器106和发送器107,确保uart串行通信电路以特定的波特率实现数据传输。
69.在本技术的一个可能的实施例中,当通信电路101通过接收端rxd接收数据接收指令时,波特率发生器可以只连接接收器106,不连接发送器107。当通信电路101通过接收端rxd接收第一控制指令时,波特率发生器需要连接发送器107和接收器106。
70.在本技术的一个可能的实现方式中,如图3所示为uart串行通信电路接收数据部分电路结构图。接收数据部分电路包括波特率发生器、接收器106、存储单元105以及控制器103。可以理解的是,uart串行通信电路无论是否在输出电压过零信号,接收器106会一直检测接收端rxd是否有数据接收指令,即接收端rxd是否等于开始位,开始位表示数据接收指令开始传输。当接收器106接收到开始位之后,接收器106用于开始接收数据接收指令,并将串行格式的数据接收指令转换为并行格式。此时控制器103用于判断数据接收指令的校验位和停止位是否有效,若有效则继续接收待存储数据帧,若校验位或者停止位无效,则认为当前数据接收指令无效,等待下一个数据接收指令的开始位。
71.在接收完待存储数据帧后,控制器103用于判断与数据接收指令关联的第一校验帧是否有效,若无效,忽略接收的数据接收指令和待存储数据帧,等待下一个数据接收指令
的开始位,若有效,则控制器103用于控制存储单元105存储本次接收的待存储数据帧。
72.在本技术的一个可能的实现方式中,如图4所示为uart串行通信电路发送数据部分电路结构图。发送数据部分电路包括波特率发生器、发送器107、存储单元105、数据选通器102以及控制器103。值得说明的是,当向uart串行通信电路发送第一控制命令指示传输数据时,需要先发送第二控制命令,控制数据选通器102停止传输电压过零信号。当uart串行通信电路接收到第一控制指令,为指示传输数据时,控制器103用于控制存储单元105将存储的待发送数据帧发送至发送器107,在波特率产生器108产生的通讯时钟下,发送器107将并行格式的待传发送据帧转换为串行格式,并增加开始位、校验位以及停止位,传输至数据选通器102,控制器103控制数据选通器102将其传输至发送端txd。
73.在本技术的一个可能的实现方式中,也可以包括两个波特率发生器108,两个波特率发生器分别与接收器106和发送器107连接。一个为接收器106提供通讯时钟信号,另一个为发送器107提供通讯时钟信号。具体接收数据和发送数据的过程同上述实施例,在此处不再赘述。
74.本技术实施例提供了一种电压过零信号的输出方法,如图5所示,应用于uart串行通信电路中,uart串行通信电路具有接收端rxd和发送端txd,方法包括:
75.步骤501、uart串行通信电路通过接收端rxd接收第一控制指令,该第一控制指令指示输出电压过零信号。
76.步骤502、uart串行通信电路根据第一控制指令,通过发送端txd发送信号产生器104采样到的三相电路上的电压所产生的电压过零信号。
77.步骤503、uart串行通信电路通过接收端rxd接收第二控制指令。
78.步骤504、uart串行通信电路根据第二控制指令,停止发送端txd发送信号发生器104采样到的三相电路上的电压所产生的电压过零信号。
79.如图6所示为uart串行通信电路传输电压过零信号的电路结构图。其中信号产生器104连接三相电路,三相电路上的电压输入至信号产生器104,根据电压信号产生器104产生电压过零信号,并发送至数据选通器102。数据选通器102通过发送端txd传输电压过零信号。
80.在本技术的一个实施例中,本技术实施例提供的方法还包括:uart串行通信电路通过接收端rxd接收数据接收指令,响应于数据接收指令,uart串行通信电路通过接收端rxd接收待存储数据帧,并存储待存储数据帧。比如,uart串行通信电路中的控制器103控制通信电路102利用接收到端rxd接收待存储数据帧。可以理解的是,uart串行通信电路通过接收端rxd接收待存储数据帧可以是在该uart串行通信电路传输电压过零信号的过程中,也可以是停止传输电压过零信号的过程中,本技术实施例对此不做限定。具体的,在数据接收指令有效的情况下,uart串行通信电路通过接收端rxd接收待存储数据帧,并存储在存储单元中。
81.在本技术的一个实施例中,本技术实施例提供的方法还包括:uart串行通信电路通过接收端rxd接收第二控制指令,第二控制指令用于指示所uart串行通信电路停止通过发送端txd发送电压过零信号。响应于第二控制指令,uart串行通信电路停止通过发送端txd发送电压过零信号。
82.在本技术的一个可能的实现方式中,如图7为uart串行通信电路在通讯过程中的
流程图。其中uart串行通信电路通过持续检测是否接收到指令,当接收到指令后判断指令是否为指示传输电压过零信号的第一控制指令,如果是指示传输电压过零信号的第一控制指令,则接收校验帧,并根据校验帧判断该指令是否有效,如果有效,则传输电压过零信号至发送端txd,如果无效,uart串行通信电路继续检测是否接收到指令。如果不是指示传输电压过零信号的第一控制指令,则判断该指令是否为有效的指示传输数据的第一控制指令,如果是有效的指示传输数据的第一控制指令,则输出待发送数据帧,如果不是有效的指示传输数据的第一控制指令,则判断该指令是否为有效的数据接收指令,如果是有效的数据接收指令,则接收并存储待存储数据帧,如果不是有效的接收数据的命令,则继续接收指令,准备下一次通信。
83.在uart串行通信电路处于持续传输电压过零信号的情况下,uart串行通信电路判断检测到的指令是否为第二控制指令,如果是,则停止输出电压过零信号;如果不是,则判断该指令是否为有效的数据接收指令,如果是有效的数据接收指令,则接收并存储待存储数据帧;如果不是有效的数据接收指令,则判断该指令是否为有效的指示传输数据的第一控制指令,无论是否为有效的指示传输数据的第一控制指令,uart串行通信电路都会继续输出电压过零信号,并持续检测指令,准备下一次通信。
84.本技术实施例提供的一种电表芯片,电表芯片具有发送端txd和接收端rxd,电表芯片还包括上述的uart串行通信电路。其中,发送端txd连接数据选通器102,接收端rxd连接所述通信电路101。
85.图8为本技术实施例提供的一种处理设备的结构示意图。如图8所示,处理设备801包括:处理器8011、存储器8012以及存储在存储器8012中并可在处理器8011上运行的计算机程序8013。
86.处理设备801可以是一个通用计算机设备或一个专用计算机设备。在具体实现中,处理设备801可以是台式机、便携式电脑、网络服务器、掌上电脑、移动手机、平板电脑、无线终端设备、通信设备或嵌入式设备,本技术实施例不限定处理设备801的类型。本领域技术人员可以理解,图8仅仅是处理设备801的举例,并不构成对处理设备801的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,比如还可以包括输入输出设备、网络接入设备等。
87.处理器8011可以是中央处理单元(central processing unit,cpu),处理器8011还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者也可以是任何常规的处理器。
88.存储器8012在一些实施例中可以是处理设备501的内部存储单元105105,比如处理设备801的硬盘或内存。存储器8012在另一些实施例中也可以是处理设备801的外部存储设备,比如处理设备801上配备的插接式硬盘、智能存储卡(smart media card,smc)、安全数字(secure digital,sd)卡、闪存卡(flash card)等。进一步地,存储器8012还可以既包括处理设备801的内部存储器8102也包括外部存储设备。存储器8012用于存储操作系统、应用程序、引导装载程序(boot loader)、数据以及其他程序等。存储器8012还可以用于暂时地存储已经输出或者将要输出的数据。
89.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
90.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
91.以上所述实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1