FPGA ad9248驅動

ad9248的最高時鐘頻率65mhz,采用cmos3.3v電壓的并行io接口,做成電子模塊后一般為雙通道adc,有兩個對外輸出時鐘cha_clk與chb_clk,一個并行輸入端口,14分辨率的ddr_data,其模塊邏輯如下,首先向adc發送一對差分時鐘作為cha_clk和chb_clk,然后adc返回給fpga一個雙沿數據ddr_data,通過iddr原語進行數據解析并將解析后的數據作為cha_data和chb_data輸出,同時處理解析后數據的時鐘為user_clk,而差分時鐘由ad_clk產生。cha_over和chb_over表示接收到的外部電壓是否超過量程+-5v。同時參數代表單極性輸出還是雙極性輸出。

MMCM IP配置如下,需要注意user_clk與ad_clk相位差90

module ad9248_driver#(parameter   UNIPOLAR = 1
)(input               i_ad_clk50m     ,input               i_user_clk50m   ,input       [13:0]  i_ddr_data      ,input               i_cha_over      ,input               i_chb_over      ,output              o_cha_clk       ,output              o_chb_clk       ,output  reg [13:0]  o_cha_data      ,output  reg [13:0]  o_chb_data      );assign  o_cha_clk = i_ad_clk50m ;assign  o_chb_clk = !i_ad_clk50m;wire    [13:0]  w_cha_data  ;wire    [13:0]  w_chb_data  ;//超量程則將前一刻輸出作為有效值	always@(posedge i_user_clk50m) begino_cha_data <= w_cha_data;o_chb_data <= w_chb_data;endgenvar i;generatefor(i = 0; i < 14; i = i + 1) beginIDDR #(.DDR_CLK_EDGE   ("SAME_EDGE_PIPELINED"  ),  .INIT_Q1        (1'b0                   ),  .INIT_Q2        (1'b0                   ),  .SRTYPE         ("SYNC"                 )   ) IDDR_inst (.Q1     (w_cha_data[i]  ),  // 上升沿數據.Q2     (w_chb_data[i]  ),  // 下降沿數據.C      (i_ad_clk50m    ),  // 時鐘輸入.CE     (1'b1           ),  // 時鐘使能.D      (i_ddr_data[i]  ),  // 輸入數據.R      (1'b0           ),  // 復位(可選).S      (1'b0           )   // 置位(可選));endendgenerate    reg		[15:0]		r_cnt	;always@(posedge i_user_clk50m) beginif(r_cnt < 1)r_cnt <= r_cnt + 1;elser_cnt <= 0;endreg					r_vld	;always@(posedge i_user_clk50m) beginif(r_cnt == 1)r_vld <= 1;elser_vld <= 0;endila_0 your_instance_name (.clk(i_user_clk50m), // input wire clk.probe0(i_cha_over), // input wire [0:0]  probe0  .probe1(i_chb_over), // input wire [0:0]  probe1 .probe2(o_cha_data), // input wire [13:0]  probe2 .probe3(o_chb_data), // input wire [13:0]  probe3.probe4(r_vld		) // input wire [0:0]  probe4
);endmodule

測試用的頂層文件


module ad_sample(input				i_clk50m		,input				i_rst_n			,input       [13:0]  i_ddr_data      ,input               i_cha_over      ,input               i_chb_over      ,output              o_cha_clk       ,output              o_chb_clk       );wire		w_ad_clk	;wire		w_usr_clk	;clk_wiz_0 
mmcm(.clk_out1	(w_ad_clk	),  .clk_out2	(w_usr_clk	), .resetn		(i_rst_n	), // input resetn.locked		(),       // output locked.clk_in1	(i_clk50m	)
);    wire		[13:0]	w_cha_data	;wire		[13:0]	w_chb_data	;ad9248_driver
ad9248_driver_u(.i_ad_clk50m    (w_ad_clk	),.i_user_clk50m  (w_usr_clk	),.i_ddr_data     (i_ddr_data	),.i_cha_over     (i_cha_over	),.i_chb_over     (i_chb_over	),.o_cha_clk      (o_cha_clk	),.o_chb_clk      (o_chb_clk	),.o_cha_data     (w_cha_data	),.o_chb_data     (w_chb_data	)
);endmodule

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/921455.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/921455.shtml
英文地址,請注明出處:http://en.pswp.cn/news/921455.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Spring MVC 處理請求的流程

Spring MVC 處理請求的流程流程步驟詳解第1步&#xff1a;發起請求 (HTTP Request)第2步&#xff1a;映射處理器 (Handler Mapping)第3步&#xff1a;獲取適配器 (Handler Adapter)第4步&#xff1a;執行攔截器前置處理 (Interceptors - preHandle)第5步&#xff1a;真正調用處…

敏捷scrum管理實戰經驗總結

1.敏捷 敏捷的構成 敏捷由實踐來源、應用場景、組織文化、領導力、團隊、需求、管理、技術、質量、度量、交付、過程改進、大型項目組合管理以及受監管行業中的敏捷等構成 敏捷開發的特點 短發布周期小批量的方式、開展從需求到實現的開發工作高層級的預先規劃結合詳細的即時規…

南科大適應、協同與規劃的完美融合!P3:邁向多功能的具身智能體

作者&#xff1a;Shengli Zhou1^{1}1, Xiangchen Wang1^{1}1, Jinrui Zhang1^{1}1, Ruozai Tian2^{2}2, Rongtao Xu2,3^{2,3}2,3, Feng Zheng1,2^{1,2}1,2單位&#xff1a;1^{1}1南方科技大學&#xff0c;2^{2}2時空智能&#xff0c;3^{3}3穆罕默德本扎耶德人工智能大學論文標題…

自動化流水線

import React, { useState, useEffect } from ‘react’; import { ChevronRight, CheckCircle, Circle, AlertCircle, Clock, Play, Pause, Settings, Code, Server, Shield, Database, Globe, Zap, FileText, Users, GitBranch, Package, Monitor, ChevronDown } from ‘luci…

【高等數學】第十一章 曲線積分與曲面積分——第三節 格林公式及其應用

上一節&#xff1a;【高等數學】第十一章 曲線積分與曲面積分——第二節 對坐標的曲線積分 總目錄&#xff1a;【高等數學】 目錄 文章目錄1. 格林公式2. 平面上曲線積分與路徑無關的條件3. 二元函數的全微分求積4. 曲線積分的基本定理1. 格林公式 單連通與復連通區域 設 DDD …

Boost電路:平均狀態空間建模

電路特征介紹如圖所示是一個非理想情況下的boost電路&#xff0c;其中L1L_{1}L1?和RL1R_{L1}RL1?是分別是電感和串聯電阻&#xff1b;C1C_{1}C1?和RC1R_{C1}RC1?是輸出電容和串聯電阻&#xff1b;Q1Q_{1}Q1?是MOS管&#xff0c;其導通電阻是RonR_{on}Ron?&#xff1b;D1D…

免費網站模板/網站模板建站的優勢/如何下載網站模板搭建網站?

在網站建設領域&#xff0c;“網站模板” 是降低技術門檻、提升建站效率的核心工具&#xff0c;尤其適合非專業開發者或追求低成本、快上線的需求場景。下面從定義、核心優勢兩方面展開詳細解析&#xff0c;幫助你全面理解其價值。 一、什么是網站模板&#xff1f; 網站模板&am…

【MATLAB例程】平面上的組合導航例程,使用EKF融合IMU和GNSS數據,8維狀態量和2維觀測量,附代碼下載鏈接

文章目錄程序詳解概述系統架構核心數學模型性能評估算法特點運行結果MATLAB源代碼程序詳解 概述 本代碼實現基于擴展卡爾曼濾波器&#xff08;EKF&#xff09;的二維組合導航系統&#xff0c;融合IMU&#xff08;慣性測量單元&#xff09;和GNSS&#xff08;全球導航衛星系統…

react生命周期,詳細版本

React 組件的生命周期分為三個階段:掛載(Mounting)、更新(Updating) 和 卸載(Unmounting)。以下是類組件生命周期的詳細說明(基于 React 16.3+ 版本): 一、掛載階段(Mounting) 組件實例被創建并插入 DOM 時的流程: constructor(props) ○ 用途:初始化狀態(this…

騰訊最新開源HunyuanVideo-Foley本地部署教程:端到端TV2A框架,REPA策略+MMDiT架構,重新定義視頻音效新SOTA!

一、模型介紹HunyuanVideo-Foley 是騰訊混元團隊在2025年8月底開源的一款端到端視頻音效生成模型。它旨在解決AI生成視頻“有畫無聲”的痛點&#xff0c;通過輸入視頻和文本描述&#xff0c;就能自動生成電影級別的同步音效&#xff0c;顯著提升視頻的沉浸感。它是專為視頻內容…

計算機原理(二)

計算機原理系列 歡迎大家關注「海拉魯知識大陸」 多交流不迷路 計算機原理&#xff08;一&#xff09; 繼續上一篇計算機原理&#xff08;一&#xff09;深入了解程序執行部分&#xff0c;進一步說說程序在馮諾依曼模型上如何執行。如果沒有了解的童鞋可以查看我上一篇文章。…

【設計模式】 工廠方法模式

系列文章目錄 文章目錄系列文章目錄需要了解工廠制造細節嗎&#xff1f;簡單工廠模式實現工廠方法模式的實現簡單方法&#xff1f; 工廠方法&#xff1f;總結需要了解工廠制造細節嗎&#xff1f; 我們在前面的文章中為大家介紹了簡單工廠模式&#xff0c;我們知道 簡單工廠模式…

詳解 Java 中的 CopyOnWriteArrayList

目錄 【1】CopyOnWriteArrayList 簡介 【2】核心原理 1.底層數據結構 2.寫時復制機制 【3】CopyOnWriteArrayList常用方法及實例 1.添加元素方法 add () 2.獲取元素方法 get () 3.刪除元素方法remove() 【4】優缺點分析 【5】適用場景 【6】總結 【1】CopyOnWriteAr…

新手SEO優化快速起步教程

本教程專為SEO新手設計&#xff0c;幫助您快速上手優化工作。我們將一步步帶您了解基礎概念&#xff0c;包括高效挖掘關鍵詞的方法、內容優化的核心技巧&#xff0c;以及網站基礎設置的關鍵步驟。后續還會講解提升排名的實用策略、如何監控效果并進行調整&#xff0c;確保您能系…

Minecraft圖片搜索技巧

以下是更多專注 Minecraft 內容的高質量社區平臺&#xff0c;涵蓋建筑展示、模組/材質分享、實機截圖、藝術創作等方向&#xff0c;按類型分類整理&#xff1a;---一、國際知名綜合社區平臺 特點 鏈接 CurseForge 模組/材質/數據包第一倉庫&#xff0c;作者更新快&#xff0c;支…

數學建模-非線性規劃(NLP)

1-理論知識介紹應用2-基于matlab實現非線性規劃1&#xff09;例1% 清除工作臺和命令行 clear;clc; x0[0 0 0]; A [-1 1 -1]; b 0; [x,value] fmincon(f1,x0,A,b,[],[],[],[],nonlfun1) function f f1(x)f x(1)^2x(2)^2x(3)^28; end function [c,ceq] nonlfun1(x)c [x(1)…

人工智能學習:什么是seq2seq模型

一、seq2seq模型 Seq2Seq(Sequence-to-Sequence)模型是一種用于處理序列轉換問題的深度學習模型,廣泛應用于機器翻譯、文本摘要、對話系統、語音識別等領域。Seq2Seq模型的核心思想是通過一個編碼器(Encoder)將輸入序列編碼為一個固定長度的上下文向量(Context Vector),…

生態 | 華院計算與深至科技達成戰略合作,攜手推動AI+醫學影像算法升級迭代

8月25日&#xff0c;華院計算技術&#xff08;上海&#xff09;股份有限公司&#xff08;以下簡稱“華院計算”&#xff09;與上海深至信息科技有限公司&#xff08;以下簡稱“深至科技”&#xff09;正式簽署戰略合作協議。雙方將秉持“優勢互補、資源共享、戰略協同、共同發展…

詳解MySQL環境變量配置及其在備份中的應用

正確配置MySQL環境變量是保障數據庫穩定運行和高效管理的基礎。這些變量涵蓋了從內存分配、連接設置到日志行為等方方面面&#xff0c;直接決定了數據庫的性能表現和功能特性。對于數據庫管理員而言&#xff0c;熟練掌握環境變量的配置&#xff0c;是進行性能調優和故障排查的必…

scikit-learn零基礎配置(含python、anaconda)

一、Anaconda環境搭建 1、關于Anaconda Anaconda 是一個非常 popular 的 Python 發行版&#xff0c;它不僅包含了 Python 語言本身&#xff0c;還預裝了眾多常用的科學計算庫&#xff0c;如 NumPy、Pandas、Matplotlib 等&#xff0c;能夠極大地方便用戶的開發和數據分析工作。…