<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > AD9857在DVB-T調(diào)制器系統(tǒng)中的應(yīng)用

          AD9857在DVB-T調(diào)制器系統(tǒng)中的應(yīng)用

          作者:西安電子科技大學(xué)ISN國(guó)家重點(diǎn)實(shí)驗(yàn)室 吳志剛 劉鵬 李兵兵 時(shí)間:2008-06-02 來(lái)源:電子技術(shù)應(yīng)用 收藏

            3.1 AD9857的配置

          本文引用地址:http://www.ex-cimer.com/article/83484.htm

            AD9857 提供了一個(gè)靈活的同步串行通信口, 從而為許多微控制器及處理器提供簡(jiǎn)單的接口。該串口可與許多同步傳輸方式兼容, 其中包括Motorola 的6905/11 SPI協(xié)議及Intel的8051 SSR 協(xié)議。這個(gè)通信接口允許對(duì)配置AD9857的所有寄存器進(jìn)行讀寫操作。

            3.2 AD9857串口通信

            AD9857串口的一個(gè)通信周期由兩個(gè)階段組成, 如圖3所示。第一階段是指令周期, 是對(duì)AD9857的指令字節(jié)的寫入。指令字節(jié)為AD9857的串口控制提供有關(guān)數(shù)據(jù)傳輸周期的信息, 數(shù)據(jù)傳輸周期就是整個(gè)通信周期的第二個(gè)階段。指令字節(jié)確定即將到來(lái)的數(shù)據(jù)傳輸是讀還是寫、數(shù)據(jù)傳輸?shù)淖止?jié)數(shù)以及傳輸?shù)牡谝粋€(gè)字節(jié)的寄存器地址。每個(gè)通信周期的前8個(gè)SCLK上升沿用來(lái)寫AD9857 的指令字節(jié), 其余SCLK上升沿是為了通訊周期的第二個(gè)階段, 即AD9857與系統(tǒng)控制器間的數(shù)據(jù)傳輸。

                 

            3.3 AD9857內(nèi)部寄存器

            AD9857內(nèi)部寄存器地址為00h~19h,每個(gè)地址存8bit數(shù)據(jù)。從02h~19h共分為4組相同結(jié)構(gòu)的寄存器,每一組6字節(jié),其中存儲(chǔ)DDS的頻率控制字,可編程插值濾波器的插值倍數(shù),輸出信號(hào)幅度的放大因子。00h和01h這兩個(gè)地址是公用的,包括對(duì)AD9857的工作模式、高低位優(yōu)先、鎖相環(huán)倍頻數(shù)、串行口工作模式、自動(dòng)節(jié)能、溢出控制處理和失鎖處理等運(yùn)行方式的設(shè)置。用戶通過對(duì)這些寄存器的設(shè)置使AD9857工作在所需要的方式下。

            4 系統(tǒng)實(shí)現(xiàn)及仿真

            4.1 硬件結(jié)構(gòu)

            由于AD9857是一個(gè)可編程的D/A上變頻芯片,因此利用單片機(jī)和都可以實(shí)現(xiàn)對(duì)它的配置。本系統(tǒng)采用實(shí)現(xiàn)調(diào)制,因此用去配置AD9857的話,不僅可以節(jié)省電路板空間,而且還比較適于調(diào)試。

            調(diào)制器的硬件實(shí)現(xiàn)框圖如圖4所示,TS碼流進(jìn)入FPGA后進(jìn)行調(diào)制,調(diào)制后的數(shù)據(jù)送入AD9857進(jìn)行中頻調(diào)制。AD9857配置成功后會(huì)產(chǎn)生一個(gè)PDCLK返回FPGA,可以使用該時(shí)鐘把經(jīng)過信道編碼調(diào)制的I、Q兩路數(shù)據(jù)送入AD9857進(jìn)行正交調(diào)制。

                

            在設(shè)計(jì)PCB電路板時(shí)一定要注意AD9857的數(shù)字地和模擬地的劃分,這樣輸出信號(hào)的信噪比才會(huì)比較好,并且要用專門的地來(lái)包裹時(shí)鐘信號(hào)線使其免受干擾。

            4.2 AD9857的配置

            通過FPGA對(duì)AD9857的配置線的控制,可以很方便地實(shí)現(xiàn)對(duì)AD9857的配置。AD9857的配置原理如圖5所示,把要寫入AD9857內(nèi)部寄存器的數(shù)據(jù)通過數(shù)據(jù)載入信號(hào)載入移位寄存器,然后再把這16bit數(shù)據(jù)串行輸出到AD9857的SDIO管腳,實(shí)現(xiàn)對(duì)AD9857的配置。

                 

            輸入到移位寄存器的16bit數(shù)據(jù)是根據(jù)實(shí)際需要提前計(jì)算好的,這16bit數(shù)據(jù)包括了8bit的AD9857內(nèi)部寄存器的地址和要寫入該地址的8bit配置字。通過一個(gè)狀態(tài)機(jī)的工作機(jī)制,在其不同狀態(tài),將要寫入AD9857內(nèi)部寄存器的配置字送入移位寄存器。狀態(tài)機(jī)的工作過程如圖6所示。

                 

            由于本方案只用了AD9857內(nèi)部的8個(gè)寄存器,因此狀態(tài)機(jī)只有8個(gè)狀態(tài),如果需要用到更多的AD9857的內(nèi)部寄存器,只需要增加狀態(tài)機(jī)的狀態(tài)即可。

            4.3 波形仿真

            圖7為用QUARTUS II軟件對(duì)AD9857配置線的波形仿真,從圖中可以很清楚地看到AD9857的各個(gè)配置線的工作情況。在配置AD9857之前,由RST信號(hào)將內(nèi)部寄存器復(fù)位;SYNCIO信號(hào)標(biāo)志配置的開始; /CS,SCLK,SDIO的控制時(shí)序與圖3的串口操作時(shí)序相同,這樣AD9857就可以工作在用戶需要的工作模式下了。

                  

            4.4 輸出信號(hào)頻譜

            圖8所示是用頻譜分析儀采集到的AD9857輸出信號(hào)的頻譜。

                 

            經(jīng)過測(cè)試,各模塊工作正常,滿足調(diào)制器的設(shè)計(jì)要求;本系統(tǒng)硬件電路簡(jiǎn)單,僅需要一個(gè)FPGA和一個(gè)AD9857即可完成調(diào)制器的設(shè)計(jì),并可通過更改FPGA的內(nèi)部電路來(lái)實(shí)現(xiàn)各種調(diào)制器的設(shè)計(jì)。

            參考文獻(xiàn)

            1 AD9857 Data Sheet. Analog Device Inc. 2000

            2 EN 300 744 V1.1.2. 1997

            3 馬紅學(xué).數(shù)字正交上AD9857.國(guó)外電子元器件, 2002;(8)

            4 許林峰,黃 麗,朱維樂.AD9857在地面數(shù)字電視廣播中的應(yīng)用.電視技術(shù),2004;(11)


          上一頁(yè) 1 2 下一頁(yè)

          關(guān)鍵詞: FPGA DVB-T COFDM 變頻器

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();