我們支持的大多數 QuikEval 演示板都有一個板載 EEPROM,用于存儲一串字符。該字符串包含有關電路板的部件號、演示板號和其他特性的信息。例如,下面是存儲在演示板DC956上的EEPROM中的字符串:“LTC2485,Cls,D2484,01,01,DC,DC956,---------------”
此字符串顯示部件號為 LTC2485,演示板編號為 DC956,GUI 類號為 D2484(“Cls、D2484”),電路板版本為“01、01”)。對于QuikEval軟件,該字符串由處理器(在Linduino上)讀出以識別連接的電路板。然而,EEPROM的使用可以擴展到不僅僅是存儲字符串。對于DAC或ADC,它可用于存儲上電時的校準數據,而對于溫度傳感器,它可用于存儲傳感器特定數據。
內存組織:
圖 1.EEPROM 24LC025的存儲器組織
EEPROM 24LC025 是一款 2 Kbit 存儲器,由 256×8 位存儲器組成。它具有一次 16 字節數據的頁面寫入功能。由于每個演示板的EEPROM ID字符串大約需要50個字符,因此確保該部分不會被覆蓋非常重要,因此,我們僅從第4頁(第64個字節)開始。
圖解的:
EEPROM 使用 I2C 與微控制器通信。下圖顯示了在 QuikEval 支持的演示板上與 EEPROM 的連接。EESDA 和 EESCL 是 I2從控制器到 EEPROM 的 C 線。24LC025 上的寫保護 (WP) 引腳處于非活動狀態。因此,此EEPROM沒有可用的寫保護,并且該引腳被拉至V抄送.我2EEPROM 的 C 地址設置為 0×50(7 位尋址)。
圖 2.EEPROM連接到演示板上的QuikEval連接器。
代碼庫:
我們的LTSketchbook中的QuikEval_EEPROM庫定義了可用于與EEPROM通信的功能。最好的方法是將所有要寫入EEPROM的數據存儲為結構。創建結構和相同大小的字符串的聯合。這有助于您將所有數據作為字符串寫入EEPROM。
考慮一個需要校準密鑰、初始報警設置以及最大和最小功率閾值存儲在EEPROM中的系統。以下代碼段定義了具有這些值的結構,并使用聯合來包裝結構和字符串:
要說我2C 到 EEPROM,第一個字節是控制字節,包含 4 位控制代碼(二進制 '1010'),3 位 I2C 地址由 EEPROM 和 R/W 位上的 A2、A1 和 A0 引腳確定。由于這些引腳接地,因此3位將是二進制“000”。所以 7 位 I2零件的 C 地址為 0×50。
收到第一個字節的確認后,第二個字節由主站傳輸,這是要寫入的地址位置。第三個字節是要寫入該位置的數據。
寫入EEPROM的代碼示例:
從EEPROM讀取的代碼示例:
這些函數已在QuikEval_EEPROM庫中定義。如果是頁面寫入,則主站最多再發送 15 個數據字節,而不是發送停止字節。地址增量僅發生在最后 4 位。如果寫入的字節超過 16 個,地址將滾動并從頁面頂部重新寫入。
審核編輯:郭婷
-
傳感器
+關注
關注
2565文章
52995瀏覽量
767343 -
處理器
+關注
關注
68文章
19893瀏覽量
235162 -
電路板
+關注
關注
140文章
5133瀏覽量
102609
發布評論請先 登錄
【RA-Eco-RA6M4開發板評測】+初識篇
【正點原子STM32MP257開發板試用】板載資源測試
【正點原子STM32MP257開發板試用】介紹、上電測試、系統連接
FX3的SPI EEPROM支持列表如何?
NXP i.MX 93 開發板#提供高效的機器學習 支持高能效的邊緣計算

OpenHarmony源碼編譯后燒錄鏡像教程,RK3566鴻蒙開發板演示

評論