<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 模擬技術(shù) > 設計應用 > CY7C68013和FPGA的數據通信

CY7C68013和FPGA的數據通信

作者: 時(shí)間:2013-12-04 來(lái)源:網(wǎng)絡(luò ) 收藏

 通用串行總線(xiàn)(USB)具有快速、雙向、大批量傳輸、廉價(jià)以及可實(shí)現熱插拔等優(yōu)點(diǎn),Cypress公司的FX2系列芯片之一是最早符合USB2.0標準的微控制器,集成了符合USB2.0的收發(fā)器、串行接口引擎(SIE)、增強型8051內核以及可編程的外圍接口,實(shí)現基于USB2.0的接口,可配置成3種不同的接口模式;Ports(端口模式)、GPIF Master(可編程接口模式)和Slave FIFO(主從模式),其中,后兩種模式利用其內部集成的可以獨立于微處理器而自動(dòng)處理USB事務(wù)的硬件(USB核),數據的傳輸通過(guò)執行USB本身的協(xié)議來(lái)完成,微處理器可不參與數據傳輸,從而使數據的傳輸速率大大地提高,同時(shí)也簡(jiǎn)化了固件代碼的編寫(xiě)。后兩種方式由于克服了微處理器這個(gè)帶寬"瓶頸",因而廣泛應用于大批量的數據傳輸,如圖像、視頻等信號的采集。

  而對前一種Ports(端口模式),文獻中介紹較少,作為一種最基本的數據傳輸方式,其數據傳輸主要由固件程序完成,需要CPU的參與,因此數據傳輸速率比較低,適用于傳輸速率要求不高的場(chǎng)合,而且由于FX2內部集成有8051內核,對一個(gè)剛從單片機的開(kāi)發(fā)過(guò)渡到USB開(kāi)發(fā)的工程人員來(lái)說(shuō),也不失是一種有效的數據傳輸方式,現以一個(gè)工程開(kāi)發(fā)的實(shí)例來(lái)詳細說(shuō)明一下在Ports模式下如何實(shí)現數據一雙向傳輸。

  1 設計要求

  主機通過(guò)USB接口以4KB/s的速率分別向兩個(gè)通道發(fā)送數據序列,并由外設的D/A轉換器完成數據的轉換,同時(shí),由外部的兩個(gè)A/D轉換器以400KB/s的采樣率完成數據的采集,采集后的數字信號也經(jīng)USB接口傳送至主機存儲,其中,USB接口芯片采用Cypress公司的,采用Altera公司的EP1C6Q240C8,圖1為其數據的多路傳輸系統框圖。

  

CY7C68013和FPGA的數據通信

  2 USB 數據多路傳輸硬件

  2.1 EZ-USB FX2 CY7C68013

  EZ-USB FX2 CY7C68013支持USB2.0數據傳輸,其內部結構及功能在其他文獻已有詳細的介紹,現針對此芯片在本電路的作用進(jìn)行簡(jiǎn)要的說(shuō)明,在設計中主要利用CY7C68013的Ports接口模式完成多路數據的傳輸,USB和之間數據和狀態(tài)的傳輸由CY7C68013的IOA接口完成,IOB接口中的IOB0-IOB2口線(xiàn)作為USB和之間的控制線(xiàn)。CY7C68013內部的EP2端口設置為512字節雙緩沖、OUT、塊傳輸,作為主機向外設發(fā)送數據的緩沖區;EP6端口設置為512字節雙緩沖,IN、塊傳輸,作為外設向數據傳送數據的緩沖區。

  2.2 FPGA芯片EP1C6Q240C8

  FPGA采用Altera公司的Cyclone 芯片EP1C6Q240C8。在這里FPGA的作用有3個(gè):其一,給兩路D/A轉通道各分配兩個(gè)128×8位的RAM區,作為從主機向外設發(fā)送數據的緩存。其二、給兩路A/D轉換通道各分配兩個(gè)512×8位的RAM區,作為從外設向主機傳送數據的緩存,由于兩路數據的傳輸和采集共用一個(gè)8位數據總線(xiàn),因此,數據總線(xiàn)要針對不同的接收和發(fā)送來(lái)回切換,因而每個(gè)通道的兩路分別采用兩個(gè)RAM塊,起到雙緩沖作為,以防傳輸時(shí)數據"溢出"的。其三,由于數據總線(xiàn)要針對不同通道來(lái)回切換,控制切換的過(guò)程由狀態(tài)寄存器來(lái)完成,因此,要在FPGA內部設置一個(gè)狀態(tài)寄存器,所設置的狀態(tài)寄存器僅包含兩位,分別標識兩個(gè)通道的數據RAM的"滿(mǎn)"或"空"的狀態(tài),以確定當前應該為哪一個(gè)通道發(fā)送或接收數據。

  3 通信協(xié)議的制定

  采用CY7C68013的Ports模式實(shí)現,與FIFO和GPIF模式不同,后兩種模式在數據傳輸方面主要由USB核完成,所需的控制信號由CY7C68013自身來(lái)提供。而對于Ports模式,控制信號沒(méi)有專(zhuān)用的口線(xiàn),那么就必須用其他通用的I/O接口來(lái)完成,在此,采用IOB0-IOB2作為USB和FPGA之間的控制線(xiàn),由于自定義的3條線(xiàn)是通用口線(xiàn),沒(méi)有實(shí)際的意義,因此在USB和FPGA之間首先要制定兩者的通信協(xié)議,即給這3條口線(xiàn)賦以實(shí)際的功能。

fpga相關(guān)文章:fpga是什么


數字通信相關(guān)文章:數字通信原理


通信相關(guān)文章:通信原理



上一頁(yè) 1 2 3 下一頁(yè)

關(guān)鍵詞: CY7C68013 FPGA 數據通信

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>