總線(xiàn)的鎖定解除方法、裝置及系統(tǒng)的制作方法
【專(zhuān)利摘要】本發(fā)明公開(kāi)了總線(xiàn)的鎖定解除方法、裝置及系統(tǒng)。該方法包括:獲取串行時(shí)鐘線(xiàn)的信號(hào)處于高電平而串行數(shù)據(jù)線(xiàn)的信號(hào)處于低電平的狀態(tài);計(jì)算所述狀態(tài)的連續(xù)個(gè)數(shù),當(dāng)所述連續(xù)個(gè)數(shù)超過(guò)預(yù)設(shè)的門(mén)限值時(shí),發(fā)出死鎖警報(bào);根據(jù)所述死鎖警報(bào)的反饋指令,向所述串行時(shí)鐘線(xiàn)輸出預(yù)設(shè)數(shù)個(gè)脈沖時(shí)鐘信號(hào),為總線(xiàn)解鎖。采用本發(fā)明,可以通過(guò)監(jiān)控設(shè)備檢測(cè)到I2C總線(xiàn)被鎖定以后,通過(guò)向I2C總線(xiàn)上注入足夠多時(shí)鐘信號(hào)引導(dǎo)I2C總線(xiàn)上的從設(shè)備完成未完的數(shù)據(jù)發(fā)送工作,從而從鎖定轉(zhuǎn)臺(tái)中恢復(fù)出來(lái)。本方案易于實(shí)現(xiàn),能夠更準(zhǔn)確地監(jiān)測(cè)到總線(xiàn)被鎖定的情形。
【專(zhuān)利說(shuō)明】總線(xiàn)的鎖定解除方法、裝置及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及系統(tǒng)監(jiān)控技術(shù),特別是涉及總線(xiàn)的鎖定解除方法、裝置及系統(tǒng)。
【背景技術(shù)】
[0002]I2CCInter — Integrated Circuit)總線(xiàn)是兩線(xiàn)式串行總線(xiàn),兩線(xiàn)包括SDA(Serialdata line,串行數(shù)據(jù)線(xiàn))和SCL (Serial clock line,串行時(shí)鐘線(xiàn))在連接到總線(xiàn)的器件間傳遞信息。每個(gè)器件都有一個(gè)唯一的地址識(shí)別,無(wú)論是微控制器、IXD (Liquid CrystalDisplay,液晶顯示器)驅(qū)動(dòng)器、存儲(chǔ)器或鍵盤(pán)接口等,而且都可以作為一個(gè)發(fā)送器或接收器(由器件的功能決定)。例如,LCD驅(qū)動(dòng)器只是一個(gè)接收器,而存儲(chǔ)器則既可以接收又可以發(fā)送數(shù)據(jù)。除了發(fā)送器和接收器外器件在執(zhí)行數(shù)據(jù)傳輸時(shí)也可以被看作是主機(jī)或從機(jī)。主機(jī)是初始化總線(xiàn)的數(shù)據(jù)傳輸并產(chǎn)生允許傳輸?shù)臅r(shí)鐘信號(hào)的器件。顯然,I2C總線(xiàn)用于連接微控制器及其外圍設(shè)備,是微電子通信控制領(lǐng)域廣泛采用的一種總線(xiàn)標(biāo)準(zhǔn),被廣泛應(yīng)用于各種監(jiān)控系統(tǒng)。它也是同步通信的一種特殊形式,具有接口線(xiàn)少,控制方式簡(jiǎn)單,器件封裝形式小,通信速率較高等優(yōu)點(diǎn)。
[0003]但是,由于I2C總線(xiàn)上的從設(shè)備一旦沒(méi)有總線(xiàn)復(fù)位功能,很容易在系統(tǒng)特定狀態(tài)下出現(xiàn)I2C從設(shè)備的I2C總線(xiàn)被鎖定的情況,從而影響監(jiān)控系統(tǒng)運(yùn)作,這是一個(gè)急需解決的問(wèn)題。
【發(fā)明內(nèi)容】
[0004]基于此,有必要針對(duì)上述問(wèn)題,提供一種總線(xiàn)的鎖定解除方法、裝置及系統(tǒng),能夠保證工作的持續(xù)性,同時(shí)簡(jiǎn)化外圍電路。
[0005]一種總線(xiàn)的鎖定解除方法,包括:
[0006]獲取串行時(shí)鐘線(xiàn)的信號(hào)處于高電平而串行數(shù)據(jù)線(xiàn)的信號(hào)處于低電平的狀態(tài);
[0007]計(jì)算所述狀態(tài)的連續(xù)個(gè)數(shù),當(dāng)所述連續(xù)個(gè)數(shù)超過(guò)預(yù)設(shè)的門(mén)限值時(shí),發(fā)出死鎖警報(bào);
[0008]根據(jù)所述死鎖警報(bào)的反饋指令,向所述串行時(shí)鐘線(xiàn)輸出預(yù)設(shè)數(shù)個(gè)脈沖時(shí)鐘信號(hào),為總線(xiàn)解鎖。
[0009]相應(yīng)地,一種總線(xiàn)的鎖定解除裝置,包括:
[0010]狀態(tài)獲取單元,用于獲取串行時(shí)鐘線(xiàn)的信號(hào)處于高電平而串行數(shù)據(jù)線(xiàn)的信號(hào)處于低電平的狀態(tài);
[0011]與所述狀態(tài)獲取單元相連的狀態(tài)統(tǒng)計(jì)單元,用于計(jì)算所述狀態(tài)的連續(xù)個(gè)數(shù);
[0012]與所述狀態(tài)統(tǒng)計(jì)單元相連的死鎖報(bào)警單元,用于在所述連續(xù)個(gè)數(shù)超過(guò)預(yù)設(shè)的門(mén)限值時(shí),發(fā)出死鎖警報(bào);
[0013]鎖定解除單元,用于接收所述死鎖警報(bào)的反饋指令,并向所述串行時(shí)鐘線(xiàn)輸出預(yù)設(shè)數(shù)個(gè)脈沖時(shí)鐘信號(hào),為總線(xiàn)解鎖。
[0014]相應(yīng)地,一種總線(xiàn)的鎖定解除系統(tǒng),包括主設(shè)備、從設(shè)備,以及連接在主、從設(shè)備之間的總線(xiàn),還包括:
[0015]如前所述的總線(xiàn)的鎖定解除裝置,該總線(xiàn)的鎖定解除裝置連接在所述主設(shè)備和所述總線(xiàn)之間。
[0016]實(shí)施本發(fā)明,具有如下有益效果:
[0017]與現(xiàn)有技術(shù)相比,本發(fā)明中恢復(fù)I2C總線(xiàn)從設(shè)備不需要對(duì)設(shè)備進(jìn)行復(fù)位,保證了工作的持續(xù)性,進(jìn)一步地,有利于實(shí)現(xiàn)外圍電路簡(jiǎn)單化。本發(fā)明的技術(shù)方案是,通過(guò)監(jiān)控設(shè)備檢測(cè)到I2C總線(xiàn)被鎖定以后,通過(guò)向I2C總線(xiàn)上注入足夠多時(shí)鐘信號(hào)引導(dǎo)I2C總線(xiàn)上的從設(shè)備完成未完的數(shù)據(jù)發(fā)送工作,從而從鎖定狀態(tài)中恢復(fù)出來(lái)。本方案易于實(shí)現(xiàn),能夠更準(zhǔn)確地監(jiān)測(cè)到總線(xiàn)被鎖定的情形。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0018]圖1為本發(fā)明總線(xiàn)的鎖定解除方法的流程圖;
[0019]圖2為本發(fā)明總線(xiàn)的鎖定解除方法的實(shí)施例流程圖;
[0020]圖3為本發(fā)明總線(xiàn)的鎖定解除裝置的示意圖;
[0021]圖4為本發(fā)明總線(xiàn)的鎖定解除裝置的實(shí)施例示意圖;
[0022]圖5為本發(fā)明總線(xiàn)的鎖定解除系統(tǒng)的示意圖。
【具體實(shí)施方式】
[0023]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步地詳細(xì)描述。
[0024]圖1為本發(fā)明總線(xiàn)的鎖定解除方法的流程圖,包括:
[0025]SlOl:獲取串行時(shí)鐘線(xiàn)的信號(hào)處于高電平而串行數(shù)據(jù)線(xiàn)的信號(hào)處于低電平的狀態(tài);
[0026]S102:計(jì)算所述狀態(tài)的連續(xù)個(gè)數(shù),當(dāng)所述連續(xù)個(gè)數(shù)超過(guò)預(yù)設(shè)的門(mén)限值時(shí),發(fā)出死鎖警報(bào);
[0027]S103:根據(jù)所述死鎖警報(bào)的反饋指令,向所述串行時(shí)鐘線(xiàn)輸出預(yù)設(shè)數(shù)個(gè)脈沖時(shí)鐘信號(hào),為總線(xiàn)解鎖。
[0028]傳統(tǒng)技術(shù)是通過(guò)控制所有I2C的從設(shè)備的工作電源,當(dāng)I2C主設(shè)備檢測(cè)到總線(xiàn)被鎖定時(shí),即斷開(kāi)I2C從設(shè)備的工作電源,等待設(shè)定時(shí)間后再恢復(fù)供電,使I2C從器件恢復(fù)至初始狀態(tài)。但該方案影響工作的連續(xù)性,本發(fā)明總線(xiàn)的鎖定解除方法向所述串行時(shí)鐘線(xiàn)輸出預(yù)設(shè)數(shù)個(gè)脈沖時(shí)鐘信號(hào),引導(dǎo)I2C總線(xiàn)上的從設(shè)備完成未完的數(shù)據(jù)發(fā)送工作,從而從鎖定狀態(tài)中恢復(fù)出來(lái),為總線(xiàn)解鎖。
[0029]另外,本發(fā)明也不需要監(jiān)控主設(shè)備的復(fù)位狀況,通過(guò)獲取串行時(shí)鐘線(xiàn)的信號(hào)處于高電平而串行數(shù)據(jù)線(xiàn)的信號(hào)處于低電平的狀態(tài),針對(duì)不同的系統(tǒng)設(shè)定門(mén)限次數(shù),當(dāng)所述連續(xù)個(gè)數(shù)超過(guò)預(yù)設(shè)的門(mén)限值時(shí),發(fā)出死鎖警報(bào)。后級(jí)系統(tǒng)可以在接收到所述死鎖警報(bào)后,自動(dòng)反饋指令,為總線(xiàn)解鎖,從而提高系統(tǒng)的時(shí)效性;也可以結(jié)合其它參考因素或人為判斷后,再發(fā)出反饋指令,為總線(xiàn)解鎖,從而提高系統(tǒng)對(duì)死鎖的準(zhǔn)確判斷。
[0030]圖2為本發(fā)明總線(xiàn)的鎖定解除方法的實(shí)施例流程圖。與圖1相比,圖2是本發(fā)明的具體實(shí)施例流程圖。[0031]S201:獲取串行時(shí)鐘線(xiàn)的信號(hào)處于高電平而串行數(shù)據(jù)線(xiàn)的信號(hào)處于低電平的狀態(tài);
[0032]S202:計(jì)算所述狀態(tài)的連續(xù)個(gè)數(shù),當(dāng)所述連續(xù)個(gè)數(shù)超過(guò)預(yù)設(shè)的門(mén)限值時(shí),發(fā)出死鎖警報(bào);
[0033]S203:根據(jù)所述死鎖警報(bào)的反饋指令,維持所述串行數(shù)據(jù)線(xiàn)輸出高阻信號(hào)的條件下,向串行時(shí)鐘線(xiàn)輸出預(yù)設(shè)數(shù)N個(gè)脈沖時(shí)鐘信號(hào),為總線(xiàn)解鎖。
[0034]下面結(jié)合實(shí)施例及附圖對(duì)本發(fā)明作進(jìn)一步詳細(xì)的描述。
[0035]本發(fā)明的系統(tǒng)主要包括:主設(shè)備、監(jiān)測(cè)設(shè)備、從設(shè)備等。眾所周知I2C總線(xiàn)在某些情況下會(huì)出現(xiàn)I2C從設(shè)備總線(xiàn)被鎖住的情況。當(dāng)I2C從設(shè)備出現(xiàn)死鎖時(shí)會(huì)一直保持I2C數(shù)據(jù)總線(xiàn)為低電平;又因?yàn)椴捎玫氖强偩€(xiàn)結(jié)構(gòu),所以主設(shè)備與所有的從設(shè)備都失去正??偩€(xiàn)聯(lián)系。此時(shí),監(jiān)測(cè)設(shè)備可以通過(guò)獲取串行時(shí)鐘線(xiàn)的信號(hào)處于高電平而串行數(shù)據(jù)線(xiàn)的信號(hào)處于低電平的狀態(tài)的個(gè)數(shù),來(lái)判斷I2C總線(xiàn)是否死鎖。因?yàn)楦鶕?jù)眾所周知的I2C通訊協(xié)議,在特定的數(shù)據(jù)寬度下連續(xù)的低電平個(gè)數(shù)是有限的,在系統(tǒng)設(shè)計(jì)一定的情況下,最大低電平個(gè)數(shù)是確定的。所以監(jiān)測(cè)設(shè)備在所述連續(xù)個(gè)數(shù)超過(guò)預(yù)設(shè)的門(mén)限值時(shí),發(fā)出死鎖警報(bào)。根據(jù)所述死鎖警報(bào)的反饋指令,維持所述串行數(shù)據(jù)線(xiàn)輸出高阻信號(hào)的條件下,向串行時(shí)鐘線(xiàn)輸出預(yù)設(shè)數(shù)N個(gè)脈沖時(shí)鐘信號(hào),引導(dǎo)其退出鎖定狀態(tài)的,為總線(xiàn)解鎖。并且發(fā)送的脈沖個(gè)數(shù)在特定的數(shù)據(jù)寬度下有限個(gè)的。根據(jù)總線(xiàn)的數(shù)據(jù)寬度,設(shè)置串行時(shí)鐘線(xiàn)輸出的所述預(yù)設(shè)數(shù)N。
[0036]圖3為本發(fā)明總線(xiàn)的鎖定解除裝置的示意圖,包括:
[0037]狀態(tài)獲取單元,用于獲取串行時(shí)鐘線(xiàn)的信號(hào)處于高電平而串行數(shù)據(jù)線(xiàn)的信號(hào)處于低電平的狀態(tài);
[0038]與所述狀態(tài)獲取單元相連的狀態(tài)統(tǒng)計(jì)單元,用于計(jì)算所述狀態(tài)的連續(xù)個(gè)數(shù);
[0039]與所述狀態(tài)統(tǒng)計(jì)單元相連的死鎖報(bào)警單元,用于在所述連續(xù)個(gè)數(shù)超過(guò)預(yù)設(shè)的門(mén)限值時(shí),發(fā)出死鎖警報(bào);
[0040]鎖定解除單元,用于接收所述死鎖警報(bào)的反饋指令,并向所述串行時(shí)鐘線(xiàn)輸出預(yù)設(shè)數(shù)個(gè)脈沖時(shí)鐘信號(hào),為總線(xiàn)解鎖。
[0041]圖3與圖1相對(duì)應(yīng),圖中各個(gè)單元的運(yùn)行方式與方法中的相同。
[0042]圖4為本發(fā)明總線(xiàn)的鎖定解除裝置的實(shí)施例示意圖。
[0043]如圖4所示,在其中一個(gè)實(shí)施例當(dāng)中,所述鎖定解除單元包括:
[0044]命令接收單元,用于接收所述死鎖警報(bào)的反饋指令;
[0045]與所述命令接收單元相連的數(shù)據(jù)線(xiàn)控制單元,用于向所述串行數(shù)據(jù)線(xiàn)持續(xù)輸出高阻信號(hào);
[0046]與所述數(shù)據(jù)線(xiàn)控制單元相連的時(shí)鐘線(xiàn)控制單元,用于向串行時(shí)鐘線(xiàn)輸出預(yù)設(shè)數(shù)N個(gè)脈沖時(shí)鐘信號(hào)。
[0047]其中,在一個(gè)實(shí)施例當(dāng)中,所述時(shí)鐘線(xiàn)控制單元,包括:
[0048]脈沖數(shù)設(shè)置單元,用于設(shè)置串行時(shí)鐘線(xiàn)輸出的所述預(yù)設(shè)數(shù)N。
[0049]圖4與圖2相對(duì)應(yīng),圖中各個(gè)單元的運(yùn)行方式與方法中的相同。
[0050]圖5為本發(fā)明總線(xiàn)的鎖定解除系統(tǒng)的示意圖。
[0051]如圖5所示,本發(fā)明總線(xiàn)的鎖定解除系統(tǒng)包括主設(shè)備、從設(shè)備,以及連接在主、從設(shè)備之間的總線(xiàn),還包括:[0052]如前所述的總線(xiàn)的鎖定解除裝置,該總線(xiàn)的鎖定解除裝置連接在所述主設(shè)備和所述總線(xiàn)之間。
[0053]在一個(gè)實(shí)施例當(dāng)中,所述主設(shè)備,包括:
[0054]與所述死鎖報(bào)警單元相連的報(bào)警接收單元,用于接收所述死鎖警報(bào)的信息;
[0055]連接在所述報(bào)警接收單元與所述鎖定解除單元之間的指令發(fā)送單元,用于向所述總線(xiàn)的鎖定解除裝置發(fā)送反饋指令。
[0056]以上所述實(shí)施例僅表達(dá)了本發(fā)明的幾種實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對(duì)本發(fā)明專(zhuān)利范圍的限制。應(yīng)當(dāng)指出的是,對(duì)于本領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專(zhuān)利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
【權(quán)利要求】
1.一種總線(xiàn)的鎖定解除方法,其特征在于,包括: 獲取串行時(shí)鐘線(xiàn)的信號(hào)處于高電平而串行數(shù)據(jù)線(xiàn)的信號(hào)處于低電平的狀態(tài); 計(jì)算所述狀態(tài)的連續(xù)個(gè)數(shù),當(dāng)所述連續(xù)個(gè)數(shù)超過(guò)預(yù)設(shè)的門(mén)限值時(shí),發(fā)出死鎖警報(bào); 根據(jù)所述死鎖警報(bào)的反饋指令,向所述串行時(shí)鐘線(xiàn)輸出預(yù)設(shè)數(shù)個(gè)脈沖時(shí)鐘信號(hào),為總線(xiàn)解鎖。
2.根據(jù)權(quán)利要求1所述的總線(xiàn)的鎖定解除方法,其特征在于,向所述串行時(shí)鐘線(xiàn)輸出預(yù)設(shè)數(shù)個(gè)脈沖時(shí)鐘信號(hào)的步驟,包括: 維持所述串行數(shù)據(jù)線(xiàn)輸出高阻信號(hào)的條件下,向串行時(shí)鐘線(xiàn)輸出預(yù)設(shè)數(shù)N個(gè)脈沖時(shí)鐘信號(hào)。
3.根據(jù)權(quán)利要求2所述的總線(xiàn)的鎖定解除方法,其特征在于: 根據(jù)總線(xiàn)的數(shù)據(jù)寬度,設(shè)置串行時(shí)鐘線(xiàn)輸出的所述預(yù)設(shè)數(shù)N。
4.一種總線(xiàn)的鎖定解除裝置,其特征在于,包括: 狀態(tài)獲取單元,用于獲取串行時(shí)鐘線(xiàn)的信號(hào)處于高電平而串行數(shù)據(jù)線(xiàn)的信號(hào)處于低電平的狀態(tài); 與所述狀態(tài)獲取單元相連的狀態(tài)統(tǒng)計(jì)單元,用于計(jì)算所述狀態(tài)的連續(xù)個(gè)數(shù); 與所述狀態(tài)統(tǒng)計(jì)單元相連的死鎖報(bào)警單元,用于在所述連續(xù)個(gè)數(shù)超過(guò)預(yù)設(shè)的門(mén)限值時(shí),發(fā)出死鎖警報(bào); 鎖定解除單元,用于接收所述死鎖警報(bào)的反饋指令,并向所述串行時(shí)鐘線(xiàn)輸出預(yù)設(shè)數(shù)個(gè)脈沖時(shí)鐘信號(hào),為總線(xiàn)解鎖。
5.根據(jù)權(quán)利要求4所述的總線(xiàn)的鎖定解除裝置,其特征在于,所述鎖定解除單元包括: 命令接收單元,用于接收所述死鎖警報(bào)的反饋指令; 與所述命令接收單元相連的數(shù)據(jù)線(xiàn)控制單元,用于向所述串行數(shù)據(jù)線(xiàn)持續(xù)輸出高阻信號(hào); 與所述數(shù)據(jù)線(xiàn)控制單元相連的時(shí)鐘線(xiàn)控制單元,用于向串行時(shí)鐘線(xiàn)輸出預(yù)設(shè)數(shù)N個(gè)脈沖時(shí)鐘信號(hào)。
6.根據(jù)權(quán)利要求5所述的總線(xiàn)的鎖定解除裝置,其特征在于,所述時(shí)鐘線(xiàn)控制單元,包括: 脈沖數(shù)設(shè)置單元,用于設(shè)置串行時(shí)鐘線(xiàn)輸出的所述預(yù)設(shè)數(shù)N。
7.一種總線(xiàn)的鎖定解除系統(tǒng),包括主設(shè)備、從設(shè)備,以及連接在主、從設(shè)備之間的總線(xiàn),其特征在于,還包括: 如權(quán)利要求4至6任一項(xiàng)所述的總線(xiàn)的鎖定解除裝置,該總線(xiàn)的鎖定解除裝置連接在所述主設(shè)備和所述總線(xiàn)之間。
8.根據(jù)權(quán)利要求7所述的總線(xiàn)的鎖定解除系統(tǒng),其特征在于,所述主設(shè)備,包括: 與所述死鎖報(bào)警單元相連的報(bào)警接收單元,用于接收所述死鎖警報(bào)的信息; 連接在所述報(bào)警接收單元與所述鎖定解除單元之間的指令發(fā)送單元,用于向所述總線(xiàn)的鎖定解除裝置發(fā)送反饋指令。
【文檔編號(hào)】G06F13/28GK103678198SQ201210342878
【公開(kāi)日】2014年3月26日 申請(qǐng)日期:2012年9月14日 優(yōu)先權(quán)日:2012年9月14日
【發(fā)明者】武玉鵬, 左延麟 申請(qǐng)人:京信通信系統(tǒng)(中國(guó))有限公司