PROFIBUS—DP智能從站的研究設(shè)計(jì)
現(xiàn)場(chǎng)總線技術(shù)是實(shí)現(xiàn)現(xiàn)場(chǎng)級(jí)設(shè)備數(shù)字的工業(yè)現(xiàn)場(chǎng)層網(wǎng)絡(luò)通信技術(shù),它具有較強(qiáng)的現(xiàn)場(chǎng)信息集成能力,組成的系統(tǒng)可靠性高、可維護(hù)性好,而且總線協(xié)議是開(kāi)放的。PROFIBUS現(xiàn)場(chǎng)總線是一種國(guó)際化的、開(kāi)放的、不依賴(lài)于設(shè)備生產(chǎn)商的現(xiàn)場(chǎng)總線標(biāo)準(zhǔn)。它廣泛適用于制造業(yè)自動(dòng)化、流程工業(yè)自動(dòng)化和樓宇、交通、電力等其他領(lǐng)域自動(dòng)化。PROFIBUS由三個(gè)兼容部分組成:PROFIBUSFMS、PROFIBUSDP、PROFIBUSPA。DP主要用于現(xiàn)場(chǎng)級(jí)的高速數(shù)據(jù)傳輸(9.6kbit/S~12Mbit/s),解決自動(dòng)控制系統(tǒng)通過(guò)高速串行總線與分散的現(xiàn)場(chǎng)設(shè)備之間的通信任務(wù),傳輸技術(shù)主要用RS485,PROFIBUS-DP的通信任務(wù)是由一些固定服務(wù)(SAP)來(lái)完成的。DP從站能夠接PROFIBUS的PLC或PC主站的控制數(shù)據(jù),構(gòu)成一個(gè)數(shù)字化、智能雙向、多點(diǎn)的現(xiàn)場(chǎng)總線通信網(wǎng)絡(luò),實(shí)現(xiàn)最優(yōu)控制;而且DP智能從站執(zhí)行器具有可靠性高、性?xún)r(jià)比高等特點(diǎn),因此開(kāi)發(fā)智能化DP從站具有巨大的前景。
1 SPC3的基本特性
SPC3是SIEMENS公司開(kāi)發(fā)的一種用于PROFIBUS-DP智能從站的專(zhuān)用芯片,集成了(RS-485)物理層、現(xiàn)場(chǎng)總線數(shù)據(jù)鏈路層、DP從站用戶(hù)接口以及部分現(xiàn)場(chǎng)總線管理(FMA),與其相連的MCU或MPU只需少量的軟件工作即可實(shí)現(xiàn)PROFIBUS-DP智能從站通信功能。
SPC3的內(nèi)部結(jié)構(gòu)如圖1所示。
SPC3的控制核心是微序列器(MS,micmxequencer),它控制整個(gè)SPC3的工作過(guò)程。在芯片進(jìn)入通信工作以前,需要外接CPU對(duì)參數(shù)寄存器、方式寄存器等進(jìn)行必要的參數(shù)設(shè)置。SPC3還集成有雙端口RAM,可以與外部直接交換數(shù)據(jù)。SPC3為外部訪問(wèn)提供了兩種模式:地址數(shù)據(jù)總線復(fù)用模式和地址數(shù)據(jù)總線非復(fù)用模式。SPC3自動(dòng)建立PROFIBUS-DP通信的服務(wù)存取點(diǎn)(SAP),不同報(bào)文數(shù)據(jù)對(duì)應(yīng)不同的緩沖。DP輸入數(shù)據(jù)、DP輸出數(shù)據(jù)都具有三級(jí)緩沖,其中總有一級(jí)緩沖面向通信。診斷數(shù)據(jù)有二級(jí)緩沖,其中一級(jí)緩沖始終用于存放更新的診斷數(shù)據(jù)。
SPC3支持多個(gè)中斷,具有中斷屏蔽和中斷指示功能,多個(gè)中斷使用統(tǒng)一外部輸出。SPC3具有內(nèi)部集成的看門(mén)狗定時(shí)器,其操作于三種不同的狀態(tài):比特率搜尋、比特率控制和DP控制。SPC3的UART接口能夠自動(dòng)識(shí)別總線的比特率(9.6kb/s~12Mb/s)。在任意時(shí)刻都可以通過(guò)查看SPC3狀態(tài)寄存器知道MAC狀態(tài)。SPC3的空閑定時(shí)器直接控制總
線時(shí)間。
2 微處理器與SPC3之間的接口設(shè)計(jì)
2.1 硬件設(shè)計(jì)
CPU使用AT89S.52,它是采用先進(jìn)的CMOS工藝制造的8位微控制器。它具有并行可編程功能的非易失性FLASH存儲(chǔ)器,是80C51的派生器件。該控制器具有運(yùn)算速度快、兼容MCS5l指令集的特點(diǎn),可以閃速可編程、可擦除。它有三個(gè)16位定時(shí)/計(jì)數(shù)器。由于AT89C52內(nèi)部集成有8kB的Flash,因此本設(shè)計(jì)不需另外擴(kuò)展ROM即可進(jìn)行內(nèi)部加密。CPU與SPC3的接口電路如圖2所示。對(duì)AT89S52而言,SPC3相當(dāng)于它擴(kuò)展的一個(gè)外部RAM。而且,SPC3有內(nèi)部地址解碼電路。所以,AB8~ABl0接地。此時(shí)D137一DB0是數(shù)據(jù)地址復(fù)用總線??梢援a(chǎn)生低8位的數(shù)據(jù)和地址,高4位地址由AB0~AB3產(chǎn)生,AB4~AB7產(chǎn)生SPC3的片選信號(hào)。只有AB4~AB7同時(shí)為0時(shí)才選中SPC3。在圖2中,SPC3的片選信號(hào)是1000H,SPC3的內(nèi)部RAM位于1000H~15FFH單元。
外接看門(mén)狗電路MAX705用于為微控制器提供保護(hù),它能在單片機(jī)上電時(shí)可靠復(fù)位,并能在斷電時(shí)防止程序跑飛,從而避免SIKB中的數(shù)據(jù)被修改。另外,本系統(tǒng)也可采用手動(dòng)復(fù)位,以便在調(diào)試或出現(xiàn)故障時(shí)使整套系統(tǒng)同時(shí)復(fù)位。為了防止外界干擾對(duì)系統(tǒng)產(chǎn)生影響,單片機(jī)與下位機(jī)的通訊采用RS-485接口電路來(lái)進(jìn)行光耦隔離。其收發(fā)接口采用HCPL260l、DHCPL772l及SN75176等進(jìn)行隔離,以保證數(shù)據(jù)可靠傳輸,消除干擾。
2.2 軟件設(shè)計(jì)
對(duì)SPC3的軟件操作主要包括兩個(gè)部分:SPC3的初始化和SPC3的中斷處理。流程框圖如圖3。
SPC3的初始化程序應(yīng)放在主程序的前面,而中斷處理程序完成CPU對(duì)SPC3中斷輸出的響應(yīng)。SPC3上電復(fù)位之后。在正常工作之前必須進(jìn)行初始化,以配置各個(gè)寄存器。中斷處理程序用于處理SPC3發(fā)生的各種事件,這些事件包括:新的參數(shù)報(bào)文事件、全局控制命令報(bào)文事件、進(jìn)入或退出數(shù)據(jù)交換狀態(tài)事件、新的配置報(bào)文事件、新的地址設(shè)置報(bào)文事件、監(jiān)測(cè)到波特率事件和看門(mén)狗溢出事件。數(shù)據(jù)輸入和輸出處理(輸入輸出相對(duì)于主站而言)及用戶(hù)診斷數(shù)據(jù)輸入可以放在應(yīng)用程序主循環(huán)中。在一個(gè)應(yīng)用循環(huán)中,由應(yīng)用來(lái)刷新輸入BuF中的數(shù)據(jù)。保障所有輸入數(shù)據(jù)是最新的更新數(shù)據(jù)。而SPC3在接收到由Profibus主站傳送的不同輸出數(shù)據(jù)時(shí),會(huì)產(chǎn)生輸出標(biāo)志位(同樣位于中斷請(qǐng)求字單元),CPU通過(guò)在應(yīng)用循環(huán)中輪詢(xún)標(biāo)志位來(lái)進(jìn)行接收主站數(shù)據(jù)。對(duì)于特定應(yīng)用的診斷信息,需要實(shí)時(shí)傳遞到主站。主應(yīng)用程序在應(yīng)用循環(huán)中判斷是否有可用的診斷BUF存在,當(dāng)有空閑BUF時(shí),應(yīng)用程序輸入診斷信息,并請(qǐng)求更新。對(duì)于實(shí)時(shí)性要求嚴(yán)格的系統(tǒng),應(yīng)采用中斷方式進(jìn)行輸出數(shù)據(jù)和診斷數(shù)據(jù)處理。
3 設(shè)備數(shù)據(jù)庫(kù)文件(GSD)
所謂GSD就是為了將不同的Profibus產(chǎn)品集成在一起而以電子設(shè)備數(shù)據(jù)庫(kù)文件方式提供的功能函數(shù)(如I/0點(diǎn)數(shù)診斷信息、波特率、時(shí)間監(jiān)視等)。只有GSD文件在COMPROFIBUS組態(tài)軟件下才能對(duì)從站組態(tài),否則主站無(wú)法識(shí)別從站。
3.1 GSD文件可以分為三個(gè)部分
1)一般規(guī)范。這部分包括生產(chǎn)廠商和設(shè)備的名稱(chēng),硬件和軟件的版本狀況,支持的波特率一可能的監(jiān)視時(shí)間問(wèn)隔以及總線插頭的信號(hào)分配;
2)與DP主站有關(guān)的規(guī)范。這部分包括只運(yùn)用于DP主站的各項(xiàng)參數(shù)(如連接從站的最多臺(tái)數(shù)或上裝和下裝能力)。這一部分對(duì)從站沒(méi)有規(guī)定;
3)與DP從站有關(guān)的規(guī)范。這部分包括與從站有關(guān)的一切規(guī)范(如輸入/輸出通道的數(shù)量和類(lèi)型、中斷測(cè)試的規(guī)范以及輸入/輸出數(shù)據(jù)一致性的信息)。
3.2 GSD文件格式
GSD文件是一個(gè)普通的ASCII文本文件。可以用任何一種ASCII編輯囂編寫(xiě),如計(jì)事本、UltraFMit等,也可使用Profibus用戶(hù)組織提供的編輯程序GSDEdit。但是其格式有嚴(yán)格的規(guī)定。GSD文件對(duì)每一種類(lèi)型的設(shè)備用一個(gè)確切定義的格式做全面的描述。GSD數(shù)據(jù)庫(kù)文件由生產(chǎn)廠家編寫(xiě)。具體的標(biāo)準(zhǔn)可以參照PROFIBUS-DP規(guī)范。
4 結(jié)論
本文詳盡地?cái)⑹隽嘶贏T89C52的智能芯片SPC3的設(shè)計(jì)使用方法,由于A189C52沒(méi)有外擴(kuò)ROM和RAM,而將程序直接放在其內(nèi)部閃存中,因此,該方法具有外圍電路簡(jiǎn)單、與處理器并口兼容性好、時(shí)序控制簡(jiǎn)單易懂、可靠性和性?xún)r(jià)比都比較高等優(yōu)點(diǎn)。
評(píng)論