在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何使用FPGA驅動并行ADC和DAC芯片,使用不同編碼方式的ADC與DAC時的注意事項

FPGA設計論壇 ? 來源:FPGA設計論壇 ? 2025-03-14 13:54 ? 次閱讀

概述

ADCDACFPGA與外部信號接口,從數據接口類型的角度劃分,有低速的串行接口和高速的并行接口。FPGA經常用來采集中高頻信號,因此使用并行ADC和DAC居多。本文將介紹如何使用FPGA驅動并行ADC和并行DAC芯片。

并行接口包括兩種數字編碼方式:帶符號數signed與無符號數unsigned。本文還將介紹使用不同編碼方式的ADC與DAC時需要注意的問題。

接口協議

ADI公司的32M、8位ADC芯片AD9280和125M、8位DAC芯片AD9708為例(這是淘寶上最容易買到的AD/DA模塊)。

AD9280的時序圖如下:

a8e7f878-0098-11f0-9310-92fbcf53809c.jpg

AD9708的時序圖如下:

a8f43188-0098-11f0-9310-92fbcf53809c.jpg

由時序圖可知,AD9280在每個輸入clock的上升沿對輸入的模擬信號做一次采集,采集數據由數據總線data輸出;AD9708也是在每個輸入clock的上升沿讀取數據總線DB0-DB7上的數據,將其轉換為相應的電流IOUTA/IOUTB輸出。

這兩個芯片的管腳雖然很多,但大多數都是與硬件設計有關。其實幾乎所有的并行ADC和并行DAC與FPGA之間的接口只有一條時鐘線與一組數據總線,數據總線的位寬即為ADC/DAC的位數。每個時鐘周期ADC都會完成一次采集(DAC完成一次輸出),因此時鐘頻率也就是ADC和DAC的采樣頻率。

FPGA設計

并行ADC和DAC的接口時序驅動非常簡單,只要利用Quartus或Vivado自帶的時鐘管理IP核生成預期采樣頻率的時鐘信號,驅動時鐘線,從數據總線上讀出或寫入數據即可。

比如下面的代碼實現了將ADC采集到的數據再通過DAC輸出:

`timescale 1ns / 1ps

//-----------------------------------------------

// 將ADC采集到的數據通過DAC輸出

//-----------------------------------------------

module adda_test

(

inputclk,

outputdaclk,

output[7:0] dadata, //DA data

outputadclk,

input[7:0] addata //AD data

);

PLL PLL_inst

(

.clk_in1(clk), //IN

//Clock out ports

.clk_out1(adclk), //OUT 32Mhz

.clk_out2(daclk), //OUT 32Mhz

//Status and control signals

.reset(1'b0), //IN

.locked()

);

assign dadata = addata;

endmodule

上述代碼中實例化了一個PLL IP核產生ADC和DAC所需頻率的時鐘,Quartus中該IP核叫做“PLL”,Vivado中該IP核叫做“Clocking Wizard”。

為了保證DAC輸出與ADC采集到的信號相同,將兩者時鐘頻率設置相同,且連接二者的數據總線。上述代碼可以使用開發板和AD/DA模塊進行實際測試。

編碼方式問題

上文用到的AD9280和AD9708都是無符號數編碼,而我們知道無論是Vivado還是Quartus中大多數的IP核采用的都是帶符號數二進制補碼的編碼方式(二進制原碼、補碼;有符號數、無符號數的問題可參考https://blog.csdn.net/fpgadesigner/article/details/80512067 ),這就導致ADC/DAC的數據總線不能與IP核接口直接對接,必須做一定的轉換處理。

考慮到上述數字系統的特點,市場上也存在不少以帶符號數二進制補碼接口的ADC/DAC,比如65M、12位ADC芯片AD9226。如果使用這種編碼方式的芯片,數據總線就可以直接與IP核接口對接,不需要做特殊處理。

但是,我們總會不可避免的遇到類似這樣的情況:

1. ADC或DAC是無符號數編碼,而設計中需要使用一些帶符號數接口的IP核;

2. ADC是帶符號數編碼,而設計中僅需獲取測量值,并不需要與其它帶符號數接口的模塊對接。

當遇到情況1時,需要進行無符號數編碼與帶符號數編碼之間的轉換。將ADC采集到的8位無符號數轉換為帶符號數補碼形式的代碼如下:

/****將addata轉化為帶符號二進制補碼形式 ****/

reg[7:0] ad_data;

always@ (posedge clk or negedge rst_n)

if(!rst_n) ad_data <= 8'd0;

elsead_data <= addata - 128;??? //AD9280采集輸入

將帶符號數補碼轉換為8位無符號數通過DAC輸出的代碼如下:

/****將dadata轉化為無符號數形式 ****/

reg[7:0] da_data;

always@ (posedge clk or negedge rst_n)

if(!rst_n) da_data <= 8'd0;

elseda_data <= dadata + 128;??? //AD9708輸出 ? ?

當遇到情況2時,需要將不易直接觀察的帶符號數補碼形式轉換為帶符號數原碼形式,使其更加直觀。代碼如下:

always @(posedge ad_clk) //AD9226采集

if(ad_ch1[11]==1'b1)begin //如果是負電壓

ch1_reg<=12'hfff?- ad_ch1 + 1'b1;

ch1_sig<= 45;??????????????????????????????? //'-' asic碼

end

elsebegin

ch1_reg<=ad_ch1;

ch1_sig<=43;??????????????????????????????? //'-'?asic碼

end

轉換的依據是一個簡單的運算關系:“補碼的整數值”+“原碼絕對值的整數值”=2^B,B為位寬。比如帶符號數原碼1110的補碼為1010:1110取絕對值0110為6;1010為10,二者加起來為2^4=16。

上述代碼便是利用了這個運算關系。為了節省位寬,先用12’hfff減掉補碼,再加1,達到同樣的效果,得到帶符號數原碼的絕對值。根據符號位便可以知道這個原碼的正負情況。


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 接口
    +關注

    關注

    33

    文章

    8815

    瀏覽量

    152591
  • adc
    adc
    +關注

    關注

    99

    文章

    6577

    瀏覽量

    547042
  • dac
    dac
    +關注

    關注

    43

    文章

    2330

    瀏覽量

    192332
  • 編碼方式
    +關注

    關注

    0

    文章

    4

    瀏覽量

    5751

原文標題:并行ADC與DAC

文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。

收藏 0人收藏

    評論

    相關推薦

    如何使用FPGA驅動并行ADC并行DAC芯片?

    ADCDACFPGA與外部信號的接口,從數據接口類型的角度劃分,有低速的串行接口和高速的并行接口。
    的頭像 發表于 02-22 16:15 ?4482次閱讀
    如何使用<b class='flag-5'>FPGA</b><b class='flag-5'>驅動</b><b class='flag-5'>并行</b><b class='flag-5'>ADC</b>和<b class='flag-5'>并行</b><b class='flag-5'>DAC</b><b class='flag-5'>芯片</b>?

    尋找合適的FPGAADC,DAC

    有沒有具有1個通道12位的ADC,4個通道14位DAC的模塊,板子上有FPGA的板子;或者有沒有具有1個通道12位的ADC,4個通道14位DAC
    發表于 12-08 15:10

    ADC/DAC的基礎知識

    本博客旨在涵蓋“ADC / DAC教程”一文中所述的一般概念。本文介紹了不同類型的ADC / DAC架構,以及選擇ADC
    發表于 11-01 15:54

    請問是否有并行ADC并行DAC接口卡讓我能夠使用FX2 FMC連接器連接到FPGA板?

    嗨,您能指定哪種ADC / DAC適合Spartan 3AN入門套件嗎?是否有任何生產(由任何公司)并行ADC并行
    發表于 06-20 14:07

    FPGA驅動并行ADC&DAC

    驅動并行ADC并行DAC芯片并行接口包括兩種數字
    發表于 09-27 09:40

    Σ-Δ型ADCDAC的特點及構成有哪些?

    Σ-Δ型ADCDAC的特點及構成有哪些?Σ-Δ型立體聲ADA電路TLC320AD75C的模擬與數字音頻數據接口技術、DAC的串行控制接口技術及該類器件有什么注意事項
    發表于 04-07 06:55

    DACADC

    ADC 相反。在常見的數字信號系統中,大部分傳感器信號被化成電壓信號,而 ADC 把電壓模擬信號轉換成易于計算機存儲、處理的數字編碼,由計算機處理完成后,再由 DAC 輸出電壓模擬
    發表于 08-09 07:32

    注意ADCDAC使用

    超聲波測距的距離作為輸入。注意ADCDAC使用時寫入PCF8591的控制字為0x41,高四位的”4“在ADCDAC時都要寫入,讓
    發表于 01-13 07:35

    ADC/DAC,ADC/DAC的原理是什么?

    ADC/DAC,ADC/DAC的原理是什么? 產生原因 隨著現代科學技術的迅猛發展,特別是數字系統已廣泛應用于各種學科領域及日常生活,微型計
    發表于 03-26 10:34 ?2.2w次閱讀

    高速ADCDAC如何與FPGA配合使用

    許多數字處理系統都會使用FPGA,原因是FPGA有大量的專用DSP以及block RAM資源,可以用于實現并行和流水線算法。因此,通常情況下,FPGA都要和高性能的
    發表于 02-09 05:45 ?2050次閱讀
    高速<b class='flag-5'>ADC</b>和<b class='flag-5'>DAC</b>如何與<b class='flag-5'>FPGA</b>配合使用

    Σ-Δ型ADCDAC的特點和使用注意事項

    本文介紹了Σ-Δ型ADCDAC的特點及構成,并詳細論述了Σ-Δ型立體聲ADA電路TLC320AD75C的模擬與數字音頻數據接口技術、DAC的串行控制接口技術及該類器件的使用注意事項。
    發表于 08-12 12:50 ?5697次閱讀
    Σ-Δ型<b class='flag-5'>ADC</b>和<b class='flag-5'>DAC</b>的特點和使用<b class='flag-5'>注意事項</b>

    如何使用FPGA驅動并行ADC并行DAC芯片

    ADCDACFPGA與外部信號的接口,從數據接口類型的角度劃分,有低速的串行接口和高速的并行接口。FPGA經常用來采集中高頻信號,因此使
    的頭像 發表于 04-21 08:55 ?7409次閱讀

    SAR ADC 的輸入注意事項

    SAR ADC 的輸入注意事項
    發表于 11-04 09:52 ?1次下載
    SAR <b class='flag-5'>ADC</b> 的輸入<b class='flag-5'>注意事項</b>

    并行接口的ADCDAC的測試方法

    并行接口的ADC、DAC的測試方法 ADCDAC是兩種最常見的數據轉換器,用于模數(ADC)和
    的頭像 發表于 11-07 10:21 ?2136次閱讀

    STM32ADC中斷的使用注意事項和優化建議

    使用中斷是提高系統性能和精確度的關鍵。本文將詳細介紹STM32ADC中斷的使用注意事項和優化建議。 注意事項: 1. 合理選擇中斷觸發方式:STM32
    的頭像 發表于 01-12 15:17 ?3914次閱讀
    主站蜘蛛池模板: 国产福利在线观看一区二区 | 大学生一级特黄的免费大片视频 | www.爽| 欧美视频综合 | 日本一区二区三区免费看 | 国产成+人+综合+亚洲欧美丁香花 | 九九天天影视 | 午夜精品视频在线观看 | 毛片资源网 | 免费一级大毛片a一观看不卡 | 男人j进女人j的视频一进一出 | 亚洲午夜久久影院 | 国产午夜小视频 | 天堂成人一区二区三区 | 国产亚洲精品aa在线看 | 欧美涩区 | 91久操| 欧美日韩亚洲国内综合网俺 | 欧美国产一区二区二区 | 天天射日日操 | 色香视频一sxmv首页 | 国产高清色播视频免费看 | 天天插天天摸 | 久久久夜色精品国产噜噜 | 激情六月综合 | 午夜一区二区免费视频 | 91国内视频 | 国产精品网址你懂的 | 久久99热不卡精品免费观看 | 亭亭色| 亚洲热热久久九九精品 | 最新亚洲一区二区三区四区 | 中文字幕va一区二区三区 | 国产成人精品男人的天堂538 | 亚洲人成网站在线观看妞妞网 | 一区在线免费观看 | 午夜国产福利在线观看 | 1024你懂的国产精品 | aaaaaa级特色特黄的毛片 | 国产综合精品久久亚洲 | 国产美女作爱 |

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品