基于USB接口的无线幻灯片遥控器
引言
本文介绍了一种基于usb2.0的接口幻灯片演示遥控器,它具有无线遥控、智能演示的特点,可以在有效范围内全方位对计算机进行遥控操作,实现幻灯片的翻页、放大、重点突出等功能,使演讲者不致频繁操作计算机而打断思维。
本文引用地址:https://www.eepw.com.cn/article/21445.htm本设计核心芯片采用adi公司的adf7020收发模块,使用频率为ism(工业、科学与医疗)868mhz频带,发送端控制芯片是atmel公司低功耗avr单片机attiny12l,接收端采用adi公司的adμc812,它有62kb flash程序空间,灵活的接口功能以及众多的io口线,负责收发芯片的控制、数据接收以及作为usb固件的载体。
本设计系统框图如图1所示。

1 幻灯片控制指令的产生及发送
attiny12l和adf7020是构成发射机的主要部分,其中,attiny12l是一款基于avr risc的低功耗coms 8位单片机,3v电压下工作电流为2.2ma,指令速度可达1mips(百万指令每秒),adf7020是一款低功耗、高集成的fsk/gfsk/ask/ook/gask收发组件,适用于433mhz,868mhz和915mhz的ism频段,发射-10dbm功率时耗电12ma,非常适合便携设备使用,用它们构造发射器只需少量外部元件,适合于低成本、小尺寸的设计。
本设计直接将数字基带信号调制到868mhz射频上,只需要一个本地振荡频率,简化了设计。
1.1 幻灯片指令的产生
由于每次传输的数据少,平时单片记得指令传送器均工作在省电模式,当操作者按下翻页键后,attiny12l产生pin change中断,触发单片机回到正常模式,并执行中断服务程序,产生要发送的指令和相应的数据帧,单片机接着设置指令传送器,指令传输器将数据帧发送出去。
数据帧格式见图2。

报头(preamble)是数字传输系统中的重要问题,接收机根据它进行信道估计、频率偏差纠正、agc(自动增益控制)设置等,fsk/ask/ook调制解调时,报头通常采用如10101010…的样式。
同步字(sync word)用来检测是否有数据输入,adf7020可以设置28bit同步序列,在接收模式下,如果检测到这个同步码,adf7020会产生外部中断,通知处理器准备接收数据。
id字段(id field)用于收、发单元的匹配,可以实现发射机对多个接收机的通信,或者多套接收机同时使用。
数据字段(data field)是幻灯片的控制指令,对应对幻灯片的不同操作。
1.2 天线的设计
天线是本设计的关键,采用印制天线,设天线保包围的面积为a,波长为a,频率为f,则天线效率η为:
η=fa3/2
为了获得最佳辐射性能,布线时天线包围的面积应尽可能大,越靠近天线环的边缘,场的密度越高,因此环的边缘应有一定的空间,形状应近似为正方形。
发送端与天线匹配时,adf7028输出功率最大,在射频输出端,分别接两个匹配电容到天线和地,取值可通过hfss仿真确定。
印制天线的设计图如图3所示。

已知接收机的灵敏度,仿真出天线的增益,结合试验可以确定发射机的遥控距离。
1.3 数据发送流程
当用户按下发送键后,控制芯片被激活,接着初始化发射芯片,向发射芯片传送数据,最后印制天线将射频信号辐射出去。
2 数据的接收
fsk信号的解调采用低if设计,使得所需外围元件很少,同时降低了电源回路引入的低频段的电磁干扰。
接收端主要包括adi公司的ad7020、adμc812和philips公司的pdiusbd12 usb接口控制芯片,实现fsk解调和通过usb接口与计算机通信,设置特殊寄存器可使adf7020工作在接收模式而不需额外的rx/tx(接收/发射)开关,接收灵敏度、解调线性度和功耗都是可编程的,天线接收到的差分信号输入lna(低噪声放大器),再经过下变频得到i、q两路中频信号,中心频率位于中频两侧的两个相关解调器对中频信号解调,即得到数字基带信号,最后,过采样数字pll(锁相环)恢复数据时钟,用来同步数据,其数据主要接收过程如图4所示。

3 usb接口芯片固件的设计及与office软件的通信
所采用的pdiusbd12接口芯片不含有mcu,所以必须使用单独的单片机来控制,由于数据的传输量较小且需要实时处理,所以采用usb数据传送模式中的中断传输模式。
3.1 固件编写
使用keil c51 μvision2来开发单片机的固件程序,主要任务是中断服务程序的编写,对usb协议进行处理、完成对各种令牌包的响应,特别是setup包的处理,usb协议的处理又分成两个方面:一是控制端点(端点0)的配置过程,二是其他端点的数据通信过程。
3.2 固件的结构
固件程序由如下几个模块组成:主循环mainloop.c,中断服务程序isr.c,标准设备请求stand_req.c,d12命令接口d12ci.c,硬件提取层epphal.c,图5显示了固件模块组成与主要工作过程。

各部分的基本功能如下:
a)主循环mainloop.c:初始化单片机cpu和pdiusbd12芯片,检查事件标志,并进入对应的子程序进行进一步的处理。
b)中断服务程序isb.c,(interrupt service routine):这部分代码主要处理有d12芯片产生的中断,从d12内部取数据到cpu的ram中,并建立事件标志,以通知主程序处理。
c)标准设备请求stand_req.c:处理标准的usb器件请求。
d)d12命令接口d12ci.c:定义了访问d12功能的命令的接口。
e)硬件提取层epphal.c:固件中最低底层的代码,执行对d12和硬件i/o的相关访问。
4 结束语
随着投影仪市场的发展和多媒体会议工具的普及,人们对便携式计算机控制器的需求也逐步增长,本设计实现了幻灯片的基本控制功能,具有低功耗、数据传输稳定、遥控距离远等特点,还有很大的功能扩展空间,具有很大的市场潜力。
万能遥控器相关文章:万能遥控器代码
锁相环相关文章:锁相环原理 全息投影相关文章:全息投影原理
评论