色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計(jì)應(yīng)用 > NANO2開發(fā)板實(shí)例之USB2.0接口通信回環(huán)

          NANO2開發(fā)板實(shí)例之USB2.0接口通信回環(huán)

          作者: 時(shí)間:2016-10-16 來源:網(wǎng)絡(luò) 收藏

          基于FPGA實(shí)現(xiàn)USB2.0接口通信,2.0 PHY芯片是Cypress68013, 68013內(nèi)部集成8051 內(nèi)核,USB2.0芯片讀寫需要對8051核進(jìn)行固件配置。

          本文引用地址:http://cafeforensic.com/article/201610/308327.htm

          一.FX2特性介紹1.1介紹

          Cypress Semiconductor公司的EZ-USB FX2是世界上第一款集成USB2.0的微處理器,它集成了USB2.0收發(fā)器、SIE(串行接口引擎)、增強(qiáng)的8051微控制器和可編程的外圍接口。FX2這種獨(dú)創(chuàng)性結(jié)構(gòu)可使數(shù)據(jù)傳輸率達(dá)到56Mbytes/s,即USB2.0允許的最大帶寬。在FX2中,智能SIE可以硬件處理許多USB1.1和USB2.0協(xié)議,從而減少了開發(fā)時(shí)間和確保了USB的兼容性。GPIF(General Programmable Interface)和主/從端點(diǎn)FIFO(8位或16位數(shù)據(jù)總線)為ATA、UTOPIA、EPP、PCMCIA和DSP等提供了簡單和無縫連接接口。

          1.2結(jié)構(gòu)

          CY7C68013結(jié)構(gòu)圖如圖1所示。它有三種封裝形式:56SSOP,100TQFP和128TQFP。

          圖片1.png

          1.3特征

          ★ 內(nèi)嵌480MBit/s的收發(fā)器,鎖相環(huán)PLL,串行接口引擎SIE——集成了整個(gè)USB 2.0協(xié)議的物理層。

          ★ 為適應(yīng)USB 2.0的480MBit/s的速率,F(xiàn)IFO端點(diǎn)可配置成2,3,4個(gè)緩沖區(qū)。

          ★ 內(nèi)嵌可工作在48MHz的增強(qiáng)型8051,它具有以下特征:

          - 具有256Byte的寄存器空間,兩個(gè)串口,三個(gè)定時(shí)器,兩個(gè)數(shù)據(jù)指針。

          - 四個(gè)機(jī)器周期(工作在48MHz下時(shí)為83.3ns)即組成一個(gè)指令周期。

          - 特殊功能寄存器(包括I/O口控制寄存器)可高速訪問。

          - 應(yīng)用USB向量中斷,具有極短的ISR響應(yīng)時(shí)間。

          - 只用作USB事務(wù)管理,控制,不參與數(shù)據(jù)傳輸,較好地解決了USB高速模式的帶寬問題。

          ★ “軟配置”——USB固件可由USB總線下載,片上不需集成ROM。

          ★ 擁有四個(gè)FIFO接口,可工作在內(nèi)部或外部時(shí)鐘下。端點(diǎn)和FIFO接口的應(yīng)用使外部邏輯和USB總線可高速連接。

          ★ 內(nèi)嵌通用可編程接口GPIF,它是一個(gè)狀態(tài)機(jī),可充當(dāng)主控制器,提供外部邏輯和USB總線的“無膠粘貼”。

          ★ 一種單片USB 2.0外設(shè)解決方案,不需要外部的協(xié)議物理層,F(xiàn)X2把所有的功能集成在一個(gè)芯片上。

          二、Slave FIFO傳輸2.1概述

          當(dāng)有一個(gè)與FX2芯片相連的外部邏輯只需要利用FX2做為一個(gè)USB 2.0接口而實(shí)現(xiàn)與主機(jī)的高速通訊,而它本身又能夠提供滿足Slave FIFO要求的傳輸時(shí)序,可以做為Slave FIFO主控制器時(shí),即可考慮用此傳輸方式。

          Slave FIFO傳輸?shù)氖疽鈭D如下:

          圖片2.png

          在這種方式下,F(xiàn)X2內(nèi)嵌的8051固件的功能只是配置Slave FIFO相關(guān)的寄存器以及控制FX2何時(shí)工作在Slave FIFO模式下。一旦8051固件將相關(guān)的寄存器配置完畢,且使自身工作在Slave FIFO模式下后,外部邏輯(如FPGA)即可按照Slave FIFO的傳輸時(shí)序,高速與主機(jī)進(jìn)行通訊,而在通訊過程中不需要8051固件的參與。

          2.2硬件連接(標(biāo)準(zhǔn))

          在Slave FIFO方式下,外部邏輯與FX2的連接信號圖如下:

          圖片3.png

          IFCLK:FX2輸出的時(shí)鐘,可做為通訊的同步時(shí)鐘;

          FLAGA,F(xiàn)LAGB,F(xiàn)LAGC,F(xiàn)LAGD:FX2輸出的FIFO狀態(tài)信息,如滿,空等;

          SLCS:FIFO的片選信號,外部邏輯控制,當(dāng)SLCS輸出高時(shí),不可進(jìn)行數(shù)據(jù)傳輸;

          SLOE:FIFO輸出使能,外部邏輯控制,當(dāng)SLOE無效時(shí),數(shù)據(jù)線不輸出有效數(shù)據(jù);

          SLRD:FIFO讀信號,外部邏輯控制,同步讀時(shí),F(xiàn)IFO指針在SLRD有效時(shí)的每個(gè)IFCLK的上升沿遞增,異步讀時(shí),F(xiàn)IFO讀指針在SLRD的每個(gè)有效—無效的跳變沿時(shí)遞增;

          SLWR:FIFO寫信號,外部邏輯控制,同步寫時(shí),在SLWR有效時(shí)的每個(gè)IFCLK的上升沿時(shí)數(shù)據(jù)被寫入,F(xiàn)IFO指針遞增,異步寫時(shí),在SLWR的每個(gè)有效—無效的跳變沿時(shí)數(shù)據(jù)被寫入,F(xiàn)IFO寫指針遞增;

          PKTEND:包結(jié)束信號,外部邏輯控制,在正常情況下,外部邏輯向FX2的FIFO中寫數(shù),當(dāng)寫入FIFO端點(diǎn)的字節(jié)數(shù)等于FX2固件設(shè)定的包大小時(shí),數(shù)據(jù)將自動被打成一包進(jìn)行傳輸,但有時(shí)外部邏輯可能需要傳輸一個(gè)字節(jié)數(shù)小于FX2固件設(shè)定的包大小的包,這時(shí),它只需在寫入一定數(shù)目的字節(jié)后,聲明此信號,此時(shí)FX2硬件不管外部邏輯寫入了多少字節(jié),都自動將之打成一包進(jìn)行傳輸;

          FD[15:0]:數(shù)據(jù)線;

          FIFOADR[1:0]:選擇四個(gè)FIFO端點(diǎn)的地址線,外部邏輯控制。

          2.3 Slave FIFO的幾種傳輸方式

          2.3.1 同步Slave FIFO寫

          同步Slave FIFO寫的標(biāo)準(zhǔn)連接圖如下:

          圖片4.png

          同步Slave FIFO寫的標(biāo)準(zhǔn)時(shí)序如下:

          IDLE:當(dāng)寫事件發(fā)生時(shí),進(jìn)狀態(tài)1;

          狀態(tài)1:使FIFOADR[1:0]指向IN FIFO,進(jìn)狀態(tài)2;

          狀態(tài)2:如FIFO滿,在本狀態(tài)等待,否則進(jìn)狀態(tài)3;

          狀態(tài)3:驅(qū)動數(shù)據(jù)到數(shù)據(jù)線上,使SLWR有效,持續(xù)一個(gè)IFCLK周期,進(jìn)狀態(tài)4;

          狀態(tài)4:如需傳輸更多的數(shù),進(jìn)狀態(tài)2,否則進(jìn)狀態(tài)IDLE。

          狀態(tài)跳轉(zhuǎn)示意圖如下:

          圖片5.png

          幾種情況的時(shí)序圖示意如下(FULL,EMPTY,SLWR,PKTEND均假定低有效):

          圖片6.png

          圖示FIFO中本來沒有數(shù)據(jù),外部邏輯寫入第一個(gè)數(shù)據(jù)時(shí)的情況。

          圖片7.png

          圖示假定FX2設(shè)定包大小為512字節(jié),外部邏輯向FIFO端點(diǎn)中寫入的數(shù)據(jù)達(dá)512字節(jié)時(shí)的情況。此時(shí)FX2硬件自動將已寫入的512字節(jié)打成一包準(zhǔn)備進(jìn)行傳輸,這個(gè)動作就和在普通傳輸中,F(xiàn)X2固件向FIFO端點(diǎn)中寫入512字節(jié)后,把512這個(gè)數(shù)寫入EPxBC中一樣,只不過這個(gè)過程是由硬件自動完成的。在這里可以看出“FX2固件不參與數(shù)據(jù)傳輸過程”的含義了。外部邏輯只須按上面的時(shí)序圖所示的時(shí)序向FIFO端點(diǎn)中一個(gè)一個(gè)字節(jié)(或字)地寫數(shù),寫到一定數(shù)量,F(xiàn)X2硬件自動將數(shù)據(jù)打包傳輸,這一切均不需固件的參與,由此實(shí)現(xiàn)高速數(shù)據(jù)傳輸。

          圖片8.png

          圖示的是FIFO端點(diǎn)被寫滿時(shí)的情況。

          2.3.2 同步Slave FIFO讀:

          同步Slave FIFO讀的標(biāo)準(zhǔn)連接圖如下:

          圖片9.png

          同步Slave FIFO讀的標(biāo)準(zhǔn)時(shí)序如下:

          IDLE:當(dāng)讀事件發(fā)生時(shí),進(jìn)狀態(tài)1;

          狀態(tài)1:使FIFOADR[1:0]指向OUT FIFO,進(jìn)狀態(tài)2;

          狀態(tài)2:使SLOE有效,如FIFO空,在本狀態(tài)等待,否則進(jìn)狀態(tài)3;

          狀態(tài)3:從數(shù)據(jù)線上讀數(shù),使SLRD有效,持續(xù)一個(gè)IFCLK周期,以遞增FIFO讀指針,進(jìn)狀態(tài)4;

          狀態(tài)4:如需傳輸更多的數(shù),進(jìn)狀態(tài)2,否則進(jìn)狀態(tài)IDLE。

          狀態(tài)跳轉(zhuǎn)示意圖如下:

          圖片10.png

          幾種情況的時(shí)序圖示意如下(FULL,EMPTY,SLRD,SLOE均假定低有效):

          圖片11.png

          圖示正常情況時(shí)的時(shí)序。

          圖片12.png

          圖示FIFO被讀空時(shí)的情況。

          圖片22.png

          幾種情況的時(shí)序圖示意如下(FULL,EMPTY,SLWR,PKTEND均假定低有效):

          圖片23.png

          圖示FIFO中本來沒有數(shù)據(jù),外部邏輯寫入第一個(gè)數(shù)據(jù)時(shí)的情況。

          三、測試USB接口:

          對于USB接口的測試,本次實(shí)驗(yàn)控制開發(fā)板上面的USB接口實(shí)現(xiàn)與PC機(jī)的通信。

          用usb2.0線連接pc與開發(fā)板usb接口,先下載s3_dram.bit程序,在沒有掉電的情況下,打開相應(yīng)的EZ-USB軟件(ez-usb為usb2.0接口PC端驅(qū)動,安裝文件在 “CY7C68013開發(fā)相關(guān)工具” 目錄下)。

          在使用前,接上USB2.0接口到PC端,PC端設(shè)備管理器可以識別到USB設(shè)備,如果沒有識別到USB設(shè)備,需要手動安裝驅(qū)動,驅(qū)動文件為ezusbw2k.inf(測試目錄下)的文件,手動選擇inf所在目錄。

          圖片24.png

          位置如圖:

          圖片25.png

          啟動畫面如下圖:

          圖片26.png

          上圖表示連接可以進(jìn)行下面測試,通過EZ_USB軟件下載相應(yīng)固件s3_dpram.bit程序,slavefifo.hex文件在“下載bit”目錄下點(diǎn)擊Download,

          圖片27.png

          雙擊打開相應(yīng)讀寫的usb接口VC程序(如下圖)

          圖片28.png

          看到寫的測試現(xiàn)象,流過的數(shù)據(jù)速率。

          圖片29.png

          應(yīng)用平臺 :紅色颶風(fēng)NANO2

          圖片30.jpg


          關(guān)鍵詞: FPGA USB

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉