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

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

2017-07-09 14:52:26曹雨
科學(xué)與財富 2017年18期
關(guān)鍵詞:故障處理

曹雨

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

關(guān)鍵詞: S3C2440A;IIC總線;故障處理

一、前言

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

二、S3C2440A的IIC總線接口

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

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

圖1 IIC總線方框圖

圖2 主機發(fā)送器模式操作流程

三、S3C2440A的IIC故障現(xiàn)象分析及處理

3.1 S3C2440A的IIC故障現(xiàn)象分析

S3C2440A的U8和M9管腳分別為IICSCL和IICSDA引腳,也可復(fù)用為普通IO口GPE14和GPE15。系統(tǒng)IIC故障時,IIC讀寫無法正常進行,表現(xiàn)為讀寫數(shù)據(jù)錯誤或始終停留在讀寫狀態(tài)等待環(huán)節(jié)。通過軟件調(diào)試跟蹤或者將關(guān)鍵信息點打印輸出可判斷IIC讀寫是否處于故障狀態(tài)。

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

3.2 S3C2440A的IIC故障軟件處理

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

/*不含超時處理的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);

}

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

四、結(jié)束語

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

參考文獻

[1]何立民.I2C總線應(yīng)用系統(tǒng)設(shè)計[M].北京:北京航空航天大學(xué)出版社,1995.

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

猜你喜歡
故障處理
輸煤皮帶機的電氣組成和故障處理對策
探討配電線路運行維護和故障處理
試析汽輪機檢修中油系統(tǒng)的常見故障及處理方法
智能閥門定位器的工作原理及故障處理
電力系統(tǒng)配電自動化及故障的處理
高校網(wǎng)絡(luò)維護與故障處理探析
電力變壓器高壓試驗技術(shù)及故障處理
鋼鐵冶煉機械設(shè)備的故障診斷及處理分析
中國市場(2016年41期)2016-11-28 05:34:44
天然氣管道運行中常見設(shè)備故障及處理對策
大型化工裝置儀表自控系統(tǒng)的故障處理研究
主站蜘蛛池模板: 国产成人精品2021欧美日韩| 日韩欧美国产精品| 婷婷开心中文字幕| 宅男噜噜噜66国产在线观看| 奇米精品一区二区三区在线观看| 国产理论精品| 欧美第二区| 99在线免费播放| 亚洲国产成人精品无码区性色| 午夜视频免费试看| 成人在线亚洲| 久久一级电影| 四虎精品国产AV二区| 香蕉视频在线精品| 免费在线视频a| 97在线观看视频免费| 久久综合亚洲色一区二区三区| 亚洲欧美综合另类图片小说区| 亚洲一区无码在线| 亚洲A∨无码精品午夜在线观看| 在线欧美a| 精品无码国产一区二区三区AV| 国产视频a| 东京热av无码电影一区二区| 欧美精品成人| 中文字幕在线永久在线视频2020| 99福利视频导航| 久久国产黑丝袜视频| 亚洲九九视频| 欧美一区中文字幕| 亚洲91精品视频| 中文字幕无码中文字幕有码在线| 99视频精品在线观看| 欧美亚洲中文精品三区| 亚洲第一国产综合| 国产成人精品高清不卡在线 | 色综合久久无码网| 亚洲毛片一级带毛片基地| 日韩精品久久久久久久电影蜜臀| 成人福利在线看| 亚洲一区国色天香| 国产成人精品优优av| 国产精品久久精品| 国产爽歪歪免费视频在线观看| 欧洲亚洲一区| 亚洲第一视频网| 亚洲欧美一级一级a| 欧美日韩中文国产va另类| 精品欧美日韩国产日漫一区不卡| 伊人无码视屏| 国产成人免费| 国产美女无遮挡免费视频网站 | 在线免费观看AV| 国产精品亚洲精品爽爽 | 亚洲三级影院| 免费观看男人免费桶女人视频| 国产激情无码一区二区免费| 91亚瑟视频| 精品久久人人爽人人玩人人妻| 欧美日韩一区二区在线播放| 999在线免费视频| 好吊色妇女免费视频免费| 婷婷丁香在线观看| 午夜激情婷婷| 91精品啪在线观看国产91| 亚洲免费福利视频| 国产亚洲欧美日韩在线一区| 91久久精品日日躁夜夜躁欧美| 岛国精品一区免费视频在线观看| 在线观看91香蕉国产免费| 国产乱人伦AV在线A| 国产精品网址在线观看你懂的| 超清人妻系列无码专区| 久久免费成人| 国产美女丝袜高潮| 黄色国产在线| 女人18毛片一级毛片在线| 97se亚洲综合在线天天| 亚洲欧洲天堂色AV| 五月丁香在线视频| 亚洲第一极品精品无码| 久久综合色88|