Ports模式下CY7C68013和FPGA的數(shù)據(jù)通信
通用串行總線(USB)具有快速、雙向、大批量傳輸、廉價(jià)以及可實(shí)現(xiàn)熱插拔等優(yōu)點(diǎn),Cypress公司的FX2系列芯片之一CY7C68013是最早符合USB2.0標(biāo)準(zhǔn)的微控制器,集成了符合USB2.0的收發(fā)器、串行接口引擎(SIE)、增強(qiáng)型8051內(nèi)核以及可編程的外圍接口,實(shí)現(xiàn)基于USB2.0的接口數(shù)據(jù)通信,CY7C68013可配置成3種不同的接口模式;Ports(端口模式)、GPIF Master(可編程接口模式)和Slave FIFO(主從模式),其中,后兩種模式利用其內(nèi)部集成的可以獨(dú)立于微處理器而自動(dòng)處理USB事務(wù)的硬件(USB核),數(shù)據(jù)的傳輸通過(guò)執(zhí)行USB本身的協(xié)議來(lái)完成,微處理器可不參與數(shù)據(jù)傳輸,從而使數(shù)據(jù)的傳輸速率大大地提高,同時(shí)也簡(jiǎn)化了固件代碼的編寫(xiě)。后兩種方式由于克服了微處理器這個(gè)帶寬"瓶頸",因而廣泛應(yīng)用于大批量的數(shù)據(jù)傳輸,如圖像、視頻等信號(hào)的采集。
而對(duì)前一種Ports(端口模式),文獻(xiàn)中介紹較少,作為一種最基本的數(shù)據(jù)傳輸方式,其數(shù)據(jù)傳輸主要由固件程序完成,需要CPU的參與,因此數(shù)據(jù)傳輸速率比較低,適用于傳輸速率要求不高的場(chǎng)合,而且由于FX2內(nèi)部集成有8051內(nèi)核,對(duì)一個(gè)剛從單片機(jī)的開(kāi)發(fā)過(guò)渡到USB開(kāi)發(fā)的工程人員來(lái)說(shuō),也不失是一種有效的數(shù)據(jù)傳輸方式,現(xiàn)以一個(gè)工程開(kāi)發(fā)的實(shí)例來(lái)詳細(xì)說(shuō)明一下在Ports模式下如何實(shí)現(xiàn)數(shù)據(jù)一雙向傳輸。
1 設(shè)計(jì)要求
主機(jī)通過(guò)USB接口以4KB/s的速率分別向兩個(gè)通道發(fā)送數(shù)據(jù)序列,并由外設(shè)的D/A轉(zhuǎn)換器完成數(shù)據(jù)的轉(zhuǎn)換,同時(shí),由外部的兩個(gè)A/D轉(zhuǎn)換器以400KB/s的采樣率完成數(shù)據(jù)的采集,采集后的數(shù)字信號(hào)也經(jīng)USB接口傳送至主機(jī)存儲(chǔ),其中,USB接口芯片采用Cypress公司的CY7C68013,FPGA采用Altera公司的EP1C6Q240C8,圖1為其數(shù)據(jù)的多路傳輸系統(tǒng)框圖。
2 USB 數(shù)據(jù)多路傳輸硬件
2.1 EZ-USB FX2 CY7C68013
EZ-USB FX2 CY7C68013支持USB2.0數(shù)據(jù)傳輸,其內(nèi)部結(jié)構(gòu)及功能在其他文獻(xiàn)已有詳細(xì)的介紹,現(xiàn)針對(duì)此芯片在本電路的作用進(jìn)行簡(jiǎn)要的說(shuō)明,在設(shè)計(jì)中主要利用CY7C68013的Ports接口模式完成多路數(shù)據(jù)的傳輸,USB和FPGA之間數(shù)據(jù)和狀態(tài)的傳輸由CY7C68013的IOA接口完成,IOB接口中的IOB0-IOB2口線作為USB和FPGA之間的控制線。CY7C68013內(nèi)部的EP2端口設(shè)置為512字節(jié)雙緩沖、OUT、塊傳輸,作為主機(jī)向外設(shè)發(fā)送數(shù)據(jù)的緩沖區(qū);EP6端口設(shè)置為512字節(jié)雙緩沖,IN、塊傳輸,作為外設(shè)向數(shù)據(jù)傳送數(shù)據(jù)的緩沖區(qū)。
2.2 FPGA芯片EP1C6Q240C8
FPGA采用Altera公司的Cyclone 芯片EP1C6Q240C8。在這里FPGA的作用有3個(gè):其一,給兩路D/A轉(zhuǎn)通道各分配兩個(gè)128
評(píng)論