北方工業(yè)大學電子信息工程學院 李亞舟 張新燕 劉秋平 王恩成
?
基于CDCE906的頻率合成器
北方工業(yè)大學電子信息工程學院李亞舟張新燕劉秋平王恩成
【摘要】本文主要是介紹了一種利用單片機控制的頻率合成芯片CDCE906。其中芯片的頻率變化是通過單片機利用IIC總線技術將控制數(shù)據(jù)發(fā)送到CDCE906芯片寄存器內(nèi),進而頻率合成芯片輸出相對應的頻率值。
【關鍵詞】CDCE906;頻率合成;單片機
隨著通信技術、測量技術、航天航空技術的迅速發(fā)展,人們對于振蕩信號源的要求不斷提高。頻率合成技術便是其中的關鍵技術之一。利用該技術搭建的電路成為頻率合成器。頻率合成器是利用一個或多個信號,通過各種技術途徑產(chǎn)生大量離散頻率信號的設備。按照頻率產(chǎn)生機理可將其分為:直接模擬合成法、鎖相環(huán)合成法以及直接數(shù)字合成法。直接模擬頻率合成法是利用一個或是多個不同晶體振蕩器作為基準信號源,經(jīng)過倍頻、分頻、混頻等方式直接產(chǎn)生多個頻率的輸出信號。鎖相環(huán)合成法是通過鎖相環(huán)進行加、減、乘、除等運算方式,產(chǎn)生所需的頻率輸出信號。直接數(shù)字合成法是直接以離散時間的方式產(chǎn)生信號,通過改變幅度、頻率和相位的方式進行頻率合成。本文主要利用鎖相環(huán)合成法來實現(xiàn)頻率合成器,通過使用單片機控制可編程時鐘乘法器CDCE906產(chǎn)生不同的頻率信號。
1.1硬件電路部分
利用STC12LE5204AD單片機控制CDCE906產(chǎn)生頻率信號的硬件電路原理圖如圖1所示??删幊虝r鐘乘法器CDCE906具有IIC接口,便可采用單片機與CDCE906通過IIC總線協(xié)議進行通信,不具有SDA、SCL管腳的STC12LE5204AD單片機芯片,可在程序內(nèi)部對其進行定義,本設計中將單片機的P1.1、P1.2管腳分別定義為SCL、SDA管腳。單片機與CDCE906均采用3.3V電壓供電,單片機選擇11.0592MHz的晶振,CDCE906則選擇10MHz的晶振。
圖1 單片機與CDCE906連接的硬件電路原理圖
1.2CDCE906簡介
可編程時鐘乘法器CDCE906是基于鎖相環(huán)(PLL)模塊的頻率合成芯片,其內(nèi)部包含3個PLL模塊,只需一個信號源,便可產(chǎn)生6路輸出,且每路的輸出信號可根據(jù)3組PLL在線編程實現(xiàn),最高輸出頻率可達167MHz。其輸入信號可以是時鐘晶振信號、單端LVCMOS信號或是差分輸入信號。時鐘晶振的頻率范圍為8MHz到54MHz,而單端LVCMOS號和差分輸入信號可達到167MHz。本文中采用的外接晶振時鐘信號,而外接晶振時鐘信號一般需加負載電容,如圖1中的電容C1、C2,為產(chǎn)生穩(wěn)定的輸出頻率,C1、C2均取值18pF。
2.1IIC總線協(xié)議
單片機與CDCE906通信采用IIC總線協(xié)議,IIC總線是由數(shù)據(jù)線SDA和時鐘線兩條線構成通信線路,既可發(fā)送數(shù)據(jù),也可接收數(shù)據(jù)。在CPU與被控IC之間、IC與IC之間都可以進行雙向傳送,最高傳送速率可達到400kpbs,各種被控器件均并聯(lián)在這條總線上,單每個被控器件都有唯一的地址。在信息傳輸過程中,IIC總線上并聯(lián)的每一個器件既是主控器(或被控器),又是接收器(或發(fā)送器),這由其所要完成的功能決定。CPU發(fā)出的控制信號分為地址碼和數(shù)據(jù)碼兩部分,地址碼由于選址,即接通需要控制的電路,數(shù)據(jù)碼是通信內(nèi)容,這樣各控制電路雖在同一條總線上,卻又彼此獨立,互不相干。
IIC總線在傳輸數(shù)據(jù)的過程中,共用3中類型信號,分為是:開始信號、應答信號和結束信號。
2.2CDCE906控制指令
利用IIC總線協(xié)議控制器件時,每個器件都有自己的控制指令格式,需按照規(guī)定的指令格式才能實現(xiàn)正常通訊。
CDCE906包含兩種操作方式:字節(jié)寫(Byte Write)與塊寫(Block Write)。CDCE906的所有字節(jié)均有缺省值,如果只需修改其中的少數(shù)幾個地址,不連續(xù)的字節(jié)便可以獲得多要的結果,建議使用字節(jié)寫方式。如果需要改動多數(shù)字節(jié),塊寫方式就更為方便。本文采用的是字節(jié)寫方式對相應的字節(jié)進行修改。
CDCE906字節(jié)寫方式的通信協(xié)議如圖2所示。其中S表示開始條件,Slave Address為將要寫入芯片的地址, 通過S0、S1控制管腳設置芯片的地址,就可以實現(xiàn)單片機對相對應的CDCE906芯片進行讀寫操作。Wr=1表示單片機對芯片進行寫操作。CommandCode的最高位為0時,芯片通信方式為塊讀寫方式,最高位為1時,芯片通信方式為字節(jié)讀寫方式,CommandCode的低7為讀寫字節(jié)的偏移地址。在對CDCE906進行寫操作時,都是從低字節(jié)向高字節(jié)寫,寫完之后芯片會回饋一個應答信號ACK,寫入為低,未寫入高。
圖2 CDCE906字節(jié)寫方式通信協(xié)議
CDCE906中控制管腳S0、S1分別控制芯片是否處于休眠狀態(tài)、輸出端是否被禁止,且二者均是低電平有效。而當CDCE906的第10B的低4位全部置為1的時候,S0、S1就成為了芯片的地址選擇管腳。本文中只是對單個CDCE906的應用,所以第10B的低4位使用默認缺省值0000,Slave Address使用缺省值11010010,將S0、S1管腳置高,即在圖1電路中所顯示的,將S0、S1均接3.3V電壓,以保證其始終為高電平。
2.3控制寄存器值的計算
在給定輸入頻率(本文采用的是CDCE906芯片的晶振的頻率),CDCD906芯片的輸出頻率可通過公式(1)計算得:
其中M、N是PLL的乘法器/除法器的值;P是鎖相環(huán)輸出的分頻因子,并且。M、N、P的取值范圍分別是1~511、0~4095、1~127。
圖3 單片機控制CDCE906芯片的程序流程圖
2.4控制程序的設計
單片機控制CDCE906芯片(如圖3所示)的程序流程圖如圖3所示,單片機與CDCE906芯片是通過IIC協(xié)議實現(xiàn)通信的,可以利用單片機控制CDCE906內(nèi)部PLL的M、N、P的值,得到不同頻率的方波信號。
由于本文中選用的STC12LE5204AD單片機芯片沒有IIC接口,所以需要自定義,
即sbit SDA = P1^2; sbit SCL = P1^1。
將程序下載到單片機之后,再給單片機和CDCE906同時供電,通過示波器就可以觀察大清晰的輸出波形——方波,利用單片機改變CDCE906寄存器內(nèi)的M、N、P值,就可以得到相對應的輸出頻率,也可以將M、N、P設置為變量,使CDCE906輸出頻率掃描信號。
參考文獻
[1]王子劍,徐釗,房咪咪,等.基于電駐波的錨桿長度測量儀設計[J].煤礦安全,2012,43(9):111-113.
[2]徐釗,房咪咪,周紅偉,等.基于電駐波的錨桿長度無損測方法[J].工礦自動化,2013,39(9):112-115.
[3]趙博,李林,姬紅兵.CDCE906倍頻性能分析[A].西安電子科技大學,2011.
[4]楊立永,楊日杰,董云龍.基于CDCE949的可控頻率源設計與實現(xiàn)[J].電子設計工程,vol.9,no.5,2011.
[5]楊勇,張東方,王運生.錨桿錨固質量無損檢測理論研究與應用[J].工程地球物理學報,2010(3).
[6]任雷,林巖,張干沫陽.基于CPLD的OMAP-L137 與ADS1178數(shù)據(jù)通信設計[J].單片機與嵌入式系統(tǒng)應用,2009,8:26-28.
[7]張厥盛,曹麗娜.鎖相與頻率合成技術[M].成都:電子科技大學出版社,1995.