《電子技術應用》
您所在的位置:首頁 > 電源技術 > 業界動態 > 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亚洲国产精品_日韩亚洲一区二区
看片网站欧美日韩| 欧美日本国产视频| 亚洲伦理在线| 欧美一级午夜免费电影| 99天天综合性| 日韩一级大片| 艳女tv在线观看国产一区| 亚洲欧洲精品一区二区精品久久久| 激情久久久久久久| 国产一区久久| 国产在线视频不卡二| 狠狠色狠狠色综合日日tαg| 国产一区二区你懂的| 国产性做久久久久久| 国产一区二区精品久久91| 国产一区二区三区直播精品电影 | 玖玖玖免费嫩草在线影院一区| 久久久久久久久久久久久女国产乱 | 久久国产黑丝| 久久成人国产| 亚洲电影在线观看| 亚洲国产视频a| 亚洲片在线观看| 亚洲精品久久久久久久久| 亚洲精品少妇网址| 一区二区三区导航| 亚洲一二区在线| 亚洲女同性videos| 久久av在线看| 蜜桃精品久久久久久久免费影院| 暖暖成人免费视频| 欧美极品在线视频| 欧美色另类天堂2015| 国产精品区二区三区日本| 国产欧美91| 黄网站色欧美视频| 亚洲国产欧美一区二区三区久久| 亚洲日本国产| 亚洲深夜福利视频| 欧美一区国产一区| 亚洲精品中文在线| 亚洲女人天堂av| 久久久久se| 欧美成人精品一区二区| 欧美日韩免费观看一区=区三区| 国产精品久久久久毛片大屁完整版 | 久久精品国产亚洲aⅴ| 久久久久久久性| 欧美激情一区二区三区四区 | 亚洲高清在线| 中文国产一区| 久久激情一区| 亚洲视频一二| 久久米奇亚洲| 欧美日韩在线电影| 国产亚洲精品久久久| 亚洲国产成人av在线| 亚洲少妇在线| 亚洲国产女人aaa毛片在线| 在线午夜精品| 久久国产精品一区二区| 欧美a级片网| 国产精品少妇自拍| 亚洲国产精品v| 亚洲欧美激情视频在线观看一区二区三区 | 久久久五月天| 欧美视频中文字幕在线| 国内久久精品| 在线综合欧美| 亚洲国产电影| 亚洲欧美色一区| 欧美承认网站| 国产日韩欧美三级| 亚洲最快最全在线视频| 久久精品国产在热久久 | 亚洲激情成人在线| 欧美亚洲一区在线| 一区二区不卡在线视频 午夜欧美不卡'| 性欧美8khd高清极品| 欧美精品一区二区三区久久久竹菊 | 国产农村妇女精品| 亚洲乱码国产乱码精品精天堂| 久久国产精品久久久久久久久久| 亚洲一区二区三区国产| 免费日韩一区二区| 国产一区二区三区高清播放| 亚洲视频日本| 日韩亚洲综合在线| 麻豆精品精品国产自在97香蕉| 国产伦精品一区二区| 99成人在线| 亚洲日本中文字幕| 久久在线播放| 国产日本欧洲亚洲| 亚洲一区二区在线| 亚洲性图久久| 欧美日韩一区二区精品| 亚洲国产一区二区三区高清| 久久精品国产免费看久久精品| 性做久久久久久久免费看| 欧美图区在线视频| 亚洲精品激情| 亚洲精品综合在线| 免播放器亚洲一区| 国内精品久久久久影院 日本资源 国内精品久久久久伊人av | 国产精品久久久久婷婷| 亚洲精品在线视频| 亚洲精品欧美一区二区三区| 免播放器亚洲| 亚洲丶国产丶欧美一区二区三区 | 国产精品女主播一区二区三区| 亚洲美女毛片| 一本色道久久综合一区| 欧美黄色免费| 亚洲国产黄色| 日韩视频中文字幕| 欧美激情一区二区三级高清视频| 亚洲第一成人在线| 亚洲激情网站| 欧美成年人在线观看| 亚洲国产精品一区在线观看不卡| 亚洲国产精品成人一区二区| 久久夜色精品国产欧美乱| 狠狠综合久久| 久久精品国产亚洲一区二区| 麻豆精品在线视频| 亚洲国产精品成人综合| 亚洲精品日本| 欧美精品一区视频| 日韩视频在线观看| 亚洲一区二区三区精品在线| 国产精品久久久久秋霞鲁丝| 亚洲综合社区| 久久精品国产一区二区三| 国产一区二区三区无遮挡| 亚洲国产精品va| 欧美黄色小视频| 99在线精品视频| 亚洲欧美激情一区二区| 国产日本欧美一区二区三区| 亚洲电影在线| 欧美日韩18| 亚洲午夜伦理| 久久国产精品99久久久久久老狼| 韩曰欧美视频免费观看| 亚洲国产另类久久久精品极度| 久久久中精品2020中文| 亚洲国产一区二区三区高清 | 亚洲欧美日韩在线观看a三区| 国产精品日韩电影| 久久激情五月丁香伊人| 欧美韩日一区二区三区| 亚洲视频观看| 久久久久国产精品厨房| 1000部精品久久久久久久久| 9人人澡人人爽人人精品| 国产精品久久久久久久久借妻| 亚洲欧美中文日韩在线| 久久一综合视频| 亚洲精品一区在线观看香蕉| 欧美一区二区视频在线| 在线高清一区| 亚洲一级电影| 国产一区视频在线观看免费| 亚洲精品美女91| 国产精品亚洲一区| 亚洲欧洲精品天堂一级| 欧美色网在线| 久久精品99国产精品| 欧美日韩高清一区| 性久久久久久久| 欧美久久久久久久| 欧美一二三视频| 欧美日韩精品综合在线| 午夜在线视频观看日韩17c| 欧美a级理论片| 亚洲欧美第一页| 欧美黄色小视频| 欧美一区二区三区免费看| 欧美大片18| 亚洲欧美一区二区三区极速播放 | 久久精品免视看| 亚洲精品在线观看视频| 久久久国产一区二区| 亚洲最新视频在线| 久久综合九色99| 亚洲无亚洲人成网站77777| 久热爱精品视频线路一| 亚洲午夜激情| 欧美高清免费| 午夜在线精品偷拍| 国产精品家庭影院| 亚洲欧洲三级| 国产在线欧美日韩| 亚洲女同精品视频| 亚洲美女91| 美女视频黄免费的久久| 亚洲欧美日本伦理| 欧美日韩亚洲一区| 最新国产成人av网站网址麻豆 |