基于C167的PROFlBUS-DP智能從站的設(shè)計(jì)
圖4為PROFIBUS-DP的RS-485傳輸接口電路。其中,M和2M為不同的電源地,P5,2P5為兩組不共地的+5 V電源。74HCl32為施密特與非門(mén)。RS485總線驅(qū)動(dòng)器一側(cè)與9針D型插座相連,另一側(cè)通過(guò)光耦與SPC3相連。HCPL-0601和HCPL-7721是能夠滿足12 MB?s-1波特率的光耦,采用光電隔離主要是為了消除來(lái)自外界的干擾。
3.3 軟件設(shè)計(jì)
由于SPC3集成了完整的PROFIBUS-DP協(xié)議,因此C167不用參與處理PROFIBUS-DP狀態(tài)機(jī),P89C61X2的主要任務(wù)就是根據(jù)SPC3產(chǎn)生的中斷,對(duì)SPC3接受到的主站發(fā)出的輸出數(shù)據(jù)轉(zhuǎn)存,組織要通過(guò)SPC3發(fā)給主站的數(shù)據(jù),并根據(jù)要求組織外部診斷等。
主程序和中斷程序的流程圖,分別如圖5和圖6所示。本文引用地址:http://cafeforensic.com/article/163043.htm
主程序中的SPC3初始化包括設(shè)置SPC3允許的中斷,寫(xiě)入從站識(shí)別號(hào)和地址,設(shè)置SPC3方式寄存器,設(shè)置診斷緩沖區(qū)、參數(shù)緩沖區(qū)、配置緩沖區(qū)、地址緩沖區(qū)和初始長(zhǎng)度,并根據(jù)以上初始值求出各個(gè)緩沖區(qū)的指針及輔助緩沖區(qū)的指針。根據(jù)傳輸?shù)臄?shù)據(jù)長(zhǎng)度,確定輸出緩沖區(qū),輸入緩沖區(qū)和指針。
中斷程序主要用來(lái)處理PRM報(bào)文,CFG報(bào)文和SSA報(bào)文。
另外,PROFIBUS設(shè)備具有不同的性能特點(diǎn),為達(dá)到PROFIBUS簡(jiǎn)單的即插即用配置,PROFIBUS設(shè)備的特性均在電子設(shè)備數(shù)據(jù)庫(kù)文件(GSD)中具體說(shuō)明。標(biāo)準(zhǔn)化的GSD數(shù)據(jù)將通信擴(kuò)大到操作員控制級(jí),使用基于GSD的組態(tài)工具可將不同廠商生產(chǎn)的設(shè)備集成在同一總線系統(tǒng)中,簡(jiǎn)單而且用戶界面友好。
4 結(jié)束語(yǔ)
PROFIBUS-DP開(kāi)發(fā)器件的選擇比較靈活。在對(duì)數(shù)據(jù)傳輸速度有較高要求的應(yīng)用場(chǎng)合,必須根據(jù)應(yīng)用需求選擇器件,尤其是對(duì)處理器、RS485接口器件和收發(fā)器芯片更要慎重選擇,這是快速數(shù)據(jù)傳輸?shù)那疤帷?br />
評(píng)論