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

          關(guān) 閉

          新聞中心

          EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 基于TMS320F2812的智能變送器

          基于TMS320F2812的智能變送器

          作者: 時(shí)間:2010-04-26 來(lái)源:網(wǎng)絡(luò) 收藏

          3.1 主程序
          的main函數(shù)軟件代碼如下:

          3.2 A/D轉(zhuǎn)換模塊軟件設(shè)計(jì)
          在對(duì)MAXl400進(jìn)行操作時(shí),首先應(yīng)對(duì)其初始化。若不初始化,而直接讀取A/D轉(zhuǎn)換的數(shù)據(jù),MAXl400將按其內(nèi)部各寄存器上電復(fù)位時(shí)的缺省值進(jìn)行轉(zhuǎn)換。InitMAXl400()的程序流程如圖3所示。

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


          分別用軟件控制MAXl400的DRDY,CS,SCLK,DIN和DOUT5個(gè)引腳的狀態(tài),從而實(shí)現(xiàn)對(duì)它的操作,MAXl400的讀寫(xiě)按照嚴(yán)格的時(shí)序進(jìn)行。
          主程序中SPIRXINTA_ISR、SPIRXINTA_ISR分別為SPI輸入、輸出子程序。

          Measure()子程序是對(duì)A/D轉(zhuǎn)換器采集后的數(shù)據(jù)進(jìn)行處理的過(guò)程。當(dāng)SPISTS.SPINTFLAG=1時(shí),CPU將SPIRXBUF中的值存儲(chǔ)到Sci_VarRx[i]數(shù)組中,MAXl400是18位,而為16位處理器。所以每一個(gè)采樣值要占2個(gè)存儲(chǔ)空間。測(cè)量結(jié)果濾波采用中位值平均濾波法,即每個(gè)測(cè)量值采樣10次,去除最大值和最小值,其余8個(gè)值取算術(shù)平均值。
          3.3 eCAN通信模塊軟件設(shè)計(jì)
          在使用eCAN模塊之前首先必須對(duì)其內(nèi)部寄存器進(jìn)行初始化設(shè)置。InitECan()包括:1)為正確配置2個(gè)引腳CANTX和CANRX,因?yàn)檫@兩個(gè)I/O口均為復(fù)用口。2)初始化位定時(shí)器,位定時(shí)器CANBTC包括CAN控制器的通訊波特率預(yù)分頻器BRP、同步跳轉(zhuǎn)寬度SJW、采樣次數(shù)SAM和TSEGl、TSEG2。3)初始化郵箱,郵箱初始化主要設(shè)置郵箱的標(biāo)識(shí)符、控制域以及對(duì)相應(yīng)的郵箱賦初值。

          4 結(jié)束語(yǔ)
          和MAXl400為核心、eCAN技術(shù)的,集轉(zhuǎn)換、計(jì)算、通信等功能于一體,具有高精度、體積小、功耗低的特點(diǎn)。將數(shù)據(jù)經(jīng)eCAN總線傳輸至上位機(jī),提高了工業(yè)儀器的可靠性及靈活性,為工業(yè)現(xiàn)場(chǎng)的集中控制提供了較好的硬件平臺(tái)。


          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


          相關(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); })();