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

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

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

3天內不再提示

AD9361芯片進行數據接口邏輯代碼的編寫

FPGA之家 ? 來源:FPGA之家 ? 作者:FPGA之家 ? 2022-07-01 09:59 ? 次閱讀

FPGA實現AD9361數據接口邏輯

1 引言

??

本文通過以高速AD9361芯片為例進行數據接口邏輯代碼的編寫,利用SelectIO IP快速高效完成芯片驅動的生成。

2 AD9361

2.1 芯片簡介

??AD9361是一款面向3G和4G基站應用的高性能、高集成度的射頻(RF)Agile Transceiver捷變收發器。該器件的可編程性和寬帶能力使其成為多種收發器應用的理想選擇。該器件集RF前端與靈活的混合信號基帶部分為一體,集成頻率合成器,為處理器提供可配置數字接口,從而簡化設計導入。AD9361接收器LO工作頻率范圍為70 MHz至6.0 GHz,發射器LO工作頻率范圍為47 MHz至6.0 GHz,涵蓋大部分特許執照和免執照頻段,支持的通道帶寬范圍為200 kHz以下至56 MHz,整體結構圖如圖 1 AD9361整體結構圖所示。

8538d894-f8d4-11ec-ba43-dac502259ad0.png圖 1 AD9361整體結構圖

?集成12位DACADC的RF2×2收發器
? TX頻段:47MHz至6.0GHz
? RX頻段:70MHz至6.0GHz
?支持TDD和FDD操作
?可調諧通道帶寬:<200?kHz至56?MHz
??雙通道接收器:6路差分或12路單端輸入
??出色的接收器靈敏度,噪聲系數為2?dB?(800?MHz?LO)
??RX增益控制
??o?實時監控和控制信號用于手動增益
??o?獨立的自動增益控制
??雙發射器:4路差分輸出
??高線性度寬帶發射器
? o TX EVM:≤?40?dB
? o TX噪聲:≤?157?dBm/Hz本底噪聲
? o TX監控器:動態范圍≥66?dB,精度=1?dB
??集成式小數N分頻頻率合成器
??2.4?Hz最大本振(LO)步長
??多器件同步
??CMOS/LVDS數字接口

2.2 參數配置

??用戶可以根據自己的需求將數據接口通過SPI配置成LVDS或CMOS接口,也可以還可以選擇FDD或TDD工作方式,以及數據速率可以選擇SDR或DDR。只需要通過配置軟件設置即可,如圖 2 AD9361數據接口配置參數所示,詳細的配置教程見AD936x Evaluation Software 詳細配置。

856799c2-f8d4-11ec-ba43-dac502259ad0.png圖 2 AD9361數據接口配置參數

??在進行數據驗證時,也可以使用測試模式,對收發數據進行驗證以保證系統的正確性。另外,還可以對輸入時鐘進行延時調節或者通過SelectIO的delay、delayctrl功能對時鐘信號進行微調,以滿足時序要求。芯片數據時鐘與數據之間的時序可靠性也可以通過芯片內部的延時寄存器0x006、0x007進行條件,以此達到要求,具體的SPI配置寄存器時序如圖 3 AD9361 寄存器配置接口SPI時序所示。此方面不是本文重點,不做展開,更多內容參考官方data sheet。

85b42b70-f8d4-11ec-ba43-dac502259ad0.png圖 3 AD9361 寄存器配置接口SPI時序

??本小節使用的數據接口參數:LVDS、FDD、DDR,對應的時序邏輯也是根據該參數進行設計。

2.3 引腳

RX數據時序接口如下:

85d1b58c-f8d4-11ec-ba43-dac502259ad0.png860712b8-f8d4-11ec-ba43-dac502259ad0.png863ccc6e-f8d4-11ec-ba43-dac502259ad0.png86711b2c-f8d4-11ec-ba43-dac502259ad0.png

TX數據時序接口如下:

86a379e6-f8d4-11ec-ba43-dac502259ad0.png86cc8d18-f8d4-11ec-ba43-dac502259ad0.png870eaf68-f8d4-11ec-ba43-dac502259ad0.png873fefd8-f8d4-11ec-ba43-dac502259ad0.png

2.4 接口時序

??以下使用的數據接口參數:LVDS、FDD、DDR,根據不同的通道數可以得到不同的數據時序,用戶在解析數據時只要按照對應的結構進行拼接即可。

878a9344-f8d4-11ec-ba43-dac502259ad0.png圖 4 AD9361接收數據路徑 87b87d04-f8d4-11ec-ba43-dac502259ad0.png圖 5 AD9361發射接口路徑

3 參考代碼

3.1 SelectIO配置

??根據以上對AD9361的了解,就可以輕松的配置SelectIO IP的GUI界面了。芯片既包括發射模塊TX又包括接收模塊RX,所以IO類型選擇chip to chip。

87e13d5c-f8d4-11ec-ba43-dac502259ad0.png圖 6 SelectIO配置界面1

??根據上述參數配置部分,自然就選擇DDR。數據接口包括時鐘CLK、Frame對齊信號與差分數據端Data[05:0],要同時對Frame與Data信號進行時序解析,所以端口寬度設置為7.

8821c7dc-f8d4-11ec-ba43-dac502259ad0.png圖 7 SelectIO配置界面2

??由于芯片內部寄存器0x006、0x007可以確保時鐘與數據滿足時序要求,所以不需要延時模塊,以節約FPGA邏輯資源。

89403afe-f8d4-11ec-ba43-dac502259ad0.png896cb93a-f8d4-11ec-ba43-dac502259ad0.png

3.2 數據解析

//-------------------------------------------------------------------
//用于將接收時鐘與數據進行單端與差分的變換
//-------------------------------------------------------------------
selectio_ipu_selectio_ip(
//Fromthesystemintothedevice
.DATA_IN_FROM_PINS_P(ad_rx_data_in_p),
//從AD接收端接收到的單端數據與標志
.DATA_IN_FROM_PINS_N(ad_rx_data_in_n),
//從AD接收端接收到的單端數據與標志
.DATA_IN_TO_DEVICE(ad_rx_data),
//將AD接收端接收到的數據與標志轉換為單端數據
//Fromthedeviceouttothesystem
.DATA_OUT_FROM_DEVICE(ad_tx_data),
//將要發送的DA數據與標志轉換為單端數據
.DATA_OUT_TO_PINS_P(ad_tx_data_out_p),
//發送端的單端DA數據與標志
.DATA_OUT_TO_PINS_N(ad_tx_data_out_n),
//發送端的單端DA數據與標志
.CLK_TO_PINS_P(ad_fb_clk_p),
//將AD接收端的輸入時鐘用于發射時鐘
.CLK_TO_PINS_N(ad_fb_clk_n),
//將AD接收端的輸入時鐘用于發射時鐘
.CLK_IN_P(ad_data_clk_p),
//AD接收端的單端輸入時鐘
.CLK_IN_N(ad_data_clk_n),
//AD接收端的單端輸入時鐘
.CLK_OUT(ad9361_data_clk),
//將AD接收端的差分輸入時鐘轉變為單端時鐘
.CLK_RESET(reset),
//用于AD輸入時鐘的復位,高有效
.IO_RESET(reset)
//用于單端、差分變換的復位,高有效
);

//-------------------------------------------------------------------
//發送數據的生成
//-------------------------------------------------------------------
assignad_tx0_msb_q=ad_tx0_data[23:18];
assignad_tx0_lsb_q=ad_tx0_data[17:12];
assignad_tx0_msb_i=ad_tx0_data[11:06];
assignad_tx0_lsb_i=ad_tx0_data[05:00];
assignad_tx1_msb_q=ad_tx1_data[23:18];
assignad_tx1_lsb_q=ad_tx1_data[17:12];
assignad_tx1_msb_i=ad_tx1_data[11:06];
assignad_tx1_lsb_i=ad_tx1_data[05:00];

reg[13:0]ad_tx_data;

//-------------------------------------------------------------------
//選擇要發送的I與Q數據
//-------------------------------------------------------------------
always@(posedgead9361_data_clkorposedgereset)begin
if(reset)
ad_tx_data<=0;
??else?if((ad_tx_frame_reg==0)&&(ad_tx_frame==1))
???ad_tx_data<={ad_tx_frame,ad_tx0_msb_q,ad_tx_frame,ad_tx0_msb_i};
??else?if((ad_tx_frame_reg==1)&&(ad_tx_frame==1))
???ad_tx_data<={ad_tx_frame,ad_tx0_lsb_q,ad_tx_frame,ad_tx0_lsb_i};
??else?if((ad_tx_frame_reg==1)&&(ad_tx_frame==0))
???ad_tx_data<={ad_tx_frame,ad_tx1_msb_q,ad_tx_frame,ad_tx1_msb_i};
??else?if((ad_tx_frame_reg==0)&&(ad_tx_frame==0))
???ad_tx_data<={ad_tx_frame,ad_tx1_lsb_q,ad_tx_frame,ad_tx1_lsb_i};??
?end?

//-------------------------------------------------------------------
//選擇接收的I與Q數據
//-------------------------------------------------------------------
?always?@(posedge?ad9361_data_clk?or?posedge?reset)?begin
??if(reset)?begin
???ad_rx0_msb_i<=0;
???ad_rx0_msb_q<=0;
???ad_rx0_lsb_i<=0;
???ad_rx0_lsb_q<=0;
???ad_rx1_msb_i<=0;
???ad_rx1_msb_q<=0;
???ad_rx1_lsb_i<=0;
???ad_rx1_lsb_q<=0;???
??end
??else?if((ad_rx_frame_reg==0)&&(ad_rx_frame==1))?begin
???ad_rx0_msb_i<=ad_rx_data[05:0];
???ad_rx0_msb_q<=ad_rx_data[12:7];
??end
??else?if((ad_rx_frame_reg==1)&&(ad_rx_frame==1))?begin
???ad_rx0_lsb_i<=ad_rx_data[05:0];
???ad_rx0_lsb_q<=ad_rx_data[12:7];
??end
??else?if((ad_rx_frame_reg==1)&&(ad_rx_frame==0))?begin
???ad_rx1_msb_i<=ad_rx_data[05:0];
???ad_rx1_msb_q<=ad_rx_data[12:7];
??end
??else?if((ad_rx_frame_reg==0)&&(ad_rx_frame==0))?begin
???ad_rx1_lsb_i<=ad_rx_data[05:0];
???ad_rx1_lsb_q<=ad_rx_data[12:7];
??end?
?end
?
?wire?[23:0]??ad_rx0_fifo_data;
?wire?[23:0]??ad_rx1_fifo_data;
?assign?ad_rx0_fifo_data={ad_rx0_msb_q,ad_rx0_lsb_q,ad_rx0_msb_i,ad_rx0_lsb_i};
?assign?ad_rx1_fifo_data={ad_rx1_msb_q,ad_rx1_lsb_q,ad_rx1_msb_i,ad_rx1_lsb_i};

原文標題:FPGA實現AD9361數據接口邏輯

文章出處:【微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。

審核編輯:彭靜

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

    關注

    1638

    文章

    21857

    瀏覽量

    609734
  • 芯片
    +關注

    關注

    459

    文章

    51726

    瀏覽量

    430965
  • 數據接口
    +關注

    關注

    1

    文章

    80

    瀏覽量

    18001
  • 代碼
    +關注

    關注

    30

    文章

    4862

    瀏覽量

    69726
  • AD9361
    +關注

    關注

    8

    文章

    35

    瀏覽量

    37435
收藏 0人收藏
  • jf_954709981

評論

相關推薦

關于AD9361的抗阻塞能力的實測

在窄帶應用中,零中頻軟件無線電芯片已經非常流行,其代表是ADI公司的AD9361
的頭像 發表于 05-26 10:17 ?2760次閱讀

AD9361接收IQ軌跡圖質量

,矩形窗(Rectangle)成型發射 2. 朋友測試——(某公司使用AD9361自己做的板子測試) 其他說明:測試之前,我已經完成芯片的數字接口測試,即在基帶芯片發射隨機
發表于 08-20 07:43

ad9361 lvds接口調試

AD9361 lvds模式接口。之前用ad9361時至調試了cmos接口,現在調試一下lvds模式。接口模式 : 2r2t每個通道
發表于 08-30 11:49

AD9361無發射信號

TX1通道接到頻譜儀上沒有任何的信號輸出 AD9361我配置的是單通道、LVDS輸出,DATA_CLK,FB_CLK也都有輸出,數字接口部分我參照AD9361的IP核編寫的TX_FRA
發表于 09-25 14:19

AD9361數字CMOS接口時序問題

AD9361在1R1T傳輸時,當RX_FRAME和TX_FRAME信號為高電平時(即電平模式),AD9361數據收發并口傳輸時序圖? 數據手冊中并口的timming使用的是pulse
發表于 12-19 09:25

請問如何將多片AD9361芯片進行相位同步

如何將多片AD9361芯片進行相位同步,技術文檔有說通過sync管腳進行MCS同步,但是僅僅只針對數據時鐘完成同步。個人理解
發表于 12-25 11:42

請問如何在VC++下使用IIO類庫API函數通過PC的網口對AD9361進行配置編程

AD9361,并且通過網口接收雷達回波數據,也就是一個發送功能一個接收功能,現在有下面幾個問題:1)是否IIO類庫提供了API函數集,支持一些芯片的直接訪問,比如可以直接對AD9361
發表于 01-07 10:11

AD9361 FDD模式沒有任何輸出

AD9361采用官網zynq7000 no os版本驅動程序進行配置,芯片初始化完成,并且寄存器回讀正確,配置AD9361在FDD模式下工作,ad9
發表于 01-14 09:10

AD9361 Datasheet

AD9361 Datasheet 射頻芯片中的佼佼者 性能很好
發表于 06-06 10:29 ?0次下載

基于 ZYNQ系列 SoC和AD9361實現的簡易頻譜分析儀

本文設計了基于ZYNQ系列SoC(System on chip)和AD9361實現的簡易頻譜分析儀,頻譜數據可以通過串口發送給上位機,并在上位機中通過MATLAB進行數據處理和分析。
的頭像 發表于 04-11 10:42 ?1.4w次閱讀

基于FPGA對零中頻射頻收發器AD9361進行配置

無人機機載數據鏈設備的系統架構如圖1 所示。首先,FPGA 通過EMIF 接收DSP 的高清壓縮視頻、通過UART 接收飛控計算機的遙測數據,壓縮后的視頻數據和遙測數據在FPGA 組幀
的頭像 發表于 04-17 15:32 ?2.1w次閱讀

基于ADI AD9361模塊AD-FMCOMMS3-EBZ搭建的AD9361 RF收發測試平臺案例

AD9361芯片工作頻率范圍為70 MHz至6 GHz,涵蓋大部分特許執照和免執照頻段,通過對AD9361自身可編程改變采樣速率、數字濾波器和抽取參數,使該芯片支持的通道帶寬范圍為低于
的頭像 發表于 03-09 11:47 ?6962次閱讀

以高速AD9361芯片為例進行數據接口邏輯代碼編寫

本文通過以高速AD9361芯片為例進行數據接口邏輯代碼編寫
的頭像 發表于 06-07 14:34 ?7397次閱讀
以高速<b class='flag-5'>AD9361</b><b class='flag-5'>芯片</b>為例<b class='flag-5'>進行數據</b><b class='flag-5'>接口</b><b class='flag-5'>邏輯</b><b class='flag-5'>代碼</b>的<b class='flag-5'>編寫</b>

AD9361數據路徑在低電壓差分信號(LVDS)模式下運行

接下來將介紹AD9361數據路徑在低電壓差分信號(LVDS)模式下運行。AD9361數據接口使用并行總線(P0和P1)在
的頭像 發表于 04-25 15:51 ?7190次閱讀
<b class='flag-5'>AD9361</b><b class='flag-5'>數據</b>路徑在低電壓差分信號(LVDS)模式下運行

ad9361接收電平范圍

AD9361是一種寬頻帶軟件可定義收發器芯片,由ADI(Analog Devices Inc.)公司研發,可用于各種射頻(RF)應用。它是一種全集成的射頻收發器,實現了收發器功能。在這篇文章中,我們
的頭像 發表于 12-26 15:49 ?3867次閱讀
主站蜘蛛池模板: 手机看片福利久久 | 国产20岁美女一级毛片 | 性夜影院爽黄e爽在线观看 羞羞色院91精品网站 | 六月婷婷七月丁香 | 视频网站黄 | 天天拍拍天天爽免费视频 | 亚洲欧美强伦一区二区另类 | 四虎黄色片 | 一级片免费在线观看视频 | 青娱乐99| 手机在线看| 国产亚洲第一 | 国产精品久久久久久久久齐齐 | 色综合视频一区二区三区 | 欧美天天在线 | 久久15 | 男人你懂的在线观看视频 | 国产黄色小视频在线观看 | 伊人网视频在线 | 免费看片aⅴ免费大片 | 色综合图片二区150p | 天天射天天舔 | 夜夜爽一区二区三区精品 | 美女扒开尿囗给男生桶爽 | 欧洲色妇 | 日韩毛片大全 | 午夜精品久久久久久久2023 | 日本三级在线观看免费 | 激情综合网婷婷 | 婷婷丁香四月 | 久久国产精品免费网站 | 狠狠色狠狠色综合网 | 欧美性天天影院 | 国产女人和拘做受视频免费 | 日韩欧免费一区二区三区 | 美女三级在线 | 午夜性影院 | 99伊人| 婷婷久久精品 | 日本在线视频一区二区三区 | 久久久综合久久 |

電子發燒友

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

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