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