999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于S3C2440A的IIC總線讀寫故障軟件處理研究

2017-07-09 14:52:26曹雨
科學與財富 2017年18期
關鍵詞:故障處理

曹雨

摘 要: IIC總線讀寫故障是IIC器件使用過程中無法回避的現實問題,本文以實際研究為背景,以三星S3C2440A RISC微處理器為例介紹了IIC總線故障的分析及軟件處理方法,為實際應用提供了參考。

關鍵詞: S3C2440A;IIC總線;故障處理

一、前言

IIC總線是由Philips公司開發并成功推廣的一種雙向兩線通信方式,所有符合IIC總線協議的器件可通過IIC總線進行獨立通信,實現了IC之間的有效控制。由于IIC總線上可以掛載多個IIC器件,個別IIC器件如果出現故障可能引起總線鎖死,進而引起整個總線通信故障。本文以三星公司的一款RISC微處理器S3C2440A的IIC接口為例對IIC總線讀寫故障的分析及處理進行了研究,給出了故障現象分析及軟件處理方法。

二、S3C2440A的IIC總線接口

三星公司的S3C2440A為手持設備和普通應用提供了低功耗和高性能的小型芯片微處理器的解決方案,其處理器是基于Advanced RISC Machines(ARM)公司設計的16/32位ARM920T核心。S3C2440A可以支持一個多主控IIC總線串行接口。一條專用串行數據線(SDA)和一條專用串行時鐘線(SCL)傳遞連接到IIC總線的主控和外設之間的信息。在多主控IIC總線模式中,多個S3C2440A可以發送或接收串行數據來自或到從設備。主機S3C2440A可以通過IIC總線啟動和結束數據傳輸,S3C2440A的IIC總線是使用標準總線仲裁步驟。為了控制多主控IIC總線操作,必須寫入值到以下寄存器中:IIC總線控制寄存器(IICCON)、IIC總線控制/狀態寄存器(IICSTAT)、IIC總線Tx/Rx數據移位寄存器(IICDS)、IIC總線地址寄存器(IICADD)。

當釋放了IIC總線時,SDA和SCL線應該都保持為高電平。一個高到低SDA的變化可以啟動一個起始條件。SCL穩定保持在高電平時的一個低到高SDA的變化可以啟動一個停止條件。起始和停止條件通常由主設備產生。第一個數據字節為7位地址值,其在啟動起始條件后放到總線上,可以確定出主設備要選擇的從設備。第8位是決定傳輸方向(讀或寫)。每個放到SDA線上的字節都應該總共為8位。字節可以在總線傳輸操作期間無限制的發送或接收。數據通常從最高有效位(MSB)開始發送,并且每個字節應該立即通過應答(ACK)位跟上。S3C2440A的IIC總線框圖如下圖1所示,圖2為主機發送器模式操作流程。

圖1 IIC總線方框圖

圖2 主機發送器模式操作流程

三、S3C2440A的IIC故障現象分析及處理

3.1 S3C2440A的IIC故障現象分析

S3C2440A的U8和M9管腳分別為IICSCL和IICSDA引腳,也可復用為普通IO口GPE14和GPE15。系統IIC故障時,IIC讀寫無法正常進行,表現為讀寫數據錯誤或始終停留在讀寫狀態等待環節。通過軟件調試跟蹤或者將關鍵信息點打印輸出可判斷IIC讀寫是否處于故障狀態。

在S3C2440A的實際應用中有兩種典型的IIC故障問題:一是S3C2440A的IIC引腳接觸不良或損壞;二是總線上有IIC器件損壞進而使IIC總線數據讀寫異常。對于上述兩類問題的定位,可以利用S3C2440A的IIC引腳可復用的屬性來判斷,例如將U8和M9配置成普通IO口屬性,在無IIC操作時,通過對GPE14和GPE15的置高或置低,在IIC總線可測量處對電平進行實際測量,與期望電平進行對比,如果測量電平與期望電平不一致,則說明S3C2440A的引腳接觸不良或損壞,反之則可排除S3C2440A的IIC引腳問題。

3.2 S3C2440A的IIC故障軟件處理

為了防止S3C2440A的IIC故障引起讀寫狀態持續等待,在實際應用中可添加等待超時處理。下面分別給出不含超時處理的Demo代碼及實際應用中采用的超時處理代碼:

/*不含超時處理的Demo代碼*/

void IICWrite(U8 slvAddr, U32 addr, U8 data)

{

_iicMode = WRDATA;

_iicPt = 0;

_iicData[0] = (U8)addr;

_iicData[1] = data;

_iicDataCount = 2;

rIICDS = slvAddr | ((addr & 0xff00) >> 8) << 1;

rIICSTAT = 0xf0;

while(_iicDataCount != -1);

_iicMode = POLLACK;

while(1)

{

rIICDS = slvAddr | ((addr & 0xff00) >> 8) << 1;

_iicStatus = 0x100;

rIICSTAT = 0xf0;

rIICCON = 0xe0;

while(_iicStatus == 0x100);

if(?。╛iicStatus & 0x1))

{

break;

}

}

rIICSTAT = 0xd0;

rIICCON = 0xe0;

Delay(1);

}

/*添加超時處理的代碼*/

void IICWrite(U8 slvAddr, U32 addr, U8 data)

{

U16 cnt_1 = 0; //用于超時控制

U16 cnt_2 = 0; //用于超時控制

_iicMode = WRDATA;

_iicPt = 0;

_iicData[0] = (U8)addr;

_iicData[1] = data;

_iicDataCount = 2;

rIICDS = slvAddr | ((addr & 0xff00) >> 8) << 1;

rIICSTAT = 0xf0;

while((_iicDataCount != -1) && (cnt_1 < CNTMAX))

{

cnt_1++;

}

_iicMode = POLLACK;

while(1)

{

rIICDS = slvAddr | ((addr & 0xff00) >> 8) << 1;

_iicStatus = 0x100;

rIICSTAT = 0xf0;

rIICCON = 0xe0;

while((_iicStatus == 0x100) && (cnt_2 < CNTMAX))

{

cnt_2++;

}

if(?。╛iicStatus & 0x1))

{

break;

}

}

rIICSTAT = 0xd0;

rIICCON = 0xe0;

Delay(1);

}

除此之外,還應在軟件設計中添加必要的出錯處理與異常告警,比如對依靠IIC總線獲取的非核心數據使用前增加數據異常判斷,如出現異常值則給出錯誤提示并提供一組可用的缺省值以避免系統功能進入完全故障狀態。

四、結束語

本文給出的IIC總線故障分析及軟件處理方法是對實際應用過程中所遇到的IIC故障問題的研究與總結,雖以S3C2440A RISC微處理器為例進行闡述,對其他IIC器件的故障分析與處理同樣具有參考價值。在實際應用中增加IIC讀寫等待超時處理與數據異常處理能夠有效地減小IIC器件故障給系統帶來的不利影響。

參考文獻

[1]何立民.I2C總線應用系統設計[M].北京:北京航空航天大學出版社,1995.

[2]侯喆,何凱.由于IIC總線鎖死引起保護裝置異常的問題分析[J].電力系統保護與控制,2010,38(7),106-108.

猜你喜歡
故障處理
輸煤皮帶機的電氣組成和故障處理對策
探討配電線路運行維護和故障處理
試析汽輪機檢修中油系統的常見故障及處理方法
智能閥門定位器的工作原理及故障處理
電力系統配電自動化及故障的處理
高校網絡維護與故障處理探析
電力變壓器高壓試驗技術及故障處理
鋼鐵冶煉機械設備的故障診斷及處理分析
中國市場(2016年41期)2016-11-28 05:34:44
天然氣管道運行中常見設備故障及處理對策
大型化工裝置儀表自控系統的故障處理研究
主站蜘蛛池模板: 免费99精品国产自在现线| 谁有在线观看日韩亚洲最新视频 | 久久精品91麻豆| 尤物亚洲最大AV无码网站| 九九久久99精品| 亚洲人成网站在线播放2019| 88国产经典欧美一区二区三区| 在线毛片免费| 亚洲人在线| 国产精品女在线观看| 国产永久免费视频m3u8| 午夜福利无码一区二区| 日韩精品少妇无码受不了| 美女高潮全身流白浆福利区| 国产成人h在线观看网站站| 国产h视频免费观看| 国产久操视频| 亚洲成在线观看| 国产91视频免费观看| 国产一区二区三区视频| 中国毛片网| 毛片免费视频| 在线播放91| 在线va视频| 成人午夜亚洲影视在线观看| 欧美精品二区| 亚洲日韩精品无码专区97| 国产乱人伦精品一区二区| 国产午夜福利片在线观看 | 一级毛片在线播放| 在线免费亚洲无码视频| 国产成人精品综合| 99re免费视频| 丁香五月激情图片| 国产欧美日韩视频怡春院| 欧美日韩国产系列在线观看| Jizz国产色系免费| 青青草原国产免费av观看| 国产精品尤物铁牛tv| 无码福利日韩神码福利片| 午夜福利视频一区| 精品无码国产自产野外拍在线| 另类综合视频| 美女视频黄又黄又免费高清| 日韩欧美综合在线制服| 九色视频线上播放| 亚洲天堂视频在线观看免费| 国产网站免费观看| 亚洲天堂福利视频| 成人在线观看一区| 婷婷色狠狠干| 亚洲综合色在线| 性色一区| 色综合久久久久8天国| 国产91无码福利在线| 一区二区三区精品视频在线观看| 97人人做人人爽香蕉精品| 好吊色妇女免费视频免费| 亚洲欧洲日产国产无码AV| 国产在线97| av色爱 天堂网| 亚洲欧美一区在线| 亚洲综合色区在线播放2019| 国产又粗又猛又爽视频| 久久狠狠色噜噜狠狠狠狠97视色 | 欧美97欧美综合色伦图| 婷婷久久综合九色综合88| 秘书高跟黑色丝袜国产91在线| 99久久性生片| 亚洲三级成人| 成人综合在线观看| 人妻21p大胆| 国产第一页屁屁影院| 国产99视频在线| 国产成人综合网在线观看| 色窝窝免费一区二区三区 | 亚洲无码A视频在线| 国产精品无码作爱| 国产精品欧美激情| 国产在线精品99一区不卡| 国产XXXX做受性欧美88| 99热这里只有精品2|