基于PROFIBUS的智能接口芯片SPC3及其應用
關鍵詞:AT89C52;PROFIBUS;SPC3;RS-485;DP協(xié)議
1 引言
SPC3是一種可以廣泛應用于工業(yè)現(xiàn)場總線PROFIBUS-DP的智能接口芯片?,F(xiàn)場總線技術是一種實現(xiàn)現(xiàn)場級設備數(shù)字化通信的工業(yè)現(xiàn)場層網絡通信技術,它可用一條電纜將現(xiàn)場設備連接起來以完成現(xiàn)場設備控制、監(jiān)測和遠程參數(shù)化等功能。
煙草行業(yè)的數(shù)據采集與監(jiān)控系統(tǒng)的數(shù)據傳輸量大,實時性強,并要求在較短的時間內完成各種參數(shù)的設置和數(shù)據更新。如一個卷接機組生產速度每分鐘可達16000支,這樣,在高速運行過程中,機組要對生產的煙支重量、質量等進行實時在線檢測、計算判斷與控制,并采集整個機組的運行狀態(tài)、各傳感器執(zhí)行器的工作狀況以及各分控制系統(tǒng)的實時數(shù)據,要求其控制系統(tǒng)必須具有較高的實時性、精確性、可靠性。因此,在卷接機組電控系統(tǒng)的設計中,筆者采用了PROFIBUS現(xiàn)場總線技術,其總控系統(tǒng)與各分系統(tǒng)的接口芯片采用了SPC3。
2 PROFIBUS總線和SPC3芯片簡介
2.1 PROFIBUS總線
PROFIBUS-DP是歐洲首屈一指的開放式現(xiàn)場總線系統(tǒng),它的應用領域包括加工制造自動化、過程自動化和樓宇自動化。數(shù)據通訊采用標準RS-485接口,傳輸速率可達12Mbps,傳輸距離可達23.8km,而且響應時間短、抗干擾能力強。通過雙絞線或光纜進行數(shù)據傳輸,極易擴展,它不但能與執(zhí)行器、傳感器接口進行連接,也可以通過各種專用集成電路(ASIC)和接口模塊來簡化設備的連接,最多可以連接125個節(jié)點。
2.2 智能芯片SPC3
根據傳輸數(shù)據量的大小和智能化程度,SIMENS公司提供了SPC2、SPC3、LSPM2等不同種類的芯片來連接PROFIBUS-DP主站與從站。這里筆者選用SPC3來完成本系統(tǒng)的設計。SPC3(SIMENS PROFIBUS CONTROLER )集成了完整的DP協(xié)議,其中包括方式寄存器、狀態(tài)寄存器、中斷寄存器、各種緩沖器指針和緩沖區(qū)等。該芯片內部含有1.5kB的 RAM,帶有11位地址線的并行8位接口,全部存儲器分為192段,每段8個字節(jié),用戶可以立即尋址。SPC3支持所有8位處理機和微處理器。也可以自動完成“字節(jié)轉換”,這使得摩托羅拉處理器可以直接正確讀取16位值,通常讀和寫可通過兩個口(8位數(shù)據總線)來完成。
SPC3中集成有一個保護監(jiān)視定時器(WATCHDOG),應用處理器出現(xiàn)故障時,PROFIBUS-DP 通信將被禁止,這樣就不至于危及外圍設備。作為SPC3的心臟,微處理器(MICRO SEQUENCER)控制著系統(tǒng)整個工作過程。在UART中,并行數(shù)據流和串行數(shù)據流完成互換。SPC3在發(fā)送第一個字符前會產生RTS(REQUEST-TO-SEND)信號,即請求發(fā)送信號。另外,SPC3還具有自動辨識波特率(9.6k~12Mbps)的功能。
3 在ZJ19E電控系統(tǒng)中的應用
ZJ19E卷接機組電控系統(tǒng)選擇西門子公司工控機作為主站,與觸摸屏組成人機界面?采用PROFIBUS總線技術和美國Wonderware公司的In-Touch7.0工業(yè)組態(tài)軟件實現(xiàn)與重量控制系統(tǒng)、質量檢測系統(tǒng)等從站的通訊與數(shù)據交換。在每個DP從站中都有SPC3芯片及其相關的硬件電路。主站上可以設置各種參數(shù),如:機器運行速度、進料情況、煙支數(shù)量、煙支稀釋度上下限、煙支重量上下限等。從站參照這些設定值來控制機器的正常運轉;而機器動態(tài)、靜態(tài)的各種參數(shù)則由每個從站進行搜集整理并可在主站上一覽無余。中間的數(shù)據傳輸就是PROFIBUS的功勞了。每一個模塊(主、從站)的功能實施均可依靠軟件來完成。整個電控系統(tǒng)的框圖如圖1所示。
3.1 硬件設計
圖2所示是本系統(tǒng)的硬件框圖。AT89C52是采用先進的CMOS工藝制造的8位微控制器。它具有并行可編程功能的非易失性FLASH存儲器,是80C51的派生器件。該控制器具有運算速度快、兼容MCS51指令集的特點,可以閃速可編程、可擦除。它有三個16位定時/計數(shù)器。由于AT89C52內部集成有8kB Flash,因此本設計不需另外擴展ROM即可進行內部加密。
外接看門狗電路MAX705用于為微控制器提供保護,它能在單片機上電時可靠復位,并能在斷電時防止程序跑飛,從而避免SPC3中的數(shù)據被修改。另外,本系統(tǒng)也可采用手動復位,以便在調試或出現(xiàn)故障時使整套系統(tǒng)同時復位。
圖3
為了防止外界干擾對系統(tǒng)產生影響,單片機與下位機的通訊采用RS-485接口電路來進行光耦隔離。其收發(fā)接口采用HCPL2601、DHCPL7721及SN75176等進行隔離,以保證數(shù)據可靠傳輸,消除干擾。
SPC3有8根數(shù)據線和11根地址線,其中低8位地址線與數(shù)據線復用。外接不同的單片機會使SPC3一些管腳上的電平出現(xiàn)差異,其相應的意義也不同。這一點與別的接口片子有很大區(qū)別,SPC3與外接AT89C52 的連線見圖3所示。
3.2 軟件設計
SPC3的軟件設計主要包括AT89C52微控制器的軟件設計以及SPC3的初始化程序設計。通訊協(xié)議主要由上位機的客戶服務程序來完成,單片機AT89C52主要實現(xiàn)智能終端與協(xié)議識別,以及與下位機的通訊和數(shù)據轉存,同時完成下位機與雙口RAM的連接控制,保證數(shù)據轉換安全可靠的進行,避免通訊沖突。
a.單片機控制程序設計
單片機的控制程序由三部分組成:初始化部分用于完成單片機和所有外圍電路的初始化以及終端和協(xié)議的識別;主循環(huán)部分用于讀寫雙口RAM,同時對上位機進行檢查和計算以完成數(shù)據采集,進而實現(xiàn)數(shù)據的轉存和交換;而中斷服務程序則完成相應的中斷處理并執(zhí)行雙口RAM的共同協(xié)議。
SPC3內部含有1.5kB的RAM(即000H―5FFH),利用外接單片機可以確定該RAM的確切地址。同時,根據SPC3產生的中斷,單片機還可對SPC3接收到的主站輸出數(shù)據進行轉存,以便從站讀取,此外也可以處理從站通過SPC3發(fā)給主站的數(shù)據等。SPC3實質上是主站與從站間的“通訊站”,即就是將主站發(fā)來的數(shù)據包解開送給從站,并將從站送來的數(shù)據打包給主站。詳見圖4的程序框圖(其中“輸入、輸出”是相對主站而言的)。
SPC3的初始化程序包括設置SPC3允許的中斷、寫入從站號碼和地址、設置SPC3中的各種寄存器和緩沖器等;而中斷程序主要處理PRM報文、CFG報文、SSA報文。由于這些報文來自主站,所以,SPC3的初始化需要主站的支持才能進行。不同的主站有不同的數(shù)據存取空間,因而分到每個從站的數(shù)據量也不同。這樣,在初始化SPC3時,配置的數(shù)據字節(jié)數(shù)也將相應改變。只有每個從站地址在同一個系統(tǒng)中是唯一的,主站與每一個從站才能準確無誤地通訊。
b. 上位機程序簡介
上位機的管理軟件主要通過客戶服務程序來完成協(xié)議轉換和存儲,以及數(shù)據的分析和顯示。單片機上傳的數(shù)據信息經過相應的協(xié)議校驗確認后,可用來完成各種參數(shù)的設置和數(shù)據的交換。在對傳輸數(shù)據進行識別時,單片機首先接收上位機客戶服務程序軟件下傳的校驗和,在經過確認是協(xié)議識別指令后,再上傳一個表示就緒的狀態(tài)幀,然后接收識別用的數(shù)據幀。在經過檢驗后,如果確認數(shù)據幀有錯,那么,系統(tǒng)將返回相應的狀態(tài)幀并等待上位機重新發(fā)送數(shù)據,而如果數(shù)據正確,則返回狀態(tài)幀,然后開始對終端單元進行識別。
由于每個PROFIBUS 總線上的主站、從站完全有可能是不同廠商的產品,因此,在組建系統(tǒng)時需要有設備描述文件,即GSD文件。GSD文件是用特定格式描述現(xiàn)場設備技術參數(shù)的ASCII文件,它是在專門軟件環(huán)境下編輯生成的,詳情可參見參考文獻。使用根據GSD文件生成的組態(tài)工具可以將不同廠商的設備集成在同一總線系統(tǒng)中。這就是智能型芯片正常工作的“環(huán)境”。一旦對含有SPC3的DP 從站生成GSD文件,就相當于該從站持有了一個通用“身份證”,這樣,這個從站就可以在任何DP主站下組建總線系統(tǒng)了。
4 結束語
本文詳盡地敘述了基于AT89C52的智能芯片SPC3的設計使用方法,由于AT89C52沒有外擴ROM和RAM,而將程序直接放在其內部閃存中,因此,該方法具有外圍電路簡單、與處理器并口兼容性好、時序控制簡單易懂、可靠性和性價比都比較高等優(yōu)點。但應注意:SPC3的初始化是一個難點,也是一個比較重要的環(huán)節(jié)。
評論