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