<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于16位DSP的PROFIBUS-DP從站系統(tǒng)設(shè)計(jì)

          基于16位DSP的PROFIBUS-DP從站系統(tǒng)設(shè)計(jì)

          作者: 時(shí)間:2012-08-02 來源:網(wǎng)絡(luò) 收藏

          本文引用地址:http://www.ex-cimer.com/article/257312.htm

          SPC3通信軟件的設(shè)計(jì)

          設(shè)計(jì)中將電能參數(shù)看作是從站的輸入數(shù)據(jù),主站對從站的賦值看作是輸出數(shù)據(jù),而把故障信息當(dāng)作外部診斷處理。對于主站賦值的處理采用SPC3中斷的方式,以便能達(dá)到實(shí)時(shí)性。除此之外,參數(shù)化報(bào)文、配置報(bào)文的處理也在SPC3中斷程序中完成。SPC3中斷程序流程圖如圖3。


          3 SPC3中斷程序流程圖

          由于SPC3集成了完整的DP協(xié)議,標(biāo)準(zhǔn)的診斷信息由SPC3自動(dòng)形成并傳輸,因此用戶將與DP主站通信的信息存放到指定的緩沖器中即可;當(dāng)用戶需接收主站傳來的信息時(shí),也只需訪問指定的緩沖區(qū)。

          的智能軟件的設(shè)計(jì)

          數(shù)據(jù)采集、數(shù)據(jù)處理、故障判斷、以及必要信息的記錄在程序中完成。為了連續(xù)的對系統(tǒng)監(jiān)測,數(shù)據(jù)采集采用中斷的方法,不間斷的采集數(shù)據(jù)。對于故障信息則采用軟中斷的方法,將故障報(bào)警信息盡快的送到SPC3的診斷緩沖區(qū),以便能及時(shí)的等待主站的輪詢。圖4給出了系統(tǒng)的主程序流程圖。


          圖4 主程序流程圖

          SPC3的軟件操作

          由于的速度快,在與SPC3進(jìn)行數(shù)據(jù)交換時(shí)需速度一致。我們通過軟件設(shè)置F206的等待時(shí)間使兩者的速度相匹配。設(shè)計(jì)中對SPC3采用結(jié)構(gòu)體類型的寄存器的方法,對其進(jìn)行操作。首先定義一個(gè)與1. 5KB的雙口RAM相對應(yīng)的結(jié)構(gòu)體類型數(shù)據(jù)“SPC3”,然后F206寄存器的頭文件中定義一個(gè)“SPC3 ”類型的寄存器“spc3”,這樣就可方便靈活地對其進(jìn)行操作了。軟件使用C語言編寫, SPC3的初始化部分程序如下:

          頭文件中定義“spc3”寄存器
          .
          #define spc3 ( * ( ( volatile SPC3) 0xE800) )
                /*SPC3影射到全局?jǐn)?shù)據(jù)空間的0xE800* /
          .
          初始化操作:

          GREG = GLOBAL 16K;      / *映射到16KB全局?jǐn)?shù)據(jù)空間* / .
          spc3. mode_ reg0_ L = 0x00d3;
          spc3. mode _reg0 _H = 0x0003; /*設(shè)置SPC3的工作方式* /
          spc3. is reg. mask[ 0 ] = 0x001e;
          spc3. is reg. mask[ 1 ] = 0x002d;  / *設(shè)置SPC3的中斷源,設(shè)置輸出數(shù)據(jù)處理為SPC3硬件中 斷* /
          spc3. r len diag buf[ 0 ] = 16;
          spc3. r len diag buf[ 1 ] = 16;
          spc3. r len p rm buf = 10;
          spc3. r len cfg buf = 2;
          spc3. r len read cfg buf = 2;
          spc3. r len din buf = 244;
          spc3. r len dout buf = 244; /*初始化各緩沖器的長度/*
          UserInputBufferPtr =DPS2 GET D IN BUF PTR ( ) ; / *獲取第一個(gè)輸入緩沖器的地址* /
          UserDiagBufferPtr =DPS2 GET D IAG BUF PTR ( ) ; /* 獲取第一個(gè)診斷緩沖器的地址*/
          UserDiagFlag = TRUE;
          ......

          本文采用運(yùn)算速度快的16 位設(shè)計(jì)了一個(gè)PROF IBUS2DP智能從站,這使得現(xiàn)場總線的應(yīng)用更加廣泛。


          上一頁 1 2 下一頁

          關(guān)鍵詞: PROFIBUS-DP DSP TMS320F206

          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();