本文针对高速数据传输需求,根据usb2.0的协议规范,利用vhdl语言实现符合该协议的功能控制器,在视频压解系统中使数据在pc与外设之间高速传输。如图1所示由视频a/d采集的原始视频数据,在philips公司生产的tm1300专用视频处理器中压缩后,通过usb控制器送至pc机。pc机的整个通过usb控制器传输到tm1300,解压后发送至视频d/a。
1 控制器结构原理
usb2.0控制器结构框图如图2所示。控制器主要由两个部分组成,其一为与外设的接口,另一个是内部协议层逻辑pl(protocol layer)。内部存储器仲裁器实现对内部dma和外部总线对存储器访问之间的仲裁。pl则实现usb的数据i/o和控制。
接口有三种:一种是与微控制器之间的功能接口;一种是与单口同步静态存储器(ssram)之间的接口;另外一种是与物理层之间的接口。这里符合utmi(usb transceiver macrocell interface)规范定义。
2 控制器实现
控制器接口的信号框图如图3所示。存储器采用标准的单口sram,其信号接口由32位数据线sram_data、15位地址线sram_addr及读写信号(sram_we和sram_rd)组成,系统所需sram的容量为2 15×32bit=128kb。
而与微控制器之间的接口信号包括32位数据线data、18位地址线addr以及dma请求和响应信号(dma_req和dma_ack)。由于要支持到128kb,需要17位地址线,另外还需要一根地址线来选通ssram和usb控制器内部的寄存器,总共需要18根地址线addr[17:0]。定义如下:
usb_rf_sel <= !addr[17];
usb_mem_sel <=addr[17];
第18位地址addr[17]为高时选择缓冲存储器,否则选择内部寄存器。地址addr[16:2]直接用于存储器ssram的地址。
2.1 utmi接口
utmi接口信号包括:与发送数据相关的信号(txvalid、txready等),与接收数据相关的信号(rxactive、rxvalid、rxerror等)以及16位双向数据线。
在物理层,该控制器需要一个外部的usb收发器(transceiver),本文采用的是philips公司的isp1501芯片。该芯片用作usb2.0的模拟前端,从usb电缆来的差分信号进行反转不归零码(nrzi)解码和位解填充转换成16位并行数据;反之,16位并行数据通过一个差分驱动电路经过串行化、位填充和nrzi编码输出到usb电缆上。isp1501通过管脚mode0和mode1决定收发器的工作模式,共有4种工作模式:mode[1:0]为“00”时,收发器处于断开状态;为“01”时处于全速(full speed)模式(此时usb带宽为12mb/s);为“10”时是高速(high speed)模式(此时usb最大带宽是480mb/s);为“11”时是hs chirp模式。
utmi接口通过译码mode[1:0]来控制isp1501在hs和fs之间转变。
if mode_hs='1'then
mode<='10'
elsif mode_hs='0'then
mode<='01'
end if;
Linux应用开发【第十二章】I2C编程应用开发
广东移动全力推进5G基站建设,打造“5G﹢智慧旅游”产业新业态
【无线通信篇】ASK调制信号的MATLAB仿真
Arm全新AI技术为物联网终端设备带来空前智能
三星S8除屏占比逆天竟还有大招? 小米MIX现货惊喜开卖遭疯抢
基于FPGA和VHDL的USB2.0控制器设计
康佳存储正式入局半导体行业 战略及发展方向一览
韩国SK电信联手爱立信高通,进行首次5G商业化试验
一种新型3.6-kV/400-A SiC IPM可提升电源应用的性能
下一代iPhoneXR将提供更好的蜂窝连接性能 有望采用4×4MIMO天线设计
基于国标电力规约DL/T645的电表数据采集网关有何功能
知行科技软硬一体的行泊一体方案打通端到端全场景智能驾驶
IDC报告显示数据从本地存储转向云端明显
传苹果即将推出基于ARM的Mac类产品
keil5的安装
电视卡常见问题解决方法(驱动问题等)
环形导轨,精密的环形轨道系统,适用于自动化装配线和组装生产线
关于“标准光纤”的标准
一个SEPIC LED驱动电路
真我Note50发布 搭载紫光展锐T612芯片组