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