基于共享存儲器的多處理機并行快速通信
3 軟件設(shè)計
定義2個IDT7134的存儲區(qū):unsignedcharxdata*xRAM1=0x0000和unsigned char xdata*xRAM2=0x0800,既是把IDT7134的4096個地址平分,分別作為CPU1存儲,CPU2讀取的存儲專區(qū)1;后者作為CPU2存取,CPU1讀取的專區(qū)2。在每一個專區(qū),只允許專有的動作,其他的操作視作非法操作。
接下來第二步是設(shè)定標志位。對CPU1,CPU2的操作分別設(shè)定3個相應(yīng)的標志位:CPU1有cpu1_updata_flag(為0時表示存儲專區(qū)1未更新,不必讀??;為1時表示存儲專區(qū)1已更新,可以讀取);cpu1_writing_flag(為0時表示未對該存儲專區(qū)1寫入操作,可以在數(shù)據(jù)有更新的情況下對該數(shù)據(jù)區(qū)進行讀取;為1時表示正對該數(shù)據(jù)區(qū)進行寫操作,禁止讀取);cpu1_reading_flag(為0時表示未對存儲專區(qū)2進行讀操作,如果存儲專區(qū)2的數(shù)據(jù)未更新,則CPU2可以對其進行寫入操作)。同理,CPU2也有相應(yīng)的3個標志:cpu2_updata_flag,cpu2_writing_flag,cpu2_ rading_flag,并具有類似的含義。
系統(tǒng)上電后,先自檢,一切正常后,復(fù)位。復(fù)位后,所有的標志位置為0,然后進行相應(yīng)的數(shù)據(jù)傳輸。CPU1和CPU2相應(yīng)的工作流程如圖5所示。本文引用地址:http://2s4d.com/article/155979.htm
4 結(jié)束語
本并行通信采用IDT7134雙口RAM,實驗表明具有功率損耗小,傳輸速率高,實時性好,可靠性高。該系統(tǒng)可廣泛應(yīng)用在數(shù)據(jù)采集、多機通信系統(tǒng)中,并對其他的嵌入式系統(tǒng)有一定的借鑒作用。
根據(jù)目前的實踐情況來看,下一步是把雙口RAM應(yīng)用在多處理機中,為此需要解決多處理機的地址爭用問題,需要提出更優(yōu)良的算法以實現(xiàn)有效性和實時性。
評論