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

發(fā)布時(shí)間:2014-3-24 11:33    發(fā)布者:v3cyclone
關(guān)鍵詞: FPGA , USB
NANO2開(kāi)發(fā)板實(shí)例之
                USB2.0接口通信回環(huán)

基于FPGA實(shí)現USB2.0接口通信, USB2.0  PHY芯片是Cypress68013, 68013內部集成8051 內核,USB2.0芯片讀寫(xiě)需要對8051核進(jìn)行固件配置。
一.FX2特性介紹11介紹
Cypress Semiconductor公司的EZUSB FX2是世界上第一款集成USB2.0的微處理器,它集成了USB2.0收發(fā)器、SIE(串行接口引擎)、增強的8051微控制器和可編程的外圍接口。FX2這種獨創(chuàng )性結構可使數據傳輸率達到56Mbytes/s,即USB2.0允許的最大帶寬。在FX2中,智能SIE可以硬件處理許多USB1.1USB2.0協(xié)議,從而減少了開(kāi)發(fā)時(shí)間和確保了USB的兼容性。GPIFGeneral Programmable Interface)和主/從端點(diǎn)FIFO8位或16位數據總線(xiàn))為ATA、UTOPIA、EPP、PCMCIADSP等提供了簡(jiǎn)單和無(wú)縫連接接口。
12結構
CY7C68013結構圖如圖1所示。它有三種封裝形式:56SSOP,100TQFP128TQFP。
13
★ 內嵌480MBit/s的收發(fā)器,鎖相環(huán)PLL,串行接口引擎SIE——集成了整個(gè)USB 2.0協(xié)議的物理層。
★ 為適應USB 2.0480MBit/s的速率,FIFO端點(diǎn)可配置成2,3,4個(gè)緩沖區。
★ 內嵌可工作在48MHz的增強型8051,它具有以下特征:
- 具有256Byte的寄存器空間,兩個(gè)串口,三個(gè)定時(shí)器,兩個(gè)數據指針。
- 四個(gè)機器周期(工作在48MHz下時(shí)為83.3ns)即組成一個(gè)指令周期。
- 特殊功能寄存器(包括I/O口控制寄存器)可高速訪(fǎng)問(wèn)。
- 應用USB向量中斷,具有極短的ISR響應時(shí)間。
- 只用作USB事務(wù)管理,控制,不參與數據傳輸,較好地解決了USB高速模式的帶寬問(wèn)題。
★ “軟配置”——USB固件可由USB總線(xiàn)下載,片上不需集成ROM。
★ 擁有四個(gè)FIFO接口,可工作在內部或外部時(shí)鐘下。端點(diǎn)和FIFO接口的應用使外部邏輯和USB總線(xiàn)可高速連接。
★ 內嵌通用可編程接口GPIF,它是一個(gè)狀態(tài)機,可充當主控制器,提供外部邏輯和USB總線(xiàn)的“無(wú)膠粘貼”。
★ 一種單片USB 2.0外設解決方案,不需要外部的協(xié)議物理層,FX2把所有的功能集成在一個(gè)芯片上。
二、Slave FIFO傳輸21概述
當有一個(gè)與FX2芯片相連的外部邏輯只需要利用FX2做為一個(gè)USB 2.0接口而實(shí)現與主機的高速通訊,而它本身又能夠提供滿(mǎn)足Slave FIFO要求的傳輸時(shí)序,可以做為Slave FIFO主控制器時(shí),即可考慮用此傳輸方式。
Slave FIFO傳輸的示意圖如下:
在這種方式下,FX2內嵌的8051固件的功能只是配置Slave FIFO相關(guān)的寄存器以及控制FX2何時(shí)工作在Slave FIFO模式下。一旦8051固件將相關(guān)的寄存器配置完畢,且使自身工作在Slave FIFO模式下后,外部邏輯(如FPGA)即可按照Slave FIFO的傳輸時(shí)序,高速與主機進(jìn)行通訊,而在通訊過(guò)程中不需要8051固件的參與。
22硬件連接(標準)
在Slave FIFO方式下,外部邏輯與FX2的連接信號圖如下:
IFCLKFX2輸出的時(shí)鐘,可做為通訊的同步時(shí)鐘;
FLAGA,FLAGB,FLAGC,FLAGD:FX2輸出的FIFO狀態(tài)信息,如滿(mǎn),空等;
SLCSFIFO的片選信號,外部邏輯控制,當SLCS輸出高時(shí),不可進(jìn)行數據傳輸;
SLOEFIFO輸出使能,外部邏輯控制,當SLOE無(wú)效時(shí),數據線(xiàn)不輸出有效數據;
SLRDFIFO讀信號,外部邏輯控制,同步讀時(shí),FIFO指針在SLRD有效時(shí)的每個(gè)IFCLK的上升沿遞增,異步讀時(shí),FIFO讀指針在SLRD的每個(gè)有效—無(wú)效的跳變沿時(shí)遞增;
SLWRFIFO寫(xiě)信號,外部邏輯控制,同步寫(xiě)時(shí),在SLWR有效時(shí)的每個(gè)IFCLK的上升沿時(shí)數據被寫(xiě)入,FIFO指針遞增,異步寫(xiě)時(shí),在SLWR的每個(gè)有效—無(wú)效的跳變沿時(shí)數據被寫(xiě)入,FIFO寫(xiě)指針遞增;
PKTEND:包結束信號,外部邏輯控制,在正常情況下,外部邏輯向FX2FIFO中寫(xiě)數,當寫(xiě)入FIFO端點(diǎn)的字節數等于FX2固件設定的包大小時(shí),數據將自動(dòng)被打成一包進(jìn)行傳輸,但有時(shí)外部邏輯可能需要傳輸一個(gè)字節數小于FX2固件設定的包大小的包,這時(shí),它只需在寫(xiě)入一定數目的字節后,聲明此信號,此時(shí)FX2硬件不管外部邏輯寫(xiě)入了多少字節,都自動(dòng)將之打成一包進(jìn)行傳輸;
FD[15:0]:數據線(xiàn);
FIFOADR[1:0]:選擇四個(gè)FIFO端點(diǎn)的地址線(xiàn),外部邏輯控制。
23 Slave FIFO的幾種傳輸方式
231 同步Slave FIFO寫(xiě)
同步Slave FIFO寫(xiě)的標準連接圖如下:
同步Slave FIFO寫(xiě)的標準時(shí)序如下:
IDLE:當寫(xiě)事件發(fā)生時(shí),進(jìn)狀態(tài)1;
狀態(tài)1:使FIFOADR[1:0]指向IN FIFO,進(jìn)狀態(tài)2;
狀態(tài)2:如FIFO滿(mǎn),在本狀態(tài)等待,否則進(jìn)狀態(tài)3;
狀態(tài)3:驅動(dòng)數據到數據線(xiàn)上,使SLWR有效,持續一個(gè)IFCLK周期,進(jìn)狀態(tài)4;
狀態(tài)4:如需傳輸更多的數,進(jìn)狀態(tài)2,否則進(jìn)狀態(tài)IDLE。
狀態(tài)跳轉示意圖如下:
幾種情況的時(shí)序圖示意如下(FULL,EMPTY,SLWR,PKTEND均假定低有效):
圖示FIFO中本來(lái)沒(méi)有數據,外部邏輯寫(xiě)入第一個(gè)數據時(shí)的情況。
圖示假定FX2設定包大小為512字節,外部邏輯向FIFO端點(diǎn)中寫(xiě)入的數據達512字節時(shí)的情況。此時(shí)FX2硬件自動(dòng)將已寫(xiě)入的512字節打成一包準備進(jìn)行傳輸,這個(gè)動(dòng)作就和在普通傳輸中,FX2固件向FIFO端點(diǎn)中寫(xiě)入512字節后,把512這個(gè)數寫(xiě)入EPxBC中一樣,只不過(guò)這個(gè)過(guò)程是由硬件自動(dòng)完成的。在這里可以看出“FX2固件不參與數據傳輸過(guò)程”的含義了。外部邏輯只須按上面的時(shí)序圖所示的時(shí)序向FIFO端點(diǎn)中一個(gè)一個(gè)字節(或字)地寫(xiě)數,寫(xiě)到一定數量,FX2硬件自動(dòng)將數據打包傳輸,這一切均不需固件的參與,由此實(shí)現高速數據傳輸。
圖示的是FIFO端點(diǎn)被寫(xiě)滿(mǎn)時(shí)的情況。
232 同步Slave FIFO讀:
同步Slave FIFO讀的標準連接圖如下:
同步Slave FIFO讀的標準時(shí)序如下:
IDLE:當讀事件發(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:從數據線(xiàn)上讀數,使SLRD有效,持續一個(gè)IFCLK周期,以遞增FIFO讀指針,進(jìn)狀態(tài)4;
狀態(tài)4:如需傳輸更多的數,進(jìn)狀態(tài)2,否則進(jìn)狀態(tài)IDLE。
狀態(tài)跳轉示意圖如下:
幾種情況的時(shí)序圖示意如下(FULL,EMPTY,SLRD,SLOE均假定低有效):
圖示正常情況時(shí)的時(shí)序。
圖示FIFO被讀空時(shí)的情況。
幾種情況的時(shí)序圖示意如下(FULL,EMPTY,SLWR,PKTEND均假定低有效):
圖示FIFO中本來(lái)沒(méi)有數據,外部邏輯寫(xiě)入第一個(gè)數據時(shí)的情況。
三、測試USB接口:
對于USB接口的測試,本次實(shí)驗控制開(kāi)發(fā)板上面的USB接口實(shí)現與PC機的通信。
usb2.0線(xiàn)連接pc與開(kāi)發(fā)板usb接口,先下載s3_dram.bit程序,在沒(méi)有掉電的情況下,打開(kāi)相應的EZ-USB軟件(ez-usbusb2.0接口PC端驅動(dòng),安裝文件在  “CY7C68013開(kāi)發(fā)相關(guān)工具”  目錄下)。
在使用前,接上USB2.0接口到PC端,PC端設備管理器可以識別到USB設備,如果沒(méi)有識別到USB設備,需要手動(dòng)安裝驅動(dòng),驅動(dòng)文件為ezusbw2k.inf(測試目錄下)的文件,手動(dòng)選擇inf所在目錄。
位置如圖:
啟動(dòng)畫(huà)面如下圖:
上圖表示連接可以進(jìn)行下面測試,通過(guò)EZ_USB軟件下載相應固件s3_dpram.bit程序,slavefifo.hex文件在“下載bit”目錄下點(diǎn)擊Download,
雙擊打開(kāi)相應讀寫(xiě)的\usb接口VC程序(如下圖)
看到寫(xiě)的測試現象,流過(guò)的數據速率。
應用平臺 :紅色颶風(fēng)NANO2
更多了解,請關(guān)注:
NANO2用戶(hù)資料鏈接    http://yunpan.cn/QpNRkwW9ZFnek
NANO2 論壇鏈接      http://www.zingsoc.com/forum/forum.php  
NANO2開(kāi)箱視頻演示http://v.youku.com/v_show/id_XNjgyMDM3NDQ0.html
關(guān)于這款開(kāi)發(fā)板,請關(guān)注新浪微博及博客
                      http://weibo.com/u/5061825906
                      http://blog.sina.com.cn/u/5061825906


本文地址:http://selenalain.com/thread-128058-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页