图3 克隆器发射模块原理图
克隆器在向其他整机无线发送数据时,主CPU MEGA8从E2PROM中读取数据,通过CPU的两个I/O进行数据传输。一个I/O口输出红外载波38K的方波信号,另一个按三菱码的格式输出要拷贝的数据信号。两信号同时进入一个与门器件,产生用来进行无线传输的数据信号,并通过红外发光二极管实现无线传输。在进行无线克隆时,克隆器的使用方法像普通遥控器一样,需要把红外发光二极管对着整机电视的IR接收口且左右不超过30度,以保证整机电视对数据的正常接收。
克隆器的数据发送是以三菱码的格式进行的,当然以别的码值格式来发送也可以,只要相应更改克隆器与整机电视之间的IR传输协议即可。数据的传输是以模块传输时间同步的方式来进行的。整机电视将接收的数据储存在其外围电路的E2PROM里,当该台整机电视重新开机时,其就会从E2PROM里调用刚从无线克隆里拷贝的频道信息、亮度模拟量值等客户要求信息等数据。
无线克隆器拷贝协议
母机数据获取协议
通过MEGA8发送串口命令给整机,从整机读取数据存到克隆器自带的E2PROM,串口通讯协议波特率设置为9600bps。由于是双向数据传输,数据的可靠性可以得到保证。
数据发送协议
发送数据采用电视机遥控器的遥控码发送协议,这样电视机软件可以像接收遥控器按键码一样接收数据。母机通过红外把E2PROM中的数据发送给子机,采用模块传输和时间同步的方式。
模块定义
将三菱码中的客户码用做数据位传输,每个模块传输8字节的有效数据及校验和。每个数据传输两次,以0xb1开始,以0xb2结束。
时间同步协议
本设计采用时间同步协议,即发送与接收按同一速率进行。传输数据之前发送一组正常脉宽(0的脉冲宽度为1.2ms,1的脉冲宽度为2.4ms)的三菱码:客户码为0xb0,数据码为0xb0,表示无线传输开始。从0xb0 0xb0的最后一位结束到模块数据的第一位开始的间隔为27ms,开始发送模块数据。模块数据开始传输时,脉宽减半,即0的脉冲宽度为0.6ms,1的脉冲宽度为1.2ms,如此可以将红外传输的速度提高一倍。第一个模块的DATA1为模块的数目,整机接收后可用于OSD的进度显示。
接收方如果在一定时间间隔内没有收到下一个字节,即可判定该字节丢失,此时可以根据该字节的前后两个字节恢复该字节。如果连续两个字节丢失,则该模块数据无效。客户码0xb0、0xb1、0xb2是协议的一部分,主要用于同步和分隔模块。
结语
本无线克隆器采用串口获取母本数据,再用红外发送数据给子机实现单向无线拷贝的方法,增加的整机硬件开销小,成本最优,容易实现,操作方便,目前已广泛应用于本公司的工程机市场中。