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

模塊組織:

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

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



架構(gòu):SPI接口
傳感器規(guī)范描述了以下時(shí)序圖,它是 verilog spi_interface 代碼的完整基礎(chǔ)。
這是通過兩個(gè) 8 位計(jì)數(shù)器和一個(gè) 8 位寄存器實(shí)現(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

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

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

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

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

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

有關(guān)七段顯示的詳細(xì)信息,請(qǐng)參閱 Basys 3 參考手冊(cè)。https://reference.digilentinc.com/programmable-logic/basys-3/reference-manual
模擬:
請(qǐng)?jiān)?GitHub 存儲(chǔ)庫(kù)中找到測(cè)試平臺(tái)代碼。
所有三個(gè)模塊都被實(shí)例化。


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



概括
與這個(gè)項(xiàng)目一起工作非常有趣。需要改進(jìn)以降低的頻率傳輸數(shù)據(jù)字節(jié)以及在七段顯示模塊中,以便數(shù)據(jù)字節(jié)的所有三位數(shù)字都清楚地顯示在顯示器上。我很高興聽到您對(duì)這個(gè)項(xiàng)目的想法。
最重要的是特別感謝來自nandland.com的 Russel和來自Simply Embedded的 Greidi Ajalik 。我從你那里學(xué)到了很多東西,并感謝你所做的工作。
感謝您的閱讀!
- STM32CubeMX-HAL庫(kù)的SPI接口使用
- 基于Verilog的SPI接口設(shè)計(jì)
- 第9章:串行外設(shè)接口模塊(SPI)PPT下載 36次下載
- ST公司的M25Pxx SPI flash memory的verilog仿真模型
- 通過Verilog在SRAM讀寫程序源代碼 9次下載
- 基于Verilog的FPGA與USB 2.0高速接口設(shè)計(jì)資料下載
- 如何在FPGA中實(shí)現(xiàn)SPI4.2接口 13次下載
- 使用Verilog實(shí)現(xiàn)SPI串行總線接口的資料和源代碼免費(fèi)下載 9次下載
- SPI總線接口在OLED模塊中的應(yīng)用詳細(xì)說明 7次下載
- STM32F4串行外設(shè)接口(SPI)的源代碼的詳細(xì)資料免費(fèi)下載 50次下載
- Verilog 入門的實(shí)例代碼 20次下載
- verilog_代碼 12次下載
- ENC28J60 spi 接口 以太網(wǎng) 網(wǎng)絡(luò)模塊 提供 代碼 22次下載
- verilog代碼規(guī)范 24次下載
- verilog_代碼資料 37次下載
- Verilog 與 ASIC 設(shè)計(jì)的關(guān)系 Verilog 代碼優(yōu)化技巧 218次閱讀
- 如何自動(dòng)生成verilog代碼 391次閱讀
- Verilog語法中運(yùn)算符的用法 1118次閱讀
- 分享一些優(yōu)秀的verilog代碼 高質(zhì)量verilog代碼的六要素 1207次閱讀
- Verilog代碼封裝后門訪問 907次閱讀
- SPI接口如何幫助減少系統(tǒng)板設(shè)計(jì)中的數(shù)字GPIO數(shù)量 1190次閱讀
- 什么樣的Verilog代碼風(fēng)格是好的風(fēng)格? 1570次閱讀
- SPI接口簡(jiǎn)介 如何減少系統(tǒng)電路板設(shè)計(jì)中的數(shù)字GPIO數(shù)量 2802次閱讀
- 高質(zhì)量Verilog代碼有什么特點(diǎn) 1963次閱讀
- 嵌入式硬件通信接口協(xié)議中的串行通信接口-SPI 1654次閱讀
- 蜂鳥FPGA開發(fā)板及蜂鳥JTAG下載器講解說明 1w次閱讀
- 基于FPGA的SPI Master Interface設(shè)計(jì) 1.1w次閱讀
- 沒有直接可用的Pmod驅(qū)動(dòng)怎么辦?教你一招 2356次閱讀
- 無驅(qū)動(dòng)問題的Zynq搭配Pmod開發(fā)解決方案 1971次閱讀
- Verilog代碼設(shè)計(jì)案例分析 4254次閱讀
下載排行
本周
- 1NS1081/NS1081S/NS1081Q USB 3.0閃存數(shù)據(jù)手冊(cè)
- 0.40 MB | 4次下載 | 2 積分
- 2光伏并網(wǎng)逆變器原理
- 7.31 MB | 3次下載 | 2 積分
- 3T20電烙鐵原理圖資料
- 0.27 MB | 2次下載 | 免費(fèi)
- 4PL83081 雙路恒流同步降壓轉(zhuǎn)換器技術(shù)手冊(cè)
- 3.34 MB | 1次下載 | 免費(fèi)
- 5PL88052 4.8V至60V輸入,5A,同步降壓轉(zhuǎn)換器技術(shù)手冊(cè)
- 3.36 MB | 1次下載 | 免費(fèi)
- 6LX8201微孔霧化驅(qū)動(dòng)芯片電路圖資料
- 0.15 MB | 1次下載 | 免費(fèi)
- 7PC6200_7V直流電機(jī)驅(qū)動(dòng)器技術(shù)手冊(cè)
- 0.47 MB | 次下載 | 免費(fèi)
- 8恒溫晶體振蕩器(OCXO)FOC-2D:20.6×20.6mm在通信基站和測(cè)試設(shè)備中的應(yīng)用參數(shù)規(guī)格
- 485.75 KB | 次下載 | 免費(fèi)
本月
- 1如何看懂電子電路圖
- 12.88 MB | 329次下載 | 免費(fèi)
- 2RK3588數(shù)據(jù)手冊(cè)
- 2.24 MB | 14次下載 | 免費(fèi)
- 3PC5502負(fù)載均流控制電路數(shù)據(jù)手冊(cè)
- 1.63 MB | 12次下載 | 免費(fèi)
- 4STM32F10x參考手冊(cè)資料
- 13.64 MB | 12次下載 | 1 積分
- 5OAH0428 V1.0英文規(guī)格書
- 5.86 MB | 8次下載 | 免費(fèi)
- 6NS1081/NS1081S/NS1081Q USB 3.0閃存數(shù)據(jù)手冊(cè)
- 0.40 MB | 4次下載 | 2 積分
- 7PID控制算法學(xué)習(xí)筆記資料
- 3.43 MB | 3次下載 | 2 積分
- 8光伏并網(wǎng)逆變器原理
- 7.31 MB | 3次下載 | 2 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935132次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191415次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183349次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81599次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73818次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65990次下載 | 10 積分
評(píng)論