【文章內(nèi)容簡(jiǎn)介】
方式。 45 讀操作:同步方式下,當(dāng) FIFO 指針在 SLRD 有效時(shí), IFCLK 的每一個(gè)上升沿累加;異步方式下, FIFO 指針在每次 SLRD 激活 到撤銷激活變化時(shí)累加;SLOE 提供 FD[7:0] 的使能信號(hào)。寫操作:同步方式下,當(dāng) SLWR 被激活時(shí), FD總線上的數(shù)據(jù)在每個(gè)時(shí)鐘信號(hào)的上升沿來(lái)時(shí)被寫入 FIFO(且 FIFO 指針加 1);異步方式下, FD 總線上的數(shù)據(jù)在每次 SLWR 激活到撤銷激活變化時(shí)寫入 FIFO(并且指針加 1 )。 在讀或者寫的過(guò)程中,通過(guò) FIFOADR[1:0]來(lái)選擇 68013A 模塊內(nèi)部的四個(gè)EP2,EP4,EP6,EP8( End Point)端點(diǎn)中哪一個(gè)端點(diǎn)和 FD 數(shù)據(jù)線相連接, FLAG、FLAGB、 GLAGC、 FLAGD 來(lái)標(biāo)志端點(diǎn)的 滿或者空,防止數(shù)據(jù)傳輸時(shí)的溢出,PKTEND 用來(lái)限定傳輸數(shù)據(jù)包的大小。 上 電下 載 固 件8 0 5 1 微 控 制 器復(fù) 位運(yùn) 行 下 載 固件 , 完 成 配 置插 入 U S B 連 接 接口設(shè) 備 已 枚 舉設(shè) 備 枚 舉創(chuàng) 建 連 接 , 啟動(dòng) 設(shè) 備驅(qū) 動(dòng) 程 序 下 載確定傳輸時(shí)鐘和數(shù)據(jù)傳輸方式讀 O R 寫 操 作 ?F I F O 是 否 滿 狀態(tài)F I F O 是 否 滿 狀態(tài) ?S L R D 有 效 , 讀 操 作S L W R 有 效 , 寫 操 作分 配 新 的 F I F O 端 點(diǎn)Y E SS L O E ?N O傳 輸 到 F D 信號(hào) 線低 電平存 儲(chǔ) 到 V i r t e x芯 片等 待 S L O E 變成 低 電 平高 電 平分 配 新 的F I F O 端 點(diǎn)Y E S傳 輸 到 F D 總線N O寫 入 到 外 部U S B 設(shè) 備 圖 21 USB 模塊工作流程圖 Adept USB 模塊的結(jié)構(gòu)框圖如下所示: 46 F L A G D / C S S L O ES L R DS L W RP K T E N DF L A G AF L A G BF L A G CI F C L KF I F O A D R [ 1 : 0 ]F I F O D A T A [ 7 : 0 ]T M ST C KT D OT D IV i r t e x 5F P G A J T A GP r o g r a m m i n gp o r tC Y P R E S S6 8 0 1 3 AS C KS D AI I C R O M( V I D / P I D )D _ PD _ NM i c r o n U S BD i l i g e n t A d e p tU S B p o r tP R O G R A MF P G A 下 載 配置 模 塊 圖 22 Adept USB 的邏輯結(jié)構(gòu)圖 其信號(hào)功能如下表: 表 21 Adept USB 系統(tǒng)外部接口表 信號(hào)名稱 信號(hào)流向 寬 度 信號(hào)描述 FLAGA 輸出 1 CY7C68013A 芯片內(nèi) FIFO 的標(biāo)志管腳,映射 FIFO 的當(dāng)前狀態(tài)為滿或空 FLAGB 輸出 1 FLAGC 輸出 1 FLAGD/CS 輸入 1 端點(diǎn) 6FIFO 選擇信號(hào),低電平有效 SLOE 輸入 1 Slave 模式下控制 FD 的使能信號(hào) SLWR 輸入 1 FIFO 的寫選通信號(hào) SLRD 輸入 1 FIFO 的讀選通信號(hào) IFCLK 雙向 1 接口時(shí)鐘 PKTEND 輸入 1 數(shù)據(jù)包結(jié)束信號(hào) FIFOADR[1:0] 輸入 2 選擇四個(gè) FIFO 端點(diǎn)的地址線 FIFO DATA[7:0] 雙向 8 數(shù)據(jù)傳輸線 TMS 輸出 1 模式選擇, TCK 上升沿前建立 TDO 輸出 1 數(shù)據(jù)輸出, TCK 下降沿輸出 TDI 輸入 1 數(shù)據(jù)輸入 TCK 輸出 1 時(shí)鐘輸入 47 PROGRAM 輸出 1 FPGA 重新配置信號(hào) 內(nèi)部各模塊之間接口定義: 表 22 Adept USB2 內(nèi)部各模塊之間接口表 信號(hào)名稱 寬 度 信號(hào)流向 信號(hào)描述 SDA 1 E2PROM與接口控制,雙向 IIC的數(shù)據(jù)傳輸線 SCK 1 接口控制模塊流向 E2PROM IIC的時(shí)鐘控制線 D_P 1 Micro_USB與接口控制模塊,雙向 USB的數(shù)據(jù)信號(hào)線正 D_N 1 Micro_USB與接口控制模塊,雙向 USB的數(shù) 據(jù)信號(hào)線負(fù) 48 Adept USB 模塊內(nèi)部包含 3 個(gè)子模塊: 68013A 模塊, E2PROM 模塊,硬件接口模塊。 68013A 模塊是該主模塊的核心部分,需要支持 協(xié)議模塊中的 8 位數(shù)據(jù)信號(hào)可以保證 USB 中數(shù)據(jù)的快速并行傳輸,并且支持 JTAG 來(lái)配置連接的芯片,同時(shí)也要支持?jǐn)?shù)據(jù)傳輸。 E2PROM 模塊是存儲(chǔ)固件程序以及 VID/PID/DID,在上電后加載到 USB 控制模塊的芯片上。 IIC PROM 模塊的實(shí)現(xiàn)需要考慮存儲(chǔ)空間大小、工作頻率和主控芯片是否相匹配、 是否內(nèi)嵌 IIC 控制器等問(wèn)題。 MicroUSB 是提供該模塊與 PC 主機(jī)的連接,接受來(lái)自 USB 接口數(shù)據(jù)。 Adept USB 子模塊 68013A 模塊原理 68013A 模塊提供主機(jī)與設(shè)備之間的物理連接、發(fā)送連接和數(shù)據(jù)包連接。目前的 USB 芯片有 CH37 CYPRESS 系列、 PIC18FF4550。其中 CH375 芯片具有 HOST 和 Slave 模式,不過(guò)只支持 。 PIC18FF4550 是 Microchip 公司出品的帶全速 USB 的 8 位高檔單片機(jī);全速 下有 1KB 的雙端口,支持 32個(gè)端點(diǎn)( 16 對(duì))和兩種數(shù)據(jù)傳輸速率 12MMbps 和 ),其數(shù)據(jù)端點(diǎn)和模塊設(shè)計(jì)中的數(shù)據(jù)不匹配。 CYPRESS 的 EZUSB FX2 系列也是帶有微處理器 USB芯片,自持全速和高速的數(shù)據(jù)傳輸,也支持 IIC 總線接口,而且在市面是價(jià)格比較便宜,但具有處理能力強(qiáng),構(gòu)成系統(tǒng)電路簡(jiǎn)單,而且功耗較低,外圍接口功能強(qiáng)大。 68013A 模塊的硬件實(shí)現(xiàn)是選取 Cypress 公司的 EZUSB FX2 系列芯片中的CY7C68013A 芯片。該芯片集成了 系統(tǒng)微處理器,兼容 ;不過(guò)該芯片只支持兩種傳輸速率:全速 12Mbps 和高速 480Mbps,不支持低速;芯片內(nèi)嵌有 IIC PROM 控制器,可以直接在 IIC 總線上懸掛 E2PROM存儲(chǔ)器。 1. CY7C68013A 芯片介紹 CY7C68013A ( EZUSB FX2LP?)芯片是 CYPRESS 公司研發(fā)的世界上第一款集成 USB 協(xié)議的微處理器接口控制芯片,也是高集成、低功耗 USB 微控制器 EZUSB FX2? (CY7C68013) 的一個(gè)低功耗版本,它支持 12Mbps 的全速以及 480Mbps 高速傳輸,可使用控制傳輸,中斷傳輸,塊傳輸和同步傳輸?shù)人姆N傳輸方式進(jìn)行數(shù)據(jù)傳輸。 CY7C68013A 上集成有 16KB 的片內(nèi) RAM、增強(qiáng)的 8051 微處理器、 16 位并行地址總線、 8 位數(shù)據(jù)總線、 I2C 總線、雙串口、 4K FIFO 的可配置的存儲(chǔ)器以及通用可編程接口( GPIF)、智能串行接口引擎( SIE)和 收發(fā)器。 49 50 68013A 模塊的內(nèi)部邏輯結(jié)構(gòu)原理圖: 圖 23 68013A 模塊邏輯結(jié)構(gòu) 68013A模塊中有三個(gè)大小固定為 64字 節(jié)的端點(diǎn)緩沖區(qū)和 4KB 的公用緩沖區(qū)(圖 23 中的 4KBFIFO),其中 4KB 的空間可以配置成多種組合。其端點(diǎn)的分布如圖 24: 圖 24 端點(diǎn)化沖區(qū)配置圖 端點(diǎn)緩沖區(qū)分為大小兩種。 EP0 和 EP1 是小端點(diǎn),大小為 64 字節(jié),只能被 CPU 讀取,不能直接與外部邏輯連接。 EP EP4 、 EP EP8 是大的,可配置的邏輯端點(diǎn);緩沖深度分為 3 或 4,也是可以配置的。 EP4 和 EP8 固定為 512 自己,是雙緩沖;端點(diǎn) EP2 和 EP6 大小為 512 字節(jié)或者 1024 字節(jié),可 51 以配置成 3 或 4 緩沖。流過(guò)大緩沖區(qū) 端點(diǎn)的數(shù)據(jù)通常是由 FIFO 接口控制,通常不許要 CPU 參與,但必要時(shí) CPU 可以存取這些。 EP0 則是唯一的控制傳輸端點(diǎn),也是唯一的雙向傳輸端點(diǎn), EP1IN 和 EP1OUT 可配置為中斷和批量端點(diǎn)。 EP EP EP EP8 用來(lái)處理高帶寬的 傳輸,可配置為中斷、批量或者同步端點(diǎn)。在數(shù)據(jù)傳輸時(shí),端點(diǎn) /接口 FIFO 直接以 速率傳輸數(shù)據(jù),無(wú)需 CPU 干預(yù)。 雙緩沖區(qū)的作用是允許一個(gè)數(shù)據(jù)包在被 8051 微控制器訪問(wèn)時(shí),另一個(gè)緩沖區(qū)可以進(jìn)行 USB 數(shù)據(jù)傳輸;三或四則允許兩個(gè)或三個(gè)緩沖區(qū)被 8051 微控 制器訪問(wèn)時(shí),另一個(gè)緩沖區(qū)可以進(jìn)行 USB 數(shù)據(jù)傳輸。這樣就可以把數(shù)據(jù)包的延遲降到最小,從而增加帶寬的吞吐量。 68013A 可以運(yùn)行在全速( 12Mbps)或者高速( 480Mbps)兩種模式下。當(dāng)運(yùn)行在全速模式下時(shí), EP EP EP EP8 緩沖區(qū)仍以小緩沖區(qū)出現(xiàn),數(shù)據(jù)傳輸類型和緩沖區(qū)可以配置;運(yùn)行在高速模式時(shí),固件可以配置大端點(diǎn)緩沖區(qū)的大小、數(shù)據(jù)傳輸類型、緩沖深度。由于 規(guī)范和 下的數(shù)據(jù)最大包大小不同,在高速或者全速模式下, CEPRESS 68013A 緩沖區(qū)有不同大小。 表 23 數(shù)據(jù)傳輸類型 數(shù)據(jù)最大包大小(字節(jié)) 控制傳輸 8,16,32,64 64 批量傳輸 8,16,32,64 64 中斷傳輸 164 11024 同步傳輸 11024 11024 68013A 內(nèi)集成了 4KB 的 FIFO 存儲(chǔ)區(qū),這些 FIFO 與普通 FIFO 每次傳輸一個(gè)字節(jié)的原理不同,它則是以數(shù)據(jù)包的形式傳輸,因而得名“量子 FIFO”。量子 FIFO 的數(shù)據(jù)包傳輸對(duì)于外部接口是不可見(jiàn)的;外部接口通過(guò)檢查 FULL 和EMPTY 標(biāo)志位控制與 FIFO 的數(shù)據(jù)傳輸。量子 FIFO 結(jié)構(gòu)見(jiàn)圖 23。 8 0 5 1 微 控 制 器R A M / F I F O端 點(diǎn) F I F OU S B應(yīng) 用 環(huán) 境 圖 25 端點(diǎn) FIFO架構(gòu) 68013A 模塊的這種獨(dú)特 FIFO 技術(shù),使得 USB 接口和應(yīng)用環(huán)境可以直接共 52 享 FIFO,而且微控制器不用參與數(shù)據(jù)傳輸,但允許微控制器以 FIFO 或者 RAM的方式訪存這些共享 FIFO。這種量子 FIFO 結(jié)構(gòu)很好地確保了高速模式下的數(shù)據(jù)傳輸。 3. CY7C68013A 芯片工作方式 CY7C68013A芯片有三種接口模式: PORTS, GPIF主控和 Slave FIFO。 ●PORTS接口模式實(shí) 際上就是普通的 IO端口模式,相當(dāng)于 8051通用的輸入輸出口。 ●GPIF主控模式,即主機(jī)模式,該模式下, GPIF作為內(nèi)部主機(jī)控制端點(diǎn) FIFO,其 GPIF ore成為一個(gè)可編程的狀態(tài)機(jī),可以生成多達(dá) 6個(gè)控制輸出信號(hào)和 9個(gè)地址輸出信號(hào),能外接 6個(gè)外部 Ready輸入信號(hào)和 2個(gè)內(nèi)部 Ready輸入信號(hào)。用戶可以通過(guò) GPIF Designer來(lái)控制狀態(tài)機(jī),從而和多種外圍器件無(wú)縫連接。 ●Slave FIFO模式,即從機(jī)模式,外部主控制器可以像對(duì)待普通的 FIFO一樣對(duì) CY7C68013A的多重緩沖 FIFO進(jìn)行讀寫。 要配置該芯片處于何種工作模式,可以通過(guò) IFCONFIG[1:0]寄存器來(lái)選擇工作模式。而端口模式是在加電時(shí)默認(rèn)配置,可以通過(guò) E2PROM 上的固件程序配置或者上電后進(jìn)行編程來(lái)改變配置模式。 4. 68013A 模塊芯片邏輯連接: 圖 26 CY7C68013A 芯片邏輯連接 E2PROM 模塊和 Micro USB 模塊 E2PROM 模塊提供 USB 上電后的固件加載。 固件是 FIREWARE 的對(duì)應(yīng)中文詞 ,它實(shí)際上是單片機(jī)的程序文件 ,其編寫語(yǔ)言可以采用 C 語(yǔ)言或是匯編語(yǔ)言 .它的操作方式與硬件聯(lián)系緊密 ,包括 USB 設(shè)備的連接 USB 協(xié)議、中斷處理等,它不是單純的軟件,而是軟件和硬件的結(jié)合,開(kāi)發(fā)者需要對(duì)端口、中斷和硬件 53 結(jié)構(gòu)非常熟悉。固件程序一般放入 MCU 中,當(dāng)把設(shè)備連接到主機(jī)上( USB 連接線插入插孔)時(shí),上位機(jī)可以發(fā)現(xiàn)新設(shè)備,然后建立連接。因此。固件程序的一個(gè)最主要的目的就時(shí)讓 Windows 可以檢測(cè)和識(shí)別設(shè)備。 24AA128 芯片具有 IIC