新聞中心

EEPW首頁(yè) > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 一種擴(kuò)頻通信調(diào)制器的FPGA設(shè)計(jì)與仿真

一種擴(kuò)頻通信調(diào)制器的FPGA設(shè)計(jì)與仿真

作者:中國(guó)西南電子技術(shù)研究所 李虎 時(shí)間:2008-08-27 來(lái)源:今日電子 收藏

  近年來(lái),隨著經(jīng)濟(jì)的高速增長(zhǎng),無(wú)線通信得到了飛速地發(fā)展。由于擴(kuò)展頻譜信號(hào)具有抗干擾、保密、抗偵破和抗衰落等特點(diǎn),擴(kuò)頻通信在軍事無(wú)線通信領(lǐng)域(如測(cè)控通信)中被廣泛應(yīng)用;隨著技術(shù)的成熟及成本的降低,其在民用通信市場(chǎng)上具有更廣大的發(fā)展前景。

本文引用地址:http://www.butianyuan.cn/article/87437.htm

  本文首先介紹了的設(shè)計(jì)思想及流程,然后以一種擴(kuò)頻通信調(diào)為例,描述了如何實(shí)現(xiàn)自頂向下的設(shè)計(jì):包括調(diào)的頂層設(shè)計(jì)、劃分的下一層基本單元的設(shè)計(jì)等,并重點(diǎn)分析了基本單元之一的產(chǎn)生器的設(shè)計(jì)實(shí)現(xiàn)及驗(yàn)證過(guò)程。

  設(shè)計(jì)方法簡(jiǎn)介

  技術(shù)的飛速發(fā)展,對(duì)國(guó)內(nèi)的電子設(shè)計(jì)工程師提出了嚴(yán)峻的挑戰(zhàn),以往傳統(tǒng)的設(shè)計(jì)方法,如單純的原理圖輸入方法,已很難滿(mǎn)足目前的要求。設(shè)計(jì)人員必須采用高水準(zhǔn)的設(shè)計(jì)工具,如硬件描述語(yǔ)言(Verilog HDL)或語(yǔ)言與原理圖結(jié)合來(lái)進(jìn)行設(shè)計(jì)。

  1 FPGA的設(shè)計(jì)思想

  FPGA的設(shè)計(jì)思想一般采用自頂向下(Top-down)的設(shè)計(jì),自頂向下的設(shè)計(jì)是從系統(tǒng)級(jí)開(kāi)始的,把系統(tǒng)化分為基本單元,然后再把每個(gè)單元?jiǎng)澐譃橄乱粚哟蔚幕締卧?,一直這樣做下去,直到可以直接用EDA元件庫(kù)里的元件來(lái)實(shí)現(xiàn)為止。

  2  FPGA的設(shè)計(jì)流程

  FPGA器件的設(shè)計(jì)一般可分為設(shè)計(jì)輸入、設(shè)計(jì)實(shí)現(xiàn)和編程三個(gè)設(shè)計(jì)步驟及相應(yīng)的功能、時(shí)序和器件測(cè)試三個(gè)設(shè)計(jì)驗(yàn)證過(guò)程。

  設(shè)計(jì)輸入:設(shè)計(jì)輸入有多種方式,目前最常用的有電路圖和硬件描述語(yǔ)言?xún)煞N。對(duì)于簡(jiǎn)單的設(shè)計(jì),可采用原理圖或ABEL語(yǔ)言設(shè)計(jì)。對(duì)于復(fù)雜的設(shè)計(jì),可采用原理圖或行為描述語(yǔ)言(如VHDL語(yǔ)言),或者兩者混用,采用層次化設(shè)計(jì)方法,分模塊、分層次的進(jìn)行描述。軟件在設(shè)計(jì)輸入時(shí),會(huì)檢查語(yǔ)法錯(cuò)誤,生成網(wǎng)表文件,供設(shè)計(jì)實(shí)現(xiàn)和設(shè)計(jì)校驗(yàn)用。

  設(shè)計(jì)實(shí)現(xiàn):設(shè)計(jì)實(shí)現(xiàn)是指從設(shè)計(jì)輸入文件到位流文件的編譯過(guò)程。在該過(guò)程中,編譯軟件自動(dòng)地對(duì)設(shè)計(jì)文件進(jìn)行綜合、優(yōu)化,并針對(duì)所選中的器件進(jìn)行映射、布局、布線,產(chǎn)生相應(yīng)的位流數(shù)據(jù)文件。

  器件編程:器件編程就是將位流數(shù)據(jù)文件配置到相應(yīng)的FPGA器件中。

  設(shè)計(jì)校驗(yàn):對(duì)應(yīng)于設(shè)計(jì)輸入、設(shè)計(jì)實(shí)現(xiàn)和器件編程的功能仿真、時(shí)序仿真、器件測(cè)試組成設(shè)計(jì)驗(yàn)證的三個(gè)部分。功能仿真驗(yàn)證設(shè)計(jì)的功能邏輯,在設(shè)計(jì)輸入過(guò)程中,對(duì)部分功能或整個(gè)設(shè)計(jì)均可進(jìn)行仿真。完成設(shè)計(jì)實(shí)現(xiàn)后進(jìn)行時(shí)序仿真,針對(duì)器件的布局、布線方案進(jìn)行時(shí)延仿真,分析定時(shí)關(guān)系。器件測(cè)試是在器件編程完成后進(jìn)行,通過(guò)實(shí)驗(yàn)或借助于測(cè)試工具,測(cè)試器件最終功能和性能指標(biāo)。

  的FPGA設(shè)計(jì)

  本文介紹的一種制器,常應(yīng)用于測(cè)控通信領(lǐng)域。其信號(hào)形式是I、Q兩路正交信道上分別傳送擴(kuò)頻指令和測(cè)距碼,采用UQPSK調(diào)制,I、Q兩路的功率比為10:1,其信號(hào)的數(shù)學(xué)表達(dá)式如下:

      (1)
  式中:ω為載波頻率; PT為信號(hào)總功率;c(t)為指令碼;PNI為指令信道;PNQ為測(cè)距信道。PNI是碼長(zhǎng)為210-1=1023的Gold碼,短碼;PNQ是碼長(zhǎng)為218-28=261 888的18級(jí)截短碼,長(zhǎng)碼;長(zhǎng)短碼長(zhǎng)之比為256。要求兩種碼起始同步,即當(dāng)長(zhǎng)碼發(fā)生器經(jīng)過(guò)全“1”狀態(tài)時(shí),短碼發(fā)生器也經(jīng)過(guò)它的全“1”狀態(tài)。

  1 制器的頂層設(shè)計(jì)


圖1 擴(kuò)頻調(diào)制器實(shí)現(xiàn)框圖

  擴(kuò)頻調(diào)制器的實(shí)現(xiàn)如圖1所示。FPGA的頂層設(shè)計(jì)見(jiàn)圖1的虛框部分,包括信息碼產(chǎn)生器及寄存器、碼鐘及PN碼產(chǎn)生器、載波產(chǎn)生器、0/π調(diào)制模塊等基本單元。下面以PN碼產(chǎn)生器為例介紹基本單元的設(shè)計(jì)。

  2 基本單元的設(shè)計(jì)


圖2  兩路PN碼的初步設(shè)計(jì)圖

  PN碼產(chǎn)生器包括兩種:碼長(zhǎng)分別為1023位的碼產(chǎn)生器及261 888位的截短碼產(chǎn)生器,初步的設(shè)計(jì)如圖2所示,PNMZ為碼鐘,產(chǎn)生RESET信號(hào)同時(shí)復(fù)位長(zhǎng)、短碼產(chǎn)生器。

  Gold碼由兩路小M序列異或組成,下面介紹210-1位碼產(chǎn)生器的設(shè)計(jì):
  PN碼的本原多項(xiàng)式為:
 ?。?)
           (3)

  初相  A:0010011100
         B:1001001000


圖3  210-1位PN碼發(fā)生器的FPGA設(shè)計(jì)圖

  210-1位PN碼產(chǎn)生器的FPGA設(shè)計(jì)如圖3所示。pnmz為碼鐘輸入端;pnm_reset為PN碼的復(fù)位端;pnm為碼輸出端;q1為碼全“1”信號(hào)輸出端。當(dāng)復(fù)位脈沖信號(hào)來(lái)到后,移位寄存器在碼鐘推動(dòng)下從設(shè)定的初值開(kāi)始左移,左移移位寄存器的高位先出,產(chǎn)生小M序列。兩路小M序列異或產(chǎn)生PN碼。兩路比較器產(chǎn)生的信號(hào)相與后輸出全“1”信號(hào)。PN碼產(chǎn)生器劃分成的下一級(jí)基本單元,包括移位寄存器、比較器、與門(mén)、異或門(mén),都可以直接用EDA元件庫(kù)里的元件。

  擴(kuò)頻調(diào)制器的FPGA仿真


圖4 兩路PN碼的功能仿真圖


圖5 兩路PN碼的時(shí)序仿真圖

  工程上,F(xiàn)PGA的仿真類(lèi)型可分為功能仿真和時(shí)序仿真(或稱(chēng)前仿真和后仿真)。功能仿真是未經(jīng)布線和適配之前,使用原始設(shè)計(jì)綜合之后的文件進(jìn)行仿真。時(shí)序仿真,即將FPGA設(shè)計(jì)綜合之后,再由FPGA適配器(完成芯片內(nèi)自動(dòng)布線等功能)映射于具體芯片后得到的文件進(jìn)行仿真。

  本文選用QuartusII3.0集成的仿真工具進(jìn)行波形仿真。對(duì)設(shè)計(jì)的主要模塊在通過(guò)綜合之后,首先進(jìn)行功能仿真,驗(yàn)證原始設(shè)計(jì)的正確性,驗(yàn)證設(shè)計(jì)結(jié)果的邏輯功能是否符合原始規(guī)定的邏輯功能。通過(guò)功能仿真之后,在設(shè)計(jì)中考慮器件延時(shí)后,再進(jìn)行布局布線后的仿真,通過(guò)觀察波形和數(shù)據(jù),可驗(yàn)證是否能滿(mǎn)足時(shí)序要求,是否能得到預(yù)期的值。

  在設(shè)計(jì)過(guò)程中,作者針對(duì)主要的電路模塊進(jìn)行了仿真,包括:PN碼產(chǎn)生器、信息注入電路、并/串轉(zhuǎn)換電路等。下面介紹擴(kuò)頻調(diào)制器兩路PN碼產(chǎn)生器的仿真及設(shè)計(jì)改進(jìn)過(guò)程。

  1 PN碼產(chǎn)生器的功能仿真

  擴(kuò)頻調(diào)制器的兩路PN碼產(chǎn)生器,I路短碼的初相是“10,1101,0100”,Q路長(zhǎng)碼的初相“00,0010,0000,1010,0100”(碼初相指兩路小M序列初相異或后的初值)。初始的設(shè)計(jì)見(jiàn)圖3。對(duì)設(shè)計(jì)綜合過(guò)后,進(jìn)行功能仿真。仿真結(jié)果說(shuō)明:兩路PN碼起始同步,PNI起始相位:10,1101,0100;PNQ起始相位:00,0010,0000,1010,0100。原始設(shè)計(jì)符合要求。仿真結(jié)果如圖4所示。(PNMZ為碼鐘;RESET為復(fù)位信號(hào);PNI、PNQ為I、Q兩路PN碼;QUANI、QIANQ為I、Q兩路PN碼全“1”信號(hào)。)

  2 PN碼產(chǎn)生器的時(shí)序仿真

  通過(guò)功能仿真之后,對(duì)設(shè)計(jì)進(jìn)行布局布線編譯,然后進(jìn)行時(shí)序仿真。發(fā)現(xiàn)可能會(huì)在PN碼序列中產(chǎn)生毛刺信號(hào),并通過(guò)多次仿真發(fā)現(xiàn)復(fù)位信號(hào)也可能產(chǎn)生毛刺信號(hào),導(dǎo)致I、Q兩路信號(hào)起始不同步,如圖5所示。


圖6  改進(jìn)后的兩路PN碼設(shè)計(jì)圖


圖7  改進(jìn)后的PN碼時(shí)序仿真圖

  作者對(duì)電路進(jìn)行改進(jìn),將復(fù)位信號(hào)、PN碼信號(hào)、全“1”信號(hào)上加上D觸發(fā)器,用碼鐘打一次,消除電路毛刺。改進(jìn)后的電路如圖6所示。

  再次進(jìn)行時(shí)序仿真,發(fā)現(xiàn)毛刺消除,PN碼產(chǎn)生正常,說(shuō)明兩路PN碼電路設(shè)計(jì)正確,可以作為經(jīng)驗(yàn)證的基本單元加入擴(kuò)頻調(diào)制器的FPGA設(shè)計(jì)。

  結(jié)束語(yǔ)

  本文介紹了一種擴(kuò)頻通信調(diào)制器的FPGA設(shè)計(jì)實(shí)現(xiàn)方法,著重說(shuō)明了PN碼產(chǎn)生器的設(shè)計(jì)仿真過(guò)程,形象地闡述了FPGA自頂向下的設(shè)計(jì)思想及詳盡的設(shè)計(jì)流程。FPGA在無(wú)線通信工程領(lǐng)域的應(yīng)用已非常普遍,掌握一種好的設(shè)計(jì)方法對(duì)電子設(shè)計(jì)師們很重要,希望本文對(duì)讀者有所幫助。



評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉