USB1.1 OTG控制器设计与实现——基于Verilog的IP核开发
需积分: 17 95 浏览量
更新于2024-08-10
收藏 957KB PDF 举报
"控制器模块设计-基于89c51的ic卡读写器设计与实现"
本文主要探讨了基于89C51微控制器的IC卡读写器的控制器模块设计,尤其是串行接口引擎模块。该模块是读写器与外部设备(如USB设备)通信的关键部分,涉及到了USB 1.1 OTG(On-The-Go)标准。
3.3.1 串行接口引擎模块
该模块包含了两个关键工作模式:接收和发送。在接收模式下,它从USB收发器接收数据,经过一系列处理,包括检测总线状态、识别速度、同步域检测、NRZI解码、位填充去除、CRC校验检测和串并转换。这些步骤确保了从总线接收的数据的完整性和准确性。而在发送模式下,模块从主机或设备控制器接收数据,然后进行并串转换、CRC生成、NRZI编码、位填充插入、SYNC和EOP产生等操作,确保数据能正确无误地发送到收发器。
USB总线状态的检测和速度识别依赖于D+和D-数据线的信号电平,这些状态包括差分0、1、J、K、SE0、Idle、Resume、Suspend和EOF。NRZI编码是一种数据编码方式,其中'1'表示电平不变,'0'表示电平变化。位填充是为了防止连续多个'1'导致编码中的静默区,确保数据正确传输。接收端需要去除位填充,发送端则需要添加位填充。
包(Packet)是USB数据传输的基础,通常包含同步域、PID、地址、有效数据和CRC等字段。数据以低有效位在前,高有效位在后的顺序传输,同步域“KJKJKJKK”用于确认包的开始。
此外,该文还提到了一个硕士论文,涉及USB 1.1 OTG控制器的IP核设计。作者张明在导师王礼平指导下,采用Verilog硬件描述语言,遵循IP核设计流程,完成了设计。文中详细讨论了USB规范、OTG协议,分析了控制器的主要功能,并进行模块化设计和系统功能仿真,最终在Synplify环境中进行了面向FPGA的综合,评估了资源消耗,并提出了优化建议。
本文涵盖了基于89C51的IC卡读写器的控制器设计,特别是串行接口引擎的详细工作原理,以及USB 1.1 OTG控制器IP核设计的关键步骤和方法。这些知识点对于理解和实现USB通信设备的硬件设计至关重要。
2013-05-13 上传
2022-07-15 上传
2022-11-15 上传
2023-05-26 上传
2024-01-06 上传
2023-07-16 上传
2023-07-11 上传
2023-05-30 上传
2023-11-17 上传

小白便当
- 粉丝: 34
- 资源: 3918
最新资源
- Material Design 示例:展示Android材料设计的应用
- 农产品供销服务系统设计与实现
- Java实现两个数字相加的基本代码示例
- Delphi代码生成器:模板引擎与数据库实体类
- 三菱PLC控制四台电机启动程序解析
- SSM+Vue智能停车场管理系统的实现与源码分析
- Java帮助系统代码实现与解析
- 开发台:自由职业者专用的MEAN堆栈客户端管理工具
- SSM+Vue房屋租赁系统开发实战(含源码与教程)
- Java实现最大公约数与最小公倍数算法
- 构建模块化AngularJS应用的四边形工具
- SSM+Vue抗疫医疗销售平台源码教程
- 掌握Spring Expression Language及其应用
- 20页可爱卡通手绘儿童旅游相册PPT模板
- JavaWebWidget框架:简化Web应用开发
- 深入探讨Spring Boot框架与其他组件的集成应用