USB芯片设计规范样本_第1页
USB芯片设计规范样本_第2页
USB芯片设计规范样本_第3页
USB芯片设计规范样本_第4页
USB芯片设计规范样本_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

文档编号:

保密级别:

众志-863系统芯片通用串行总线设备控制

芯片设计规范

UNITY-863USBDCSpecification

北京大学微解决器研究开发中心

此硬件参照手册属机密级,仅洪北京大学微解决器研究中心有关成员查看

版本阐明

版本号日期描述

()010005/26/完毕unity-863usbspecification草稿

目录

版本阐明...........................................................1

目录..............................................................2

图片目录...........................................................3

表格目录...........................................................4

1概述...........................................................5

U功能简述..................................................6

1.1.1宏观特性.............................................6

1.1.2重要功能.............................................6

1.2BlockDiagram............................................................................................8

1.3引脚配备..................................................9

1.3.1USB接口描述........................................9

2寄存器配备....................................................10

2.1可编程寄存器..............................................11

3接口和时序....................................................20

3.1USB接口描述..............................................21

3.1.1USB输入信号.......................................22

3.1.2USB输出信号.......................................22

3.2重要接口信号时序..........................................23

附录一文档维护人...............................................21

附录二文档评审状况.............................................21

表格目录

1概述

众志-863系统芯片USBDC(universerialbusdevcecontrol通用串行总线设

备控制芯片,如卜.简称USBDC)是和带有USB主机控制器设备进行通信支持部

件,实现和带有USB主机控制器设备进行数据互换。

USBDC和APB连接进行寄存器初始化配备,和DMAC连接进行大量数据

互换。

1.1功能简述

1.1.1宏观特性

•众志-863系统芯片USBDC具备如下特性:

•48MHZ系统时钟

•USB外挂FIFO,发送和接受FIFO都为128x16

•一种配备,三个端点

•DMAC传播方式

1.1.2重要功能

INTERFACE模块功能暂存数据(读写数据)、地址信号、读写信号

FSM模块功能把APB时序转化为USB时序同步返回FINISH信号和读数据

USBDC使用SYNOPSYS公司DESIGNWARE,设备端控制芯片,把有效负载转换为

满足合同数据格式。

三个模块连在一起和具备USB主机控制器设备(重要是PC)进行数据互换。

1.2BlockDiagram

在UNITY-863中,USBDC和其她模块连接图如下:

READY

PRDATA

PSEL

PENABLE

FINISH

APB

PWRITEINTERFACE-----------

MASTER

PCLKRSTn

PRESETn

PADDR

PWDATA

RW

ADD

DAAW

DTTE

RAAQ

APPADDR

USBCLK

APPWRN

APPRDNUSBCLK

APPREGSEL

USBDCAPP2USBDRDYFSM

USB2APPDRDY

app2usb_data

usb2app_data

图1与APBMASTER连接

RXPKTACCEPTED

APP2USBRXPKTREJECTED

APP2USBREMEMAVAIL

USB2APP_RDMA_REQ

USBDCAPP2USB_RDMA_ACKDMAC

USB2APP_WDMA_REQ

APP2USB_WDMA_ACK

USB2APP_EPINDEX

VD

MD

SCURRENTMD

QAM

ADDRESSA

M—

WI

g—R

sMAPPINGLOGICR

nD

z

d

d

vDMA_MEM_ADDR

RAM

图2与DMAC和RAM连接

1.3引脚配备

本节简要描述USBDC接口信号,对每一种信号更详细描述以及时序图参阅第三章接口信号

和时序描述。

输入输出管脚

总模块输入输出信

号和描述参见下表:

表1・1总模块输入输出信号

信号方向作用描述

PCLK输入INTERFACE模块时钟APBMASTER发出

PSEL输入片选信号1有效

PENABLE输入使能信号1有效

PWRITE输入读写信号1有效

PADDR输入地址信号宽度是10

PWDATA输入写数据宽度是8

PRESETn输入复位信号0有效

USB_CLK输入FSM,USBDC时钟信号48MHZ

PRDATA输出读数据宽度是8

app2usb_rxpkt_acccptcd输入OUT事务ACK信号1有效

app2usb_rxpkt_rejected输入OUT事务NAK信号1有效

app2usb_rdma_ixck输入DMA读祈求响应信号1有效

app2usb_wdm^_ack输入DMA写祈求响应信号1有效

app2usb输入DMA写操作数据信号宽度是16

usb2app_rdma_req输出读操作祈求信号1有效

usb2app_wdma_req输出写操作祈求信号1有效

app2usb_zz7wrz_data输出DMA读操作数据信号宽度是16

1.3.1INTERFACE接口信号描述

表1-2INTERFACE接口信号

信号方向作用描述

PCLK输入INTERFACE模块时钟APBMASTER发出

PSEL输入片选信号1有效

PENABLE输入使能信号1有效

PWRITE输入读写信号1有效

PADDR输入地址信号宽度是10

PWDATA输入写数据宽度是8

PRESETn输入复位信号0有效

USB_CLK输入FSM,USBDC时钟信号48MHZ

FINISH输入表白FSM己经完毕当前操作1有效

RDATA输入FSM返回数据宽度是8

PRDATA输出读数据宽度是8

READY输出准备好信号,有效表白可以进行下一次操1有效

WDATA输出发给FSM数据信号宽度是8

WR输出发给FSM读写信号1有效

ADDR输出发给FSM地址信号宽度是10

RSTn输出发给FSM复位信号0有效

L3.2FSM接口信号

app2usb_rxpkt_accepted输入OUT事务ACK信号1有效

app2usb_rxpkt_rejected输入OUT事务NAK信号1有效

app2usb_rdma_ack输入DMA读祈求响应信号1有效

app2usb_wdma_ack输入DMA写祈求响应信号1有效

app2usb加%,_daia输入DMA写操作数据信号宽度是16

usb2app_rdma_req输出读操作祈求信号1有效

usb2app_wdma_rcq输出写操作祈求信号1有效

app2usb_rdma_data输出DMA读操作数据信号宽度是16

与APB接口信号阐明:

APBMASTER和INTERFACE接口信号

PCLK输入APB时钟

PSEL输入APBMASTER发出片选信号

PENABLE输入APBMASTER发出使能信号。

PWRITE输入APBMASTER发出读写信号。

PADDR输入APBMASTER发出地址信号。宽度是10。

PWD/XTA输入APBMASTER发出写数据。宽度是8。

PRDATA输出APBMASTER要读回数据。宽度是8

PRESETn输入APBMASTER发出复位信号。低电平有效。

READY输出准备好信号,表白当前操作

已经完毕,等待下一种操作。

INTERFACE和FSM之间信号

USB.CLK输入USB时钟(48MHZ)

REQ输入INTERFACE模块祈求FSM对INTERFACE进行读操作。

FINISH输出FSM返回给INTERFACE信号,表白FSM已经完毕当前

操作oINTERFACE收到这个信号之后,就把HREADY置位。

WDATA输入INTERFACE发出写数据。宽度是8

RDATA输出FSM返回给INTERFACE数据。宽度是8

ADDR输入INTERFACE发出地址信号。宽度是10。

WR输入INTERFACE发出读写信号。

RSTn输入INTERFACE发出复位信号,低电平有效。

FSM和USB之间信号

app_addr揄出FSM发出地址信号。

app_wr_n输出FSM发出写信号。低电平有效。

叩p」d_n输出FSM发出读信号。低电平有效。

app_reg_sel输出FSM发出片选信号。

app2usb_drdy输出FSM发出准备好信号,

usb2app_drdy输入USB发出准备好信号。

app2usb_data输出FSM发出数据信号。宽度是8。

usb2app_data输入USB返回数据信号。宽度是8。

未阐明电平有效均为高电平有效。

功能描述:

工作流程:

1.INTERFACE和FSM复位,此时READY,FLAG信号置为高电平,REQ清零,等

待读写指令。

2.读写指令发出后,APB会发出地址,读写信号,PSEL,PENABLE.

3.在PSEL,PENABLE均有效时候,在PCLK上升沿,此时把读写信号、地址信号

和数据(读操作无数据)保存在INTERFACE里边,同步把HREADY置为无效,并且向

FSM发出祈求信号REQo(上次文档是下一种周期发REQ信号)。

4.FSM在USB.CLK上升沿,如果FLAG(请参看阐明)和REQ都为I,就把APB

时序变为USB规定期序,同步把FLAG置为0。

5.FSM从USB得到数据和结束信号FINISH之后,把数据(如果写操作此时没有数据),

放到INTERFACE里边,同步向INTERFACE发出HREADY置位信号。

6.等待软件查询。

某些阐明:

对软件查询规定:当发现READY为高时,如果上次发出指令为写指令,这时

可以对USB进行读写。如果上次发出是读指令,就把数据读走。

咱们在APBPENABLE,PSEL两个信号均有效时时钟上升沿把地址,读写信号和写

数据保存在INTERFACE。在PSEL下降沿咱们向FSM发出一种祈求信号REQ(由于两个

时钟频率不同,一种为166MHZ,一种为48MHz,因此REQ至少要4个166时钟宽度才干保

证FSM时钟采样到对的REQ为了防止REQ信号被采样两次,要设一种标志信号FLAG,在

时钟(USB时钟)上升沿采样到REQ有效之后,就把标志信号FLAG清零。系统复位时标

志信号FLAG置1,这样就防止被采样两次。FSM采样到数据和控制信号之后,FSM按照USB

时钟和规定期序发给USB.当USB操作完毕之后,发数据(写操作不返回数据)和FINISH

信号给FSM,FSM接到这个信后之后,把数据发到INTERFACE,并且置位信号READY。

FSM时钟和USB时钟一致。INTERFACE时钟和APB时钟保持一致。

由于两个时钟频率相差比较大,因此复位信号宽度规定很宽,至少为3个USB时钟

周期(48MHZ)。

奇存器族写数据总线宽度是8o

与DMAC接口信号阐明:

APP2USB_RXPKT_ACCEPTEDDMAC告知USB发出一种OUT事务ACK信号。

APP2USB_RXPKT_REJECTEDDMAC告知USB发出一种OUT事务NAK信号或

者是IN令牌(标志)NAK信号。

APP2USB_RXMEM_AVAILDMAC发出RAM与否尚有空间信号。

USB2APP_RDMA_REQUSB发出DMA读操作祈求信号。

APP2USB_RDMA_ACKDMAC对USB读祈求响应信号。

USB2APP_WDMA_REQUSB发出DMA写操作祈求信号。

APP2USB_WDMA_ACKDMAC对USB写祈求响应信号。

USB2APP_EPINDEXUSB发出信号,表白当前要操作端点号和端点方

向。这个信号和DMA当前地址构成了对RAM操

作地址。宽度是5。

USB2APP_RDMA_DATA读操作数据线。

APP2USB_WDMA_DATA写操作数据线。

DMA传播方式采用INCREMNTING方式,传播类型为BULK传播。DMAC和USB接

口时钟和USB时钟一致.并且时序关系和徐兴文已经办商好了,她给出信号和时序关系符

合USB规定。USB采用外挂FIFO方式,FIFO宽度采用halfword。6位),深度采用32位。

这样FIFO正好可以容纳一种包大小。

操作流程:

•写操作

•当USB发出DMA写祈求后,DMAC会发出响应信号,如果当前RAM没有数据时

或者DMAC忙,DMAC就不批准当前操作。否则DMAC发出响应ACK,同步把数

据放到总线上。USB就会在ACK等于1时钟上升沿读取数据。送出数据(读操作)

•读操作

当USB发出DMA读祈求,同步把数据放到总线上。就DMAC会发出响应信号ACK,。

DMAC就会在ACK下•种时钟读取数据。DMAC数据读取操作结束之后,会发出ACK或

者NAK响应。

重要信号时序图:

寄存器配备:

DW.usbdMacroCore有一种可见能被编程寄存器组,她用来对管理配备、控制、监视USB

所有操作。详细寄存器组以及如何管理阐明如下:

•所有寄存器按照功能可以分为三类:

•终端信息寄存器组

•祈求、控制和状态寄存器组

•记录寄存器组

•她们功能基于两个出发点:

•保持当前与配备有关信息

•保持状态和中断控制

终端信息寄存器组:

Core中对于每个终端都给分派一种24字节寄存器块,块内寄存器阐明如下:

寄存器名字:ep_bEndpoi(Address

寄存器宽度(bits):8

属性:只读

偏址:'hOOO

复位值:

76643210

Dir|R—erved⑼|Endpointnumber

»Endpointnuinl>M:hOOthroughhOF

*R*s*rx*?d:A>A-ays$«tto0

.Endpointdirection(forIN'OUTonly):

•0«OUTon4point

•1«INendpomt

寄存器名字:cp_bmAttributcs

寄存器宽度(bits):8

属性:对Endpoint0只读,别Endpoint读/写

偏址:'hOOI

复位值:

76543210

Resw沱Ji.allOi

>Transfertype:

•00=Control

•01sIsochronous

•10=Bulk

-11=Intenupt

ReservedAlwaysto0

寄存据名字:cp_wMaxpackctSizc

寄存器宽度(bits):16

属性:读/写

偏址:'h002

复位值:

1514131211109876543210

ReRgd(Q)AddlionnlvAlaxPadcdSize

L>Maximump>ad(c(size(bytes)

spcod==1speed=2speed==3

Endpcinttype

«h亦speed)(ful-^pccd)J<w-$pccd»

0(ConWo064S.16.32.648

1(Isodironous)10241023

2(Bukj512fl.16.32.64

3(hlempl)1024648

(Applicationprogramming<MthvaluesNgherthantheseMill

rcsuthunrotattcopcrnticn.

♦Ferhigh-speodtsoetvonousandrterruptendpcints

only,(henumberofaddib8dIransactionoppcrluniies

permlcrofmnie:

•O€•1transactionpermerrtramo

•01-2irnns^cJioiisperinicnofnimc

•10=3tansadionspermicroframo

•11=Reserv'd

)Reserved:AlnnyssetIoO

寄存器名字:cp_blntcrfaccNumbcr

寄存器宽度(bits):8

属性:读/写

偏址:4h004

兔位值:'hOO

76543210

Interfacenumber

-Range:hOOthroughhFF

寄存器名字:ep_stat

寄存器宽度(bits):8

属性:Bits7,5,3,2,0:读/写,屏蔽

Bits6,4:保存

Bits!:读/写

偏址:*h005

复位值:'hOO

----------------------p-I-------------------1(Bitseshgtshowninthisdragrsmarethe-default

OROROOOOsellingwlectedv/hentheDW.ustdcoreisreset)

।11।11;I।1।IJ(R■Reurvcd,alwayi»«tt>0)

I»HALT:《Shadowed.nolrdevaitforendpoint0),

•1■Endpointhalted

•0■Endpointnothalted(Default)

------------►ACTIVE:

•1=Endpointisactiw

•0aEndpointnotacliw(Default)

-------------------PS1ALL(Shadowed,relevantonlyforcontrolendpant。?

•1=Protocol8Mloccurredccoontrolendpcint

•0=Nzrmaloperation(Default)

--------------------------CCCMP:(Shadw/ed.rdevartonlyforcontrolendpoints)

•1=Qzntrolcommand(USSrequ^t)compkt>=d

•0=Ccntrolconrmand(USSrequ&st)in(xocess।Default)

.TXZERO:(Shaded)

•1■Transmitazerob>lepicket

>0=NOP(Default)

*INTERRUPT:(Shadowed,rdwintoriyforimenuptINendpointi)

•1"lnkmjptpendingonthisendpoint

•0=Nointerruptpendingonthisendpoint(D«hut)

ITMHALTbititaff^«dbySET_FEATURE(ENDPaNT_HAlT„..)andCLEAR_FEATURE(ENDPOtlT_HALT....)

requests.

21hePSIALLbtisseibythecoredunrgoomroliransd:iomitthereisaprotocol«rcrForexanfte.arillegal

requestparameterwilcausethecpreioI$SUBa物LLhand^akewhileamiAaneouslysettingt»ePSFALLQil

The即plicalionsetsthePSTALLbit&:oocdingtoitsw/ncrilena.suchas*contolpiperequestMsupported.'

The西TALIbitisclearedbythenextSETUPtokenrecerred

寄存器名字:ep_setup_bmRcquestType

寄存器宽度(bits):8

属性:读/写

偏址:'h006

复位值:‘hOO

76543210

DT-TZ"|京二四reg叱匕9灯”山。5•ndpointo

_I〜Ihatareeontroicapoblt.)

*Recipient:

•O»O«MC«

•I=Intedaoi

•2=Endpoinl

•3=O*»»r

•4-31«R*»»n»d

♦Typr

•0•Standard

•1■CUM

•2"VeMw

•3=Reserved

♦Du均tra(W«<drtoion

•O=HostK)<tevce

•1=Deucetohost

寄存器名字:ep_setup_bRequest

寄存器宽度(bits):8

属性:只读

偏址:4h()07

复位值:'h00

寄存器名字:ep_setup_wValue

寄存器宽度(bits):16

属性:只读

偏址:%008(低位在'h008,高位在'h009)

复位值:'hOOOO

寄存器名字:cp_setup_wlndex

寄存器宽度(bits):16

属性:只读,屏版

偏址:%00A(低位在'hOOA,高位在'h()()B)

复位值:"hOOOO

寄存器名字:ep_setup_wLength

寄存器宽度(bits):16

属性:只读

偏址:,hOOC(低位在'hOOC,高位在'hOOD)

复位值:'hOOOO

寄存器名字:ep_synchFrame

寄存器宽度(bits):16

属性:读/写

偏址:'hOOE(低位在'hOOE,高位在'hOOF)

复位值:'hOOOO

寄存器名字:appjntr

寄存器宽度(bits):8

属性:读/写,屏蔽

偏址:'hOOO

复位值:'hOO

(Albitsareshadowed)

If1,receivedSETUPtoken

If1.reocivxjdINtoken

Ifl.reoe桃dOUTtoken

If1,receivedRNG

If1.transaction«roroccurred

If1,reoei^dACK

If1.statisticscoulterover1owoccvntd

If1.controltransieremxoccurred

Bits(30|.whensd.indicatethencocp(ionoftheapproval。USBpackets

t344.whenset.indcatostheoccurrcrojofafrotocolerrorinthetransaction,forerampk.a

dataorhardshakopackettimeout,orrooeptonofthedataorhandshakeaftertheoaxrrcncoof

thopacioottimeout,andsoon

Bd5,whenset.indcatesthereceptionofanormalACKpocketinresponsetodntaphaseot

anINtronsacbon

Bd6,when$elind3tz

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论