1.2 USB接口电路设计
Philips生产的ISP1362提供两个USB端口,端口1通过软件配置可用作上行、下行或OTG端口,若以OTG模式进行配置,ISP1362既可做主机又可做外设,并支持主机与外设之间角色转换的主机通信协议HNP(Host Negotiation Protocol)和对话请求协议SRP(Session Request Protocol)。ISP作为主机使用时,能够关闭VBUS以响应SRP,而作为外设使用时,能够启动SRP以唤醒主机。设计中BF532通过EBIU接口与ISP1362连接,引出Host和OTG接口,OTG接口又分成一个Host接口和一个Device接口,供接USB外设使用。如图2所示,其中CPLD为该模块提供基地址。DSP通过向CPLD寄存器读入状态字或写入控制字将寄存器的地址映射在DSP的I/O空间,通过访问CPLD中相应的寄存器,可实现对ISP1362状态查询和控制。[page]
作为外设控制器(DC)时,ISP1362支持两个控制端点,还能以全速12 Mbit·s-1和低速1.5 Mbit·s-1将多达14个端点编程为任何4种传输类型,并为每个端点分配片上缓冲RAM空间,缓冲存储器独立于主机控制器缓冲存储器,当缓冲存储器溢出,DC将数据传输到USB总线上,当缓冲存储器是空的,产生一个中断通知微处理器提供数据。这里提到的微处理器和DC之间数据的传输可以是PIO(Programming Input/Out put)模式或者DMA(Direct Memory Access)模式。设计中ISP1362与ADSP-BF532之间采用中断方式进行通信,设计中所需传输数据量大,且对传输时间和速率均无具体要求,因此采用块传输(ATL)方式传输数据,ISP1362的设备控制器内置了一个2 462 Byte的缓冲存储器,这里将端点1配置成双缓冲,每个缓冲大小为256 Byte。当传输准备就绪时,DSP将数据写入其中一个缓存,当缓存被写满时,数据通过SIE传输给计算机,传输同时DSP向另一个缓存写数据。当缓存中的数据被完全读取后,DSP会继续向缓存中写数据写满为止。图3给出ISP1362外围电路设计,前面提到为方便后续升级,硬件上配置为OTG模式,OTG规范是对USB2.0规范的补充,允许便携式设备成为受限的USB主机,以代替特定功能的PC。
2 软件设计
USB接口的软件设计主要包括USB接口的固件程序、USB驱动程序以及用户应用程序3部分,底层固件程序控制整个硬件系统的运行,并负责处理PC机发来的各种USB请求,以完成数据传输;驱动程序包含WDM(Windows Driver Mode)驱动程序所需的入口例程、即插即用例程、分发例程、电源管理例程和卸载例程;应用程序为用户提供与软面板的接口,并对接收到的数据进行处理和分析。
2.1 底层固件程序设计
设计中采用VisualDSP++5.0平台设计底层同件程序。该固件程序包含cpu.c,文件实现了ADSP-BF532一些常用的初始化函数;usb_bfi nit.c实现了USB工作下ADSP_BF532的一些常用初始化函数;usb_isp1362.c实现了USB的通信功能;main.c实现了具体的传输功能,当DSP检测到ISP1362产生的中断时,根据计算机发送的命令进入相应的传输程序,控制isp1362的设备功能向计算机传输数据。头文件实现对isp 1362的寄存器和各种控制命令进行定义。
[page]
2.2 设备驱动程序设计
3 结束语
从硬件和软件两方面对数字合成扫频仪的USB接口设计进行了论述,具有结构简单、传输数据量大、操作方便、设计灵活且易于升级的特点。USB接口的设计硬件配置为OTG模式,方便数字合成扫频仪作为Host和其他USB设备进行通信,如U盘等存储设备,更为方便地存储经DSP处理后的数据。经测试与实验表明,基于ISP1362设计的USB接口能够使数字合成扫频仪稳定、准确的传输数据,且能同步进行数据上传和下传,满足设计需求。
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』