ML7204和PicoBlaze軟核處理器實(shí)現(xiàn)低速話音編解碼系統(tǒng)
3 系統(tǒng)硬件設(shè)計(jì)
圖3為基于PicoBlaze軟核處理器和ML7204編解碼器的單路低速話音編解碼系統(tǒng)的框圖。本文引用地址:http://www.ex-cimer.com/article/157314.htm
該系統(tǒng)主要由話音信號(hào)處理、系統(tǒng)邏輯控制、傳輸復(fù)分接、時(shí)鐘處理4個(gè)單元組成。其中,話音信號(hào)處理單元主要由ML7204和簡單外圍器件組成,完成模擬話音信號(hào)與G.729A壓縮編碼信號(hào)之間的相互轉(zhuǎn)換;系統(tǒng)邏輯控制單元由PicoBlaze內(nèi)核組成,完成與ML7204的數(shù)據(jù)傳輸;傳輸復(fù)分接單元由FPGA片內(nèi)邏輯單元組成,完成拆、組幀及并、串轉(zhuǎn)換。時(shí)鐘處理單元為ML7204提供高穩(wěn)定時(shí)鐘信號(hào)。
由話機(jī)模擬電路輸出的模擬話音信號(hào)經(jīng)話音信號(hào)處理單元,實(shí)現(xiàn)PCM編碼、G.729A壓縮編碼,再通過并行MCU I/F接口輸出速率為8 kHz的G.729A壓縮編碼數(shù)據(jù),系統(tǒng)邏輯控制單元讀取壓縮編碼數(shù)據(jù),并送往傳輸復(fù)分接單元,進(jìn)行組幀、并串轉(zhuǎn)換,最終輸出成幀的串行碼流。相應(yīng)地成幀的串行碼流先進(jìn)入傳輸復(fù)分接單元進(jìn)行幀同步檢測,讀取真正的話音數(shù)據(jù),串并轉(zhuǎn)換后,再傳輸至系統(tǒng)邏輯控制單元,由PicoBl-aze內(nèi)核將并行話音數(shù)據(jù)發(fā)送至話音信號(hào)處理單元,話音數(shù)據(jù)經(jīng)解壓縮、PCM解碼,恢復(fù)模擬話音信號(hào)。
ML7204的數(shù)據(jù)傳輸采用總線方式,即A[7:0]、D[7:0]分別是8位數(shù)據(jù)、地址總線;FROB、FRlB、INTB、CSB、RDB、WRB分別為讀使能、寫使能、中斷、片選、讀信號(hào)、寫信號(hào)。ML7204有10 ms幀和20 ms幀兩種數(shù)據(jù)幀格式,這里采用10 ms幀格式。ML7204以10 ms為周期全雙工并行工作。每隔10 ms,ML7204拉低讀使能信號(hào)FROB,表示已經(jīng)準(zhǔn)備好完整的一幀數(shù)據(jù),外部PicoBlaze微處理器通過連續(xù)10次拉低片選信號(hào)CSB、讀信號(hào)RDB讀出一幀數(shù)據(jù)。相應(yīng),每隔10 ms,ML7204拉低寫使能信號(hào)FRlB,表示解碼處理新的一幀數(shù)據(jù),外部PicoBlaze微處理器可以通過連續(xù)10次拉低片選信號(hào)CSB、寫信號(hào)WRB寫入一幀數(shù)據(jù)。圖4是ML7204電路原理圖。
4 系統(tǒng)軟件設(shè)計(jì)
該系統(tǒng)軟件主要是對ML7204初始化配置、工作狀態(tài)控制.ML7204的配置方式是修改控制寄存器。工作時(shí),F(xiàn)PGA內(nèi)嵌PicoBlaze內(nèi)核首先對ML7204復(fù)位,復(fù)位成功后,PicoBlaze內(nèi)核通過MCU I/F接口修改控制寄存器,設(shè)置其工作方式,包括語音編碼方式、語音信號(hào)幅度、數(shù)據(jù)幀長度等,最后FPGA內(nèi)部邏輯處理單元配合PicoBlaze內(nèi)核完成分組語音數(shù)據(jù)的讀寫及傳輸。ML7204共有48個(gè)控制寄存器CR0~CR47,分別對應(yīng)于地址00H~2FH,每個(gè)控制寄存器有8 bit數(shù)據(jù),分別標(biāo)識(shí)不同的配置選項(xiàng)。保留地址80H、81H分別對應(yīng)分組話音編解碼數(shù)據(jù)的讀、寫地址。圖5為軟件工作流程。
評論