本文介绍了一种基于USB2.0的接口幻灯片演示遥控器,它具有无线遥控、智能演示的特点,可以在有效范围内全方位对计算机进行遥控操作,实现幻灯片的翻页、放大、重点突出等功能,使演讲者不致频繁操作计算机而打断思维。
本设计核心芯片采用ADI公司的ADF7020收发模块,使用频率为ISM(工业、科学与医疗)868MHz频带,发送端控制芯片是Atmel公司低功耗AVR单片机ATTINY12L,接收端采用ADI公司的ADμC812,它有62KB Flash程序空间,灵活的接口功能以及众多的IO口线,负责收发芯片的控制、数据接收以及作为USB固件的载体。
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中断,触发单片机回到正常模式,并执行中断服务程序,产生要发送的指令和相应的数据帧,单片机接着设置指令传送器,指令传输器将数据帧发送出去。
报头(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仿真确定。
已知接收机的灵敏度,仿真出天线的增益,结合试验可以确定发射机的遥控距离。
1.3 数据发送流程
当用户按下发送键后,控制芯片被激活,接着初始化发射芯片,向发射芯片传送数据,最后印制天线将射频信号辐射出去。
2 数据的接收
FSK信号的解调采用低IF设计,使得所需外围元件很少,同时降低了电源回路引入的低频段的电磁干扰。
接收端主要包括ADI公司的AD7020、ADμC812和Philips公司的PDIUSBD12 USB接口控制芯片,实现FSK解调和通过USB接口与计算机通信,设置特殊寄存器可使ADF7020工作在接收模式而不需额外的Rx/Tx(接收/发射)开关,接收灵敏度、解调线性度和功耗都是可编程的,天线接收到的差分信号输入LNA(低噪声放大器),再经过下变频得到I、Q两路中频信号,中心频率位于中频两侧的两个相关解调器对中频信号解调,即得到数字基带信号,最后,过采样数字PLL(锁相环)恢复数据时钟,用来同步数据。
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程。
各部分的基本功能如下:
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 结束语
随着投影仪市场的发展和多媒体会议工具的普及,人们对便携式计算机控制器的需求也逐步增长,本设计实现了幻灯片的基本控制功能,具有低功耗、数据传输稳定、遥控距离远等特点,还有很大的功能扩展空间,具有很大的市场潜力。
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』