• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    一種I2C總線的防死鎖系統及其防死鎖方法技術方案

    技術編號:8532702 閱讀:227 留言:0更新日期:2013-04-04 15:38
    本發明專利技術屬于I2C總線設計領域,提供了一種基于IP核復用的I2C總線的防死鎖系統及其防死鎖方法。該系統置于I2C模塊中,采用IP核復用技術,通過在I2C模塊內部增加IP核模塊,實現對串行時鐘線異常與否的監測,并當監測到異常時,重置I2C總線,進而達到了防死鎖的目的。相對于現有技術而言,無需在I2C總線上增加額外的總線恢復設備,降低了防死鎖功能的實現成本;且由于采用了IP核復用技術,無需在I2C模塊的軟件上增加代碼監測,減少了不穩定因素,特別適用于對實時性要求較高的場合。

    【技術實現步驟摘要】

    本專利技術屬于I2C總線設計領域,尤其涉及一種基于IP核復用的I2C總線的防死鎖系統及其防死鎖方法
    技術介紹
    I2C總線是一種廣泛應用于嵌入式系統設備中,實現主控制器與外設之間通信的雙線串行總線。如圖1示出了一種I2C總線的典型結構,包括串行數據線(Serial Data,SDA)和串行時鐘線(Serial Clock Line,SCL)。每一連接到I2C總線上的I2C設備即可作為主設備,用以負責總線時鐘、起始信號及相關初始化數據的產生,也可作為從設備,用以作為被尋址對象。公知地,I2C總線的數據傳輸可分為四個階段,如圖2所示,包括開始、數據讀寫、應答和停止,分別描述如下I)開始(start):串行時鐘線為高電平時,串行數據線從高電平向低電平跳變;2)數據讀寫串行數據線上傳輸的數據在串行時鐘線的高電平期間必須保持穩定,只有在串行時鐘線的低電平期間才可以進行數據切換;3)應答(AK):當從設備每接收I個字節數據后,發出一個應答信號,表示數據傳輸成功與否;4)停止(stop):串行時鐘線為高電平時,串行數據線從低電平向高電平跳變;依據上述四個階段,在實際通信時,主設備先發送一個開始信號(start),對I2C總線上的從設備進行尋址,從設備響應后可以進行相應的讀寫操作。讀寫數據長度以字節為單位,從設備每接收到一個字節,就發出一個應答信號(AK),表示當前傳輸狀態是否正常,一次操作對數據長度沒有限制,傳輸完成后,主設備向總線發送停止信號(stop )釋放總線。可見,作為串行同步總線,I2C總線進行讀取數據的操作都是基于時鐘同步進行的。然而,由于連接在I2C總線上的設備中硬件狀態不穩定,在長時間工作后,電壓會有較大紋波或毛刺,造成I2C總線上時鐘和數據波形出現臨界狀態,導致時鐘脈沖跳變,從而影響串行時鐘線,使其與串行數據線產生時序錯位。由于錯位的時間是隨機的,某些情況可能造成一次通訊失敗,某些情況則導致從設備錯過應答位而使得串行數據線一直為低,無法結束,主設備也無法釋放總線,從而進入死鎖狀態。再者,如果處理器本身集成的I2C模塊,時序上存在細微的誤差,由于處理器都是由數字邏輯電路組成,而組成數字電路的觸發器、鎖存器等由于電平的臨界狀態導致產生亞穩態,邏輯器件對其判斷無法統一,有判斷為“ 1”,也有判斷為“0”,這樣邏輯部件就會邏輯混亂。另外,由于I2C模塊內部時鐘頻率較高,將會產生無法消除的幾十ns到幾百ns的抖動,和亞穩態一起積累到一定程度就會觸發串行時鐘線錯亂,導致I2C狀態機錯誤,主設備無法釋放總線,進入死鎖狀態。由此可見,串行時鐘線的異常會導致I2C總線出現異常。為解決I2C總線的死鎖現象,現有技術是在I2C總線上增加一個額外的總線恢復設備,該設備專門用于監視和恢復I2C總線狀態。當I2C總線出現異常現象時,外部通過復位主設備和從設備中、控制I2C總線工作的處理器,使得I2C總線重新運行,以解決總線死鎖問題。但該方法需要增加額外附加電路,成本高。
    技術實現思路
    本專利技術實施例的目的在于提供一種I2C總線的防死鎖系統,旨在解決現有技術通過在I2C總線上增加一個額外的總線恢復設備,來監視和恢復I2C總線狀態,該方式成本高的問題。本專利技術實施例是這樣實現的,一種I2C總線的防死鎖系統,所述系統包括寄存器模塊和主狀態機模塊,所述系統還包括從狀態機啟動模塊,用于在所述主狀態機模塊的控制下啟動;采樣模塊,用于在所述從狀態機啟動模塊的控制下啟動,采集I2C總線的串行時鐘線上時鐘信號跳變沿的計數值信息,以及跳變沿之間的持續時長信息;異常監控處理模塊,用于根據所述計數值信息和所述持續時長信息,并結合第一預設時長、第二預設時長和預設時長范圍,判斷所述串行時鐘線是否出現異常;處理器模塊,用于當所述異常監控處理模塊判斷所述串行時鐘線出現異常時,通過所述寄存器模塊中的控制寄存器,控制所述主狀態機模塊重置所述I2C總線。本專利技術實施例的另一目的在于提供一種如上所述的I2C總線的防死鎖系統的防死鎖方法,所述方法包括Al、主狀態機模塊根據寄存器模塊中的控制寄存器,控制I2C總線工作,并控制從狀態機啟動模塊啟動;A2、所述從狀態機啟動|吳塊啟動后,控制米樣|吳塊啟動;A3、所述采樣模塊采集串行時鐘線上時鐘信號跳變沿的計數值,以及跳變沿之間的持續時長;A4、異常監控處理模塊根據所述計數值信息和持續時長信息,并結合第一預設時長、第二預設時長和預設時長范圍,判斷所述I2C總線是否出現異常;A5、當所述異常監控處理模塊判斷所述串行時鐘線出現異常時,處理器模塊通過所述控制寄存器,控制所述主狀態機模塊重置所述I2C總線。本專利技術實施例提出的I2C總線的防死鎖系統及其防死鎖方法,是采用IP核復用技術,通過在I2C模塊內部增加IP核模塊,實現對串行時鐘線異常與否的監測,并當監測到異常時,重置I2C總線,進而達到了防死鎖的目的。相對于現有技術而言,無需在I2C總線上增加額外的總線恢復設備,降低了防死鎖功能的實現成本;且由于采用了 IP核復用技術,無需在I2C模塊的軟件上增加代碼監測,減少了不穩定因素,特別適用于對實時性要求較高的場合。附圖說明圖1是現有技術中,I2C總線的典型結構圖;圖2是現有技術中,串行時鐘線與串行數據線之間的時序關系圖;圖3是本專利技術實施例一提供的I2C總線的防死鎖系統的結構圖4是圖3中,異常監控處理模塊的結構圖;圖5是本專利技術實施例二提供的I2C總線的防死鎖系統的結構圖;圖6是本專利技術實施例三提供的I2C總線的防死鎖系統的防死鎖方法的流程圖。具體實施例方式為了使本專利技術的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本專利技術進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本專利技術,并不用于限定本專利技術。針對現有技術存在的問題,本專利技術提出了一種I2C總線的防死鎖系統及其防死鎖方法,該系統置于I2C模塊中,采用基于FPGA的IP核復用技術,通過在I2C模塊內部增加IP核模塊,來實現對串行時鐘線異常與否的監測。以下結合實施例詳細說明本方案實施例一本專利技術實施例一提出了一種I2C總線的防死鎖系統的結構,如圖3所示,包括寄存器模塊11和主狀態機模塊12,與現有技術不同的是,該系統還包括包括從狀態機啟動模塊13,用于在主狀態機模塊12的控制下啟動;采樣模塊14,用于在從狀態機啟動模塊13的控制下啟動,采集串行時鐘線上時鐘信號跳變沿的計數值信息,以及跳變沿之間的持續時長信息;異常監控處理模塊15,用于根據計數值信息和持續時長信息,并結合第一預設時長、第二預設時長和預設時長范圍,判斷串行時鐘線是否出現異常;處理器模塊16,用于當異常監控處理模塊15判斷串行時鐘線出現異常時,通過寄存器模塊11中的控制寄存器,控制主狀態機模塊重置I2C總線。其中,采樣模塊14的采樣有效值取下降沿和上升沿之間的間隔,且該上升沿和下降沿的電平在指定的區間內。若檢測到的下降沿或上升沿到達時,其電平沒有在指定的區間內,則認為是可濾掉的毛刺或紋波,對總線通信不會產生干擾。進一步地,如圖4所示,異常監控處理模塊15可以包括監測子模塊152,用于對計數值信息和持續時長信息進行處理,記錄當前計數值和當前持續時長,當前持續時長是指當前計數值指向的跳變沿與相鄰前一跳變沿之間本文檔來自技高網
    ...

    【技術保護點】
    一種I2C總線的防死鎖系統,所述系統包括寄存器模塊和主狀態機模塊,其特征在于,所述系統還包括:從狀態機啟動模塊,用于在所述主狀態機模塊的控制下啟動;采樣模塊,用于在所述從狀態機啟動模塊的控制下啟動,采集I2C總線的串行時鐘線上時鐘信號跳變沿的計數值信息,以及跳變沿之間的持續時長信息;異常監控處理模塊,用于根據所述計數值信息和所述持續時長信息,并結合第一預設時長、第二預設時長和預設時長范圍,判斷所述串行時鐘線是否出現異常;處理器模塊,用于當所述異常監控處理模塊判斷所述串行時鐘線出現異常時,通過所述寄存器模塊中的控制寄存器,控制所述主狀態機模塊重置所述I2C總線。

    【技術特征摘要】
    1.一種I2C總線的防死鎖系統,所述系統包括寄存器模塊和主狀態機模塊,其特征在于,所述系統還包括 從狀態機啟動模塊,用于在所述主狀態機模塊的控制下啟動; 采樣模塊,用于在所述從狀態機啟動模塊的控制下啟動,采集I2C總線的串行時鐘線上時鐘信號跳變沿的計數值信息,以及跳變沿之間的持續時長信息; 異常監控處理模塊,用于根據所述計數值信息和所述持續時長信息,并結合第一預設時長、第二預設時長和預設時長范圍,判斷所述串行時鐘線是否出現異常; 處理器模塊,用于當所述異常監控處理模塊判斷所述串行時鐘線出現異常時,通過所述寄存器模塊中的控制寄存器,控制所述主狀態機模塊重置所述I2C總線。2.如權利要求1所述的I2C總線的防死鎖系統,其特征在于,所述異常監控處理模塊包括 監測子模塊,用于對所述計數值信息和所述持續時長信息進行處理,記錄當前計數值和當前持續時長; 監測信息處理子模塊,用于根據所述當前計數值和所述當前持續時長,并結合第一預設時長、第二預設時長和預設時長范圍,判斷所述串行時鐘線是否出現異常。3.—種如權利要求1所述的I2C總線的防死鎖系統的防死鎖方法,其特征在于,所述方法包括 Al、主狀態機模塊根據寄存器模塊中的控制寄存器,控制I2C總線工作,并控制從狀態機啟動t吳塊啟動; A2、所述從狀態機啟動模塊啟動后,控制采樣模塊啟動; A3、所述采樣模塊采集串行時鐘線上時鐘信號跳變沿的計數值,以及跳變沿之間的持續時長; A4、異常監控處理模塊根據所述計數值信息和持續時長信息,并結合第一預設時長、第二預設時長和預設時長范圍,判斷所述I2C總線是否出現異常; A5、當所述異常監控處理模塊判斷所述串...

    【專利技術屬性】
    技術研發人員:姜朝來
    申請(專利權)人:四川迪佳通電子有限公司
    類型:發明
    國別省市:

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 激情无码人妻又粗又大中国人| 亚洲精品无码久久久久久久| 五月丁香六月综合缴清无码| 国产精品无码久久久久| 国产成人无码18禁午夜福利p | 色偷偷一区二区无码视频| 亚洲精品无码专区| 亚洲中久无码永久在线观看同| 久久无码人妻一区二区三区午夜| 日韩毛片免费无码无毒视频观看| 丰满日韩放荡少妇无码视频 | 国产裸模视频免费区无码| 国产精品99精品无码视亚 | 亚洲人成人无码.www石榴| 国产成人精品无码免费看| 2020无码专区人妻系列日韩| 亚洲精品无码不卡| 精品久久久无码中文字幕| 无码精品一区二区三区| 久久无码专区国产精品s| 国产精品成人无码久久久久久 | 亚洲最大天堂无码精品区| 国产精品无码久久综合| gogo少妇无码肉肉视频| 久久亚洲中文无码咪咪爱| 亚洲av无码电影网| 久久亚洲AV成人出白浆无码国产| 亚洲一区AV无码少妇电影☆| 无码少妇一区二区浪潮av| 亚洲AV无码国产剧情| 亚洲中文字幕无码爆乳app| 色综合久久中文字幕无码| 精品无码无人网站免费视频| 少妇人妻无码精品视频| 无码av免费网站| 亚洲精品无码成人| 亚洲成a∨人片在无码2023| 亚洲国产成人精品无码区二本| 无码丰满熟妇一区二区| 用舌头去添高潮无码视频| mm1313亚洲精品无码又大又粗|