当前位置:主页 > 行业指南 >

基于DSP与PC机之间的高速通信设计

发布时间:19-09-28 阅读:977

1 小序

近年来,跟着数字旌旗灯号技巧的成长,必要处置惩罚的数据量越来越大年夜,处置惩罚的速率也越来越快,是以具有高速机能DSP 芯片的利用获得了广泛注重。而经由过程DSP 处置惩罚的数据每每要传输给PC 机进行存储和再处置惩罚,那么就必须办理DSP 与 PC 机之间的高速通信问题。本设计规划以德州仪器TI)的C5000 系列DSP 芯片TMS320VC5416为微处置惩罚器,使用Cypress公司供给的USB2.0接口芯片CY7C68001 实现了USB2.0 从机接口设计,从而使PC机与DSP 经由过程USB2.0 接口实现高速双向地传输数据。

2 TMS320VC5416 与CY7C68001 EZUSBSX2硬件接口设计

系统规划采纳PC机作为上位机,认真USB总线上检测到设备接入并进行罗列、识别的历程,并且可以经由过程在PC机上运行利用法度榜样来节制数据的传输。USB芯片作为USB设备端,连接DSP与上位机的数据互换。DSP用于实现USB协议,经由过程DSP编程实现DSP数据经由过程USB接口与PC机通信,且USB芯片的描述符写入及各类敕令状态的处置惩罚均经由过程DSP编程实现。

TMS320VC5416 是TI 的一款16bit 定点高机能DSP,因为VC5416的功耗低、机能高,其分开的指令和数据空间使该芯片具有高度的并行操作能力,在单周期内容许指令和数据同时存取,再加上高度优化的指令集,使得该芯片具有很高的运算速率,同时该芯片本身具有富厚的片内存储器资本以及多种片上外设,是以在工程界获得了广泛的利用。

Cypress 公司的CY7C68001 EZ-USB SX2 是一款高机能、应用方便的USB2.0 接口芯片,满意USB2.0 协议,可事情在高速(480Mbps)或全速(12Mbps)模式下,供给一个节制端点用于处置惩罚USB设备的哀求以及四个可设置设置设备摆设摆设端点用于传输节制和数据旌旗灯号,这四个端点共享一个4KB的FIFO空间,具备标准的8位或16位外部主机接口,可无缝连接多种标准微处置惩罚器,比方说DSP、ASICFPGA等,并可根据需求设置为同步或异步接口,片内集成相环(PLL),该芯片广泛利用于DSL调制解调器、MP3、读卡器、数码照机、扫描仪、打印机等设备。

系统的硬件接口设计如图1、图2所示,两者经由过程数据、地址总线以及读、写旌旗灯号线等进行通信,CY7C68001的片选旌旗灯号连接至TMS320VC5416 的I/O空间片选旌旗灯号上,CY7C68001 的FIFO扩展在VC5416 的I/O 空间上。

电源部分采纳一片1117 将5V 转为3.3V提供CY7C68001EZ-USB SX2,模拟地与数字地之间采纳磁珠连接,复位部分采纳RC电路设计,且芯片资料上先容有范例值100KΩ和0.1μF。

3 接口操作道理

CY7C68001 有两个外部接口:

(1) 敕令接口:用来造访CY7C68001 寄存器、Endpoint 0缓冲器,以及描述表。

(2) FIFO数据接口:用来造访4个1K字节的FIFO中的数据。

这两个外部接口均可以经由过程同步或异步的要领进行造访。

本设计采纳异步的要领进行造访。根据图3 的地址分配,使用TMS320VC5416 的三根高位地址线(A11、A12、A13)连接CY7C68001 的FIFOAD0/1/2,用以选择FIFO2、FIFO4、FIFO6、FIFO8以及敕令接口,其地址表如图3所示。CY7C68001的地址线FIFOADR[2:0]为100B 时,选中CY7C68001 的敕令口(Command)。经由过程CY7C68001的敕令口,可以造访37个寄存器、Endpoint 0缓冲器(64个字节FIFO)和描述表(500个字节FIFO)等,对这些寄存器进行读写要领采纳二次寻址要领,即首先经由过程敕令口将要寻址的寄存器的子地址和操作类型(读或写)写入,然后再经由过程敕令口将数据读出或写入响应的寄存器。

写入敕令口的内容称为敕令字,敕令字包孕要寻址的寄存器的子地址,或要写入寄存器的数据的高4位或低4位。读敕令口必须要跟在给敕令口写读敕令字之后,读出的为响应寄存器的8位数据。以是,寄存器的写操作由3 个步骤组成:

4 USB 接口的软件设计

USB接口的软件设计由两部分组成:一是在PC机Windows中运行USB 2.0 UTIlity 对象,是一个Windows 图形用户界面软件,供给CY7C68001 与Windows 操作系统的接口法度榜样,使得CY7C68001的开拓变得简单。二是在在DSP中运行嵌入式利用法度榜样代码,供给硬件的驱动,用来治理CY7C68001进行不合要领的数据处置惩罚,从而实现USB2.0 传输协议。

4.1 USB 接口的软件设计流程

USB接口的软件设计,DSP端代码大年夜致包括DSP芯片初始化(vc5416_init 函数)、USB芯片初始化(sx2_init 函数)、USB芯片设置设置设备摆设摆设法度榜样( s x 2 _ s e t u p 函数) 以及USB 芯片数据读写法度榜样(sx2_processdata 函数),法度榜样流程如图4 所示。

DSP芯片初始化(vc5416_init函数)主要认真设置VC5416的事情频率,设置设置设备摆设摆设SWCR以及SWWSR寄存器,别的本利用系统采纳一个GPIO引脚作为68001的复位旌旗灯号,以是还必要对其进行相关设置。

USB芯片初始化(sx2_init函数)主要认真清除Buffer缓冲区以及使能VC5416 的外部中断INT1,待初始化停止后发出READY中断,此时DSP将描述符写入68001,进行罗列历程,待罗列经由过程后发出ENUMOK中断,罗列要领可以采纳外部EEPROM经由过程I2C总线上电后从外部导入描述符,也可采纳经由过程运行DSP法度榜样从DSP导入到68001,本利用系统采纳第二种罗列要领。

USB芯片设置设置设备摆设摆设法度榜样(sx2_setup函数)是在敕令通道(0节点)收到无法自动处置惩罚的上位机哀求,68001向VC5416发出SETUP中断后履行的法度榜样,此时VC5416 经由过程对SETUP寄存器继续履行八次读操作流程即可获得8字节哀求,系统可以相应该哀求或STALL该哀求。

USB 芯片数据读写法度榜样(sx2_processdata 函数)即PC 机与USB从设备端遵循USB传输协议进行数据通信

CY7C68001的地址FIFOAD[2:0]为100时,选中CY7C68001的敕令接口。对付敕令接口的读写要分两步进行,即在READY有效时,先经由过程敕令接口写入要寻址寄存器的子地址和操作类型(读或写),之后,在READY再次有效时分两次读写敕令接口,即可读写一个字节的数据。

4.2 中断办事法度榜样设计要点

DSP应用一个外部中断引脚(INT1)与CY7C68001的INT脚相连,USB总线上孕育发生一系列的活动,均会触发响应的中断,一旦中断孕育发生,DSP 会从CY7C68001 的Command 口中读取响应的值,来判断孕育发生的是何种中断。

CY7C68001 EZ-USB SX2 包括六其中断源:SETUP(收到来自于USB 上位机(PC)发送过来的Set-up 包时孕育发生的中断)、EP0BUF(端点0 缓存可用时孕育发生的中断)、FLAGS(OUT 端点FIFO的状态从空变为非空时孕育发生的中断)、ENUMOK(SX2罗列完成后孕育发生的中断)、BUSACTIVITY(SX2检测到总线活动时孕育发生的中断)以及READY(SX2上电并且复位完毕后孕育发生的中断),每一其中断源都可以经由过程置位或清除INTENABLE寄存器中响应位来使能或禁止。

CY7C68001芯片采纳中断缓冲机制,每次只会有一其中断源,其他中断源只有在上一其中断被读走后才会发出新的中断哀求。

是以,当一其中断孕育发生时,INT引脚为低电平状态,同时中断状态位会置入敕令接口,在进入中断法度榜样后应先对中断源进行判断,首先判断是否是读寄存器所孕育发生的中断,假如是则将数据筹备好标志位置1然后返回,否则外部PC经由过程选通SLRD/SLOE旌旗灯号从敕令接口中读取中断状态位来判断孕育发生的是何种中断,然后根据中断源进行响应操作,DSP读取中断状态位后自动清除中断标志位。

5 停止语

基于上述措施实现的USB接口电路,为DSP建筑与PC机之间的高速双向传输通路。经由过程硬件平台的搭建和软件法度榜样的实现,验证了该接口电路可以满意高速旌旗灯号处置惩罚的数据传输要求,并具有速率快和靠得住性高等优点,信托跟着嵌入式技巧的成长以及基于USB2.0 协议的芯片的普遍利用,基于USB的接口技巧将获得加倍广泛的利用。

滥觞;电子工程网



上一篇:DNF2019国庆头肩宝珠和春节宝珠哪个好 一起看看两
下一篇:国外部分企业生物识别领域研究最新进展