2 微處理器內(nèi)核PicoBlaze簡介
PicoBlaze的特點如下:Xilinx公司專為Virtex、Spartan系列FPGA和CoolRunner系列CPLD設(shè)計的嵌入式專用8位微處理器IP Core;占用邏輯資源少,只占96 slices(Sparta-3X(22S200E資源的5%):運行速度快,最高可達(dá)40 MI/s;指令集豐富,包括邏輯操作、輸入,輸出、算術(shù)運算等指令;開源、免費的編譯器kcpsm3。
PicoBlaze微處理器接口從數(shù)據(jù)和控制兩方面考慮,包括復(fù)位、時鐘、讀信號、寫信號、數(shù)據(jù)輸入、數(shù)據(jù)輸出等接口。如圖2所示。
復(fù)位接口(reset)是異步復(fù)位、高有效、清除PicoBlaze內(nèi)核所有狀態(tài),但不清除程序代碼;時鐘接口(clk)是輸入主時鐘,最高速率35 MHz;地址總線接口(port_id[7:0])為PicoBlaze內(nèi)核的地址總線,持續(xù)2個時鐘節(jié)拍有效;數(shù)據(jù)總線接口(out_port[7:0])是PicoBlaze內(nèi)核的數(shù)據(jù)總線,持續(xù)2個時鐘節(jié)拍有效;讀信號接口(read_strobe)是讀脈沖信號,當(dāng)該信號為高時,port_id[7:0]輸出有效數(shù)據(jù);寫信號接口(write_strobe),寫脈沖信號,當(dāng)該信號為高時,port_id[7:O]輸入有效數(shù)據(jù)。
3 系統(tǒng)硬件設(shè)計
圖3為基于PicoBlaze軟核處理器和ML7204編解碼器的單路低速話音編解碼系統(tǒng)的框圖。
該系統(tǒng)主要由話音信號處理、系統(tǒng)邏輯控制、傳輸復(fù)分接、時鐘處理4個單元組成。其中,話音信號處理單元主要由ML7204和簡單外圍器件組成,完成模擬話音信號與G.729A壓縮編碼信號之間的相互轉(zhuǎn)換;系統(tǒng)邏輯控制單元由PicoBlaze內(nèi)核組成,完成與ML7204的數(shù)據(jù)傳輸;傳輸復(fù)分接單元由FPGA片內(nèi)邏輯單元組成,完成拆、組幀及并、串轉(zhuǎn)換。時鐘處理單元為ML7204提供高穩(wěn)定時鐘信號。
由話機(jī)模擬電路輸出的模擬話音信號經(jīng)話音信號處理單元,實現(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ā)送至話音信號處理單元,話音數(shù)據(jù)經(jīng)解壓縮、PCM解碼,恢復(fù)模擬話音信號。
ML7204的數(shù)據(jù)傳輸采用總線方式,即A[7:0]、D[7:0]分別是8位數(shù)據(jù)、地址總線;FROB、FRlB、INTB、CSB、RDB、WRB分別為讀使能、寫使能、中斷、片選、讀信號、寫信號。ML7204有10 ms幀和20 ms幀兩種數(shù)據(jù)幀格式,這里采用10 ms幀格式。ML7204以10 ms為周期全雙工并行工作。每隔10 ms,ML7204拉低讀使能信號FROB,表示已經(jīng)準(zhǔn)備好完整的一幀數(shù)據(jù),外部PicoBlaze微處理器通過連續(xù)10次拉低片選信號CSB、讀信號RDB讀出一幀數(shù)據(jù)。相應(yīng),每隔10 ms,ML7204拉低寫使能信號FRlB,表示解碼處理新的一幀數(shù)據(jù),外部PicoBlaze微處理器可以通過連續(xù)10次拉低片選信號CSB、寫信號WRB寫入一幀數(shù)據(jù)。圖4是ML7204電路原理圖。
4 系統(tǒng)軟件設(shè)計
該系統(tǒng)軟件主要是對ML7204初始化配置、工作狀態(tài)控制.ML7204的配置方式是修改控制寄存器。工作時,F(xiàn)PGA內(nèi)嵌PicoBlaze內(nèi)核首先對ML7204復(fù)位,復(fù)位成功后,PicoBlaze內(nèi)核通過MCU I/F接口修改控制寄存器,設(shè)置其工作方式,包括語音編碼方式、語音信號幅度、數(shù)據(jù)幀長度等,最后FPGA內(nèi)部邏輯處理單元配合PicoBlaze內(nèi)核完成分組語音數(shù)據(jù)的讀寫及傳輸。ML7204共有48個控制寄存器CR0~CR47,分別對應(yīng)于地址00H~2FH,每個控制寄存器有8 bit數(shù)據(jù),分別標(biāo)識不同的配置選項。保留地址80H、81H分別對應(yīng)分組話音編解碼數(shù)據(jù)的讀、寫地址。圖5為軟件工作流程。
以下給出軟件程序的核心代碼:
5 結(jié)束語
ML7204是一個功能強(qiáng)大的語音信號處理器,可提供多種速率語音編解碼功能,操作方便。PicoBlaze是一個典型的8位軟核處理器,便于在各種FPGA上實現(xiàn),設(shè)計靈活。本文采用PicoBlaze與ML7204協(xié)同工作。構(gòu)建低速率語音通信的編解碼系統(tǒng)。相比傳統(tǒng)的語音編解碼系統(tǒng)設(shè)計方案,此方案無需單獨微處理器、Flash、SDRAM、PCM編解碼等器件,只需單片ML7204和單片小容量FPGA即可完成全部功能,設(shè)計簡單、成本低廉、合成語音質(zhì)量高,能有效提高帶寬利用率,在頻帶有限的無線通信系統(tǒng)中具有較大優(yōu)勢。
電路設(shè)計時需特別注意:考慮模擬信號與數(shù)字信號的隔離,應(yīng)減少數(shù)字噪聲對模擬話音的干擾,減少背景噪聲。PicoBlaze微處理器初始化配置ML7204的控制寄存器時會出現(xiàn)錯誤。為避免錯誤配置,應(yīng)在每次修改控制寄存器后讀回此控制寄存器的值,并判別是否與預(yù)期一致。若一致則配置下一個控制寄存器,否則繼續(xù)配置,直到一致為止。
北京2022年10月18日 /美通社/ -- 10月14日,國際數(shù)據(jù)公司(IDC)發(fā)布《2022Q2中國軟件定義存儲及超融合市場研究報告》,報告顯示:2022年上半年浪潮超融合銷售額同比增長59.4%,近5倍于...
關(guān)鍵字: IDC BSP 數(shù)字化 數(shù)據(jù)中心東京2022年10月18日 /美通社/ -- NIPPON EXPRESS HOLDINGS株式會社(NIPPON EXPRESS HOLDINGS, INC.)旗下集團(tuán)公司上海通運國際物流有限公司(Nipp...
關(guān)鍵字: 溫控 精密儀器 半導(dǎo)體制造 BSP要問機(jī)器人公司哪家強(qiáng),波士頓動力絕對是其中的佼佼者。近來年該公司在機(jī)器人研發(fā)方面獲得的一些成果令人印象深刻,比如其開發(fā)的機(jī)器人會后空翻,自主爬樓梯等。這不,波士頓動力又發(fā)布了其機(jī)器人組團(tuán)跳男團(tuán)舞的新視頻,表演的機(jī)器人包括...
關(guān)鍵字: 機(jī)器人 BSP 工業(yè)機(jī)器人 現(xiàn)代汽車