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

提交評論