<var id="fnfpo"><source id="fnfpo"></source></var>
<rp id="fnfpo"></rp>

<em id="fnfpo"><object id="fnfpo"><input id="fnfpo"></input></object></em>
<em id="fnfpo"><acronym id="fnfpo"></acronym></em>
  • <th id="fnfpo"><track id="fnfpo"></track></th>
  • <progress id="fnfpo"><track id="fnfpo"></track></progress>
  • <tbody id="fnfpo"><pre id="fnfpo"></pre></tbody>

  • x
    x

    dsPIC30F3013的CAN總線數據采集系統

    發布時間:2010-1-17 09:25    發布者:李寬
    關鍵詞: CAN , 數據采集 , 系統 , 總線
    引言

    在工業控制中,為了保證系統的可靠運行,需要檢測周圍的環境變量(如溫度、氣壓、濕度等)。通常的做法是將分布在各處的傳感器采集到的信號通過各自的線路連接到監控中心,這種方式在有效地完成檢測任務的同時也造成了線路資源的極大浪費。因此,提出了簡化線路布局的要求。CAN(控制器局域網)是串行通信協議,能有效支持高安全等級的分布實時控制,同時在理論上,CAN總線網絡內的節點近乎沒有限制;诖,本設計將一種基于數字信號控制器的CAN總線數據采集系統作為一個CAN節點,每一個需要監控的區域放置一個CAN節點,各個節點通過CAN總線與監控中心實施通信。系統總體框圖如圖1所示。



    1 硬件構成

    該數據采集系統由兩部分構成:控制部分,包括前端信號的抗混疊濾波器和用于信號采集的12位模數轉換器;CAN總線接口電路部分,由MCP2515CAN協議控制器和MCP2551高速CAN收發器構成。系統接3路信號,TEM、PRE、RH分別為溫度、氣壓、相對濕度。

    1.1 控制部分

    dsPIC30F3013是Microchip公司生產的傳感器系列數字信號控制器。該控制器采用16位(數據)改良的哈佛結構,并帶有增強型指令集,包含對DSP的有力支持。工作速度最高可達30MIPS,內部集成10通道12位模數轉換器,最大轉換速度為200 ksps。

    工控系統中,由于各類噪聲的存在,需要在信號采集端加上抗混疊濾波電路,如圖2所示。



    抗混疊使用Sallen Key二階低通濾波器。由于環境變量均為緩變量,濾波器帶寬設置為30Hz。電路中R1、R2、C1、C2的值確定了抗混疊濾波器的特征頻率f0,同時也保證了在10ksps模數轉換速率下12位的分辨率。為了使在整個通帶范圍內信號均能很好地通過,需要調整SallenKey濾波器的品質因數Q。Q值由式(1)決定:



    Sallen Key濾波器的幅頻特性顯示,當品質因數在0.7~0.9之間時,頻率特性達到最佳。本Q值選定為0.8。

    使用dsPIC30F3013的12位ADC模塊進行數據采集。對3路環境信號進行循環掃描,每完成12個采樣/轉換過程產生一個中斷。中斷過程中完成4次平均值數字濾波及相應參數的格式調整,然后,通過SPI接口傳送到CAN協議控制器。

    1.2 CAN總線接口電路部分

    CAN總線接口電路如圖3所示。



    CAN協議控制器采用Microchip公司生產的MCP2515。MCP2515是帶有SPI接口的獨立CAN控制器,它完全支持CANV2.0B技術規范,通信速率為1Mb/s,包括2個接收緩沖器、6個29位驗收濾波寄存器、2個29位驗收屏蔽寄存器、3個具有優先級設定及發送中止的發送緩沖器、高速SPI接口(10MHz)。

    MCP2515與MCU的接口可以靈活配置?赏ㄟ^引腳(如TXORTS)與MCU的數字I/O腳直接相連,利用數字I/O的讀寫功能控制MCP2515的狀態;也可以直接使用MCP2515的SPI指令集來實現所有的功能。用于控制MCP2515的SPI指令集如表1所列。



    dsPIC30F3013通過SPI接口與MCP2515進行通信,dsPIC30F3013的SPI模塊工作在主控模式,MCP2515工作在從動模式。dsPIC30F3013通過調用SPI指令來訪問MCP2515的內部寄存器。

    MCP2551是一個可容錯的高速CAN收發器,它完全符合ISO-11898標準,包括能滿足24 V電壓要求。它的工作速率可高達1 Mb/s。

    2 軟件設計

    dsPIC30F3013作為控制核心,它承擔著數據采集處理和CAN通信的任務。數據采集部分的工作流程如圖4所示。



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

    MCP2515的SPI接口支持0,0和1,1運行模式。外部數據和命令通過SI引腳傳送到器件中,且數據在SCK時鐘信號的上升沿傳送進去,在SCK的下降沿通過SO引腳傳送出去。CS片選引腳設置為低電平后,MCP2515希望收到的第一個字節是指令/命令字節,這就要求在調用一個命令時,要先把CS引腳拉升為高電平然后再降低為低電平。使用裝載TX緩沖器指令,取消了一般寫命令所需的8位地址,只需選擇地址指針設置的6個地址之一,便可快速地將數據寫入發送緩沖器。

    下面以MCP2515的裝載TX緩沖器為例來說明數據的發送過程。裝載TX緩沖器的時序如圖5所示。本應用有3路信號,每一路信號都要求精確到小數點后2位,所以經過處理后的數據格式使用浮點型。一個浮點數需要占用4字節,為了使監控中心易于管理,用包含4字節數據長度的標準數據幀來發送數據,F以裝載TX緩沖器0為例說明一次數據發送操作,如圖6所示。



    dsPIC30F3013的SPI模塊在數據發送和接收時有8位和16位兩種工作模式可選。MCP2515的SPI指令、內部寄存器地址及數據都是8位的,所以在初始化SPI模塊時,清零MODE16(SPI1CON<10>),將通信數據配置為8位寬度。

    結語

    本文介紹了一種以Microchip公司dsPIC30F3013為控制核心,以MCP2515為CAN控制器和以MCP2551作為CAN收發器的數據采集系統。該系統與傳感器組成一個CAN節點,有效地改善了工控系統中監控部分線路布局范圍廣、布線凌亂、抗干擾能力差的現狀,同時,使整個監控系統更易于擴展。實踐證明,這種設計是可靠的、高性能的。只是系統工作在多雷電地區時,可能會發生雷擊事故,在后續設計中會使用高速光電耦合器在CAN控制器與CAN收發器之間做隔離。

    參考文獻

    1. Microchip Technology Inc.DS70139E_CN.2007.
    2. Microchip Technology Inc.DS70046E_CN.2006.
    3. Microchip Technology Inc.DS21801D_CN.2005.
    4. Microchip Technology Inc.DS21667D_CN.2005.
          
    作者單位:中北大學光電儀器廠 司寶鋒  孟鵬花  來源:《單片機嵌入式系統應用》 2009(8)
    本文地址:http://www.portaltwn.com/thread-7757-1-1.html     【打印本頁】

    本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
    您需要登錄后才可以發表評論 登錄 | 立即注冊

    廠商推薦

    • Microchip視頻專區
    • EtherCAT®和Microchip LAN925x從站控制器介紹培訓教程
    • MPLAB®模擬設計器——在線電源解決方案,加速設計
    • 讓您的模擬設計靈感,化為觸手可及的現實
    • 深度體驗Microchip自動輔助駕駛應用方案——2025巡展開啟報名!
    • 貿澤電子(Mouser)專區

    相關視頻

    關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
    電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
    快速回復 返回頂部 返回列表
    精品一区二区三区自拍图片区_国产成人亚洲精品_亚洲Va欧美va国产综合888_久久亚洲国产精品五月天婷