基于FPGA的USB接口读写设计
Vol.23No.1
January2006
文章编号:1671-7872(2006)01-0076-04安徽工业大学学报第23卷第1期J.ofAnhuiUniversityofTechnology2006年1月
基于FPGA的USB接口读写设计
周芳
(南京航空航天大学信息科学与技术学院,江苏南京210016)
摘要:介绍了一种用FPGA实现USB接口读写的设计方法。着重分析主循环,中断服务处理器和D12命令接口等几个结构模块的设计。在XilinxISE软件平台上,验证了读写模块的VerilogHDL语言代码。
关键词:USB;FPGA;PDIUSBD12;VerilogHDL
中图分类号:TN402文献标识码:B
DesignofUSBInterfaceRead-WriteBasedonFPGA
ZHOUFang
(CollegeofInformationScience&Technology,NanjingUniversityofAeronautics&Astronautics,Nanjing210016,China)
Abstract:AwaytodesignUSBinterfaceRead-WritebasedonFPGAisintroduced.MainLoop,InterruptServiceProcessorandD12CommandInterface,etcareanalyzedanddesigned,andrealizedbyVerilogHDLinXilinxISE.Keywords:UniversalSerialBus;FPGA;PDIUSBD12;VerilogHDL
引言
就是通用串行总线,是近年来应用在PC领域的新型接口技术。由于USB可以用USB(UniversalSerialBus)
简便有效的方法与多种类型的外设通信,导致了USB接口的设计和编程比较复杂。为了降低设计者的开发难度,使用专用的USB控制器已成为首选方案。
目前市场上供应的USB控制器主要有两种:一种是微控制器(MCU)集成在芯片里面,如CYPRESS的EZ-USB和SIEMENS的C541等;另一种就是纯粹的USB接口芯片,仅用来处理USB通信,由另一个外部MCU管理USB控制器的寄存器、设备描述符的获取和数据包的交换等,USB控制器使用串行口或并行口与
(I2C接口)和PDIUSBD12(并行接口)等。文中所采用的MCU连接。这类芯片主要有PHILIPS的PDIUSBD11
是PHILIPS公司的PDIUSBD12器件。
如今,计算机外围设备市场上使用USB接口的数码相机、扫描仪、U盘和鼠标等设备比较常见,这些设备均可采用外部MCU加USB接口芯片的设计。如果设备的应用比较简单,那么MCU所要处理的事务量不大,它的某些功能不一定能派上用场,这时完全可以考虑用现场可编程门阵列(FPGA)来取代微控制器,管理
设备描述符的获取和数据包的交换等。此外,由于FPGA能够满足低功率和可重配置USB控制器的寄存器、
逻辑解决方案的要求,在复用和可移植性方面,FPGA器件比MCU具有更高的胜算把握[。1]
用FPGA实现USB接口的读写正是居于此思想来设计的,由USB设备控制器PDIUSBD12(以下简称D12)和FPGA组合在一起,以实现与主机之间的数据通信。该方案实现的USB通信便于修改且易于实现,如果USB设备控制器部分是用IP核实现的,还可以与FPGA相结合,作为一个功能模块嵌入到SOC中,可使不同情况最大限度地灵活设计片上系统。
收稿日期:2005-05-10
作者简介:周芳(1979-),女,江苏南京人,硕士研究生,助教,研究方向为数字系统设计与计算机应用。
第1期周芳:基于FPGA的USB接口读写设计771系统结构原理
接口读写设计的重点是USB接口读写部
分,其设计思想主要是基于PDIUSBD12芯片
的应用[2]。
它通过与D12芯片的通信,对主机传来的
数据进行处理,或者按照协议规定向主机发送
数据,实现与主机之间的USB通信。根据读写
模块所要实现的功能,可以将其划分为几个部
分:主循环;中断服务处理器ISP(interrupt
serviceprocessor);D12命令接口;标准请求处
(standardrequestcommand
processor)和RAM数据缓冲区,其结构框图如
图1所示。理器SRCP图1系统层次结构框图
2USB接口读写模块与PDIUSBD12的接口
PDIUSBD12采用通用并行接口实现与读写模块的通信,它们之间的接口主要有多路复用的8位地址/数据总线、地址锁存信号、中断信号、读写信号、片选信号和时钟信号[2],如图2所示。
对于微控制器而言,D12可以看成是一个有8
位数据总线和1位地址线的存储设备;ALE是地址
锁存信号,在多路地址/数据复用总线中,ALE下降
沿锁存地址信息;中断信号为低电平有效并且引脚
上接一个上拉电阻,D12通过该信号通知读写模块图2D12与读写模块之间的接口
需要进行和主机之间的数据处理;读写信号和片选信号均为低电平有效;时钟信号输出时钟的频率为48MHz/(N+1),其中N的数值由D12片内寄存器决定,范围从0到11。读写模块可以通过设置该寄存器的数值来要求D12输出相应的时钟频率,这里所要求的时钟频率是12MHz。此外,由于D12是工作在多路复用地址/数据总线模式下,所以要求D12的地址位A0接固定高电平。
3读写模块的设计
3.1D12命令接口
读写模块是通过对D12输入一系列命令来完成和主机之间的数据传输,这些命令主要包括设置地址、设置工作模式、读中断寄存器、选择端点、端点应答、端点输入和端点输出等。D12命令接口模块的功能就是实现这些命令,它处于整个读写模块的最低层,直接与D12进行数据接口,所以该模块首先要能产生和MCU一样的读写信号时序,其部分VerilogHDL语言描述如下:
assignmcu_data=wr?8'hzz:lamcu_data;
always@(posedgeale)
lamcu_data<=addr;
always@(negedgeale)
lamcu_data<=data_in;
always@(negedgerd)
data_out<=mcu_data;
always@(posedgeclkornegedgerst)
if(!rst)state<=IDLE;
elsestate<=next_state;//数据总线为双向总线//ale上升沿锁定地址//ale下降沿关闭地址信息//读指令//设计一状态机产生读写指令的时序
78
always@(posedgeclk)
begin
next_state=state;安徽工业大学学报2006年//默认时不改变当前状态,状态机设计部 …… 此处隐藏:3702字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [实用文档]李践-有效提升销售的12大黄金法则8-大
- [实用文档]党支部换届工作方案
- [实用文档]2013年下期电子商务专业部宣传工作计划
- [实用文档]方庄一矿通风、钻探绩效工资考核管理办
- [实用文档]项目一 认识企业物流认识企业物流
- [实用文档]MBI_Display_产品蓝图规画
- [实用文档]北京市建筑业劳务作业人员普法维权培训
- [实用文档]锅炉燃烧调整与运行优化
- [实用文档]4支付结算业务的核算
- [实用文档]米什金_货币金融学_第9版各章学习指导
- [实用文档]水泥混凝土路面硬化工程施工组织设计
- [实用文档]钢筋工程安全技术交底书
- [实用文档]关于公布华中师范大学本科毕业论文
- [实用文档]太原市园林绿化施工合同范本 2
- [实用文档]周日辅导 初中英语分类复习单项选择题(
- [实用文档]第四章 文化经纪人的管理形式 第二节
- [实用文档]学宪法讲宪法竞赛题库
- [实用文档]《数值计算方法》期末考试模拟试题二
- [实用文档]爱词霸学英语:每日一句( 十月)
- [实用文档]2014年国家公务员面试:无领导小组讨论
- 新课程主要理念和教学案例分析汇编(24
- 英国人的快乐源于幸福的家庭生活
- 七年级上册第一次月考模拟数学试卷
- 真丝及仿真丝的种类有哪些?
- 【最新】华师大版八年级数学下册第十六
- 高中英语3500个必背单词
- 我可以接受失败,但我不能接受放弃!
- 最近更新沪科版八年级物理上册期末试卷
- 绿化工作先进乡镇事迹材料
- 鲁教版九年级上册思想品德教学计划
- 英语音标的分类
- 地下室底板无梁楼盖与普通梁板结构形式
- 美容师黄金销售话术
- 雅思写作满分作文备考方法
- 血清甲状腺激素测定与高频彩色多普勒超
- 1度浅析装修对室内空气品质的影响
- 2017-2022年中国汞矿行业深度分析与投
- 计算机二级VB公共基础知识
- (何勇)秸秆禁烧_重在寻找出路
- 内外墙抹灰工程分包施工合同1




