基于直接數字頻率合成的可編程遙測信號源
在FPGA中,首先接收到外部的按鍵信息,按鍵狀態或數據模塊被觸發,根據該模塊提供的信息,在相位、頻率控制模塊內,對相應的寄存器(preq0,fdreq0,fhreq0)進行賦值,完成相位及頻率控制字的配置,并輸入到SPI模塊,通過SPI模塊進行SPI協議輸出給AD9833,控制輸出必須滿足AD9833的時序控制,時序如圖4所示。本文引用地址:http://www.104case.com/article/190325.htm
在串行時鐘輸入SCLK(spiclk)的控制下,SCLK為高,使能信號FSYNC(spics)為低時,SDATA(spido)輸出)開始輸入數據,數據以16位字的形式寫入AD9833。FSYNC可以在多組16個SCLK脈沖期間保持低電平,傳輸連續的16位字流,等到數據傳輸完畢后在最后一個字的第16個SCLK下降沿變高。
2.3 遙測信號源的軟件控制字
對于靈活可配置,通用性強的遙測信號源來說,其頻率、波形等參數的實時變化是必不可少的。而系統要實現這些參數的實時變化,就必須將控制字進行相應的改變。如正弦波的控制字為十六進制數0008,三角波的控制字為十六進制數000A,方波的控制字十六進制數0028。
由AD9833模擬輸出頻率的計算公式(參考式(1))可知,如果采用20 MHz的晶振作為AD9833的主頻時鐘來輸出10 kHz的正弦波信號,則可計算出頻率字FREQREG的十六進制數為20C49,如果軟件設計時選用AD9833的頻率寄存器0和相位寄存器0,則加上寄存器標識后,FPGA寫入AD98 33的頻率字高位十六進制數為4008,低位十六進制數為4C49。在給頻率寄存器寫入數據前,若給控制寄存器寫入十六進制數2000,則可將頻率寄存器設置成完整的28位來使用,若給寫入十六進制數0000,則頻率寄存器可以作為兩個14位寄存器來使用。相位字可根據式(2)來計算。當相位偏移為0°時,相位字PHASEREC為十六進制數D000(相位寄存器的標示為1101);相位偏移為180°時,相位字PHASEREC為十六進制數D800。
模擬信號相關文章:什么是模擬信號
交換機相關文章:交換機工作原理
評論