1 簡介
1.1 LPC1752及AT24C08C簡介
LPC1752是NXP推出的一款Cortex M3的芯片,最高運行頻率可達80M
AT24C08C是Atmel的一款I2C串行EEPROM,代替原來的型號AT24C08B及AT24C08A。共有8K(1024*8 bit)、1024字節的存儲單元??蛇M行1百萬次的寫操作,數據可保存100年。
1.2 連接方式
AT24C08C是通過LPC1752的I2C2連接的,連接圖如下:
圖1 LPC1752連接圖
1.3 AT24C08C設備地址
The 8K EEPROM only uses the A2 device address bit with the next twobits (P1, P0) being for memory page addressing. The A2 bit must compare to itscorresponding hardwired input pin. The A1 and A0 pins are not connected.
根據連接圖可得知AT24C08的地址為0xA0。
圖2 AT24C08CDevice Address
1.4 I2C運行時鐘頻率
主機模式下必須通過對I2SCLH和I2SCLL寄存器進行設置來選擇合適的總線速率和占空比。I2SCLH定義SCL高電平所保持的PCLK_I2C周期數,I2SCLL定義SCL低電平的PCLK_I2C周期數。位頻率由下面的公式得出(PCLK_I2C是外圍總線APB的頻率):
選用的I2SCLL和I2SCLH值必須確保得出的總線速率在I2C總線速率的范圍之內。I2SCLL和I2SLH的值都必須大于或等于4。表1給出了根據PCLK_I2C頻率和I2SCLL和I2SCLH值計算出來的I2C總線速率的示例。
表1 I2C時鐘速率的實例
2 函數介紹
2.1 初始化函數i2c2_init
按照LPC1752用戶手冊(UM10360)中第三章的介紹進行初始化,步驟如下:
a)。 電源:在寄存器PCONP中置位PCI2C2。
b)。 時鐘:在寄存器PCLK_SEL1中選擇PCLK_I2C2。
c)。 引腳: 通過寄存器PINSEL0使能I2C2引腳。通過寄存器PINMODE來配置I2C2引腳模式。
d)。 時鐘頻率:向I2SCLH和I2SCLH寄存器加載頻率值來定義串行時鐘頻率(主機模式)。
e)。 中斷:在NVIC中置位I2C2_IRQn寄存器使能I2C2中斷。
f)。 向寄存器I2CONSET寫入0x40來置位I2EN位。
2.2 中斷函數I2C2_IRQHandler
通過讀取I2STAT寄存器的值判斷I2C總線上的狀態,并進行下一步操作。
中斷函數只處理了主機接收模式與主機發送模式。
1)I2C進入主機進入發送起始條件時,串行中斷標志(SI)置位,狀態寄存器(I2STAT)中的狀態代碼為0x08。此時將從機地址和數據方向位(SLA+W)裝入I2DAT,同時復位I2CON的STA,STO和SI。
2.3 I2C總線進入開始狀態i2c2_start
可通過置位STA位進入主機發送模式。一旦總線空閑,I2C邏輯會馬上測試I2C總線并產生一個起始條件。
2.4 I2C停止函數i2c2_stop:
I2C結束時發送停止條件并釋放總線。
a)向I2CONSET寫入0x14來置位STO和AA位;
b)向I2CONCLR寫入0x08來清除SI標志;
2.5主機發送函數i2c2_write
啟動主機發送功能,向從機發送數據,通過建立緩沖區、指針和數據計數然后發啟起始條件便可執行主發送操作。
a)初始化主機數據計數器;
b)建立數據將被發送到的從機地址,并且添加寫位;
c)向I2CONSET寫入0x20來置位STA位;
d)在主發送緩沖區內建立要發送的數據;
e)初始化主機數據計數器來匹配正在發送的信息長度;
f)退出。
2.6主機接收函數 i2c2_read
啟動主機接收功能,接收從機發出的數據。
通過建立緩沖區、指針和數據計數然后發啟起始條件便可執行主接收操作。
a)初始化主機數據計數器;
b)建立數據將被發送到的從機地址,并且添加讀位;
c)向I2CONSET寫入0x20來置位STA位;
d)在主接收緩沖區內建立要發送的數據;
e)初始化主機數據計數器來匹配正在發送的信息長度;
f)退出。
3 測試
通過向0x00地址寫入并回讀固定數據驗證有效性。
測試結果比較
第一次讀取
第二次讀取
經驗證可以正常使用。
編輯:hfy
-
寄存器
+關注
關注
31文章
5363瀏覽量
120914 -
存儲單元
+關注
關注
1文章
63瀏覽量
16170 -
EEPROM
+關注
關注
9文章
1033瀏覽量
81828 -
Cortex M3
+關注
關注
0文章
7瀏覽量
8568 -
LPC1752
+關注
關注
0文章
4瀏覽量
3508
發布評論請先 登錄
相關推薦
評論