通常,您需要在没有直接
电缆连接的情况下将几位或几字节的数据传输到微控制器。实现这一目标的一种简单方法是使用广泛使用的 IR 接收器,例如 TSOP17xx 或来自Vishay的类似接收器,可用于 IR 遥控应用,例如 TV 和 VCR。这些设备易于实施,因为它们不需要外部零件。这些接收器通常使用 38 kHz 脉冲载波,包括
放大器、自动增益控制和解调器。
简单应用的主要问题是构建发射器,这需要一个 38kHz 启停振荡器、额外的电源电压以及毫秒和亚毫秒范围内的调制脉冲。这些因素很难通过 PC 操作系统来控制。另一方面,标准传输速率为 38,400 bps 的 PC 串行端口可以通过一个简单的倍频器和两个 IR LED 生成的 38.4-kHz 数据脉冲(图 1 ) 。当传输具有交替零/一模式(十六进制 55)的字节时,每个十六进制 55 字节生成 18 个脉冲的突发,添加起始位和停止位,连续字节可以生成更长的脉冲。
图 1 通过向 PC 的串行端口发送适当的十六进制值,该电路生成的 38.4-kHz 数据突发。
接收器需要 10 到 70 个脉冲的脉冲序列,脉冲之间的停顿大致相等;您可以使用此设置轻松满足这些要求。您可以通过发送 hex-0 字节来生成短暂的暂停,尽管由于起始位和停止位的原因,每个字节将传输两个脉冲。然而,接收器消除了这些脉冲。暂时停止传输会产生更长的停顿。您必须偶尔插入较长的停顿,具体取决于您使用的接收器。您可以通过使用短突发和长突发以及适当的协议来实现数据传输。
图1 中的电路 由串口的输出阻抗和电容组成一个高通
滤波器。正脉冲驱动一个 IR LED;负脉冲驱动另一个。两者都应指向接收器。PC 端口通常提供 5 至 20 mA 的电流和 ±15V 的电压,因此具有低千欧范围的输出电阻。通常不需要限流电阻。在大多数情况下,1 到 10 nF 的电容值都适用。接受者是宽容的。您需要为非 PC 端口(例如具有较低阻抗的微控制器)调整
电容器的值。在实际应用中,如果将 LED 指向接收器,则可以在峰值 LED 电流低至 5 mA 的情况下可靠地实现 2 至 4m 的传输距离。