在实践的通讯范畴,发出来的信号一般有较宽的频谱,并且都是在比较低的频率段散布许多的能量,所以称之为基带信号,这种信号是不合适直接在信道中传输的。为便于传输、进步抗搅扰才能和有用的运用带宽,一般需要将信号调制到合适信道和噪声特性的频率范围内进行传输,这就叫做信号调制。在通讯体系的接纳端要对接纳到的信号进行解调,康复出本来的基带信号。这部分通讯原理的内容,咱们了解一下即可。
咱们平常用到的红外遥控器里的红外通讯,一般是运用 38K 左右的载波进行调制的,下面我把原理大约给咱们介绍一下,先看发送部分原理。
调制:便是用待传送信号去操控某个高频信号的起伏、相位、频率等参量改变的进程,即用一个信号去装载另一个信号。比方咱们的红外遥控信号要发送的时分,先经过 38K 调制,如图 16-4 所示。
图 16-4 红外信号调制
原始信号便是咱们要发送的一个数据“0”位或许一位数据“1”位,而所谓 38K 载波便是频率为 38K 的方波信号,调制后信号便是终究咱们发射出去的波形。咱们运用原始信号来操控 38K 载波,当信号是数据“0”的时分,38K 载波毫无保留的悉数发送出去,当信号是数据“1”的时分,不发送任何载波信号。
那在原理上,咱们怎么从电路的视点去完成这个功用呢?如图 16-5 所示。
图 16-5 红外发射原理图
38K 载波,咱们能够用 455K 晶振,经过 12 分频得到 37.91K,也能够由时基电路 NE555来发生,或许运用单片机的 PWM 来发生。当信号输出引脚输出高电平常,Q2 截止,不论38K 载波信号怎么操控 Q1,右侧的竖向支路都不会导通,红外管 L1 不会发送任何信息。当信号输出是低电平的时分,那么 38K 载波就会经过 Q1 释放出来,在 L1 上发生 38K 的载波信号。这儿要阐明的是,大多数家电遥控器的 38K 的占空比是 1/3,也有 1/2 的,可是相对少一些。
正常的通讯来讲,接纳端要首要对信号经过监测、扩大、滤波、解调等等一系列电路处理,然后输出基带信号。可是红外通讯的一体化接纳头 HS0038B,现已把这些电路悉数集成到一起了,咱们只需要把这个电路接上去,就能够直接输出咱们所要的基带信号了,如图 16-6所示。
图 16-6 红外接纳原理图
因为红外接纳头内部扩大器的增益很大,很简单引起搅扰,因此在接纳头供电引脚上有必要加上滤波电容,官方手册给的值是 4.7uF,咱们这儿直接用的 10uF,手册里还要求在供电引脚和电源之间串联 100 欧的电阻,进一步下降搅扰。
图 16-6 所示的电路,用来接纳图 16-5 电路发送出来的波形,当 HS0038B 监测到有 38K的红外信号时,就会在 OUT 引脚输出低电平,当没有 38K 的时分,OUT 引脚就会输出高电平。那咱们把 OUT 引脚接到单片机的 IO 口上,经过编程,就能够获取红外通讯发过来的数据了。
咱们想想,OUT 引脚输出的数据是不是又康复成为基带信号数据了呢?那咱们单片机在接纳这个基带信号数据的时分,怎么判别接纳到的是什么数据,应该遵从什么协议呢?像咱们前边学到的 UART、I2C、SPI 等通讯协议都是基带通讯的通讯协议,而红外的 38K 仅仅是对基带信号进行调制解调,让信号更合适在信道中传输。
因为咱们的红外调制信号是半双工的,并且同一时间空间只能答应一个信号源,所以红外的基带信号不合适在 I2C 或许 SPI 通讯协议中进行的,咱们前边提到过 UART 虽然是 2 条线,可是通讯的时分,实践上一条线即可,所以红外能够在 UART 中进行通讯。当然,这个通讯也不是没有约束的,比方在 HS0038B 的数据手册中标明,要想让 HS0038B 识别到 38K的红外信号,那么这个 38K 的载波有必要要大于 10 个周期,这就限制了红外通讯的基带信号的比特率有必要不能高于 3800,那如果把串口输出的信号直接用 38K 调制的话,波特率也就不能高于 3800。当然还有许多其它基带协议能够运用红外来调制,下面咱们介绍一种遥控器常用的红外通讯协议——NEC 协议。