新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 雙口RAM在嵌入式系統(tǒng)調(diào)試中的應(yīng)用

雙口RAM在嵌入式系統(tǒng)調(diào)試中的應(yīng)用

作者: 時間:2002-02-01 來源: 收藏

IDT7130在嵌入式

本文引用地址:http://www.butianyuan.cn/article/2926.htm

PLC

為較合理地解決目前可編程邏輯控制器(PLC)自身的軟硬件分配及其與上位機通信協(xié)調(diào)工作中存在的問題,筆者基于ISA總線自行設(shè)計了一種插卡式可編程控制器。該嵌入式PLC實質(zhì)是一個智能化I/O接口卡,CPU采用AT89C52,實驗用上位機為Pentium100。主從CPU協(xié)同工作中,要注意雙方信息交換實時性高;其次傳輸信息容量大,數(shù)據(jù)傳送要求準(zhǔn)確無誤;第三硬件設(shè)計受機箱空間限制,不能過于復(fù)雜龐大。

目前已有的主從CPU間的通信方式,或因結(jié)構(gòu)復(fù)雜,或因傳遞效率低,都不能很好地滿足本系統(tǒng)的要求,而近年來新型的雙口RAM芯片卻獨具特點:具有兩套完全獨立的數(shù)據(jù)線、地址線、讀/寫控制線,允許兩個CPU對雙端口的同一單元進行同時存??;具有兩套完全獨立的中斷邏輯來實現(xiàn)兩個CPU之間的握手控制信號;具有兩套獨立的邏輯,保證兩個CPU同時對同一單元進行讀/寫操作的正確性;兼容性強,讀/寫時序與普通單端口完全一樣,存取速度完全滿足各種CPU的要求。

IDT7130是美國IDT公司采用高性能的CMOS工藝生產(chǎn)的高速1K×8雙端口靜態(tài)RAM,典型功耗550mW,最大存取時間有25/35/55/100ns,可采用中斷、硬件、令牌、和軟件四種方式來協(xié)調(diào)信息交換雙方。該芯片運用有別于同類的中斷標(biāo)志進行總線仲裁:存儲陣列中的×3FEH×3FFH單元被用做通信郵箱,左端口向×3FFH寫入訪問的同時,右端口的中斷標(biāo)志被設(shè)置,直到右端口進行讀取×3FFH時清除,與此類似。中斷時序關(guān)系示意如圖1,其中tINStINR分別為ns級的中斷設(shè)置時間和中斷清除時間,其提供的中斷信號的有效時間可以滿足各種CPU的要求。

嵌入式PLC系統(tǒng)采用IDT7130作為與上位機共享的通信數(shù)據(jù)區(qū),如圖2所示,該器件的高集成度大大簡化了信息交換窗口的接口硬件邏輯設(shè)計,有效縮小系統(tǒng)規(guī)模和減小印制電路板面積。配合ISA總線采用中斷方式傳送信息,不僅可滿足上位機多任務(wù)控制系統(tǒng)的需要,還可提高本系統(tǒng)實時數(shù)據(jù)的處理時效。IDT7130(U6) 在上位機地址分配空間,可通過GAL16V8(U7)J2靈活選擇為0D0000000~03FF、0D8000000~03FF、0E0000000~03FF、0E8000000~03FF;在嵌入式PLC中占用地址為2000H~23FFH。在使用中斷方式中,筆者將左端信號線接上拉電阻拉至高電平,才能保證中斷信號的產(chǎn)生,同樣將兩信號也接上拉電阻,保證中斷申請能被及時清除。

 

雙口RAM在系統(tǒng)調(diào)試中的應(yīng)用

單片機系統(tǒng)的調(diào)試通常是在開發(fā)仿真系統(tǒng)上完成,后者把它的硬件(CPU)和軟件資源(被調(diào)試程序和參數(shù))暫時出借給前者,并模擬其工作環(huán)境,對其軟、硬件進行調(diào)試和修改。

嵌入式PLC屬于單片機系統(tǒng),在調(diào)試過程中沒有購買價格昂貴的仿真裝置,而是充分利用雙端口RAM IDT7130的中介作用,以及上位機操作方便、運行結(jié)果直觀的特點,通過編寫一特殊程序,將其固化在89C52的EPROM中,根據(jù)該程序中設(shè)置的標(biāo)志條件,把硬件電路和軟件模塊按照分塊、聯(lián)調(diào)的順序進行調(diào)試,具體做法結(jié)合圖3所示流程描述如下:

1)在上位機中以子程序的形式編寫好將要調(diào)試的嵌入式PLC系統(tǒng)的程序功能模塊,借助于工具軟件ASM51將其匯編為二進制(.BIN)文件。

2)在上位機執(zhí)行DEBUG命令把該二進制文件送到雙端口RAM對應(yīng)下位機地址#2100H開始的存儲單元中。

3)在下位機源程序中對#2000H和#2001H兩個存儲單元清零操作,當(dāng)程序執(zhí)行到RESET處,在這兩個存儲單元中定義了兩個程序開始運行的標(biāo)志:99H和88H,從上位機可以利用DEBUG命令對這兩個標(biāo)志進行改變,以控制嵌入式PLC中固化的程序是否繼續(xù)往下執(zhí)行;為了確認(rèn)兩個標(biāo)志被正確設(shè)置和程序往下運行的情況,在存儲單元#2002H和#2003H中同樣定義了兩個確認(rèn)標(biāo)志:99H和88H。

4)運行標(biāo)志設(shè)置正確后,執(zhí)行調(diào)用語句LCALL 2100H,使得程序指針PC指向所要調(diào)試的程序功能塊首地址處,開始調(diào)用執(zhí)行該程序功能模塊;子程序是否運行正常,并且是否返回可通過存儲單元#2002H和#2003H標(biāo)志由99H和88H變?yōu)?2H來確認(rèn)。

5)另外在硬件方面可借助輔助調(diào)試手段,使用示波器來測試P1口高四位的波形變化狀況,來判斷程序的運行情況。

6)最后返回RESET繼續(xù)判斷運行標(biāo)志調(diào)試程序。

7)結(jié)合中斷產(chǎn)生原理,在IDT7130的下位機地址2100H處裝入中斷服務(wù)程序,上位機向存儲單元#23FEH中寫1產(chǎn)生中斷,下位機轉(zhuǎn)而執(zhí)行中斷功能調(diào)試。

利用這種調(diào)試方法,可以通過上位機在雙口RAM中設(shè)置每一程序模塊的啟動和確認(rèn)標(biāo)志位,即可方便地控制單個模塊的調(diào)試或多個模塊的聯(lián)調(diào),最終實現(xiàn)系統(tǒng)的功能。

 

結(jié)語

實驗證明,本系統(tǒng)采用雙口RAM作為主從CPU的中介,是一種實用、高效的系統(tǒng)設(shè)計方法。該方法使得信息交換方便快速可靠。利用雙口RAM的共享特點,可將上下位機自身構(gòu)成一種開發(fā)裝置,簡捷有效地實現(xiàn)工程環(huán)境下的在線調(diào)試?!?/font>

系統(tǒng)中的應(yīng)用


關(guān)鍵詞: 存儲器

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉