一种无信号线控制器的设计

2020-11-14 02:01沈周锋
闽江学院学报 2020年5期
关键词:码流信号线单片机

沈周锋

(漳州职业技术学院电子工程学院,福建 漳州 363000)

0 引 言

目前,智能家电进入人们生活中,极大地方便人们的生活。电灯、风扇、风暖、空调等设备均引入了遥控器控制,用户家中遥控器数量众多,管理起来较为烦琐。主机设备外接控制器的方式,目前仍然是主流趋势,如空调和热水器等家用电器普遍采用外接控制器的方式。传统设备采用地线、电源线、若干信号线实现主机设备和控制器间通信,线材对于普通安装人员来说较为特殊,且有线序的要求。普通水电安装人员未经家电生产商专门培训,无法胜任此类家电安装的技能要求。而且不同的电器所需线材长度不同,线材较难获得。因此,需要设计一种控制器,安装线路简单,最好只有电源线和地线,且无线序要求。一方面线材可以采用随手可得的家用输电线材,另一方面连接简单,无需复杂的专业培训,两个端子连接上即可正常工作。

笔者采用单片机技术、设计了一种安装方便、具有双向通信功能的控制器。控制器改变工作电流,主机设备检测控制器工作电流的变化,解码为码流信息。主机设备改变供电电压,控制器检测供电电压变化,解码为码流信息。通过电流电压传送方式,实现半双工的通信。硬件连接只需要两条线,供应电源的同时传送码流,经过特殊的硬件设计,使两条线无线序要求,在实现控制、显示功能的同时,极大地方便了安装和维护。开发者还可扩展命令列表,方便地添加显示、按键等新功能。

1 基本原理

传统设备通信方式如图1所示。采用电源和地线为控制器供电,通信码流通过信号线传输。若用单个信号线通信,可采用类似DHT11传感器的通信方式[1]。码流在信号线中传输,通过计算高低脉冲的时间宽度,判断码元的逻辑电平,可实现较慢速的半双工方式。也可采用多条信号线的通信方式,类似的通信协议有SPI、RS232等[2-3]。不同传输方向的码流在不同信号线中传输,可以实现较快速的半双工或者全双工通信。但是,上述通信方式存在抗干扰性能低的问题。电源线和地线电流传输方向相反,电流大小基本一致,可采用双绞线解决电磁损耗问题,减小线路衰减。信号线电流大小和方向随机,无法采用双绞线方式解决损耗问题,线路加长时,稳定性大打折扣。USB通信协议采用四线通信协议,除了地线和电源线,还有D+和D-两条信号线,传输相差180°的两路信号[4]。因此D+和D-可用一对双绞线解决衰减和干扰问题。但是仍然存在线材较为特殊,线序颠倒后无法正常使用的问题,且协议复杂成本较高。

图1 传统设备的通信方式

无信号线通信方式电路框图如图2所示。虚线框将电路分为主机设备和控制器两部分。主机设备中,单片机作为控制核心,控制外围功能单元的运行。采用工作电压调节电路发送主机码流。当有码流需要发送至控制器时,工作电压在+12~+11 V之间变化。例如+12 V表示逻辑1,+11 V表示逻辑0。每个码元时间片内,使工作电压处于既定值,控制器利用电源电压检测电路,即可解码出码流。控制器的工作电流调节电路,改变控制器工作电流在两个不同值之间跳动,即可将逻辑0和逻辑1发送至主机设备。主机设备工作电流检测电路检测电流值跳动,即可解码出码流。工作电压的跳动,会影响控制器的工作电流值,因此笔者采用半双工的通信方式进行设计。

图2 无信号线通信方式电路框图

由于用户随时可能按动控制器键盘,突发事件较多,为了使整机能快速响应键盘事件,因此由控制器负责发起通信。主机设备将工作电压控制在+11 V,控制器周期性发起通信,首先将12位码流发送至主机设备。前3位固定为“101”,便于通信两端实现位同步。第4~11位为控制字,发送键盘事件等信息对应的控制字,第12位奇偶校验位。随后主机设备调节工作电压,发送9位码流信息。前8位码流为控制字,第9位为奇偶校验位。控制器不管有无键盘事件,每隔一段时间发起一次通信,以便接收主机设备信息。

2 硬件电路设计

2.1 控制器电源电路

控制器电源电路如图3所示。J1为控制器与主机设备连接的端子。由于通信的要求,J1接口的电压值具有一定纹波,隔离不恰当容易导致控制器无法正常工作。因此采用两级稳压电路。电源线和地线接入J1后,经过整流桥D1整流后,送入Q1三极管。Q1、R1至R3、D2和C1组成DC-DC电路,将电压稳定在9 V。当电压大于9 V时,R2和R3分压所得电压值大于2.5 V,反馈回D2并使其AK两极导通,Q1三极管截止,迫使+9 V节点电压下降。当电压小于9 V时,R2和R3分压所得电压值小于2.5 V,D2的AK两极截止,Q1三极管由于R1的上拉作用而导通,迫使+9 V节点电压升高。合理选择R2和R3的分压比,即可稳定输出电压。C1的作用是稳定反馈电压,减小电路扰动和外界工频干扰对+9 V节点的影响。U1采用AMS1117三端稳压器,将电压稳定在+5 V为控制器中的其他部件供电。C2和C3采用电解电容,作为U1的输入输出端去耦电容。另外,整流桥D1的整流作用,使控制器和主机设备连接无线序要求,极大方便了安装和维护。

图3 控制器电源电路

2.2 控制器接收和发射电路

控制器采用改变工作电流方式发送码流,设置一个电流值固定且受控于单片机的电流负载电路,即可完成码流发送。如图4所示,R9、R10和Q2组成发送电路。R9与Q2的基极串联,起到限制基极电流的作用。Tx连接单片机普通IO口,当电位拉高时,Q2饱和,电流从V1流出经过R10和Q2集电极发射极流入地线。发射电路工作电流变化范围应该远大于控制键盘中的其他部件,才能有效地避免其他部件带来的干扰,防止主机设备误判。控制键盘中单片机、键盘和显示电路工作电流基本在10 mA以下。发送电流变化范围控制在0~150 mA,可有效防止误判。根据V1的电压值将R10电阻设置为80 Ω,可得工作电流变化范围为0~150 mA。

图4 控制器接收和发射电路

控制器接收电路以U2运放为核心组成迟滞比较电路[5],比较电源电压和参考电压大小,输出0~5 V的数字信号供单片机读取。采用R7和R8分压后,送入运放反相输入端。当V1为12 V时,分压得到3.84 V;当V1为11 V时,分压得到3.52 V。变化范围约320 mV,远大于运放的输入失调电压,可以稳定可靠的进行电压比较。R4至R6、D3、C4、C5组成参考电位发生电路。+5 V电源通过R6为D3供电。R4和R5对Vref分压,送入D3的参考电位端。分压电压大于2.5 V时D3导通,迫使Vref电位下降;反之,分压电压小于2.5 V时,D3截止,迫使Vref电位上升。闭环负反馈环路,将Vref电压稳定在固定值:

(1)

R11,R12和U2组成迟滞比较电路。当V1过低,导致U2输出高电平5 V时,通过正反馈电阻R12,将同相输入端电位拉高,比较阈值变为3.683 V。当V1过高,导致U2输出低电平0 V时,R12将同相输入端电位拉低,比较阈值变为3.639 V。R12正反馈的引入,避免了V1电位处于临界值时,比较器异常翻转,Rx信号产生毛刺。Rx节点连接单片机普通IO口,即可读取接收码流。

2.3 主机设备接收和发射电路

主机设备接收和发射电路如图5所示。发射电路除了发射码流,还需要给控制器提供电源,因此以U3 TPS560430电源芯片为核心[6-7]。该芯片是一款同步降压DC-DC转换器,输入端耐压达到36 V,输出电压最大为24 V,输出电流最大600 mA。+24 V电源经过C7去耦后,输入VIN引脚。开关引脚SW连接功率电容L1给C9充电,提供电源VCC。VCC通过R13和R14分压后,反馈回FB。U3对比FB的电压,控制SW占空比,将VCC稳定在特定值。合理控制R13和R14的阻值,VCC可保持在12 V附近。FB引脚外接R15电阻,连接单片机IO口作为发射引脚。当Tx1节点高电平时,U3减小占空比,VCC电压下降;当Tx1节点低电平时,U3增大占空比,VCC电压上升。合理配比R13至R15电阻值,即可令Tx1=5 V时,VCC=11 V;Tx1=0 V时,VCC=12 V。

图5 主机设备接收和发射电路

J2为主机设备与控制键盘连接的接口,引脚2返回的电流,经过分流电阻R16后流入地线。R16取2 Ω阻值,将控制器工作电流信号转化为电压RxSig。接收电路利用放大器处理RxSig电压波形,得到数字信号Rx1。假设控制器工作电流在10~160 mA之间变化,则RxSig电压为20~320 mV。U4A、R17至R19组成同相比例放大电路,对RxSig进行同相放大,放大倍数为11倍,生成220 mV至3.52 V的波形。U4B、R21和R22组成迟滞比较器,用于对比放大后的电流信号与参考电压。R20和D4组成2.5 V参考电压发生电路。单片机读取Rx1方波信号,即可得到控制键盘发出的码流。R17和R23为阻抗平衡电阻,平衡U4的同相反相输入端的阻抗。C10为电源去耦电容,减少电源纹波对运放的干扰。

3 软件部分设计

通信时序图如图6所示。信道空闲时,控制器Tx节点为低电平,主机设备Tx1节点为高电平,减少电能消耗。控制器周期性的发起通信,先发“101”3个bit作为同步头,主机设备Rx1节点在接收同步头期间检测每个bit的时长,自适应的选取最佳采样时刻。同步头发送结束后,控制器继续发送8个bit数据+1个bit奇偶校验位。主机设备在最佳采样时刻读取Rx1节点电压,奇偶校验后检索命令列表,即可解码出相应命令。从T13至T21时刻,控制器Tx节点恢复低电平,主机设备根据同步头检测到的bit时长,发送8个bit的数据+1个bit奇偶校验位,供控制器接收。在命令集中,以0x00作为空指令,周期性的通信时若无需发送数据,收发两端互发0x00即可避免误解码。奇偶校验位用于验证码流是否发生误码。当奇偶校验失败时,控制器可适当加长bit时长,提高通信的可靠性[8]。主机设备根据同步头脉宽,检测比特时长,跟随控制器修改bit时长。

图6 通信时序图

控制器主循环的流程图如图7所示。单片机上电启动后,先进行内部单元初始化,检测按键事件,生成按键动作标志。当定时通信时刻到来或者按键有动作,则发起通信。先根据按键动作标志编写码流数据,再开启负责通信的定时器。然后接收缓存寄存器不为空时,进行奇偶校验,若校验正确,则执行响应动作;若校验失败,则修改bit时长寄存器,进行下一轮的死循环。

图7 控制器主循环流程图

负责通信的定时器每隔一段时间进入中断程序入口,读写Tx和Rx引脚,进行发送和接收,流程图如图8所示。首先判断是否处于T1至T3时刻,若是则依次发送同步头“101”,每次进入中断发送一个bit。当时间进入T4至T12时刻,改变Tx引脚的电平,发送主循环中生成的码流数据,每次发送一个bit,高位先发送,奇偶校验位最后发送。进入T13至T21时刻,Tx引脚返回低电平,单片机将定时器中断响应时间点推后半个bit的时间,定时读取Rx引脚电平,按位存入接收缓存,得到接收码流。主循环中检测到接收缓存已满时,对码流进行奇偶校验和解析,执行相应动作。主机设备的程序流程图与控制键盘类似。主要不同点在于,通信发起初期,利用引脚外部中断功能,检测Rx1引脚跳变沿,根据3个跳边沿时间计算出每bit时长和最佳采样点。然后再开启负责通信的定时器,接收和发送码流信息。主机设备利用同步头,能够跟随控制器修改bit时长。

图8 控制器通信定时中断流程图

4 整机测试

采用10 m长双绞线,对收发两端进行测试。任意对调线路,对通信无影响。bit时长由5~100 ms之间自适应调整。周围无强电线路时,5 ms的bit时长,误码率为0。人为地将交流电线路紧贴双绞线时,由于强电场和强磁场干扰误码率有所上升。控制器能自适应增大bit时长,当bit时长大于50 ms时,误码率基本为0。对控制器各种状态下的工作电流进行测试,如表1所示。信道空闲、控制器发送逻辑“0”时刻、主机设备发送逻辑“1”时刻,Tx=0且Tx1=1,测得工作电流6.1 mA。该时刻,控制器电源电压为11 V,工作电流用于维持收发电路、单片机、LCD屏幕和屏幕背光灯运行。控制器发送逻辑“1”时刻,Tx=1且Tx1=1,测得工作电流140.6 mA。由于发送控制器中R10电阻接通,导致控制器工作电流上升约134.5 mA。主机设备发送逻辑“0”时刻,由于控制器电源升至12 V,工作电流相比情况一有所上升,变为6.2 mA。假设T4至T21时刻,数据码流逻辑“0”和逻辑“1”分别占50%,容易得到通信期间平均工作电流约为47.8 mA,平均功率约为0.53 W。

表1 控制器工作电流

通信波特率为200~10 bit/s之间自适应切换,通信速率较低,适用于电器外接控制器这类低速率数据通信的场合,稳定可靠。平均功耗适中,对于家电设备基本可忽略不计。其优点在于安装方便,线材随手可得,无线序要求,大大降低了安装和维护的门槛。

5 研究结论与展望

利用单片机加模拟电路的形式,设计了一种能够进行低速率码流通信的控制器。该控制器无需信号线,只需电源线和地线,且无任何线序要求。该技术极大地方便了电器安装和维护人员,极大地降低了作业人员的技能门槛和线材选取的要求。功耗适中,对于AC供电设备基本可以忽略不计。其缺点在于通信速率较低,目前仅适用于低速率通信的场合,如何提高通信速率成为未来研究提供了方向。

猜你喜欢
码流信号线单片机
迈腾B8L 轿车灯光系统应急模式控制策略及开关监测信号线作用研究
数字电视TS码流协议简要分析
三类矩形微屏蔽线主模截止波长特性的矢量有限元计算
基于单片机的SPWM控制逆变器的设计与实现
高清网络摄像机图像延迟分析及解决方案
基于单片机的层次渐变暖灯的研究
基于单片机的多功能智能插排
基于单片机的便捷式LCF测量仪
聊聊蓄电池的那点事儿小小信号线也能让蓄电池亏电
一种比较ASN.1码流差异的方法