新聞中心

EEPW首頁 > 模擬技術(shù) > 設計應用 > 基于C8051F060單片機控制AD9833實現(xiàn)FSK調(diào)制

基于C8051F060單片機控制AD9833實現(xiàn)FSK調(diào)制

作者:西安石油大學井下測控研究所 王慧梅 周 靜 時間:2008-09-24 來源:中電網(wǎng) 收藏

  引言 

  在數(shù)字信息傳輸中,基帶通常要經(jīng)過調(diào)制,將頻率搬移到適合信息傳輸?shù)念l段上。2FSK就是用去調(diào)制載波的頻率(移頻鍵控),由于它具有方法簡單、易于實現(xiàn)、抗噪聲和抗衰落性能較強等優(yōu)點,因此在現(xiàn)代數(shù)字通信系統(tǒng)的低、中速數(shù)據(jù)傳輸中得到了廣泛應用。

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

  直接數(shù)字頻率合成技術(shù)()將先進的數(shù)字處理技術(shù)與方法引入信號合成領域。器件采用高速數(shù)字電路和高速D/A轉(zhuǎn)換技術(shù),具備頻率轉(zhuǎn)換時間短、頻率分辨率高、頻率穩(wěn)定度高、輸出信號頻率和相位可快速程控切換等優(yōu)點,可以實現(xiàn)對信號的全數(shù)字式調(diào)制。

  芯片——AD9833的介紹

  AD9833是一塊完全集成的DDS芯片,僅需要1個外部參考時鐘、1個低精度電阻器和一些解耦電容器就能產(chǎn)生高達12.5MHz的正弦波。除了產(chǎn)生射頻信號外,該電路還廣泛應用于各種調(diào)制解調(diào)方案,這些方案全都用在了數(shù)字領域。

  AD9833的內(nèi)部電路包括數(shù)字器件和模擬器件兩部分。主要由相位累加器(由加法器和相位寄存器組成)、ROM波形查詢表、數(shù)模轉(zhuǎn)換器DAC和低通濾波器LPF構(gòu)成。AD9833的基本結(jié)構(gòu)原理如圖1所示。其中M為頻率控制字、FMCLK為時鐘頻率,相位累加器在時鐘FMCLK的控制下以步長M作累加,相位寄存器的輸出與相位控制字相加后輸入到正弦查詢表地址中。正弦查詢表包含1個周期正弦波的數(shù)字幅度信息,每個地址對應正弦波中0°~360°范圍內(nèi)的1個相位點。查詢表把輸入的地址相位信息映射成正弦波幅度的數(shù)字量信號S(n),經(jīng)D/A轉(zhuǎn)化器變成階梯波S(t),再經(jīng)低通濾波器平滑后就可得到合成的信號波形。其形狀取決于波形ROM中存放的幅碼,因此用DDS可以產(chǎn)生任意波形。輸出正弦波頻率為:fOUT=M(fMCK/228),其中,M為頻率控制字,由外部編程給定,其范圍為0≤M≤228-1 。

  硬件電路連接

  本設計用Silicon Labs公司推出的完全集成的混合信號片上系統(tǒng)C8051F060來控制AD9833,C8051F060有大量的數(shù)字資源需要通過4個低端I/O端口P0、P1、P2和P3才能使用。P0、P1、P2和P3的每個引腳既可定義為通用的端口I/O引腳,又可以分配給一個數(shù)字外設或功能(例如:UART0或INT1)。不管引腳被分配給一個數(shù)字外設或是作為通用I/O,總是可以通過讀相應的數(shù)據(jù)寄存器得到端口I/O引腳的狀態(tài)。

  AD9833與單片機C8051F060連接時,使用單片機的3個I/O口和AD9833連接。FSYNC(控制輸入,低電平有效)與單片機的可編程管腳P0.7連接,SCLK(串行時鐘輸入)與可編程管腳P0.4連接,SDATA(串行數(shù)據(jù)輸入)與可編程管腳P0.5連接。三個可編程管腳都可用軟件編程實現(xiàn)數(shù)據(jù)的傳送。硬件電路連接如圖2所示,單片機產(chǎn)生控制信號和波形參數(shù),通過串行接口將數(shù)據(jù)傳送到AD9833,經(jīng)AD9833輸出的正弦波信號再經(jīng)低通濾波后輸出。

  軟件控制

  寫數(shù)據(jù)到控制寄存器

  單片機傳送數(shù)據(jù)到AD9833的時序如圖3所示:FSYNC引腳是使能引腳,電平觸發(fā)方式,低電平有效。進行串行數(shù)據(jù)傳輸時,F(xiàn)SYNC 引腳必須置低,這種情況下,16個SCLK的下降沿數(shù)據(jù)被送到AD9833的輸入移位寄存器。在第16個SCLK的下降沿FSYNC可以被置高,當然,也可以連續(xù)加載多個16位數(shù)據(jù),僅在最后一個數(shù)據(jù)的第16個SCLK的下降沿時將FSYNC置高。需要注意的是,在FSYNC開始變?yōu)榈颓埃磳㈤_始寫數(shù)據(jù)時)),SCLK必須為高電平。

  單片機寫16位數(shù)據(jù)到AD9833時,高位在前,低位在后。用軟件模擬時鐘信號和片選信號。傳送數(shù)據(jù)的程序如下:

  SCLK =1; //時鐘信號

  FSYNC=1;

  Delay(100) ; 延時子程序

  FSYNC=0; //片選有效

  for(i=0;i<16;i++)

  { SDATA=datas&0x8000;

  SCLK=0; //時鐘信號下降沿數(shù)據(jù)送入I/O口。

  Delay(50) ;

  SCLK=1;

  datas=datas<<1; //16位數(shù)據(jù)從高位到低位送入

  }

  Delay(50) ;

  FSYNC=1;

  SCLK=0;

  數(shù)據(jù)寫入方式

  設置控制寄存器中的D15D14=00,表示數(shù)據(jù)寫入控制寄存器;設置B28(D13)=1,表示28位數(shù)據(jù)可以連續(xù)寫入頻率寄存器,默認先寫入低14位頻率字,再連續(xù)寫入高14位頻率字到頻率寄存器中;設置B28(D13)=0,表示28位數(shù)據(jù)分兩次寫入頻率寄存器,此時配合 HLB 的值使用(當HLB=1時允許高14位頻率字寫入到頻率寄存器,當HLB=0時允許低14位頻率字寫入到頻率寄存器)。因此寫入到控制寄存器的數(shù)據(jù)可為:0010 0000 0000 0000,表示設置連續(xù)28位頻率字。數(shù)據(jù)寫入流程圖如圖4所示。

  選擇頻率寄存器

  由于AD9833片內(nèi)有2個頻率寄存器,即FREQ0、FREQ1,因此要確定是將頻率控制字寫入哪一個。這可通過設置 D15D14 的值來進行選擇,當D15D14=01表示14位的頻率字將寫入FREQ0;當D15D14=10表示14位的頻率字將寫入FREQ1。以輸出頻率為7230Hz為例,介紹寫入到頻率寄存器1的頻率字。

  寫入低14位數(shù)據(jù)為:1011 0110 0001 1110,表示將低14位頻率字寫入FREQ1。

  寫入高14位數(shù)據(jù)為:1000 0000 0000 1011,表示將高14位頻率字寫入FREQ1。

  主程序設計

  首先,對C8051F060單片機初始化,這包括單片機晶振初始化、端口初始化,定義控制AD9833的I/O接口及交叉開關(guān),接著初始化AD9833。當AD9833初始化時,為避免DAC產(chǎn)生虛假輸出,RESET必須置為1(RESET不會復位頻率、相位和控制寄存器),直到配置完畢,需要輸出時才將RESET置為0;RESET為0后的8-9個MCLK時鐘周期可在DAC的輸出端觀察到波形。AD9833初始化流程圖如圖5所示。然后,寫頻率寄存器0的控制字(0x2000),在進行FSK調(diào)制時,AD9833的兩個頻率寄存器裝載不同的頻率值,本實驗中,頻率寄存器0裝載低頻率6830Hz,頻率寄存器1裝載高頻率7230Hz,通過設置AD9833的控制寄存器的FSELECT位來選擇頻率寄存器。主程序流程如圖6所示。




 實驗結(jié)果

  在示波器上能觀測到FSK調(diào)制信號,為方便截圖,設置頻率為7230Hz的正弦信號在示波器上進行觀察,圖7是頻率為7230Hz的正弦信號經(jīng)過低通濾波之后的頻譜圖。由圖7可以看出,實際輸出頻率為7.22985Hz。圖8是對應的時域圖形。

  結(jié)論

  本實驗中設計的FSK調(diào)制信號,在工程中有較強的實用價值,已成功應用于井下聲波傳輸系統(tǒng)中。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉