数字合成扫频仪USB2.0接口设计

2012-06-23 06:42孙学君白谱伟
电子科技 2012年5期
关键词:外设固件下位

孙学君,白谱伟

(西安电子科技大学电子工程学院,陕西 西安 710071)

数字合成扫频仪的USB接口设计,分为硬件和软件两部分,硬件包括扫频仪主体和USB接口两部分,设计选用Philips公司的ISP1362作为USB接口芯片,该芯片支持USB2.0全速模式,支持OTG模式,芯片由外设控制器、OTG控制器、主机控制器、USB收发器、OTG收发器和缓存器组成,通过内部集成的总线接口可与CPU相连。软件部分包括接口的底层固件程序、USB设备驱动程序和用户应用程序。

1 硬件设计

1.1 数字合成扫频仪电路设计

数字合成扫频仪主要由数据处理、控制接口电路逻辑、扫频信号产生与输出、幅度与相位检测、数据采集、USB接口等部分构成。数据处理部分采用ADI公司的ADSP-BF532处理器,加电后BF532实现对系统各部分的初始化,并对采集到的数据进行处理,得到幅度与相位数据并实现曲线描绘、数据存储和USB通信;控制接口电路逻辑部分采用Altera的EP1C6T144实现,设计中采用FPGA实现了DDS信号发生控制、数据采集控制、键盘扫描、增益控制以及显示控制;扫频信号产生与输出部分包括信号产生部分和输出增益控制部分,信号产生部分产生两路I、Q信号,其中I路信号用来实现相位测量,Q路经增益调节后得到所需测量输出信号;幅度与相位检测部分将信号的幅度与相位信息转换为对应的电压信号;数据采集部分通过采集信号幅度和相位对应的电压值将幅度与相位信息转换为数字信息,FPGA将采集到的数据通过SPI口送入DSP处理后得到幅度与相位曲线。

图1 数字合成扫频仪的硬件结构

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状态查询和控制。

图2 ISP1362和DSP连接简图

作为外设控制器(DC)时,ISP1362支持两个控制端点,还能以全速 12 Mbit·s-1和低速 1.5 Mbit·s-1将多达14个端点编程为任何4种传输类型,并为每个端点分配片上缓冲RAM空间,缓冲存储器独立于主机控制器缓冲存储器,当缓冲存储器溢出,DC将数据传输到USB总线上,当缓冲存储器是空的,产生一个中断通知微处理器提供数据。这里提到的微处理器和DC之间数据的传输可以是PIO(Programming Input/Output)模式或者 DMA(Direct Memory Access)模式[1]。设计中ISP1362与ADSP-BF532之间采用中断方式进行通信,设计中所需传输数据量大,且对传输时间和速率均无具体要求,因此采用块传输(ATL)方式传输数据,ISP1362的设备控制器内置了一个2462 Byte的缓冲存储器,这里将端点1配置成双缓冲,每个缓冲大小为256 Byte。当传输准备就绪时,DSP将数据写入其中一个缓存,当缓存被写满时,数据通过SIE传输给计算机,传输同时DSP向另一个缓存写数据。当缓存中的数据被完全读取后,DSP会继续向缓存中写数据写满为止[2]。图3给出ISP1362外围电路设计,前面提到为方便后续升级,硬件上配置为OTG模式,OTG规范是对USB2.0规范的补充,允许便携式设备成为受限的USB主机,以代替特定功能的PC[3]。

图3 ISP1362外围电路设计

2 软件设计

USB接口的软件设计主要包括USB接口的固件程序、USB驱动程序以及用户应用程序3部分,底层固件程序控制整个硬件系统的运行,并负责处理PC机发来的各种USB请求,以完成数据传输;驱动程序包含WDM(Windows Driver Mode)驱动程序所需的入口例程、即插即用例程、分发例程、电源管理例程和卸载例程;应用程序为用户提供与软面板的接口,并对接收到的数据进行处理和分析[4]。

2.1 底层固件程序设计

设计中采用VisualDSP++5.0平台设计底层固件程序。该固件程序包含cpu.c,文件实现了ADSPBF532一些常用的初始化函数;usb_bfinit.c实现了USB工作下ADSP-BF532的一些常用初始化函数;usb-isp1362.c实现了USB的通信功能;main.c实现了具体的传输功能,当DSP检测到ISP1362产生的中断时,根据计算机发送的命令进入相应的传输程序,控制isp1362的设备功能向计算机传输数据。头文件实现对isp1362的寄存器和各种控制命令进行定义。

2.2 设备驱动程序设计

USB驱动程序是基于WDM的内核程序,驱动程序由运行于内核模式的系统级代码组成。USB系统驱动程序包括USB设备驱动程序,USB总线驱动程序和USB主控制器驱动程序,Windows操作系统中嵌入了USB总线驱动程序、USB主控制器驱动程序以及通用的USB设备驱动程序,如U盘、USB接口的其他数码设备等。设计的USB设备是特殊功能的设备,Windows操作系统中通用的设备驱动程序不支持其运行,因此需要编写特定的设备驱动程序。设计中采用Visual StudioC++.NET+WindowsXPDDK+DriverStudio 3.2综合平台进行本设备驱动程序设计,运用DriverWizard生成驱动程序的基本框架,该驱动程序框架包含了几个基本类,然后在VC集成环境下修改有关程序,增加相关的具体操作代码以完成应用程序和驱动程序之间的信息交换,包括驱动入口例程、加载设备和卸载驱动例程,设备的枚举、打开、读写、关闭设备和入口端点等函数设计。

2.3 应用程序设计

应用程序设计运用NI的Lab Windows CVI9.0开发平台设计,该程序主要完成以下几方面功能:(1)与下位机进行数据交换,读取下位机所采集到的点数据并将其以图像的形式实时显示。并且可对显示的图像进行移位、参考点选择、频率标记、相关参数计算等功能。(2)将下位机的参数设置信息以.dat文件的形式保存,在需要时可调用保存的设置信息对下位机进行参数设置与控制。还可将下位机显示的波形文件以及相关的参数以word形式保存。(3)用户界面模拟下位机仪器的操作面板进行设计,如图3所示。界面分为6个区域,包括参数设定区域、测量功能设置、系统设置、信号源设置、图形显示界面以及相关参数显示区域。参数设定区域主要用于设置频率参数、参考电平、输入输出阻抗等;测量功能设置;系统设置包括系统复位设置、接口与之间设置、幅度与相位校正设定以及存储设定;信号源设定频率参数带宽、幅频与相频测量开关、显示刻度与参考位置设定;图形显示主要是将采集到的点数据以图形的形式连续显示以及频标等标记符号显示;相关参数显示区域显示图形的显示格式与显示方式,输出电平与输出状态,中心频率及扫描带宽、显示刻度与参考电平;点击相应按钮可对下位机进行相应操作,即用主机来控制下位机工作。

图4 用户界面

3 结束语

从硬件和软件两方面对数字合成扫频仪的USB接口设计进行了论述,具有结构简单、传输数据量大、操作方便、设计灵活且易于升级的特点。USB接口的设计硬件配置为OTG模式,方便数字合成扫频仪作为Host和其他USB设备进行通信,如U盘等存储设备,更为方便地存储经DSP处理后的数据。经测试与实验表明,基于ISP1362设计的USB接口能够使数字合成扫频仪稳定、准确的传输数据,且能同步进行数据上传和下传,满足设计需求。

[1]Philips.ISP1362 single-chip universal serial bus on-thego controller[M].Ultra:Philips Conpration,2004.

[2]吴慧鑫,王厚军.数字存储示波器中USB接口功能的开发[J].自动化信息,2007(8):33-34.

[3]周立功.USB2.0与OTG规范及开发指南[M].北京:北京航空航天大学出版社,2004.

[4]刘君华.虚拟仪器编程语言LabWindows/CVI教程[M].北京:电子工业出版社,2001.

[5]王西龙.通用串行总线(USB)设备的设计与开发[J].西安邮电学院学报,2005,6(4):143 -146.

猜你喜欢
外设固件下位
发射机房监控系统之下位机
基于固件的远程身份认证
景洪电厂监控系统下位机数据传输网络改造
围观党“下位”,吐槽帝“登基”
CAN总线并发通信时下位机应用软件设计
提取ROM固件中的APP
一种通过USB接口的可靠固件升级技术
Microchip推出具备双ADC外设的全新器件,扩展其低成本8位PIC®单片机产品线
多路手机固件升级工具设计
外设天地行情