OSCOUT、OSCIN为晶振接口,低电平时选择内部时钟。TXD引脚接收CY7C68013单片机串行端口发送的数据,经编码调制后,以脉冲的方式传输到IR_TXD端口。红外光脉冲数据转变来的电平脉冲信号,经IR_RX端口进入HSDL-7001,经内部解调后,通过RX引脚将数据发送到CY7C68013单片机的串行端口。引脚A0、A1、A2用于改变HSDL-7001的波特率选择,以匹配外同设备与PC机之间数据的传输。
本系统选用外部晶体振荡器,选用频率为1.843 2 MHz有源晶振,在数据编码过程,HSDL-7001接收TXD传送的串行数据,在TXD的每个下降沿开始,IRRXD延迟7CYCLES的时间(16CYCLES为一个晶振周期),然后输出1个正脉冲,脉宽为3CYCLES,如果TXD0一直为低电平,则每个晶振周期内,IRRXD都会输出1个宽度为3CYCLES的正脉冲。如果TXDO为高电平,则IRTXD输出低电平,如图3所示。
解码过程相反,编码过程看作是把TXD脉冲变窄的过程,而解码过程则看作是把脉冲拉宽的过程。解码过程中,当IRRXD传送1个宽度为3CYCLES的负脉冲,RXD就输出1个宽度为16CYCLES的负脉冲,如图4所示。
3 系统软件设计
系统软件包括固件程序、USB设备驱动程序和应用程序。整个软件包括系统初始化、采样控制、数据传输和波形显示等部分。USB设备端固件及外围电路的底层控制程序主要采用C51编写,计算机端客户应用程序采用Visual Basic和Visual C++混合编程。
3.1 USB固件设计
USB数据传输有4种方式:块传输、中断传输、同步传输和控制传输。当需要快速精确大批量传输数据时,一般采用块传输方式。设计中主要考虑本系统要求高速持续传输大容量的数据,并且对数据的完整性要求较高,故采用块传输方式。
固件程序的编写采用Keil公司的Keil C51编译器(V6.10)。它为8051微控制器的软件开发提供C语言环境,同时保留汇编代码高效、快速的特点,相对于传统的汇编开发环境更加灵活、高效和易于使用。将代码在Keil C51环境中进行编译。编译通过后,将固件代码下载到USB单片机中,就可实现与外围设备的数据传输。