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