熱電偶 Pmod 控制器(VHDL)

邏輯主頁

程式碼下載

熱電偶 Pmod 控制器(頂層檔案):pmod_thermocouple.vhd (7.1 KB)

SPI 主控端(必須包含在專案中):spi_master.vhd (8.8 KB)

特點

  • Digilent 熱電偶 Pmod (PmodTC1)精簡介面的 VHDL 原始碼
  • 透過平行介面持續輸出最新的熱電偶數據、參考接面溫度資料和故障位元
  • 處理 SPI 通訊以及從熱電偶 Pmod 檢索所有數據
  • 可設定的系統時脈頻率

介紹

本文詳細介紹了一個 VHDL 組件,用於處理與 Digilent 熱電偶 Pmod 的接口,如圖 1 所示。圖 2 展示了此熱電偶 Pmod 控制器整合到系統中的典型範例。如圖所示,熱電偶 Pmod 控制器連接到 Pmod 連接埠並執行交換,以保護熱電偶溫度數據、內部接面溫度數據和故障位元。然後,數據顯示在簡單的平行介面上,該介面可以連接到使用者邏輯或 FPGA 上的輸出連接埠。

圖 1. Digilent 熱電偶 Pmod TC1

圖 2. 範例實現

背景

熱電偶 Pmod 使用 Analog Devices Inc./Maxim Integrated 的 MAX31855 對 K 型熱電偶訊號進行數位化,並提供補償的參考接面溫度。測量的熱電偶溫度為 14bit,分辨率為 0.25 ºC 。參考接面溫度為 12bit,解析度為 0.0625ºC。

工作原理

熱電偶 Pmod 控制器主要由一個狀態機和一個 SPI 主控端組件組成。

狀態機

此設計使用圖 3 所示的簡單狀態機來實現其操作。啟動後,組件立即進入啟動狀態。它會保持此狀態 300ms,以確保 Pmod 有足夠的時間上電並完成首次溫度轉換。然後,它會進入 get_data 狀態,在此狀態下與 Pmod 發起 SPI 交換以檢索轉換結果。交換開始後,元件進入暫停狀態。此時,它會在 tc_temp_datajunction_temp_datafault_bits 連接埠可用時輸出接收到的資訊。當 100ms 的轉換週期結束後,元件將傳回 get_data 狀態以啟動下一個數據檢索交易。雖然狀態圖中未顯示,但隨時重置組件都會使其返回啟動狀態。

圖 3. 狀態圖

SPI 主控端

狀態機控制 SPI 主控端元件與 Pmod 上的 MAX31855 轉換器通訊。 SPI 主控端配置為 CPOL = 0 和 CPHA = 0,以滿足 MAX31855 的要求。SPI 主控端組件的完整文件可在此處取得。

配置時鐘

此熱電偶 Pmod 控制器的時脈是透過為 ENTITY 中定義的通用參數 clk_freqspi_clk_div 分配值來配置的。參數 clk_freq 必須設定為所提供系統時脈 clk 的頻率(以 MHz 為單位)。公式 1 定義了 spi_clk_div 的計算方法。

image

其中,fclk 是所提供系統時脈的頻率(以 MHz 為單位)。系統時脈由 clk 輸入埠提供。

公式 2 定義了由此產生的 SPI 時脈頻率 fsclk

此計算使 SPI 時脈保持在 MAX31855 的最大指定串列通訊頻率 5MHz 或接近該頻率(但不超過該頻率)。

連接埠描述

表 1 描述了熱電偶 Pmod 控制器的連接埠。數據格式和輸出的詳細說明如下。

表 1. 連接埠描述

熱電偶溫度數據

tc_temp_data 連接埠輸出 14bit 熱電偶溫度數據。數據採用 2 的補碼格式,解析度為每位 0.25ºC。

接面溫度數據

junction_temp_data 連接埠輸出 12bit 參考接面溫度數據。數據採用 2 的補碼格式,解析度為每位 0.0625ºC。

故障位元

表 2 定義了 fault_bits 總線上的輸出。

表 2. 故障位元

連接

此 Pmod 有一個 6 針連接器。表 3 提供了此連接器的引腳排列。熱電偶 Pmod 控制器的連接埠需要分配給連接到此連接器的 FPGA 引腳,具體如下表所示。

表 3. TC1 Pmod 引腳排列及與熱電偶 Pmod 控制器的連接

重置

reset_n 輸入連接埠必須為邏輯高電平,熱電偶 Pmod 控制器組件才能運作。此連接埠上的邏輯低電平會非同步重置元件。重置期間,元件會中止目前與熱電偶 Pmod 的交換,並清除 tc_temp_datajunction_temp_datafault_bits 輸出。重置解除後,熱電偶 Pmod 控制器將恢復工作。

結論

此熱電偶 Pmod 控制器是可程式邏輯組件,可與 Digilent 的熱電偶(TC1)Pmod 接合。它處理與 TC1 Pmod 的所有通訊,並在並行輸出端口上提供持續更新的熱電偶溫度數據、參考接面溫度數據和故障訊號流。

相關主題

SPI Master (VHDL)