• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于FPGA 和ARM 內(nèi)核的無(wú)線SoC 設(shè)計(jì)

      2023-05-29 05:51:24魏繼清
      電子制作 2023年7期
      關(guān)鍵詞:頻點(diǎn)總線處理器

      魏繼清

      (電子科技大學(xué) 電子科學(xué)與工程學(xué)院,四川成都,611731)

      0 引言

      無(wú)線SoC 已成為物聯(lián)網(wǎng)產(chǎn)業(yè)發(fā)展的基礎(chǔ),在現(xiàn)代信息社會(huì)中占有越來(lái)越重要的地位。但由于課程體系等多方面的原因,同時(shí)熟悉無(wú)線通信和SoC 設(shè)計(jì)的人才極為稀缺。本文基于ARM Cortex-M0 處理器在FPGA 上構(gòu)建具備無(wú)線通信基帶信號(hào)處理的片上系統(tǒng),配合控制外圍擴(kuò)展電路實(shí)現(xiàn)FM 通信信號(hào)的調(diào)制解調(diào)等處理。在此基礎(chǔ)上增加適當(dāng)?shù)墓δ芤詽M足特定的物聯(lián)網(wǎng)應(yīng)用,使系統(tǒng)具有實(shí)用性、可演示性和創(chuàng)新性,同時(shí)兼顧了系統(tǒng)靈活性、可移植性、通用性的要求[1]。該系統(tǒng)的總體設(shè)計(jì)框圖如圖1 所示。

      圖1 無(wú)線SoC 系統(tǒng)框圖

      1 無(wú)線SoC 系統(tǒng)

      由圖1 可知,將ARM Cortex-M0 內(nèi)核移植到FPGA上并在FPGA 上構(gòu)建好硬件系統(tǒng)后,再與射頻擴(kuò)展模塊、FPGA 板載外設(shè)模塊相連接即可構(gòu)成無(wú)線SoC 系統(tǒng)的硬件部分,還需軟件和硬件協(xié)同,即可構(gòu)成完成的無(wú)線SoC,二者之間通過(guò)指令集架構(gòu)搭建起橋梁,如圖2 所示。

      圖2 軟硬件開發(fā)層次

      整個(gè)系統(tǒng)的開發(fā)流程為:

      (1)將ARM Cortex-M0 軟核移植到FPGA 芯片上;

      (2)使用Verilog 硬件描述語(yǔ)言搭建SoC 系統(tǒng),包括搭建外設(shè)驅(qū)動(dòng)、編寫基帶信號(hào)處理IP、連接射頻擴(kuò)展模塊與外設(shè)模塊等;

      (3)在集成開發(fā)環(huán)境keil 中編寫軟件代碼,生成十六進(jìn)制機(jī)器碼;

      (4)將機(jī)器碼下載至FPGA 中的ARM 內(nèi)核中,進(jìn)行仿真;

      (5)燒錄到FPGA 中并調(diào)試。

      其中的軟件控制流程為:該系統(tǒng)上電復(fù)位以后,初始化所有外設(shè)并打開中斷,然后通過(guò)SPI 模塊與射頻接收芯片通信,來(lái)選擇接收的頻點(diǎn),接著將接收到的FM 模擬信號(hào)送入AD 模塊轉(zhuǎn)換為數(shù)字信號(hào),在基帶信號(hào)處理IP 中進(jìn)行FM解調(diào),將解調(diào)后得到的數(shù)字信號(hào)經(jīng)DA 轉(zhuǎn)換后送入音頻輸出電路播放;在程序的執(zhí)行過(guò)程中,隨時(shí)可以通過(guò)GPIO 按鍵觸發(fā)中斷,執(zhí)行對(duì)應(yīng)的中斷程序,中斷程序的功能有:可以通過(guò)按鍵更換接收的頻點(diǎn)、可以通過(guò)按鍵發(fā)射FM 信號(hào)、可以通過(guò)按鍵保存頻點(diǎn)、可以通過(guò)按鍵與上位機(jī)UART 通信,將接收的頻點(diǎn)信息發(fā)送給上位機(jī)等。軟件系統(tǒng)控制流程如圖3 所示。

      圖3 軟件系統(tǒng)執(zhí)行流程

      2 FPGA 片上無(wú)線系統(tǒng)電路

      2.1 ARM 內(nèi)核模塊

      ARM 處理器采用精簡(jiǎn)指令集(RISC)處理器架構(gòu),Cortex-M 系列在低功耗、微控制系統(tǒng)領(lǐng)域應(yīng)用廣泛,且使用keil 集成開發(fā)環(huán)境,可迅速完成軟件應(yīng)用程序開發(fā),以及實(shí)現(xiàn)設(shè)計(jì)代碼的重用,具有極大優(yōu)勢(shì)[2]。Cortex-M0 微處理器包括:處理器核、嵌套向量中斷控制器(NVIC)、調(diào)試子系統(tǒng)、喚醒中斷控制器、AHB-Lite 總線接口以及連接這些單元的內(nèi)部總線系統(tǒng)。處理器核對(duì)數(shù)據(jù)進(jìn)行處理,包含內(nèi)部寄存器、算術(shù)邏輯單元(ALU)、數(shù)據(jù)通路和控制邏輯,取指、譯碼和執(zhí)行的指令通道采用三級(jí)流水結(jié)構(gòu),顯著提高處理器指令通道的吞吐量和運(yùn)行效率。嵌套中斷向量控制器包含32 個(gè)中斷請(qǐng)求信號(hào),以及一個(gè)不可屏蔽中斷。調(diào)試子系統(tǒng)用于管理調(diào)試、程序斷點(diǎn),以及數(shù)據(jù)監(jiān)控點(diǎn)。喚醒中斷控制器用于低功耗應(yīng)用,通過(guò)關(guān)閉大部分元件,使微處理器進(jìn)入休眠模式,當(dāng)檢測(cè)到中斷事件時(shí),通知電源管理單元上電,使處理器從休眠狀態(tài)進(jìn)入到正常工作狀態(tài)。AHB-Lite 總線系統(tǒng)也與傳統(tǒng)的總線相同,包括地址總線、控制總線和數(shù)據(jù)總線,總線用于處理器核和其他模塊之間的通信,處理器核為主機(jī),其他所有模塊都為從機(jī)。該項(xiàng)目的FPGA 片上無(wú)線系統(tǒng)電路如圖4 所示。

      圖4 FPGA 片上系統(tǒng)框圖

      2.2 基帶信號(hào)處理IP 模塊

      基帶信號(hào)處理IP 包括兩個(gè)部分,一是將ADC 送過(guò)來(lái)的數(shù)字FM 調(diào)制信號(hào)進(jìn)行解調(diào);二是將麥克風(fēng)電路輸入的語(yǔ)音模擬信號(hào)經(jīng)AD 轉(zhuǎn)換后進(jìn)行FM 調(diào)制。

      2.2.1 FM 數(shù)字正交解調(diào)

      軟件無(wú)線電一般采用數(shù)字正交解調(diào)法,實(shí)際工程中,一般調(diào)制都能用正交調(diào)制法進(jìn)行,實(shí)質(zhì)上調(diào)制不外乎用調(diào)制信號(hào)去控制一個(gè)載波的某一個(gè)或幾個(gè)參數(shù),讓這個(gè)給參數(shù)按照調(diào)制信號(hào)的規(guī)律變化,載波可以是正弦波或脈沖序列,以正弦信號(hào)作為載波的調(diào)制叫做連續(xù)波調(diào)制,F(xiàn)M 是一種連續(xù)波調(diào)制,且是對(duì)載波信號(hào)的頻率進(jìn)行調(diào)制的方法。對(duì)于連續(xù)波調(diào)制,以調(diào)信號(hào)的數(shù)字表達(dá)式如公式所示:

      將上式和差化積后得到公式:

      式中:

      由于我們的射頻接收芯片已經(jīng)將I、Q 兩路信號(hào)得出,所以我們只需要AD 轉(zhuǎn)換后進(jìn)行解調(diào)算法的編寫即可。利用相位差分計(jì)算瞬時(shí)頻率f(n)時(shí),由于計(jì)算相位要用到除法和反正切運(yùn)算,這對(duì)于非專用數(shù)字處理器來(lái)說(shuō)是較復(fù)雜的,在用軟件時(shí),也可以用下面的方法來(lái)計(jì)算瞬時(shí)頻率f(n):

      這種方法只有乘法和減法[3],計(jì)算起來(lái)簡(jiǎn)便,最后我們仿真將其實(shí)現(xiàn),如圖5 所示,可知經(jīng)過(guò)I、Q 兩路信號(hào)解調(diào)出來(lái)的信號(hào)(倒數(shù)第二行波形)有些許高頻噪聲,再加上低通濾波器去除高頻噪聲得到最后一行波形,即解調(diào)出來(lái)的波形。

      圖5 FM 解調(diào)并濾波得到原信號(hào)

      2.2.2 FM 數(shù)字調(diào)制

      FM 調(diào)制模塊有兩個(gè)比較重要的概念:中心頻率和頻偏。頻偏即與中心頻率的差值。假設(shè)中心頻率為5MHz,頻偏為:-75kHz~75kHz,輸入信號(hào)位寬為12 位。當(dāng)輸入調(diào)制信號(hào)幅度為0 時(shí),輸出的FM 已調(diào)信號(hào)頻率為5MHz,即載波頻率;當(dāng)輸入調(diào)制信號(hào)幅度最大(即+2^11)時(shí),輸出的FM 已調(diào)信號(hào)頻率為5.075MHz(5M+75K);當(dāng)輸入調(diào)制信號(hào)幅度最?。?2^11)時(shí),輸出的FM 已調(diào)信號(hào)頻率為4.925MHz(5M-75K),使用DDS 控制模塊可以實(shí)現(xiàn)FM 調(diào)制[4]。將其仿真得到如圖6 所示的結(jié)果,可知送入的信號(hào)以頻率為調(diào)制,即完成FM 調(diào)制。

      圖6 FM 調(diào)制

      2.3 外設(shè)模塊

      搭載的外設(shè)有UART、SPI、I2C、LCD;其 中UART用于與上位機(jī)串口通信;SPI用于與射頻接收芯片通信,控制接收的頻段與頻點(diǎn)等;I2C用于與射頻發(fā)射芯片通信,控制發(fā)射;LCD 用于顯示接收和發(fā)射的頻點(diǎn)。

      2.3.1 UART 模塊

      通用異步接收發(fā)送器(UART)用于實(shí)現(xiàn)兩個(gè)設(shè)備間的異步串行通信;UART 一幀數(shù)據(jù)由起始位開始,緊跟著八位數(shù)據(jù)位(由低到高)、奇偶校驗(yàn)位(可選)、停止位結(jié)束。將UART 驅(qū)動(dòng)連接到AHB-Lite 總線上,就可以實(shí)現(xiàn)SoC 與上位機(jī)之間的UART通信,硬件架構(gòu)搭建完畢并成功仿真以后,在Keil 上進(jìn)行軟件程序的編寫,編寫的軟件程序生成十六進(jìn)制治理文件下載到Cortex-M0 內(nèi)核中運(yùn)行,從而可以控制UART 的發(fā)送與接收,仿真結(jié)果如圖7 所示。

      圖7 UART 串行通信

      2.3.2 SPI 模塊

      串行外圍設(shè)備接口(SPI)通訊協(xié)議,是一種高速、全雙工、同步通信總線,只需要四根線來(lái)控制數(shù)據(jù)傳輸,SPI通訊協(xié)議包含 1 條時(shí)鐘信號(hào)線、2 條數(shù)據(jù)總線和 1 條片選信號(hào)線,時(shí)鐘信號(hào)線為 SCK,2 條數(shù)據(jù)總線分別為 MOSI(主輸出從輸入)、MISO(主輸入從輸出),片選信號(hào)線為 CS;SPI 的優(yōu)點(diǎn)是支持全雙工通信、速率較快,缺點(diǎn)是沒(méi)有應(yīng)答機(jī)制,在數(shù)據(jù)可靠性上有一定缺陷;我們使用的射頻接收芯片是MSI001,其數(shù)據(jù)格式是24bits,20bits 是數(shù)據(jù),4bits 是寄存器地址,我們通過(guò)SPI 發(fā)送24bits 數(shù)據(jù),控制相應(yīng)的寄存器配置成不同的值,就可以選擇頻段與頻點(diǎn)等;仿真結(jié)果如圖8 所示。

      圖8 SPI 同步通信

      2.3.3 I2C 模塊

      I2C 通信協(xié)議是雙向二線制同步串行總線,支持一主多從,總線通過(guò)上拉電阻連接到電源,當(dāng)I2C 設(shè)備空閑時(shí),輸出高阻態(tài);當(dāng)所有設(shè)備都空閑,都輸出高阻態(tài)時(shí),由上拉電阻把總線拉成高電平;每一個(gè)從機(jī)都有一個(gè)獨(dú)立的地址,主機(jī)利用這個(gè)地址訪問(wèn)不同的設(shè)備;I2C 總線只有兩條線,一條串行時(shí)鐘線(SCL)用來(lái)提供時(shí)鐘同步,同步數(shù)據(jù)的收發(fā);一條串行數(shù)據(jù)線(SDA)用來(lái)讀寫數(shù)據(jù),具有三種傳輸速率:標(biāo)準(zhǔn)模式傳輸速率為100kbit/s,快速模式為400kbit/s,高速模式可達(dá)3.4Mbit/s。SoC 通過(guò)I2C 控制發(fā)射芯片QN8027,將輸入的模擬音頻信號(hào)發(fā)射,I2C 仿真結(jié)果如圖9所示。

      圖9 I2C 通信

      2.3.4 LCD 模塊

      TFT-LCD 即薄膜晶體管液晶顯示器,它在液晶顯示屏的每一個(gè)像素上都設(shè)置一個(gè)薄膜晶體管,可有效克服非選通時(shí)的串?dāng)_,提高了圖片質(zhì)量。本文使用到的2.4 寸LCD 屏采用的驅(qū)動(dòng)芯片是ILI9341,且使用8080 16 位總線接口,可直插FPGA;LCD 模塊使用的基本原理是,主機(jī)通過(guò)引腳向驅(qū)動(dòng)芯片發(fā)送一系列指令和數(shù)據(jù),之后驅(qū)動(dòng)芯片會(huì)根據(jù)這些指令和數(shù)據(jù)刷新LCD 屏幕并進(jìn)行顯示。LCD 的仿真測(cè)試結(jié)果如圖10 所示。

      圖10 LCD 模塊

      3 射頻擴(kuò)展模塊

      射頻擴(kuò)展模塊使用的是DMZ_FMSDR 開發(fā)板,可以和FPGA 開發(fā)板配合使用;DMZ_FMSDR 內(nèi)部包含了50MHz~120MHz,400MHz~1000MHz 射 頻 接 收 電 路,76MHz~08MHz 的FM 頻道發(fā)射電路,麥克風(fēng)電路,音頻輸出和功放電路,可以通過(guò)編程實(shí)現(xiàn)FM 收音機(jī)、FM 發(fā)射機(jī)、FM對(duì)講機(jī)以及其他頻段的接收機(jī)。

      (1)射頻接收電路模塊可以接收多個(gè)頻段的信號(hào),廣播信號(hào)FM 在VHF 頻段(64~108MHz),可以通過(guò)配置MSI001 寄存器的值來(lái)選擇;經(jīng)過(guò)MSI001 芯片的處理后,下變頻產(chǎn)生I、Q 兩路信號(hào),送到FPGA 的AD 接口;

      (2)FM 頻道發(fā)射電路模塊發(fā)射頻率覆蓋76MHz~108MHz,支持立體聲或單聲道,輸出接拉桿天線,通過(guò)配置QN8027 的寄存器來(lái)配置發(fā)射頻點(diǎn)、時(shí)鐘選擇、音頻信號(hào)處理等,其他可用默認(rèn)值,實(shí)現(xiàn)FM 發(fā)射;

      (3)麥克風(fēng)電路模塊在射頻板上有3.5mm 接口的麥克風(fēng)輸入插口,從而可以實(shí)現(xiàn)模擬音頻信號(hào)的輸入;

      (4)音頻輸出和功放電路模塊,可以外接音箱、耳機(jī)或喇叭(右聲道)即可實(shí)現(xiàn)音頻的輸出。

      將射頻擴(kuò)展模塊開發(fā)板的各個(gè)模塊與FPGA 片上系統(tǒng)相應(yīng)的接口相連后,就可以通過(guò)軟件下載到FPGA 片上系統(tǒng)上控制射頻擴(kuò)展模塊,從而實(shí)現(xiàn)FM 射頻接收與發(fā)射、音頻播放、麥克風(fēng)輸入等功能。

      4 結(jié)語(yǔ)

      本文設(shè)計(jì)了一款基于ARM 處理器的無(wú)線SoC,該系統(tǒng)將Arm Cortex-M0 內(nèi)核移植到FPGA,能夠?qū)崿F(xiàn)FM 廣播信號(hào)接收、FM 信號(hào)調(diào)制解調(diào)、FM 廣播信號(hào)播放、FM 信號(hào)發(fā)射(對(duì)講)、LCD 顯示頻段頻點(diǎn)、與上位機(jī)串口通信等功能。此外,因?yàn)镕PGA 的可編程性,電路具有很強(qiáng)的擴(kuò)展性,可以增加許多功能模塊,比如存儲(chǔ)頻道、手動(dòng)選臺(tái)、實(shí)時(shí)以太網(wǎng)傳輸、實(shí)時(shí)USB 傳輸、錄音存儲(chǔ)等功能。

      猜你喜歡
      頻點(diǎn)總線處理器
      基于4G MR的大數(shù)據(jù)分析優(yōu)化EPSFB語(yǔ)音時(shí)延
      基于PCI Express總線的xHC與FPGA的直接通信
      機(jī)載飛控1553B總線轉(zhuǎn)以太網(wǎng)總線設(shè)計(jì)
      基于測(cè)量報(bào)告數(shù)據(jù)優(yōu)化CSFB頻點(diǎn)配置的方法
      Imagination的ClearCallTM VoIP應(yīng)用現(xiàn)可支持Cavium的OCTEON? Ⅲ多核處理器
      多通道ARINC429總線檢查儀
      ADI推出新一代SigmaDSP處理器
      汽車零部件(2014年1期)2014-09-21 11:41:11
      呼嚕處理器
      基于EtherCAT總線的ROV控制系統(tǒng)設(shè)計(jì)
      河南科技(2014年16期)2014-02-27 14:13:22
      載帶壓縮11頻點(diǎn)創(chuàng)新方案
      长子县| 湘乡市| 花莲市| 潞西市| 项城市| 永丰县| 白银市| 芷江| 汉阴县| 西城区| 澜沧| 彰化市| 深圳市| 河北区| 仁怀市| 鹤峰县| 磐安县| 和顺县| 永丰县| 英山县| 无极县| 个旧市| 石柱| 梓潼县| 贡觉县| 镇远县| 年辖:市辖区| 监利县| 松江区| 繁昌县| 临西县| 临武县| 海城市| 白城市| 百色市| 利川市| 岳池县| 丰都县| 罗源县| 耒阳市| 大庆市|