七段顯示器 Pmod 控制器(VHDL)

邏輯主頁

程式碼下載

頂級文件
七段顯示器 Pmod 控制器:pmod_seven_segments.vhd (4.4 KB)

項目中必須包含的其他文件:
多位七段顯示器驅動程式:seven_segments.vhd (5.0 KB)
二進位到 BCD 轉換器:binary_to_bcd.vhd (5.8 KB)
二進位到 BCD 數位轉換器:binary_to_bcd_digit.vhd (3.2 KB)
BCD 到七段映射:bcd_to_7seg_display.vhd (2.0 KB)

特點

  • Digilent 七段顯示器 Pmod (PmodSSD) 精簡介面的 VHDL 原始碼
  • 在兩個七段顯示器上顯示 2 位元數字
  • 不顯示前數值零
  • 處理 Pmod 上兩個顯示器共享輸入引腳之間的多工
  • 可設定系統時脈頻率

介紹

這詳細介紹了用於處理與 Digilent 的 SSD Pmod 介面的 VHDL 元件,如圖 1 所示。圖 2 說明了此 SSD Pmod 控制器整合到系統中的典型範例。如圖所示,SSD Pmod 控制器透過 FPGA 的輸出埠直接連接到 SSD Pmod。它從使用者邏輯輸入一個數字,並輸出必要的訊號以在 Pmod 的七 段顯示器上顯示該數字。該組件是使用 Vivado 2017.2 設計的。


圖 1.Digilent SSD Pmod

圖 2. 範例實現

背景

SSD Pmod 使用共享數據線與兩個七段顯示器交互,其中一組標準 a-g 數據線直接連接到兩個 SSD。 SSD 採用共陰極配置。共陰極連接充當「數字選擇」。此輸入在 SSD 之間倒置,以便當另一個數字的陰極設定為低(啟用它)時,每個數字的陰極都設定為高(有效將其關閉)。

工作原理

SSD Pmod 控制器輸入一個 2 位元整數,確定表示它所需的 SSD 段值,然後在 SSD Pmod 的共用輸入上將這些值多工。圖 3 說明了此過程中的操作。

圖 3. 執行的操作

判斷 SSD 段值

SSD Pmod 控制器使用了另一文章「7-Segment Display Driver for Multiple Digits (VHDL)」提供的多位元七段顯示磁碟機元件來取得輸入整數並判斷 SSD Pmod 上每個 SSD 所需的段值。此元件的工作原理是首先將整數輸入轉換為標準邏輯向量,以獲得整數的二進位表示。它使用二進位到 BCD 轉換器元件將該二進制數轉換為二進位編碼的十進位(BCD)。如果結果 BCD 數字以零開頭,則將停用。最後,它將 BCD 值對應到 SSD 段值。

在實例化多位七段顯示驅動器組件時,有三個通用參數對其進行配置。對於此設計,數字設定為 2,因為 SSD Pmod 有兩個 SSD 需要控制。位元設定為 7,因為 3.322 x 數字 = 6.644,所以向上舍入為 7。最後,ss_polarity 設定為「1」,因為 SSD Pmod 的七段顯示器採用共陰極排列。

多工 SSD 段值

由於 SSD Pmod 的兩個 SSD 具有共享輸入引腳,因此 SSD Pmod 控制器必須多工兩個 SSD 值集。它每 5ms 交替輸出兩個 SSD 值集。這相當於 100Hz 的刷新率,足夠快以實現視覺暫留,因此看起來兩個 SSD 都同時亮起。

配置時鐘

此 SSD Pmod 控制器的時脈是透過為 ENTITY 中定義的 GENERIC clk 指派一個值來配置的。這是所提供的系統時脈的頻率(以 MHz 為單位)。

連接埠說明

表 1 描述了 SSD Pmod 控制器的連接埠。

表 1. 連接埠說明

連接

這個 Pmod 有兩個 6 針連接器。表 2 提供了這些連接器的引腳排列。SSD Pmod 控制器的連接埠需要分配給路由至這些連接器的 FPGA 引腳,如所列。

表 2. SSD Pmod 引腳分配和與 SSD Pmod 控制器的連接

重置

為了使 SSD Pmod 控制器組件能夠運行,reset_n 輸入連接埠必須具有邏輯高電平。此連接埠上的低邏輯電平非同步重置該元件。在重設期間,元件會清除 digit_select 和分段輸出。一旦重置完畢,SSD Pmod 控制器將恢復運作。

結論

此 SSD Pmod 控制器是可程式邏輯元件,可與 Digilent 的七段顯示器 (SSD) Pmod 介接。它處理在 Pmod 的 SSD 上顯示 2 位元整數所需的所有過程。

相關主題

7-Segment Display Driver for Multiple Digits (VHDL)
Binary to BCD Converter (VHDL)