|
1 前言 嵌入式系統(tǒng)發(fā)展朝著小體積、低功耗、高性能的趨勢發(fā)展。MCU、DSP 和FPGA 三種處理器在現(xiàn)代嵌入式系統(tǒng)中扮演的角色呈現(xiàn)三分天下的局面。為了結(jié)合MCU、DSP 和FPGA 各自的優(yōu)點,上個世紀90 年代末期到本世紀初,各個可編程邏輯器件廠商開始提出自己的SOPC(System on a programmable chip) 片上可編程系統(tǒng)的軟件和硬件一體化解決方案,并提供從低端的消費電子到高端的網(wǎng)絡通信等市場產(chǎn)品。SOPC 概念的提出給今后嵌入式的發(fā)展提供了很好的方向。 Altera 公司推出的NIOS II 嵌入式處理器是目前世界上最流行的軟核嵌入式處理器。把NIOS II 嵌入到FPGA 中,用戶可以獲得200DMIPS 的性能,并可以從60 多個ALTERA 提供的IP 核中選擇所需要的,以此來創(chuàng)建一個最適合的嵌入式系統(tǒng)。 目前擴頻收發(fā)機處理模塊的實現(xiàn)方式主要有兩種,一種是專用芯片,如STEL2000A 直接序列擴頻系統(tǒng)專用芯片。另一種是以DSP 芯片為核心,搭配外圍FPGA 來實現(xiàn)擴頻信號的處理。采用專用芯片可以降低系統(tǒng)的開發(fā)難度,但是缺乏靈活性,不能滿足特殊場合的應用。隨著數(shù)字信號處理器和可編程器件的功能不斷增強,DSP + FPGA 這一模式得到越來越廣泛的應用。DSP + FPGA 芯片的高速運算性能使得部分硬件功能軟件化,極大地增強了系統(tǒng)的靈活性。另一方面,可編程邏輯器件廠商通過在FPGA 芯片中嵌入硬核或軟核嵌入式處理器,極大地增強了芯片的功能,改變了以往只是將FPGA 作為外圍芯片這一模式。我們用嵌入式處理器替代專用DSP 處理器和通用控制器,再配以眾多的IP 核資源,就可以在單片F(xiàn)PGA 上構建一個可編程片上系統(tǒng),即SOPC(System On Programmable Chip)。本文將用 NIOS II 的SOPC 解決方案實現(xiàn)一個擴頻收發(fā)機中頻模塊。 2 設計思想 本文應用背景為直擴抗干擾擴頻電臺的研制項目。在發(fā)射端將信號擴頻調(diào)制后發(fā)送出去,在接收端將信號解擴解調(diào)后顯示并存儲。即實現(xiàn)信息的無線擴頻傳輸。項目要求的電臺具有功耗低,體積小,外圍接口豐富靈活,擴頻碼碼長可變,能適用于多種需求方式下,并具有可升級功能等特點。 根據(jù)分析,使用專用芯片顯然不能滿足方案的特殊要求。另外,使用 FPGA+DSP 的傳統(tǒng)方案,由于DSP 相對固定的外界接口,無法向外界提供豐富且靈活的接口,限制了它在某特殊場合的應用,而且方案的成本高,體積大。特別是對于系統(tǒng)的升級或者系統(tǒng)要求有所改變時候,該方案顯得十分困難。而本文提出的基于NIOS II 的SOPC 解決方案則完全可以勝任項目的需求。 3 系統(tǒng)介紹 3.1 系統(tǒng)結(jié)構介紹 本設計選用 FPGA 其中嵌入NIOS II 的方式實現(xiàn)擴頻收發(fā)機。擴頻收發(fā)機系統(tǒng)FPGA 整體框圖如下: FPGA 選用Altera 公司的EP1C20Q240C8,嵌入處理器選用NIOS II 標準型,可以達到200DMIPS 的性能。8M 的SRAM 緩存上位機與FPGA 的交換數(shù)據(jù),32M 的FLASH 用于存儲NIOS II 的軟件代碼和要保存的數(shù)據(jù)。EPCS4 是ALTERA 專用的存儲器,存儲FPGA 的配置文件。上位機可通過UART 和以太口向設備傳輸數(shù)據(jù),而JTAG UART 則可以使FPGA在線編程,不斷更新硬件,提供方便實用的升級方案。LCD 和鍵盤構成人機界面。接收發(fā)送模塊用于完成擴頻解擴的算法,另外系統(tǒng)還包括必要的I/O 以及指示燈。 3.2 系統(tǒng)設計分析 本系統(tǒng)使用這樣的方案,是根據(jù) NIOS II 的特點決定的。首先,NIOS II 具有可裁減,可搭建的特點,可以向片外提供多種且多個接口,提供的種類完全由設計者決定。因此本方案提供了串口,以太口,LCD 接口,鍵盤接口,存儲器接口等。如果在其它環(huán)境應用需要別的接口,只需要再向NIOS II 添加即可,不用改換處理器芯片,大大增加系統(tǒng)靈活性。其次,在單片 FPGA 上進行開發(fā),避免多個芯片(如DSP)協(xié)同開發(fā)的麻煩,降低了開發(fā)難度,同時降低了調(diào)試難度。特別是FPGA 所自帶的JTAG UART 口可以實現(xiàn)用戶的硬件升級,大大增加產(chǎn)品的生命周期。 3.3 主要模塊介紹 收發(fā)通道:將計算機上的文件通過標準串口存儲到SRAM,根據(jù)人機界面的指示NIOSII 將SRAM 的數(shù)據(jù)讀出,并在NIOS II 的控制下進入發(fā)送通道。在發(fā)送通道中,首先將數(shù)據(jù)進行必要的組幀,擴頻(擴頻碼由人機界面設定的偽碼提供),通過成型濾波器消去碼間串擾,最后進行BPSK 調(diào)制發(fā)送到射頻模塊。框圖如下: 接收通道:數(shù)字信號進入接收通道。在接收通道中,首先進行數(shù)字下變頻,然后通過匹配濾波器(根據(jù)人機界面設定的擴頻碼選擇相應的匹配濾波長度),最后經(jīng)過載波跟蹤環(huán)路和碼跟蹤環(huán)路(在NIOS II 上編程完成)解調(diào)解擴數(shù)據(jù),按照設定輸出給電腦或者存入flash。 人機界面: 由系統(tǒng)提供的鍵盤和液晶顯示器可以根據(jù)用戶的要求配置系統(tǒng),并將設置結(jié)果和必要的系統(tǒng)信息反映給用戶。配置的內(nèi)容包括: 是否將數(shù)據(jù)保存到 flash。 設置并提供擴頻碼,同時在接收端根據(jù)設置進行可變長度的匹配濾波。 調(diào)整載波跟蹤環(huán)中環(huán)路參數(shù),以不同的策略進行跟蹤。 液晶顯示器可以根據(jù)以上配置提供的信息來顯示給用戶。 3.4 軟件實現(xiàn)部分: 載波跟蹤環(huán)和碼跟蹤環(huán)由于控制比較復雜,運算比較多而實時性要求不高所以采用NIOS II 上軟件來實現(xiàn)。流程如下: 載波的環(huán)路濾波器輸入是上級的頻差信號,同時根據(jù)NIOS II 的輸入來調(diào)整環(huán)路參數(shù),采用不同的跟蹤策略。輸出頻率控制字給NCO。下圖說明頻差的變化以及數(shù)字下變頻前后信號的變化。 上圖是在modelsim5.7 上的布線后仿真圖,第一個信號是頻差,第二個信號是未下變頻的信號,第三個信號是下變頻以后的信號。由圖可見頻差在不斷縮小變成零,下變頻信號最后頻率消失,同步成為一條直線。 4 結(jié)束語: 本方案采用SOPC 的概念實現(xiàn)擴頻收發(fā)機,較之傳統(tǒng)的FPGA+DSP 方案,新的嵌入式方案降低了硬件復雜度,增強了系統(tǒng)的靈活性,降低了開發(fā)成本和調(diào)試難度,使用戶高效快速的搭建系統(tǒng)。可以想象,在不久的將來,SOPC 技術將成為嵌入式發(fā)展的先鋒。 本文的創(chuàng)新點:詳細說明了一款基于SOPC 技術的直序擴頻收發(fā)機中頻模塊設計方案。該系統(tǒng)以一片F(xiàn)PGA 其中嵌入軟核的方式完成系統(tǒng)全部功能,提高系統(tǒng)可靠性,大大增加了系統(tǒng)靈活性,提高了擴展性。 |