1簡介
中微愛芯電子有限公司的許多顯示驅動芯片采用了類I2C接口,客戶可通過MCU與我司的顯示驅動芯片進行通信,類I2C總線具有低功耗、抗干擾強、傳輸距離長等優(yōu)點,相比于標準I2C,不需要尋址操作,操作更加簡單。下面將對我司類I2C通信及注意事項進行說明。
2分類
類I2C接口有與標準I2C接口相同的start和stop信號,無從機地址,部分電路有與標準I2C接口相同的應答信號。主要分為以下兩類:
無應答信號ACK位,以AiP1640、AiP33624、AiP33620等電路為例;
有應答信號ACK位,以AiP650、AiP1637等電路為例。
3通信介紹
(1)無應答信號的類I2C介紹
以AiP33624為例:
◆start和stop信號
start信號:SCL為高電平時,SDA由高電平向低電平跳變,開始傳送數(shù)據(jù)。
stop信號:SCL為高電平時,SDA由低電平向高電平跳變,結束傳送數(shù)據(jù)。
◆數(shù)據(jù)位的有效性規(guī)定
在進行數(shù)據(jù)傳送時,在SCL的上升沿鎖存數(shù)據(jù),SCL為高電平期間,SDA線上的數(shù)據(jù)必須保持穩(wěn)定,只有在SCL線上的信號為低電平期間,SDA線上的數(shù)據(jù)狀態(tài)才允許改變,且SDA線上的數(shù)據(jù)不能在SCL為下降沿改變。
◆單字節(jié)通信
單字節(jié)通信中8個時鐘一個周期,高位在前。
◆多字節(jié)通信
在多字節(jié)通信時,第一個字節(jié)為指令,第二個字節(jié)開始是RAM的數(shù)據(jù)。第二個字節(jié)開始,數(shù)據(jù)會從地址0x00開始,依次存入RAM中。
(2)有應答信號的類I2C介紹
以AiP650為例:
AiP650電路與AiP33624相比,有相同的start、stop信號和數(shù)據(jù)位有效規(guī)定。AiP650在傳輸數(shù)據(jù)的過程中,在時鐘線的第九個時鐘,芯片內部會產生一個應答信號ACK將DIO管腳拉低。無論是命令寫入或者是數(shù)據(jù)寫入讀出時,在一個8位字節(jié)后的第9位都是ACK信號輸出。
4常見問題及處理辦法
(1)ACK半高問題
◆ 常見不良現(xiàn)象
在有ACK應答信號的通訊波形中,會發(fā)現(xiàn)ACK信號存在“半高波形”,嚴重的會影響信號識別,例如AiP650電路應用中會存在ACK“半高”導致無顯示問題。
◆原因
若讀取ACK時主控未將SDA端口設置為輸入,而是保持為高電平輸出,AiP650會在ACK應答時會返回低電平,因此會造成電平沖突存在半高波形,嚴重時甚至影響功能。
若讀取ACK信號時將SDA設為輸入狀態(tài)后,又通過指令SDA端口置高,同樣造成電平沖突存在半高波形,導致ACK信號出現(xiàn)異常。
◆改善措施
在讀取ACK時,需將主控的SDA端口設置為輸入模式,建議設為高阻輸入。
(2)初始化處理
◆常見不良現(xiàn)象
初始化第一條指令未識別,導致功能異常。例如AiP33624方案中曾出現(xiàn)第一條指令全局亮度未識別,導致整體亮度偏暗。AiP5908、AiP5916等電路需要注意此問題。
◆原因
初始化可能存在如下兩個狀態(tài):
當執(zhí)行端口初始化程序時,為了執(zhí)行子函數(shù),在子函數(shù)運行前將SCL和SDA的端口置低,但該操作誤寫入一個start信號,如下圖所示。
整機上電時,MCU端口電平可能處于不可控狀態(tài),此時的SCL、SDA電平則有可能在通信初期識別為start信號,如下圖所示。
前兩種狀態(tài)均在正常指令前多一個異常start信號,即:出現(xiàn)連續(xù)兩個start信號。當識別第一個start信號時,總線被占用,后一個start信號則被識別為數(shù)據(jù)信號,導致第一條指令識別錯誤。常見的異常波形如下所示:
◆改善措施
建議上電后第一條指令或初始化部分寫2遍,做好防錯機制,避免信號識別錯誤,增強抗干擾能力。
可在第一條指令前增加1個結束信號,以釋放通信總線。
(3)時鐘頻率注意事項
由于頻率越快越容易受到干擾,建議時鐘頻率保持在1MHz以下,若說明書有特殊說明,請參照說明書。如AiP33624、AiP33620、AiP33616說明書注明建議時鐘頻率大于100KHz。
(4)AiP33624系列通信注意事項
在對AiP33624(AiP33620、AiP33616)電路進行通信時,第七個時鐘和第八個時鐘不可暫停通信。
上圖所示標注時段,不管是從“指令→RAM數(shù)據(jù)”或“RAM數(shù)據(jù)→RAM數(shù)據(jù)”,從一組通信數(shù)據(jù)的第7個時鐘開始,到下一組通信數(shù)據(jù)的第1個時鐘上升沿期間,內部顯示地址總線將被通信接口模塊占用,此時將暫停顯示。因此如果主機在第7和第8個時鐘時暫停通信,會導致顯示暫時關閉。
(5)推薦外圍接法
建議通訊端口串聯(lián)220Ω電阻,接100pF對地電容,10K上拉電阻,增強抗干擾能力;建議靠近IC放置。
(6)初始化中顯示RAM區(qū)處理
在上電完成后,需對所有的顯示RAM進行數(shù)據(jù)寫入,然后再開顯示,避免因顯示RAM數(shù)據(jù)未清導致的顯示異常。
(7)SDA、SCL邊沿問題
◆常見不良現(xiàn)象
SDA在SCL的上升沿變化時,容易導致數(shù)據(jù)識別錯誤。
◆原因
SDA在SCL的邊沿變化,SDA與SCL邊沿存在交叉,若交叉點位于翻轉電平附近,易受干擾導致數(shù)據(jù)識別錯誤。如圖所示:
◆改善措施
建議SDA在SCL低電平變化,避免在SCL邊沿變化,增強抗干擾能力。
審核編輯:湯梓紅
-
接口
+關注
關注
33文章
9005瀏覽量
153785 -
通信
+關注
關注
18文章
6207瀏覽量
137871 -
總線
+關注
關注
10文章
2961瀏覽量
89803 -
I2C
+關注
關注
28文章
1541瀏覽量
127931 -
SCL
+關注
關注
1文章
243瀏覽量
17562
原文標題:【應用筆記】類I2C介紹及應用注意事項
文章出處:【微信號:無錫中微愛芯電子有限公司,微信公眾號:無錫中微愛芯電子有限公司】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
淺析I2C總線的工作原理與使用注意事項
i2c總線介紹
I2C總線規(guī)范與I2C器件C51讀寫程序
HT66F40使用SIM I2C Mode之用法與注意事項
HT56R678使用I2C進行數(shù)據(jù)傳輸?shù)姆椒?/a>
I2C Guid I2C指南
I2C—讀寫EEPROM
硬件I2C與模擬I2C

經過驗證的GPIO模擬I2C時序代碼

評論