一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于单信号线的双向通信方法及装置与流程

2022-06-25 10:25:00 来源:中国专利 TAG:


1.本发明涉及单信号线通信领域,具体涉及一种基于单信号线的双向通信方法及装置。


背景技术:

2.气压按摩类产品,通常都是将电池与主机做成一体,这样就只需要采用一片mcu芯片来完成所有的工作。但是这样从结构上来说,用户充电时,必须把整个设备都放置于充电的场所来充电,使用不方便,也不能通过更换一块备用电池来延长产品使用的时间。并且最重要的是不利于电池和主机之间的通信以及相互控制等操作。
3.现有方案如申请号200710301606.9公开的电池组、电池剩余电量显示系统、及电子装置,公开了一种电池组、电池剩余电量显示系统、及电子装置。其中,该电池组包括:连接端子, 连接于电池组侧的微型计算机;以及两个电源端子,连接于电池单元,当安装有电池组的装置主体接通电源时,电池组侧的微型计算机通过连接端子与装置主体侧的微型计算机进行串行通信, 交替发送用于由装置主体侧的微型计算机进行认证处理的信息和用于电池剩余电量显示的信息,并在认证处理之后,通过串行通信,向装置主体侧的微型计算机提供用于更新电池剩余电量显示的内容的电池剩余电量显示的信息。上述技术方案中,公开了通过单信号线进行电池电量采集显示。
4.现有方案在单线通信过程中,主要是电池组侧的微型计算机向主体侧的微型计算机发送信息。但在双向通信过程中,容易出现信号冲突;以一定的周期计算流入电池组电池的电流和流出电池组电池的电流,累计电流,计算得出当前可以使用的电池的电流量,通过间接方式获取电量信息,容易出现误差等。


技术实现要素:

5.本发明的目的是提供一种基于单信号线的双向通信方法,在单线双向通信过程中,有效地避免了信号冲突,提高了通信效率。
6.本发明采取如下技术方案实现上述目的,基于单信号线的双向通信方法,应用于气压按摩器,所述气压按摩器包括电池模块与主机模块,电池模块与主机模块之间通过单信号线连接,所述方法包括:气压按摩器开机后,电池模块实时采集电池信息,并以第一阈值时间作为通信周期,发送电池信息至主机模块,当主机模块需要向电池模块发送控制信息时,在接收到电池模块上一周期发送的电池信息的时刻延迟第二阈值时间内向电池模块发送控制信息,第二阈值时间小于第一阈值时间。
7.进一步的是,为了提高数据发送效率,电池模块或主机模块采用方波信号发送相关信息。
8.在一个周期的方波信号中,若低电平与高电平的比例为n:1,则为二进制1的方波信号;若低电平与高电平的比例为1:n,则为二进制0的方波信号,n为大于等于2的整数,二
进制1的方波信号与二进制0的方波信号周期相同。
9.二进制1的方波信号与二进制0的方波信号均是以负跳变开始的方波信号。
10.进一步的是,为了提高信号处理准确度,电池模块或主机模块接收信息的具体方法包括:将信息接收端的io口设置为外中断,负跳变触发,判断接收的数据是0或者1。
11.进一步的是,为了优化电量显示,所述电池信息包括电池电量信息;主机模块接收到电池电量信息后,发送至外部移动终端,外部移动终端进行相应电池电量百分比实时显示。
12.进一步的是,为了优化电量控制,若电池电量低于第一阈值电量时,外部移动终端通过设置的方式提醒用户电池处于低电量状态;若电池电量低于第二阈值电量时,主机模块发送命令控制电池模块关机,第二阈值电量小于第一阈值电量。
13.进一步的是,为了提高对电池状态的监控能力,所述电池信息包括电池状态信息,若电池状态发生改变,则电池模块在下一通信周期到达时,仅发送电池当前的状态信息至主机模块。
14.电池状态信息包括工作状态、充电状态或电池电量充满状态。
15.基于单信号线的双向通信装置,用于实现上述所述的通信方法,所述装置包括电池模块以及主机模块,电池模块与主机模块均包括控制芯片,电池模块与主机模块的控制芯片之间通过单信号线连接;所述电池模块用于在气压按摩器开机后,实时采集电池信息,并以第一阈值时间作为通信周期,发送电池信息至主机模块;所述主机模块用于当主机模块需要向电池模块发送控制信息时,在接收到电池模块上一周期发送的电池信息的时刻延迟第二阈值时间内向电池模块发送控制信息。
16.进一步的是,为了保护信息输出端口,所述装置还包括上拉电阻,所述上拉电阻与单信号线连接,电池模块或主机模块发送信息时将发送信息的io口设置为开漏模式。
17.进一步的是,为了提高使用便捷性,所述电池模块中的电池可拆卸。
18.本发明电池模块与主机模块之间通过单信号线连接,气压按摩器开机后,电池模块实时采集电池信息,并以第一阈值时间作为通信周期,发送电池信息至主机模块,当主机模块需要向电池模块发送控制信息时,在接收到电池模块上一周期发送的电池信息的时刻延迟第二阈值时间内向电池模块发送控制信息,第二阈值时间小于第一阈值时间。通过错时发送的方法,避免了双向通信时的信号冲突问题;在信息发送时,采用周期相同占空比不同的方波信号发送信息,方波信号均是以负跳变开始,因此在接收端,将io口设置为外中断,负跳变触发,这样每次接收到外中断时,就开启一次判断0/1过程,提高了信号处理准确度。
附图说明
19.图1是本发明实施例提供的一种二进制方波示意图。
20.图2是本发明实施例提供的一种8位二进制信号波示意图。
21.图3是本发明实施例提供的一种基于单信号线的双向通信装置结构示意图。
22.图4是本发明实施例提供的另一种基于单信号线的双向通信装置结构示意图。
23.附图中r为上拉电阻。
具体实施方式
24.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
25.下面结合附图1-4对本发明的具体实施方式进行详细说明。
26.基于单信号线的双向通信方法,应用于气压按摩器,所述气压按摩器包括电池模块与主机模块,电池模块与主机模块之间通过单信号线连接,所述方法包括:气压按摩器开机后,电池模块实时采集电池信息,并以第一阈值时间作为通信周期,发送电池信息至主机模块,当主机模块需要向电池模块发送控制信息时,在接收到电池模块上一周期发送的电池信息的时刻延迟第二阈值时间内向电池模块发送控制信息,第二阈值时间小于第一阈值时间。
27.在本发明的一种实施例中,主机端仅在关机时发送负跳变脉冲来控制电池关机,电池端在开机后发送电池电量信息和电池状态信息;例如,电池端在开机后,每隔500ms发送一次电量信息,主机端如果需要发送关机命令至电池模块,可以在接收到电池端发送命令后,定时或延迟200ms发送关机负跳变脉冲。这样经过信号错时发送的方式后,可以有效避免信号冲突出现的可能。
28.其中,电池模块或主机模块采用方波信号发送相关信息。
29.在一个周期的方波信号中,若低电平与高电平的比例为n:1,则为二进制1的方波信号;若低电平与高电平的比例为1:n,则为二进制0的方波信号,n为大于等于2的整数,二进制1的方波信号与二进制0的方波信号周期相同。
30.例如n=2时,方波示意图如图1所示,此时低电平与高电平的比例为2:1,表示发送的数据为二进制的1;低电平与高电平的比例为1:2,表示发送的数据为二进制的0。
31.为了优化电量显示,电池信息包括电池电量信息,主机模块接收到电池电量信息后,发送至外部移动终端,外部移动终端进行相应电池电量百分比实时显示。
32.为了优化电量控制,若电池电量低于第一阈值电量时,外部移动终端通过设置的方式提醒用户电池处于低电量状态;若电池电量低于第二阈值电量时,主机模块发送命令控制电池模块关机。
33.在一种实施方式中,电池电量在电池组件的mcu((microcontroller unit,微控制单元)中,作为百分比值进行表示,从0%—100%,用数值表示为0-100,共有101个数值,主机端收到这个电池电量的数值后,会将这个值通过蓝牙传送到手机app(application,应用程序),手机app就会进行相应的电池图标电量高低的显示,以及电池电量百分比实时显示。如果电量低于30%,手机app会将电池图标变成红色,闪烁图标及文字显示,提示用户电池低电量,尽快充电。如果此数值低于5%,手机app还会显示,电量低设备将自动关机等信息。显示完成后,主机关闭设备的电源。
34.为了提高对电池状态的监控能力,电池信息包括电池状态信息,若电池状态发生改变,则电池模块在下一通信周期到达时,仅发送电池当前的状态信息至主机模块。
35.在一种实施方式中,电池端在开机后,每隔500ms(即0.5s)发送一次电量信息。如果电池端状态发生改变,工作/充电/充满,下一个周期500ms到达时仅发送当前状态信息,
不发送电池电量信息。
36.电池状态信息包括正常工作状态、充电未满状态、充电已满状态;正常工作状态:此时电池端没有插入充电头,电池有电,主机可以正常工作(对气压按摩器的气泵等负载供电),电池将此状态信息和电量信息传入主机,主机传入手机app,app进行电池电量的正常显示(电池接入主机供电的情况);。
37.充电未满状态:此时电池端插入了充电头,正在充电,但未充满,主机不可工作(mcu可工作,不对气压按摩器的气泵等负载供电),否则电池同时进行充电和放电,损坏电池,电池将此状态信息和电量信息传入主机,主机传app,app显示设备正在充电的标志,提示用户正在充电,同时显示充电的电量进程。
38.充电已满状态:此时电池端插入了充电头,但电池已充满,主机仍不可工作(mcu可工作,不对气压按摩器的气泵等负载供电),否则电池同时进行充电和放电,损坏电池,电池将此状态信息和电量信息传入主机,主机传app,app显示设备充电已满,提示用户拔除充电头。
39.电池端发送信息时,根据上述电池端发送数据的需求,共需要104种信息表示,用十进制数值表示为0—103,列表如下:电池组件端需要将表1中所列的数据发送,采用八位二进制数的方式。
40.针对八位二进制数的发送,只需要发送端连续在信号线上产生八个图1所表示的方波信号,根据对应的二进制位是0或者1,这一位就对应产生相应的方波。
41.以二进制数为01100101为例,发送端在信号线上产生的波形如图2所示。
42.对于发送端而言,只需要mcu中开启一个定时器(发送端,接收端均具有计时器),根据当前发送位是0或者1,来产生不同占空比的方波,每发送一位,发送数据就右移一次,这样发送八位就完成数据的发送。
43.对于接收端而言,信号线上每一位方波信号,不论是0的方波还是1的方波,都是以负跳变开始,所以只需要在信号线所接的io口线设置为外中断,负跳变触发,这样每次接收到外中断时,就开启一次判断0/1过程,在中断服务程序中,开启定时器,统计信号线低电平的时间,根据低电平的时间长短来判断接收到的是0或者1,装入接收数据变量,再右移一次,再等待下一次外中断的到来,直到八位二进制数全部接收完,再根据接收到的数据,采
取相应的操作。
44.在一种实施方式中,根据低电平的时间长短来判断接收到的是0或者1具体包括:若统计的低电平时间小于方波信号周期的一半时间,例如低电平时间为方波信号周期的1/3,则判断接收到的是0;若统计的低电平时间大于等于方波信号周期的一半时间,例如低电平时间为方波信号周期的2/3,则判断接收到的是1。
45.本发明基于单信号线的双向通信装置,如图3所示,包括电池组件以及主机模块,电池组件与主机模块均包括控制芯片,电池组件与主机模块的控制芯片之间通过单信号线连接;电池组件在气压按摩器开机后,实时采集电池电量信息,并以第一阈值时间作为通信周期,发送电池信息至主机模块,当主机模块需要向电池模块发送控制信息时,在接收到电池模块上一周期发送的电池信息的时刻延迟第二阈值时间内向电池模块发送控制信息,第二阈值时间小于第一阈值时间。
46.主机端对电池组件的控制包括对电池组件的关机以及开机控制。
47.在一种实施方式中,用户可通过主机上的按键进行关机操作,或者根据上传的电量低于5%关机。主机控制关机时,除关闭主机模块,也需要关闭电池组件,在关机时通过信号传输线发送脉冲给电池组件,电池组件端采用低功耗设计,在收到主机发送过来的脉冲时,关闭电池上所带的四个电量指示灯,再进入低功耗模式,电池组件就完成了关机;控制关机的具体方法包括:第一步,主机发送负跳变脉冲;第二步,电池组件接收到负跳变脉冲后关闭电量指示灯;第三步,电池组件mcu将信号线设置为外中断唤醒;第四步,电池组件mcu进入低功耗睡眠状态。
48.电池组件在关机前,将与信号线相连的口线设置为外中断,并且设置为睡眠后通过外中断唤醒,这样在用户重新在主机上通过按键开机后,主机发送一个负跳变的脉冲在信号线上,此时处于低功耗状态下的电池组件,就被此负跳变脉冲唤醒,从而实现电池开机,控制开机的具体方法包括:第一步,主机发送负跳变脉冲;第二步,电池组件mcu被信号线负跳变脉冲唤醒;第三步,电池组件mcu点亮指示灯;第四步,电池组件mcu进入正常状态,检测电量,发送电量及状态信息给主机。
49.主机与电池组件仅通过单根信号线进行信号双向传输,如果双方同时处于发送状态,就会产生信号冲突,有可能造成硬件损坏。
50.信号冲突在硬件上可以通过接入上拉电阻的方法来加以解决,如图4所示,上拉电阻r与单信号线连接,双方的口线如果需要输出时,mcu软件就将输出的口线设置为开漏模式,因为接入了上拉电阻,依然可以输出高电平,如果另外一方mcu输出的开漏模式输出的是低电平,也不会产生因为高低电平同时出现产生短路的现象。
51.综上所述,本发明通过错时发送的方法,有效地避免了单线双向通信过程中信号冲突的可能,并且极大地提高了双向通信的效率。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献