資料介紹
描述
在這個項目中,SPI 接口代碼是用 Verilog 編寫的,用于連接來自 Pmod-ALS 的 8 位 ADC。8 位二進制轉(zhuǎn)換為 BCD 并顯示在 7 段顯示器上。Verilog 代碼是在 Basys 3 板上的 Artix-7 FPGA 上合成的。
關(guān)于我.. 我已經(jīng)開始學習 Verilog,從硬件的角度思考是非常充實和令人興奮的。該項目需要更改和改進,我很高興知道您對此有何看法。
概述
該項目由三個模塊組成,如下所示。
- spi_interface
- 雙重涉獵
- 七段顯示

模塊組織:

模塊一:SPI接口
(模塊:spi_interface)
Pmod 環(huán)境光傳感器 (ALS) 具有一個帶有高速 SPI 接口的 8 位 ADC(來自 Texas Instruments 的 ADC081S021)。

由于在硬件上調(diào)試時序非常重要,因此我分配了 3 個 I/O 用于監(jiān)控 Digilent Analog Discovery 上 Pmod ALS 的 CS、SCLK、SDO 線。
注意:即使在仿真中分析和調(diào)試時序(通過測試臺代碼),在邏輯分析儀上連接一些信號也變得非常有必要——在下圖中用藍色框表示。



架構(gòu):SPI接口
傳感器規(guī)范描述了以下時序圖,它是 verilog spi_interface 代碼的完整基礎(chǔ)。
這是通過兩個 8 位計數(shù)器和一個 8 位寄存器實現(xiàn)的。
reg [7:0] data_counter; // Free running counter till 20, to time CS
reg [7:0] clk_div; // Prescaler 100 MHz FPGA clock to 1.92 MHz SPI Clock
reg [7:0] r_RX_Byte = 8'b0000_0000; // MISO: Received 1 byte of data from PMOD_ALS

時鐘分頻器(clk_div):從主時鐘(Basys 3 板上的 100 MHz)導出 spi 時鐘(1.92 MHz)。

Pmod ALS 上的 ADC 將光強度的模擬值轉(zhuǎn)換為數(shù)字值,然后將其串行化以在 SPI 總線上傳輸。
前 3 位和后 4 位是零和 1 個三態(tài)位。中間的 8 位是數(shù)據(jù)。我們的 verilog 代碼在 spi 時鐘的幫助下同步捕獲這些數(shù)據(jù)。
數(shù)據(jù)計數(shù)器:data_counter 是一個自由運行的計數(shù)器,由 spi 時鐘計時。它被調(diào)整為觸發(fā)數(shù)據(jù)讀取和控制從/到 Pmod-SDO 的芯片選擇。
一旦 data_counter 變?yōu)?20,它就會被重置為 0。在 16 時,CS 按照時序圖的要求被拉高。

注意:CS 可以作為該模塊的輸入,以便頂層應用程序可以命令 CS 引腳。
SDO數(shù)據(jù)讀?。喊凑諘r序圖圖 6 將 SDO 數(shù)據(jù)讀取到 8 位寄存器(MSB 在前)。

模塊 2:雙重涉獵
讀取的 8 位數(shù)據(jù)被轉(zhuǎn)換為三個 4 位 BCD 矢量,以便能夠在 7 段顯示器上的每個十進制數(shù)字處驅(qū)動每個 LED。請在https://www.nandland.com/vhdl/modules/double-dabble.html閱讀 Russel 的這篇漂亮的文章
我使用了他的 double dabble 算法的 verilog 代碼并納入了這個項目。謝謝拉塞爾:)

模塊三:七段顯示
該模塊將 4 位 BCD 矢量轉(zhuǎn)換為驅(qū)動 Basys 3 板上四個七段顯示器的 LED。

有關(guān)七段顯示的詳細信息,請參閱 Basys 3 參考手冊。https://reference.digilentinc.com/programmable-logic/basys-3/reference-manual
模擬:
請在 GitHub 存儲庫中找到測試平臺代碼。
所有三個模塊都被實例化。


串行數(shù)據(jù)在 SDO 線上傳輸,用于仿真和驗證。有待驗證雙dabble算法和七段顯示器的陽極/陰極控制是否能正常工作。
結(jié)果:



概括
與這個項目一起工作非常有趣。需要改進以降低的頻率傳輸數(shù)據(jù)字節(jié)以及在七段顯示模塊中,以便數(shù)據(jù)字節(jié)的所有三位數(shù)字都清楚地顯示在顯示器上。我很高興聽到您對這個項目的想法。
最重要的是特別感謝來自nandland.com的 Russel和來自Simply Embedded的 Greidi Ajalik 。我從你那里學到了很多東西,并感謝你所做的工作。
感謝您的閱讀!
- STM32CubeMX-HAL庫的SPI接口使用
- 基于Verilog的SPI接口設(shè)計
- 第9章:串行外設(shè)接口模塊(SPI)PPT下載 38次下載
- ST公司的M25Pxx SPI flash memory的verilog仿真模型
- 通過Verilog在SRAM讀寫程序源代碼 9次下載
- 基于Verilog的FPGA與USB 2.0高速接口設(shè)計資料下載
- 如何在FPGA中實現(xiàn)SPI4.2接口 13次下載
- 使用Verilog實現(xiàn)SPI串行總線接口的資料和源代碼免費下載 9次下載
- SPI總線接口在OLED模塊中的應用詳細說明 7次下載
- Verilog 入門的實例代碼 21次下載
- verilog_代碼 12次下載
- 8051 verilog 版代碼 0次下載
- ENC28J60 spi 接口 以太網(wǎng) 網(wǎng)絡(luò)模塊 提供 代碼 22次下載
- verilog代碼規(guī)范 24次下載
- verilog_代碼資料 38次下載
- Verilog 與 ASIC 設(shè)計的關(guān)系 Verilog 代碼優(yōu)化技巧 1.5k次閱讀
- 如何自動生成verilog代碼 1.7k次閱讀
- Verilog語法中運算符的用法 3.4k次閱讀
- 分享一些優(yōu)秀的verilog代碼 高質(zhì)量verilog代碼的六要素 1.9k次閱讀
- Verilog代碼封裝后門訪問 1.5k次閱讀
- SPI接口如何幫助減少系統(tǒng)板設(shè)計中的數(shù)字GPIO數(shù)量 1.9k次閱讀
- 什么樣的Verilog代碼風格是好的風格? 2.3k次閱讀
- SPI接口簡介 如何減少系統(tǒng)電路板設(shè)計中的數(shù)字GPIO數(shù)量 3.5k次閱讀
- 高質(zhì)量Verilog代碼有什么特點 2.3k次閱讀
- 嵌入式硬件通信接口協(xié)議中的串行通信接口-SPI 2.1k次閱讀
- 蜂鳥FPGA開發(fā)板及蜂鳥JTAG下載器講解說明 1.2w次閱讀
- 基于FPGA的SPI Master Interface設(shè)計 1.2w次閱讀
- 沒有直接可用的Pmod驅(qū)動怎么辦?教你一招 2.7k次閱讀
- 無驅(qū)動問題的Zynq搭配Pmod開發(fā)解決方案 2.3k次閱讀
- Verilog代碼設(shè)計案例分析 4.5k次閱讀
下載排行
本周
- 1新一代網(wǎng)絡(luò)可視化(NPB 2.0)
- 3.40 MB | 1次下載 | 免費
- 2冷柜-電氣控制系統(tǒng)講解
- 13.68 MB | 1次下載 | 10 積分
- 3MDD品牌三極管MMBT3906數(shù)據(jù)手冊
- 2.33 MB | 次下載 | 免費
- 4MDD品牌三極管S9012數(shù)據(jù)手冊
- 2.62 MB | 次下載 | 免費
- 5LAT1218 如何選擇和設(shè)置外部晶體適配 BlueNRG-X
- 0.60 MB | 次下載 | 3 積分
- 6LAT1216 Blue NRG-1/2 系列芯片 Flash 操作與 BLE 事件的互斥處理
- 0.89 MB | 次下載 | 3 積分
- 7收音環(huán)繞擴音機 AVR-1507手冊
- 2.50 MB | 次下載 | 免費
- 8MS1000TA 超聲波測量模擬前端芯片技術(shù)手冊
- 0.60 MB | 次下載 | 免費
本月
- 1愛華AIWA HS-J202維修手冊
- 3.34 MB | 37次下載 | 免費
- 2PC5502負載均流控制電路數(shù)據(jù)手冊
- 1.63 MB | 23次下載 | 免費
- 3NB-IoT芯片廠商的資料說明
- 0.31 MB | 22次下載 | 1 積分
- 4UWB653Pro USB口測距通信定位模塊規(guī)格書
- 838.47 KB | 5次下載 | 免費
- 5蘇泊爾DCL6907(即CHK-S007)單芯片電磁爐原理圖資料
- 0.04 MB | 4次下載 | 1 積分
- 6蘇泊爾DCL6909(即CHK-S009)單芯片電磁爐原理圖資料
- 0.08 MB | 2次下載 | 1 積分
- 7100W準諧振反激式恒流電源電路圖資料
- 0.09 MB | 2次下載 | 1 積分
- 8FS8025B USB的PD和OC快充協(xié)議電壓誘騙控制器IC技術(shù)手冊
- 1.81 MB | 1次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191439次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183353次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81602次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73822次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發(fā)燒友App





創(chuàng)作
發(fā)文章
發(fā)帖
提問
發(fā)資料
發(fā)視頻
上傳資料賺積分
評論