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

          新聞中心

          EEPW首頁 > EDA/PCB > 設計應用 > 基于FPGA的數字選頻器設計

          基于FPGA的數字選頻器設計

          作者: 時間:2012-04-17 來源:網絡 收藏

          D/A轉換芯片選用AD9779,AD9779屬于TxDAC系列高性能、低功耗CMOS數/模轉換器的第二代16b分辨率產品。所有器件都采用相同的接口選項、小型封裝和引腳排列,因而可以根據性能、分辨率和成本的要求,向上或向下兼容選擇適合的器件。AD9779提供出色的交流和直流性能,同時支持最高1000 MSPS的轉換速率。由于AD9779輸出為差分信號,故需要通過變壓器轉成單端信號。變壓器的選型需要考慮回波損耗、帶寬、平衡性等參數,此設計中變壓器選用TC1-1T。
          2.4 系統(tǒng)控制設計
          系統(tǒng)控制是由16位單片機MSP430F147來實現的,系統(tǒng)控制框圖如圖5所示。

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

          e.jpg


          2.4.1 狀態(tài)指示
          芯片工作狀態(tài)的顯示是由芯片的狀態(tài)管腳在上通過LED指示實現的。其中AD6655通過寄存器0x104[3:1]控制管腳FDA[0:3]和FDB[0:3]分別指示A和B通道的ADC快速幅度與FS標稱輸入幅度的相對關系。AD9779直接通過它的PLLLOCK管腳指示PLL是否已經鎖定。AD9516是通過配置寄存器0X1B,0X1A,0X17分別控制管腳2,3,6上顯示VCO,PLL,HoldOver的狀態(tài)。
          2.4.2 芯片配置
          各芯片工作狀態(tài)的配置是通過MSP430的SPI串行接口實現的,且MSP430的SPI是三線的。其中MCU側的SPI是復用的,對各芯片的選擇是通過GPIO控制各芯片上的SPI的片選位。各芯片SPI的時鐘是復用的MCU主機側的SPI時鐘信號。
          對AD6655寄存器的配置是通過其自帶的三線SPI實現的。AD6655的SPI接口中數據輸入/輸出共用同一根線,這與MSP430的標準四線全雙工SPI是不同的,要通過一個專門的轉換電路實現兩條單向的SI/SO線和雙向的SDIO線的轉換。AD6655的SPI片選信號通過MSP430的GPIO控制,沒有專門的硬件復位,只能使用軟件控制寄存器實現復位。
          對AD9779和AD9516的寄存器配置通過其分別的SPI功能管腳實現。兩種芯片的SPI都是既可以使用三線,也可以使用四線。二者的SPI片選使能和芯片復位也是分別通過MSP430的GPIO來控制。
          2.4.3 芯片復位、中斷控制及其他
          各芯片的復位是通過MSP430的GPIO控制各芯片的RESET引腳實現的,這樣可以實現軟件復位,同時在各芯片的RESET引腳上加一個開關實現各芯片獨立的開關控制的硬件復位。
          連接MSP430的五個外部中斷。MSP430通過LED0~4指示狀態(tài)。JTAG口下載程序實現硬件調試。RS 485串口實現MSP430與PC機的串行通信。

          3 測試結果
          器采用Agilent Technologies N5230A網絡分析儀進行掃頻測試。通過軟件設定該器的下行模塊參數如表1所示。

          f.jpg



          關鍵詞: FPGA 數字 選頻

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();