- 相關(guān)推薦
多端口存儲(chǔ)器在多機(jī)系統(tǒng)中的應(yīng)用
摘要:介紹雙口RAM和FIFO的結(jié)構(gòu)原理及仲裁邏輯控制;詳細(xì)說(shuō)明二者在由數(shù)字信號(hào)處理器和MCS-51單片機(jī)構(gòu)成的多機(jī)系統(tǒng)中的應(yīng)用,并對(duì)二者進(jìn)行了比較。前言
在測(cè)控、儀器儀表、語(yǔ)音信號(hào)處理和圖像通信領(lǐng)域中往往需要多處理器分工完成數(shù)字信號(hào)處理(DSP)算法和與外部系統(tǒng)的通信、控制、數(shù)據(jù)采集和人機(jī)接口功能。在多機(jī)系統(tǒng)中,CPU之間的通信常采用以下幾種方式:(1)串行通信。這種方式相對(duì)簡(jiǎn)單,由于受到波特率的限制,在不同檔次單片機(jī)之間需要通信業(yè)務(wù)大的場(chǎng)合得不到很好的通信效果。(2)并行通信。利用CPU的I/O功能在CPU之間增加緩沖器或鎖存器實(shí)現(xiàn)雙機(jī)通信。通信性能較串行通信有所提高,但仍然得不到理想的效果。(3)利用共享式存儲(chǔ)器實(shí)現(xiàn)。DMA方式就是其中的一種,能夠達(dá)到數(shù)據(jù)的高速傳輸,但不能同時(shí)訪問(wèn)存儲(chǔ)器,CPU必須等待總線,而且有些CPU不支持DMA功能。另一種是利用多端口存儲(chǔ)器,雙口RAM和FIFO是常用的兩種多端口的存儲(chǔ)器,允許多CPU同時(shí)訪問(wèn)存儲(chǔ)器,大大提高了通信效率,而且對(duì)CPU沒(méi)有過(guò)多的要求,特別適合異種CPU之間異步高速系統(tǒng)中。因此,受到硬件設(shè)計(jì)者的青睞。
一、兩種多端口存儲(chǔ)器
1.雙口RAM的仲裁控制
雙口RAM是常見(jiàn)的共享式多端口存儲(chǔ)器,以圖1所示通用雙口靜態(tài)RAM為例來(lái)說(shuō)明雙口RAM的工作原理和仲裁邏輯控制。雙口RAM最大的特點(diǎn)是存儲(chǔ)數(shù)據(jù)共享。圖1中,一個(gè)存儲(chǔ)器配備兩套獨(dú)立的地址、數(shù)據(jù)和控制線,允許兩個(gè)獨(dú)立的CPU或控制器同時(shí)異步地訪問(wèn)存儲(chǔ)單元。既然數(shù)據(jù)共享,就必須存在訪問(wèn)仲裁控制。內(nèi)部仲裁邏輯控制提供以下功能:對(duì)同一地址單元訪問(wèn)的時(shí)序控制;存儲(chǔ)單元數(shù)據(jù)塊的訪問(wèn)權(quán)限分配;信令交換邏輯(例如中斷信號(hào))等。
(1)對(duì)同一地址單元訪問(wèn)的競(jìng)爭(zhēng)控制
如果同時(shí)訪問(wèn)雙口RAM的同一存儲(chǔ)單元,勢(shì)必造成數(shù)據(jù)訪問(wèn)失真。為了防止沖突的發(fā)生,采用Busy邏輯控制,也稱硬件地址仲裁邏輯。圖2給出了地址總線發(fā)生匹配時(shí)的競(jìng)爭(zhēng)時(shí)序。,此處只給出了地址總線選通信信號(hào)先于片選脈沖信號(hào)的情況,而且,兩端的片選信號(hào)至少相差tAPS——仲裁最小時(shí)間間隔(IDT7132為5ns),內(nèi)部仲裁邏輯控制才可給后訪問(wèn)的一方輸出Busy閉鎖信號(hào),將訪問(wèn)權(quán)交給另一方直至結(jié)束對(duì)該地址單元的訪問(wèn),才撤消Busy閉鎖信號(hào),將訪問(wèn)權(quán)交給另一方直至結(jié)束對(duì)該地址單元的訪問(wèn),才撤消Busy閉鎖信號(hào)。即使在極限情況,兩個(gè)CPU幾乎同時(shí)訪問(wèn)同一單元——地址匹配時(shí)片選信號(hào)低跳變之差少于tAPS,Busy閉鎖信號(hào)也僅輸出給其中任一CPU,只允許一個(gè)CPU訪問(wèn)該地址單元。仲裁控制不會(huì)同時(shí)向兩個(gè)CPU發(fā)Busy閉鎖信號(hào)。
(2)存儲(chǔ)單元數(shù)據(jù)塊的訪問(wèn)權(quán)限分配
存儲(chǔ)單元數(shù)據(jù)塊的訪問(wèn)權(quán)限分配只允許在某一時(shí)間段內(nèi)由1個(gè)CPU對(duì)自定義的某一數(shù)據(jù)塊進(jìn)行讀寫操作,這將有助于存儲(chǔ)數(shù)據(jù)的保護(hù),更有效地避免地址沖突。信號(hào)量(Semaphore,簡(jiǎn)稱SEM)仲裁閉鎖就是一種硬件電路結(jié)合軟件實(shí)現(xiàn)訪問(wèn)權(quán)限分配方法。SEM單元是與存儲(chǔ)單元無(wú)關(guān)的獨(dú)立標(biāo)志單元,圖3給出了一個(gè)信號(hào)量閉鎖邏輯框圖。兩個(gè)觸發(fā)器在初始化時(shí)均使SEM允許輸出為高電平,等待雙方申請(qǐng)SEM。如果收到一方寫入的SEM信號(hào)(通常低電平寫入),如圖3所示,仲裁電路將使其中一個(gè)觸發(fā)器的SEM允許輸出端為低電平,而閉鎖另一個(gè)SEM允許輸出端使其繼續(xù)保持高電平。只有當(dāng)先請(qǐng)求的一方撤消SEM信號(hào),即寫入高電平,才使另一SEM允許輸出端的閉鎖得到解除,恢復(fù)等待新的SEM申請(qǐng)。
(3)信令交換邏輯(signaling logic)
為了提高數(shù)據(jù)的交換能力,有些雙口RAM采用信令交換邏輯來(lái)通知對(duì)方。IDT7130(1K容量)就是采用中斷方式交換信令。利用兩個(gè)特殊的單元(3FFH和3FEH)作為信令字和中斷源。假設(shè)左端CPU向3FFH寫入信令,將由寫信號(hào)和地址選通信號(hào)觸發(fā)右端的中斷輸出,只有當(dāng)右端的CPU響應(yīng)中斷并讀取3FFH信令字單元,其中斷才被雙口RAM撤消。
以上是雙口RAM自身提供的仲裁邏輯控制,也可采用自行設(shè)計(jì)的仲裁協(xié)議。下面的實(shí)例將介紹這種方法。
2.FIFO的工作原理
FIFO(First In First Out)全稱是先進(jìn)先出的存儲(chǔ)器。先進(jìn)先出也是FIFO的主要特點(diǎn)。
20世紀(jì)80年代早期,F(xiàn)IFO芯片是基于移位寄存器的中規(guī)模邏輯器件。容量為n的這種FIFO中,輸入的數(shù)據(jù)逐個(gè)寄存器移位,經(jīng)n次移位才能輸出。因此,這種FIFO的輸入到輸出延時(shí)與容量成正比,工作效率得到限制。
為了提高FIFO的容量和減小輸出延時(shí),現(xiàn)在FIFO內(nèi)部存儲(chǔ)器均采用雙口RAM,數(shù)據(jù)從輸入到讀出的延遲大大縮小。以通用的IDT7202為例,結(jié)構(gòu)框圖如圖4所示。輸入和輸出具有兩套數(shù)據(jù)線。獨(dú)立的讀寫地址指針在讀寫脈沖的控制下順序地從雙口RAM讀寫數(shù)據(jù),讀寫指針均從第一個(gè)存儲(chǔ)單元開(kāi)始,到最后個(gè)存儲(chǔ)單元,然后,又回到第一個(gè)存儲(chǔ)單元。標(biāo)志邏輯部分即內(nèi)部仲裁電路通過(guò)對(duì)讀指針和寫指針的比較,相應(yīng)給出雙口RAM的空(EF)和滿(FF)狀態(tài)指示,甚至還有中間指示(XO/HF)。如果內(nèi)部仲裁僅提供空和滿狀態(tài)指示,F(xiàn)IFO的傳輸效率得不到充分的艇。新型的FIFO提供可編程標(biāo)志功能,例如,可以設(shè)置空加4或滿減4的標(biāo)志輸出。目前,為了使容量得到更大提高
【多端口存儲(chǔ)器在多機(jī)系統(tǒng)中的應(yīng)用】相關(guān)文章:
CPLD在發(fā)射機(jī)控制保護(hù)系統(tǒng)中的應(yīng)用03-18
PLC定位伺服系統(tǒng)在噴號(hào)機(jī)中的應(yīng)用03-07
PLC在推塊分揀機(jī)控制系統(tǒng)中的應(yīng)用03-07
信息紐扣DS1991在單片機(jī)系統(tǒng)中的應(yīng)用03-18
ISD2560語(yǔ)音芯片在排隊(duì)機(jī)系統(tǒng)中的應(yīng)用03-21
多傳感器信息融合技術(shù)在智能駕駛系統(tǒng)中的應(yīng)用03-18
Blackfin系統(tǒng)引導(dǎo)過(guò)程中的多應(yīng)用程序管理03-07