基于单片机的红外无线PPM发射机设计
时间:09-11
来源:互联网
点击:
4.2 波形转换电路
经过单片机编码输出的PWM信号经过一个下降沿触发器即可得到PPM脉冲信号,波形转换如图3所示。当P1.0端口输出的信号由高电平变为低电平时,触发器的输出端产生所需的PPM脉冲信号,其脉冲宽度由外部定时电路决定。
4.3 驱动电路
对于无线红外通信系统来说,半导体发光二极管(LED)是可以选用的最佳光源,笔者采用带有温度补偿特性的射极耦合LED驱动电路,该电路看上去像一个线性差分放大器,实际上是一个电流开关电路,PPM信号加在驱动电路的输入端,当PPM信号的电位低于设定的参考电位时,LED无脉冲电流通过,LED不发光;反之,脉冲电流通过LED而使LED发光。如图4所示,注入电流IF相等的条件下,LED的输出光功率P随着温度的上升而下降,所以设计中采用温度补偿电路进行温度补偿,当温度升高时,LED的注入电流也随之增加,从而补偿LED的功率变化。
5 软件设计
5.1 计算机软件编程
计算机的主要作用是通过串口传送源数据给单片机。
利用Visual C++编制串行通信程序一般有3种方法:调用Microsoft Win32应用程序接口(API)提供的串行通信函数,利用VC++的MFC类库函数实现;用Active X通信控件(MSComm)开发串口通信程序,笔者利用VC++提供的MSComm控件来实现计算机与单片机之间的串行通信,利用VC++的通信控件MSComm进行软件设计只需对串口进行简单的设置即可。程序实现非常简单,结构清晰,在Windows环境下,串口是系统资源的一部分,应用程序要使用串口进行通信,必须在使用之前向系统提出资源申请要求(打开串口),通信完成后必须释放资源(关闭串口)。
5.2 单片机软件编程
单片机的主要作用是从发送端(计算机)接收数据,并对接收到的数据进行PWM编码,然后通过输出端口输出,单片机部分的编程主要由串口初始化子函数,接收数据子函数和PWM信号发送子函数组成。
5.2.1 串口初始化子函数
使用串口之前,应动其进行初始化,初始化程序如下:
5.2.2 接收数据子函数
接收数据流程如图5所示,程序如下:
5.2.3 PWM发送信号子函数
PWM信号发送包括发送PWM编码后的同步头、起始标志符、接收的数据和结束标志符、下面重点讨论对接收的数据进行编码及发送,其流程如图6所示,程序如下:
6 结束语
红外通信为构建高速宽带室内无线局域网提供了新的选择。PPM的脉冲峰值功率与平均功率之比很高,可以有效减小平均辐射功率和提高接收灵敏度,笔者设计的红外无线PPM发射机利用单片机实现PPM调制,具有电路结构简单、调试容易、可靠性高、精度高、成本低和功耗低的优点,由于设计中只采用了单只红外LED作为光源,输出功率不大,而且受辐射角的限制,通信具有方向性,可以考虑采用多只红外LED构成发射阵列来增加发射功率和辐射范围。
经过单片机编码输出的PWM信号经过一个下降沿触发器即可得到PPM脉冲信号,波形转换如图3所示。当P1.0端口输出的信号由高电平变为低电平时,触发器的输出端产生所需的PPM脉冲信号,其脉冲宽度由外部定时电路决定。
4.3 驱动电路
对于无线红外通信系统来说,半导体发光二极管(LED)是可以选用的最佳光源,笔者采用带有温度补偿特性的射极耦合LED驱动电路,该电路看上去像一个线性差分放大器,实际上是一个电流开关电路,PPM信号加在驱动电路的输入端,当PPM信号的电位低于设定的参考电位时,LED无脉冲电流通过,LED不发光;反之,脉冲电流通过LED而使LED发光。如图4所示,注入电流IF相等的条件下,LED的输出光功率P随着温度的上升而下降,所以设计中采用温度补偿电路进行温度补偿,当温度升高时,LED的注入电流也随之增加,从而补偿LED的功率变化。
5 软件设计
5.1 计算机软件编程
计算机的主要作用是通过串口传送源数据给单片机。
利用Visual C++编制串行通信程序一般有3种方法:调用Microsoft Win32应用程序接口(API)提供的串行通信函数,利用VC++的MFC类库函数实现;用Active X通信控件(MSComm)开发串口通信程序,笔者利用VC++提供的MSComm控件来实现计算机与单片机之间的串行通信,利用VC++的通信控件MSComm进行软件设计只需对串口进行简单的设置即可。程序实现非常简单,结构清晰,在Windows环境下,串口是系统资源的一部分,应用程序要使用串口进行通信,必须在使用之前向系统提出资源申请要求(打开串口),通信完成后必须释放资源(关闭串口)。
5.2 单片机软件编程
单片机的主要作用是从发送端(计算机)接收数据,并对接收到的数据进行PWM编码,然后通过输出端口输出,单片机部分的编程主要由串口初始化子函数,接收数据子函数和PWM信号发送子函数组成。
5.2.1 串口初始化子函数
使用串口之前,应动其进行初始化,初始化程序如下:
5.2.2 接收数据子函数
接收数据流程如图5所示,程序如下:
5.2.3 PWM发送信号子函数
PWM信号发送包括发送PWM编码后的同步头、起始标志符、接收的数据和结束标志符、下面重点讨论对接收的数据进行编码及发送,其流程如图6所示,程序如下:
6 结束语
红外通信为构建高速宽带室内无线局域网提供了新的选择。PPM的脉冲峰值功率与平均功率之比很高,可以有效减小平均辐射功率和提高接收灵敏度,笔者设计的红外无线PPM发射机利用单片机实现PPM调制,具有电路结构简单、调试容易、可靠性高、精度高、成本低和功耗低的优点,由于设计中只采用了单只红外LED作为光源,输出功率不大,而且受辐射角的限制,通信具有方向性,可以考虑采用多只红外LED构成发射阵列来增加发射功率和辐射范围。
无线电 红外 单片机 PWM 电路 CMOS Atmel 嵌入式 看门狗 振荡器 PLC 总线 Maxim 电容 半导体 二极管 LED 放大器 电流 相关文章:
- 软件无线电的电磁兼容分析(02-26)
- 对信息技术设备的无线电骚扰管理方法的研究(02-27)
- 雷达信号及其监测研究(03-02)
- 基于认知无线电技术的IEEE 802.22(10-02)
- 4G移动通信关键技术及特征(03-09)
- 无线电频率资源的合理配置(08-16)