FPGA通過SPI對ADC配置簡介(四)-------Verilog實現4線SPI配置
第二篇以德州儀器(TI)的高速ADC晶片——ads52j90為例,介紹完了 4線SPI配置時序。本篇將以該晶片SPI結構為例,具體介紹如何利用verilog 實現4線SPI配置時序。
無論實現讀還是寫功能,都先要提供SCLK。假如FPGA系統工作時鐘40MHz,我們可以利用計數器產生一個n分頻的時鐘作為SCLK,本例中n取8,SCLK頻率5MHz。SCLK產生的程式碼如下:
SCLK時鐘有了,接下來我們建立一個狀態機實現讀和寫功能:
初始化狀態的下一個狀態就是寫暫存器操作了,每次SCLK的上升沿寫入資料:
寫完一個暫存器引數,CSB先拉高。接下來在進入下一個狀態,本篇例子下一個狀態的操作是讀取對應暫存器地址的資料。我們首先需在SCLK的上升沿寫入8bit的暫存器地址,接下來在SCLK的下降沿讀取16bit的資料。
到此,讀寫操作都完成了。程式碼上的註釋可以便於大家理解,大家還可以模擬看一下波形加深理解。下一篇我們再介紹如何進行3線SPI配置!
記得掃碼關注 或者 微信搜尋“小青菜哥哥的那些事”哦~
相關推薦
FPGA通過SPI對ADC配置簡介(四)-------Verilog實現4線SPI配置
第二篇以德州儀器(TI)的高速ADC晶片——ads52j90為例,介紹完了 4線SPI配置時序。本篇將以該晶片SPI結構為例,具體介紹如何利用verilog 實現4線SPI配置時序。 無論實現讀還是寫功能,都先要提供SCLK。假如FPGA系統工作時鐘40
FPGA通過SPI對ADC配置簡介(五)-----Verilog實現3線SPI配置
上篇介紹瞭如何利用verilog 實現4線SPI配置時序,本篇將以AD9249介紹其3線SPI配置的verilog實現。 3線SPI的時鐘產生方式和上一篇的4線SPI相同,這裡不在敘述。兩者的不同點在於:三線SPI模式需要FPGA管腳三態控制SDIO的輸入
FPGA通過SPI對ADC配置簡介(三)-------3線SPI配置時序分析
上篇以德州儀器(TI)的高速ADC晶片——ads52j90為例,介紹完了4線SPI配置時序。本篇將以Analog Device(ADI)的多通道高速ADC晶片AD9249為例,介紹3線SPI讀寫配置時序。另外,大家如果想詳細瞭解Analog Device(ADI)公司的關於S
FPGA通過SPI對ADC配置簡介(二)-------4線SPI配置時序分析
本篇將以德州儀器(TI)的高速ADC晶片——ads52j90為例,進行ADC的4線SPI配置時序介紹與分析。 從ads52j90的資料手冊我們不難發現,其SPI控制模組主要包含4根訊號線,即SEN、SCLK、SDIN以及SDOUT。TI公司對其產品S
通過案例對SparkStreaming透徹理解(1)
本博文主要包含內容為: 1、spark streaming另類線上實驗 2、瞬間理解spark streaming本質 一,對SparkStreaming的深入理解: 1、 首先為何從Spark Streaming切入Spark定製?Spark的子框架已
Spring基於Java類配置Bean(四):通過@Configuration配置類引用xml配置資訊
總結:在@Configuration配置類中,通過@ImportResource就可以引入xml配置檔案,在配置類中可直接通過@AutoWired引用xml檔案中定義的bean。(1)XML配置檔案<?xml version="1.0" encoding="UTF-8"
ansible小結(四)ansible.cfg與默認配置
false 跳過 ans sts host ase sin class 配置 FAILED => Using a SSH password instead of a key is not possible because Host Key checking is en
Python 編程核心知識體系-文件對象|錯誤處理(四)
錯誤 技術 com 9.png href log alt 體系 lan 錯誤處理 文件對象 Python 編程核心知識體系-文件對象|錯誤處理(四)
Java設計模式簡介(四):行為型模式(下)
其實每個設計模式都是很重要的一種思想,看上去很熟,其實是因為我們在學到的東西中都有涉及,儘管有時我們並不知道,其實在Java本身的設計之中處處都有體現,像AWT、JDBC、集合類、IO管道或者是Web框架,裡面設計模式無處不在。因為我們篇幅有限,很難講每一個設計模式都講的很詳細。 本章講講
Elam的caffe筆記之配置篇(四):Centos6.5下配置anaconda3
Elam的caffe筆記之配置篇(四):Centos6.5下配置anaconda3 配置要求: 系統:centos6.5 目標:基於CUDA8.0+Opencv3.1+Cudnnv5.1+python3.6介面的caffe框架 放棄了相容性最好的2.7版本,準備配置
【環境配置】(四)opencv3中配置sfm模組
1、配置前準備 下載:glog, gflags, eigen, ceres solver,地址見https://docs.opencv.org/trunk/db/db8/tutorial_sfm_installation.htmlopencv配置sfm官方說明 Eigen是一個高層次
(四)RabbitMQ訊息佇列-服務詳細配置與日常監控管理
RabbitMQ服務管理 啟動服務:rabbitmq-server -detached【 /usr/local/rabbitmq/sbin/rabbitmq-server -detached 】 檢視狀態:rabbitmqctl status 關閉服務:rabbitmqctl stop
Spring Cloud Eureka(四):Eureka 服務註冊中心配置說明
Eureka Client 配置項(eureka.client.*) org.springframework.cloud.netflix.eureka.EurekaClientConfigBean
mybatis原始碼-解析配置檔案(四)之配置檔案Mapper解析
其中, mappers作為configuration節點的一部分配置, 在本文章中, 我們講解解析mappers節點, 即 xxxMapper.xml 檔案的解析。 1 解析入口 在解析 mybatis-config.xml 時, 會進行解析 xxxMapper.xml 的檔案。 在圖示流程的 XMLCo
計算機視覺方向簡介(四) | 深度相機室內實時稠密三維重建
本文首發於公眾號:計算機視覺life。原文連結點這裡 有什麼用? 室內場景的稠密三維重建目前是一個非常熱的研究領域,其目的是使用消費級相機(本文特指深度相機)對室內場景進行掃描,自動生成一個精確完整的三維模型,這裡所說的室內可以是一個區域,一個房間,甚至是一整棟房屋。此外,該領域
第X屆智慧車攝像頭組程式碼全解析------(四)按鍵等其他初始化配置
作者:Sumjess 本次部落格內容: 該初始化函式下有以下語句: 一、init_control_circle(); --- 初始化PIT1和 PIT2: PIT
原 D-Bus 配置相關(四)
一個dbus daemon都一個配置檔案來指定建立什麼型別的dbus daemon,比如sysetm或者session型別,配置檔案還會有一些資源限制,安全相關的引數設定等等 一.dbus daemon配置檔案 我係統中的session的配置檔案選項列出來 地址: /etc/dbus-1/s
Java爬蟲入門簡介(四)——抓包工具的使用以及使用HttpClient模擬使用者登入的訪問
網路爬蟲需要解決的一個重要的問題就是要針對某些需要使用者名稱和密碼訪問的頁面可以模擬使用者自動登入。在這一篇部落格中我們將介紹如何使用Chrome瀏覽器自帶的抓包工具分析頁面並模擬使用者自動登入。我們會以CSDN的使用者登入為例,講述如何使用抓包工具獲取登入
spring cloud+.net core搭建微服務架構:配置中心(四)
前言 我們專案中有很多需要配置的地方,最常見的就是各種服務URL地址,這些地址針對不同的執行環境還不一樣,不管和打包還是部署都麻煩,需要非常的小心。一般配置都是儲存到配置檔案裡面,不管多小的配置變動,都需要對應用程式進行重啟,對於分散式系統來說,這是非常不可取的。所以配置中心就在這種場景孕育出來,能夠適配不同
Java虛擬機器--堆的配置引數(四)
最大堆和初始堆的設定 說明: Java程序啟動時,虛擬機器就會分配一塊初始堆空間,可以使用引數-Xms指定這塊空間的大小;如果初始堆空間耗盡,虛擬機器會對堆空間繼續擴充套件,其擴充套件上限為最大堆空間,最大堆空間可以使用引數-Xmx指定;示例1:通過此例,說明最大堆,初始堆