<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > 雙口RAM在自動(dòng)化系統中的應用

雙口RAM在自動(dòng)化系統中的應用

作者: 時(shí)間:2005-08-08 來(lái)源:網(wǎng)絡(luò ) 收藏

摘要:操作中共享沖突的幾種方式進(jìn)行了討論和分析。給出了防止這些共享沖突的基本方法,同時(shí)結合其在給出了和現場(chǎng)總線(xiàn)、工業(yè)以太網(wǎng)的接口應用方案。

關(guān)鍵詞:;現場(chǎng)總線(xiàn);工業(yè)以太網(wǎng);CAN;DSP

1 引言

在現代工業(yè)測控系統中,由于對系統的功能和性能要求越來(lái)越高,一般都采用高性能的CPU(如DSP)或嵌入式系統(如386EX等?來(lái)實(shí)現測控功能,并將這些智能設備聯(lián)網(wǎng)組成。在早期的應用中,設備聯(lián)網(wǎng)普遍采用RS232/RS422/RS485方式。隨著(zhù)計算機技術(shù)的發(fā)展,現場(chǎng)總線(xiàn)技術(shù)在逐漸普遍,而采用工業(yè)以太網(wǎng)技術(shù)則是今后技術(shù)發(fā)展的一個(gè)趨勢。

測控設備的設計可以采用單CPU系統完成整個(gè)測控功能和系統聯(lián)網(wǎng)功能,這樣做的缺點(diǎn)是使整個(gè)系統的軟件設計復雜,系統適應性差,CPU負擔較重,影響系統的整體性能。另外一種做法是采用雙CPU系統,即用一個(gè)CPU完成測控功能,另一個(gè)CPU完成系統聯(lián)網(wǎng)和接口通信功能。由于雙CPU系統可按功能分開(kāi)設計,因此可簡(jiǎn)化系統軟件設計,使系統具有良好的擴展性,以便更好地應對不同的組網(wǎng)要求,提高系統的整體性能。

CPU間的通信可以采用串口、并口等方式,但它們共同的缺點(diǎn)是操作復雜、速度慢。因此,隨著(zhù)價(jià)格的不斷下降,采用雙口RAM方式在兩個(gè)CPU系統間交換數據是一個(gè)不錯的選擇。但雙口RAM有時(shí)會(huì )發(fā)生共享沖突問(wèn)題。下面討論防止共享沖突的幾種方式。

2 雙口RAM防止共享沖突的方式

一般雙口RAM都提供了兩個(gè)完全獨立的端口,每個(gè)端口都有自己的控制線(xiàn)、地址線(xiàn)和數據線(xiàn),CPU對雙口RAM端口的操作等效于對它的外部RAM進(jìn)行操作。雙口RAM在使用上要注意的問(wèn)題是如何避免兩端CPU對同一RAM單元的爭用,一般來(lái)說(shuō),雙口RAM可提供三種防沖突方式,下面結合CYPRESS公司的CY7C144進(jìn)行說(shuō)明。CY7C144是采用低功耗CMOS工藝生產(chǎn)的88k位容量、高速存?。ǎ玻埃睿螅┑碾p端口靜態(tài)RAM,它還可以用多芯片級聯(lián)來(lái)擴展字寬,其內部原理框圖如圖1所示。

2.1 插入等待狀態(tài)的防沖突方式

當左右端口同時(shí)對同一地址的RAM存儲單元進(jìn)行存取時(shí),CY7C144芯片內部的仲裁單元將會(huì )給出BUSY信號。具體來(lái)說(shuō),BUSYL、BUSYR信號的正常狀態(tài)為高電平,當左端口對一存儲單元進(jìn)行存取時(shí),若右端口也對該存儲單元進(jìn)行操作,則芯片內部的仲裁單元會(huì )使信號BUSYR為低,直到左端口操作完成后再將BUSYR恢復為高電平。設計中可以利用BUSY信號作為CPU的等待狀態(tài)輸入,并利用該信號使CPU在操作過(guò)程中插入等待狀態(tài),避免兩端同時(shí)對雙口RAM進(jìn)行操作。

2.2 信號燈防沖突方式

雙口RAM通過(guò)申請和釋放端口的信號燈(也稱(chēng)為令牌)來(lái)操作存儲單元可以避免發(fā)生沖突。一個(gè)信號燈對應相應數量的存儲單元。雙口RAM的兩端均可對信號燈進(jìn)行存取。當左端口向信號燈寫(xiě)入“0”再回讀信號燈時(shí),若信號燈也為“0”表示左端口擁有對存儲單元的控制權,否則表示右端口擁有對存儲單元的控制權。不管是否取得對存儲單元的控制權,操作完成后都應向信號燈寫(xiě)入“1”以釋放信號,從而避免資源的死鎖。

CY7C144芯片提供8個(gè)信號燈,每個(gè)信號燈的存儲單元為82k位。對信號燈進(jìn)行操作時(shí),片選信號(CEL、CER)應為高電平,信號燈使能信號(SEML、SEMR)為低電平。A0~A2表示信號燈地址,數據線(xiàn)最低位I/O0代表信號燈的值。對存儲單元存取的一般過(guò)程如圖2所示。

2.3 中斷防沖突方式

雙口RAM中最高地址的兩個(gè)存儲單元可以作為信箱使用,左右兩端可以同時(shí)對它進(jìn)行操作。其中最高地址為右端口的信箱,次高地址為左端口信箱。以CY7C144芯片為例,偏移地址1FFEH為左端口信箱,偏移地址1FFFH為右端口信箱。右端口寫(xiě)入左端口信箱1FFEH時(shí),左端口的信號INTL將變?yōu)榈?,左端口讀自己的信箱1FFEH時(shí),信號INTL將重新為高;同理,左端口寫(xiě)入右端口信箱1FFFH時(shí),右端口的信號INTR將變低,右端口讀自己的信箱1FFFH時(shí),信號INTR將重新為高??梢詫⑿盘枺桑危裕毯停桑危裕易鳛椋茫校盏闹袛嘣?,通過(guò)信箱向對方傳遞自己使用存儲單元的狀態(tài)來(lái)達到防止沖突之目的。

2.4 三種防沖突方式的比較

在上述三種方式中,插入等待狀態(tài)的方式對于高速接口來(lái)說(shuō)會(huì )影響數據的傳送速率,而且要求CPU具有插入等待狀態(tài)的功能,而有些CPU(如8031)不具備該功能。信號燈方式主要用在兩個(gè)CPU共享內存空間時(shí),如果雙口RAM主要用于兩個(gè)CPU之間交換數據,則交換的實(shí)時(shí)性很難用軟件來(lái)保證,而中斷方式則正好解決了這個(gè)問(wèn)題。

3 在自動(dòng)化系統方案

在變電站自動(dòng)化系統中,保護、測量、控制一體化的設計應用越來(lái)越廣泛,一般來(lái)說(shuō),保護測控裝置的功能在設計之后不會(huì )有太大的變化,但數據通信網(wǎng)絡(luò )受性能、價(jià)格、硬件、軟件、用戶(hù)策略等諸多因素的影響,目前在選擇何種“接口網(wǎng)絡(luò )”上有許多不同的需求,很難達成一致的選擇。因此在通信網(wǎng)絡(luò )的設計中,筆者采用了雙CPU系統,其中一個(gè)CPU完成保護測控功能,一個(gè)CPU完成網(wǎng)絡(luò )通信功能,兩個(gè)CPU之間用雙口RAM交換信息。網(wǎng)絡(luò )通信CPU以插件的形式和保護測控CPU按照統一的接口連接,網(wǎng)絡(luò )通信介質(zhì)接口也以插件的形式進(jìn)行選擇。這樣設計的最大好處是可以根據系統性能和用戶(hù)要求來(lái)選擇不同的通信CPU插件以滿(mǎn)足自動(dòng)化系統的組網(wǎng)需要,并可在通信插件上實(shí)現不同的通信協(xié)議,而保護測控功能部分不用進(jìn)行任何修改;通信介質(zhì)接口插件主要分為雙絞線(xiàn)方式和光信號方式兩種,可以根據現場(chǎng)應用需要進(jìn)行選擇。

系統CPU的組成如圖3所示,將通信CPU插件和通信介質(zhì)接口插件組合起來(lái)可滿(mǎn)足實(shí)際工程和不同用戶(hù)的需求。對保護測控CPU而言,雙口RAM被劃分為兩個(gè)區域,其中數據接收緩沖區是通信CPU插件向其發(fā)送命令和數據的區域;數據發(fā)送緩沖區是它向通信CPU插件發(fā)送數據的區域。為了保證數據交換的實(shí)時(shí)性和有效性,可采用雙口RAM的中斷方式通知對方,信號INTL和INTR可作為CPU的一個(gè)中斷輸入。數據交換時(shí),先將數據放入對應的雙口RAM存儲區,然后寫(xiě)入對方信箱,以通知對方有數據發(fā)送;接收方在相應的中斷中對數據進(jìn)行處理,同時(shí)讀自己的信箱以清除中斷信號,然后再寫(xiě)入對方信箱以告知其數據已處理完畢。

4 接口示例

根據上述設計思想,筆者選擇AD公司的AD-SP-21065作為測控CPU系統的主處理器。下面以CAN總線(xiàn)和以太網(wǎng)接口為例來(lái)介紹與雙口RAM的連接方法。

4.1 CAN總線(xiàn)通信插件

近年來(lái),現場(chǎng)總線(xiàn)標準及其應用技術(shù)日益成為國際自動(dòng)控制領(lǐng)域關(guān)注的一個(gè)焦點(diǎn)。CAN總線(xiàn)是德國Bosch公司為解決汽車(chē)中眾多數據交換問(wèn)題而開(kāi)發(fā)的一種串行數據通信協(xié)議,是目前公認的幾種最有前途的現場(chǎng)總線(xiàn)之一。它的通信介質(zhì)可以是雙絞線(xiàn)、同軸電纜和光纖,其通信速率可達1Mbps。通信CPU選擇Philips公司的P80c592,它的內核為80C51單片機,并內帶CAN控制器,可支持CAN2.0B協(xié)議。其系統組成原理圖如圖4所示。

設計時(shí),可將ADSP-21065的MS3作為讀寫(xiě)雙口RAM的片選信號,對應地址為0x03000000-0x03001fff。若將P80c592外部存儲器尋址空間的高端32kB作為雙口RAM的地址,則雙口RAM的尋址范圍為0x8000-0x9fff,它的外部中斷1可用于雙口RAM的中斷輸入。

4.2 以太網(wǎng)接口通信插件

變電站通信體系結構IEC61850協(xié)議推薦使用的傳輸網(wǎng)絡(luò )是以太網(wǎng),因此,以太網(wǎng)接口的設計具有非常重要的現實(shí)意義。由臺灣Realtek公司生產(chǎn)的RTL8019AS以太網(wǎng)控制器以其優(yōu)良的性能、低廉的價(jià)格,而在市場(chǎng)上10Mbps網(wǎng)卡中占有相當的比例,設計時(shí)筆者就選擇了該以太網(wǎng)控制器,并選用89C52單片機來(lái)控制RTL8019AS實(shí)現以太網(wǎng)接口,其系統組成原理圖如圖5所示。

圖5只給出了通信CPU與以太網(wǎng)接口芯片的連接,它和雙口RAM的連接與CAN總線(xiàn)組成原理圖基本相同,不同之處在于片選信號的譯碼。在外存地址的分配中,高端32kB作為雙口RAM和RTL8019AS的尋址空間,雙口RAM的地址范圍為0x2000-0x3fff,RTL8019AS的端口地址范圍為0x8000-0x801f。89C52的中斷0作為以太網(wǎng)接口使用,中斷1用于雙口RAM的中斷輸入。

5 總結

利用雙口RAM在CPU之間傳送數據具有傳送速率高、實(shí)時(shí)性好、可靠性高、電路簡(jiǎn)單等優(yōu)點(diǎn),而采用插件形式來(lái)構成自動(dòng)化系統的通信網(wǎng)絡(luò )使系統具有良好的適應性和擴展性,能夠很好地滿(mǎn)足用戶(hù)的需求。筆者按照這種思路設計的鐵路牽引變電所自動(dòng)化系統就充分利用了該特點(diǎn)。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>