一種異?;謴?fù)的方法及串行總線傳輸裝置制造方法
【專利摘要】本發(fā)明實(shí)施例提供了一種異?;謴?fù)的方法及串行總線傳輸裝置,涉及通信領(lǐng)域,可以在SDA被從設(shè)備拉低的情況下產(chǎn)生stop信號(hào),使數(shù)據(jù)傳輸正常進(jìn)行。所述方法包括:當(dāng)主設(shè)備和從設(shè)備檢測(cè)到SCL處于異常狀態(tài)時(shí),釋放SCL和SDA;當(dāng)主設(shè)備檢測(cè)到SCL和SDA均被釋放后,在串行總線上產(chǎn)生停止stop信號(hào)。
【專利說(shuō)明】一種異?;謴?fù)的方法及串行總線傳輸裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信領(lǐng)域,尤其涉及一種異?;謴?fù)的方法及串行總線傳輸裝置。
【背景技術(shù)】
[0002]I2C(Inter Integrared Circuit,集成電路互聯(lián)總線)協(xié)議、SMBUS(SystemManagement Bus,系統(tǒng)管理總線)協(xié)議,PMBUS (Inter Integrared Circuit,集成電路互聯(lián)總線)協(xié)議是包括SCL(SerialClock Line,串行時(shí)鐘總線)和SDA(Serial Data Line,串行數(shù)據(jù)總線)的兩線式串行總線類協(xié)議,通常用于連接多個(gè)主設(shè)備和多個(gè)從設(shè)備。所述主設(shè)備與從設(shè)備間的數(shù)據(jù)傳輸以start信號(hào)開(kāi)始,以stop信號(hào)結(jié)束。I2C協(xié)議還要求start信號(hào)(SCL為高,SDA為下降沿)和stop信號(hào)(SCL為高,SDA為上升沿)嚴(yán)格配對(duì),即在I2C總線上進(jìn)行數(shù)據(jù)傳輸時(shí),在數(shù)據(jù)傳輸開(kāi)始時(shí)需要產(chǎn)生一個(gè)start信號(hào),在數(shù)據(jù)傳輸結(jié)束后必須對(duì)應(yīng)產(chǎn)生一個(gè)stop信號(hào),否則下一次的數(shù)據(jù)傳輸不能啟動(dòng)。
[0003]在I2C總線系統(tǒng)中,通常有多個(gè)主設(shè)備和多個(gè)從設(shè)備參與數(shù)據(jù)傳輸,這多個(gè)主設(shè)備和多個(gè)從設(shè)備均掛接在同一總線上,各主設(shè)備可以通過(guò)總線仲裁的方式獲得總線使用權(quán)。主設(shè)備或者從設(shè)備長(zhǎng)期拉低SCL或SDA導(dǎo)致總線掛死等總線異常情況。在這些場(chǎng)景下,總線無(wú)法進(jìn)行自恢復(fù),從而無(wú)法產(chǎn)生stop信號(hào),這就導(dǎo)致數(shù)據(jù)傳輸無(wú)法繼續(xù)進(jìn)行。
[0004]現(xiàn)有技術(shù)中存在一種串行總線異常自恢復(fù)的方法,在主設(shè)備中引入超時(shí)檢測(cè)模塊,對(duì)SCL的狀態(tài)進(jìn)行實(shí)時(shí)檢測(cè)。當(dāng)SCL被拉低的時(shí)間超過(guò)超時(shí)值時(shí),主設(shè)備會(huì)發(fā)送stop信號(hào),使數(shù)據(jù)傳輸正常進(jìn)行。
[0005]在實(shí)現(xiàn)上述串行總線異常自恢復(fù)方法的過(guò)程中,當(dāng)SDA是被從設(shè)備拉低時(shí),主設(shè)備無(wú)法將SDA拉高產(chǎn)生上升沿,即無(wú)法發(fā)送stop信號(hào),總線被從設(shè)備掛死,總線上的數(shù)據(jù)傳輸不能正常進(jìn)行。
【發(fā)明內(nèi)容】
[0006]本發(fā)明實(shí)施例提供了一種異?;謴?fù)的方法及串行總線傳輸裝置,可以在SDA被從設(shè)備拉低的情況下產(chǎn)生Stop信號(hào),從而使數(shù)據(jù)傳輸正常進(jìn)行。
[0007]為達(dá)到上述目的,本發(fā)明的實(shí)施例采用如下技術(shù)方案:
[0008]第一方面,公開(kāi)了一種異常恢復(fù)的方法,用于串行總線傳輸裝置,所述串行總線傳輸裝置包括至少一個(gè)主設(shè)備,至少一個(gè)從設(shè)備,以及用于所述主設(shè)備與所述從設(shè)備之間進(jìn)行通信的串行總線,包括:
[0009]所述主設(shè)備和所述從設(shè)備分別檢測(cè)串行時(shí)鐘總線SCL是否處于異常狀態(tài);
[0010]若所述SCL處于異常狀態(tài),則所述主設(shè)備和所述從設(shè)備分別釋放所述SCL和串行數(shù)據(jù)總線SDA ;
[0011]在所述主設(shè)備檢測(cè)到所述SCL和所述SDA均被釋放之后,所述主設(shè)備在所述SCL和所述SDA上產(chǎn)生停止stop信號(hào),以使所述串行總線傳輸裝置恢復(fù)正常通信,其中,所述stop信號(hào)是指所述SCL處于高電平,所述SDA處于上升沿。[0012]結(jié)合第一方面,在第一種可能的實(shí)現(xiàn)方式中,所述主設(shè)備在所述SCL和所述SDA上產(chǎn)生停止Stop信號(hào),包括:
[0013]所述主設(shè)備控制所述SCL先維持一個(gè)高電平時(shí)間tl后拉低,再維持一個(gè)低電平時(shí)間t2后拉高;同時(shí)控制所述SDA先維持一個(gè)高電平時(shí)間t3后拉低,再維持一個(gè)低電平時(shí)間t4后拉高,使得所述t4結(jié)束時(shí),所述SCL處于高電平,所述SDA處于上升沿;其中t3>tl,t3+t4>tl+t20
[0014]結(jié)合第一方面或第一方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,
[0015]所述若所述SCL處于異常狀態(tài),則所述主設(shè)備和所述從設(shè)備分別釋放所述SCL和所述SDA,包括:
[0016]所述主設(shè)備在檢測(cè)到所述SCL處于異常狀態(tài)時(shí),釋放所述SCL和所述SDA中的被所述主設(shè)備控制的總線;
[0017]所述從設(shè)備在檢測(cè)到所述SCL處于異常狀態(tài)時(shí),釋放所述SCL和所述SDA中被所述從設(shè)備控制的總線。
[0018]結(jié)合第一方面或第一方面的第一種可能的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中,
[0019]若所述SCL處于異常狀態(tài),則所述主設(shè)備和所述從設(shè)備分別釋放所述SCL和所述SDA,包括:
[0020]所述主設(shè)備在檢測(cè)到所述SCL處于異常狀態(tài)時(shí),釋放被所述主設(shè)備控制的所述SCL ;或者,所述從設(shè)備在檢測(cè)到所述SCL處于異常狀態(tài)時(shí),釋放被所述從設(shè)備控制的所述SCL ;
[0021 ] 所述主設(shè)備在檢測(cè)到所述SCL被釋放后,所述主設(shè)備控制所述SCL進(jìn)行翻轉(zhuǎn),并在控制所述SCL翻轉(zhuǎn)小于等于9個(gè)時(shí)鐘周期時(shí)釋放所述SDA。
[0022]第二方面,公開(kāi)了一種串行總線傳輸裝置,包括至少一個(gè)主設(shè)備,至少一個(gè)從設(shè)備,以及用于所述主設(shè)備與所述從設(shè)備之間進(jìn)行通信的串行總線,所述主設(shè)備包括第一檢測(cè)單元、第一總線釋放單元、總線狀態(tài)檢測(cè)單元和STOP信號(hào)產(chǎn)生單元,所述從設(shè)備包括第二檢測(cè)單元和第二總線釋放單元,包括:
[0023]所述第一檢測(cè)單元,用于檢測(cè)串行時(shí)鐘總線SCL是否處于異常狀態(tài);
[0024]所述第二檢測(cè)單元,用于檢測(cè)所述SCL是否處于異常狀態(tài);
[0025]所述第一總線釋放單元,用于在所述第一檢測(cè)單元檢測(cè)到所述SCL處于異常狀態(tài)時(shí),釋放所述SCL和串行數(shù)據(jù)總線SDA ;
[0026]所述第二總線釋放單元,用于在所述第二檢測(cè)單元檢測(cè)到所述SCL處于異常狀態(tài)時(shí),釋放所述SCL和所述SDA ;
[0027]所述總線狀態(tài)檢測(cè)單元,用于檢測(cè)所述SCL和所述SDA是否均被釋放;
[0028]所述STOP信號(hào)產(chǎn)生單元,用于在所述總線狀態(tài)檢測(cè)單元檢測(cè)到所述SCL和所述SDA均被釋放時(shí),在所述SCL和所述SDA上產(chǎn)生停止stop信號(hào),以使得串行總線傳輸裝置恢復(fù)正常通信,其中,所述stop信號(hào)是指所述SCL處于高電平,所述SDA處于上升沿。
[0029]結(jié)合第二方面,在第一種可能的實(shí)現(xiàn)方式中,所述STOP信號(hào)產(chǎn)生單元具體用于,控制所述SCL先維持一個(gè)高電平時(shí)間tl后拉低,再維持一個(gè)低電平時(shí)間t2后拉高;同時(shí)控制所述SDA先維持一個(gè)高電平時(shí)間t3后拉低,再維持一個(gè)低電平時(shí)間t4后拉高,使得所述t4結(jié)束時(shí),所述SCL處于高電平,所述SDA處于上升沿;其中t3>tl,t3+t4>tl+t2。
[0030]結(jié)合第二方面或第二方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述第一總線釋放單元具體用于,在所述第一檢測(cè)單元檢測(cè)到所述SCL處于異常狀態(tài)時(shí),釋放SCL和SDA中的被所述主設(shè)備控制的總線;
[0031]所述第二總線釋放單元具體用于,在所述第二檢測(cè)單元檢測(cè)到所述SCL處于異常狀態(tài)時(shí),釋放SCL和SDA中的被所述從設(shè)備控制的總線。
[0032]結(jié)合第二方面或第二方面的第一種可能的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中,
[0033]所述第一總線釋放單元具體用于,在所述第一檢測(cè)單元檢測(cè)到所述SCL處于異常狀態(tài)時(shí),釋放被所述主設(shè)備控制的所述SCL ;
[0034]所述第二總線釋放單元具體用于,在所述第二檢測(cè)單元檢測(cè)到所述SCL處于異常狀態(tài)時(shí),釋放被所述從設(shè)備控制的所述SCL ;
[0035]所述總線狀態(tài)檢測(cè)單元用于,檢測(cè)所述SCL是否被釋放;
[0036]所述第一總線釋放單元還用于,在所述總線檢測(cè)單元檢測(cè)到所述SCL被釋放后,控制所述SCL進(jìn)行翻轉(zhuǎn),并在控制所述SCL翻轉(zhuǎn)小于等于9個(gè)時(shí)鐘周期時(shí)釋放所述SDA。
[0037]上述技術(shù)方案提供的異常恢復(fù)方法及串行總線傳輸裝置,在主設(shè)備和從設(shè)備中均引入檢測(cè)模塊對(duì)時(shí)鐘總線SCL進(jìn)行檢測(cè)。當(dāng)主設(shè)備或從設(shè)備檢測(cè)到SCL處于異常狀態(tài)時(shí),就會(huì)釋放相應(yīng)總線;當(dāng)主設(shè)備檢測(cè)到SCL和SDA均被釋放后,就會(huì)在串行總線上產(chǎn)生stop信號(hào)。與現(xiàn)有技術(shù)中的在出現(xiàn)SDA被從設(shè)備拉低的情況時(shí),主設(shè)備無(wú)法產(chǎn)生stop信號(hào)相t匕,本發(fā)明實(shí)施例提供的方法,可以在SDA被從設(shè)備控制的情況下,主設(shè)備和從設(shè)備都可以釋放SDA,然后主設(shè)備就可以通過(guò)軟件或硬件產(chǎn)生stop信號(hào),使串行總線上的數(shù)據(jù)傳輸正常進(jìn)行。
【專利附圖】
【附圖說(shuō)明】
[0038]圖1為本發(fā)明實(shí)施例1提供的一種異?;謴?fù)方法流程示意圖;
[0039]圖2為本發(fā)明實(shí)施例2提供的一種異?;謴?fù)方法流程示意圖;
[0040]圖3為stop信號(hào)產(chǎn)生過(guò)程的時(shí)序示意圖;
[0041]圖4為本發(fā)明實(shí)施例3提供一種異?;謴?fù)方法的流程示意圖;
[0042]圖5為本發(fā)明實(shí)施例4提供的一種串行總線傳輸裝置的結(jié)構(gòu)框圖;
[0043]圖6為本發(fā)明實(shí)施例5提供的一種串行總線傳輸裝置的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0044]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0045]實(shí)施例1:
[0046]本發(fā)明實(shí)施例所提供的異?;謴?fù)的方法,應(yīng)用于串行總線傳輸裝置,所述串行總線傳輸裝置中包括至少一個(gè)主設(shè)備,至少一個(gè)從設(shè)備,以及用于所述主設(shè)備與所述從設(shè)備之間進(jìn)行通信的串行總線,所述串行總線包括串行時(shí)鐘總線SCL和串行數(shù)據(jù)總線SDA。在設(shè)備之間進(jìn)行通信時(shí),所述主設(shè)備起主要控制作用,是通信發(fā)起方,從設(shè)備是通信過(guò)程的目的端。另外,所述主設(shè)備能夠優(yōu)先獲取總線控制權(quán)。
[0047]本發(fā)明實(shí)施例提供了一種異?;謴?fù)的方法,應(yīng)用于串行總線傳輸裝置,如圖1所示,所述方法包括以下步驟:
[0048]101、所述主設(shè)備和所述從設(shè)備分別檢測(cè)串行時(shí)鐘總線SCL是否處于異常狀態(tài)。
[0049]在所述串行總線傳輸裝置在所述主設(shè)備和所述從設(shè)備間進(jìn)行數(shù)據(jù)傳輸時(shí),當(dāng)stop信號(hào)結(jié)束后的時(shí)間間隔滿足協(xié)議要求后,總線忙閑信號(hào)拉低,此時(shí)主設(shè)備可以產(chǎn)生start信號(hào),同時(shí)將總線忙閑狀態(tài)信號(hào)拉高。然后主設(shè)備尋址從設(shè)備(發(fā)送從設(shè)備地址:7bit尋址或者IObit尋址)向從設(shè)備發(fā)送查詢消息,從設(shè)備接收到所述查詢消息后進(jìn)行尋址握手操作,向所述主設(shè)備發(fā)送響應(yīng)消息。主設(shè)備在接收到所述響應(yīng)消息后,就可以與所述從設(shè)備進(jìn)行數(shù)據(jù)傳輸(發(fā)送模式:主設(shè)備發(fā)送時(shí)鐘和數(shù)據(jù);接收模式:主設(shè)備發(fā)送時(shí)鐘,從設(shè)備回傳數(shù)據(jù))。主設(shè)備需要結(jié)束傳輸時(shí),就會(huì)產(chǎn)生stop信號(hào),同時(shí)將忙閑狀態(tài)信號(hào)拉低。
[0050]在實(shí)際應(yīng)用中,會(huì)出現(xiàn)的總線異常情況包括:所述主設(shè)備在總線仲裁中被要求丟掉總線控制權(quán),但仍以為自身持有總線控制權(quán),將所述SCL長(zhǎng)時(shí)間拉低,即所述SCL長(zhǎng)時(shí)間處于低電平狀態(tài);或者所述SCL被所述主設(shè)備或所述從設(shè)備長(zhǎng)時(shí)間拉低;或者所述SCL長(zhǎng)時(shí)間處于高電平狀態(tài)。在上述數(shù)據(jù)傳輸?shù)倪^(guò)程中,所述主設(shè)備和所述從設(shè)備要對(duì)所述SCL進(jìn)行實(shí)時(shí)檢測(cè),檢測(cè)所述SCL是否處于異常狀態(tài),即檢測(cè)所述SCL處于低電平的狀態(tài)時(shí)間是否超過(guò)預(yù)設(shè)閾值,或者檢測(cè)所述SCL處于高電平的狀態(tài)時(shí)間超過(guò)所述預(yù)設(shè)閾值。
[0051]102、若所述SCL處于異常狀態(tài),則所述主設(shè)備和所述從設(shè)備分別釋放所述SCL和串行數(shù)據(jù)總線SDA。
[0052]在這里,當(dāng)所述SCL處于異常狀態(tài)時(shí),需要釋放串行總線中的所述SCL和所述SDA,釋放過(guò)程主要包括兩種情況:
[0053]第一種情況,主設(shè)備和從設(shè)備在檢測(cè)到所述SCL處于異常狀態(tài)時(shí),各自釋放被自己控制的總線。
[0054]主設(shè)備和從設(shè)備檢測(cè)到所述SCL處于異常狀態(tài)的時(shí)刻是有差異的,可以是主設(shè)備先檢測(cè)到也可以是從設(shè)備先檢測(cè)到,在此并不作限制,在所述主設(shè)備檢測(cè)到所述SCL處于異常狀態(tài)時(shí),所述主設(shè)備就試圖釋放SCL、SDA,但所述主設(shè)備只能釋放SCL和SDA中的被他自己控制的總線,而不能釋放被從設(shè)備控制的總線。同理,所述從設(shè)備在檢測(cè)到所述SCL處于異常狀態(tài)時(shí),也只能釋放被所述從設(shè)備自己控制的總線。當(dāng)主設(shè)備和從設(shè)備都釋放了被各自控制的SCL、SDA后,才認(rèn)為總線被釋放。
[0055]第二種情況,所述SCL先被主設(shè)備或從設(shè)備釋放,然后所述SDA再被主設(shè)備釋放。
[0056]若所述SCL是被所述主設(shè)備控制的,則所述主設(shè)備在檢測(cè)到所述SCL處于異常狀態(tài)時(shí),就會(huì)釋放SCL。若所述SCL是被所述從設(shè)備控制的,則所述從設(shè)備在檢測(cè)到所述SCL處于異常狀態(tài)時(shí),就會(huì)釋放所述SCL。
[0057]所述主設(shè)備在檢測(cè)到所述SCL被釋放后,所述主設(shè)備的總線控制器就會(huì)通過(guò)軟件模擬GPIO功能,進(jìn)而釋放SDA。需要說(shuō)明的是,本發(fā)明實(shí)施例所述的釋放總線即所述主設(shè)備或所述從設(shè)備放棄總線控制權(quán)。[0058]103、在所述主設(shè)備檢測(cè)到所述SCL和所述SDA均被釋放之后,所述主設(shè)備在所述SCL和所述SDA上產(chǎn)生停止stop信號(hào)。
[0059]所述主設(shè)備檢測(cè)到所述SCL和所述SDA均被釋放以后,再控制所述SCL和所述SDA進(jìn)行翻轉(zhuǎn)產(chǎn)生Stop信號(hào),以使所述串行總線傳輸裝置恢復(fù)正常通信。其中,所述Stop信號(hào)是指所述SCL處于高電平,所述SDA處于上升沿。
[0060]在這里,所述stop信號(hào)的產(chǎn)生過(guò)程既可以通過(guò)硬件實(shí)現(xiàn)也可以通過(guò)軟件實(shí)現(xiàn)。
[0061]本發(fā)明實(shí)施例提供的異?;謴?fù)方法,在主設(shè)備和從設(shè)備中均引入檢測(cè)模塊對(duì)時(shí)鐘總線SCL進(jìn)行檢測(cè)。當(dāng)主設(shè)備或從設(shè)備檢測(cè)到SCL處于異常狀態(tài)時(shí),就會(huì)釋放相應(yīng)總線;當(dāng)主設(shè)備檢測(cè)到SCL和SDA均被釋放后,就會(huì)在串行總線上產(chǎn)生stop信號(hào)。與現(xiàn)有技術(shù)中的在出現(xiàn)SDA被從設(shè)備拉低的情況時(shí),主設(shè)備無(wú)法產(chǎn)生stop信號(hào)相比,本發(fā)明實(shí)施例提供的方法,可以在SDA被從設(shè)備控制的情況下,主設(shè)備和從設(shè)備都可以釋放SDA,然后主設(shè)備就可以通過(guò)軟件或硬件產(chǎn)生stop信號(hào),使串行總線上的數(shù)據(jù)傳輸正常進(jìn)行。
[0062]實(shí)施例2:
[0063]本發(fā)明實(shí)施例提供了一種異?;謴?fù)的方法,應(yīng)用于串行總線傳輸裝置,如圖2所示,所述方法包括以下步驟:
[0064]201、所述主設(shè)備和所述從設(shè)備分別檢測(cè)所述SCL是否處于異常狀態(tài)。
[0065]在主設(shè)備和從設(shè)備傳輸數(shù)據(jù)的過(guò)程中,主設(shè)備和從設(shè)備都可以對(duì)所述SCL進(jìn)行實(shí)時(shí)檢測(cè),檢測(cè)所述SCL是否處于異常狀態(tài),在實(shí)際應(yīng)用中,會(huì)出現(xiàn)的總線異常情況包括:所述主設(shè)備在總線仲裁中被要求丟掉總線控制權(quán),但仍以為自身持有總線控制權(quán),將所述SCL長(zhǎng)時(shí)間拉低,即所述SCL長(zhǎng)時(shí)間處于低電平狀態(tài);或者所述SCL被所述主設(shè)備或所述從設(shè)備長(zhǎng)時(shí)間拉低;或者所述SCL長(zhǎng)時(shí)間處于高電平狀態(tài)。因此,所述主設(shè)備和所述從設(shè)備在檢測(cè)所述SCL是否處于異常狀態(tài)時(shí),需檢測(cè)所述SCL處于低電平的狀態(tài)時(shí)間是否超過(guò)預(yù)設(shè)閾值,或者檢測(cè)所述SCL處于高電平的狀態(tài)時(shí)間超過(guò)所述預(yù)設(shè)閾值。主設(shè)備和從設(shè)備檢測(cè)到所述SCL處于異常狀態(tài)的時(shí)刻是有差異的,可以是主設(shè)備先檢測(cè)到也可以是從設(shè)備先檢測(cè)到,在此并不作限制。
[0066]202、所述主設(shè)備在檢測(cè)到所述SCL處于異常狀態(tài)時(shí),釋放SCL和SDA中的被所述主設(shè)備控制的總線,所述從設(shè)備在檢測(cè)到所述SCL處于異常狀態(tài)時(shí),釋放所述SCL和所述SDA中被所述從設(shè)備控制的總線。
[0067]這里,主設(shè)備和從設(shè)備檢測(cè)到所述SCL處于異常狀態(tài)的時(shí)刻是有差異的,可以是主設(shè)備先檢測(cè)到也可以是從設(shè)備先檢測(cè)到,在此并不作限制。
[0068]示例的,若所述SCL被所述主設(shè)備控制,所述SDA被所述從設(shè)備控制。若所述從設(shè)備先檢測(cè)到所述SCL處于異常狀態(tài),所述從設(shè)備也只能釋放所述SDA。而所述主設(shè)備在隨后檢測(cè)到所述SCL處于異常狀態(tài)時(shí),就會(huì)釋放所述SCL。這樣SCL和SDA就都被釋放了。
[0069]或者,若所述SCL和所述SDA均是被所述從設(shè)備拉低的。若主設(shè)備先檢測(cè)到所述SCL處于異常狀態(tài),所述主設(shè)備會(huì)進(jìn)行釋放總線的操作,試圖釋放所述SCL和所述SDA,但由于所述SCL和所述SDA均是被所述從設(shè)備拉低的,故主設(shè)備不能釋放SCL和SDA ;所述從設(shè)備在隨后檢測(cè)到所述SCL處于異常狀態(tài)時(shí),就會(huì)釋放所述SCL和所述SDA。這樣SCL和SDA就都被釋放了。本發(fā)明實(shí)施例中所述的釋放是指所述主設(shè)備或所述從設(shè)備放棄總線控制權(quán)。[0070]203、所述主設(shè)備檢測(cè)所述SCL和所述SDA是否被釋放。
[0071]204、所述主設(shè)備在檢測(cè)到所述SCL和所述SDA均被釋放后,在所述串行總線上產(chǎn)生stop信號(hào)。
[0072]這里,所述stop信號(hào)的產(chǎn)生過(guò)程可以如圖3所示,所述主設(shè)備控制所述SCL先維持一個(gè)高電平時(shí)間tl后拉低,再維持一個(gè)低電平時(shí)間t2后拉高;同時(shí)控制所述SDA先維持一個(gè)高電平時(shí)間t3拉低,再維持一個(gè)低電平時(shí)間t4后拉高,其中t3>tl, t3+t4>tl+t2。這樣,在圖中所示的T時(shí)刻SCL為高電平、SDA為上升沿,即產(chǎn)生了 stop信號(hào)。
[0073]可選地,上述stop信號(hào)的產(chǎn)生過(guò)程既可以通過(guò)硬件實(shí)現(xiàn)也可以通過(guò)軟件實(shí)現(xiàn)。
[0074]本發(fā)明實(shí)施例提供的異?;謴?fù)方法,在主設(shè)備和從設(shè)備中均引入檢測(cè)模塊對(duì)時(shí)鐘總線SCL進(jìn)行檢測(cè)。當(dāng)主設(shè)備或從設(shè)備檢測(cè)到SCL處于異常狀態(tài)時(shí),就會(huì)釋放相應(yīng)總線;當(dāng)主設(shè)備檢測(cè)到SCL和SDA均被釋放后,就會(huì)在串行總線上產(chǎn)生stop信號(hào)。與現(xiàn)有技術(shù)中的在出現(xiàn)SDA被從設(shè)備拉低的情況時(shí),主設(shè)備無(wú)法產(chǎn)生stop信號(hào)相比,本發(fā)明實(shí)施例提供的方法,可以在SDA被從設(shè)備控制的情況下,主設(shè)備和從設(shè)備都可以釋放SDA,然后主設(shè)備就可以通過(guò)軟件或硬件產(chǎn)生stop信號(hào),使串行總線上的數(shù)據(jù)傳輸正常進(jìn)行。
[0075]實(shí)施例3:
[0076]本發(fā)明實(shí)施例提供了一種異?;謴?fù)的方法,應(yīng)用于串行總線傳輸裝置,如圖4所示,所述方法包括以下步驟:
[0077]401、所述主設(shè)備和所述從設(shè)備分別檢測(cè)所述SCL是否處于異常狀態(tài)。
[0078]本發(fā)明實(shí)施例中,主設(shè)備和從設(shè)備都可以對(duì)SCL進(jìn)行實(shí)時(shí)檢測(cè),檢測(cè)所述SCL是否處于異常狀態(tài),在實(shí)際應(yīng)用中,會(huì)出現(xiàn)的總線異常情況包括:所述主設(shè)備在總線仲裁中被要求丟掉總線控制權(quán),但仍以為自身持有總線控制權(quán),將所述SCL長(zhǎng)時(shí)間拉低,即所述SCL長(zhǎng)時(shí)間處于低電平狀態(tài);或者所述SCL被所述主設(shè)備或所述從設(shè)備長(zhǎng)時(shí)間拉低;或者所述SCL長(zhǎng)時(shí)間處于高電平狀態(tài)。因此,所述主設(shè)備和所述從設(shè)備在對(duì)所述檢測(cè)所述SCL是否處于異常狀態(tài)時(shí),需檢測(cè)所述SCL處于低電平的狀態(tài)時(shí)間是否超過(guò)預(yù)設(shè)閾值,或者檢測(cè)所述SCL處于高電平的狀態(tài)時(shí)間超過(guò)所述預(yù)設(shè)閾值。
[0079]這里,主設(shè)備和從設(shè)備檢測(cè)到所述SCL處于異常狀態(tài)的時(shí)刻是有差異的,可以是主設(shè)備先檢測(cè)到也可以是從設(shè)備先檢測(cè)到,在此并不作限制。
[0080]402、所述主設(shè)備或所述從設(shè)備在檢測(cè)到SCL處于異常狀態(tài)時(shí)釋放SCL。
[0081]示例的,若所述SCL是被所述主設(shè)備控制的,則所述主設(shè)備在檢測(cè)到所述SCL處于異常狀態(tài)時(shí)釋放所述SCL。若所述SCL是被所述從設(shè)備控制的,則所述從設(shè)備檢測(cè)到所述SCL處于異常狀態(tài)時(shí)釋放所述SCL。
[0082]此時(shí),若所述SDA也被所述主設(shè)備或所述從設(shè)備控制,所述SDA也不能被釋放。即就是,在所述主設(shè)備或所述從設(shè)備檢測(cè)到所述SCL處于異常狀態(tài)時(shí),僅釋放所述SCL。
[0083]403、所述主設(shè)備在檢測(cè)到所述SCL被釋放后,控制所述SCL進(jìn)行翻轉(zhuǎn),并在控制所述SCL翻轉(zhuǎn)小于等于9個(gè)時(shí)鐘周期時(shí)釋放SDA。
[0084]這里,在所述主設(shè)備中引入總線控制器,所述總線控制器通過(guò)軟件模擬GPIO功能,將SDA釋放。示例的,在所述主設(shè)備檢測(cè)到所述SCL被釋放后,所述主設(shè)備的總線控制器可以通過(guò)軟件模擬GPIO功能,控制所述SCL翻轉(zhuǎn)5個(gè)時(shí)鐘周期,并在之后釋放SDA。
[0085]404、所述主設(shè)備檢測(cè)所述SCL和所述SDA是否被釋放。[0086]405、所述主設(shè)備在檢測(cè)到所述SCL和所述SDA均被釋放后,在所述串行總線上產(chǎn)生停止Stop信號(hào)。
[0087]這里,所述stop信號(hào)的產(chǎn)生過(guò)程可以如圖3所示,所述主設(shè)備控制所述SCL先維持一個(gè)高電平時(shí)間tl后拉低,再維持一個(gè)低電平時(shí)間t2后拉高;同時(shí)控制所述SDA先維持一個(gè)高電平時(shí)間t3拉低,再維持一個(gè)低電平時(shí)間t4后拉高,其中t3>tl, t3+t4>tl+t2。這樣,在圖中所示的T時(shí)刻SCL為高電平、SDA為上升沿,即產(chǎn)生了 stop信號(hào)。
[0088]可選地,上述stop信號(hào)的產(chǎn)生過(guò)程既可以通過(guò)硬件實(shí)現(xiàn)也可以通過(guò)軟件實(shí)現(xiàn)。
[0089]本發(fā)明實(shí)施例提供的異常恢復(fù)方法,在主設(shè)備和從設(shè)備中均引入檢測(cè)模塊對(duì)時(shí)鐘總線SCL進(jìn)行檢測(cè)。當(dāng)主設(shè)備或從設(shè)備檢測(cè)到SCL處于異常狀態(tài)時(shí),就會(huì)釋放相應(yīng)總線;當(dāng)主設(shè)備檢測(cè)到SCL和SDA均被釋放后,就會(huì)在串行總線上產(chǎn)生stop信號(hào)。與現(xiàn)有技術(shù)中的在出現(xiàn)SDA被從設(shè)備拉低的情況時(shí),主設(shè)備無(wú)法產(chǎn)生stop信號(hào)相比,本發(fā)明實(shí)施例提供的方法,可以在SDA被從設(shè)備控制的情況下,主設(shè)備和從設(shè)備都可以釋放SDA,然后主設(shè)備就可以通過(guò)軟件或硬件產(chǎn)生stop信號(hào),使串行總線上的數(shù)據(jù)傳輸正常進(jìn)行。
[0090]實(shí)施例4:
[0091]本發(fā)明實(shí)施例進(jìn)一步給出實(shí)現(xiàn)圖1所示的方法實(shí)施例中各步驟及方法的裝置實(shí)施例。
[0092]本發(fā)明實(shí)施例提供了一種串行總線傳輸裝置,用于執(zhí)行圖1所示的方法實(shí)施例中的方法,如圖5所示,所述串行總線傳輸裝置包括至少一個(gè)主設(shè)備和至少一個(gè)從設(shè)備以及用于所述主設(shè)備與所述從設(shè)備之間進(jìn)行通信的串行總線,所述串行總線包括串行時(shí)鐘總線SCL和串行數(shù)據(jù)總線SDA,所述主設(shè)備包括第一檢測(cè)單元501、第一總線釋放單元502、總線狀態(tài)檢測(cè)單元503和STOP信號(hào)產(chǎn)生單元504,所述從設(shè)備包括第二檢測(cè)單元505和第二總線釋放單元506。
[0093]所述第一檢測(cè)單元501,用于檢測(cè)所述SCL是否處于異常狀態(tài);所述第二檢測(cè)單元505,用于檢測(cè)所述SCL是否處于異常狀態(tài);所述第一總線釋放單元502,用于在所述第一檢測(cè)單元501檢測(cè)到所述SCL處于異常狀態(tài)時(shí),釋放所述SCL和所述SDA ;所述第二總線釋放單元506,用于在所述第二檢測(cè)單元505檢測(cè)到所述SCL處于異常狀態(tài)時(shí),釋放所述SCL和所述SDA ;所述總線狀態(tài)檢測(cè)單元503,用于檢測(cè)所述SCL和所述SDA是否均被釋放;所述STOP信號(hào)產(chǎn)生單元504,用于在所述總線狀態(tài)檢測(cè)單元503檢測(cè)到所述SCL和所述SDA均被釋放時(shí),在所述SCL和所述SDA上產(chǎn)生停止stop信號(hào),以使得串行總線傳輸裝置恢復(fù)正常通信,其中,所述stop信號(hào)是指所述SCL處于高電平,所述SDA處于上升沿。
[0094]所述STOP信號(hào)產(chǎn)生單元具體用于504,控制所述SCL先維持一個(gè)高電平時(shí)間tl后拉低,再維持一個(gè)低電平時(shí)間t2后拉高;同時(shí)控制所述SDA先維持一個(gè)高電平時(shí)間t3后拉低,再維持一個(gè)低電平時(shí)間t4后拉高,使得所述t4結(jié)束時(shí),所述SCL處于高電平,所述SDA處于上升沿;其中t3>tl, t3+t4>tl+t2。
[0095]所述第一總線釋放單元502具體用于,在所述第一檢測(cè)單元501檢測(cè)到所述SCL處于異常狀態(tài)時(shí),釋放SCL和SDA中的被所述主設(shè)備控制的總線;所述第二總線釋放單元506具體用于,在所述第二檢測(cè)單元505檢測(cè)到所述SCL處于異常狀態(tài)時(shí),釋放SCL和SDA中的被所述從設(shè)備控制的總線。
[0096]所述第一總線釋放單元502具體用于,在所述第一檢測(cè)單元501檢測(cè)到所述SCL處于異常狀態(tài)時(shí),釋放被所述主設(shè)備控制的所述SCL ;所述第二總線釋放單元506具體用于,在所述第二檢測(cè)單元505檢測(cè)到所述SCL處于異常狀態(tài)時(shí),釋放被所述從設(shè)備控制的所述SCL ;所述總線狀態(tài)檢測(cè)單元503用于,檢測(cè)所述SCL是否被釋放;所述第一總線釋放單元502還用于,在所述總線檢測(cè)單元503檢測(cè)到所述SCL被釋放后,控制所述SCL進(jìn)行翻轉(zhuǎn),并在控制所述SCL翻轉(zhuǎn)小于等于9個(gè)時(shí)鐘周期時(shí)釋放所述SDA。
[0097]本發(fā)明實(shí)施例提供的串行總線傳輸裝置,在主設(shè)備和從設(shè)備中均引入檢測(cè)模塊對(duì)時(shí)鐘總線SCL進(jìn)行檢測(cè)。當(dāng)主設(shè)備或從設(shè)備檢測(cè)到SCL處于異常狀態(tài)時(shí),就會(huì)釋放相應(yīng)總線;當(dāng)主設(shè)備檢測(cè)到SCL和SDA均被釋放后,就會(huì)在串行總線上產(chǎn)生stop信號(hào)。與現(xiàn)有技術(shù)中的在出現(xiàn)SDA被從設(shè)備拉低的情況時(shí),主設(shè)備無(wú)法產(chǎn)生stop信號(hào)相比,本發(fā)明實(shí)施例提供的方法,可以在SDA被從設(shè)備控制的情況下,主設(shè)備和從設(shè)備都可以釋放SDA,然后主設(shè)備就可以通過(guò)軟件或硬件產(chǎn)生stop信號(hào),使串行總線上的數(shù)據(jù)傳輸正常進(jìn)行。
[0098]實(shí)施例5:
[0099]本發(fā)明實(shí)施例提供了一種串行總線傳輸裝置,在硬件實(shí)現(xiàn)上,圖5中所述的第一檢測(cè)單元、第一總線釋放單元、總線狀態(tài)檢測(cè)單元和STOP信號(hào)產(chǎn)生單元,以及第二檢測(cè)單元和第二總線釋放單元可以以硬件形式或軟件形式內(nèi)嵌于基站的處理器中。該處理器可以為中央處理單元(CPU),也可以單片機(jī)。
[0100]如圖6所示,所述串行總線傳輸裝置包括至少一個(gè)主設(shè)備和至少一個(gè)從設(shè)備以及用于所述主設(shè)備與所述從設(shè)備之間進(jìn)行通信的串行總線,所述串行總線包括串行時(shí)鐘總線SCL和串行數(shù)據(jù)總線SDA,所述主設(shè)備包括存儲(chǔ)器601以及與存儲(chǔ)器601連接的處理器602,所述從設(shè)備包括存儲(chǔ)器603以及與存儲(chǔ)器603連接的處理器604,其中,存儲(chǔ)器601中存儲(chǔ)一組程序代碼,且處理器602用于調(diào)用存儲(chǔ)器601中存儲(chǔ)的程序代碼,存儲(chǔ)器603中存儲(chǔ)一組程序代碼,且處理器604用于調(diào)用存儲(chǔ)器603中存儲(chǔ)的程序代碼,用于執(zhí)行以下操作:
[0101]處理器602,用于檢測(cè)所述SCL是否處于異常狀態(tài);所述處理器604還用于,檢測(cè)所述SCL是否處于異常狀態(tài);所述處理器602,用于在檢測(cè)到所述SCL處于異常狀態(tài)時(shí),釋放所述SCL和所述SDA ;所述處理器604,用于在檢測(cè)到所述SCL處于異常狀態(tài)時(shí),釋放所述SCL和所述SDA ;所述所述處理器602,用于檢測(cè)所述SCL和所述SDA是否均被釋放;所述所述處理器602,用于在檢測(cè)到所述SCL和所述SDA均被釋放時(shí),在所述SCL和所述SDA上產(chǎn)生停止stop信號(hào),以使得串行總線傳輸裝置恢復(fù)正常通信,其中,所述stop信號(hào)是指所述SCL處于高電平,所述SDA處于上升沿。
[0102]所述處理器602具體用于,控制所述SCL先維持一個(gè)高電平時(shí)間tl后拉低,再維持一個(gè)低電平時(shí)間t2后拉高;同時(shí)控制所述SDA先維持一個(gè)高電平時(shí)間t3后拉低,再維持一個(gè)低電平時(shí)間t4后拉高,使得所述t4結(jié)束時(shí),所述SCL處于高電平,所述SDA處于上升沿;其中 t3>tl, t3+t4>tl+t20
[0103]所述處理器602具體用于,在檢測(cè)到所述SCL處于異常狀態(tài)時(shí),釋放SCL和SDA中的被所述主設(shè)備控制的總線;所述處理器604具體用于,在檢測(cè)到所述SCL處于異常狀態(tài)時(shí),釋放SCL和SDA中的被所述從設(shè)備控制的總線。
[0104]所述處理器602具體用于,在檢測(cè)到所述SCL處于異常狀態(tài)時(shí),釋放被所述主設(shè)備控制的所述SCL ;所述處理器604具體用于,在檢測(cè)到所述SCL處于異常狀態(tài)時(shí),釋放被所述從設(shè)備控制的所述SCL ;所述處理器602用于,檢測(cè)所述SCL是否被釋放;所述處理器602還用于,在檢測(cè)到所述SCL被釋放后,控制所述SCL進(jìn)行翻轉(zhuǎn),并在控制所述SCL翻轉(zhuǎn)小于等于9個(gè)時(shí)鐘周期時(shí)釋放所述SDA。
[0105]本發(fā)明實(shí)施例提供的串行總線傳輸裝置,在主設(shè)備和從設(shè)備中均引入檢測(cè)模塊對(duì)時(shí)鐘總線SCL進(jìn)行檢測(cè)。當(dāng)主設(shè)備或從設(shè)備檢測(cè)到SCL處于異常狀態(tài)時(shí),就會(huì)釋放相應(yīng)總線;當(dāng)主設(shè)備檢測(cè)到SCL和SDA均被釋放后,就會(huì)在串行總線上產(chǎn)生stop信號(hào)。與現(xiàn)有技術(shù)中的在出現(xiàn)SDA被從設(shè)備拉低的情況時(shí),主設(shè)備無(wú)法產(chǎn)生stop信號(hào)相比,本發(fā)明實(shí)施例提供的方法,可以在SDA被從設(shè)備控制的情況下,主設(shè)備和從設(shè)備都可以釋放SDA,然后主設(shè)備就可以通過(guò)軟件或硬件產(chǎn)生stop信號(hào),使串行總線上的數(shù)據(jù)傳輸正常進(jìn)行。
[0106]本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟可以通過(guò)程序指令相關(guān)的硬件來(lái)完成,前述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),執(zhí)行包括上述方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括:R0M、RAM、磁碟或者光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)。
[0107]以上所述,僅為本發(fā)明的【具體實(shí)施方式】,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本【技術(shù)領(lǐng)域】的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)所述以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
【權(quán)利要求】
1.一種異常恢復(fù)的方法,用于串行總線傳輸裝置,所述串行總線傳輸裝置包括至少一個(gè)主設(shè)備,至少一個(gè)從設(shè)備,以及用于所述主設(shè)備與所述從設(shè)備之間進(jìn)行通信的串行總線,其特征在于,包括: 所述主設(shè)備和所述從設(shè)備分別檢測(cè)串行時(shí)鐘總線SCL是否處于異常狀態(tài); 若所述SCL處于異常狀態(tài),則所述主設(shè)備和所述從設(shè)備分別釋放所述SCL和串行數(shù)據(jù)總線SDA ; 在所述主設(shè)備檢測(cè)到所述SCL和所述SDA均被釋放之后,所述主設(shè)備在所述SCL和所述SDA上產(chǎn)生停止stop信號(hào),以使所述串行總線傳輸裝置恢復(fù)正常通信,其中,所述stop信號(hào)是指所述SCL處于高電平,所述SDA處于上升沿。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述主設(shè)備在所述SCL和所述SDA上產(chǎn)生停止stop信號(hào),包括: 所述主設(shè)備控制所述SCL先維持一個(gè)高電平時(shí)間tl后拉低,再維持一個(gè)低電平時(shí)間t2后拉高;同時(shí)控制所述SDA先維持一個(gè)高電平時(shí)間t3后拉低,再維持一個(gè)低電平時(shí)間t4后拉高,使得所述t4結(jié)束時(shí),所述SCL處于高電平,所述SDA處于上升沿;其中t3>tl,t3+t4>tl+t20
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述若所述SCL處于異常狀態(tài),則所述主設(shè)備和所述從設(shè)備分別釋放所述SCL和所述SDA,包括: 所述主設(shè)備在檢測(cè)到所述S CL處于異常狀態(tài)時(shí),釋放所述SCL和所述SDA中的被所述主設(shè)備控制的總線; 所述從設(shè)備在檢測(cè)到所述SCL處于異常狀態(tài)時(shí),釋放所述SCL和所述SDA中被所述從設(shè)備控制的總線。
4.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,若所述SCL處于異常狀態(tài),則所述主設(shè)備和所述從設(shè)備分別釋放所述SCL和所述SDA,包括: 所述主設(shè)備在檢測(cè)到所述SCL處于異常狀態(tài)時(shí),釋放被所述主設(shè)備控制的所述SCL ;或者,所述從設(shè)備在檢測(cè)到所述SCL處于異常狀態(tài)時(shí),釋放被所述從設(shè)備控制的所述SCL ; 所述主設(shè)備在檢測(cè)到所述SCL被釋放后,所述主設(shè)備控制所述SCL進(jìn)行翻轉(zhuǎn),并在控制所述SCL翻轉(zhuǎn)小于等于9個(gè)時(shí)鐘周期時(shí)釋放所述SDA。
5.一種串行總線傳輸裝置,包括至少一個(gè)主設(shè)備,至少一個(gè)從設(shè)備,以及用于所述主設(shè)備與所述從設(shè)備之間進(jìn)行通信的串行總線,其特征在于,所述主設(shè)備包括第一檢測(cè)單元、第一總線釋放單元、總線狀態(tài)檢測(cè)單元和STOP信號(hào)產(chǎn)生單元,所述從設(shè)備包括第二檢測(cè)單元和第二總線釋放單元,包括: 所述第一檢測(cè)單元,用于檢測(cè)串行時(shí)鐘總線SCL是否處于異常狀態(tài); 所述第二檢測(cè)單元,用于檢測(cè)所述SCL是否處于異常狀態(tài); 所述第一總線釋放單元,用于在所述第一檢測(cè)單元檢測(cè)到所述SCL處于異常狀態(tài)時(shí),釋放所述SCL和串行數(shù)據(jù)總線SDA ; 所述第二總線釋放單元,用于在所述第二檢測(cè)單元檢測(cè)到所述SCL處于異常狀態(tài)時(shí),釋放所述SCL和所述SDA ; 所述總線狀態(tài)檢測(cè)單元,用于檢測(cè)所述SCL和所述SDA是否均被釋放; 所述STOP信號(hào)產(chǎn)生單元,用于在所述總線狀態(tài)檢測(cè)單元檢測(cè)到所述SCL和所述SDA均被釋放時(shí),在所述SCL和所述SDA上產(chǎn)生停止stop信號(hào),以使得串行總線傳輸裝置恢復(fù)正常通信,其中,所述stop信號(hào)是指所述SCL處于高電平,所述SDA處于上升沿。
6.根據(jù)權(quán)利要求5所述的串行總線傳輸裝置,其特征在于,所述STOP信號(hào)產(chǎn)生單元具體用于,控制所述SCL先維持一個(gè)高電平時(shí)間tl后拉低,再維持一個(gè)低電平時(shí)間t2后拉高;同時(shí)控制所述SDA先維持一個(gè)高電平時(shí)間t3后拉低,再維持一個(gè)低電平時(shí)間t4后拉高,使得所述t4結(jié)束時(shí),所述SCL處于高電平,所述SDA處于上升沿;其中t3>tl,t3+t4>tl+t20
7.根據(jù)權(quán)利要求5或6所述的串行總線傳輸裝置,其特征在于, 所述第一總線釋放單元具體用于,在所述第一檢測(cè)單元檢測(cè)到所述SCL處于異常狀態(tài)時(shí),釋放SCL和SDA中的被所述主設(shè)備控制的總線; 所述第二總線釋放單元具體用于,在所述第二檢測(cè)單元檢測(cè)到所述SCL處于異常狀態(tài)時(shí),釋放SCL和SDA中的被所述從設(shè)備控制的總線。
8.根據(jù)權(quán)利要求5或6所述的串行總線傳輸裝置,其特征在于, 所述第一總線釋放單元具體用于,在所述第一檢測(cè)單元檢測(cè)到所述SCL處于異常狀態(tài)時(shí),釋放被所述主設(shè)備控制的所述SCL ; 所述第二總線釋放單元具體用于,在所述第二檢測(cè)單元檢測(cè)到所述SCL處于異常狀態(tài)時(shí),釋放被所述從設(shè)備控制的所述SCL ; 所述總線狀態(tài)檢測(cè)單元用于,檢測(cè)所述SCL是否被釋放; 所述第一總線釋放單元還用于,在所述總線檢測(cè)單元檢測(cè)到所述SCL被釋放后,控制所述SCL進(jìn)行翻轉(zhuǎn),并在控制所述SCL翻轉(zhuǎn)小于等于9個(gè)時(shí)鐘周期時(shí)釋放所述SDA。
【文檔編號(hào)】G06F13/38GK103645975SQ201310627788
【公開(kāi)日】2014年3月19日 申請(qǐng)日期:2013年11月28日 優(yōu)先權(quán)日:2013年11月28日
【發(fā)明者】劉壙彬, 王渝 申請(qǐng)人:華為技術(shù)有限公司