基于Cortex- M0处理器的USB2.0设备控制器的设计与实现

2018-08-21 09:18:06龚锋焦继业闵嘉维
微型电脑应用 2018年8期
关键词:设备

龚锋, 焦继业, 闵嘉维

(西安邮电大学 计算机学院,西安 710061)

0 引言

通用串行总线(Universal Serial Bus,简称USB)具有即插即用、兼容性好、高扩展性等优点,传输数据高效可靠,在嵌入式系统中得到了广泛应用。自Cypress推出全球第一颗USB控制芯片以来,各大公司纷纷抢夺市场,当前USB控制芯片市场几乎被Cypress、Philips等欧美厂商垄断[1],扬智科技是国内为数不多能够自产USB控制芯片的公司,因此研究USB控制器不仅可以掌握核心技术,还可以创造可观的经济效益。

本文的USB2.0设备控制器基于嵌入式SoC系统,Cortex-M0处理器控制USB通信,AHB Lite总线实现Cortex-M0处理器和USB控制器的互联。众多设计者选用8051作为主控芯片[2],Wishbone总线作为连接结构。Cortex-M0处理器与8051处理器相比,Cortex-M0处理器性能优越,面积与8051处理器相当。AHB Lite总线与Wishbone总线相比,AHB Lite总线支持流水线操作[3],指令执行效率更高。本文优化了USB控制器,经过FPGA验证,USB控制器能够高效进行USB数据传输,可广泛应用于嵌入式SoC系统设计中。

1 USB2.0设备控制器架构

USB2.0设备控制器采用自上而下的模块化设计方法,使用Verilog硬件描述语言建立硬件模型,USB控制器主要用来驱动事务传输,对数据进行协议处理。USB控制器架构,如图1所示。

串行接口引擎负责底层协议处理,对USB包进行NRZI(No Return Zero-Inverse)编码/译码,位填充/去填充,CRC(Cycle Redundancy Check)校验。SRAM控制器获取端点的FIFO(First Input First Output) 指针,将FIFO指针转换成SRAM地址,此外产生访问SRAM的控制信号。端点控制单元传递事务传输的控制信号,Cortex-M0处理器依靠微处理器接口访问USB控制器的控制/状态寄存器和每个端点的FIFO。USB包交换成功后端点产生中断请求,USB控制器进入中断。……

登录APP查看全文

猜你喜欢
设备
谐响应分析在设备减振中的应用
调试新设备
当代工人(2020年13期)2020-09-27 23:04:20
基于VB6.0+Access2010开发的设备管理信息系统
基于MPU6050简单控制设备
电子制作(2018年11期)2018-08-04 03:26:08
广播发射设备中平衡输入与不平衡输入的转换
电子制作(2018年10期)2018-08-04 03:24:48
食之无味,弃之可惜 那些槽点满满的可穿戴智能设备
500kV输变电设备运行维护探讨
工业设计(2016年12期)2016-04-16 02:52:00
HTC斥资千万美元入股虚拟现实设备商WEVR
IT时代周刊(2015年8期)2015-11-11 05:50:37
Automechanika Shanghai 2014 之“看” 汽保设备篇
如何在设备采购中节省成本