色彩感測器 Pmod 控制器 (VHDL)

邏輯主頁

程式碼下載

色彩感測器 Pmod 控制器(頂層檔案):pmod_color_sensor.vhd (17.4 KB)

I2C 主控(必須包含在專案中):i2c_master.vhd (14.1 KB)

特點

  • Digilent PmodCOLOR(用於 ams-OSRAMTCS3472 彩色光數位轉換器的 Pmod)精簡介面的 VHDL 原始碼
  • 透過 4 個平行介面持續輸出最新的光和色彩數據
  • 處理 I2C 通訊以及從色彩感測器 Pmod 檢索所有數據
  • 處理彩色光數位轉換器增益和時間參數的配置
  • 使用者可定義增益和時間
  • 可設定系統時脈頻率

介紹

本文詳細介紹了一個 VHDL 元件,將 FPGA 連接到 Digilent 的色彩感測器 Pmod,如圖 1 所示。圖 2 展示了此色彩感測器 Pmod 控制器整合到系統中的典型範例。如圖所示,色彩感測器 Pmod 控制器連接到 Pmod 連接埠並執行傳輸以配置 Pmod 並收集資料。資料會持續更新,並顯示在 4 個簡單的平行介面上,分別對應透明、紅色、綠色和藍色的資料值。

圖 1. Digilent 色彩感測器 Pmod

圖 2. 範例實現

工作原理

色彩感測器 Pmod 控制器主要由一個狀態機和一個 I2C 主控組件組成。

狀態機

此設計使用圖 3 所示的狀態機來實現其操作。啟動後,組件立即進入 start 狀態。狀態會維持 100ms,以確保 Pmod 有足夠的時間完成上電。然後,進入 set_gain 狀態,配置 TCS3472 彩色光數位轉換器中 ADC 的增益。完成後,進入 set_atime 狀態,配置這些 ADC 的整合時間。在 set_pon_aen 狀態下完成初始化序列。在此狀態下,設定電源開啟位元(PON)以啟動內部振盪器,並設定 ADC 啟用位元(AEN)以啟動 ADC。pause 狀態會實現 2.4ms 的暫停,以便 Pmod 有時間收集資料並更新資料暫存器。在接下來的 read_data 狀態中,控制器從 Pmod 收集最新的燈光和色彩資料。最後,它在 output_result 狀態中輸出資料。然後,控制器在 pauseread_dataoutput_result 狀態之間不斷循環,以保持燈光和色彩資料的更新。雖然狀態圖中未顯示,但任何時候重置元件都會使其回到 start 狀態。

圖 3. 狀態圖

I2C 主控

在 set_gainset_atimeset_pon_aenread_data 狀態下,狀態機控制 I2C 主控元件與 Pmod 上的 TCS3472 彩色光數位轉換器通訊。 I2C 主控的文件可在此處取得。

配置色彩感測器 Pmod 控制器

色彩感測器 Pmod 控制器的配置是透過設定實體中的通用參數來實現的。

系統時脈頻率

通用參數 sys_clk_freq 必須設定為透過其 clk 連接埠提供給色彩感測器 Pmod 控制器的系統時脈頻率。

增益

一般參數 gain 用於設定讀取 TCS3472 色彩數位轉換器中光電二極體的四個 ADC 的類比增益。您可以調整此值,以提高各種光照條件下顏色和光測量的精確度。有效增益值為 1、4、16 和 60。如果指定了其他值,則色彩感測器的預設增益值為 1。

整合時間

通用參數 atime 用於設定讀取 TCS3472 色彩數位轉換器中光電二極體的四個 ADC 的整合時間。整合時間會影響讀數的解析度和靈敏度,範圍為 2.4ms 至 614ms。參數 atime 是一個 2 的補碼值,根據公式 1 所示的所需整合時間計算。

image

更多詳情,請參閱 TCS3472 規格書 tbd - TCS3472_DS000390_2-00.pdf (4.6 MB) 第 15 頁頂部。

連接埠描述

表 1 描述了色彩感測器 Pmod 控制器的連接埠。

表 1. 連接埠描述

連接

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

表 2. 色彩感測器 Pmod 引腳排列及與色彩感測器 Pmod 控制器的連接

Pmod 還配有多個跳線。必須啟用(即連接)JP1 和 JP2 才能連接 SCL 和 SDA 所需的 I2C 上拉電阻。JP3 和 JP4 不影響色彩感測器 Pmod 控制器的運作。

重置

reset_n 輸入連接埠必須為邏輯高電平,色彩感測器 Pmod 控制器元件才能運作。此連接埠上的邏輯低電平會非同步重置元件。在重置期間,元件將中止目前與 Pmod 的傳輸,並清除 clearredgreenblue 資料輸出以及 i2c_ack_err 輸出。重置解除後,色彩感測器 Pmod 控制器將重新啟動運作。它會重新配置 Pmod,並繼續收集和輸出光和色彩資料。

結論

此色彩感測器 Pmod 控制器是一個可編程邏輯元件,可與 Digilent PmodCOLOR(色彩感測器 Pmod)介接。它負責處理與此 Pmod 的所有通訊,以配置 Pmod 的彩色光數位轉換器,並在平行輸出上提供持續更新的燈光和色彩資料流。

相關主題

I2C 主控(VHDL)