[發明專利]雙端口隨機存儲器同步通信的方法及裝置有效
| 申請號: | 200710140490.5 | 申請日: | 2007-08-24 |
| 公開(公告)號: | CN101110065A | 公開(公告)日: | 2008-01-23 |
| 發明(設計)人: | 冷再鮮;劉志強;劉一峰 | 申請(專利權)人: | 中興通訊股份有限公司 |
| 主分類號: | G06F15/167 | 分類號: | G06F15/167 |
| 代理公司: | 北京匯澤知識產權代理有限公司 | 代理人: | 張穎玲 |
| 地址: | 518057廣東省深圳市南山*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 端口 隨機 存儲器 同步 通信 方法 裝置 | ||
技術領域
本發明涉及同步通信技術,具體地,涉及一種單板上兩個獨立CPU使用雙端口隨機存儲器(DPRAM,Double?Port?Random?Access?Memory)同步通信的方法及裝置。
背景技術
隨著嵌入式系統的不斷發展,一個嵌入式單板上集成的功能越來越多。只使用一個嵌入式CPU去實現和管理單板上的所有功能,已經讓設計者越來越感到力不從心。越來越多的設計者開始采用多個嵌入式CPU,對單板上的業務和功能進行分散式管理。
目前,最常用的分散管理方式是使用兩個CPU,兩個CPU之間的通信方式有很多種:串口、網口、DPRAM等等。對于串口和網口的通信方式,無論是硬件還是軟件,技術上都非常成熟,在設計和開發中,使用起來通常很方便。但是,當單板上的兩個CPU之間需要進行大批量的數據傳輸時,串口和網口速率太低,往往不能滿足通信的需要,DPRAM則是此時最好的選擇。
使用DPRAM作為單板上兩個CPU間的通信方式,已經廣泛應用于很多嵌入式系統的設計之中。但是,DPRAM僅僅是一個隨機存儲器(RAM),沒有與串口和網口芯片類似的底層協議。因此,當期望把DPRAM的驅動設計為高效、全雙工模式時,DPRAM自身不能對兩端的通信初始化進行協商同步。在以往的設計中,通常把DPRAM的驅動設計為簡單低效的查詢半雙工模式,從而避免協商同步的過程。或者,把DPRAM兩端的CPU設計為主從模式,主控CPU初始化DPRAM兩端的驅動,然后,啟動從屬CPU,從而實現初始化的協商同步。
現有技術在將DPRAM設計為兩個CPU間的通信通道時,同步需求主要體現在三個方面:(1)初始化DPRAM兩端驅動,建立通信鏈路的協商過程;(2)當通信鏈路出現異常時,重新恢復通信鏈路的再次協商過程;(3)使用DPRAM鏈路收發消息后,相互通知的過程。在這三種情況下,僅僅依賴DPRAM本身是無法完成同步的,必須依靠必要的外部手段。
發明內容
有鑒于此,本發明的主要目的在于提供一種DPRAM同步通信的方法,能實現DPRAM的同步通信。
本發明的另一目的在于提供一種高效的通過DPRAM同步通信的裝置。
為達到上述目的,本發明的技術方案是這樣實現的:
一種雙端口隨機存儲器同步通信的方法,設置CPU通信的中斷標識和鏈路標識符,該方法包括:
A、異步啟動兩個CPU,兩個CPU分別向對方發送中斷;
B、收到中斷的CPU響應對方CPU,并建立同步通信通道。
步驟A中啟動每個CPU的過程進一步包括:
A1、關閉CPU自身的雙端口隨機存儲器中斷,將鏈路標識符置0;
A2、初始化CPU自身的雙端口隨機存儲器驅動,并向雙端口隨機存儲器另一端的CPU發送REQ中斷請求;
A3、CPU開啟自身的雙端口隨機存儲器中斷。
所述步驟B進一步包括:
B1、收到中斷的CPU讀取雙端口狀態寄存器中的值,并將相應的雙端口狀態寄存器清零;
B2、判斷所述雙端口狀態寄存器值的bit0位是否為1,如果是,則為REQ中斷,響應REQ請求,否則,進入步驟B3;
B3、判斷所述雙端口狀態寄存器值的bit1位是否為1,如果是,則為ACK中斷,CPU將自身的鏈路標識符置1,結束流程;否則,進入步驟B4;
B4、判斷所述雙端口狀態寄存器值的bit2位是否為1,如果是,則為讀中斷,CPU喚醒自身的寫任務;否則,進入步驟B5;
B5、判斷所述雙端口狀態寄存器值的bit3位是否為1,如果是,則為寫中斷,CPU喚醒自身的讀任務,否則,不做處理。
步驟B2中所述響應REQ中斷進一步包括:
B21、CPU關閉自身雙端口隨機存儲器中斷,并將鏈路標識符置0;
B22、CPU初始化自身雙端口隨機存儲器的驅動,并向另一CPU發送ACK中斷;
B23、CPU將鏈路標識符置1,并開啟雙端口隨機存儲器中斷。
一種雙端口隨機存儲器同步通信的裝置,該裝置包括:
第一CPU、第二CPU、第一雙端口狀態寄存器、第二雙端口狀態寄存器、雙端口隨機存儲器;
其中,第一雙端口狀態寄存器與第一CPU對應,第二雙端口狀態寄存器與第二CPU對應;雙端口隨機存儲器一端連接第一CPU,另一端連接第二CPU;所述兩個雙端口狀態寄存器的bit0到bit30位為表明雙端口隨機存儲器中斷類型的狀態位,以及bit31位為中斷觸發位。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中興通訊股份有限公司,未經中興通訊股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200710140490.5/2.html,轉載請聲明來源鉆瓜專利網。





