ISL9208規(guī)格書
Multi-Cell Li-ion Battery Pack OCP/Analog
Front End
ISL9208 是多串鋰電池包過流保護(hù)器件和微控制器模擬前端.ISL9208支持5-7串電芯的電池包.ISL9208提供集成的過流保護(hù)電路,短路保護(hù)和內(nèi)部3.3V穩(wěn)壓器,內(nèi)置電芯平衡開關(guān),電芯電壓監(jiān)測(cè)電平轉(zhuǎn)換器,外部FET驅(qū)動(dòng)電路控制充電放電.存儲(chǔ)可選的過流或者短路門限的內(nèi)部寄存器.外部微控制器通過I2C串行接口設(shè)置寄存器代表的門限值.內(nèi)部寄存器也存放過流和短路保護(hù)延時(shí).
ISL9208使用內(nèi)部模擬多路器監(jiān)測(cè)每個(gè)電芯電壓以及內(nèi)部和外部溫度提供給帶A/D轉(zhuǎn)換功能的獨(dú)立的微控制器.微控制器的軟件執(zhí)行除了過流和短路關(guān)斷以外電池包的控制功能.
應(yīng)用
? 電動(dòng)工具
?電池后備系統(tǒng)
? 電動(dòng)車
? 便攜式測(cè)試設(shè)備
? 醫(yī)療系統(tǒng)
? 電動(dòng)汽車
?軍用電子
性能
? 軟件可選的過流保護(hù)電壓和可選的過流保護(hù)時(shí)間
-4個(gè)放電過流門限
-4個(gè)短路門限
-4個(gè)充電過流門限
-8個(gè)充電過流延時(shí)時(shí)間
-8個(gè)放電過流延時(shí)時(shí)間
-2個(gè)放電短路延時(shí)時(shí)間
?自動(dòng)FET關(guān)斷,電池和IC內(nèi)部過熱時(shí)電芯平衡禁止.
? 快速短路關(guān)斷
? 過流檢測(cè)可以使用感應(yīng)電阻、FET Rds或感應(yīng)FET.
?4個(gè)電池包軟件控制標(biāo)志.
? 允許3個(gè)不同的FET控制.
- 背靠背N溝道FETS充電和放電控制
- 單個(gè)N溝道放電FET
- 單個(gè)N溝道FET放電和獨(dú)立的可選的(較小)背靠背N溝道FETS充電
?集成的帶200μA開啟電流和150mA關(guān)斷電流充放電FET驅(qū)動(dòng)電路
? 10%精確的3.3V 穩(wěn)壓器(最小25mA輸出,帶電流增益70的外部NPN晶體管).
? 在100μs 內(nèi)穩(wěn)定監(jiān)測(cè)電芯電壓輸出.
? 內(nèi)部電芯平衡FET對(duì)每個(gè)電芯控制200mA平衡電流I(平衡電芯數(shù)量受芯片封裝最大功率耗散400mW的限制)
? 簡(jiǎn)單的I2C主機(jī)接口
? 可編程下降沿或者上升沿喚醒的休眠功能
? <10μA 的休眠模式
? 無鉛(RoHS)
引腳定義
符號(hào)描述
VC7/VCC Cell7正極輸入/Vcc電源 這個(gè)引腳監(jiān)測(cè)電芯電壓并在AO腳輸出,同時(shí)提供IC工作電壓.
VCELLN cell N 電壓輸入. T這個(gè)腳監(jiān)測(cè)CELL N的電壓并在AO腳輸出. VCELLN 連接到CELLN的正極和CELLN+1的負(fù)極.
CBN 電芯平衡FETS控制腳 它的內(nèi)部FET在充電的時(shí)候繞過電芯分流小部分電流,或者在放電時(shí)從電芯拉電流,這樣可以執(zhí)行電芯平衡操作.這個(gè)功能可以減少單個(gè)電芯的電壓,平衡FETS由外部控制器開啟或者關(guān)閉.
VSS 接地. 連接到電池串的負(fù)極.
DSREF 放電檢測(cè)電流參考地. 這個(gè)輸入口提供充電和放電電流檢測(cè)電路的獨(dú)立的參考地,在大電流負(fù)載時(shí),這個(gè)輸入提供獨(dú)立的接地點(diǎn),使接地的壓降最小化以減少錯(cuò)誤.如果不必要,可以連接到VSS.
,
DSENSE 放電電流檢測(cè)腳.這個(gè)輸入口通過檢測(cè)一個(gè)電壓檢測(cè)放電電流.它可以檢測(cè)一個(gè)感應(yīng)電阻的電壓,或者DFET兩端的電壓或者帶電流檢測(cè)腳的FET.這個(gè)電壓的測(cè)量以DSREF作為參考地.
with reference to DSREF.
CSENSE 充電電流檢測(cè)腳. 這個(gè)輸入口通過檢測(cè)一個(gè)電壓檢測(cè)充電電流,它可以檢測(cè)感應(yīng)電阻電壓,或者CFET電壓,或者帶電流檢測(cè)腳的FET,這個(gè)電壓的測(cè)量以VSS為參考地.
DFETDFET控制.The ISL9208 通過這個(gè)腳控制放電FET.功率FET是N溝道的,僅僅只能被微控制器開啟,FET也能被微控制器關(guān)閉,但是在過流和短路時(shí)ISL9208也會(huì)自動(dòng)關(guān)閉FET.如果微控制器檢測(cè)到任何一個(gè)電芯欠電壓,也能通過寫一個(gè)控制位控制這個(gè)輸出口關(guān)斷FET.
CFET CFET 控制. The ISL9208能通過這個(gè)腳控制CFET的門極,功率FET必須是N溝道裝置,它只能被微控制器開啟,FET也能被微控制器關(guān)閉,在過電流時(shí)ISL9208也能關(guān)閉FET,如果微控制器檢測(cè)到過電壓,也能通過寫控制位關(guān)斷FET控制輸入.
VMON 放電負(fù)載檢測(cè). 在過流狀態(tài)下,微控制器讓一個(gè)內(nèi)部電阻連接到VMON和VSS之間.當(dāng)FET因?yàn)樨?fù)載保持,VMON電壓接近VCC電壓.當(dāng)負(fù)載解除時(shí),VMON電壓下降到過流和短路狀態(tài)對(duì)應(yīng)的門限以下.這時(shí),LDFAIL標(biāo)志位清零,操作恢復(fù).
AO 模擬多路輸出. 模擬輸出腳,供外部微控制器檢測(cè)電芯電壓和溫度感應(yīng)電壓.微控制器通過寫一個(gè)控制寄存器選擇特定電壓.
TEMP3V 溫度檢測(cè)輸出控制 這個(gè)腳輸出給由一個(gè)固定電阻和一個(gè)熱敏電阻組成的分壓器供電.熱敏電阻緊挨著電芯.TEMP3V在測(cè)量溫度時(shí)通過一個(gè)內(nèi)部PMOS開關(guān)連接到RGO,其他時(shí)候TEMP3V輸出關(guān)閉,TEMP3V可以通過一個(gè)特定的控制位持續(xù)開啟.
在微控制器喚醒控制中,DSC,DOC或者COC置1時(shí)TEMP3V被開啟,這能被用來喚醒一個(gè)休眠的微控制器,用它自己的控制機(jī)制回應(yīng)過流狀態(tài)而不是ISL9208自動(dòng)回應(yīng)過流狀態(tài).
TEMPI 溫度檢測(cè)輸入. 這個(gè)腳輸入測(cè)量電芯溫度的熱敏電阻的電壓,當(dāng)輸入電壓下降到TEMP3V/13, 表示外部過熱 .TEMPI的電壓通過一個(gè)模擬多路器由AO口輸出,因此電芯的溫度能被微控制器檢測(cè)到.
RGO 定電壓輸出. 這個(gè)腳連接到一個(gè)外部NPN三極管的發(fā)射極,和RGC腳一起工作提供3.3V穩(wěn)壓.這個(gè)腳的電壓反饋給穩(wěn)壓器,提供電源給ISL9208內(nèi)部電路以及微控制器和其它外部電路.
RGC 穩(wěn)壓輸出控制. 這個(gè)腳連接到外部NPN的基極,聯(lián)合RGO腳工作提供3.3V穩(wěn)壓.RGC輸出提供控制信號(hào)給外部晶體管,在RGO腳提供3.3V穩(wěn)壓.
WKUP 喚醒腳.這個(gè)輸入腳在電壓超過開啟門限時(shí)喚醒,條件由WKUP位設(shè)定
WKPOL = ”1”: 上升沿喚醒,WKUP位高電平并且WKUP電壓大于門限.
WKPOL = ”0”: 下降沿喚醒,WKUP位高電平并且WKUP電壓小于門限.
SDA 串行數(shù)據(jù)口 這是I2C接口雙向數(shù)據(jù)線
SCL 串行時(shí)鐘口 這是I2C串行通訊的時(shí)鐘口
器件描述
設(shè)計(jì)理論
由微控制器指令,ISL9208執(zhí)行電芯電壓監(jiān)測(cè)和電芯平衡操作,過流和短路被檢測(cè)到時(shí)根據(jù)內(nèi)置可選的延時(shí)時(shí)間自動(dòng)切斷功率FETS,在過熱狀態(tài)下切斷平衡FETs.ISL9208的自動(dòng)功能能由微控制器軟件管理而關(guān)閉.
系統(tǒng)上電/下電
The ISL9208 在 VCELL1,VCELL2, VCELL3, 和VCC電壓超過 POR 門限時(shí)上電,這時(shí)候,ISL9208喚醒,開啟RGO輸出.RGO提供3.3VDC+/-10%的穩(wěn)壓.它用RGC腳的控制電壓驅(qū)動(dòng)外部NPN三極管.三極管的放大系數(shù)至少70,VCE要超過30V(最好50V), NPN管的發(fā)射極受監(jiān)測(cè),由RGC的控制信號(hào)穩(wěn)壓到3.3V.RGO也供電給大部分內(nèi)部電路,推薦在集電極接一個(gè)500歐姆的電阻,在穩(wěn)壓器開啟的時(shí)候最小化初始電流沖擊.一旦上電,器件保持在喚醒狀態(tài)直到微控制器使之睡眠,或者VCELL1, VCELL2,VCELL3, VCC 電壓下降到POR極限以下.
WKUP的操作
有兩種設(shè)計(jì)喚醒ISL9208.一個(gè)是活動(dòng)的低電平連接(WKPOL=0,缺省),器件在充電器連接到電池包時(shí)喚醒,當(dāng)比較一個(gè)基于VCELL1的電壓的參考電壓的時(shí)候?qū)裌KUP腳拉到低電平.一個(gè)是活動(dòng)的高電平連接(WKPOL=1), WKUP被一個(gè)外部開關(guān)拉到高電平喚醒器件.
圖3
保護(hù)功能
在缺省的推薦條件下,ISL9208自動(dòng)響應(yīng)放電過流,放電短路,充電過流,內(nèi)部過溫度和外部過溫度.設(shè)計(jì)者可以選擇工作條件允許微控制器指示響應(yīng).這些在下面討論.
過流安全功能
The ISL9208 通過檢測(cè)CSENSE和DSENSE的電壓持續(xù)不斷地監(jiān)測(cè)放電電流.如果電壓超過設(shè)定值,時(shí)間超過設(shè)定的延時(shí),器件就進(jìn)入過流和短路保護(hù)模式.在這些模式中,ISL9208自動(dòng)關(guān)斷功率FETs,以此防止電流流過P+P-端.過流保護(hù)電路的電壓門限和延時(shí)時(shí)間是可選的,包括放電過流,充電過流和放電短路,都由05H配置寄存器設(shè)定.
在過流發(fā)生后,ISL9208自動(dòng)關(guān)斷CFET和DFET腳的電壓,DFET輸出驅(qū)動(dòng)放電FET門極到低電平,迅速關(guān)閉FET.放電FET的門極通過一個(gè)電阻拉低后關(guān)斷CFET.
通過關(guān)斷FETs,ISL9208防止電池包因?yàn)殡娦倦娏鬟^大造成損壞.當(dāng)ISL9208探測(cè)到放電過流條件時(shí),功率FET都關(guān)斷,DOC位置1.(當(dāng)FET被關(guān)斷時(shí),DFET和CFET也被復(fù)位).放電時(shí),過流自動(dòng)響應(yīng)可以由DENOCD設(shè)置為1禁止,外部微控制器能在任何時(shí)候開啟FET從過流條件下恢復(fù),但是它通常應(yīng)該啟動(dòng)負(fù)載監(jiān)視功能(通過設(shè)置LDMONEN為1,監(jiān)視LDFAIL位判斷過流狀態(tài)是否已經(jīng)解除.
I當(dāng)ISL9208檢測(cè)到放電短路時(shí),功率FET被關(guān)閉,DSC被設(shè)置為1.設(shè)置DENSCD位到1可以禁止短路自動(dòng)保護(hù).外部微控制器能隨時(shí)開啟FETS從短路條件下恢復(fù).但是應(yīng)該開啟負(fù)載監(jiān)視功能(設(shè)置LDMONEN為1),監(jiān)視LDFAIL位檢查過流狀態(tài)是否被解除.
當(dāng)ISL9208檢測(cè)到充電過流時(shí),功率FET被關(guān)斷,COC被設(shè)置為1.充電過流自動(dòng)保護(hù)在設(shè)置DENOCC為1時(shí)禁止.微控制器能開啟FET從過流條件下恢復(fù).但應(yīng)該等到電芯電壓從過充狀態(tài)恢復(fù)以及過流狀態(tài)撤除以后.或者微控制器等電池包去掉充電器,然后重新接上.
一個(gè)可選的提供保護(hù)功能的方法是按設(shè)計(jì)者的要求關(guān)斷自動(dòng)安全響應(yīng).在這種方式里,ISL9208仍然監(jiān)視過流條件,設(shè)置狀態(tài)位,但在過流和短路時(shí)不活動(dòng),代替的是,電池包安全依靠微控制器發(fā)送指令到ISL9208關(guān)斷FETs.為方便微控制器響應(yīng)過電流事件,特別是微控制器處于低功耗時(shí),COC,DOC和DSC置位使TEMP3V輸出開啟拉高(見圖5).這個(gè)輸出能被用作外部中斷,快速喚醒微控制器處理過電流事件.
圖4
負(fù)載監(jiān)測(cè)
ISL9208的負(fù)載監(jiān)測(cè)功能首先用來探測(cè)在放電時(shí)過流和短路后負(fù)載是否被移開.它能被用來防止在過載和短路狀態(tài)保持時(shí)FETs被開啟.負(fù)載監(jiān)視功能也能被微控制器用在電芯欠電壓FETS關(guān)閉的情況下.使用負(fù)載監(jiān)視功能防止負(fù)載還在時(shí)開啟FETS.減少電池包容量低時(shí)帶負(fù)載引起振蕩.它也能成為系統(tǒng)機(jī)械保護(hù)的一部分,防止負(fù)載自動(dòng)開啟,比如電池包開啟必須先完成某些動(dòng)作
負(fù)載監(jiān)測(cè)功能能被微控制器開啟或者關(guān)閉.正常狀況下它被關(guān)閉以最小化電路消耗.正常工作時(shí)必須被微控制器激活.VMON通過電阻內(nèi)部連接到VSS時(shí)電路工作.
在典型的操作中,當(dāng)過流和短路發(fā)生時(shí),DFET關(guān)斷,斷開電池到負(fù)載的回路.這時(shí)候,負(fù)載電阻小,負(fù)載監(jiān)測(cè)初始化關(guān)斷,VMON電壓上升到接近電池包電壓.一旦功率FETS關(guān)斷,微控制器設(shè)置LDMONEN激活負(fù)載監(jiān)測(cè)電路,開啟一個(gè)內(nèi)部FET,把一個(gè)下拉電阻增加到負(fù)載監(jiān)測(cè)電路.,外部可調(diào)整電阻和內(nèi)部監(jiān)測(cè)電阻形成一個(gè)電壓分壓器.R1可選擇阻值,使負(fù)載減小到足夠輕時(shí)LDFAIL復(fù)位.
過熱安全功能
外部溫度監(jiān)測(cè)
外部溫度可以用一個(gè)由固定電阻和熱敏電阻組成的分壓器監(jiān)測(cè).這個(gè)分壓器由ISL9208的TEMP3V輸出供電.這個(gè)輸出正常控制情況下僅僅短時(shí)段開啟以最小化電流消耗.沒有微控制器干涉情況下,缺省狀態(tài)時(shí)ISL9208提供自動(dòng)溫度掃描.這個(gè)掃描電路反復(fù)開啟,TEMP3V每640ms開啟5ms,用這種方式,甚至能在微控制器睡眠狀態(tài)下監(jiān)測(cè)外部溫度.
當(dāng)TEM3V輸出開啟時(shí),ISL9208等待1ms讓溫度的讀取穩(wěn)定,然后比較溫度電壓和內(nèi)部分壓器,內(nèi)部分壓器設(shè)置為TEMP3V/13.當(dāng)熱敏電阻電壓小于參考門限時(shí)(延時(shí)),一個(gè)外部過熱故障產(chǎn)生.為了設(shè)置外部過熱限制,把RX的阻值設(shè)定為熱敏電阻在過熱門限時(shí)電阻值的12倍.
當(dāng)微控制器設(shè)置AO3:AO0位選擇外部溫度電壓時(shí),TEMP3V輸出開啟.這引起TEMP1電壓被送到AO并且在1ms后激活過熱檢測(cè).只要AO3:AO0表示的是外部溫度,TEMP3V輸出保持開啟.
為了手動(dòng)掃描溫度,可以關(guān)閉自動(dòng)掃描,但是他們可以不相互干涉同時(shí)使用.設(shè)置ATMPOFF可以關(guān)閉自動(dòng)掃描.
微控制器能夠通過設(shè)置TEMP3ON配置位同時(shí)啟動(dòng)自動(dòng)掃描和微控制器控制掃描.這將開啟TEMP3V輸出在所有時(shí)候保持溫度控制電路的電壓,持續(xù)監(jiān)測(cè)過熱狀態(tài).這可能消耗大量的電流,因此這個(gè)功能通常只用在特定的測(cè)試中.
保護(hù)
缺省狀況下,當(dāng)ISL9208探測(cè)到一個(gè)內(nèi)部或者外部過熱狀態(tài)時(shí),FETS關(guān)斷,電芯平衡功能禁止,IOT和XOT位置位.r
在過熱發(fā)生時(shí)關(guān)斷FETS防止電芯在過熱時(shí)充電和放電,在太多電芯平衡引起ISL9208太多功率損耗時(shí)關(guān)斷電芯平衡功能防止損壞IC. 在自動(dòng)過熱狀態(tài)下,電芯平衡停止,FETs保持關(guān)斷直到溫度下降到恢復(fù)門限以下.在這個(gè)切斷期間,微控制器能通過AO監(jiān)測(cè)內(nèi)部溫度,但是任何對(duì)CFET,DFET和電芯平衡位的操作將被忽略.
內(nèi)部過熱自動(dòng)響應(yīng)可以通過設(shè)置DISITSD禁止.外部過熱自動(dòng)響應(yīng)可以通過設(shè)置DISXTSD位禁止.其他方面,微控制器監(jiān)測(cè)內(nèi)部和外部溫度防止電池包和電子元件過熱很重要.
模擬多路器選擇
ISL9208能被外部用來監(jiān)測(cè)單個(gè)電芯電壓和溫度.每個(gè)都能通過AO口監(jiān)測(cè).通過使用I2C接口設(shè)置AO3:AO0選擇要求的電壓.
電壓監(jiān)測(cè)
因?yàn)槊總€(gè)電芯電壓都比穩(wěn)壓器電壓高,因?yàn)楦咛幍碾娦境^了微控制器能接受的電壓,在微控制器監(jiān)測(cè)和外部A/D轉(zhuǎn)換時(shí)電平轉(zhuǎn)換和分壓是必要的.為進(jìn)入外部電路要求的電壓范圍,電平轉(zhuǎn)換器把電芯電壓除以2,并且以VSS為基準(zhǔn).因此,一個(gè)4.2V鋰電芯在AO口變成2.1V.
溫度監(jiān)測(cè)
在TEMPI端口表示外部溫度的電壓通過多路器指向AO口,同時(shí)設(shè)置AO控制位.外部溫度電壓不象電芯電壓除以2,它直接反映TEMPI腳的電壓.和通過AO口檢測(cè)內(nèi)部溫度的操作相似,除了沒有和內(nèi)部溫度相關(guān)的電壓外部校正.因?yàn)閮?nèi)部溫度監(jiān)測(cè),表示溫度的輸出電壓是線性的.參見關(guān)于在25度輸出電壓和溫度斜率的工作特性信息(第7頁).
電芯平衡
總覽
一個(gè)典型的ISL9208鋰電池包由5節(jié)到7節(jié)串聯(lián),一個(gè)或者更多個(gè)并聯(lián).這個(gè)組合給電動(dòng)工具,電動(dòng)車,電輪椅,便攜式醫(yī)療設(shè)備和電池動(dòng)力工業(yè)應(yīng)用必要的電壓和動(dòng)力,而串/并組合是普遍的,因?yàn)樵诖?lián)的電芯當(dāng)中的誤配減少了整體電池包的容量.在串聯(lián)個(gè)數(shù)很大和負(fù)載電流增加時(shí)誤配很嚴(yán)重.電芯平衡技術(shù)增加了容量和工作時(shí)間.
電芯平衡的定義
電芯平衡定義為一串電芯中對(duì)單個(gè)電芯的微分電流的應(yīng)用.當(dāng)然,正常而言,一串當(dāng)中的電芯接受相同的電流,一個(gè)電池包需要額外的電子元件和電路達(dá)到電芯平衡.ISL9208需要的外部元件僅僅是平衡電阻.
電芯平衡操作
電芯平衡通過微控制器程式完成.這個(gè)程式比較電芯電壓(電池包容量的一種表示),開啟較高電芯的電壓平衡FET.寫這個(gè)程式的時(shí)候需要確定很多參數(shù),一個(gè)電芯平衡程式的例子在ISL9208EVAL1Z評(píng)估套件中.
微控制器通過設(shè)置電芯平衡寄存器的對(duì)應(yīng)位開啟特定電芯的平衡,每一位都和一個(gè)電芯平衡相關(guān),當(dāng)被置位時(shí),一個(gè)內(nèi)部平衡FET開啟,在特定的電芯兩端短接一個(gè)外部電阻.從電芯汲取的最大電流是200mA.電流大小可以通過選擇外部電阻的阻值來設(shè)置.圖7顯示了一個(gè)帶200mA平衡電阻的例子.在較低的平衡電流下,可以一起開啟多個(gè)平衡FET,不超過器件的功率耗散限制,或者產(chǎn)生更多的平衡電流會(huì)使外部電阻更熱.
外部VMON/CFET保護(hù)機(jī)制
當(dāng)充電/放電同一路徑時(shí),推薦在VMON和P-的線路上增加一個(gè)二極管模塊.參看圖8的D1.這個(gè)二極管在FETs關(guān)斷,充電器連接到電池包時(shí)防止VMON腳電壓反向. 充電和放電路徑分開時(shí)可以不用這個(gè)二極管.因?yàn)镻-(放電)總是正.如果電池包最小電壓和充電器最大電壓的壓差不超過22V時(shí)也不需要這個(gè)二極管.當(dāng)電池包被設(shè)計(jì)成單套充電/放電FETs時(shí),ISL9208的CFET腳在過流和短路時(shí)應(yīng)該受保護(hù).短路和過流發(fā)生時(shí),FET突然開啟,從馬達(dá)線圈回饋的電壓能超過CFET腳的最大輸入電壓.因此,推薦在CFET和充電FET的門極之間串聯(lián)一個(gè)二極管.參看圖8的D3.這將降低CFET門極電壓,最后,為保護(hù)充電FET,在電池包端口有較大的反向電壓時(shí),增加穩(wěn)壓管D4..當(dāng)P-腳反向時(shí)會(huì)有大的反向電壓.而CFET腳被鉗位到VSS.D4的齊納電壓要小于FET的VGS規(guī)格.
用戶標(biāo)志
ISL9208 在寄存器有4個(gè)標(biāo)志微控制器能用作普通目的標(biāo)識(shí).這些位指定為UFLG3,UFLG2,UFLG1和UFLG0.微控制器能通過寫寄存器置位或者復(fù)位這些位.
用戶標(biāo)志位是用電池做后備電源的,因此內(nèi)容在睡眠模式后仍然保持.但是,如果微控制器設(shè)置POR迫使電源復(fù)位,所有的用戶標(biāo)志也復(fù)位.另外,如果CELL1電壓降到POR電壓以下,用戶標(biāo)志位的內(nèi)容可能丟失.
串行接口
接口協(xié)議
器件支持雙向總線協(xié)議.協(xié)議定義在總線上發(fā)送數(shù)據(jù)的任何器件叫發(fā)送器,接受器件叫接收器.控制數(shù)據(jù)傳輸?shù)慕兄鳈C(jī),受控制的器件叫從機(jī).主機(jī)總是發(fā)起數(shù)據(jù)傳輸,為發(fā)送和接收數(shù)據(jù)提供時(shí)鐘.因此,ISL9208在所有應(yīng)用中作為從機(jī).當(dāng)發(fā)送和接收數(shù)據(jù)時(shí),最重要的協(xié)議首先發(fā)送,因此,第一個(gè)發(fā)送的地址為BIT 7.
時(shí)鐘和數(shù)據(jù)
SDA線上的數(shù)據(jù)狀態(tài)僅僅當(dāng)SCL是低電平時(shí)才能改變.SDA在SCL高電平時(shí)保留作指示開始和停止條件.參看圖9.
啟動(dòng)狀態(tài)
在所有命令之前是啟動(dòng)狀態(tài),也就是SCL為高電平時(shí)SDA由高到低.器件為啟動(dòng)狀態(tài)持續(xù)監(jiān)視SDA和SCL線,直到狀態(tài)發(fā)生才響應(yīng)命令.參看圖10.
停止?fàn)顟B(tài)
所有通訊必須由停止條件來終止,也就是當(dāng)SCL為高電平時(shí)SDA由低電平到高電平.停止條件也被用來在讀周期后使器件進(jìn)入待機(jī)模式.停止條件只能在傳輸器件放棄總線后發(fā)出.參看圖10.
應(yīng)答
應(yīng)答是一個(gè)軟件協(xié)定,用來指示數(shù)據(jù)是否成功發(fā)送.發(fā)送器件,不管是主機(jī)還是從機(jī),在發(fā)送8位數(shù)據(jù)以后釋放總線.在第9個(gè)時(shí)鐘周期,接收器把SDA線拉到低電平回復(fù)它接收到8位數(shù)據(jù).參看圖11.
器件在識(shí)別到一個(gè)啟動(dòng)條件后用ACK回復(fù)字節(jié)正確.如果選擇寫操作,器件在收到每8個(gè)字節(jié)會(huì)發(fā)一個(gè)ACK.器件響應(yīng)所有收到的數(shù)據(jù)和地址字節(jié),在內(nèi)容不匹配器件內(nèi)部的地址時(shí)排除跟隨的字節(jié).在讀操作中,器件發(fā)送8位數(shù)據(jù),釋放SDA線,然后監(jiān)視線上的ACK.如果收到一個(gè)ACK,而且主機(jī)沒有產(chǎn)生停止條件,器件將繼續(xù)傳送數(shù)據(jù).如果ACK沒有收到將停止進(jìn)一步發(fā)送數(shù)據(jù).主機(jī)必須發(fā)送停止條件,使器件返回待機(jī)模式,進(jìn)入可知狀態(tài).
寫操作
作為寫操作,器件要求一個(gè)從字節(jié)和一個(gè)地址字節(jié),從字節(jié)定義主機(jī)要寫的I2C總線的特定器件.地址定義器件特定的一個(gè)寄存器.在接收到每個(gè)字節(jié)以后,器件發(fā)一個(gè)ACK,等待主機(jī)的下一個(gè)8位數(shù)據(jù).在響應(yīng)后,緊接著數(shù)據(jù)發(fā)送,主機(jī)在產(chǎn)生一個(gè)停止條件后終止發(fā)送.參看圖12.
當(dāng)從機(jī)接收到數(shù)據(jù)后,在第8位時(shí)鐘下降沿?cái)?shù)據(jù)值傳送到地址字節(jié)制定的寄存器,在接收到ACK后,器件自動(dòng)增加地址.因此,在發(fā)送停止位之前,主機(jī) 不用重復(fù)發(fā)送從字節(jié)和地址字節(jié)就可以發(fā)送更多的數(shù)據(jù).在寫到0AH后,地址回到0.不要繼續(xù)寫到比08H更高的地址.因?yàn)檫@些地址處理保留的寄存器.寫這些地址可能引起不期望的地址操作.
讀操作
讀操作以和寫操作類似的方式開始,主機(jī)發(fā)送地址,然后主機(jī)發(fā)送一個(gè)ACK,一個(gè)重復(fù)的開始,帶LSB=1的從字節(jié).在器件響應(yīng)了從字節(jié)以后,器件每個(gè)主機(jī)時(shí)鐘發(fā)送一位數(shù)據(jù).在從機(jī)發(fā)送8位數(shù)據(jù)給主機(jī)后,主機(jī)發(fā)送一個(gè)NACK給器件,指示數(shù)據(jù)發(fā)送完畢,然后主機(jī)發(fā)送停止位.參看圖13.在發(fā)送第8位給主機(jī)后,器件自動(dòng)增加內(nèi)部地址指針.因此,主機(jī)如果不發(fā)送NACK和停止位,而是發(fā)送更多的時(shí)鐘讀下一個(gè)地址的內(nèi)容,不用發(fā)送另一個(gè)從字節(jié)和地址字節(jié).如果知道最后的讀或者寫的地址,主機(jī)能從當(dāng)前地址讀.在這個(gè)例子里,在數(shù)據(jù)返回時(shí)只發(fā)送從字節(jié).
寄存器保護(hù)
放電設(shè)置,充電設(shè)置,功能設(shè)置寄存器在上電初始化時(shí)被寫保護(hù).為了寫這些寄存器必須設(shè)置一個(gè)使能位.這些寫使能為在寫使能位(08H).
寫FSETEN為1使能改變功能設(shè)置寄存器數(shù)據(jù)(地址7).
寫CHSETEN為1使能改變功能設(shè)置寄存器(地址6)
寫DISSETEN為1使能改變功能設(shè)置寄存器(地址5).
微控制器能復(fù)位這些位到0防止寫錯(cuò)誤改變電池包的操作.
操作狀態(tài)機(jī)制
圖14顯示了(le)一(yí)個(gè)(gè)裝(zhuāng)置(zhì)狀(zhuàng)態(tài)(t)機(jī)制,定義ISL9208響應(yīng)不同條件..
591711200898894.pdf