《電子技術應用》
您所在的位置:首頁 > 電源技術 > 業界動態 > CAT1025在I2C總線控制下的應用

CAT1025在I2C總線控制下的應用

2009-05-21
作者:單承剛

??? 摘 要:一種具有I2C串行總線的微控制器系統存儲器和電源監控的完全解決方案。結合CAT1025芯片給出了LPC2103微控制器系統的電源監控復位電路,介紹了基于I2C總線的2Kb EEPROM存儲器的讀寫過程,給出了相關應用程序流程圖與部分軟件程序。
??? 關鍵詞:I2C總線;電源監控;CAT1025;EEPROM

?

??? I2C BUS(Inter Integrated Circuit BUS)是NXP半導體公司推出的芯片間串行傳輸總線,它以2根連線實現了完善的全雙工同步數據傳送,可以極方便地構成多機系統和外圍器件擴展系統。I2C總線采用了器件地址的硬件設置方法,通過軟件尋址完全避免了器件的片選線尋址方法,從而使硬件系統具有最簡單而靈活的擴展方法。該總線由1條串行時鐘線SCL和1條串行數據線SDA組成,在同一組I2C總線上,可以掛接多個CPU及被控芯片,CPU 既可以作為主器件, 控制I2C總線的工作模式, 也可以作為從器件, 在其他CPU的控制下發送或接收數據[1]。
1 LPC2103中的I2C總線接口
??? LPC2103是一個基于支持實時仿真的16/32位ARM7 TDMI-S CPU的微控制器,內部集成了兩路高速I2C總線,與I2C總線接口有關的專用寄存器有:(1)I2CONSET控制置位寄存器。當向該寄存器寫入1時,I2C控制寄存器中相應位置位,寫0到I2C控制寄存器的相應位沒有影響;(2)I2STAT狀態寄存器。在I2C操作中,該寄存器提供詳細的狀態碼使軟件確定所需的下一步操作; (3)I2DAT數據寄存器。發送接收的數據都可從該寄存器寫入或讀取; (4)I2ADR從地址寄存器。包含從機模式下I2C接口操作的7位從地址; (5)I2SCLH占空比寄存器高半字和I2SCLL占空比寄存器低半字。分別用來確定I2C時鐘的高時間和低時間; (6)I2CONCLR控制清零寄存器。當向該寄存器中的位寫1時,I2C控制寄存器中相應位被清零。
1.1 I2C電氣連接
??? I2C總線接口均為開漏或開集電極輸出,因此需要為總線增加上拉電阻Rp??偩€速率越高,總線上拉電阻就越小,100Kb/s總線速率通常使用5.1 KΩ的上拉電阻[2],如圖1 所示。

?


1.2 I2C總線時序
??? I2C總線上每傳輸1個數據位必須產生1個時鐘脈沖。SDA線上的數據必須在時鐘線SCL的高電平期間保持穩定,數據線的電平狀態只有在SCL線的時鐘信號為低電平時才能改變,如圖2所示。

?

?

??? 其中數據發送起始信號和停止信號較為特殊,在SCL為高電平時,SDA從高電平向低電平切換表示起始信號;在SCL為高電平時,SDA由低電平向高電平切換表示停止信號。起始和停止信號一般由主機產生。起始信號作為一次傳送的開始,在起始信號后總線被認為處于忙狀態。停止信號作為一次傳送的結束,在停止信號的某段時間后,總線被認為再次處于空閑狀態。重復起始信號既作為上次傳送的結束,也作為下次傳送的開始。如圖3 所示[3]。

?

?

??? 發送起始信號后傳送的第1字節數據具有特別的意義,其中前7位為從機地址,最后1位為讀寫方向位(0表示寫,1表示讀)。結合本系統,為實現I2C總線方式下對CAT1025的讀寫,發送起始信號第1字節前7位為從器件CAT1025的地址,如圖4所示。

?

?

??? I2C總線數據傳送時,每傳送1個字節數據后都必須有應答信號(A)。主控器接收數據,如果要結束通信時,將在停止位之前發送非應答信號,如圖5所示。

?

?

??? LPC2103在I2C通信中可以配置為主控器也可以作為被控器,它具有4種操作模式:主發送模式、主接收模式、從發送模式和從接收模式。在本系統中為了實現對CAT1025內EEPROM存儲器讀寫,采用了主發送模式和主接收模式。
2 與CAT1025的I2C總線配置
??? CAT1025是基于微控制器系統的存儲器和電源監控的完全解決方案。它利用低功耗CMOS技術將2Kb的串行EEPROM存儲器和帶掉電保護的系統電源監控電路集成在一起。存儲器采用400 kHz的I2C總線接口。由于ARM芯片的高速、低功耗和低工作電壓的工作特性,導致其噪聲容限低,對電源紋波、瞬態響應性能、時鐘源的穩定性和電源監控的可靠性等諸多方面有很高的要求。采用I2C接口的專用電源監控復位芯片CAT1025設計復位和I2C電路,保證了系統可靠性,其電路原理如圖6所示[4-5]:

?

?

??? CAT1025包含1個精確的Vcc監控測電路和2個開漏輸出:RESET和。當Vcc低于復位閾值電壓時,RESET引腳將變為高電平,將變為低電平。CAT1025還含有1個寫保護輸入(WP),如果WP連接高電平,則寫操作被禁止。LPC2103的P0.2和P0.3口若工作在第二功能模式下為I2C 0路的時鐘線和數據線,分別與CAT1025的SCL與SDA相連。Vcc電壓監控電路提供了硬件數據保護功能,防止在Vcc降到低于復位閾值電壓或上電時Vcc上升到復位閾值電壓之前對存儲器執行寫操作。I2C總線對CAT1025進行讀寫操作的過程介紹如下。
2.1 I2C接口的配置
??? 圖7 為I2C總線操作初始化流程圖。

?

?

??? 使用LPC2103的I2C 0路總線實現對CAT1025的讀寫。設置P0.2和P0.3口工作在第二功能模式下:
??? PINSEL0 = (PINSEL0 & (~0xF0)) | 0x50; /* P0.2:IICSCL, P0.3:IICSDA*/
??? 為了控制I2C通信的波特率,需要設置 I2SCLH、I2SCLL寄存器。其中I2SCLH定義SCL高電平所保持的PCLK周期數,而I2SCLL定義SCL低電平所保持的PCLK周期數。
??? I2SCLH = (Fpclk / uiFi2c + 1)? / 2; /* 設定I2C時鐘*/
??? I2SCLL? = (Fpclk / uiFi2c) / 2;
??? 對I2CONCLR、I2CONSET寄存器進行設置,清零I2C通信的相關標志位,使能I2C接口功能。
??? I2CONCLR = 0x2C;
??? I2CONSET = 0x40;????????????????????????????????????? /* 使能主I2C */
??? I2C總線采用中斷方式來檢測每個字節的傳送是否成功, 因此需要定義中斷處理程序, 并且使能中斷。設中斷處理程序入口地址為IRQ_I2C, 則程序語句為:
??? /*? 設置I2C中斷 */
??? VICIntSelect = 0x00000000;? /* 設置所有通道為IRQ中斷 */
??? VICVectCntl0 = (0x20 | 0x09);? /* I2C通道分配最高優先級? */
??? VICVectAddr0 = (int32)IRQ_I2C;/* 設置I2C中斷向量 */
??? VICIntEnable = 1 <<9;???????/* 使能I2C中斷 */
2.2 軟件設計[6]
2.2.1 主模式下向CAT1025發送數據程序流程
??? /* 從起始地址0x00寫入10個數據 */
??? I2C_WriteNByte(CAT1025, ONE_BYTE_SUBA, 0x00, uiDataBuf, 10);
??? I2C_WriteNByte實現了向CAT1025器件起始地址0x00處寫入10個數據。ONE_BYTE_SUBA表示單字節地址,0x00表示從器件CAT1025起始地址,uiDataBuf表示寫入數據緩沖區指針,10表示寫入數據的個數。圖8為寫入過程程序流程圖。

?


2.2.2 主模式下從CAT1025讀取數據程序流程
??? /* 讀回剛才寫入的數據 */
??? I2C_ReadNByte(CAT1025, ONE_BYTE_SUBA, 0x00, uiDataBuf, 10);
??? I2C_ReadNByte實現了向CAT1025器件起始地址0x00處依次讀入10個數據。ONE_BYTE_SUBA表示單字節地址,0x00表示從器件CAT1025起始地址,uiDataBuf,表示讀入數據緩沖區指針,10表示要讀入數據的個數。圖9為讀入過程程序流程圖。

?


2.2.3 I2C中斷處理過程
??? 對于硬件I2C接口,通常都使用中斷的方式進行操作。當I2C的狀態發生變化時,就會產生中斷,因此,發生I2C中斷時,必須要讀取I2C狀態寄存器,根據當前的狀態采取相應的措施。 主模式下I2C總線讀寫操作步驟:
??? (1)通過軟件置位STA進入主發送、接收模式,I2C邏輯在總線空閑后即發送一個起始條件。
??? (2)當發送完起始條件后,SI會置位,此時I2STAT中的狀態代碼為08H,該狀態代碼用于中斷服務程序的處理。
??? (3)把從地址和讀寫操作位裝入I2DAT(數據寄存器),然后清零SI位,開始發送從地址和R/W位。
??? (4)當從地址和R/W位已發送且接收到應答位之后,SI位再次置位,根據I2STAT寄存器中的狀態碼分別執行接收、發送數據動作。
??? 基于I2C總線的CAT1025存儲器和電源解決方案已經廣泛應用在各種微控制器系統中。本文給出的LPC2103微控制器系統的電源監控復位電路,保證了系統的高可靠性。利用I2C總線方式對CAT1025內2Kb EEPROM存儲器進行讀寫準確性高、速度快,可以滿足許多具有存儲性能的系統掉電后數據不丟失的要求。
參考文獻
[1]?廣州周立功單片機發展有限公司.EasyARM2103教材.2007:172-190.
[2]?梁建華,肖伸平.基于S3C44B0X 的I2C 總線設計.微計算機信息,2006(5- 2): 143- 144.
[3]?范應輝,張雷,陽富民. 基于Linnx的I2C總線驅動研究與實現[J].計算機工程與設計,2007:28-16:3953-3956.
[4]?王立平,王新梅. Linux環境下基于I2C 總線的EEPROM 驅動程序.國外電子元器件,2007(1): 4-7.
[5]?姚亞峰, 陳建文, 黃載祿.嵌入式系統中EEPROM 接口及控制電路設計. 半導體技術,2007,32(4):328-331.
[6]?徐柳茂,黃永強,蔣念東,等.嵌入式Linux中I2C驅動程序的應用設計[J]. 國外電子元器件,2007(2): 21-25.

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久久免费精品视频| 欧美日韩在线观看一区二区三区| 亚洲区第一页| 欧美在线免费| 亚洲欧美日韩网| 亚洲午夜国产成人av电影男同| 91久久香蕉国产日韩欧美9色| 影音先锋久久久| 国内成+人亚洲| 国语自产精品视频在线看抢先版结局| 国产精品亚洲美女av网站| 欧美性开放视频| 国产精品初高中精品久久| 欧美精品一区二区三区在线看午夜| 美女久久网站| 美女精品自拍一二三四| 欧美不卡高清| 欧美va天堂| 欧美精品97| 欧美日韩精品欧美日韩精品一 | 亚洲国产导航| 亚洲国产mv| 亚洲国产精品成人| 亚洲三级观看| 一本色道久久综合狠狠躁篇的优点 | 欧美成人亚洲成人日韩成人| 免费中文日韩| 欧美激情国产日韩| 欧美日韩1区2区3区| 欧美视频四区| 国产三级精品三级| 伊人久久婷婷色综合98网| 亚洲国产精品va在看黑人| 亚洲精品国产精品久久清纯直播| 亚洲精品中文字| 亚洲综合视频网| 久久精品国产免费看久久精品| 亚洲福利视频在线| 日韩亚洲一区二区| 亚欧成人在线| 美日韩精品视频| 欧美日韩国产二区| 国产精品午夜在线| 在线观看欧美亚洲| 99成人在线| 欧美一区二区视频免费观看| 亚洲激情电影在线| 亚洲一区二区三区精品在线观看| 亚洲女同在线| 六十路精品视频| 国产精品爱久久久久久久| 国产视频丨精品|在线观看| 尤物九九久久国产精品的特点| 亚洲精品日日夜夜| 亚洲一级片在线观看| 久久精品国产视频| 亚洲午夜激情网站| 久久男人资源视频| 欧美日韩国产一区精品一区| 国产伦精品免费视频| 伊人夜夜躁av伊人久久| 亚洲少妇自拍| 亚洲激情在线观看视频免费| 国产精品99久久久久久有的能看| 欧美主播一区二区三区美女 久久精品人 | 国模吧视频一区| 99成人在线| 亚洲第一综合天堂另类专| 亚洲少妇最新在线视频| 久久九九99| 欧美日韩中字| 极品尤物久久久av免费看| 一区二区三区国产| 亚洲国产影院| 欧美影视一区| 欧美日韩亚洲视频一区| 黑人一区二区三区四区五区| 在线视频免费在线观看一区二区| 亚洲国产精品一区二区久 | 国产精品视频免费观看www| 18成人免费观看视频| 亚洲中字在线| 亚洲色诱最新| 欧美国产视频在线| 黄色国产精品一区二区三区| 亚洲视频第一页| 99精品视频免费观看视频| 久久天天综合| 国产欧美日韩一区二区三区在线观看 | 亚洲欧美日韩国产另类专区| 欧美成人福利视频| 国产主播一区二区三区四区| 在线一区二区三区四区| 亚洲精品在线观看视频| 久久久7777| 国产精品视频观看| 亚洲色图自拍| 亚洲一区二区av电影| 欧美精品尤物在线| 亚洲国产人成综合网站| 亚洲电影av| 久久久久一区二区三区| 国产欧美日韩视频一区二区三区 | 久久xxxx| 国产精品亚洲综合久久| 中文一区二区在线观看| 一区二区三区高清不卡| 欧美国产精品久久| 91久久精品网| 亚洲九九爱视频| 欧美xx视频| 亚洲国产日韩欧美综合久久| 亚洲高清视频一区| 狼人社综合社区| 精品成人在线观看| 亚洲福利视频网站| 美女日韩在线中文字幕| 国产在线视频不卡二| 性8sex亚洲区入口| 久久精品国产亚洲精品| 国产综合色精品一区二区三区| 欧美一区二区黄| 久久精品国产一区二区三区免费看| 国产精品理论片在线观看| 正在播放欧美视频| 亚洲欧美在线一区| 国产亚洲成av人在线观看导航| 性欧美超级视频| 久久精品官网| 狠狠色狠狠色综合系列| 亚洲国产精品v| 欧美国产欧美亚州国产日韩mv天天看完整| 亚洲大胆视频| 亚洲乱码国产乱码精品精可以看| 欧美精品日韩一本| 夜夜嗨av一区二区三区四区| 亚洲一区二区三区视频播放| 国产精品红桃| 午夜精品久久久久久久蜜桃app | 欧美国产日本在线| 亚洲精品久久嫩草网站秘色| 一本久道久久综合婷婷鲸鱼| 欧美日韩网址| 亚洲欧美影音先锋| 老司机成人网| 亚洲精品在线一区二区| 亚洲在线电影| 国产色产综合产在线视频| 久久精品国产77777蜜臀| 欧美刺激性大交免费视频| 亚洲精品欧美极品| 亚洲欧美精品中文字幕在线| 国产日韩精品一区观看| 亚洲国产高清一区二区三区| 欧美国产精品日韩| 亚洲一级片在线看| 久色婷婷小香蕉久久| 99在线精品视频在线观看| 性色一区二区| 亚洲第一视频| 亚洲一区区二区| 韩国av一区二区三区在线观看| 亚洲精品乱码久久久久久久久| 欧美日韩视频不卡| 欧美一区免费视频| 欧美日韩精品在线| 香蕉久久一区二区不卡无毒影院 | 久久久久免费视频| 亚洲清纯自拍| 性欧美1819sex性高清| 在线免费日韩片| 亚洲女ⅴideoshd黑人| 精品电影一区| 亚洲女性喷水在线观看一区| 国外成人性视频| 亚洲校园激情| 亚洲电影毛片| 欧美在线关看| 99国产麻豆精品| 久久婷婷一区| 亚洲午夜精品一区二区三区他趣| 毛片基地黄久久久久久天堂| 中国亚洲黄色| 牛牛影视久久网| 午夜精品久久久久久| 欧美日韩国产一级片| 亚洲大片av| 国产精品一区=区| 9色porny自拍视频一区二区| 国产视频一区在线观看| 在线午夜精品| 1000部精品久久久久久久久| 欧美一区影院| 亚洲视频免费在线观看| 欧美电影电视剧在线观看| 亚洲男同1069视频| 欧美日韩在线播放一区| 亚洲精品国产精品国产自| 国产一区自拍视频| 亚洲欧美综合国产精品一区|