PROFIBUS―DP智能從站的研究設(shè)計
外接看門狗電路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)生輸出標(biāo)志位(同樣位于中斷請求字單元),CPU通過在應(yīng)用循環(huán)中輪詢標(biāo)志位來進行接收主站數(shù)據(jù)。對于特定應(yīng)用的診斷信息,需要實時傳遞到主站。主應(yīng)用程序在應(yīng)用循環(huán)中判斷是否有可用的診斷BUF存在,當(dāng)有空閑BUF時,應(yīng)用程序輸入診斷信息,并請求更新。對于實時性要求嚴(yán)格的系統(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。但是其格式有嚴(yán)格的規(guī)定。GSD文件對每一種類型的設(shè)備用一個確切定義的格式做全面的描述。GSD數(shù)據(jù)庫文件由生產(chǎn)廠家編寫。具體的標(biāo)準(zhǔn)可以參照PROFIBUS-DP規(guī)范。
4 結(jié)論
本文詳盡地敘述了基于AT89C52的智能芯片SPC3的設(shè)計使用方法,由于A189C52沒有外擴ROM和RAM,而將程序直接放在其內(nèi)部閃存中,因此,該方法具有外圍電路簡單、與處理器并口兼容性好、時序控制簡單易懂、可靠性和性價比都比較高等優(yōu)點。
評論