[實用新型]一種控制單口隨機存貯器共享的裝置無效
| 申請號: | 01239355.X | 申請日: | 2001-05-17 |
| 公開(公告)號: | CN2483769Y | 公開(公告)日: | 2002-03-27 |
| 發明(設計)人: | 李斌;林敏 | 申請(專利權)人: | 李斌;林敏 |
| 主分類號: | G06F13/00 | 分類號: | G06F13/00 |
| 代理公司: | 上海交達專利事務所 | 代理人: | 王錫麟 |
| 地址: | 200072 上海市*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 控制 單口 隨機 存貯器 共享 裝置 | ||
本實用新型涉及一種控制單口隨機存貯器共享的裝置,尤其是控制雙機間一次數據交換量不超過256B的單口隨機存貯器共享的裝置。
多機之間的數據交換,則有串行和并行兩種方式。多機串行數據交換可以通過單片機自帶的串行口(TxD和RxD)來實現的,其不足是數據交換速度慢,而且主、從機一次交換的數據量少。為此,PHILIPS公司曾提出了一種I2C總線串行的方式,該方式使用SDA和SCL二條信號線可實現器件之間的信息傳遞,雖簡化了結構,但還存在著數據交換速率低,不能滿足許多系統的實時性要求。也有多機系統采用8255A實現應答式并行數據交換的方式,一次一般只能交換1B數據,傳輸信息不連續,相對于串行方式的速度優勢不明顯。因此,在某些對數據傳送有一定要求的場合,如在工業機器人的控制中,系統要求主、從機共享數據量大且交換信息速度快時,上述的串行、并行數據交換方式則難以滿足要求,故通常采用多CPU共享隨機存貯器(RAM)的方法。現有多CPU共享單口RAM的裝置,則需要許多外圍邏輯器件的幫助才能實現。例如,當兩微機系統共用一片RAM6264時,需要使用6片74LS245鎖存器和一片74LS125三態門來解決一機占用RAM時系統對另一機的隔離問題;還需通過一個74LS74狀態觸發器來判別RAM的空閑狀態,以解決共享時的沖突問題(如崔亞軍.《多微機系統共享RAM電路》.《電子技術應用》,1990(2)一文中所述)。這類裝置的系統體積大,連線繁瑣、易出錯,維護也不方便。為克服這些缺點,在此基礎上,出現了雙口RAM。雙口RAM盡管體積小,但成本高,編程較復雜,且由于其兩個端口是互相獨立的,各自有自己的地址線、數據線和控制線,因此引腳很多(如IDT公司的IDT7005S/L雙口RAM芯片,有四十幾個引腳),給接線增加了麻煩,也使整個系統裝置的體積擴大。
本實用新型的目的是提供一種控制單口隨機存貯器共享的裝置,它具有外圍器件少、結構簡單、共享信息交換速度快、編程容易和成本低之特點。
為實現上述目的,本實用新型包括51系列的主、從單片機、地址鎖存器、單口隨機存貯器,其特征在于:還包括由與非門器件組成的切換器,主單片機CPU和從單片機CPU的寫數據輸出口與單口隨機存貯器的寫數據使能口相互連接,主單片機CPU和從單片機CPU的讀數據輸出口與單口隨機存貯器的輸出使能口相互連接,主單片機CPU的外部中斷輸入口與從單片機CPU的P1口相連,從單片機CPU的外部中斷輸入口、主單片機CPU的P1口和切換器控制口與系統控制線相互連接,主單片機CPU和從單片機CPU的低8位數據/地址口與地址鎖存器的數據輸入口、單口隨機存貯器的數據口相互連接,主單片機CPU和從單片機CPU的地址鎖存信號輸出口分別連接切換器的信號輸入口,切換器的信號輸出口接地址鎖存器的地址鎖存端,地址鎖存器的輸出端接單口隨機存貯器的低8位地址口,主單片機CPU的P2口與單口隨機存貯器的高8位地址口相連。
本實用新型由于采用上述結構,既解決了數據交換速度慢和數據交換量少的問題,又減少了外圍邏輯器件、簡化了裝置的結構,而且還具有編程簡單和成本低之優點。本實用新型可廣泛用于雙機一次共享RAM信息不超過256B的儀表系統。
下面給出本實用新型的實施例及附圖,并結合附圖作進一步說明:
圖1、為本實用新型的實施例圖。
按圖1所示,本實用新型由51系列的主、從單片機、地址鎖存器3、單口隨機存貯器5和切換器2組成。切換器2由與非門器件6、7、9和非門器件8構成。與非門器件6的信號輸出口接與非門器件7的一個信號輸入口,其兩個信號輸入口分別接從單片機CPUl的地址鎖存信號輸出口b和非門器件8的輸出口。與非門器件7的信號輸出口接地址鎖存器3的地址鎖存端g,另一信號輸入口接與非門器件9的信號輸出口。與非門器件9的一個信號輸入口接主單片機CPU4的地址鎖存信號輸出口j,與非門器件9另一輸入口和非門器件8的輸入口相連構成切換器2的控制口。主單片機CPU4和從單片機CPUl的寫數據輸出口I、e與單口隨機存貯器5的寫數據使能口i相互連接,主單片機CPU4和從單片機CPUl的讀數據輸出口k、a與單口隨機存貯器5的輸出使能口h相互連接,主單片機CPU4的外部中斷輸入口n與從單片機CPUl的Pl口d相連,從單片機CPUl的外部中斷輸入口f、主單片機CPU4的P1口m、切換器2的控制口以及系統控制線c相互連接,主單片機CPU4和從單片機CPUl的低8位數據/地址口與地址鎖存器3的數據輸入口、單口隨機存貯器5的數據口相互連接,地址鎖存器3的輸出口接單口隨機存貯器5的低8位地址口,主單片機CPU4的P2口與單口隨機存貯器5的高8位地址口相連。主單片機和從單片機的運行程序是獨立的,當上電工作時,主單片機CPU4和從單片機CPUl分別執行初始化程序:SETBP3.6;SETB?P3.7;MOV?P0,#OFFH。其中,P3.6、P3.7引腳分別是單片機上的寫、讀數據輸出線。接著,主單片機首先掌握對單口隨機存儲器5的操作權,將其P1口m置為高電平“1”,從而使得系統控制線c(即切換器2的控制口)為高電平“1”。在切換器2中,由于系統控制線c為“1”,則非門器件8的輸出為低電平“0”,與非門器件6的一個輸入也為“0”,此時不管與非門6的另一個與從單片機CPUl的地址鎖存信號輸出口b相連的輸入口為何狀態,其輸出值總是為高電平“1”,也就是與非門器件7的一個輸入為“1”,而與非門7的另一個輸入狀態取決于與非門器件9的輸出。由于切換器2的控制口為高電平“1”,所以主單片機CPU4的地址鎖存信號輸出口j的值決定了與非門器件9的輸出。當j為高電平“1”時,則與非門器件9的輸出為低電平“0”,即與非門器件7的另一個輸入口的值為“0”,從而與非門器件7的輸出為“1”,也就是地址鎖存器3的地址鎖存端g為高電平“1”。這樣,在主單片機CPU4執行命令語句“MOVX#DPTR,A”欲進行對單口隨機存儲器5的寫操作(或者執行命令語句“MOVX?A,#DPTR”讀取存儲器5的信息)時,鎖存器3允許主單片機CPU4的P0口將DPTR的低字節值通過地址鎖存器3直通輸出到單口隨機存儲器5的低8位地址口;主單片機CPU4的P2口將DPTR的高字節值直接輸出給單口隨機存儲器5的高8位地址口。而由于從單片機CPUl的PO口在初始化時被置為高阻態,所以不會干擾主單片機的操作。當j為低電平“0”時,切換器2的控制口仍為高電平“1”,所以與非門器件9的輸出即與非門7的一個輸入信號為高電平“1”,而與非門7的另一個輸入總是為“1”,則它的輸出即地址鎖存器3的地址鎖存端g為低電平“0”。此時,地址鎖存器3將主單片機CPU4的P0口傳送來的低8位地址鎖存在鎖存器中,之后,PO口不再作為地址口使用,而是作為數據口傳送數據信息。由于使用MOVX指令,主單片機的CPU4寫數據輸出口I(或讀數據輸出口k)自動變為有效狀態,主單片機CPU4通過PO口將數據寫到存儲器5中(或從存儲器5中將數據讀過來)。主單片機完成對存儲器5的操作任務后,若希望從單片機去操作存儲器5,就讓自己再執行一次上面的初始化程序以達到復位按鈕Reset的效果,以避免對從單片機的操作產生不利影響。另外還要執行語句“MOVP2,#高位地址”來為從單片機指定要操作的單口隨機存儲器5的高8位地址。這些準備工作完成后,主單片機就將它的P1口m置為低電平“0”,這樣不僅通過從單片機CPUl的中斷口f達到中斷通知從單片機的目的,而且切換系統控制線c為低電平“0”,也就是切換器2的控制口變為低電平“0”。由此,不管主單片機CPU4的地址鎖存信號輸出口j取何值,與非門器件9的輸出總是為高電平“1”,這表示切換器2的輸出只取決于從單片機CPU1的地址鎖存信號輸出口b的狀態。這樣,主單片機將對隨機存儲器5的操作權交給了從單片機。控制線c=0,所以非門器件8的輸出總是為“1”,即與非門器件6的一個輸入為“1”。在從單片機CPUl的地址鎖存信號輸出口b為高電平“1”時,與非門器件6的輸出為低電平“0”,即與非門7的一個輸入為“0”,則不管與非門7的另一個輸入取什么值,它的輸出必然為“1”,從而鎖存器3的地址鎖存端g為高電平“1”。當從單片機執行MOVX指令時,鎖存器3就允許從單片機CPUl的低位地址口(PO口)將低位地址通過鎖存器3直通輸出到隨機存儲器5的低8位地址口,而隨機存儲器5的高8位地址已經由主單片機在中斷從單片機以前通過命令語句指定。待從單片機CPUl的信號輸出口b為低電平“O”時,與非門器件6的輸出為高電平,即與非門7的一個輸入為高電平“1”,而其另一個輸入值即與非門9的輸出總是為高電平“1”,所以切換器2的輸出也就是鎖存器3的地址鎖存端g為低電平“0”。這時,鎖存器3將從單片機CPUl的低8位地址鎖存在鎖存器3中,之后,P0口作為數據口而不是地址口使用。由于從單片機使用MOVX指令,它的讀輸出口a(或寫輸出口e)就自動恢復為有效狀態。從單片機就可通過P0口對隨機存儲器5進行讀(或寫)操作。由上述可知,由于從單片機操作隨機存儲器5的高8位地址是由主單片機指定的,所以從單片機一次只能共享256B即一頁的單口隨機存儲器數據,而具體共享單口隨機存儲器中哪一頁的數據是由主單片機決定的。當從單片機CPUl完成操作任務后,也需要將它的初始化程序再運行一次,以防止干擾主機對隨機存儲器5的操作。然后將它的P1口位線d置為低電平,這樣主單片機的中斷口n也變為低電平,從而通知主單片機切換系統控制線c的狀態,收回對隨機存儲器5的操作權。主、從單片機之間如此循環操作實現兩機共享單口隨機存儲器。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于李斌;林敏,未經李斌;林敏許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/01239355.X/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種推力輪
- 下一篇:便池、馬桶去味風機管路





