<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設計應用 > 采用SPC3協(xié)議芯片設計PROFIBUS-DP智能從站

          采用SPC3協(xié)議芯片設計PROFIBUS-DP智能從站

          作者: 時間:2006-05-10 來源:網(wǎng)絡 收藏

          引言
          國際電工委員會IEC在2000年1月4日投票通過了現(xiàn)場總線IEC61158國際標準,IEC61158包括了7種現(xiàn)場總線標準,PROFIBUS作為類型3正式加入IEC61158。PROFIRUS的結構是以ISO7498國際標準開放式系統(tǒng)互連網(wǎng)絡參考模型OSI為基礎的。
          PRO FIBUS由二三部分組成:PROFIBUSFMS、PROFIBus-DP和PROFIBUS―PA。FMS主要用于車間級控制網(wǎng)絡,是一種令牌結構和實時多主網(wǎng)絡,DP是一種高速的低成本通信連接,用于設備級控制系統(tǒng)與分散式通信;PA是專為過程化而的,具有本征安全規(guī)范。在這里,主要介紹(Distributed Process)。 PROFIBUS―DP使用了0SI參考模型的第一層、第二層和用戶接口,第三層到第七層未定義。PROFIBUS―DP主要應用于傳感器和執(zhí)行器級的高速數(shù)據(jù)傳輸.它以DlN 19245的第一部分為基礎,主站周期性地讀取的輸入信息并周期地向發(fā)送輸出信息。它的響應時何從幾百μ s~幾百m s,數(shù)據(jù)傳輸速率為9 6 k b p s~12Mbps,傳輸?shù)臄?shù)據(jù)容量為每個報文多達244字節(jié).傳輸介質為屏蔽雙絞線或光纖等。
          本文主要討論slemens的開發(fā)從站的方法.從站的框圖如圖l所示。其中包括微控制器、看門狗及EEPROM、、光電隔離、驅動器和撥碼開關等。



          1 協(xié)議專用
          1.1 主要技術指標

          ◇支持PROFIBUS―DP協(xié)議;
          ◇最大數(shù)據(jù)傳輸速率12Mbps,可自動檢測并調整數(shù) 據(jù)傳輸速率;
          ◇與80c32、80X86、80C165、80C166、80C167和HCII、HCl6、HC916系列兼容;
          ◇44引腳的PQFP封裝;
          ◇可獨立處理PROFIBUS―DP通信協(xié)議.
          ◇集成的看門狗(WDT).
          ◇外部時鐘接口24MHz或48MHz;
          ◇5V直流供電。
          1.2 SPC3內部結構介紹
          SPC3是用于從站開發(fā)的逋信芯片.它支持協(xié)議。SPC3內部集成了1.5KB的雙口RAM。內部鎖存囂/寄存器位于前21個地址單元。主要包括方式寄存器l、0.中斷控制寄存器.狀態(tài)寄存器以及輸入、輸出緩沖器和診斷緩沖器各宦的狀態(tài)寄存器。
          組織參數(shù)位于RAM中從1 6H開始的單元。整個緩沖器結構(屬于DP―sAPs)就是基于這些參數(shù)來寫的。此外,普通參數(shù)在這些單元設置數(shù)據(jù)(包括站地址、地址允許改變、用戶看門狗值和設備標識號等).狀態(tài)顯示存儲在這些單元(通用控制命令等)。
          用戶緩沖器區(qū)域位于從40H開始的單元。其中,方式寄存器O設置PROFlBUS―DP的操作方式,如SYNC、FREEZE等。方式寄存器0必須在離線狀態(tài)進行賦值,一旦上電,就不能修改。方式寄存器1在上電后可對每個位進行置位和復位。
          SPC3有1 4個中斷源.各個中斷源沒有優(yōu)先級-而是通過中斷屏蔽寄存器和中斷響應寄存器來實現(xiàn)中斷的。但“新參數(shù)數(shù)據(jù)“中斷和“新配置數(shù)據(jù)”中斷可以不用中斷響應寄存器響應。中斷信號的極性由用戶設定。
          診斷分為外部診斷和狀態(tài)診斷。若是外部診斷,用戶必須在從第7字節(jié)開始的單元中寫入用戶數(shù)據(jù)。若是狀態(tài)診斷,則只需在第l字節(jié)寫入00H.而不必填寫從第7字節(jié)開始的用戶數(shù)據(jù)。
          從站地址號可以是固定的,也可以由主站設置。若設站地址號不能改變,則在初始化階段,令“Real―No―Add―change=0FFH" "R-SSA BUF-PTR=00H”。
          用戶看門狗計數(shù)器是l 6位的內部存儲器單元, 初始值由R user Wd_Value單元給定。每接收1個數(shù)據(jù)報文,計數(shù)器減l。當減到0000H時,SPC3就進入“等待參數(shù)化”狀態(tài),DP狀態(tài)機執(zhí)行“離開主站”命令。
          另外SPC3內部還集成了1個看門狗計數(shù)器.可工作于3種不同的狀態(tài) 波特率監(jiān)測、波特率控制和DP控制。SPC3能自動標識總線波特率(9.6kbps~12Mbps)。
          1.3 SPC3硬件電路
          CPU使用AT89S52,的是INTEL工作方式,CPU與SPC3的接口電路如圖2所示。對AT89S52而言,SPC3相當于它擴展的一個外部RAM。而且,SPC3有內部地址解碼電路.所以,AB8~AB10接地。此時DB7~DB0是數(shù)據(jù)地址復用總線.可以產生低8位的數(shù)據(jù)和地址,高4位地址由AB0~AB3產生,AB4~AB7產生SPC3的片選信號.只有AB4~AB7同時為0時才選中SPC3。在圖2中,SPC3的片選信號是1000H,SPC3的內部RAM位于1000H~l5FFH單元。本從站的開發(fā)的是匯編語言編程.占用的內存單元少,不需擴展外部RAM。如果使用C語言編程,則必須擴展足夠的RAM或者使用帶有足夠RAM的CPU。


          從圖2中可以看出,RS485總線驅動器一側與9針D型插鷹相連。另一側通過光耦與SPC3相連。目前,能滿足12M bp s波特率的驅動芯片有sN 6 5AL S1 7 6、SN65ALSI 176、SN75ASLl76、ADMl一485、SN65HVDl 176等,采用光電隔離主要是為了消除來自外界的干擾,能滿足12Mbps波特率的光耦有HCPL7 720、HCPL0720HCPL772l、HCPL072l、HCPL7710等。另外要求電源也要采取隔離措施.如加變壓器隔離或采用DC―DC模塊。

          2 PROFIBUS―DP的狀態(tài)機
          根據(jù)PROFIBUS―DP協(xié)議可知,PROFIBUS―DP的狀態(tài)機描述DP從站在每種情況下的行為以保證它符合一致性.SPC3內部集成了狀態(tài)機.用戶對狀態(tài)機的控制是很有限的。PROFIBUS―DP的狀態(tài)機如圖3所示


          在Power_On狀態(tài),從站能從2類主站接收Set Slave-Add報文來改變它的地址,然后從站進入Wail_P rm狀態(tài),等待參數(shù)化.此狀態(tài)從站還可以接收Get_Cfg和Slave_Dlag報文。參數(shù)化完成后.從站進人wait_Cfg狀態(tài),等待Chk_Cfg報文.另外還可以接收Slave_Diag、Set_Prm和Get_Cfg報文。如果Chk_Cfg完成后,從站將進入Data_Exch狀態(tài).進行數(shù)據(jù)通信。此時從站還可接收Writing_Outputs、Reading_lnputs、Global_Control、Slave Diag、Chk_Diag和Get_Cfg報文,若組態(tài)和數(shù)據(jù)交換不成功.就會返回到參數(shù)化階段。Wait_Prm在對從站進行組態(tài)時,必須要編寫它的GSD文件.所謂GSD就是為了將不同的PROFIBUS產品集成在一起而以電子設備數(shù)據(jù)庫文件方式提供的功能函數(shù)(如I/O點數(shù)、診斷信息、波特率、時間監(jiān)視等)。只有GSD文件在COMPROFlBUS組態(tài)軟件下才能對從站組態(tài),否則主站無法識別從站。

          3 軟件
          對SPC3的軟件操作主要包括兩個部分:SPC3的初始化和SPC3的中斷處理。主程序和中斷程序流程圖分別如圖4和圖5所示。



          SPC3的初始化程序應放在主程序的前面,而中斷處理程序完成CPU對SPC3中斷輸出的響應。 SPC3上電復位之后.在正常工作之前必須進行初始化,以配置各個寄存器。中斷處理程序用于處理SPC3發(fā)生的各種事件,這些事件包括 新的參數(shù)報文事件:全局控制命令報文事件.進入或退出數(shù)據(jù)交換狀態(tài)事件,新的配置報文事件:新的地址設置報文事件;監(jiān)測到波特率事件和看門狗溢出事件。數(shù)據(jù)輸入和輸出處理(輸入輸出相對于主站而言)及用戶診斷數(shù)據(jù)輸入可以放在應用程序主循環(huán)中。在一個應用循環(huán)申,由應用來刷新輸入BUF中的數(shù)據(jù).保障所有輸入數(shù)據(jù)是最新的更新數(shù)據(jù)。而SPC3在接收到由PROFIBUS主站傳送的不同輸出數(shù)據(jù)時.會產生輸出標志位(同樣位于中斷請求字單元),CPU通過在應用循環(huán)中輪詢標志位來進行接收主站數(shù)據(jù)。對于特定應用的診斷信息.需要實時傳遞到主站。主應用程序在應用循環(huán)中判斷是否有可用的診斷BUF存在一當有空閑BUF時應用程序輸入診斷信息,并請求更新。對于實時性要求嚴格的系統(tǒng),應采用中斷方式進行輸出數(shù)據(jù)和診斷數(shù)據(jù)處理。

          4 GSD文件簡介
          PRO FlBUS設備具有不同的性能特點,為達到PROFIBUS簡單的即插即用配置.PROFIBUS設備的特性均在電子設備數(shù)據(jù)庫文件(GSD)中具體說明。標準化的GSD數(shù)據(jù)將通信擴大到操作員控制級。使用基于GSD的組態(tài)工具可將不同廠商生產的設備集成在同一總線系統(tǒng)中.既簡單又是對用戶友好的。
          4.1 GSD文件的組成
          GSD文件可以分為三個部分:
          ◆一般規(guī)范 這部分包括生產廠商和設備的名稱,硬件和軟件的版本狀況,支持的波特率一可能的監(jiān)視時間問隔以及總線插頭的信號分配;
          ◆與DP主站有關的規(guī)范這部分包括只運用于DP主站的各項參數(shù)(如連接從站的最多臺數(shù)或上裝和下裝能力)。這一部分對從站沒有規(guī)定;
          ◆與DP從站有關的規(guī)范 這部分包括與從站有關的一切規(guī)范(如輸入/輸出通道的數(shù)量和類型、中斷測試的規(guī)范以及輸入/輸出數(shù)據(jù)一致性的信息)。
          4.2 GSD文件格式
          GSD文件是ASCII文件.可以用任何一種ASCII編輯囂編輯 如計事本、UltraEdit等,也可使用PROFIBus用戶組織提供的編輯程序GSDEdit。GSD文件是由若干行組成,每行都用一個關鍵字開頭,包括關鍵字及參數(shù)(無符號數(shù)或字符串)兩部分。GSD文件中的關鍵字可以是標準關鍵字(在PROFIBUS標準中定義)或自定義關鍵字。標準關鍵字可以被PROFIBUS的任何組態(tài)工具所識別,而自定義 關鍵字只能被特定的組態(tài)工具識別。
          一個GSD文件的例子如下。
          #Pr0fibus DP ;DP設備的GSD文件均以此關鍵存在
          GSD Revision=1 ;GSD文件版本
          VendorName="Meglev" ;設備制造商
          Model Name="DP Slave" ;產品名稱,產品版本
          Revision="Version 01" ;產品版本號(可選)
          RevisionNtmber=01 ;產品識別號
          IdemNumber=0x01 ;協(xié)議類型(表示DP)
          ProtocoI Ident=0 ;站類型(0表示從站)
          StationType=0 ;不支持FMS.純DP從站
          FMS Supp=0 ;硬件版本
          Hardware Realease="HW1.0" ;軟件版本
          Soltware Realease="SWl.0" ;支持9.6kbps波特率
          9.6 supp=1 ;支持19.2kbps波特率
          19.2 supp=l ;9.6kbps時最大延遲時間
          MaxTsdr 9.6=60 ;19.2kbps時最大延遲時間
          MaxTsdrl9.2=60 ;不提供RTS信號
          RepeaterCtrl sig=0 ;不提供24V電壓
          24VPins=0 ;采用的解決方案
          Implementation Type="SPC3" ;不支持鎖定模式
          FreezeMode Supp=0 ;不支持同步模式
          SyncMode Supp=0 ;支持自動波特率檢測
          AutoBaud Supp=l ;不支持改變從站地址
          Set SlaveAdd Supp=0 ;故障安全模式類型
          Fail Safe=0 ;最大用戶參數(shù)數(shù)據(jù)長度(0-237)
          MaxUser PrmDataLen=0 ;用戶參數(shù)長度
          Usel prmDataLen=0 ;最小從站響應循環(huán)間隔
          Min Slave Imervall=22 ;是否為模塊站
          Modular Station=l ;從站最大模塊數(shù)
          MaxModule=l ;最大輸入數(shù)據(jù)長度
          MaxInput Len=8 ;最大輸出數(shù)據(jù)長度
          MaxOutput Len=8 ;最大數(shù)據(jù)的長度(輸入輸出之和)
          MaxData Len=16 ;最大診斷數(shù)據(jù)長度(6~244)Slave
          MaxDiagData Len=6 ;從站類型
          Family=3 ;模塊1,輸入輸出各4字節(jié)
          M0dule=“Modulel”0x23,0x13; ;模塊2.輸入輸出各8字節(jié)
          EndModule
          Module="Module2"0x27,0x17;
          EndModule


          結語
          PROFIBUS.DP現(xiàn)場總線已成為我國機械部的行業(yè)標準.受到越來越多科研機構和廠家的重視t本文從開發(fā)的角度.詳細闡述了PROFIBUS―DP現(xiàn)場總線的軟硬件設計方法。相信能給讀者起到拋磚引玉的作用。我們開發(fā)的帶有總線接口的設備,能滿足互操作性以及實耐性通信的要求,已在許多行業(yè)得到成功應用。



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();