引言
語(yǔ)音通信電臺(tái)是當(dāng)今軍事指揮、工業(yè)調(diào)度和日常生產(chǎn)活動(dòng)中主要的溝通設(shè)備,其通信質(zhì)量與抗干擾能力將對(duì)國(guó)防和經(jīng)濟(jì)建設(shè)產(chǎn)生直接影響。語(yǔ)音電臺(tái)抗干擾客觀評(píng)估系統(tǒng)(以下簡(jiǎn)稱評(píng)估系統(tǒng))通過(guò)數(shù)字信號(hào)處理算法比較在發(fā)送電臺(tái)端錄取的標(biāo)準(zhǔn)語(yǔ)音文件與在接收電臺(tái)端錄取的失真語(yǔ)音文件之間的信號(hào)特征,給出語(yǔ)音電臺(tái)的抗干擾性能參數(shù)。由于語(yǔ)音信號(hào)是按照每20 ms一個(gè)語(yǔ)片進(jìn)行處理,故對(duì)語(yǔ)音信號(hào)的對(duì)準(zhǔn)提出了較高的要求,為了達(dá)到較高的評(píng)估精度,對(duì)準(zhǔn)誤差應(yīng)小于1 ms。
為了滿足上述技術(shù)指標(biāo),本文采用當(dāng)前剛剛興起的SOPC(System On a Programmable Chip)技術(shù)在FPGA(Field Programmable Gate Arr ay)平臺(tái)上設(shè)計(jì)了一種帶有時(shí)標(biāo)的嵌入式語(yǔ)音信號(hào)錄取系統(tǒng)。本系統(tǒng)通過(guò)捕獲GPS(Global Positioning System)系統(tǒng)的授時(shí)信息和秒脈沖信號(hào),觸發(fā)SOPC系統(tǒng)中NiosⅡ嵌入式軟核處理器進(jìn)入外部中斷,調(diào)用中斷處理函數(shù)啟動(dòng)音頻Codec芯片WM8731,對(duì)Line-in通道輸入的模擬語(yǔ)音信號(hào)進(jìn)行48 KSPS采樣率、16 b采樣精度的錄取,將觸發(fā)錄取的時(shí)間信號(hào)作為時(shí)標(biāo)與錄取得到的數(shù)據(jù)按照特定數(shù)據(jù)格式進(jìn)行打包和封裝,并利用FAT文件系統(tǒng)將封裝好的數(shù)據(jù)存儲(chǔ)到SD卡(Secure Digital Card)中。由于GPS秒脈沖前沿可以達(dá)到微秒級(jí)精度,加之WM8731控制接口采用Verilog語(yǔ)言編寫(xiě),從而保證了絕對(duì)時(shí)間誤差遠(yuǎn)遠(yuǎn)小于1 ms的技術(shù)要求。
1、 系統(tǒng)組成
SOPC是基于可編程邏輯器件的可重構(gòu)片上系統(tǒng)(SOC),它集成了硬核或軟核CPU、DSP、鎖相環(huán)、存儲(chǔ)器、I/O接口及可編程邏輯,由于具有設(shè)計(jì)靈活、研制周期短、開(kāi)發(fā)成本低等優(yōu)點(diǎn),已經(jīng)逐步應(yīng)用在通信、工控、信號(hào)處理等諸多領(lǐng)域。
為了給評(píng)估系統(tǒng)提供高精度、帶有時(shí)標(biāo)的語(yǔ)音數(shù)據(jù)源,本文采用SOPC技術(shù)在FPGA平臺(tái)設(shè)計(jì)了一套帶有時(shí)標(biāo)的嵌入式語(yǔ)音信號(hào)錄取系統(tǒng)(以下簡(jiǎn)稱錄取系統(tǒng))。錄取系統(tǒng)由片上系統(tǒng)和外圍系統(tǒng)兩部分組成。片上系統(tǒng)包括:NiosⅡ嵌入式軟核處理器、GPS控制器、SD卡控制器、SDRAM控制器、Audio控制器、Ethernet控制器、GPIO控制器以及內(nèi)部Avalon總線;外圍系統(tǒng)包括:GPS接收機(jī)M12MT、SD存儲(chǔ)卡、SDRAM存儲(chǔ)芯片、Audio Codec芯片WM8731、Ethernet物理層芯片DM9000A和傳輸變壓器以及按鍵和LED等輸入與顯示器件等。系統(tǒng)組成框圖如圖1所示。
2、 硬件結(jié)構(gòu)設(shè)計(jì)
在FPGA平臺(tái)上設(shè)計(jì)SOPC系統(tǒng)為本文的核心工作。FPGA芯片選擇Altera公司CycloneⅡ系列的EP2C35F672C6N,其具有33 216個(gè)邏輯宏單元、105個(gè)M4K存儲(chǔ)單元、4個(gè)鎖相環(huán)以及475個(gè)通用I/O口。FPGA開(kāi)發(fā)環(huán)境采用QuartusⅡ,嵌入式系統(tǒng)開(kāi)發(fā)環(huán)境采用SOPC Buildero由于Nios Ⅱ嵌人式軟核CPU、SDRAM控制器、Ethernet控制器和GPIO控制器都是SOPC Builder中集成的通用IP核,直接調(diào)用即可,故本文不做詳細(xì)介紹,下面對(duì)GPS控制器、Audio控制器和SD卡控制器進(jìn)行詳細(xì)介紹。
2.1 GPS授時(shí)系統(tǒng)的設(shè)計(jì)
本設(shè)計(jì)中所使用M12MT是一款5 V供電、RS 232電平NAEA 0183格式串行輸出、TTL電平秒脈沖(PPS)輸出型GPS模塊,由于FPGA芯片I/O口是3.3 V電平,故需要進(jìn)行電平轉(zhuǎn)換,串口電平轉(zhuǎn)換采用美信(Maxim)公司生產(chǎn)的MAX3232芯片,秒脈沖信號(hào)由TI公司生產(chǎn)SN74AHC1G04單緩反向器芯片生成。
由于SOPC Builder中的UART核通信協(xié)議可以與GPS串口輸出協(xié)議兼容,故本設(shè)計(jì)中經(jīng)過(guò)電平轉(zhuǎn)換的信號(hào)與片內(nèi)UART核相連,其參數(shù)設(shè)為:波特率為9 600b/s、1個(gè)起始位,1個(gè)停止位,無(wú)校驗(yàn)位。秒脈沖經(jīng)電平轉(zhuǎn)換后與PIO控制器相連,其參數(shù)設(shè)為輸入模式、帶有中斷功能、邊沿觸發(fā)中斷、下降沿觸發(fā)中斷。
2.2 音頻采集系統(tǒng)的設(shè)計(jì)
為了達(dá)到較高的錄音品質(zhì),本設(shè)計(jì)中選用Wolfson公司生產(chǎn)的音頻Codec芯片WM8731,其最高可支持96 KSPS采樣率、24 b采樣精度的立體聲輸入/輸出。考慮到語(yǔ)音電臺(tái)抗干擾評(píng)估系統(tǒng)的特殊要求和存儲(chǔ)空間、處理速度等條件的限制,本設(shè)計(jì)中通過(guò)軟件設(shè)置,使WM8731工作在48 KSPS采樣率、16 b采樣精度、單聲道的工作模式下。
WM8731的控制接口和音頻數(shù)據(jù)接口分別采用I2C總線和I2S總線,由于控制總線數(shù)據(jù)量較少,加之I2C總線時(shí)序比較簡(jiǎn)單,故采用程序控制PIO模擬I2C總線的方式對(duì)其進(jìn)行控制;由于數(shù)據(jù)總線數(shù)據(jù)量較大,并且必須保證數(shù)據(jù)的完整性,本設(shè)計(jì)采用Verilog硬件描述語(yǔ)言編寫(xiě)了一個(gè)Audio控制器,完成采樣控制、數(shù)據(jù)緩存以及與Avalon總線接口等功能。
Audio控制器由有限狀態(tài)機(jī)(FSM)、數(shù)據(jù)緩存器(FIFO)和總線接口三部分組成,如圖2所示。FSM完成WM8731數(shù)據(jù)讀寫(xiě)的控制、FIFO讀寫(xiě)與存儲(chǔ)狀態(tài)控制以及總線接口控制。FIFO用來(lái)緩沖WM8731采集得到的數(shù)據(jù),防止數(shù)據(jù)丟失,并使系統(tǒng)工作在異步模式,大大提高了CPU的工作效率。總線接口作為橋梁,用以連接NiosⅡ和FIFO。
2.3 數(shù)據(jù)存儲(chǔ)系統(tǒng)的設(shè)計(jì)
為了實(shí)現(xiàn)大容量數(shù)據(jù)存儲(chǔ),本采集系統(tǒng)選用當(dāng)下比較流行SD卡作為存儲(chǔ)介質(zhì)。由于SD卡采用的是串行讀寫(xiě)方式,時(shí)序較為復(fù)雜,且其數(shù)據(jù)量較大,故采用Verilog編寫(xiě)了SD控制器,其結(jié)構(gòu)如圖3所示。Avalon Interface FSM與Avalon總線相連接,用來(lái)完成控制器與NiosⅡ處理器通信;SD Card Interface與SD卡相連,完成數(shù)據(jù)的串/并轉(zhuǎn)換和時(shí)序控制。
3、 軟件程序設(shè)計(jì)
本采集系統(tǒng)軟件在Nios EDS環(huán)境下進(jìn)行開(kāi)發(fā),由于程序中只有一個(gè)線程,結(jié)構(gòu)比較簡(jiǎn)單,故并未采用操作系統(tǒng)。主程序在完成各個(gè)模塊初始化后進(jìn)入等待狀態(tài),GPS的串口數(shù)據(jù)、PPS觸發(fā)信號(hào)和按鍵觸發(fā)信號(hào)采用中斷形式,利用中斷服務(wù)子函數(shù)完成各項(xiàng)功能。
3.1 時(shí)間信息的解析
由于GPS接收機(jī)M12MT具有多種數(shù)據(jù)輸出格式,其中時(shí)間格式默認(rèn)為為格林威治標(biāo)準(zhǔn)時(shí)間,故為了保證數(shù)據(jù)解析的正確性,在系統(tǒng)啟動(dòng)后首先對(duì)GPS接收機(jī)進(jìn)行初始化,使其時(shí)區(qū)設(shè)定為GMT+8,每秒鐘串口輸出一組數(shù)據(jù),格式采用@@Eq形式。
由于UART控制器每收到1個(gè)字節(jié)即產(chǎn)生一個(gè)中斷,故NiosⅡ處理器首先需要對(duì)接收到的數(shù)據(jù)進(jìn)行緩存,當(dāng)收到5個(gè)字節(jié)后判斷是否是報(bào)頭,如果是報(bào)頭就繼續(xù)接收,否則計(jì)數(shù)器清零并重新進(jìn)行緩沖。在報(bào)頭解析正確后,處理器將所有報(bào)文依次接收并存儲(chǔ)到緩沖區(qū)中,緩沖區(qū)中的前18位即是時(shí)間數(shù)據(jù),其格式為mm,dd,yy,hh,mm,ss。
需要特別說(shuō)明的有兩點(diǎn):第一,由于每一秒的PPS信號(hào)早于串口數(shù)據(jù)的輸出,故處理器需要對(duì)接收到的時(shí)間加1 s,而后利用下一個(gè)PPS信號(hào)進(jìn)行觸發(fā);第二,GPS接收機(jī)在鎖定3顆以上衛(wèi)星時(shí)時(shí)間數(shù)據(jù)才具有可靠性,故需要判斷報(bào)文中的fix標(biāo)志位,如果fix位是1,這表明衛(wèi)星已鎖定,時(shí)間信息可靠,PPS信號(hào)可以作為觸發(fā)信號(hào)。
3.2 采集數(shù)據(jù)的封裝
Audio控制器輸出的數(shù)據(jù)是按照采樣時(shí)刻先后順序生成的一系列二進(jìn)制數(shù)值點(diǎn),為了加入起始時(shí)刻的時(shí)間標(biāo)志,同時(shí)便于評(píng)估系統(tǒng)進(jìn)行后續(xù)處理,本錄取系統(tǒng)對(duì)采樣起始時(shí)刻和采樣數(shù)據(jù)進(jìn)行封裝。首先將采樣數(shù)據(jù)封裝成WAV文件格式,加入相應(yīng)的格式標(biāo)志、采樣率、采樣精度、聲道數(shù)、數(shù)據(jù)長(zhǎng)度等信息,然后再在WAV文件的前面加入二進(jìn)制的時(shí)間信息形成DAT格式文件。評(píng)估系統(tǒng)通過(guò)DAT文件中的時(shí)間信息和WAV文件中的采樣率等信息即可計(jì)算出每個(gè)采樣點(diǎn)的絕對(duì)時(shí)間。
3.3 文件系統(tǒng)的引用
為了提高SD卡存儲(chǔ)的兼容性,便于通用計(jì)算機(jī)對(duì)SD卡的寫(xiě)入和讀取,本錄取系統(tǒng)利用FAT文件系統(tǒng)對(duì)SD卡進(jìn)行讀寫(xiě)操作。由于處理器中沒(méi)有使用操作系統(tǒng),故需要自己移植文件系統(tǒng)和編寫(xiě)底層驅(qū)動(dòng)函數(shù)。
本錄取系統(tǒng)中的文件系統(tǒng)采用層次結(jié)構(gòu)設(shè)計(jì),共分為3層,即硬件描述層(HAL)、功能層和應(yīng)用層。硬件描述層完成SD卡檢測(cè)、控制命令的寫(xiě)入、數(shù)據(jù)的讀寫(xiě)等功能;功能層完成塊數(shù)據(jù)的讀寫(xiě)、查找、替換等功能;應(yīng)用層完成格式化、文件建立與刪除、文件寫(xiě)入與讀出等功能。主函數(shù)調(diào)用應(yīng)用層的功能函數(shù)即可完成對(duì)SD卡的文件操作。
4 、結(jié)論
本文介紹了一種利用SOPC技術(shù)在FPGA平臺(tái)上實(shí)現(xiàn)帶有時(shí)標(biāo)的嵌入式語(yǔ)言信號(hào)錄取系統(tǒng),不但論述了錄取系統(tǒng)的結(jié)構(gòu)組成與工作原理,而且對(duì)GPS控制器、Audio控制器、SD卡控制器等硬件設(shè)計(jì)和GPS時(shí)間解析、采集數(shù)據(jù)的封裝、文件系統(tǒng)的引用等軟件編寫(xiě)進(jìn)行了詳細(xì)的介紹。經(jīng)實(shí)際使用驗(yàn)證,本錄取系統(tǒng)能夠在GPS時(shí)間觸發(fā)下完成語(yǔ)音信號(hào)的錄取,錄取得到的數(shù)據(jù)帶有時(shí)標(biāo)信息,能夠滿足語(yǔ)音電臺(tái)抗干擾客觀評(píng)估系統(tǒng)的技術(shù)要求。
責(zé)任編輯:gt
-
FPGA
+關(guān)注
關(guān)注
1630文章
21781瀏覽量
604936 -
芯片
+關(guān)注
關(guān)注
456文章
51075瀏覽量
425861 -
sopc
+關(guān)注
關(guān)注
2文章
248瀏覽量
62255
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論