数字音频总线A2B开发详解十三(A2B-SigmaStudio配置程序的小技巧-子程序设计)
作者的話
我們在做A2B的過程中,會涉及到SimgaStudio工程的開發,舉個例子,ADAU1452的Master工程,ADI給的配置工程非常繁瑣,把整個軟件屏幕都占滿了,那么我們想要在上面繼續做算法,是不是感覺軟件上的圖形化編程空間很不夠???
怎么辦,操作上鼠標拖來拖去,而且也很不好閱讀程序,有這種困惑的兄弟們可以仔細閱讀一下這個文檔,我來教你怎么簡化編程界面,讓你寫的程序可以輕松的被每個人閱讀。
硬件使用列表
AD2428WD-EVB開發板 一塊
AD2428WB-EVB開發板 一塊
USBi仿真器 一個
A2B 2米雙絞線 一根
5V1A或2A的電源 一個
D板輸入模擬音源的PC 一臺
B板播放模擬音源的耳機 一個
硬件鏈接
SELFBOOT開關OFF,我們進入調試模式(非常重要,開關不打到OFF,調試會出錯,調試的時候一定務必必須把這里OFF)。
物理鏈接的話,USBi調試器一頭通過USB線接PC,一頭通過JTAG頭接D板;
D和B通過A2B的雙絞線鏈接,D板的Slave出,B板的Master進;
D板的綠色模擬輸入接口輸入模擬音源,我是直接接在我的電腦的聲卡3.5出口;
B板的黑色模擬輸出接口輸出模擬音源,我是直接接我的3.5耳機;
5V2A電源給D板供電。
SigmaStudio工程
我們這里就是要簡化SigmaStudio工程,那就接上一個文檔,D板做音效,我們看看有什么小技巧,能讓D板的編程變得更加一目了然;
這是D板的ADAU1452 Master工程,上個文檔我講了要做算法,就在這個紅框里做,太小了呀,這空間塞一個EQ都嫌滿,程序做完了很難閱讀。
怎么辦?小技巧來了,我們做個子程序!
子程序設計詳解
這個模塊,把他拖出來,這就是子程序模塊:
我打算做5段EQ,那么給他取個名字,就叫5段EQ吧,鼠標點一下模塊底下,就跟WORD改名一樣,自己取名字:
我把這個子程序改名叫:五段EQ哈哈哈,那么底下也相應的名字改過來了;
讓我們點一下這個紅框的子程序,進入子程序編程頁面:
一片空白,可以隨意揮灑算法,是不是就很清晰了。
我們把要做的EQ拖出來:
這個顯然是跟主程序沒有關聯的,怎么辦,我們加入關聯節點:
用節點把5段EQ給連起來:
再切回到主程序:
你會發現你的“五段EQ哈哈哈”這個模塊就有輸入輸出,和子程序關聯起來啦。
然后在做好算法的添加連線:
繼續,我后面再給加延時,那就做一個“延時哈哈哈”的子程序,名字隨便取,讓你和你的兄弟們容易理解就好了。
我們到“延時哈哈哈”的子程序頁面來做延時:
回到主程序進行連線:
就到這里,其實你可以繼續往后加第三個,第四個,第五個子程序,加更多的音效,我就不繼續往下做了;
做好了D的1452 Master程序,再去A2B主工程加載,下載,實現D板調音的功能。
題外話
搞到這里,有兄弟們是不是會想,這子程序一個又一個,那我最多能做多少個子程序?咱們發散一下思維,做100段,1000段EQ行不行?答案是不行,你現在在SigmaStudio工程里做的每一個算法,都會占用ADAU1452的內存,他內存是有限的,這就意味著你加多了就會溢出,就不能正常工作;
那怎么才能知道他工不工作,內存有沒有溢出呢?很簡單,你做好工程后,點一下下載,系統編譯器會幫你判斷,如果程序可以正常運行,就直接能夠下載,并且還會告訴你每個模塊占用了多少的系統資源,讓你心里有數。
如果你點下載程序,編譯器報錯,那就說明你加的算法實在太多啦,超出我們Master主控DSP,也就是ADAU1452的能力范圍了,你可能就需要用ADAU1466這種內存更大的ADAU做主控,或者精簡算法了。
總結
以上是生活随笔為你收集整理的数字音频总线A2B开发详解十三(A2B-SigmaStudio配置程序的小技巧-子程序设计)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Oracle数据库1521端口时断时续/
- 下一篇: Solidworks、Proe、Creo