<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

          CY7C68013和FPGA的數(shù)據(jù)通信

          作者: 時間:2013-12-04 來源:網(wǎng)絡 收藏

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

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

            1 設計要求

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

            

          CY7C68013和FPGA的數(shù)據(jù)通信

            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)針對此芯片在本電路的作用進行簡要的說明,在設計中主要利用CY7C68013的Ports接口模式完成多路數(shù)據(jù)的傳輸,USB和之間數(shù)據(jù)和狀態(tài)的傳輸由CY7C68013的IOA接口完成,IOB接口中的IOB0-IOB2口線作為USB和之間的控制線。CY7C68013內(nèi)部的EP2端口設置為512字節(jié)雙緩沖、OUT、塊傳輸,作為主機向外設發(fā)送數(shù)據(jù)的緩沖區(qū);EP6端口設置為512字節(jié)雙緩沖,IN、塊傳輸,作為外設向數(shù)據(jù)傳送數(shù)據(jù)的緩沖區(qū)。

            2.2 FPGA芯片EP1C6Q240C8

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

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

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

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


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


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



          上一頁 1 2 3 下一頁

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

          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();