在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 從RS-232串口到PROFIBUS-DP總線的轉(zhuǎn)換接口設(shè)計

            從RS-232串口到PROFIBUS-DP總線的轉(zhuǎn)換接口設(shè)計

            作者: 時間:2016-12-13 來源:網(wǎng)絡(luò) 收藏
              0. 前言:

              PROFIBUS是一種國際化、開放式、不依賴于設(shè)備生產(chǎn)商的現(xiàn)場總線標(biāo)準(zhǔn),廣泛適用于制造業(yè)自動化、流程工業(yè)自動化和樓宇、交通、電力等其他領(lǐng)域自動化?;诂F(xiàn)場總線的控制系統(tǒng)要求現(xiàn)場儀表及設(shè)備必須具有現(xiàn)場通信能力,而我國目前的實際情況是:多數(shù)傳統(tǒng)儀表及現(xiàn)場設(shè)備并不具備現(xiàn)場總線接口,而完全使用國外進(jìn)口設(shè)備將會使系統(tǒng)成本過高。如何將大量的傳統(tǒng)儀器設(shè)備連接到PROFIBUS總線上,實現(xiàn)PROFIBUS主站與傳統(tǒng)設(shè)備之間通信數(shù)據(jù)透明傳送,成為廣大用戶急于要解決的問題。如:具有RS-232接口的現(xiàn)場測量設(shè)備及儀表等,如何使其成為PROFIBUS總線上的一個從站。本文所講述的這個接口產(chǎn)品就是處理從RS-232到PROFIBUS-DP的協(xié)議轉(zhuǎn)換,起到一個橋的作用,我們稱之為總線橋。

            本文引用地址:http://www.biyoush.com/article/201612/329465.htm

              1. PROFIBUS-DP網(wǎng)絡(luò)協(xié)議

              PROFIBUS的網(wǎng)絡(luò)協(xié)議是以ISO頒布的OSI標(biāo)準(zhǔn)七層參考模型為基礎(chǔ)的,只是對第三層到第六層進(jìn)行簡化。它的三種模塊(FMS、DP和PA)可以適應(yīng)不同的應(yīng)用對象和通信速率方面的要求,開放性也好。但它們均使用一致的總線存取協(xié)議,該協(xié)議是通過OSI參考模型第二層(數(shù)據(jù)鏈路層)來實現(xiàn)的,它包括了保證數(shù)據(jù)可靠性技術(shù)及傳輸協(xié)議和報文處理。

              數(shù)據(jù)鏈路層協(xié)議媒體訪問控制(MAL)部分采用受控訪問的令牌總線(Token Bus)和主從方式。其中令牌總線與局域網(wǎng)IEEE8024協(xié)議一致,令牌在總線上的各主站間傳遞,持有令牌的主站獲得總線控制權(quán),該主站依照關(guān)系表與從站或與其他主站進(jìn)行通信。主從方式用于主站和從站間通信,其工作特點是:總線上一個主站控制著多個從站,主站與每一個從站建立一條邏輯鏈路;主站發(fā)出命令(Command),從站給出響應(yīng)(response);從站可以連續(xù)發(fā)送多個幀,直到無信息發(fā)送、達(dá)到發(fā)送數(shù)量或被主站停止為止。數(shù)據(jù)鏈路中幀的傳輸過程分為三個階段:數(shù)據(jù)鏈路建立、幀傳輸和鏈路釋放。PROFIBUS-DP并未采用ISO/OSI的應(yīng)用層,而是自行設(shè)置一用戶層。該層定義了DP的功能、規(guī)范與擴(kuò)展要求等。DP物理層與ISO/OSI參考模型的第一層相同,采用RS-485傳輸技術(shù)。

              2. RS-232設(shè)備通信協(xié)議

              RS-232只是設(shè)備通信物理層的一個標(biāo)準(zhǔn),因此PROFIBUS主站必須向RS-232設(shè)備傳送它能夠理解的數(shù)據(jù),這就是RS-232設(shè)備的通信協(xié)議。所以,為實現(xiàn)PROFIBUS主站與RS-232設(shè)備的有效數(shù)據(jù)通信,PROFIBUS主站編程人員應(yīng)該了解RS-232設(shè)備的通信協(xié)議。RS-232設(shè)備的通信協(xié)議通常有以下兩類:

              (1)具有應(yīng)答關(guān)系和若干通信指令的通信協(xié)議

              這是應(yīng)用比較廣泛的通信格式,通信數(shù)據(jù)可以是ASIIC碼或二進(jìn)制數(shù)據(jù)。對于這種設(shè)備,既有發(fā)送又有接收。用戶在主站編程,按照協(xié)議規(guī)定的報文格式將通信數(shù)據(jù)填入RS-232總線橋的PROFIBUS數(shù)據(jù)輸出區(qū),通過所產(chǎn)生的中斷啟動轉(zhuǎn)換接口將通信數(shù)據(jù)發(fā)送到設(shè)備,然后總線橋自動轉(zhuǎn)入接收狀態(tài)。當(dāng)總線橋數(shù)據(jù)全部接收完RS-232設(shè)備的回答報文數(shù)據(jù)后,將回答報文數(shù)據(jù)自動填入PROFIBUS數(shù)據(jù)輸入?yún)^(qū),這樣,PROFIBUS主站可以在PROFIBUS數(shù)據(jù)輸入?yún)^(qū)得到RS-232設(shè)備的回答報文數(shù)據(jù)。

              (2)無應(yīng)答關(guān)系、單純接收或發(fā)送數(shù)據(jù)(ASIIC碼或二進(jìn)制數(shù)據(jù))的通信協(xié)議

              此類設(shè)備(如條碼掃描器)只通過RS-232接口向PROFIBUS主站發(fā)送數(shù)據(jù),也有的設(shè)備(如顯示屏)只通過RS-232接收PROFIBUS主站發(fā)送的數(shù)據(jù)。PROFIBUS主站實現(xiàn)這類簡單通信協(xié)議的原理與第一種協(xié)議相同,只是不會出現(xiàn)沖突,編程更為簡單。

              3. RS232總線橋硬件設(shè)計

              RS232總線橋系統(tǒng)框圖如圖1所示:

              
            圖1:系統(tǒng)框圖

              3.1 SPC3說明

              西門子公司提供的SPC3是用于DP智能從站的協(xié)議專用芯片,也是本設(shè)計的關(guān)鍵器件。SPC3具有1.5K字節(jié)的報文幀存儲器、方式寄存器、狀態(tài)寄存器、中斷寄存器及緩沖區(qū)等,各部分地址分配如表1。

              表1:SPC3內(nèi)存單元地址分配

              SPC3需外接48MHZ晶振,能自動檢測波特率從9.6K到12M??偩€訪問是由硬件驅(qū)動的,與應(yīng)用對象之間通信采用數(shù)據(jù)接口,因此數(shù)據(jù)的交換獨立于總線周期。SPC3的方式寄存器0用于設(shè)置PROFIBUS-DP的操作方式,如minTSDR、SYNC、FREEZE等,方式寄存器1設(shè)置可動態(tài)改變的狀態(tài)。狀態(tài)寄存器存放從站的狀態(tài)信息,以便在任何時間能掃描總線的介質(zhì)訪問子層(MAC)。

              集成的監(jiān)視定時器(WatchDog),可自動識別波特率,并防止出現(xiàn)故障危及外圍設(shè)備。一個公共的中斷輸出,CPU可以通過讀取中斷寄存器來判斷中斷源并執(zhí)行相應(yīng)中斷。在UART中,實現(xiàn)并行數(shù)據(jù)流和串行數(shù)據(jù)流的變換。在第一個字符發(fā)送前,SPC3生成發(fā)送請求信號RTS。它集成了完整的DP從站狀態(tài)機(jī),PROFIBU協(xié)議的周期性循環(huán)部分?jǐn)?shù)據(jù)通信由SPC3中預(yù)先分配的各緩沖區(qū)指針的來回切換完成,其余非循環(huán)部分?jǐn)?shù)據(jù)通信則需要由微處理器中的軟件來實現(xiàn)。

              SPC3自身帶有1.5KB的數(shù)據(jù)存儲區(qū),至少需要11位地址線。單片機(jī)P0口的P0.0~P0.7接SPC3的DB0~DB7端,既作為SPC3的數(shù)據(jù)線,也作為SPC3地址總線的低8位。單片機(jī)P2口的P2.0~P2.2接SPC3的AB0~ AB2端,作為SPC3地址總線的高3位,同時要使SPC3的高5位AB7..3=00000。在軟件程序的設(shè)計中,SPC3的數(shù)據(jù)存儲器的地址區(qū)被強(qiáng)制在1000H~15FFH,這要求P2.7~2.4=0001,要想AB4仍為0,就必須將P2.4通過一個非門接SPC3的AB4端。在實際電路中,SPC3的AB7~5通過一個接地電阻接地,使得AB7..5=000,AB3接P2.3始終給出低電平信號即AB3=0,AB4的輸入端通過一個可編程邏輯芯片對P2.7~2.4的編碼電路來實現(xiàn)(AB4=P2.7|P2.6|P2.5|非P2.4),這樣只要使P2.7~2.4=0001,AB4始終為1,從而保證SPC3的數(shù)據(jù)存儲器的地址范圍為1000H~15FFH。

              3.2 PROFIBUS總線接口

              PROFIBUS接口是PROFIBUS標(biāo)準(zhǔn)驅(qū)動電路,由由兩個輸入光電隔離電路(6N137,10MBit/s)、一個輸出光電隔離電路(6N136)、一個RS-485驅(qū)動芯片(SN75LS176)、一個D型9針插頭組成及輔助電路組成。光隔是用以消除來自零線的干擾,如果現(xiàn)場通信的波特率需要到12M,在光隔選用時還需要考慮更高的性能,如HCPL7720等。

              3.3 RS-232接口

              RS232接口電路RS-232驅(qū)動電路,由一個輸入光電隔離電路(6N136)、一個輸出光電隔離電路(6N136)、一個串口處理芯片(MAX232)、D型9針插頭及輔助電路組成,實現(xiàn)串口TTL信號到RS-232信號的轉(zhuǎn)換。

              3.4 撥碼開關(guān)

              一方面用作設(shè)置從站地址,另一方面用作RS-232接口設(shè)置。上電時,使D7=1,D5~D0作為串口配置數(shù)據(jù)存入EEPROM,然后將D0撥到0,D6~D0共7位作為設(shè)置的從站地址。D2D1D0:串口波特率設(shè)置;D4D3:是否有奇/偶校驗;D5:接收/發(fā)送允許。

              3.5 微處理器接口

              微處理器AT89LS8252由以下幾部分組成:一個8位中央處理器(CPU),片內(nèi)8K字節(jié)的Flash存儲器,2K字節(jié)的EEPROM,片內(nèi)256字節(jié)的SRAM,4個8位的雙向可尋址I/O端口,一個全雙工UART串行接口,具有SPI接口,含有WATCHDOG、定時器等,可滿足接口對程序、配置數(shù)據(jù)、PROFIBUS標(biāo)準(zhǔn)對異步通信等的需要。AT89LS8252外接24M HZ晶振。。通過對SPC3的控制實現(xiàn)PROFIBUS的通信,并在RAM中建立PROFIBUS通信數(shù)據(jù)緩沖區(qū)。另一方面,通過RS-232接口實現(xiàn)和外部現(xiàn)場設(shè)備的通信,同樣在RAM中建立RS-232通信數(shù)據(jù)緩沖區(qū)。CPU通過兩個通信緩沖區(qū)的數(shù)據(jù)交換,實現(xiàn)PROFIBUS到RS-232的通信。

              4. 軟件設(shè)計

              在西門子公司的DP從站開發(fā)包PACKAGE4中,包括面向SPC3的C原碼固態(tài)程序DPS2。利用它所提供的用戶宏接口,可以方便的實現(xiàn)SPC3中各寄存器及緩沖區(qū)的初始化設(shè)置,根據(jù)中斷源類型實現(xiàn)與主站通信數(shù)據(jù)的接受與發(fā)送。因此單片機(jī)不需要考慮從站狀態(tài)機(jī)的實現(xiàn)順序。其主程序流程圖如圖2所示,中斷流程如圖3所示。

              
            圖2:主程序流程圖

              
            圖3:SPC3中斷程序流程圖

              其中,有以下三個部分需要重點說明。

              (1)SPC3初始化

              微處理器對SPC3的初始化包括:屏蔽不允許的中斷;設(shè)置用戶WatchDog值;將ID號、從站地址賦給SPC3對應(yīng)寄存器,初始化方式寄存器;自定義各buffer長度,初始化spc3中各buffer(地址、長度賦給對應(yīng)參數(shù)寄存器,并將buffer區(qū)清0);從read-cfg-buffer中讀入配置數(shù)據(jù)計算三個Din-buffer和三個Dout-buffer各自的實際長度及地址;獲取三個Din-buffer中空閑的一個,其地址賦user_input_buffer_ptr_fb;獲取兩個診斷buffer中空閑的一個地址賦user_diag_buffer_ptr_fb,置診斷標(biāo)志user_diag_flag_fb = TRUE;從Status Register取波特率賦;給處理器參數(shù)wd_baud_ctrl_val賦值。考慮到在實際的系統(tǒng)運行中,一般不需要更改從站地址,初始化中將更改站地址標(biāo)志置為FALSE。

              (2)數(shù)據(jù)通信過程

              當(dāng)參數(shù)化、配置完成后狀態(tài)機(jī)進(jìn)入數(shù)據(jù)交換狀態(tài)。微處理器根據(jù)SPC3中斷寄存器的狀態(tài)對SPC3接收到的主站發(fā)送的輸出數(shù)據(jù)進(jìn)行轉(zhuǎn)存,同時組織需通過SPC3發(fā)送給主站的數(shù)據(jù),并根據(jù)要求組織外部診斷等。

              在RS-232串口通信程序設(shè)計中,分別設(shè)有串口接受中斷、發(fā)送中斷程序來處理串口數(shù)據(jù)的接受和發(fā)送。由于PROFIBUS側(cè)的數(shù)據(jù)更新速率遠(yuǎn)遠(yuǎn)快于RS-232側(cè)的數(shù)據(jù)更新的速率,為保證由PROFIBUS側(cè)輸入的數(shù)據(jù)能一次性的整塊傳送到RS-232側(cè),需在程序中加一數(shù)據(jù)緩沖區(qū)來臨時存儲PROFIBUS 側(cè)輸入的數(shù)據(jù)。在對數(shù)據(jù)緩沖區(qū)中的數(shù)據(jù)的處理期間,數(shù)據(jù)緩沖區(qū)加鎖,以防止數(shù)據(jù)緩沖區(qū)中數(shù)據(jù)更新,只有一次處理完成,數(shù)據(jù)緩沖區(qū)才解鎖,允許再次更新其中數(shù)據(jù)。

              在每一次程序循環(huán)中,程序一次性的將整塊PROFIBUS側(cè)的輸入數(shù)據(jù)讀入一數(shù)據(jù)緩沖區(qū)中并將其加鎖,進(jìn)行數(shù)據(jù)處理,輸出到RS-232側(cè)的設(shè)備中,接受RS-232側(cè)的返回信息;如果數(shù)據(jù)緩沖區(qū)中的PROFIBUS側(cè)的輸入數(shù)據(jù)數(shù)據(jù)處理完畢,數(shù)據(jù)緩沖區(qū)解鎖,將RS-232 側(cè)的輸入數(shù)據(jù)及信息傳送到PROFIBUS側(cè)。依次再循環(huán)。

              (3)在主站配置中要注意,雖然本產(chǎn)品的I/O數(shù)量可根據(jù)PROFIBUS規(guī)范任意設(shè)定,但配置報文的長度是固定的。

              結(jié)束語

              PROFIBUS是世界上最著名的工業(yè)現(xiàn)場總線之一,并已為愈來愈多的國內(nèi)外用戶所接受和采用。本總線橋產(chǎn)品的開發(fā),使用戶可以方便地將具有RS-232接口的傳統(tǒng)儀器設(shè)備集成到PROFIBUS總線系統(tǒng),成為一種符合PROFIBUS總線協(xié)議的新產(chǎn)品。

              參考文獻(xiàn):

              [1] Siemens,SPC3 and DPS2 User Description,Siemens AG in Fed Rep of Germany,1998

              [2] 滿慶豐、韓鋒、夏繼強(qiáng),開發(fā)PROFIBUS-DP智能從站,電測與儀表,2003,40(3)

              [3] 方彥軍、朱登攀,圖像傳輸中PROFIBUS接口的設(shè)計與實現(xiàn),自動化儀表,2002,23(12)



            評論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉