《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 基于共享存儲器的多處理機并行快速通信
基于共享存儲器的多處理機并行快速通信
馬利平,葛海波,歐陽磊
摘要: 本文提出了當多處理機系統工作時,為了實現快速有效的通信,采用使多處理器共享存儲囂方案。IDT7134雙口RAM是本方案選擇的共享存儲器。針對該方案,本文給出了接口電路的硬件設計和軟件設計。在接口電路設計中,重點介紹了IDT7134和CPU的連接;在軟件設計當中,重點介紹了如何處理地址爭用,通過設置一些標志位來使多處理機在訪問共享存儲器的同一地址時避免沖突,從而有效地實現了數據的高速傳輸。本方案經理論和實踐證明是可行并有效的。
Abstract:
Key words :

    隨著信息技術的發展,消費電子產品、工業儀表等電子設備對信息處理速度要求的增高,在多CPU系統當中,往往有大量的數據需要交換。通常情況下,CPU之間進行數據交換的方式有3種:串行口數據交換、I/O口數據交換和共享存儲器數據交換。串行口數據交換方式是指利用CPU本身提供的串行口或在CPU芯片基礎上用軟硬件開發一個串行口實現雙CPU數據交換,該方式實現起來相對簡單,適用于兩個CPU數據交換信息量不是很大,且實時性要求不高的場合。I/O口數據交換方式是指在雙CPU之間增加緩沖器或鎖存器實現數據交換目的,但這種方式下的數據交換信息量受到很大限制,速度也不高,適用于交換信息量很小且實時性要求不高的場合。共享存儲器數據交換方式可分為兩種:一種是兩個CPU中的一個CPU提供直接存儲器存取(DirectMemory Access,DMA)功能;另一種采用雙口RAM來實現。前者兩片CPU不能同時訪問共享存儲器,雖然數據交換信息量大,但設計復雜、編程難度大;后者可同時訪問共享存儲器,數據傳輸量大、傳輸速度快、接口電路簡單、軟件編程容易。鑒于此,本文采用雙口RAM IDT7134來實現高速并行通信,多處理機選擇8051系列STC89C54的8位單片機,共兩片,來實現雙機通信。

1 器件介紹
1.1 STC89C54單片機簡介
    STC89C54RD+系列單片機是中國宏晶科技公司生產的8位的51單片機系列,具有低功耗,高速,抗靜電,抗干擾,ISP/IAP在系統可編程/在應用可編程,無需編程器/仿真器等等特點。STC89C54的在線編程電路如圖1所示。

a.jpg


    STC89C54工作電壓是5 V。工作頻率可高達80 MHz。在本設計系統中選定晶振頻率為22.1184 MHz。Flash程序存儲器字節是16 K。RAM數據存儲器字節是1 280。EEPROM字節是16 K。有2個串口UART,8個中斷源,3個16位的定時器,比以前的51單片機多了4個I/O口。
    STC89C54可以使用匯編語言進行設計,也可以使用Keil C語言設計,讀者可以根據需要靈活使用,本文使用的是Keil C語言,調試編譯成功后用STC_ISP.exe工具將生成的2進制代碼或16進制代碼下載到STC單片機中。
1.2 IDT7134雙口RAM
    IDT7134是美國IDT公司生產的4 Kx8的4 K字節(4 Kx8位)存儲容量的高速靜態隨機存取雙口寄存器(DPSRAM)(COMS)。功耗較低:工作狀態下700 mW,待機狀態下1~5mW。雙口RAM的每一個端口具有獨立的I/O口線,地址和控制信號線,可以同時對存儲器的任何地址進行操作。原理框圖如圖2所示。

b.jpg


    IDT7134時序與RAM的時序類似,當端口沒有被選中時,即是c.jpg為高,無論其他端口如何配置,輸出一律為高阻態;當有CPU選中某一端口時,相應端口的c.jpg出現下降沿,無論d.jpg為高還是低,只要e.jpg為低時,CPU對該端口進行寫操作;而當d.jpg為低時且e.jpg為高時,CPU對該端口進行讀操作。真值表如表1所示。

f.jpg


    IDT7134應用在那些不能容忍等待狀態的系統當中。IDT7134允許兩個端口同時訪問存儲器,但是當兩個端口同時訪問存儲器某個相同地址時,出現了沖突。這時用戶為了保持信號完整性,必須采取一些措施。筆者采取的措施是將雙口RAM分成2個區,第1個區是CPU1寫,CPU2讀,第2個區是CPU2寫,CPU1讀。兩個區的數據各用兩個地址空間存放標志。第一個地址空間用于告知對方此塊數據是新送來的或者是已經被取走。這樣兩邊傳送數據時既不會發生同一批數據被處理兩次的現象,也不會發生舊數據還未取走即被新一批數據覆盞掉的結果。第二個地址空間用于告訴對方目前該地址是使用還是沒使用,以便對方做出相應的裁決,避免爭用。這樣做也有利于本端口使用前先查詢再操作,避免爭用,等待,提高了效率。

2 硬件電路設計
    基于雙口RAM的雙CPU快速并行通信硬件電路設計框圖如圖3所示。圖中左右2個CPU即CPU1(左),CPU2(右)采取在線可編程的方式從PC機得到它的程序。由于IDT7134共有4K地址,需要12根地址線查找相應的地址,用74HC373進行了P0地址的低位鎖存,用P2口直接輸出高位地址。CPU1把采集到的信息通過IDT7134傳給CPU2做相關的處理,CPU2把自己采集、處理的信息通過IDT7134傳給CPU1。

g.jpg


    在硬件電路設計當中,尤其是在IDT7134和CPU的連接當中,特別要注意幾根控制線的連接。根據STC89C54的原理和IDT7134的原理再結合經驗,STC89C54的寫控制P3.6接到IDT7134的寫允許端口。STC89C54的讀控制P3.7接到IDT7134的輸出允許端口,STC89C54的P2.7接到IDT7134的片選端口。另外要注意STC89C54的ALE端要接74HC373的鎖存使能G端口。STC89C54的EA端口要接高電平。圖4給出了STC89C 54與IDT7134的部分連接圖。

h.jpg



3 軟件設計
    定義2個IDT7134的存儲區:unsignedcharxdata*xRAM1=0x0000和unsigned char xdata*xRAM2=0x0800,既是把IDT7134的4096個地址平分,分別作為CPU1存儲,CPU2讀取的存儲專區1;后者作為CPU2存取,CPU1讀取的專區2。在每一個專區,只允許專有的動作,其他的操作視作非法操作。
     接下來第二步是設定標志位。對CPU1,CPU2的操作分別設定3個相應的標志位:CPU1有cpu1_updata_flag(為0時表示存儲專區1未更新,不必讀取;為1時表示存儲專區1已更新,可以讀取);cpu1_writing_flag(為0時表示未對該存儲專區1寫入操作,可以在數據有更新的情況下對該數據區進行讀取;為1時表示正對該數據區進行寫操作,禁止讀取);cpu1_reading_flag(為0時表示未對存儲專區2進行讀操作,如果存儲專區2的數據未更新,則CPU2可以對其進行寫入操作)。同理,CPU2也有相應的3個標志:cpu2_updata_flag,cpu2_writing_flag,cpu2_ rading_flag,并具有類似的含義。
    系統上電后,先自檢,一切正常后,復位。復位后,所有的標志位置為0,然后進行相應的數據傳輸。CPU1和CPU2相應的工作流程如圖5所示。

i.jpg



4 結束語
    本并行通信采用IDT7134雙口RAM,實驗表明具有功率損耗小,傳輸速率高,實時性好,可靠性高。該系統可廣泛應用在數據采集、多機通信系統中,并對其他的嵌入式系統有一定的借鑒作用。
    根據目前的實踐情況來看,下一步是把雙口RAM應用在多處理機中,為此需要解決多處理機的地址爭用問題,需要提出更優良的算法以實現有效性和實時性。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲国产影院| 亚洲欧美成人在线| 一区二区三区黄色| 亚洲日本电影| 亚洲国产清纯| 最新国产精品拍自在线播放| 在线欧美小视频| 亚洲第一色在线| 亚洲成色www8888| 亚洲国产高清自拍| 亚洲国产美女久久久久| 亚洲福利av| 亚洲国产精品悠悠久久琪琪| 亚洲国产精品一区二区第四页av| 亚洲大片免费看| 91久久久久久国产精品| 亚洲国产精品视频| 亚洲欧洲精品成人久久奇米网| 亚洲国产老妈| 亚洲卡通欧美制服中文| 一本久道久久久| 亚洲一区二区在线播放| 亚洲免费中文字幕| 午夜日韩激情| 欧美影院在线| 亚洲第一精品福利| 亚洲激情视频网| 日韩一区二区免费高清| 亚洲天堂成人| 欧美在线观看天堂一区二区三区| 久久av资源网站| 蜜臀a∨国产成人精品| 欧美高清视频一区二区| 欧美日产在线观看| 欧美视频中文字幕在线| 国产精品日韩欧美大师| 国产一区二区三区在线观看网站 | 亚洲五月婷婷| 欧美一区二区三区免费看 | 欧美高清视频免费观看| 欧美视频1区| 国产亚洲欧美日韩精品| 在线观看欧美亚洲| 日韩亚洲欧美中文三级| 午夜精品视频一区| 亚洲人成欧美中文字幕| 亚洲视频久久| 久久福利一区| 欧美激情片在线观看| 国产精品久久久久久影视| 国内外成人免费视频| 亚洲精品视频在线看| 午夜精品999| 亚洲美女毛片| 欧美在线视频观看| 欧美激情1区2区| 国产欧美日韩另类一区 | 午夜亚洲视频| 亚洲精选中文字幕| 欧美亚洲一级| 欧美成人嫩草网站| 国产精品视频最多的网站| 在线看欧美视频| 亚洲一区二区不卡免费| 亚洲国产精品va在线看黑人动漫| 亚洲天堂av高清| 久久午夜色播影院免费高清| 欧美色区777第一页| 一区在线观看| 亚洲一区在线观看免费观看电影高清| 亚洲国产高清aⅴ视频| 亚洲制服欧美中文字幕中文字幕| 久久亚洲精品网站| 国产精品地址| 亚洲日本视频| 久久精品麻豆| 欧美一级理论片| 欧美视频手机在线| 在线看欧美日韩| 亚洲欧美网站| 亚洲淫性视频| 欧美极品欧美精品欧美视频| 国产在线观看精品一区二区三区| 一区二区精品在线| 亚洲人成网在线播放| 久久激情五月婷婷| 欧美小视频在线| 亚洲黄色尤物视频| 久久精品视频在线观看| 午夜精品福利在线观看| 欧美日韩色综合| 亚洲福利视频专区| 久久国产成人| 久久成人免费视频| 国产精品福利影院| 日韩亚洲欧美一区二区三区| 亚洲精品一区二区三区99| 久久综合精品国产一区二区三区| 国产精品久久久久影院色老大| 亚洲三级观看| 亚洲精品日韩激情在线电影| 久久成人一区| 国产精品一区二区a| 99国产精品视频免费观看一公开| 亚洲激情偷拍| 免费毛片一区二区三区久久久| 国产午夜精品一区理论片飘花| 亚洲午夜久久久久久久久电影院 | 激情成人中文字幕| 欧美在线视频免费观看| 久久精品30| 国产一区二区中文字幕免费看| 亚洲欧美另类在线观看| 亚洲免费网址| 国产精品麻豆成人av电影艾秋| 艳女tv在线观看国产一区| 中文日韩电影网站| 欧美日韩亚洲一区二区三区在线观看| 亚洲精品综合精品自拍| 一本大道久久a久久精二百| 欧美寡妇偷汉性猛交| 在线观看的日韩av| 亚洲精品国产拍免费91在线| 欧美14一18处毛片| 亚洲激情综合| av成人免费| 欧美日韩一区二区视频在线观看| 亚洲毛片视频| 亚洲午夜在线观看视频在线| 国产精品国产成人国产三级| 亚洲影音先锋| 久久国内精品自在自线400部| 国产一区二区在线免费观看| 亚洲第一福利社区| 欧美h视频在线| 亚洲人妖在线| 亚洲影院高清在线| 国产精品一区二区三区四区| 亚洲欧美国产精品va在线观看| 欧美在线网址| 伊人成人在线| 一区二区三区免费在线观看| 欧美午夜精品| 午夜精品久久久久久99热软件| 久久久另类综合| 亚洲国产精品美女| 亚洲伊人一本大道中文字幕| 国产日产亚洲精品| 最近看过的日韩成人| 欧美三区视频| 欧美一区视频| 欧美精品一区二区三区蜜臀 | 欧美一区二区三区免费观看视频| 国产小视频国产精品| 亚洲欧洲一区| 国产精品久久国产三级国电话系列| 午夜精品福利在线观看| 久久中文字幕导航| 亚洲精品在线免费观看视频| 亚洲免费在线视频| 韩日精品在线| 一区二区三区四区五区精品视频| 国产精品视频在线观看| 亚洲国产精品福利| 欧美午夜女人视频在线| 久久激情中文| 国产精品v一区二区三区 | 91久久在线| 国产精品久久久久一区二区三区共 | 国产精品久久午夜| 亚洲国产美女| 国产精品国产三级国产aⅴ浪潮 | 亚洲三级毛片| 国产精品拍天天在线| 久久xxxx精品视频| 欧美日韩国语| 欧美一区二区三区视频在线观看| 欧美二区在线观看| 亚洲欧美三级伦理| 欧美激情在线播放| 午夜欧美精品| 欧美日韩网站| 久久精品夜色噜噜亚洲aⅴ| 欧美视频在线观看 亚洲欧| 亚洲第一天堂无码专区| 国产精品毛片高清在线完整版| 亚洲高清视频一区二区| 国产精品美女久久久浪潮软件 | 一本色道久久| 国产一区二区三区久久久久久久久| 99国产精品久久久久久久久久| 国产欧美va欧美va香蕉在| 99精品欧美一区二区三区| 国产有码在线一区二区视频| 亚洲一区二区三区成人在线视频精品| 经典三级久久| 性欧美videos另类喷潮| 91久久香蕉国产日韩欧美9色| 久久久欧美精品sm网站| 亚洲性人人天天夜夜摸|