基于C167的PROFlBUS-DP智能從站的設(shè)計(jì)
摘要:設(shè)計(jì)了基于C167的PROFIBUS-DP總線協(xié)議的智能從站。依據(jù)系統(tǒng)所要實(shí)現(xiàn)的功能,提出了使用PRO-FIBUS-DP協(xié)議智能接口芯片SPC3和軟件的實(shí)現(xiàn)方案。以C167與SPC3為核心設(shè)計(jì)了其軟硬件系統(tǒng),經(jīng)調(diào)試滿足了設(shè)計(jì)要求,目前已在實(shí)際工程中得到應(yīng)用。
關(guān)鍵詞:PROFIBUS-DP;智能從站;C167;SPC3
現(xiàn)場總線控制系統(tǒng)已逐漸發(fā)展成為繼集散控制系統(tǒng)之后的新一代控制系統(tǒng),在眾多的現(xiàn)場總線標(biāo)準(zhǔn)中,過程現(xiàn)場總線(PROFIBUS)標(biāo)準(zhǔn)以其國際化、開放式、不依賴設(shè)備生產(chǎn)商的種種優(yōu)勢,成為當(dāng)前爭相研究的對(duì)象。
PROFIBUS廣泛適用于制造業(yè)自動(dòng)化、流程工業(yè)自動(dòng)化和樓宇、交通電力等領(lǐng)域的自動(dòng)化,是一種用于工廠自動(dòng)化車間級(jí)監(jiān)控和現(xiàn)場設(shè)備層數(shù)據(jù)通信與控制的現(xiàn)場總線技術(shù)??蓪?shí)現(xiàn)現(xiàn)場設(shè)備層到車間級(jí)監(jiān)控的分散式數(shù)字控制和現(xiàn)場通信網(wǎng)絡(luò),從而為實(shí)現(xiàn)工廠綜合自動(dòng)化和現(xiàn)場設(shè)備智能化提供了可行的解決方案。
與其它現(xiàn)場總線系統(tǒng)相比,PROFIBUS的優(yōu)勢在于具有穩(wěn)定的國際標(biāo)準(zhǔn)EN50170作保證,并經(jīng)實(shí)際應(yīng)用驗(yàn)證其具有普遍性。目前已應(yīng)用的領(lǐng)域包括加工制造、過程控制和自動(dòng)化等。PROFIBUS-DP是開放的,與制造商無關(guān),無知識(shí)產(chǎn)權(quán)保護(hù)的標(biāo)準(zhǔn)。任何人都可以獲得這個(gè)標(biāo)準(zhǔn)并設(shè)計(jì)各自的軟硬件方案。原則上,PROFIBUS-DP協(xié)議在任何微處理機(jī)器上都可以實(shí)現(xiàn),在微處理器內(nèi)部或外部安裝串行通信接口即可完成。利用PROFIBUS-DP模型中的服務(wù)訪問點(diǎn),通過單片機(jī)編程來實(shí)現(xiàn)PROFIBUS-DP的狀態(tài)機(jī)制。
PROFIBUS協(xié)議結(jié)構(gòu)是根據(jù)IS07498國際標(biāo)準(zhǔn),以開放式系統(tǒng)互聯(lián)網(wǎng)絡(luò)(Open System Interconnection-OSI)作為參考模型的。該模型共有7層,文中所探討的PROFIBUS-DP系統(tǒng)定義了第1,2層和用戶接口。使用單片機(jī)C167和智能通訊芯片SPC3設(shè)計(jì)了PROFIBUS-DP智能從站的硬件電路及其控制軟件,該系統(tǒng)即將在西北電網(wǎng)與華北電網(wǎng)聯(lián)網(wǎng)的靈寶背靠背直流工程中投入使用。
1 PROFIBUS-DP系統(tǒng)配置和設(shè)備類型
PROFIBUS-DP允許構(gòu)成單主站或多主站系統(tǒng)。在同一總線上最多可連接126個(gè)站點(diǎn)。系統(tǒng)配置的描述包括:站數(shù)、站地址、輸入/輸出地址、輸入/輸出數(shù)據(jù)格式、診斷信息格式及所使用的總線參數(shù)。每個(gè)PROFIBUS-DP系統(tǒng)可包括以下幾種不同類型設(shè)備:
(1)一級(jí)DP主站(DPM1):一級(jí)DP主站是中央控制器,它在預(yù)定的信息周期內(nèi)與分散的站(如DP從站)交換信息,典型的DPM1如PLC或PC;
(2)二級(jí)DP主站(DPM2):二級(jí)DP主站是編程器、組態(tài)設(shè)備或操作面板,在DP系統(tǒng)組態(tài)操作時(shí)使用,完成系統(tǒng)操作和監(jiān)視目的;
(3)DP從站:DP從站是進(jìn)行輸入和輸出信息采集和發(fā)送的外圍設(shè)備(I/O設(shè)備、驅(qū)動(dòng)器、HMI、閥門等);
(4)單主站系統(tǒng):在總線系統(tǒng)的運(yùn)行階段,只有一個(gè)活動(dòng)主站;
(5)多主站系統(tǒng):總線上連有多個(gè)主站。這些主站與各自從站構(gòu)成相互獨(dú)立的子系統(tǒng)。每個(gè)子系統(tǒng)包括一個(gè)DPM1、指定的若干從站及可能的DPM2設(shè)備。
任何一個(gè)主站均可讀取DP從站的輸入/輸出映象,但只有一個(gè)DP主站允許對(duì)DP從站寫入數(shù)據(jù)。
DPM1和相關(guān)DP從站之間的用戶數(shù)據(jù)傳輸是由DPM1按照確定的遞歸順序自動(dòng)進(jìn)行。在對(duì)總線系統(tǒng)進(jìn)行組態(tài)時(shí),用戶對(duì)DP從站與DPM1的關(guān)系作出規(guī)定,確定哪些DP從站被納入信息交換的循環(huán)周期,哪些被排斥在外。
DPM1和DP從站間的數(shù)據(jù)傳送分3個(gè)階段:參數(shù)設(shè)定、組態(tài)、數(shù)據(jù)交換。在參數(shù)設(shè)定階段,每個(gè)從站將自己的實(shí)際組態(tài)數(shù)據(jù)與從DPM1接收到的組態(tài)數(shù)據(jù)進(jìn)行比較。只有當(dāng)實(shí)際數(shù)據(jù)與所需的組態(tài)數(shù)據(jù)相匹配時(shí),DP從站才進(jìn)入用戶數(shù)據(jù)傳輸階段。因此,設(shè)備類型、數(shù)據(jù)格式、長度以及輸入輸出數(shù)量必須與實(shí)際組態(tài)一致。
2 電路主要器件介紹
從站的硬件電路采用西門子C167單片機(jī)和智能通訊芯片SPC3。
2.1 C167微控制芯片
C167SR是西門子C16X系列第二代CMOS微處理器。它兼容16位CPU的高性能(高達(dá)1 000萬條指令每秒),并具有智能外圍設(shè)備擴(kuò)展功能。它的主要優(yōu)點(diǎn)體現(xiàn)在:增強(qiáng)了IO口的應(yīng)用,提供了附加的內(nèi)部高速RAM,CAN總線控制器和鎖相環(huán)PLL等功能;繼承了RISC處理器的優(yōu)點(diǎn),而克服了CISC處理器在嵌入式應(yīng)用中的瓶頸;在指令處理上,采用4級(jí)指令流水線管道結(jié)構(gòu);在存儲(chǔ)管理上,統(tǒng)一線性地址空間可達(dá)16 MB,具有段代碼、頁數(shù)據(jù)式管理機(jī)制;采用寄存器池,池間的切換時(shí)間只要80 ns;16位乘法400 ns,32位除法800 ns,中斷響應(yīng)時(shí)間最長400 ns;外部事件控制器PEC服務(wù)具有類似DMA的功能,可實(shí)現(xiàn)存儲(chǔ)器與外設(shè)之間的高速數(shù)據(jù)傳輸;豐富的在片外設(shè):2 kB RAM、10路A/D、111路I/O、5個(gè)定時(shí)器/計(jì)數(shù)器、16個(gè)比較/捕獲單元、2個(gè)串行通信接口、在片的Watchdog等。
CPU的內(nèi)核是由一個(gè)4級(jí)流水線指令管道,一個(gè)16位的算術(shù)邏輯單元以及指示作用的SFR構(gòu)成。另外還專有做乘法,除法運(yùn)算的硬件單元,一個(gè)位屏蔽器,一個(gè)移位器。基于這些硬件保證,大多數(shù)C167的指令在20 MHz時(shí)鐘頻率下,只需要1個(gè)時(shí)鐘周期,也就是100 ns就能完成。例如,移位和循環(huán)指令通常只要一個(gè)時(shí)鐘周期,而和移位的數(shù)目沒關(guān)系。被優(yōu)化的乘除法指令使得執(zhí)行速度快了很多,它分成了2個(gè)部分:16×16位的乘法需要5個(gè)周期,32/16位的除法需要10個(gè)周期。另一個(gè)管道優(yōu)化,即所謂的跳緩存,它將重復(fù)的循環(huán)跳轉(zhuǎn)指令周期由2個(gè)減到1個(gè)。CPU可以對(duì)位于片上RAM的特殊寄存器進(jìn)行16位的直接處理。CPU每訪問一次寄存器組,其基址由索引指針寄存器指定。寄存器組數(shù)目僅僅受限于內(nèi)部RAM的可用空間。對(duì)于簡單的參數(shù)傳遞,一組寄存器可能會(huì)覆蓋其它數(shù)據(jù)。最高達(dá)2 kB的系統(tǒng)堆棧用來存儲(chǔ)臨時(shí)數(shù)據(jù)。此堆棧也是位于片上RAM,CPU對(duì)其通過堆棧指針寄存器進(jìn)行訪問。兩個(gè)獨(dú)立的特殊功能寄存器,STKOV以及STKUN,通過比較堆棧內(nèi)的值來檢測被訪問的堆棧是否上溢和下溢,其基本功能模塊,如圖l所示。
評(píng)論