新聞中心

        EEPW首頁 > 消費電子 > 設計應用 > Blackfin ADSP-BF533在音頻處理系統中的應用

        Blackfin ADSP-BF533在音頻處理系統中的應用

        作者: 時間:2010-07-06 來源:網絡 收藏

        2.4 CPLD部分

        控制模塊與選擇分配板卡的數據通信可在CPLD中實現。在并口轉串口時,每次通信都向CPLD發送16位并行數據,其中低8位為串口數據,可通過觸發器將數據發出。高8位中的低4位決定發送到第幾號分配板,并由此判斷選通信號,同時按一定波特率將串口數據發送至相應通道。在串口轉并口時,首先模擬出相應的波特率時鐘,并以此時鐘對管腳進行采樣,當檢測到串口起始位后,即存儲采樣數據,同時將數據及通道狀態送入與并口相連的引腳。之后,再將與的PF相連的引腳置位,以引起BF533中斷,讀取并口數據。這樣,就可通過的并行數據總線來控制10路異步串口的數據收發。EPM7160采用24.576NHz的晶振輸入,并根據外部的串口的波特率在內部通過編程對此輸入時鐘進行相應的分頻。其CPLD接口電路連接如圖5所示。

        3 系統軟件設計

        系列在軟件方面可支持C語言和匯編語言,同時支持兩者的混合編程。C語言程序結構好、可讀性強、易移植,但速度慢。而匯編語言速度快,但是可讀性差,不容易調試。C語言和匯編語言混合編程可結合各自優勢,能構造出結構好且執行速度快的程序。但在編程過程中應注意以下事項:第一,無論是用C語言還是匯編語言,系統中只有一組相同的寄存器可供使用,因此在使用寄存器之前,子函數必須先保存,并在返回之前恢復。第二,要嚴格按照寄存器的類型使用,不同類型的寄存器不可混用。第三,為了提高代碼的運行速度,要善于使用并行指令。

        本系統在對BF533程序初始化后,主程序將隨時接受由SPORT口送人的解析后的信號,并存儲對應的最大電平值,同時打開UART中斷和TIMER0中斷。在TIMER0中斷中(本系統初始化設置為10 ms),可對存儲的數據進行并提取狀態。如不滿足要求,則打開TIMER1中斷(本系統初始化設置為6 s),并跳回主程序繼續檢測,如在相應TIMER1中斷時還不符合要求,則進行切換。UART中斷可完成與控制板和上位機的數據交換。

        各程序模塊中,主程序模塊main()主要完成系統與各種接口的初始化工作,檢測記錄電平、監控狀態、等待中斷發生等,其中Timer0中斷子程序模塊EX_INTERRUPT_HANDLER(Timer0_ISR)可完成對存儲的數據進行處理并提取狀態功能。Timer1中斷子程序模塊EX_INTERRUPT_HANDLER(Timerl_ISR)則可在設定的延時中,完成電平檢測以判斷是否切換。異步串口中斷子程序模塊EX_INTERRUPT_HANDLER(Uart_ISR)用于完成接收上位機及板卡信號控制功能。

        4 結束語

        采用ADI公司的BF533可實現新品信號的處理,并可擴展SDRAM作為大容量存儲器。該系統成本低,效率高,實時性好,性能十分優越。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 义马市| 固原市| 淮北市| 鄱阳县| 绩溪县| 攀枝花市| 荆州市| 临夏县| 安龙县| 甘谷县| 合作市| 永州市| 曲阜市| 石台县| 海城市| 双流县| 项城市| 宁波市| 青龙| 界首市| 辛集市| 花垣县| 香港 | 辽宁省| 大化| 砀山县| 饶平县| 庄浪县| 玛曲县| 泰兴市| 邵武市| 蓬安县| 攀枝花市| 高雄县| 长岭县| 和林格尔县| 恩平市| 通许县| 新巴尔虎右旗| 逊克县| 北川|