dsPIC3F3013的CAN息線數據采集系統
Sallen Key濾波器的幅頻特性顯示,當品質因數在0.7~0.9之間時,頻率特性達到最佳。本Q值選定為0.8。
使用dsPIC30F3013的12位ADC模塊進行數據采集。對3路環境信號進行循環掃描,每完成12個采樣/轉換過程產生一個中斷。中斷過程中完成4次平均值數字濾波及相應參數的格式調整,然后,通過SPI接口傳送到CAN協議控制器。
1.2 CAN總線接口電路部分
CAN總線接口電路如圖3所示。本文引用地址:http://www.104case.com/article/163565.htm
CAN協議控制器采用Microchip公司生產的MCP2515。MCP2515是帶有SPI接口的獨立CAN控制器,它完全支持CAN V2.0B技術規范,通信速率為1 Mb/s,包括2個接收緩沖器、6個29位驗收濾波寄存器、2個29位驗收屏蔽寄存器、3個具有優先級設定及發送中止的發送緩沖器、高速SPI接口(10 MHz)。
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中,處理方法與此相同。
評論