首页 > 新能源汽车

从 PC 的串行端口实现简单的 IR 数据传输

来源:新能源汽车网
时间:2023-03-24 18:02:13
热度:

从 PC 的串行端口实现简单的 IR 数据传输 通常,您需要在没有直接电缆连接的情况下将几位或几字节的数据传输到微控制器。实现这一目标的一种简单方法是使用广泛使用的 IR 接

    通常,您需要在没有直接电缆连接的情况下将几位或几字节的数据传输到微控制器。实现这一目标的一种简单方法是使用广泛使用的 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 的传输距离。