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

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > dsPIC3F3013的CAN息線數(shù)據(jù)采集系統(tǒng)

          dsPIC3F3013的CAN息線數(shù)據(jù)采集系統(tǒng)

          作者: 時(shí)間:2009-09-21 來源:網(wǎng)絡(luò) 收藏

          Sallen Key濾波器的幅頻特性顯示,當(dāng)品質(zhì)因數(shù)在0.7~0.9之間時(shí),頻率特性達(dá)到最佳。本Q值選定為0.8。
          使用dsPI13的12位ADC模塊進(jìn)行。對3路環(huán)境信號進(jìn)行循環(huán)掃描,每完成12個(gè)采樣/轉(zhuǎn)換過程產(chǎn)生一個(gè)中斷。中斷過程中完成4次平均值數(shù)字濾波及相應(yīng)參數(shù)的格式調(diào)整,然后,通過SPI接口傳送到協(xié)議控制器。
          1.2 總線接口電路部分
          總線接口電路如圖3所示。

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

          CAN協(xié)議控制器采用Microchip公司生產(chǎn)的MCP2515。MCP2515是帶有SPI接口的獨(dú)立CAN控制器,它完全支持CAN V2.0B技術(shù)規(guī)范,通信速率為1 Mb/s,包括2個(gè)接收緩沖器、6個(gè)29位驗(yàn)收濾波寄存器、2個(gè)29位驗(yàn)收屏蔽寄存器、3個(gè)具有優(yōu)先級設(shè)定及發(fā)送中止的發(fā)送緩沖器、高速SPI接口(10 MHz)。
          MCP2515與MCU的接口可以靈活配置??赏ㄟ^引腳(如TXORTS)與MCU的數(shù)字I/O腳直接相連,利用數(shù)字I/O的讀寫功能控制MCP2515 的狀態(tài);也可以直接使用MCP2515的SPI指令集來實(shí)現(xiàn)所有的功能。用于控制MCP2515的SPI指令集如表1所列。

          dsPI13通過SPI接口與MCP2515進(jìn)行通信,dsPI13的SPI模塊工作在主控模式,MCP2515工作在從動(dòng)模式。dsPIC30F3013通過調(diào)用SPI指令來訪問MCP2515的內(nèi)部寄存器。
          MCP2551是一個(gè)可容錯(cuò)的高速CAN收發(fā)器,它完全符合ISO-11898標(biāo)準(zhǔn),包括能滿足24 V電壓要求。它的工作速率可高達(dá)1 Mb/s。

          2 軟件設(shè)計(jì)
          dsPIC30F3013作為控制核心,它承擔(dān)著處理和CAN通信的任務(wù)。部分的工作流程如圖4所示。

          dsPIC30F3013的12位ADC模塊包含一塊ADCBUFO至ADCBUFF的16字雙口只讀緩沖區(qū),對ADC轉(zhuǎn)換結(jié)果進(jìn)行緩沖。本應(yīng)用采樣3路信號,并用掃描輸入,經(jīng)過12次ADC轉(zhuǎn)換后,每次轉(zhuǎn)換的數(shù)據(jù)依次寫入ADCBUF0至ADCBUFB。即代號為0、3、6、9的AD-CBUF中存放的是同一個(gè)信號的不同時(shí)間的采樣值,將這4個(gè)緩沖器的結(jié)果相加,然后再右移2位,即可實(shí)現(xiàn)該信號的4次平均值數(shù)字濾波。其他兩個(gè)信號存放在與之相關(guān)的 ADCBUF中,處理方法與此相同。



          評論


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