嵌入式PROFIBUS-DP從站通信接口的設(shè)計
關(guān)鍵詞:現(xiàn)場總線;PROFIBUS-DP;從站;通信接口
引言
目前國內(nèi)對自動化產(chǎn)品(電器、儀表、驅(qū)動裝置等)提出PROFIBUS通信功能要求,主要來源于:(1)國外生產(chǎn)設(shè)備及技術(shù)的引進(jìn),特別是從歐洲引進(jìn)的成套設(shè)備通常采用PROFIBUS現(xiàn)場總線,因此對國內(nèi)配套產(chǎn)品提出了現(xiàn)場總線PROFIBUS通信功能的技術(shù)要求;(2)國內(nèi)自動化系統(tǒng)廠家比較成功的、面向行業(yè)的控制系統(tǒng),要求系統(tǒng)技術(shù)向現(xiàn)場總線技術(shù)發(fā)展,同時也要求現(xiàn)場設(shè)備向智能化、網(wǎng)絡(luò)化方向發(fā)展?;谏鲜鲂枨螅?a class="contentlabel" href="http://m.butianyuan.cn/news/listbylabel/label/嵌入式">嵌入式PROFIBUS-DP從站通信接口的設(shè)計為自主開發(fā)具有PROFIBUS-DP通信功能產(chǎn)品的用戶提供了一種快速、高效的解決方案。
實現(xiàn)方法
(1)電路設(shè)計制作:使用PROFIBUS通信專用ASIC芯片SPC3實現(xiàn)協(xié)議相關(guān)內(nèi)容,選用合適的CPU,外圍加帶光電隔離的RS-485驅(qū)動;
(2)單片機(jī)+Firmware軟件:需要在單片機(jī)中編程(Firmware軟件),實現(xiàn)單片機(jī)與ASIC的結(jié)合;
(3)用戶產(chǎn)品的CPU通過串行接口向PROFIBUS-DP從站通信接口板讀/寫輸入/輸出數(shù)據(jù);PROFIBUS-DP從站通信接口板自動轉(zhuǎn)換成PROFIBUS-DP協(xié)議與PROFIBUS主站通信;
(4)編寫GSD文件,搭建一個調(diào)試與測試平臺進(jìn)行PROFIBUS系統(tǒng)配置。
硬件設(shè)計
嵌入式PROFIBUS-DP從站通信接口板(以下簡稱接口板)由CPU芯片、PROFIBUS協(xié)議芯片SPC3及光隔RS-485驅(qū)動等電路組成,如圖1所示。
接口板與用戶模板采用串口連接,使用波特率選擇開關(guān)可選擇指定的7種波特率(9600、19.2K、38.4K、57.4K、115.2K、230.4K、460、8K)中的一種;接口板需要用戶模板提供2組5V電源(VCC/GND-150mA和5V/0V-100mA),分別作為接口板的電源及光隔外電源,由16針插座J1引入。信號A、B、RTS及5V、0V可直接引到用戶模板PROFIBUS的D型插頭上(使用PCB布線或軟接線均可)。根據(jù)PROFIBUS產(chǎn)品測試技術(shù)規(guī)范,此接法引線或軟接線不宜過長,通常PCB引線不超過20cm、軟接線不超過10cm。
如果PROFIBUS的D型插頭與接口板之間需要更長的引線,可以從接口板上的10針插頭J2引出,此時需要采用外接口轉(zhuǎn)接板。
用戶模板PROFIBUS插頭為孔型(famel)D型插頭,與接口板16針插座連接如圖2所示。接口板CPU芯片采用普通的51單片機(jī)即可,考慮到PROFIBUS對速率的要求,推薦使用高速率、低功耗的8位AVR單片機(jī)作為接口板CPU。
軟件設(shè)計
接口板與用戶模板的串口
通信設(shè)置
接口板與用戶模板通過串口連接,Txd、Rxd為TTL電平,半雙工通信。通信方式采用應(yīng)答方式:用戶模板主動詢問,接口板被動回答。設(shè)定每個字節(jié)用11bits傳送:1個啟始位、8個數(shù)據(jù)位、1個偶校驗位、1個停止位,即51內(nèi)核單片機(jī)的通信方式3。
報文長度
接口模板的初始化報文(發(fā)送、接收)固定長度49字節(jié);接口板與用戶模板之間數(shù)據(jù)交換報文(發(fā)送、接收),長度由用戶在初始化報文中設(shè)定,最大為113字節(jié);PROFIBUS輸入/輸出數(shù)據(jù)量可自由設(shè)定,最大112字節(jié)輸入+112字節(jié)輸出。
實現(xiàn)功能
(1)可實現(xiàn)PROFIBUS用戶參數(shù)化功能:用戶模板可將一次性設(shè)置的參數(shù)在主站配置中設(shè)定,主站在與從站連接時一次將這些用戶參數(shù)傳送到從站,用戶模板可利用這些參數(shù)實現(xiàn)參數(shù)化;
(2)接口板與用戶模板通信有字符偶校驗和縱向報文校驗和,保證數(shù)據(jù)安全性;
(3)接口板內(nèi)設(shè)有備份I/O通信緩沖區(qū),可保證實現(xiàn)PROFIBUS與串口通信數(shù)據(jù)的完整性(一致性)和同步要求。
用戶模板的通信基本過程
初始化
用戶模板按接口板上波特率選擇開關(guān)設(shè)置的波特率向接口板發(fā)初始化報文,然后等待接收接口板的回答,如圖3所示。接口板回答初始化成功后,進(jìn)入數(shù)據(jù)交換狀態(tài)。
數(shù)據(jù)交換狀態(tài)
初始化成功后接口板進(jìn)入數(shù)據(jù)交換狀態(tài),反復(fù)進(jìn)行數(shù)據(jù)交換。此時,用戶模板主動向接口板發(fā)送“輸入數(shù)據(jù)報文”,其中包含PROFIBUS輸入數(shù)據(jù);接口板回答“輸出數(shù)據(jù)報文”,其中包含PROFIBUS輸出數(shù)據(jù),如圖4所示。
數(shù)據(jù)交換狀態(tài)下接口板的程序流程見圖5。
系統(tǒng)配置
關(guān)于GSD文件
(1)每一個PROFIBUS從站或一類主站有一個“設(shè)備描述文件”稱為GSD文件,用來描述該P(yáng)ROFIBUS-DP設(shè)備的特性;
(2)GSD文件包含了設(shè)備所有定義參數(shù),包括:支持的波特率、支持的信息長度、輸入/輸出數(shù)據(jù)數(shù)量、診斷數(shù)據(jù)的含義、可選模塊種類等;
(3)無論使用什么樣的系統(tǒng)配置軟件,都要根據(jù)GSD文件來對設(shè)備配置。
(4)國際PROFIBUS組織PI提供了GSD文件編輯軟件gsdedit.exe,該軟件依照PROFIBUS技術(shù)標(biāo)準(zhǔn)格式規(guī)定,對用戶編輯的GSD文件進(jìn)行格式檢查。
如何使用“用戶參數(shù)user-prm”
“用戶參數(shù)user-prm”的選擇對于工業(yè)現(xiàn)場設(shè)備,常需要用戶根據(jù)現(xiàn)場應(yīng)用設(shè)定一些參數(shù),其中有些參數(shù)不需要在設(shè)備運行中實時改變,如變頻器的電流上限保護(hù)與報警值、溫度傳感器的測量溫度范圍、熱電偶選型、輸出4~20mA/1~5V選擇等。如果這些參數(shù)作為PROFIBUS主站的I/O輸出,將占用PROFIBUS主站I/O資源和周期性輪循PROFIBUS從站的時間資源。
將這些參數(shù)處理成“用戶參數(shù)”,將會縮短PROFIBUS主站通信時間、減小通信報文長度、提高總線通信效率。使用“用戶參數(shù)”技術(shù),只需要在主站配置中做出參數(shù)選擇,主站在與從站連接時,一次性將這些參數(shù)傳送到從站,從站就可以使用這些用戶選擇的參數(shù)對從站進(jìn)行參數(shù)化(初始化、參數(shù)設(shè)定)。
確定“用戶參數(shù)”類型、個數(shù)、字節(jié)長度
在主站配置中選擇用戶參數(shù)用戶在系統(tǒng)中配置從站參數(shù),完全靠GSD文件描述。在STEP7的HARDWARE中配置從站,可設(shè)定總線波特率及站地址,其中設(shè)定的站地址必須與用戶模板上地址設(shè)置一致。
帶有“用戶參數(shù)”選擇菜單的GSD文件,可在STEP7中生成更加友好的用戶參數(shù)配置界面。
結(jié)束語
應(yīng)用嵌入式PROFIBUS-DP從站通信接口的設(shè)計方案,用戶不必了解PROFIBUS技術(shù)規(guī)范細(xì)節(jié)。具有開發(fā)周期短、技術(shù)指標(biāo)高、技術(shù)升級快、擁有產(chǎn)品自主知識產(chǎn)權(quán)等優(yōu)點,但用戶須有單片機(jī)產(chǎn)品開發(fā)經(jīng)驗及PROFIBUS產(chǎn)品應(yīng)用經(jīng)驗。目前國內(nèi)多家儀表廠商已在此方案的基礎(chǔ)上開發(fā)出了自己的PROFIBUS-DP從站產(chǎn)品。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論