当前位置:首页 > 通信技术 > 通信技术
[导读]在电子消费领域当中,红外产品的使用较为普遍,它多用于简单的近距离控制,如家电,玩具,各种抄表系统。本文以Freescale 8位高性能、低功耗单片机MC9S08GT60为载体,详细介绍红外通信的硬件和软件设计过程及通信协议

在电子消费领域当中,红外产品的使用较为普遍,它多用于简单的近距离控制,如家电,玩具,各种抄表系统。本文以Freescale 8位高性能、低功耗单片机MC9S08GT60为载体,详细介绍红外通信的硬件和软件设计过程及通信协议的使用。

HCS08系列的MCU是Freescale半导体公司最新推出的8位单片机,具有多种低功耗模式,更高的工作频率,并集成了片上调试器,而且资源丰富,因此采用了该系列的MC9S08GT60作为载体详细讨论了一个简单实用的红外通信开发系统。

红外通信过程主要由红外发射和红外接收两个过程,首先将数字信号送给红外发射电路,经该电路的调制转变成红外光信号在空中传输,然后红外接收电路收到该红外光信号,经过该电路的解调,将此红外光信号还原成可被单片机处理的信号,由单片机内部处理得到原来的数据编码。

2 红外通信协议

协议的目的是给收发双方一个约定,使其能够进行同步,并正确的收发数据。本设计使用了类同步协议。当红外接收器未收到信号时,不产生定时操作,否则,首先接收起始位‘0’,并触发中断,启动定时器接收数据,然后判断是否为起始位,如果是,则继续接收数据,否则将定时器复位,重新检测起始位,在接收第二个停止位时,会触发一次中断来检测第一次接收的停止位是否正确,如果不正确,则复位定时器,重新接收,否则已经正确接收该数据段。

3 红外通信的原理分析

红外通信在空中传输的是载波信号,当有载波通过时,接收端输出数字信号‘0’,反之,输出数字信号‘1’。因此在发射电路发送的功能指令码,一般采用多位二进制串行码。本文中,红外通信数据采用脉冲编码,就是将每位数据信号用一个脉冲来表示,脉宽为526 μs,两个这样的脉冲周期表示‘1’,一个这样的脉冲周期表示‘0’。这样的脉冲信号都调制在频率为38 kHz的载波上再发送出去,调制后在空中传输的信号就是具有一定时间间隔的载波信号,其占空比由数据编码决定。在红外接收端,数据处理的过程正好相反,在接收红外光信号之后,会经过整形、放大、滤波、调制等一系列处理,然后在其输出端输出一系列的单片机能够处理的数据信号。

4 红外通信硬件设计原理

4.1 发送电路的硬件设计

HCS08GT60单片机内部有两个TPM模块,每个模块有两个通道,可以用任意一个通道的PWM功能,输出38 kHz的载波信号,本文编程设计根据实验条件的要求采用了TPM1通道1中心脉宽输出功能产生38 kHz红外载波信号。而PTA7口作为普通的输入输出口,产生一定脉宽的方波信号,作为数据编码信号输入。硬件原理图如图1所示。

 

500)this.style.width=500;" border="0" />

原理图中,电气节点CODE跟PTA7口相连,产生数据编码;电气节点CLK跟TPM1通道1相连,产生38 kHz红外载波信号。三极管基极串接的电阻和R5起到限流保护的作用,三极管本身则具有信号放大的功能,另外两个三极管级联将编码调制在38 kHz的载波上通过红外发射器发射出去。当编码为‘1’时,Q1,Q2截止,红外发射器上无电流通过,发射低电平信号,当编码为‘0’时,Q1,Q2导通,此时载波信号通过Q2放大在发射器上体现出38 kHz的载波信号。因此在PTA7端口输入不同的数据编码,通过该发送电路,在发射器上会出现具有一定间隔的38 kHz载波信号,经发射器将该载波信号转化成光信号发射出去。载波脉冲调制信号的时序图如图2所示。

 

500)this.style.width=500;" border="0" />

4.2 接收电路的硬件设计

红外接收电路中使用了HS0038A接收器,HS0038A的内部逻辑框图如图3所示。

 

500)this.style.width=500;" border="0" />

由此可看出该接收器内部实现了红外接收、放大、滤波及解调功能,当收到红外载波光信号时,红外接收器输出低电平,反之红外接收器输出高电平,从而可以将时断时续的红外光信号调制成连续的方波信号,经单片机内部处理可以将其转换成原来的数据。

硬件原理图如图4所示。

 

500)this.style.width=500;" border="0" />

由于HS0038A内置滤波并且采用环氧塑封,可以作为红外滤波器,因此电路中不需要另外增加滤波器,并且HS0038A具备较强的抗干扰能力。

红外接收器输出引脚RevData连接在TPM2通道0,使用了TPM的输入捕捉功能,在上升沿时发生输入捕捉,比较两次捕捉发生时通道寄存器TPM2C0V的值,可以得到一个周期脉冲的宽度,根据发射数据的时序图,就可知道不同的脉冲宽度对应的数据是什么,由此就可将原数据还原出来。

5 红外通信的软件设计

5.1 38 kHz红外载波设计

MC9S08GT60使用了外部4 MHz的晶振频率,通过配置ICG1=0x78,ICG2=0x30,将总线频率控制为20 MHz。MC9S08GF60内部有定时/脉冲输出模块,将TPM1的状态控制寄存器的位CPWMS置1,则TPM1工作在中心脉宽输出模式;将TPM1通道0的状态控制寄存器的ELS0B:ELS0A设置为10,控制发生输出比较时将脉冲信号置高或置低。为使TPM1C1输出38 kHz频率的载波信号,就要对20 MHz的总线频率进行526分频,即526个20 MHz的方波周期产生一个38 kHz的方波周期,因为是中心脉宽输出模式,输出脉冲宽度是通道值寄存器TPM1C1V中值的2倍,输出脉冲周期是通道预置寄存器TPM1M0D中值的2倍,因此令TPM1C1V=131,TPM1M0D=263,启动定时器后,定时器1的计数器TPM1CNTL在自增1计数时,当该值跟通道值寄存器TPM1C1V中值匹配时,将脉冲输出信号拉低,定时器1的计数器TPMlCNTL在计数值开始进行自减1操作时,当下降到跟通道寄存器TPMlClV时,将脉冲输出信号拉高。中心脉宽输出的时序图如图5所示。从此通道输出的方波频率通过示波器查看为37.9 kHz或38 kHz。

 

500)this.style.width=500;" border="0" />

5.2 数据编码的设计

MC9S08GT60单片机有36个端口,大部分端口都具有双重功能,本文使用端口PTA7,配置该端口的方向寄存器PTADD_PTADD7为1,即PTA7为输出,根据脉冲编码的规则,进行不同的延时操作,使该端口输出一定宽度的数据脉冲,通过示波器查看该端口,可看到稳定的脉冲序列。

5.3 接收端信号的输入捕捉设计

将TPM2的状态控制寄存器的位CPWMS置0,则TPM2可以工作在输入捕捉模式、输出比较模式、边沿脉冲输出模式;为使TPM2通道0工作在输入捕捉方式,需要进一步设置TPM2通道0状态控制寄存器,将TPM2C0SC的模式选择位MS0B:MS0A设置为00,选择了输入捕捉方式,此外,要设置捕捉发生在什么条件下,那么需要设置TPM2COSC中的极性选择位ELS0B:ELS0A,使其为01,目的是在该引脚出现上升沿时发生捕捉。在发生捕捉时,通道值寄存器会将定时寄存器的值进行锁存,因此比较两次输入捕捉时,通道值寄存器的内容,根据编码规则,可知道该值对应的编码是‘1’或‘0’。此外通道值寄存器是16位的,如果希望通过串口调试窗口查看比较结果,因为串口接收数据缓冲寄存器是8位的,那么可以将其分解为两个8位的数据通过串口发送。

以下是输入捕捉的中断子程序:

程序功能描述:将捕捉的数据发往串口查看,这样不管用什么发射器,都可以通过观察串口数据得到识别码,完成不同的功能。

 

500)this.style.width=500;" />

6 结语

红外通信一般用在低数据速率,并且短距离的场合中,因此需要低功耗的运行要求。而Freescale的这款单片机工作电压可达到1.8 V,在单片机空闲方式下,通过设置SOPT和SPMSC两个寄存器来设计不同的停止低功耗模式,或者执行一条WAIT指令,使单片机进入等待的低功耗模式,这里就不再详细讲述其实现过程。MC9S08GT60单片机与其他低电压、低功耗的单片机不同之处在于,它并非是以牺牲性能为代价来换取1.8 V的低电压。因此本文使用该单片机讨论了发送和接收红外电路的设计过程及通信协议的运用,该系统的设计切实可行,对红外控制开发者有一定的帮助。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

本文中,小编将对无线模块予以介绍,如果你想对无线模块的详细情况有所认识,或者想要增进对它的了解程度,不妨请看以下内容哦。

关键字: 无线模块 寄存器 处理器

最经典的2DFF 1-bit同步器如下,下图结构通常用于单bit控制信号的异步处理:

关键字: 异步电路 寄存器

单片机(Single-Chip Microcomputer)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等...

关键字: 单片机 寄存器

dsPIC33CH/dsPIC33CK系列数字电源控制器芯片,在目前诸多典型应用中都得到了广泛使用。在闭环控制中,尤其是电压模式控制中,对PWM数据寄存器进行实时更新是必要的一个动作,本文主要就这一话题做一些分析和讨论

关键字: 数字电源控制器 寄存器

中国,北京 – 2022年5月5日 – Analog Devices, Inc.(Nasdaq:ADI)推出新一代16至24位超高精度逐次逼近寄存器(SAR)模数转换器(ADC)系列产品,可简化仪器仪表、工业和医疗健康应...

关键字: ADI 模数转换器 寄存器

半导体设备的认证测试有许多不同类型和风格:电磁干扰和兼容性、静电放电、瞬态脉冲、抗振性、湿度和温度应力——不胜枚举。这些认证测试旨在进行真实且可重复的实验室实验,代表被测设备的应用环境。有些测试是独立的,有些是整个套件的...

关键字: 脉冲测试 BSP KHZ 继电器

MLCC——多层片式陶瓷电容器,简称贴片电容,会引起噪声啸叫问题……笔记本电脑电源电路的啸叫示例部位随着人们对电子设备的需求趋于平静,在笔记本电脑、手机、数码相机(DSC)等各种应用设备的电源电路方面,以前未引起重视的由...

关键字: MLCC 压电效应 振动 KHZ

谐振功率放大器是一种用谐振系统作为匹配网络的功率放大器,一般丙类工作,主要应用在无线电发射机中,用来对载波信号或高频已调波信号进行功率放大。

关键字: 谐振功率放大器 载波信号 功率

星标「嵌入式大杂烩」,一起进步!链接:https://www.cnblogs.com/jozochen/p/8541714.html一、问题复现稳定复现问题才能正确的对问题进行定位、解决以及验证。一般来说,越容易复现的问...

关键字: 嵌入式开发 函数 代码 寄存器

文|周立功日期|2021年11月29日ZLG致远电子创始人周立功你用的mcu涨价了,这还不是最坏的结果。过去20多年里芯片涨价,半年后基本上都会缓和下来。今年不一样,接近年底了,还没有任何迹象表明明年何时恢复供应,很多企...

关键字: MCU 寄存器 软件开发 CK

通信技术

120595 篇文章

关注

发布文章

编辑精选

技术子站

关闭