CYPRESS FX2 USB单片机.doc_第1页
CYPRESS FX2 USB单片机.doc_第2页
CYPRESS FX2 USB单片机.doc_第3页
CYPRESS FX2 USB单片机.doc_第4页
CYPRESS FX2 USB单片机.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

CYPRESS FX2 USB单片机 我是四川理工学院 电信系2001级 自动化 的一名学生。我正在做关于USB的一个毕业设计,我有幸借到一本关于CYPRESS芯片的英文书。我想把它翻译出与大家共享。由于时间,我不会字字翻译,我把我认为重要的且我有能力翻译的献给大家。以下只是一部分,我有空再继续贴在网上。如有不足,请指教。以下是我看CYPRESS 公司的FX2(USB2.0的单片机)一英文书的心得,也可说是“读书笔记”吧?请各位多多包涵。EXUSB FX2TECHNICAL REFERENCE MANNALCYPRESSCHAPTER 1 INTRODUCING EZ-USB FX21.1 INTRODUCIONUSB 2.0 的功能1. 具有480Mbits/sec的信号速度2. 对USB1。1设备和电缆完全兼容3. 新的集线器结构能向USB1。1设备端口提供复杂的12Mbits/sec数据流。THE CYPRESS SEMICONDUCTOR EZUSB FX2 除了具有USB 2。0 的功能外与不同情况CYPRESS SEMICONDUCTOR USB FX 系列无区别1.2 AN INTRODUCTION OF USBUSB1. 即插即入2. USB不使用电源,跳线,开关,配置程序等,不与I/O,DMA, MEMORY(,IRQ等发生冲突。3. USB集线器能接多个设备。4. USB能满足打印机,硬盘驱动器等的需要。5. USB 的各速度的应用场合A. LOW SPEED(1.5Mbit/sec)鼠标,键盘等B. FULL SPEED (12Mbit/sec) 扬声器,扫描仪等C. HIGH SPEED (480Mbit/sec) 硬盘驱动器等FX2的功能1. 有80512. 有RAM的软件结构3. 使用EZUSB芯片的USB设备不被端口数,大小,传输速度限制4. 代码简单,易学易用。1.3 THE USB SPECIFICATIONTHE USB SPECIFICATION VERSION 2.0 可在WWW.USB.ORG 找到1.4HOST IS MASTER (主机是大脑)1. 一切数据传输要听主机的。除了当主机把设备设置为“SUSPEND(挂起)”模式时设备能发出“REMOTE WAKE UP”信号,例外。2. 采用这种“HOSTCENTRIC MODE”的原因是减低成本。1.5USB DIRECTIONG(传输方向)1. OUT 指 HOST到DEVICE。2. IN 指DEVICE 到HOST。1.6 TOKENS AND PIDS1. 这节将提出以下几个问题?A,什么时候这个主机将送“IN”TOKEN。B,这些“TERMS”(我看书猜是指令,如TOKEN,DATA,HANDSHAKE,SPECIAL)是什么意思?2.接下来我要说的是,USB PIDS(IT IS SPECIAL CODES CALLED PACKET IDS)既USB的数据包代码。PID TYPE类型PID NAME名字TOKENIN,OUT,SOF,SETUPDATA数据DATA0,DATA1, DATA 2,MDATAHANDSHAKE握手ACK,NAK,STALL,NYETSPECIAL特殊PRE,ERR,SPLIT,PING3. 以下是数据传输格式DATA1,DATA0,这两个是重复数据,确保在1数据丢失时,0可补上。不至于数据丢失。TOKEN PACKETDATA PACKET(数据包)H/S PACKETOUTADDRENDPCRC5循环冗余DATA1PAYLOAD DATACRC16循环冗余ACKTOKEN PACKETDATA PACKET(数据包)H/S PACKETOUTADDRENDPCRC5循环冗余DATA0PAYLOAD DATACRC16循环冗余ACK4 USB “OUT” PACKET的传输过程。(不是USB 有两个数据指令吗?“IN”AND“OUT”这儿讲的是“OUT”它是有主机到USB设备的传输。 A 主机送数据到总线上。 B 数据传输到设备。 C USB设备送“ACK”到主机表明接受成功。5 在“FULL SPEED(12MBITS/SEC)”和在“HIGHT SPEED(480MBITS/SEC)”上传送“OUT PACKET”有不同。 A 在“FULL SPEED”,主机重复送“OUT DATA”。 B 在“HIGHT SPEED”,首先,主机送“PING ”指令到“OUT(输出)”终端,询问在外围设备中,这儿是否有空间为“OUT DATA(输出数据)”。仅仅当主机收到回答,既收到“ACK”,主机才会送“OUT TOKEN AND DATA(输出指令和数据)。(我想就是因为这个改进,一部份提高了传输速度,这就是“HIGHT SPEED”和“FULL SPEED”的差别)6 这儿有两个重复的DATA PIDS (数据包IDS),这是由于USB严格的查错机制。其查错过程如下:A,设备的ACK握手信号,表明设备接受数据无误,(而且我认为它的CRC循环冗余,也是其数据严格的表现)B,如果设备不回复,表示数据可能丢失,主机自然会重发的。(那你说,发了两个重复数据,如没丢,不多了吗?这不多,设备自然会处理多的那个)7 接下来我会讲解各PIDS。 A SETUP TOKEN(SETUP领牌)是唯一的用来“控制”传输的。 B SOF TOKEN(START OF FRAME,开始帧)。在FULL SPEED(12MBITS/SEC)下,SOF TOKEN 每MS(毫秒)发生。在HIGH SPEED下,125MS一帧,而每帧包含一个SOF TOKEN。 C ACK (ACKONWLEDGE)表示数据接收成功。 D NAK(NEGATIVE ACKONWLEDGE)是设备表示自己很忙,请主机再传。注意它不是“ERROR(出错)”,当USB设备发现传输有错时,它会选择不“回答”。 E STALL 表示出现主机不可预知的错误。 F NYET(NOT YET)它只出现在HIGH SPEED模式下,表示设备数据传输成功,但还没准备好接受下个设备。 G PRE 这个出现在LOW SPEED(1。5MBITS/SEC)下,FX2不支持。1.5.1 RECEIEING DATA FROM THE HOST(接受来自主机的数据)。1 以下我将写这的过程。 A 首先主机送给设备,数据和“OUT”(记住OUT在数据后哦)。 B 接下就是设备回复主机了,这儿分三种情况1,设备有接受数据的空间,设备回复“ACK”。2,如果这儿没多空,它会送“NACK”到主机。3,如果设备发现主机传来的数据有误,它会什么也不发(我想这也是加快其运行速度的好方法),主机在规定时间内没收到任何来自设备的信号,它会重发数据。1.6.2 SENDING DATA TO THE HOST(送数据到主机)1. USB设备不会传数据到主机,(这是我自己翻译的,我不知道是否理解正确,我把原文写下“A USB DEVICE NEVER SPONTANEOUSLY SENDS DATA TO THE HOST”)。2. 当主机送一个“IN”请求到FX2,数据将被外围设备通过端口送到主机。1.7 USB FRAMES(USB 帧)1 USB 主机每毫秒(MILLISECOND)传输一个SOF(START OF FRAME,开始帧)给 所有USB设备。2 SOF包中 每帧由11位组成。其当前帧(其帧号0-2047)可在任意时间从FX2内部寄存器读出。3 在HIGH SPEED(480MBIT/S)每一秒毫秒(ONE MILLISECOND)帧被分成8个125微秒(MICROSECOND),每个包含1个SOF包。而帧号以毫秒(MILLISECOND)计数,既一秒一个,因此这8个帧有相同的帧号。为跟踪当前的微秒帧(MICROFRAME0-7),FX2提供了一个可读的微秒帧计数器(MICROFRAME COUNT)。4,当FX2收到一个SOF,它将产生一个中断请求。A在FULL SPEED 情况下,每毫秒一次(ONCE EVERY MILLISECOND),B在HIGH SPEED情况下,每125微秒一次(ONCE EVERY 125 MICROSECOND)。这个SOF中断应用于,比如服务同步数据时使用。1.8 USB FRANSFER TYPES(USB传输类型)它有四个类型,以在总线上传输方式而定。181 BULK TRANSFERS (块传输)输入INADDRENDPCRC5DATA1有效数据PAYLOAD DATA循环冗余CRC16应答ACK令牌包TOKEN PACKET数据包DATA PACKET握手包H/S PKT 输出OUTADDRENDPCRC5DATA1有效数据PAYLOAD DATA循环冗余CRC16ACKTOKEN PACKETDATA PACKETH/S PKT它的特性,1. 突发性(BURSTY)。2. A在FULL SPEED (12Mbits/Sec)情况下 每数据包包含8,16,32,64个字节。B在HIGH SPEED (480Mbits/Sec)情况下 每数据包包含512个字节。3. 精确性。4. 可用于打印机,扫描仪等。1.8.2 INTERRUPT TRANSFER (中断传输)1 中断数据与块传输数据格式相同,如下图输入INADDRENDPCRC5DATA1有效数据PAYLOAD DATA循环冗余CRC16应答ACK令牌包TOKEN PACKET数据包DATA PACKET握手包H/S PKT1 .8. 2 INTERRUPT TRANSFERS (中断传输)IN(输入)ADDR(地址)ENDPCRC5(循环冗余)DATA1(数据)PAYLOAD DATA(有效数据)CRC16(循环冗余)ACK(应答)TOKEN PACKET(令牌)DATA PACKET(数据包)H/S PKT(握手)1 中断数据传输的数据与块传输的数据类似。2 中断传输 在FULL SPEED (12Mbits/Sec)情况下,它的传输字节可在1之64个字节间。在HIGH SPEED (480Mbits/Sec)情况下,它的传输字节可高达1024个字节。3 它使用了IN 令牌(TOKEN)。1.8.3 ISOCHRONOUS TRANSFERS(同步传输)IN(输入)ADDR(地址)ENDPCRC5(循环冗余)DATA1(数据)PAYLOAD DATA(有效数据)CRC16(循环冗余)ACK(应答)TOKEN PACKET(令牌)DATA PACKET(数据包)H/S PKT(握手)1 同步传输适用于音响或视频。2 同步传输 在FULL SPEED (12Mbits/Sec)情况下,它的传输字节每包可在1之1023个字节间。在HIGH SPEED (480Mbits/Sec)情况下,它的传输字节每包可在1之1024个字节间。3 A同步传输中,时间非常重要。 B在USB帧中,分配了一定的USB带宽给同步传输。 C同步传输没有握手(NO HANDSHAKE ,SUCH AS ACK/NAK/STALL/NYET),没有重发(NO RETRIES)。而查错被限制在16-bit CRC。 D同步传输不使用数据轮换机制(DATA-TROGGLE MECHANISM),在FULL SPEED (12Mbits/Sec)情况下,仅仅有DATA0。在HIGH SPEED (480Mbits/Sec)情况下,有DATA0,DATA1,DATA2,MDATA, E同步传输每帧每个端点传输的包量。在FULL SPEED (12Mbits/Sec)情况下,每帧每个端点传输可传输一个同步数据包;在HIGH SPEED (480Mbits/Sec)情况下,每帧每个端点可传输高达3个同步数据包。1.8.4 CONTROL TRANSFERS (控制传输)以下将介绍控制传输的三个阶段:SETUP STAGE(SETUP 阶段),DATA STAGE(DATA 阶段,此阶段可根据需要缺省),STATUS STAGE(STATUS 阶段)。如下图:1 ACONTROL TRANSFERS (控制传输)配置和送控制命令到主机。 BCONTROL TRANSFERS (控制传输)非常重要,它使用最广泛的USB错误检测。 C主机为控制传输在USB帧中保留了一部分空间。2控制传输由二或三个阶段构成(DATA 阶段,此阶段可根据需要缺省)。 ASETUP STAGE(SETUP 阶段)包含了8字节的USB控制数据。 BDATA STAGE(DATA 阶段)如果需要可缺省。 CSTATUS STAGE(STATUS 阶段)也可称(HANDSHAKE,握手)在这个阶段,允许设备直接显示CONTROL传输成功。19 ENUMERQTION(枚举)1USB设备的即插即入(PLUG A

温馨提示

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

评论

0/150

提交评论