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