基于共享存儲(chǔ)器的多處理機(jī)并行快速通信
摘要:本文提出了當(dāng)多處理機(jī)系統(tǒng)工作時(shí),為了實(shí)現(xiàn)快速有效的通信,采用使多處理器共享存儲(chǔ)囂方案。IDT7134雙口RAM是本方案選擇的共享存儲(chǔ)器。針對(duì)該方案,本文給出了接口電路的硬件設(shè)計(jì)和軟件設(shè)計(jì)。在接口電路設(shè)計(jì)中,重點(diǎn)介紹了IDT7134和CPU的連接;在軟件設(shè)計(jì)當(dāng)中,重點(diǎn)介紹了如何處理地址爭用,通過設(shè)置一些標(biāo)志位來使多處理機(jī)在訪問共享存儲(chǔ)器的同一地址時(shí)避免沖突,從而有效地實(shí)現(xiàn)了數(shù)據(jù)的高速傳輸。本方案經(jīng)理論和實(shí)踐證明是可行并有效的。
關(guān)鍵詞:雙口RAM;高速并行通信;IDT7134;STC89C54
隨著信息技術(shù)的發(fā)展,消費(fèi)電子產(chǎn)品、工業(yè)儀表等電子設(shè)備對(duì)信息處理速度要求的增高,在多CPU系統(tǒng)當(dāng)中,往往有大量的數(shù)據(jù)需要交換。通常情況下,CPU之間進(jìn)行數(shù)據(jù)交換的方式有3種:串行口數(shù)據(jù)交換、I/O口數(shù)據(jù)交換和共享存儲(chǔ)器數(shù)據(jù)交換。串行口數(shù)據(jù)交換方式是指利用CPU本身提供的串行口或在CPU芯片基礎(chǔ)上用軟硬件開發(fā)一個(gè)串行口實(shí)現(xiàn)雙CPU數(shù)據(jù)交換,該方式實(shí)現(xiàn)起來相對(duì)簡單,適用于兩個(gè)CPU數(shù)據(jù)交換信息量不是很大,且實(shí)時(shí)性要求不高的場合。I/O口數(shù)據(jù)交換方式是指在雙CPU之間增加緩沖器或鎖存器實(shí)現(xiàn)數(shù)據(jù)交換目的,但這種方式下的數(shù)據(jù)交換信息量受到很大限制,速度也不高,適用于交換信息量很小且實(shí)時(shí)性要求不高的場合。共享存儲(chǔ)器數(shù)據(jù)交換方式可分為兩種:一種是兩個(gè)CPU中的一個(gè)CPU提供直接存儲(chǔ)器存取(DirectMemory Access,DMA)功能;另一種采用雙口RAM來實(shí)現(xiàn)。前者兩片CPU不能同時(shí)訪問共享存儲(chǔ)器,雖然數(shù)據(jù)交換信息量大,但設(shè)計(jì)復(fù)雜、編程難度大;后者可同時(shí)訪問共享存儲(chǔ)器,數(shù)據(jù)傳輸量大、傳輸速度快、接口電路簡單、軟件編程容易。鑒于此,本文采用雙口RAM IDT7134來實(shí)現(xiàn)高速并行通信,多處理機(jī)選擇8051系列STC89C54的8位單片機(jī),共兩片,來實(shí)現(xiàn)雙機(jī)通信。
1 器件介紹
1.1 STC89C54單片機(jī)簡介
STC89C54RD+系列單片機(jī)是中國宏晶科技公司生產(chǎn)的8位的51單片機(jī)系列,具有低功耗,高速,抗靜電,抗干擾,ISP/IAP在系統(tǒng)可編程/在應(yīng)用可編程,無需編程器/仿真器等等特點(diǎn)。STC89C54的在線編程電路如圖1所示。
STC89C54工作電壓是5 V。工作頻率可高達(dá)80 MHz。在本設(shè)計(jì)系統(tǒng)中選定晶振頻率為22.1184 MHz。Flash程序存儲(chǔ)器字節(jié)是16 K。RAM數(shù)據(jù)存儲(chǔ)器字節(jié)是1 280。EEPROM字節(jié)是16 K。有2個(gè)串口UART,8個(gè)中斷源,3個(gè)16位的定時(shí)器,比以前的51單片機(jī)多了4個(gè)I/O口。
STC89C54可以使用匯編語言進(jìn)行設(shè)計(jì),也可以使用Keil C語言設(shè)計(jì),讀者可以根據(jù)需要靈活使用,本文使用的是Keil C語言,調(diào)試編譯成功后用STC_ISP.exe工具將生成的2進(jìn)制代碼或16進(jìn)制代碼下載到STC單片機(jī)中。
1.2 IDT7134雙口RAM
IDT7134是美國IDT公司生產(chǎn)的4 Kx8的4 K字節(jié)(4 Kx8位)存儲(chǔ)容量的高速靜態(tài)隨機(jī)存取雙口寄存器(DPSRAM)(COMS)。功耗較低:工作狀態(tài)下700 mW,待機(jī)狀態(tài)下1~5mW。雙口RAM的每一個(gè)端口具有獨(dú)立的I/O口線,地址和控制信號(hào)線,可以同時(shí)對(duì)存儲(chǔ)器的任何地址進(jìn)行操作。原理框圖如圖2所示。
評(píng)論