一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于SOPC在FPGA平臺的時標(biāo)嵌入式語音信號錄取系統(tǒng)的設(shè)計

電子設(shè)計 ? 來源:電子設(shè)計 ? 作者:電子設(shè)計 ? 2020-10-30 12:53 ? 次閱讀

語音通信電臺是當(dāng)今軍事指揮、工業(yè)調(diào)度和日常生產(chǎn)活動中主要的溝通設(shè)備,其通信質(zhì)量與抗干擾能力將對國防和經(jīng)濟建設(shè)產(chǎn)生直接影響。語音電臺抗干擾客觀評估系統(tǒng)(以下簡稱評估系統(tǒng))通過數(shù)字信號處理算法比較在發(fā)送電臺端錄取的標(biāo)準(zhǔn)語音文件與在接收電臺端錄取的失真語音文件之間的信號特征,給出語音電臺的抗干擾性能參數(shù)。由于語音信號是按照每 20 ms 一個語片進行處理,故對語音信號的對準(zhǔn)提出了較高的要求,為了達到較高的評估精度,對準(zhǔn)誤差應(yīng)小于 1 ms。


為了滿足上述技術(shù)指標(biāo),本文采用當(dāng)前剛剛興起的 SOPC(System On a Programmable Chip)技術(shù)在 FPGA(Field Programmable Gate Arr ay)平臺上設(shè)計了一種帶有時標(biāo)的嵌入式語音信號錄取系統(tǒng)。本系統(tǒng)通過捕獲 GPS(Global Positioning System)系統(tǒng)的授時信息和秒脈沖信號,觸發(fā) SOPC 系統(tǒng)中 NiosⅡ嵌入式軟核處理器進入外部中斷,調(diào)用中斷處理函數(shù)啟動音頻 Codec 芯片 WM8731,對 Line-in 通道輸入的模擬語音信號進行 48 KSPS 采樣率、16 b 采樣精度的錄取,將觸發(fā)錄取的時間信號作為時標(biāo)與錄取得到的數(shù)據(jù)按照特定數(shù)據(jù)格式進行打包和封裝,并利用 FAT 文件系統(tǒng)將封裝好的數(shù)據(jù)存儲到 SD 卡(Secure Digital Card)中。由于 GPS 秒脈沖前沿可以達到微秒級精度,加之 WM8731 控制接口采用 Verilog 語言編寫,從而保證了絕對時間誤差遠遠小于 1 ms 的技術(shù)要求。

1、 系統(tǒng)組成

SOPC 是基于可編程邏輯器件的可重構(gòu)片上系統(tǒng)(SOC),它集成了硬核或軟核 CPUDSP、鎖相環(huán)、存儲器、I/O 接口及可編程邏輯,由于具有設(shè)計靈活、研制周期短、開發(fā)成本低等優(yōu)點,已經(jīng)逐步應(yīng)用在通信、工控、信號處理等諸多領(lǐng)域。

為了給評估系統(tǒng)提供高精度、帶有時標(biāo)的語音數(shù)據(jù)源,本文采用 SOPC 技術(shù)在 FPGA 平臺設(shè)計了一套帶有時標(biāo)的嵌入式語音信號錄取系統(tǒng)(以下簡稱錄取系統(tǒng))。錄取系統(tǒng)由片上系統(tǒng)和外圍系統(tǒng)兩部分組成。片上系統(tǒng)包括:NiosⅡ嵌入式軟核處理器、GPS 控制器、SD 卡控制器、SDRAM 控制器、Audio 控制器、Ethernet 控制器、GPIO 控制器以及內(nèi)部 Avalon 總線;外圍系統(tǒng)包括:GPS 接收機 M12MT、SD 存儲卡、SDRAM 存儲芯片、Audio Codec 芯片 WM8731、Ethernet 物理層芯片 DM9000A 和傳輸變壓器以及按鍵和 LED 等輸入與顯示器件等。

2、 硬件結(jié)構(gòu)設(shè)計

在 FPGA 平臺上設(shè)計 SOPC 系統(tǒng)為本文的核心工作。FPGA 芯片選擇 Altera 公司 CycloneⅡ系列的 EP2C35F672C6N,其具有 33 216 個邏輯宏單元、105 個 M4K 存儲單元、4 個鎖相環(huán)以及 475 個通用 I/O 口。FPGA 開發(fā)環(huán)境采用 QuartusⅡ,嵌入式系統(tǒng)開發(fā)環(huán)境采用 SOPC Buildero 由于 Nios Ⅱ嵌人式軟核 CPU、SDRAM 控制器、Ethernet 控制器和 GPIO 控制器都是 SOPC Builder 中集成的通用 IP 核,直接調(diào)用即可,故本文不做詳細介紹,下面對 GPS 控制器、Audio 控制器和 SD 卡控制器進行詳細介紹。

2.1 GPS 授時系統(tǒng)的設(shè)計

本設(shè)計中所使用 M12MT 是一款 5 V 供電、RS 232 電平 NAEA 0183 格式串行輸出、TTL 電平秒脈沖(PPS)輸出型 GPS 模塊,由于 FPGA 芯片 I/O 口是 3.3 V 電平,故需要進行電平轉(zhuǎn)換,串口電平轉(zhuǎn)換采用美信Maxim)公司生產(chǎn)的 MAX3232 芯片,秒脈沖信號由 TI 公司生產(chǎn) SN74AHC1G04 單緩反向器芯片生成。

由于 SOPC Builder 中的 UART 核通信協(xié)議可以與 GPS 串口輸出協(xié)議兼容,故本設(shè)計中經(jīng)過電平轉(zhuǎn)換的信號與片內(nèi) UART 核相連,其參數(shù)設(shè)為:波特率為 9 600b/s、1 個起始位,1 個停止位,無校驗位。秒脈沖經(jīng)電平轉(zhuǎn)換后與 PIO 控制器相連,其參數(shù)設(shè)為輸入模式、帶有中斷功能、邊沿觸發(fā)中斷、下降沿觸發(fā)中斷。

2.2 音頻采集系統(tǒng)的設(shè)計

為了達到較高的錄音品質(zhì),本設(shè)計中選用 Wolfson 公司生產(chǎn)的音頻 Codec 芯片 WM8731,其最高可支持 96 KSPS 采樣率、24 b 采樣精度的立體聲輸入/輸出。考慮到語音電臺抗干擾評估系統(tǒng)的特殊要求和存儲空間、處理速度等條件的限制,本設(shè)計中通過軟件設(shè)置,使 WM8731 工作在 48 KSPS 采樣率、16 b 采樣精度、單聲道的工作模式下。

WM8731 的控制接口和音頻數(shù)據(jù)接口分別采用 I2C 總線和 I2S 總線,由于控制總線數(shù)據(jù)量較少,加之 I2C 總線時序比較簡單,故采用程序控制 PIO 模擬 I2C 總線的方式對其進行控制;由于數(shù)據(jù)總線數(shù)據(jù)量較大,并且必須保證數(shù)據(jù)的完整性,本設(shè)計采用 Verilog 硬件描述語言編寫了一個 Audio 控制器,完成采樣控制、數(shù)據(jù)緩存以及與 Avalon 總線接口等功能。

Audio 控制器由有限狀態(tài)機(FSM)、數(shù)據(jù)緩存器(FIFO)和總線接口三部分組成。FSM 完成 WM8731 數(shù)據(jù)讀寫的控制、FIFO 讀寫與存儲狀態(tài)控制以及總線接口控制。FIFO 用來緩沖 WM8731 采集得到的數(shù)據(jù),防止數(shù)據(jù)丟失,并使系統(tǒng)工作在異步模式,大大提高了 CPU 的工作效率。總線接口作為橋梁,用以連接 NiosⅡ和 FIFO。

2.3 數(shù)據(jù)存儲系統(tǒng)的設(shè)計

為了實現(xiàn)大容量數(shù)據(jù)存儲,本采集系統(tǒng)選用當(dāng)下比較流行 SD 卡作為存儲介質(zhì)。由于 SD 卡采用的是串行讀寫方式,時序較為復(fù)雜,且其數(shù)據(jù)量較大,故采用 Verilog 編寫了 SD 控制器。Avalon Interface FSM 與 Avalon 總線相連接,用來完成控制器與 NiosⅡ處理器通信;SD Card Interface 與 SD 卡相連,完成數(shù)據(jù)的串/并轉(zhuǎn)換和時序控制。

3、 軟件程序設(shè)計

本采集系統(tǒng)軟件在 Nios EDS 環(huán)境下進行開發(fā),由于程序中只有一個線程,結(jié)構(gòu)比較簡單,故并未采用操作系統(tǒng)。主程序在完成各個模塊初始化后進入等待狀態(tài),GPS 的串口數(shù)據(jù)、PPS 觸發(fā)信號和按鍵觸發(fā)信號采用中斷形式,利用中斷服務(wù)子函數(shù)完成各項功能。

3.1 時間信息的解析

由于 GPS 接收機 M12MT 具有多種數(shù)據(jù)輸出格式,其中時間格式默認為為格林威治標(biāo)準(zhǔn)時間,故為了保證數(shù)據(jù)解析的正確性,在系統(tǒng)啟動后首先對 GPS 接收機進行初始化,使其時區(qū)設(shè)定為 GMT+8,每秒鐘串口輸出一組數(shù)據(jù),格式采用@@Eq 形式。

由于 UART 控制器每收到 1 個字節(jié)即產(chǎn)生一個中斷,故 NiosⅡ處理器首先需要對接收到的數(shù)據(jù)進行緩存,當(dāng)收到 5 個字節(jié)后判斷是否是報頭,如果是報頭就繼續(xù)接收,否則計數(shù)器清零并重新進行緩沖。在報頭解析正確后,處理器將所有報文依次接收并存儲到緩沖區(qū)中,緩沖區(qū)中的前 18 位即是時間數(shù)據(jù),其格式為 mm,dd,yy,hh,mm,ss。

需要特別說明的有兩點:第一,由于每一秒的 PPS 信號早于串口數(shù)據(jù)的輸出,故處理器需要對接收到的時間加 1 s,而后利用下一個 PPS 信號進行觸發(fā);第二,GPS 接收機在鎖定 3 顆以上衛(wèi)星時時間數(shù)據(jù)才具有可靠性,故需要判斷報文中的 fix 標(biāo)志位,如果 fix 位是 1,這表明衛(wèi)星已鎖定,時間信息可靠,PPS 信號可以作為觸發(fā)信號。

3.2 采集數(shù)據(jù)的封裝

Audio 控制器輸出的數(shù)據(jù)是按照采樣時刻先后順序生成的一系列二進制數(shù)值點,為了加入起始時刻的時間標(biāo)志,同時便于評估系統(tǒng)進行后續(xù)處理,本錄取系統(tǒng)對采樣起始時刻和采樣數(shù)據(jù)進行封裝。首先將采樣數(shù)據(jù)封裝成 WAV 文件格式,加入相應(yīng)的格式標(biāo)志、采樣率、采樣精度、聲道數(shù)、數(shù)據(jù)長度等信息,然后再在 WAV 文件的前面加入二進制的時間信息形成 DAT 格式文件。評估系統(tǒng)通過 DAT 文件中的時間信息和 WAV 文件中的采樣率等信息即可計算出每個采樣點的絕對時間。

3.3 文件系統(tǒng)的引用

為了提高 SD 卡存儲的兼容性,便于通用計算機對 SD 卡的寫入和讀取,本錄取系統(tǒng)利用 FAT 文件系統(tǒng)對 SD 卡進行讀寫操作。由于處理器中沒有使用操作系統(tǒng),故需要自己移植文件系統(tǒng)和編寫底層驅(qū)動函數(shù)。

本錄取系統(tǒng)中的文件系統(tǒng)采用層次結(jié)構(gòu)設(shè)計,共分為 3 層,即硬件描述層(HAL)、功能層和應(yīng)用層。硬件描述層完成 SD 卡檢測、控制命令的寫入、數(shù)據(jù)的讀寫等功能;功能層完成塊數(shù)據(jù)的讀寫、查找、替換等功能;應(yīng)用層完成格式化、文件建立與刪除、文件寫入與讀出等功能。主函數(shù)調(diào)用應(yīng)用層的功能函數(shù)即可完成對 SD 卡的文件操作。

4 、結(jié)論

本文介紹了一種利用 SOPC 技術(shù)在 FPGA 平臺上實現(xiàn)帶有時標(biāo)的嵌入式語言信號錄取系統(tǒng),不但論述了錄取系統(tǒng)的結(jié)構(gòu)組成與工作原理,而且對 GPS 控制器、Audio 控制器、SD 卡控制器等硬件設(shè)計和 GPS 時間解析、采集數(shù)據(jù)的封裝、文件系統(tǒng)的引用等軟件編寫進行了詳細的介紹。經(jīng)實際使用驗證,本錄取系統(tǒng)能夠在 GPS 時間觸發(fā)下完成語音信號的錄取,錄取得到的數(shù)據(jù)帶有時標(biāo)信息,能夠滿足語音電臺抗干擾客觀評估系統(tǒng)的技術(shù)要求。

審核編輯 黃昊宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1643

    文章

    21923

    瀏覽量

    612377
  • sopc
    +關(guān)注

    關(guān)注

    2

    文章

    248

    瀏覽量

    62962
收藏 人收藏

    評論

    相關(guān)推薦
    熱點推薦

    Python嵌入式系統(tǒng)中的應(yīng)用場景

    你想把你的職業(yè)生涯提升到一個新的水平?Python嵌入式系統(tǒng)中正在成為一股不可缺少的新力量。盡管傳統(tǒng)上嵌入式開發(fā)更多地依賴于C和C++語言,Python的優(yōu)勢在于其簡潔的語法、豐富的
    的頭像 發(fā)表于 03-19 14:10 ?405次閱讀

    數(shù)字電路嵌入式系統(tǒng)中的應(yīng)用

    隨著科技的迅猛發(fā)展,嵌入式系統(tǒng)已經(jīng)成為現(xiàn)代電子產(chǎn)品不可或缺的一部分。從簡單的家用電器到復(fù)雜的工業(yè)控制系統(tǒng),嵌入式系統(tǒng)無處不在。數(shù)字電路作為
    的頭像 發(fā)表于 01-24 09:41 ?424次閱讀

    CPLD 嵌入式系統(tǒng)中的應(yīng)用

    現(xiàn)代電子設(shè)計領(lǐng)域,復(fù)雜可編程邏輯器件(CPLD)因其靈活性、成本效益和快速開發(fā)周期而在嵌入式系統(tǒng)中扮演著重要角色。 1. CPLD簡介 CPLD是一種集成電路,其內(nèi)部包含可編程邏輯塊和可編程互連
    的頭像 發(fā)表于 01-23 09:50 ?540次閱讀

    差分信號嵌入式系統(tǒng)中的應(yīng)用

    差分信號嵌入式系統(tǒng)中的應(yīng)用十分廣泛,特別是需要長距離傳輸、高抗干擾性以及多設(shè)備連接的場景中。以下是對差分
    的頭像 發(fā)表于 12-25 18:13 ?826次閱讀

    嵌入式系統(tǒng)開發(fā)與硬件的關(guān)系 嵌入式系統(tǒng)開發(fā)常見問題解決

    嵌入式系統(tǒng)開發(fā)與硬件的關(guān)系 嵌入式系統(tǒng)是專為特定應(yīng)用設(shè)計的計算機系統(tǒng),它們通常嵌入在所控制的設(shè)備
    的頭像 發(fā)表于 12-09 09:38 ?754次閱讀

    什么是嵌入式?一文讀懂嵌入式主板

    現(xiàn)代科技浪潮中,嵌入式技術(shù)已成為支撐各種智能設(shè)備和系統(tǒng)運行的核心力量。那么,究竟什么是嵌入式?嵌入式
    的頭像 發(fā)表于 10-16 10:14 ?2331次閱讀

    嵌入式系統(tǒng)的未來趨勢有哪些?

    智能家居領(lǐng)域,嵌入式系統(tǒng)可以集成語音識別和自然語言處理技術(shù),去實現(xiàn)智能家電的語音控制。 2. 更強大的處理能力 未來的
    發(fā)表于 09-12 15:42

    嵌入式linux開發(fā)的基本步驟有哪些?

    嵌入式Linux開發(fā)是一個復(fù)雜的過程,涉及到硬件選擇、操作系統(tǒng)移植、驅(qū)動開發(fā)、應(yīng)用程序開發(fā)等多個方面。以下是嵌入式Linux開發(fā)的基本步驟,以及每個步驟的說明。 硬件選擇 開始
    的頭像 發(fā)表于 09-02 09:11 ?942次閱讀

    嵌入式系統(tǒng)是什么?

    分包含軟件運行環(huán)境以及操作系統(tǒng),硬件部分包含信號處理器、存儲器以及通信模塊等多方面內(nèi)容。與傳統(tǒng)的計算機系統(tǒng)相比,嵌入式系統(tǒng)與之相差很大,它并
    的頭像 發(fā)表于 08-29 16:26 ?791次閱讀

    音頻信號通常包括哪些聲音信號

    音頻信號是指通過聲音傳輸?shù)?b class='flag-5'>信號,它包含了各種不同的聲音信號。以下是對音頻信號中常見的聲音信號的介紹:
    的頭像 發(fā)表于 08-25 15:43 ?2315次閱讀

    嵌入式系統(tǒng)中的實時操作系統(tǒng)

    嵌入式RTOS是嵌入式應(yīng)用程序運行、相互交互和與外界通信的底層軟件機制。本節(jié)中,您將了解嵌入式軟件開發(fā)人員使用哪些流行RTOS以及它們運行的嵌入式
    的頭像 發(fā)表于 08-20 11:28 ?709次閱讀

    深度學(xué)習(xí)算法嵌入式平臺上的部署

    隨著人工智能技術(shù)的飛速發(fā)展,深度學(xué)習(xí)算法各個領(lǐng)域的應(yīng)用日益廣泛。然而,將深度學(xué)習(xí)算法部署到資源受限的嵌入式平臺上,仍然是一個具有挑戰(zhàn)性的任務(wù)。本文將從嵌入式
    的頭像 發(fā)表于 07-15 10:03 ?2499次閱讀

    嵌入式系統(tǒng)怎么學(xué)?

    、C++或者Python。這些語言嵌入式系統(tǒng)開發(fā)中都被廣泛應(yīng)用。 3、微處理器/微控制器架構(gòu):學(xué)習(xí)常見的微處理器和微控制器架構(gòu),如ARM、AVR、PIC等,了解其特性和應(yīng)用場景。 4、
    發(fā)表于 07-02 10:10

    Altera SOPC 嵌入式系統(tǒng)設(shè)計(一)

    SOPC 系統(tǒng)是指在 FPGA 中預(yù)先植入處理器。目前最常用的嵌入式處理器大多是采用含有 ARM32 位知識產(chǎn)權(quán)處理器核的器件。為了達到通用性, 必須為常規(guī)的
    發(fā)表于 06-25 20:39

    簡談Xilinx Zynq-7000嵌入式系統(tǒng)設(shè)計與實現(xiàn)

    今天給大俠帶來簡談Xilinx Zynq-7000嵌入式系統(tǒng)設(shè)計與實現(xiàn),話不多說,上貨。 Xilinx的ZYNQ系列FPGA是二種看上去對立面的思想的融合,ARM處理器的串行執(zhí)行+FP
    發(fā)表于 05-08 16:23