新聞中心

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

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

作者: 時間:2017-10-11 來源:網(wǎng)絡 收藏

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

本文引用地址:http://butianyuan.cn/article/201710/365594.htm

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


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



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

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

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

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

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

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

等待完成,結(jié)果如下圖所示。

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

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

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

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


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


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


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


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

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


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

后面就是SDK開發(fā)了,和本系列教程(三)中相同。建立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



關(guān)鍵詞: MP3 Board Vivado

評論


相關(guān)推薦

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

關(guān)閉