<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

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

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

作者: 時(shí)間:2006-05-10 來(lái)源:網(wǎng)絡(luò ) 收藏

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



1 協(xié)議專(zhuān)用
1.1 主要技術(shù)指標

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


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

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


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

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



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

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


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



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>