基于FPGA的無(wú)線(xiàn)同播頻率校準裝置的設計
2.2 脈沖計時(shí)模塊設計
脈沖計時(shí)模塊接口信號包括:級別輸入level[2∶0]、開(kāi)始計數輸入auto_reset、判斷輸出judge[1∶0]、讀指令輸出read,還有輸入時(shí)鐘fre_in和復位使能reset,模塊內部設寄存器clk_add[32∶0],用于脈沖計數。模塊的狀態(tài)包括idle、calculate、judgment和readtime,狀態(tài)機如圖3所示。本文引用地址:http://dyxdggzs.com/article/191781.htm
其具體工作過(guò)程為:
(1)狀態(tài)為idle時(shí),read置0,clk add[32∶0]清空,讀入level值。Level是計數判斷的基準,必須在計數前讀入。
(2)當收到auto_reset為高電平,狀態(tài)從idle轉至calculate開(kāi)始脈沖計數。由于計數的頻率同時(shí)是FPGA的工作頻率,所以clk_add[32∶0]只需在calculate狀態(tài)下每個(gè)時(shí)鐘累加一次。
(3)auto_reset變?yōu)榈蜁r(shí),狀態(tài)轉至judgment,將clk_add[32∶0]與所在級別的上下限對比,將結果通過(guò)judge[1∶0]輸出。
(4)狀態(tài)轉至readtime,將read置1,read信號告知分級控制模塊judge[1∶0]信號已經(jīng)更新,要求讀取,當clk_add [32∶0]等于中心脈沖數,read不置為1,表示無(wú)需改變電壓值。
(5)狀態(tài)轉回idle。
2.3 電壓控制模塊設計
電壓控制模塊的接口信號包括:級別輸入level[2∶0]、調整方向輸入step、調整輸入load、就緒輸出ready、DAC接口輸出(sync、SClk和din),還有輸入時(shí)fre_in和復位使能reset,模塊內部設寄存器data reg[23∶0]用于生成控制DAC的幀,max_24bits[4∶0]用于記錄當前是控制幀的第幾位輸出。每幀長(cháng)度為24位,控制字包括:LDB、LDA選擇寫(xiě)入通道,Buffer Select選擇寫(xiě)入的寄存器,PDl、PD0選擇輸出阻抗模式,D15~D0為16位的DAC數據。其幀結構如圖4所示。
DAC8552采用SYNC、SCLK和DIN三線(xiàn)接口控制方式,從SYNC變低時(shí)開(kāi)始寫(xiě)入,SCLK產(chǎn)生寫(xiě)時(shí)鐘,在SCLK下降沿數據被寫(xiě)入DAC8552,SYNC必須在第24個(gè)下降沿后才重新拉高,否則寫(xiě)入失敗。其時(shí)序圖如圖5所示
評論