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