北方工業(yè)大學(xué)電子信息工程學(xué)院 張 袁 雷丁陽 馮 宇 周傳寶
可實時編程的高頻信號源設(shè)計
北方工業(yè)大學(xué)電子信息工程學(xué)院 張 袁 雷丁陽 馮 宇 周傳寶
本設(shè)計主要是利用單片機控制可編程時鐘芯片CDCE906來進行高頻信號源的設(shè)計。單片機本身沒有I2C接口,但其可以利用I2C技術(shù)用軟件模擬出I2C總線的工作時序,將控制數(shù)據(jù)發(fā)送到CDCE906的I2C接口,控制CDCE906實時發(fā)送時鐘信號,由于高頻信號會發(fā)生幅度衰減,所以通過OPA690對信號進行放大,進而達到所需目的。
CDCE906;單片機;OPA690;I2C接口
1.1 硬件電路部分
STC12C5A60S2通過軟件模擬I2C接口控制CDCE906產(chǎn)生頻率信號的硬件電路原理圖如圖1所示。STC12C5A60S2為5V單片機,CDCE906的供電電壓是3.3V,單片機在于CDCE906通信時在總線SDA和SCL上分別串聯(lián)了一個330歐的電阻以防止CDCE906被燒壞。單片機的晶振為11.0592MHZ、CDCE906的晶振為10MHZ。當頻率信號從Y0輸出時,是一個中值為1.5V的方波信號,經(jīng)電容C6濾除直流分量后經(jīng)OPA690放大,OPA690的放大倍數(shù)為2倍。
1.2 CDCE906簡介
可實時編程時鐘芯片CDCE906是德州儀器推出的一款高穩(wěn)定性時鐘乘法器,可提供60ps的低周期抖動和系統(tǒng)擴頻時鐘(SSC)技術(shù)。該器件內(nèi)部擁有3個鎖相環(huán)(PLL),可以通過單個時鐘源實現(xiàn)6路輸出。設(shè)計人員可對器件的3個電路內(nèi)鎖相環(huán)(PLL)組件進行實時編程,每路最高輸出頻率可達167MHZ。CDCE906的另一個性能提升在于其可實時編程的擴頻時鐘(SSC),不僅可以降低系統(tǒng)的電磁干擾,還可以減小對金屬外殼的依賴。
CDCE906可以接收的晶振頻率范圍為8MHZ到54MHZ,也可通過LVCMOS或者差分輸入時鐘,本設(shè)計采用的是外部晶振提供時鐘信號。設(shè)計人員可通過S1、S0、SDATA和SCLOCK 四個管腳對其進行控制。
1.3 OPA690簡介
OPA690是一種具有禁用功能的寬帶增益電壓反饋運算放大器,其使用一個新的高轉(zhuǎn)換率輸入,一個新的輸出級芯片結(jié)構(gòu)使輸出高電流占用較小的空間,這些技術(shù)結(jié)合起來提供了優(yōu)秀的單電源運放。其還具有高轉(zhuǎn)換速率(1800V/us)、高輸出電流(190mA)、高輸出功率能力、單位增益可達500MHZ、靈活的電源供電范圍(單電源電壓范圍為5V到12V,雙電源電壓范圍為±2.5V到± 5V)等特性。
2.1 I2C總線說明
圖1 信號發(fā)生器硬件電路
CDCE906通信采用的是I2C總線協(xié)議,最高傳送速率可達400kpbs。I2C總線為同步傳輸總線,它僅用兩條線就能實現(xiàn)主從設(shè)備簡單雙向通信,其中SDATA為串行數(shù)據(jù)線,負責(zé)串行數(shù)據(jù)的雙向傳輸,而另一條線則是串行時鐘線,負責(zé)發(fā)送同步時鐘信號。I2C總線一般工作在主從工作模式下,即單片機為主設(shè)備,其它掛接在I2C總線上的器件為從設(shè)備。主設(shè)備負責(zé)產(chǎn)生時鐘信號、發(fā)出啟動命令、傳輸數(shù)據(jù)、停止通信等等,從設(shè)備則完成各種通信任務(wù)。STC12C5A60S2本身沒有集成I2C總線接口模塊,但單片機只要通過軟件正確的模擬出I2C總線的工作時序,單片機就能與擁有I2C接口的器件或設(shè)備進行通信。
2.2 CDCE906控制指令說明
CDCE906擁有兩種寫操作方式,方便不同的用戶需求:一種是字節(jié)寫(Byte Write)操作,另一種是塊寫(Block Write)操作。CDCE906所有字節(jié)都有缺省值,只需改動其中少數(shù)幾個地址,不連續(xù)的字節(jié)就能獲得所需結(jié)果。如果想要修改多數(shù)字節(jié),建議使用塊寫方式,塊寫方式更為方便。本設(shè)計使用的是字節(jié)寫方式對相應(yīng)字節(jié)進行修改。
CDCE906的通信協(xié)議中S為啟始條件,Slave Address為將要寫入芯片的地址,通過S1、S0管腳控制芯片的地址,就可以實現(xiàn)單片機對相應(yīng)的CDCE906芯片進行讀寫操作。Wr為單片機對芯片進行讀寫操作,當Wr=1時表示對其進行讀操作,當Wr=0時表示對其進行寫操作。A表示應(yīng)答信號,當單片對其進行寫操作時,寫入時CDCE906會返回一個低電平,未寫入則返回高電平。CommandCode的最高位(即第8位)為塊讀寫、字節(jié)讀寫操作選擇位,當其為0時為塊讀寫操作,當其為1時為字節(jié)讀寫操作。CommandCode的低7位為讀寫字節(jié)的偏移地址。在對CDCE906進行寫操作時,都是按照從低字節(jié)到高字節(jié)的順序進行的。寫完之后CDCE906會返回一個應(yīng)答信號表示是否寫入成功。
CDCE906的S1、S0管腳為控制管腳,在缺省條件下S1控制CDCE906輸出是否被禁止,S0控制CDCE906是否處于休眠狀態(tài),二者均為低電平有效。當CDCE906的第10B的最低四位全為1時,S1、S0就成為地址選擇引腳,此時S1、S0的狀態(tài)要Slave Address的最低兩位相對應(yīng)。本設(shè)計只對單個CDCE906進行讀寫操作,所以第10B的第四位使用默認缺省值0000,Slave Address使用缺省值1101001。將S1、S0管腳始終置高,如圖1所示,S1、S0均接3.3V。
2.3 CDCE906頻率的計算
在給定晶振頻率(f)后,CDCE906的輸出頻率可以通過公式計算得到:
其中M、N是PLL的乘法器/除法器的值;P是鎖相環(huán)輸出的分頻因子。M的值要盡可能的小以優(yōu)化抖動性能,M要小于等于N(N/M>=1)。M、N、P的取值范圍為1~511、0~4095、1~127。
2.4 控制程序設(shè)計
單片機控制CDCE906輸出相應(yīng)頻率的程序流程圖如圖2所示。單片機通過改變CDCE906內(nèi)部的M、N、P的值就可以得到不同頻率的方波信號。
圖2 單片機控制CDCE906芯片的程序流程圖
將編寫好的程序通過串口下載到單片機上,再給單片機和CDCE906供電,通過示波器可以看到輸出穩(wěn)定的方波信號。再通過單片機改變CDCE906內(nèi)部的M、N、P的值,又可以得到不同的頻率信號。也可以將M、P設(shè)置為定值,通過改變N的值可使CDCE906輸出掃頻信號,信號源可應(yīng)用于多種場合。
[1]陳宏希.學(xué)練一本通:51單片機應(yīng)用技術(shù)[M].北京:電子工業(yè)出版社,2013.
[2]王子劍,徐釗,房咪咪,等.基于電駐波的錨桿長度測量儀設(shè)計[J].煤礦安全,2012,43(9):111-113.
[3]徐釗,房咪咪,周紅偉,等.基于電駐波的錨桿長度無損測量方法[J].工礦自動化,2013,39(9):112-115.
[4]趙博,李林,姬紅兵.CDCE906倍頻性能分析[A].西安電子科技大學(xué),2011.
[5]楊立永,楊日杰,董云龍.基于CDCE949的可控頻率源設(shè)計與實現(xiàn)[J].電子設(shè)計工程,vol.9,no.5,2011.
致謝:本論文由“2016年度北京市大學(xué)生科學(xué)研究與創(chuàng)業(yè)行動計劃”支持。