新聞中心

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

        CY7C68013和FPGA的數據通信

        作者: 時間:2013-12-04 來源:網絡 收藏
        TOM: 0px; WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; MARGIN: 20px 0px 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FONT: 14px/25px 宋體, arial; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px; PADDING-TOP: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">  ALE(IOB0):例如ALE的上升沿,通過IOA端口向傳送控制指令,例如,當IOA=01H時,表示系統開始工作,A/D和D/A轉換器開始啟動。當IOA=88H時,表示轉換結束,將不再接收或發送數據,當IOA=02H時,表示將讀取內狀態寄存器的內容,由讀取兩狀態標志位的0或1,來判斷兩個通道內的4個數據緩沖器的"滿"或"空"狀態,若D/A通道的任一個數據緩沖區為"空",則由FPGA向狀態寄存器的第一個狀態標志位內填1;否則填0;同理,若A/D通道的任一個數據緩沖區為"滿",則由FPGA向狀態寄存器的第二個狀態標志位內填1;否則填0;當IOA=03H時,表示主機將通過USB向D/A通道發送轉換數據,每次發送256個字節,前128字節為D/A轉換的1通道,后128字節為2通道,當IOA=04H時,表示主機將要接收由A/D通道傳送來的數據。

          RD(IOB1):利用RD的上升沿通過IOA端口讀取D/A轉換器轉換來的數據。

          WR(IOB2):利用WR的上升沿通過IOA端口向A/D轉換器發送由主機傳送來的數據。

        4 軟件的實現

          USB與FPGA在Ports模式下數據的傳輸,由于是由內部的CPU核來實現的,因此,對固件程序的編寫顯得比較重要,總的來說,固件程序的編寫有兩種方式:一是由于的內部集成有增強型8051內核,對熟悉8051匯編語言的用戶來說,可以直接利用會匯編語言編寫高效的固件代碼;二是Cypress公司EZ-USB FX2系列配套有現成的固件程序框架函數,用戶需要時,只需添加相應的用戶程序即可。當然,用戶程序中的的實現也就是如何完成通信協議的過程。

          在此,采用后者來完成CY7C68013和FPGA的,實現功能的部分軟件代碼如下(以下代碼均可寫在框架函數void TD_Poll(void)內):

          

        CY7C68013和FPGA的數據通信

          

        CY7C68013和FPGA的數據通信

          

        CY7C68013和FPGA的數據通信

          5 總結

          CY7C68013和FPGA的數據通信中,采用基本的Ports接口模式,利用自動指針方法,通過數字示波器的觀察,完成1KB的傳送,大約需要750μs。與另外兩種模式相比,雖然數據傳輸的速度較低,但作為一種數據傳輸模式,尤其對剛從單片機開發過渡到USB開

        fpga相關文章:fpga是什么


        數字通信相關文章:數字通信原理


        通信相關文章:通信原理




        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 师宗县| 陵水| 石首市| 凤翔县| 西峡县| 汉阴县| 神农架林区| 连南| 云霄县| 永善县| 隆林| 大埔区| 扎兰屯市| 西平县| 修水县| 赣州市| 沈阳市| 神池县| 克拉玛依市| 安远县| 沙河市| 铜梁县| 永嘉县| 呼伦贝尔市| 巴马| 宜城市| 离岛区| 永春县| 新巴尔虎左旗| 大港区| 义马市| 临邑县| 博乐市| 东台市| 安岳县| 定边县| 白水县| 两当县| 杂多县| 巨鹿县| 莎车县|