91精品一区二区三区久久久久久_欧美一级特黄大片色_欧美一区二区人人喊爽_精品一区二区三区av

位置:51電子網 » 技術資料 » D S P

DSP和音頻AD/DA的硬件設計

發布時間:2008/12/17 0:00:00 訪問次數:1030

  ad50和dsp的硬件連接有多種方法,但使用最多的是dsp的緩沖串口和ad50連接方法。這種連接方法可使一個緩沖串口與多個ad50芯片連接(一個緩沖串口最多與3個ad50芯片連接)。

  dsp為主設備、ad50為從設備的連接方法如圖1所示。圖中ad50的時鐘信號由c5409的定時器0的輸出提供,時鐘頻率可以通過修改定時器0的設置而改變。ad50的fc引腳連接到c5409的xf(通用i/o引腳),用于控制第二次串行通信。ad50的din(數據輸人引腳)和d0ut(數據輸出引腳)分別接c5409緩沖串口0的dx0和dr0引腳。ad50的sclk(移位時鐘輸出)連接c5409的clkr0(緩沖串口0的接收時鐘引腳),幀同步信號fs連接c5409緩沖串口0的frx0。

  圖1 ad50和一個dsp的連接

  dsp帶兩個ad50,其中一個ad50為主設備,一個ad50為從設備的連接方法如圖2所示。

  圖2 兩個ad50和dsp的連接

  dsp一般不能同時連接兩個都是從設備的ad50芯片,但如果使用了pld(邏輯器件)就可以實現連接兩個從設備的ad50,具體的連接方法如圖3所示。

  圖3 兩個從ad50和dsp的連接

  語音數據傳輸到dsp的mcbsp。mcbsp和cpu的通信有3種方式。

  (1)每收到或發送一個單元,置標志位,cpu輪詢此標志位。

  (2)每收到或發送一個單元,給cpu發送中斷。

  (3)通過dma收到或發送完一組單元,再給cpu中斷。

  采用dma的方式,即串口每發送或接受到一個單元,都會自動觸發dma將其搬送到一個內部的緩沖區(buffer),等buffer滿了再通過中斷方式告訴cpu處理。這時dma最好采用自動緩沖(abu,auto buffering)模式,在這種模式下,dma會在兩個buffer(其實是一個大buffer的前一半和后一半)之間自動切換,每個buffer滿了(接收)或空了(發送)都會給cpu發出中斷,在cpu處理這個buffer的時候,dma會自動去操作另一個buffer。采用這種方式可以有效防止buffer中的數據在串口速率較高時被新數據沖掉的問題。

  在dma的中斷服務程序中為了可靠可以把這個buffer的數據再拷貝到另一個待處理的空間,即兩級buffer,然后置標志位,cpu在主程序中查詢標志位然后作出相應的處理。dma操作的buffer可以通過寄存器配置,buffer的大小和起始位置應設置正確。在指定buffer的起始位置時應該注意,起始位置應該為大于buffer大小的下一個2的整數冪的倍數。例如,在8kb、16bit采樣的情況下,以20ms數據為buffer大小,那么一次處理的數據是8000×32×0,02=5120bit-320word。所以,dma的buffer應為640word(兩個320word buffer)大小,而buffer的起始地址應該為1024=210>640的整數倍,如0x7000,0x7400……

  歡迎轉載,信息來源維庫電子市場網(www.dzsc.com)



  ad50和dsp的硬件連接有多種方法,但使用最多的是dsp的緩沖串口和ad50連接方法。這種連接方法可使一個緩沖串口與多個ad50芯片連接(一個緩沖串口最多與3個ad50芯片連接)。

  dsp為主設備、ad50為從設備的連接方法如圖1所示。圖中ad50的時鐘信號由c5409的定時器0的輸出提供,時鐘頻率可以通過修改定時器0的設置而改變。ad50的fc引腳連接到c5409的xf(通用i/o引腳),用于控制第二次串行通信。ad50的din(數據輸人引腳)和d0ut(數據輸出引腳)分別接c5409緩沖串口0的dx0和dr0引腳。ad50的sclk(移位時鐘輸出)連接c5409的clkr0(緩沖串口0的接收時鐘引腳),幀同步信號fs連接c5409緩沖串口0的frx0。

  圖1 ad50和一個dsp的連接

  dsp帶兩個ad50,其中一個ad50為主設備,一個ad50為從設備的連接方法如圖2所示。

  圖2 兩個ad50和dsp的連接

  dsp一般不能同時連接兩個都是從設備的ad50芯片,但如果使用了pld(邏輯器件)就可以實現連接兩個從設備的ad50,具體的連接方法如圖3所示。

  圖3 兩個從ad50和dsp的連接

  語音數據傳輸到dsp的mcbsp。mcbsp和cpu的通信有3種方式。

  (1)每收到或發送一個單元,置標志位,cpu輪詢此標志位。

  (2)每收到或發送一個單元,給cpu發送中斷。

  (3)通過dma收到或發送完一組單元,再給cpu中斷。

  采用dma的方式,即串口每發送或接受到一個單元,都會自動觸發dma將其搬送到一個內部的緩沖區(buffer),等buffer滿了再通過中斷方式告訴cpu處理。這時dma最好采用自動緩沖(abu,auto buffering)模式,在這種模式下,dma會在兩個buffer(其實是一個大buffer的前一半和后一半)之間自動切換,每個buffer滿了(接收)或空了(發送)都會給cpu發出中斷,在cpu處理這個buffer的時候,dma會自動去操作另一個buffer。采用這種方式可以有效防止buffer中的數據在串口速率較高時被新數據沖掉的問題。

  在dma的中斷服務程序中為了可靠可以把這個buffer的數據再拷貝到另一個待處理的空間,即兩級buffer,然后置標志位,cpu在主程序中查詢標志位然后作出相應的處理。dma操作的buffer可以通過寄存器配置,buffer的大小和起始位置應設置正確。在指定buffer的起始位置時應該注意,起始位置應該為大于buffer大小的下一個2的整數冪的倍數。例如,在8kb、16bit采樣的情況下,以20ms數據為buffer大小,那么一次處理的數據是8000×32×0,02=5120bit-320word。所以,dma的buffer應為640word(兩個320word buffer)大小,而buffer的起始地址應該為1024=210>640的整數倍,如0x7000,0x7400……

  歡迎轉載,信息來源維庫電子市場網(www.dzsc.com)



相關IC型號

熱門點擊

 

推薦技術資料

業余條件下PCM2702
    PGM2702采用SSOP28封裝,引腳小而密,EP3... [詳細]
版權所有:51dzw.COM
深圳服務熱線:13692101218  13751165337
粵ICP備09112631號-6(miitbeian.gov.cn)
公網安備44030402000607
深圳市碧威特網絡技術有限公司
付款方式


 復制成功!
陆川县| 左云县| 双城市| 集贤县| 桑植县| 渑池县| 康乐县| 马尔康县| 海阳市| 宝清县| 新闻| 浦江县| 千阳县| 锡林郭勒盟| 内丘县| 寻乌县| 兰州市| 三门峡市| 宜宾市| 武山县| 拜城县| 隆子县| 吴旗县| 和静县| 江陵县| 鹰潭市| 乌什县| 虞城县| 宜章县| 化隆| 石景山区| 高尔夫| 若尔盖县| 江西省| 沁水县| 许昌县| 通海县| 龙海市| 巫溪县| 房产| 东光县|