MCU&USB设备控制器IP核的设计

相关专题: 芯片

摘要:用硬件描述语言verilog HDL设计实现了一种MCU&USB设备控制器IP核。论文首先简要介绍了设计的背景,重点对自主研发的将MCU&USB控制器集成于一个芯片的设计和研究分析。最后给出nc-verilog功能仿真方案以及FPGA验证方案。使用上华0.35um工艺,流片成功,结果表明此IP核完全符合设计要求。

1 引言

在传统的计算机系统上常采用串口(如RS232)和并口连接外围设备,但串口和并口都存在着通信速度 慢,接口独占不利于扩展等无法克服的缺点,而通用串行总线(Universal Serial Bus,即USB)因具有传输 速度快、支持热插拔、扩展方便、抗干扰强、成本低、数据传输质量高、节省系统资源等优点而得到了广 泛的应用,当前它已成为计算机最常用的接口之一[1-3]。

现在USB控制器主要有两种:带USB接口的单片机(MCU)和纯粹的USB接口芯片。纯粹的USB接口芯片仅处 理USB通信,必须有个外部微处理器来进行协议处理和数据交换。典型产品有PHILIPS公司的PDIUSBD11(I2C 接口)、PDIUSBD12(并行接口);NS公司的USBN9603/9*(并行接口)。带USB接口的单片机从应用上又可以 分成两类,一类是从底层设计专用于USB控制的单片机;另一类是增加了USB接口的普通单片机,如Cypress 公司的EZ—USB(基于8051),选择这类USB控制器的最大好处在于开发者对系统结构和指令集非常熟悉,开 发工具简单,但价格比较高,不利于产品升级和改型[4-6]。

然而,国内产品中所用到的USB 芯片都依赖进口,主要由国外的IC 设计芯片厂商如Cypress,NEC 等 一些国际著名公司提供。鉴于USB 芯片有很好的市场前景和利润空间,尽管国内企业或研究机构目前还只 是处于USB 芯片应用开发的技术水平,人们还是希望自主开发出有自主知识产权的USB 芯片[7-9].因此,近 年来国内也有许多单位在探索独立设计USB 芯片。

本论文针对USB1.1 协议规范,本着自主开发USB 控制芯片,把MCU 和USB 设备控制器用软核的形式集成在一块芯片上,微控制器我们是用14 位指令字长度,且是单字节指令和单周期指令,其核心指令只有 39 条,容易掌握和设计,而且完全满足总体设计的要求。

2 MCU&USB 设备控制器工作原理及总体设计

整个设计的总体结构如图1 所示,差分信号线D+和D-连接主机,接收时主机发送的串行数据通过收 发器和USB 设备控制器解码和校验等处理后存储到相应的RAM 中;发送时由仲裁模块控制从RAM 或 ROM 中提取相应数据经过USB 设备控制器组合和收发器串行发送给主机。MCU 主要协助USB 控制器完 成设备和主机之间的数据传输。

2.1 MCU 的设计

MCU主要完成各种中断处理,而且协助控制器使主机检测和识别设备;设备刚插上PC时,MCU通过读取 ROM中的指令来初始化专用功能寄存器,使能全局中断GIE和USB中断USBint,使控制器能及时响应各种USB 中断;全局中断允许位GIE置位时,允许所有中断;清零时,禁止所有中断。当一个中断被响应时,GIE 位被清零以禁止其它中断,并装载中断服务程序,将中断返回地址压入堆栈。引起装载中断服务程序的中 断标志位在重新允许GIE之前通过软件清零,以避免重复响应中断。在中断服务程序中,通过检测中断标 志位可以判断中断源,各中断标志位的置位不受GIE的影响;在设备与主机通信过程中,MCU处理setup包、 in包、out包、ack、nak、stall包等的中断处理,我们规定了USB中断、定时器中断、外部中断、GPIO中断 的中断入口地址分别为04H、08H、0CH、10H;MCU同时还对各功能寄存器进行相应的操作,比如写端点0的 输入输出包允许的最大值,数据的触发位DSQ(即Data Toggle机制)等。

2.2 arbRAM、arbROM(仲裁模块)的设计

在设计中含有两种存储器:程序存储器(ROM)和数据存储器(SRAM),这两种存储器都有自己的总线, 在一个时钟周期内,可以同时对两种存储器进行访问。USB 和MCU 都可以访问SRAM 和ROM,仲裁模块就是 为两者同时访问时不起冲突而设置的;USB 访问ROM 的地址空间100h-fffh(我们把设备的描述符存放在这 里),且USB 访问仅取14 位宽的低8 位数据。当USB 与MCU 同时访问ROM 时,MCU 优先。USB 与MCU 共享通 用寄存器(SRAM),当USB 的请求访问存储器信号到来时, USB 访问存储器的地址信号的高三位不等于零 时属于USB 访问程序存储器的地址空间。当USB 与MCU 同时访问通用寄存器(SRAM)时,MCU 具有优先权。

2.3 USB 设备控制器的设计

USB 设备控制器是设计的重点部分,是本论文介绍的重点,总体的模块划分如图2 所示;

2.3.1 收发器的设计

USB 收发器作为USB 接口的模拟前端主要把主机发送过来的模拟信号转换成数字信号VP、VM 传到数字锁相环或把协议引擎发送过来的VP0、VM0 数字信号转换成模拟信号,并完成串并和并串的转换;

收发器的模型如图3所示,Dplus为正相USB差分数据线,Dminu为负相USB差分数据线,两者都是双向的。 OEn为USB发送使能,为低时作为发送功能,单相输出口被置为高阻,为高时作为接收功能,单相输入口被 置为高阻。

来源:维库开发网


微信扫描分享本文到朋友圈
扫码关注5G通信官方公众号,免费领取以下5G精品资料
  • 1、回复“YD5GAI”免费领取《中国移动:5G网络AI应用典型场景技术解决方案白皮书
  • 2、回复“5G6G”免费领取《5G_6G毫米波测试技术白皮书-2022_03-21
  • 3、回复“YD6G”免费领取《中国移动:6G至简无线接入网白皮书
  • 4、回复“LTBPS”免费领取《《中国联通5G终端白皮书》
  • 5、回复“ZGDX”免费领取《中国电信5GNTN技术白皮书
  • 6、回复“TXSB”免费领取《通信设备安装工程施工工艺图解
  • 7、回复“YDSL”免费领取《中国移动算力并网白皮书
  • 8、回复“5GX3”免费领取《R1623501-g605G的系统架构1
  • 本周热点本月热点

     

      最热通信招聘

      最新招聘信息

    最新技术文章

    最新论坛贴子