《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計 > 設(shè)計應(yīng)用 > 嵌入式PROFIBUS-DP從站通信接口的設(shè)計
嵌入式PROFIBUS-DP從站通信接口的設(shè)計
摘要: 本文論述了一種PROFIBUS-DP從站開發(fā)方案,為自主開發(fā)具有PROFIBUS-DP通信功能產(chǎn)品的用戶,以O(shè)EM方式提供PROFIBUS-DP從站通信接口。
Abstract:
Key words :

     0引言

  目前國內(nèi)對自動化產(chǎn)品(電器、儀表、驅(qū)動裝置等)提出PROFIBUS通信功能要 求,主要來源于:

 ?。?)國外生產(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ā)展。

  基于上述需求,嵌入式PROFIBUS-DP從站通信接口的設(shè)計為自主開發(fā)具有PROFIBUS-DP通信功能產(chǎn)品的用戶提供了一種快速、高效的解決方案。

  1實現(xiàn)方法

 ?。?)電路設(shè)計制作:使用PROFIBUS通信專用ASIC芯片SPC3實現(xiàn)協(xié)議相 關(guān)內(nèi)容,選用合適的CPU,外圍加帶光電隔離的RS-485驅(qū)動;

  (2)單片機+Firmware軟件:需要在單片機中編程(Firmware軟件),實現(xiàn)單片機與ASIC的結(jié)合;

 ?。?)用戶產(chǎn)品的CPU通過串行接口向PROFIBUS-DP從站通信接口板讀/寫輸入/輸出數(shù)據(jù);PROFIBUS-DP從站通信接口板自動轉(zhuǎn)換成PROFIBUS-DP協(xié)議與PROFIBUS主站通信;

 ?。?)編寫GSD文件,搭建一個調(diào)試與測試平臺進(jìn)行PROFIBUS系統(tǒng)配置。

  2硬件設(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組5 V電源(VCC/GND150 mA和5 V/0V-100 mA),分別作為接口 板的電源及光隔外電源,由16針插座J1引 入。信號A、B、RTS及5 V、0 V可直接引到用戶模板PROFIBUS的D型插 頭上(使用 PCB布線或軟接線均可)。根據(jù)PROFIBUS產(chǎn)品測試技術(shù)規(guī)范,此接法引線或軟接線 不宜過長,通常PCB引線不超過20 cm、軟接線不超過 10 cm。

  如果PROFIBUS的D型插頭與接口板之間需要更長的引線,可以從接口板上的10針插頭J2引出 ,此時需要采用外接口轉(zhuǎn)接板。

  用戶模板PROFIBUS插頭為孔型(famel)D型插頭,與接口板16針插座連接如圖2 所示。接口板CPU芯片采用普通的51單片機即可,考慮到PROFIBUS對速率的要求,推薦使用 高速率、低功耗的8位AVR單片機作為接口板CPU。

     0引言

  目前國內(nèi)對自動化產(chǎn)品(電器、儀表、驅(qū)動裝置等)提出PROFIBUS通信功能要 求,主要來源于:

 ?。?)國外生產(chǎn)設(shè)備及技術(shù)的引進(jìn),特別是從歐洲引進(jìn)的成套設(shè)備通常采用PROFIBUS現(xiàn)場總線 ,因此對國內(nèi)配套產(chǎn)品提出了現(xiàn)場總線PROFIBUS通信功能的技術(shù)要求;

 ?。?)國內(nèi)自動化系統(tǒng)廠家比較成功的、面向行業(yè)的控制系統(tǒng),要求系統(tǒng)技術(shù)向現(xiàn)場總線技術(shù) 發(fā)展,同時也要求現(xiàn)場設(shè)備向智能化、網(wǎng)絡(luò)化方向發(fā)展。

  基于上述需求,嵌入式PROFIBUS-DP從站通信接口的設(shè)計為自主開發(fā)具有PROFIBUS-DP通信功能產(chǎn)品的用戶提供了一種快速、高效的解決方案。

  1實現(xiàn)方法

 ?。?)電路設(shè)計制作:使用PROFIBUS通信專用ASIC芯片SPC3實現(xiàn)協(xié)議相 關(guān)內(nèi)容,選用合適的CPU,外圍加帶光電隔離的RS-485驅(qū)動;

 ?。?)單片機+Firmware軟件:需要在單片機中編程(Firmware軟件),實現(xiàn)單片機與ASIC的結(jié)合;

 ?。?)用戶產(chǎn)品的CPU通過串行接口向PROFIBUS-DP從站通信接口板讀/寫輸入/輸出數(shù)據(jù);PROFIBUS-DP從站通信接口板自動轉(zhuǎn)換成PROFIBUS-DP協(xié)議與PROFIBUS主站通信;

  (4)編寫GSD文件,搭建一個調(diào)試與測試平臺進(jìn)行PROFIBUS系統(tǒng)配置。

  2硬件設(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組5 V電源(VCC/GND150 mA和5 V/0V-100 mA),分別作為接口 板的電源及光隔外電源,由16針插座J1引 入。信號A、B、RTS及5 V、0 V可直接引到用戶模板PROFIBUS的D型插 頭上(使用 PCB布線或軟接線均可)。根據(jù)PROFIBUS產(chǎn)品測試技術(shù)規(guī)范,此接法引線或軟接線 不宜過長,通常PCB引線不超過20 cm、軟接線不超過 10 cm。

  如果PROFIBUS的D型插頭與接口板之間需要更長的引線,可以從接口板上的10針插頭J2引出 ,此時需要采用外接口轉(zhuǎn)接板。

  用戶模板PROFIBUS插頭為孔型(famel)D型插頭,與接口板16針插座連接如圖2 所示。接口板CPU芯片采用普通的51單片機即可,考慮到PROFIBUS對速率的要求,推薦使用 高速率、低功耗的8位AVR單片機作為接口板CPU。

  3軟件設(shè)計

  3.1接口板與用戶模板的串口通信設(shè)置

  接口板與用戶模板通過串口連接,Txd、Rxd為TTL電平,半雙工通信。通信方式采 用應(yīng)答方式:用戶模板主動詢問,接口板被動回答。設(shè)定每個字節(jié)用11 bits傳送:1個啟始 位、8個數(shù)據(jù)位、1個偶校驗位、1個停止位,即51內(nèi)核單片機的通信方式3。

  3.2報文長度

  接口模板的初始化報文(發(fā)送、接收)固定長度49字節(jié);接口板與用戶模板之間數(shù) 據(jù)交換報文(發(fā)送、接收),長度由用戶在初始化報文中設(shè)定,最大為113字節(jié);PROFIBUS輸 入/ 輸出數(shù)據(jù)量可自由設(shè)定,最大112字節(jié)輸入+112字節(jié)輸出。

  3.3實現(xiàn)功能

  (1)可實現(xiàn)PROFIBUS用戶參數(shù)化功能:用戶模板可將一次性設(shè)置的參數(shù)在主站配置 中設(shè)定,主站在與從站連接時一次將這些用戶參數(shù)傳送到從站,用戶模板可利用這些參數(shù)實 現(xiàn)參數(shù)化;

 ?。?)接口板與用戶模板通信有字符偶校驗和縱向報文校驗和,保證數(shù)據(jù)安全性;

  (3)接口板內(nèi)設(shè)有備份I/O通信緩沖區(qū),可保證實現(xiàn)PROFIBUS與串口通信數(shù)據(jù)的完整性(一致 性)和同步要求。

  3.4用戶模板的通信基本過程

  3.4.1初始化

  用戶模板按接口板上波特率選擇開關(guān)設(shè)置的波特率向接口板發(fā)初始化報文,然后等待接收接 口板的回答,如圖3所示。接口板回答初始化成功后,進(jìn)入數(shù)據(jù)交換狀態(tài)。

  3.4.2數(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。

  

  

  

  

  4系統(tǒng)配置

  4.1關(guān)于GSD文件

 ?。?)每一個PROFIBUS從站或一類主站有一個“設(shè)備描述文件”稱為GSD文件,用來描 述該PROFIBUS-DP設(shè)備的特性;

 ?。?)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)行格式檢查。

  4.2如何使用“用戶參數(shù)user—prm”

  4.2.1“用戶參數(shù)user—prm”的選擇

  對于工業(yè)現(xiàn)場設(shè)備,常需要用戶根據(jù)現(xiàn)場應(yīng)用設(shè)定一些參數(shù),其中有些參數(shù)不需要在設(shè)備運 行中實時改變,如變頻器的電流上限保護(hù)與報警值、溫度傳感器的測量溫度范圍、熱電偶選 型、輸出4~20 mA/1~5 V選擇等。如果這些參數(shù)作為PROFIBUS主站的I/O輸出,將占 用PROFIBUS主站 I/O資源和周期性輪循PROFIBUS從站的時間資源。

  將這些參數(shù)處理成“用戶參數(shù)”,將會縮短PROFIBUS主站通信時間、減小通信報文長度、提 高總線通信效率。使用“用戶參數(shù)”技術(shù),只需要在主站配置中做出參數(shù)選擇,主站在與從 站連接時,一次性將這些參數(shù)傳送到從站,從站就可以使用這些用戶選擇的參數(shù)對從站進(jìn)行 參數(shù)化(初始化、參數(shù)設(shè)定)。

  4.2.2確定“用戶參數(shù)”類型、個數(shù)、字節(jié)長度

  以一個4通道模擬量輸入模塊為例,假設(shè)需要用戶設(shè)置的參數(shù)有:

  ·輸入類型1~5 V、0~10 V、0~5 V、-10~+10 V、4~20 mA、0~20 mA共8種選擇 ;占1個字節(jié),以INPUT=0~7分別表示這8種輸入類型;

  ·數(shù)據(jù)類型BCD(0000~9999)、無符號整型(0~65 535)、有符號整型(-32 767~+32 76 7)共3種選擇;占1個字節(jié),以VAR=0~2分別表示這3種數(shù)據(jù)類型;

  ·輸入模式單端輸入(4通道)、雙端輸入(2通道)共2種選擇;占1個字節(jié),以CHNO=0、1分 別表示這2種輸入模式;

  由此,用戶參數(shù)長度User—Prm—Data—Len=3。

  4.2.3帶有“用戶參數(shù)”描述的GSD文件

  對上例,GSD文件中至少有如下關(guān)于“用戶參數(shù)”的描述:

  

  4.2.4在主站配置中選擇用戶參數(shù)

  用戶在系統(tǒng)中配置從站參數(shù),完全靠GSD文件描述。在STEP 7的HARDWARE中配置從站,可設(shè) 定總線波特率及站地址,其中設(shè)定的站地址必須與用戶模板上地址設(shè)置一致。

  帶有“用戶參數(shù)”選擇菜單的GSD文件,可在STEP7中生成更加友好的用戶參數(shù)配置界面。

  5結(jié)束語

  應(yīng)用嵌入式PROFIBUS-DP從站通信接口的設(shè)計方案,用戶不必了解PROFIBUS技術(shù)規(guī)范細(xì)節(jié)。具有開發(fā)周期短、技術(shù)指 標(biāo)高、技術(shù)升級快、擁有產(chǎn)品自主知識產(chǎn)權(quán)等優(yōu)點,但用戶須有單片機產(chǎn)品開發(fā)經(jīng)驗及PROF IBUS產(chǎn)品應(yīng)用經(jīng)驗。目前國內(nèi)多家儀表廠商已在此方案的基礎(chǔ)上開發(fā)出了自己的 PROFIBUS -DP從站產(chǎn)品。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。