基于Actel FPGA的I2C IP的應(yīng)用
● 狀態(tài)寄存器——I2C_STA
本文引用地址:http://www.ex-cimer.com/article/97040.htm狀態(tài)寄存器取出所有內(nèi)部狀態(tài)位并將它們壓縮成一個(gè)5位的代碼,該代碼與每個(gè)I2C總線狀態(tài)位一一對應(yīng),5位代碼可用于產(chǎn)生向量地址,以便快速處理不同的服務(wù)程序,每個(gè)服務(wù)程序處理一個(gè)特定的總線狀態(tài)。如果I2C模塊的所有模式都被使用,則有26種可能的總線狀態(tài)。
● 數(shù)據(jù)寄存器——I2C_DAT
數(shù)據(jù)寄存器包含要發(fā)送或剛接收的數(shù)據(jù),當(dāng)它沒有處理字節(jié)的移位時(shí),APB控制器可以對其進(jìn)行讀寫。
● 地址寄存器——I2C_ADDR
Bit7~Bit1:自身從機(jī)地址。
Bit0:通用調(diào)用位,該位設(shè)置為1,通用調(diào)用地址有效,否則無效。
(4)Core I2C的基本操作
Core I2C可以配置成主機(jī)或從機(jī),總線時(shí)鐘速率可調(diào)整,最高可支持400kb/s的總線傳輸速率。使用I2C總線時(shí),在總線上要連接兩個(gè)上拉電阻,阻值為1~10k歐姆。
● 主機(jī)發(fā)送模式
主機(jī)發(fā)送模式的數(shù)據(jù)發(fā)送格式如圖 3所示。先發(fā)送起始條件,然后發(fā)送從機(jī)地址和寫方向位,這時(shí)從機(jī)會(huì)產(chǎn)生一個(gè)應(yīng)答,主機(jī)在接收到應(yīng)答位后,依次發(fā)送n個(gè)數(shù)據(jù),每個(gè)數(shù)據(jù)發(fā)送后,從機(jī)都會(huì)產(chǎn)生一個(gè)應(yīng)答位,發(fā)送完n個(gè)數(shù)據(jù)后,主機(jī)發(fā)送停止位。
評論