單片機(jī)多微機(jī)系統(tǒng)共享RAM電路
圖1- 87所示為實(shí)際電路圖。圖中共用的RAM為6264.它有8根數(shù)據(jù)總線(Do~D7),13根地址總線( Ao~A12),4根控制總線(WR、OE、CS、CS),2根電源線。當(dāng)兩微機(jī)系統(tǒng)共用RAM時(shí),必須用緩沖器將其隔離。當(dāng)某機(jī)需要占用時(shí),則對(duì)一機(jī)導(dǎo)通,而對(duì)另一機(jī)隔離;否則兩機(jī)將同時(shí)出現(xiàn)故障。在圖1- 87所示電路中,緩沖器選用74LS245,它是8位雙向緩沖器。因?yàn)?264共有24根總線,故用6片74LS245與一片74LS125三態(tài)門。74LS245有一個(gè)方向控制端DIR,一個(gè)允許端G。DIR直接接于RD或接固定電位(+5 V,0 V)。用于數(shù)據(jù)線緩沖時(shí),DIR要接RD;用于地址線和控制線時(shí),DIR要接固定電位(+5 V,0 V)。一般的CPU,RD信號(hào)總是出現(xiàn)在地址信號(hào)的后面,如8080、8031等。如果G接于RD,則會(huì)出現(xiàn)RAM數(shù)據(jù)還沒(méi)準(zhǔn)備就寫或讀,系統(tǒng)就會(huì)出現(xiàn)故障。因此,G接于系統(tǒng)的譯碼端是比較合適的。
系統(tǒng)共用RAM,用緩沖器隔開(kāi),還有問(wèn)題:如果兩機(jī)同時(shí)使用RAM,則會(huì)發(fā)生沖突,雙機(jī)都發(fā)生故障。解決的辦法是,另外設(shè)置一個(gè)狀態(tài)觸發(fā)器,如圖1- 88所示。采用74LS74中的一個(gè)D型觸發(fā)器,當(dāng)一機(jī)準(zhǔn)備使用共用RAM時(shí),先測(cè)試觸發(fā)器的輸出端Q,如果Q=O,則表示RAM狀態(tài)為閑;然后,微機(jī)發(fā)出一置Q=1命令,表示RAM已采用;用完后,微機(jī)發(fā)出Q=O命令,使RAM為閑,其他微機(jī)可以采用了。
共用RAM的地址,在不同的系統(tǒng)中有所不同。這取決于譯碼的地址,即同一存儲(chǔ)單元對(duì)于不同的系統(tǒng)有不同的地址。
從以上分析可知,此種多機(jī)共用RAM電路在兩機(jī)有大塊數(shù)據(jù)交換時(shí),只需對(duì)各自RAM使用查詢、置狀態(tài)、清狀態(tài)三個(gè)過(guò)程,故對(duì)于大塊數(shù)據(jù)交換,傳輸速率要比傳統(tǒng)的串行、并行高許多。