• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      Profibus-DP智能從站的設(shè)計

      2015-05-25 06:09:18李明強(qiáng)劉小河田雨聰
      電氣技術(shù) 2015年4期
      關(guān)鍵詞:狀態(tài)機(jī)主站總線

      李明強(qiáng) 劉小河 田雨聰

      (1.北京信息科技大學(xué)自動化學(xué)院,北京 100192; 2.北京國電智深控制技術(shù)有限公司,北京 102200)

      隨著先進(jìn)工業(yè)技術(shù)的發(fā)展,現(xiàn)場總線技術(shù)已經(jīng)廣泛地應(yīng)用到世界工業(yè)自動化控制領(lǐng)域之中。在眾多的現(xiàn)場總線協(xié)議中,Profibus-DP 協(xié)議的應(yīng)用最為廣泛,各類用途和型號的Profibus-DP 從站設(shè)備占據(jù)著巨大的市場份額。本文旨在設(shè)計一款成本低廉,性能穩(wěn)定的Profibus-DP 智能從站,并能將通過壓力傳感器得到的壓力數(shù)據(jù)正確傳送至主站。

      1 從站的實現(xiàn)方式及芯片選擇[1]

      1.1 從站的實現(xiàn)方案

      最常見的Profibus-DP 智能從站的實現(xiàn)有兩種方式。

      第一種:單純“MCU+UART”方式??偩€數(shù)據(jù)通過UART 進(jìn)入MCU,MCU 通過完全的軟件編程和必需的外圍硬件接口(存儲器等)來實現(xiàn)Profibus-DP 從站協(xié)議規(guī)定的狀態(tài)機(jī)。硬件上,這種方式需要有高性能的 MCU 的支持;軟件上,Profibus-DP從站狀態(tài)機(jī)的編程實現(xiàn)需要花費程序員大量復(fù)雜的工作。此方法設(shè)計的從站站點設(shè)計靈活,可以完全按照用戶的要求來實現(xiàn)一個內(nèi)核小巧的、特定的通信平臺。

      第二種:使用專門的Profibus-DP 從站ASIC 芯片。這類芯片內(nèi)部已經(jīng)搭建了完整的SAP 通信結(jié)構(gòu),負(fù)責(zé)處理與通信有關(guān)的狀態(tài)機(jī)控制、將數(shù)據(jù)打包成規(guī)定的幀格式、從總線上截取幀以及令牌環(huán)的管理等,使所有與總線通信有關(guān)的任務(wù)在ASIC 上得以完成,用戶便不再需要將過多的精力放在協(xié)議狀態(tài)機(jī)的軟件實現(xiàn)上,從而可以專注于應(yīng)用層的設(shè)計,完成產(chǎn)品的特定功能設(shè)計。這種方式極大地減少了處理器和開發(fā)人員的負(fù)擔(dān),節(jié)約開發(fā)時間。

      綜上考慮,本文選用方案二所述方法來完成Profibus-DP 智能從站的設(shè)計。

      1.2 ASIC 芯片的選擇

      適合構(gòu)建從站的ASIC 芯片分為智能型和簡單型從站芯片兩種:智能型有APC3、SPC3、VPC3、SPC4-2、SIM11、DPC31 等,簡單型有LSPM2 和SPM2 等。本文設(shè)計的為智能型從站,所選擇的芯片為國產(chǎn)的APC3。

      APC3 是一款用于Profibus-DP 智能從站開發(fā)的ASICs 芯片,支持Profibus-DP 標(biāo)準(zhǔn)中的DPV0 部分,可以自動識別9.6kbps~12Mbps 范圍內(nèi)的波特率。在3.3V 工作電壓情況下,與工作在DPV0 模式下的VPC3 完全兼容,除工作電壓不同之外,與工作在DPV0 模式下的SPC3 完全兼容。APC3 支持Intel和Motorola 兩種處理器接口模式,通過兩個模式選擇引腳可以進(jìn)行接口模式的配置。通過8 位數(shù)據(jù)總線和11 位的地址總線,用戶可以直接操作內(nèi)部雙口RAM。APC3 需要外部提供固定48MHz 的時鐘,經(jīng)內(nèi)部分頻后能夠輸出24M/12M 的時鐘給外部處理器。通過中斷請求寄存器可以獲各種外部事件,從而得到相關(guān)的數(shù)據(jù),如擴(kuò)展參數(shù)數(shù)據(jù)等。

      APC3 內(nèi)部的雙口RAM 可視為MCU 的一個簡單外部RAM,MCU 可以直接對其進(jìn)行尋址和數(shù)據(jù)存儲。1.5kbyte 大小的雙口RAM 被分為192 個段,每個段包括8 個字節(jié)。軟件對雙口RAM 的操作以段為單位。Profibus-DP 從站的狀態(tài)機(jī)完全由APC3完成,因此用戶可以直接從組態(tài)時已經(jīng)分配好的各個數(shù)據(jù)緩沖區(qū)中直接獲取報文中的相關(guān)數(shù)據(jù),而不必通過花大量時間分析報文來獲得。

      2 系統(tǒng)硬件結(jié)構(gòu)

      2.1 系統(tǒng)硬件結(jié)構(gòu)概述

      系統(tǒng)硬件總體結(jié)構(gòu)如圖1所示??刂坪诵臑橐夥ò雽?dǎo)體公司的 STM32F103VET6 嵌入式控制芯片,該芯片擁有128kByte 的程序存儲器,運行速度可達(dá)72MHz,片內(nèi)集成了3 路波特率可達(dá)4.5Mbit/s的UART 接口,內(nèi)存最大可達(dá)20KB,另外芯片I/O接口豐富,具有DMA 和FSMC 模塊,完全滿足設(shè)計需求。

      專用的Profibus-DP 總線連接器將差分信號送至485 芯片,得到的串行數(shù)據(jù)送至APC3 進(jìn)行協(xié)議數(shù)據(jù)拆分保存,STM32 通過操作三種總線按照一定的時序和周期將APC3 內(nèi)的緩沖數(shù)據(jù)取走,繼而使得STM32 內(nèi)應(yīng)用層軟件得以運行。在接收到主站指令后,STM32 內(nèi)部的A/D 模塊讀取壓力傳感器電壓值,轉(zhuǎn)換成相應(yīng)的模擬量數(shù)據(jù)后通過APC3 應(yīng)答給主站。為了使用方便,設(shè)計放置了一個8 位撥碼鍵盤來設(shè)置從站自身的固定地址,由于Profibus-DP 協(xié)議規(guī)定從站地址為0~127,所以只用到了按鍵的低7 位,第8 位可做擴(kuò)展功能使用。將STM32 芯片的UART1 引至RJ11 接口,用以在編程時輸出調(diào)試信息,并在程序運行時不斷輸出自定義的設(shè)備狀態(tài)信息,以便對設(shè)備進(jìn)行實時監(jiān)視。系統(tǒng)供電來自外部輸入的5V 電源。

      圖1 系統(tǒng)整體結(jié)構(gòu)功能框圖

      2.2 APC3 與控制器的連接[3]

      協(xié)議芯片APC3 處于磁隔離芯片ADM2486 和主控芯片之間,完成報文的自主發(fā)送和接收工作,硬件連接如圖2所示[4]。

      設(shè)計采用ADI 公司生產(chǎn)的ADM2486 作為系統(tǒng)與總線的隔離芯片,其具有高達(dá)2500Vrms 的高壓隔離性能,最大傳輸速率為20Mbps,可配置為半雙工或全雙工模式,總線最大節(jié)點數(shù)可達(dá)50 個,支持Profibus-DP 現(xiàn)場總線。將其RE 引腳接地,使從站一直處于接收監(jiān)聽總線數(shù)據(jù)狀態(tài),另外三個引腳與APC3 相應(yīng)引腳連接,A、B 線與DB9 規(guī)定的引腳相連。

      將APC3 的9 腳接地,使APC3 工作于Intel 接口模式,即數(shù)據(jù)總線和地址總線復(fù)用模式,8 數(shù)據(jù)總線分時復(fù)用為地址總線的低8 位,原地址總線的高3 位接地[5]。APC3 的3 腳接地,使得7 腳可以輸出12MHz 的方波作為STM32F103 的外部時鐘源之用。如果APC3 正確進(jìn)入DATA_EXCH(數(shù)據(jù)交換)狀態(tài),13 腳連接的發(fā)光二極管將會亮起以進(jìn)行提示。中斷信號、復(fù)位信號、讀寫控制信號都與STM32F103 相應(yīng)管腳連接。

      3 系統(tǒng)軟件構(gòu)成

      系統(tǒng)軟件編程的主要任務(wù)是APC3 芯片的初始化、電壓采集處理及傳輸、從站的診斷以及中斷程序的處理等。程序流程圖如圖3所示。

      初始化分為系統(tǒng)資源初始化和APC3 芯片初始化。系統(tǒng)資源初始化主要完成對本設(shè)計所用到的系統(tǒng)資源,諸如ADC、UART、GPIO、SYSCLK、TIMER、FSMC 等模塊的初始化工作。

      圖3 系統(tǒng)整體流程圖

      APC3 的初始化相對復(fù)雜,主要需要完成與從站相關(guān)的基本信息及功能相關(guān)寄存器的配置、APC3內(nèi)部數(shù)據(jù)緩沖區(qū)指針的計算以及外部中斷相關(guān)的各種定義。這些配置信息都保存在APC3 內(nèi)存中地址從0X00H 到0X3FH 的區(qū)域中,之后的從0X40H 到0X5FFH 區(qū)域中以既定數(shù)據(jù)存儲結(jié)構(gòu)保存用戶與主站間的交互數(shù)據(jù)。

      Intel 操作模式下,APC3 內(nèi)存中從地址0X00H到0X15H 保存處理器參數(shù),從0X15H 到0X3FH 存儲組織參數(shù)。處理器參數(shù)包括對模式寄存器0/1、中斷寄存器和狀態(tài)寄存器等的設(shè)置,組織參數(shù)用以設(shè)置從站的設(shè)備地址、生產(chǎn)廠家ID、輸入輸出緩沖區(qū)數(shù)據(jù)指針及長度等信息。這些配置信息都被寫到從站的GSD 配置文件中,以便于使用者使用主站對其進(jìn)行進(jìn)一步配置。從站配置完成后,主站就可以同從站進(jìn)行周期性的數(shù)據(jù)交換,主要完成以下三種服務(wù):Read_Inp(讀從站輸入數(shù)據(jù))、Read_Outp(讀從站輸出數(shù)據(jù))、Data_Exchange(發(fā)送和接收被主站初始化的各參數(shù)以及與各從站的用戶數(shù)據(jù))。

      MCU 內(nèi)部的ADC 模塊根據(jù)主站的需求適時對壓力傳感器電壓值進(jìn)行采樣,經(jīng)過數(shù)字濾波和模擬量計算后,計算得到實時的壓力值。隨后,MCU 將壓力值數(shù)據(jù)寫入到APC3 內(nèi)部的輸入數(shù)據(jù)緩沖區(qū),APC3 將自動將數(shù)據(jù)打包,以應(yīng)答幀的形式將數(shù)據(jù)送上Profibus-DP 總線,繼而送至主站。在APC3 初始化和運行的階段,主站會隨時發(fā)送診斷報文給從站,因此還要求從站能組織診斷報文,在需要的時候送往主站,這些都在MCU 中完成。

      在設(shè)備的運行過程中,隨時可能出現(xiàn)一些意外的情況導(dǎo)致從站退出 DATA_EXCH 狀態(tài)而進(jìn)入WAIT_CFG 或者WAIT_PRM 狀態(tài),此時,MCU 應(yīng)該重新對APC3 進(jìn)行初始化操作以期回歸正常。

      4 測試結(jié)果及結(jié)論

      從站設(shè)計過程中使用了兩個輔助設(shè)計軟件:DPMasterSIM(模擬主站軟件)、ProfibusViewer (Profibus-DP 總線監(jiān)視軟件)。DPMasterSIM 軟件模擬了一個Profibus-DP 主站的DP-V0 的功能,能初始化從站并能與從站進(jìn)行周期性數(shù)據(jù)交換。ProfibusViewer 軟件能監(jiān)視總線上的數(shù)據(jù)流。

      圖4 測試結(jié)果

      經(jīng)測試,通過從站配置和組態(tài),主站和該從站之間能建立起有效的數(shù)據(jù)通信。測試結(jié)果如圖4所示,組態(tài)后設(shè)備地址為16,診斷字節(jié)長度為6,輸入和輸出字節(jié)長度均為4。從設(shè)備診斷選項卡的從站狀態(tài)欄可知從站已經(jīng)正確進(jìn)入了DATA_EXCH 狀態(tài),從輸入數(shù)據(jù)選項卡右側(cè)數(shù)據(jù)欄可知主站能正確 接收到從站測得的壓力值。同時,可以在輸出數(shù)據(jù)選項卡中點擊“數(shù)據(jù)輸出”按鈕來使主站向從站輸出右側(cè)數(shù)據(jù)欄內(nèi)用戶自定義的數(shù)據(jù),以便獲得更高的應(yīng)用靈活性。

      [1] 侯維巖,費敏銳.Profibus 協(xié)議分析和系統(tǒng)應(yīng)用[M].北京: 清華大學(xué)出版社,2006: 22-76.

      [2] 孟靜靜.Profibus 與Profinet 網(wǎng)絡(luò)結(jié)構(gòu)的研究與應(yīng)用[D].蘭州: 蘭州理工大學(xué),2011.

      [3] 張強(qiáng).采用SPC3 設(shè)計Profibus-DP 智能從站[J].自動化儀表,2005,26(3): 15-18.

      [4] 鄭源濱.智能分析儀表中 Profibus-DP 接口的研發(fā)[D].北京: 華北電力大學(xué):北京,2011.

      [5] 閻松明.基于Profibus-DP 分布式智能從站設(shè)計與研究[D].南京: 南京理工大學(xué),2008.

      [6] 姚旺.Profibus-DP 從站設(shè)計及其在人防工程中的應(yīng)用研究[D].哈爾濱: 哈爾濱工業(yè)大學(xué),2010.

      [7] 郭彥青,姚竹亭.基于Profibus-DP 總線的單主站/單從站測試網(wǎng)絡(luò)建設(shè)[J].計量與測試技術(shù),2005,32(11): 24-25,27.

      [8] 劉成俊,王善永.基于Profibus 的水電廠分布式測控裝置[J].水電自動化與大壩監(jiān)測,2007,31(1): 2-3.

      [9] 劉波文,孫巖.嵌入式實時操作系統(tǒng)uC/OS-II 經(jīng)典實例——基于STM32 處理器[M].北京: 北京航空航天出版社,2012.

      [10] 姜日新,宋延民,張平,等.基于 VPC3+C 的Profibus-DP 智能從站設(shè)計[J].天津工程師范學(xué)院學(xué)報,2010,20(4): 14-17

      猜你喜歡
      狀態(tài)機(jī)主站總線
      基于有限狀態(tài)機(jī)的交會對接飛行任務(wù)規(guī)劃方法
      基于PCI Express總線的xHC與FPGA的直接通信
      機(jī)載飛控1553B總線轉(zhuǎn)以太網(wǎng)總線設(shè)計
      基于OS2主站系統(tǒng)的海量數(shù)據(jù)共享技術(shù)研究
      多表遠(yuǎn)程集抄主站系統(tǒng)
      電子制作(2017年23期)2017-02-02 07:17:07
      多通道ARINC429總線檢查儀
      基于改進(jìn)經(jīng)濟(jì)壓差算法的主站AVC的研究
      關(guān)口電能計量故障監(jiān)測報警裝置及主站研究
      基于EtherCAT總線的ROV控制系統(tǒng)設(shè)計
      河南科技(2014年16期)2014-02-27 14:13:22
      FPGA設(shè)計中狀態(tài)機(jī)安全性研究
      井陉县| 临江市| 淳化县| 齐齐哈尔市| 慈利县| 务川| 名山县| 民和| 迭部县| 富源县| 沁阳市| 松阳县| 樟树市| 鸡东县| 大港区| 恩施市| 穆棱市| 罗江县| 香格里拉县| 贵阳市| 进贤县| 郎溪县| 江安县| 临猗县| 淅川县| 鄢陵县| 浪卡子县| 临海市| 江孜县| 萨迦县| 卓资县| 酉阳| 高淳县| 博野县| 灵丘县| 临汾市| 沙雅县| 依兰县| 开阳县| 蒙城县| 靖宇县|