新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > Board從入門到精通系列(七)

        Board從入門到精通系列(七)

        作者: 時間:2017-10-11 來源:網絡 收藏

        本文將給出通過 IDE開發Zynq平臺上PS裸機應用程序的流程。讀者將看到開發更高效、快捷。

        本文引用地址:http://www.104case.com/article/201710/365594.htm

        我們都聽過,現在我們可以用ZED-來聽。板子上有音頻芯片ADAU1761,可以實現錄音、放音,但不具有解碼功能。Zynq 雙核ARM9做軟件解碼應該是可以實現的,但是博主本人有一顆VS1003,可以實現MP3硬件解碼,軟件將得以簡化,對MP3解碼原理感興趣的可以深入研究如何利用CortexA9+ADAU1761實現MP3播放。電路圖如下:


        利用Zynq MIO實現VS1003控制,這樣只和PS有關,PL完全可以丟棄。在本節基礎上,讀者可以嘗試將SPI模塊移到PL上實現,這樣可以降低PS部分IO讀寫頻率,提高CPU利用率。實物連接圖如下:



        Zynq板子外接用排母,為了使用杜邦線,需要一個雙公排針,可以用普通單排2.54mm排針壓制而成

        下面介紹軟件開發流程。建立工程,命名為MP3Player,過程遵循上節Vivado建立工程步驟,略。

        進入IDE后,點擊左側流程管理器中的IPI Integrator下的Create Block Design。 這個工具是2013.1版本后才出現的,將取代XPS完成系統集成。

        在編輯區右鍵,選擇Add IP...,名稱保持默認design_1.bd

        搜索框中輸入zynq,雙擊第一個,添加IP到電路圖中。

        添加完成后,自動進行布線連接,點下圖中圓圈區域 Run Block AutomaTIon。

        等待完成,結果如下圖所示。

        可以看到,DDR和固定IO自動進行了連接。這是因為我們建立工程時選擇了Zed DVK,這樣就能按照板子描述自動連接引腳到相應外設。

        另外看到,默認狀態下使能了M_AXI_GP0,可以將PL部分帶AXI從接口的IP連接到PS進行控制。本節不需要,所以必須禁用,否則驗證設計時會報錯。雙擊方塊,見下圖

        看到了熟悉又陌生的畫面,有些像XPS中Zynq視圖,但精簡了很多。單擊左側“PS-PL ConfiguraTIon,界面如下:

        將AXI GP0接口后的勾取消選擇,確認,回到IPI。


        驗證設計,在空白處右鍵,點擊Validate Design。無誤,點確認即可。


        在上圖位置點Generate Block Design,確認。


        在Sources窗口中找到design_1,右鍵選擇生成頂層HDL包裝。確認。


        直接點左側流程中的Generate Bitstream,一步到位。完成比特流大約需要5~8min。

        完成后,先Open Implementated Design,再導出到SDK。


        完成后,先Open Implementated Design,再導出到SDK。如果沒有做這一步,上圖中第二項會變成灰色。

        后面就是SDK開發了,和本系列教程(三)中相同。建立ApplicaTIon工程,C工程,模板helloworld。將代碼改為下面:
        #include
        #include platform.h
        #define MIO_BASE 0xE000A000
        #define DATA0 0x40
        #define DATA0_RO 0x60
        #define DIRM_0 0x204
        #define OEN_0 0x208
        void delay(unsigned int t)
        {
        unsigned int i,j;
        for(j=0;j



        關鍵詞: MP3 Board Vivado

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 竹山县| 巴中市| 鄂伦春自治旗| 新乡市| 嵩明县| 开阳县| 娄底市| 建平县| 太白县| 法库县| 龙里县| 翁牛特旗| 黄平县| 乐东| 顺义区| 潮州市| 石渠县| 县级市| 嘉义县| 鄂温| 阿克| 宝山区| 济阳县| 旺苍县| 南漳县| 金门县| 邯郸县| 乃东县| 芜湖市| 定南县| 建昌县| 嘉黎县| 上饶市| 西藏| 南阳市| 台中市| 台前县| 武山县| 慈溪市| 六盘水市| 马边|