摘要:本文设计功能为基于FPGA的USB通信控制器,在USB模块中使用的芯片为CH376,该芯片具有支持USB通信传输的功能。CH376芯片在工作模式中有两种设备方式,分别为USB设备方式和USB主机方式,并且内部的基本固件设置了USB的通信协议,独特的通讯协议的固件,通讯SD卡的接口固件,内部设置FAT16和FAT32系统管理固件和FAT12文件,以及USB的存储设备。本文主要内容是在FPGA平台上实现基于FPGA的USB控制器的设计,设计模拟了基于FPGA的USB控制器模块的设计,在QuartusII软件中用硬件描述语言编写了USB的接口功能等程序代码,然后在软件支持下生成了原理图模块。并且连接好各个模块,最后进行时序仿真。
本次设计主要是在USB控制协议这个大背景下,使用数字系统相关技术在硬件描述语言的支持下,实现了基于FPGA的USB控制器的设计。在本次系统的设计过程中巩固学习程序设计语言之后结合EDA工具软件QuartusⅡ对程序进行编写以及编译检查,在保证程序正确能够正常运行后进行整个工程的综合测试。完成综合测试之后对前期程序的逻辑功能分模块进行仿真,数据的传输与发送部分通过使用Modelsim来对前期的逻辑设计功能进行验证与仿真,最终基于FPGA的USB控制器的设计。
关键词:FPGA;硬件描述语言;CH376;USB
目录
摘要
Abstract
1 绪 论-1
1.1 研究背景及意义-1
1.2 主要完成工作-1
1.3 本文组织结构-2
1.4 相关技术概述-2
2 设计使用的相关技术介绍-3
2.1 Quartus软件介绍-3
2.2 ModelSim软件介绍-3
2.3 FPGA技术介绍-3
2.4 硬件描述语言概述-4
3 系统硬件设计-5
3.1 系统设计要求-5
3.2 FPGA核心板部分的硬件设计-6
3.2.1 FPGA核心板部分的时钟设计-6
3.2.2 FPGA核心板部分电源管理设计-6
3.2.3 FPGA核心板部分调试接口设计-7
3.2.4 FPGA核心板部分输入结构设计-8
3.3 USB部分的硬件设计-9
3.3.1 USB部分整体设计-9
3.3.2 USB部分电源指示灯设计-10
3.3.3 USB部分SD卡结构设计-10
3.3.4 USB部分CH376芯片结构设计-11
4 系统软件设计-12
4.1 整体软件设计-12
4.1.1 FPGA模块仿真波形图-12
4.1.2 FPGA储存模块仿真图-13
4.1.3 FPGA系统工作状态仿真波形图-14
4.2 系统软件运行演示-15
4.2.1 配置软件环境-15
4.2.2 数据传输格式设置-16
4.2.3 单通道通信传输-17
4.2.4 双通道通信传输-18
结 论-19
附录B 软件部分程序-22
致 谢-24