999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于STM32的CAN總線數(shù)據(jù)采集卡設計

2020-05-23 03:18:12李蛟龍任子真
沈陽化工大學學報 2020年1期
關鍵詞:設計

李蛟龍,任子真

(沈陽化工大學 計算機科學與技術學院,遼寧 沈陽 110142)

數(shù)據(jù)采集(DAQ)是指在傳感器和其他設備中對模擬和數(shù)字單元進行非電量或電量信號的自動采集和分析處理[1].在工廠里監(jiān)控環(huán)境及設備的正常運轉(zhuǎn),需要測量電流、電壓、溫度等參數(shù).這時數(shù)據(jù)采集的正確性就顯得尤為重要,也對數(shù)據(jù)采集卡提出了較高的要求.現(xiàn)階段國內(nèi)外板卡均參照IBM-PC機的總線技術標準設計和生產(chǎn),用戶只要把這類板卡插入IBM-PC機主板上相應的I/O擴展槽中就可以迅速方便地構成一個數(shù)據(jù)采集與處理系統(tǒng),但相對成本較高,不便于攜帶.所以本文提出了一種低成本、高性能的數(shù)據(jù)采集卡設計方案,便于攜帶且性價比較高.采用STM32作為微控制器,并用內(nèi)嵌式A/D轉(zhuǎn)換模塊將采集的信號進行轉(zhuǎn)換、CAN總線進行傳輸?shù)囊惶讛?shù)據(jù)采集卡程序,同時配備上位機形成一套完整的數(shù)據(jù)采集系統(tǒng).該系統(tǒng)具有高性能、低成本、方便攜帶的特點.數(shù)據(jù)采集卡的設計包括嵌入式硬件設計和嵌入式軟件設計兩部分:硬件設計包括A/D轉(zhuǎn)換電路設計和CAN總線電路設計;軟件設計包括 A/D轉(zhuǎn)換程序設計和CAN總線程序設計.

1 總體設計

采集卡的硬件設計主要是最小系統(tǒng)電路的設計和轉(zhuǎn)換傳輸?shù)碾娐吩O計.最小系統(tǒng)電路的主要作用是形成單片機的基本功能電路;轉(zhuǎn)換和傳輸?shù)碾娐酚脕韺㈦妷骸㈦娏鳌囟刃盘栟D(zhuǎn)化及數(shù)據(jù)的實時傳輸.根據(jù)控制要求向MCU發(fā)出響應,采集所需要的信號,收集到的信號將傳輸?shù)絊TM32芯片,在上位機下載程序.采集卡的軟件設計主要是由A/D信號采集模塊、CAN總線數(shù)據(jù)傳輸模塊、I/O口輸入輸出程序組成.采集卡的總體設計框圖如圖1所示.

圖1 總體設計

2 硬件設計

2.1 最小系統(tǒng)電路設計

STM32F103xx增強型系列由意法半導體集團設計,使用高性能ARMCortex-M3、32位的RISC內(nèi)核,工作頻率為72 MHz,內(nèi)置高速存儲器(高達128 kB的閃存和20 kB的SRAM),豐富的I/O端口和外圍設備及APB總線[2].所有類型的設備包含2個12位的ADC、3個通用16位定時器和1個PWM定時器,也包括標準和先進的通信接口:I2C、SPI、3個USART、1個USB和1個CAN.具有高性能、實時功能、數(shù)字信號處理、低功耗和低電壓運行特性,同時保持了高集成度和易開發(fā)性的特點[3].圖2為最小系統(tǒng)電路圖.

圖2 最小系統(tǒng)電路

2.2 A/D轉(zhuǎn)換電路設計

A/D轉(zhuǎn)換是將模擬信號轉(zhuǎn)變?yōu)閿?shù)字信號,通過特定的電路來實現(xiàn).模擬量可以是電壓、電流等電信號,也可以是壓力、溫度、濕度、位移、聲音等非電信號.在A/D轉(zhuǎn)換之前,A/D轉(zhuǎn)換器的輸入信號必須是通過各種傳感器將各種物理量轉(zhuǎn)換成的電壓信號.

ADC是一種逐次逼近型模擬數(shù)字轉(zhuǎn)換器,有18個通道,可測量16個外部和2個內(nèi)部信號源.各通道的A/D轉(zhuǎn)換可以單次、連續(xù)、掃描或者間接模式執(zhí)行,ADC的結果可以用對齊的方式存儲在16位的數(shù)據(jù)寄存器中[4].

轉(zhuǎn)換的核心是將供電電路進行必要的降壓和升壓,單片機A/D輸入信號的電壓范圍從0~3.3 V提高至-12~12 V,經(jīng)過電壓輸入、轉(zhuǎn)入輸入通道、轉(zhuǎn)換順序、觸發(fā)源、轉(zhuǎn)換時間、中斷、電壓轉(zhuǎn)換的步驟完成ADC轉(zhuǎn)換.

2.3 CAN總線設計

CAN總線不同于I2C總線和SPI總線.CAN總線定義了一個更優(yōu)秀的物理層和數(shù)據(jù)鏈路層,是一個真正的多主機網(wǎng)絡.當總線處于空閑狀態(tài)時,任何節(jié)點單元都可以應用成為主機.其原理為首先訪問總線的節(jié)點,節(jié)點可以獲得總線的控制權,當多個節(jié)點同時獲取總線的控制權時,會發(fā)生仲裁事件,高優(yōu)先級的節(jié)點將獲得總線控制權.

CAN總線的物理連接只需兩根線,常稱為CAN_H和CAN_L,通過差分信號進行數(shù)據(jù)的傳輸.CAN總線有兩種電平,分別為隱形電平和顯性電平,因此兩種電平有著以下關系:若隱形電平相遇,則總線表現(xiàn)為隱形電平;若顯性電平相遇,則總線表現(xiàn)為顯性電平;若隱形電平和顯性電平相遇,則總線表現(xiàn)為顯性電平[5].CAN總線收發(fā)示意圖如圖3所示.

圖4、圖5分別為采集卡電路板的打樣圖和實物圖.

圖3 CAN收發(fā)示意圖

圖4 電路板打樣圖

圖5 電路板實物圖

3 軟件設計

3.1 A/D轉(zhuǎn)換程序設計

(1)配置RCC寄存器組,配置PLL時鐘為72 MHz并作為主時鐘,配置PCLK2為PLL的2分頻,并配置ADC時鐘為PCLK2的4分頻.

(2)打開ADC設備時鐘,同時打開GPIOB設備時鐘.

(3)配置GPIOB.0引腳為模擬輸入模式.

(4)初始化ADC寄存器組,使用ADC1第8轉(zhuǎn)換通道,轉(zhuǎn)換通道數(shù)為1,采樣時間為60 s.

(5)配置USART寄存器組.

ADC完成單次轉(zhuǎn)換所需時間為

tcov=Nperiod/fadc.

其中:t為單次轉(zhuǎn)換時間;N為整個轉(zhuǎn)換所需周期;f為時鐘頻率.

ADC轉(zhuǎn)換與采樣電壓之間的關系:STM32微控制器的ADC為12位精度,則表示其轉(zhuǎn)換結果數(shù)據(jù)最大為0X0FFF,測取STM32的參考電壓為Uref轉(zhuǎn)換為Usample,利用公式計算出所對應的采樣電壓Usample[6]為

Usample=Uref×Uvalue/(0X0FFF+1).

為了保證采樣速度,采樣的最小時間選擇為1 μs,A/D獨立模式,單通道、單次、右對齊,按照規(guī)則通道轉(zhuǎn)換完成.圖6為A/D轉(zhuǎn)換的程序設計流程.

圖6 A/D轉(zhuǎn)換的程序設計流程

3.2 CAN總線程序設計

(1)初始化RCC寄存器組,配置PLL輸出時鐘,分別打開CAN、GPIOA、USART1的設備時鐘.

(2)設置CAN的Tx引腳為復用推挽模式,并設置Rx引腳為上拉輸入模式.

(3)初始化控制器寄存器組,其中CAN工作模式為環(huán)回模式.

(4)初始化USART、使用拓展數(shù)據(jù)幀格式發(fā)送,ID為0XAA,數(shù)據(jù)長度為8.

計算波特率是使用任何總線的重要內(nèi)容之一,CAN波特率計算公式為

波特率=1/正常的位時間[7].

其中:正常的位時間=1×tq+tbs1+tbs2,tq=CAN的分頻數(shù)×tpclk,ttpclk為APB1總線的時鐘周期;tbs1和tbs2稱為時間段1、時間段2,這兩個階段的時間長度都是以tq的時間單元為單位,tbs1的時間長度設置為8tq,tbs2的時間長度設置為7tq.

CAN通信實驗流程如圖7所示.

圖7 CAN通信實驗流程

采集卡主程序設計的部分代碼如下:

main主函數(shù)

#include “stm32f10x.h”

#include “iwdg.h”

#include “adc.h”

#include “can.h”

#include “l(fā)ed.h”

extern vu16 AD_Value[50][3];//用來存放ADC轉(zhuǎn)換結果,也是DMA的轉(zhuǎn)換地址

extern vu16 After_filter[3];//用來存放平均值之后的結果

u16 GetVolt(u16 advalue0);//獲取電壓值

u16 GetCurrent(u16 advalue1);//獲取電流值

u16 GetTemp(u16 advalue2);//獲取溫度

int main(void)

{

u8 TransmitMailbox = 0;//定義消息發(fā)送狀態(tài)變量

CanTxMsg TxMessage;//定義消息發(fā)送結構體

IWDG_Configuration();//設置獨立看門狗

CAN_Configuration();//配置CAN控制器

ADC_Configuration();//配置ADC

DMA_Configuration();//配置DAM

LED_On();//LED指示燈點亮

while(1)

{

filter();//求平均值函數(shù)

TxMessage.StdId = 0x317;//標準ID:0x317

TxMessage.RTR = CAN_RTR_DATA;//類型為數(shù)據(jù)幀

TxMessage.IDE = CAN_ID_STD;//使用標準標識符

TxMessage.DLC = 8;//數(shù)據(jù)長度為8字節(jié)

TxMessage.Data[0]= 0x00;

TxMessage.Data[1]= 0x00;

TxMessage.Data[2]=(unsigned char)(GetTemp(After_filter[0])>>8);//溫度傳輸

TxMessage.Data[3]=(unsigned char)(GetTemp(After_filter[0]));

TxMessage.Data[4]=(unsigned char)(GetVolt(After_filter[1])>>8);//電壓傳輸

TxMessage.Data[5]=(unsigned char)(GetVolt(After_filter[1]));

TxMessage.Data[6]=(unsigned char)(GetCurrent(After_filter[2])>>8);//電流傳輸

TxMessage.Data[7]=(unsigned char)(GetCurrent(After_filter[2]));

TransmitMailbox = CAN_Transmit(CAN1,&TxMessage);//數(shù)據(jù)發(fā)送

while((CAN_TransmitStatus(CAN1,TransmitMailbox)!= CANTXOK));//等待發(fā)送完成

IWDG_ReloadCounter();//看門狗喂狗

}

}

4 結 論

通過硬件電路板的焊制以及調(diào)試和上位機的演示接收發(fā)送可以很完整地采集到數(shù)據(jù),形成一個簡潔完善的系統(tǒng).采用STM32芯片內(nèi)置A/D轉(zhuǎn)換功能、CAN總線傳輸?shù)葍?nèi)部功能,成本低廉,設計簡單,易于使用.系統(tǒng)不足之處在于只能實現(xiàn)較小量的數(shù)據(jù)采集,有待繼續(xù)開發(fā),現(xiàn)階段可實現(xiàn)小規(guī)模產(chǎn)品的運營,可以適用于儀器儀表,計算機等領域.

猜你喜歡
設計
二十四節(jié)氣在平面廣告設計中的應用
河北畫報(2020年8期)2020-10-27 02:54:06
何為設計的守護之道?
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
基于PWM的伺服控制系統(tǒng)設計
電子制作(2019年19期)2019-11-23 08:41:36
基于89C52的32只三色LED搖搖棒設計
電子制作(2019年15期)2019-08-27 01:11:50
基于ICL8038的波形發(fā)生器仿真設計
電子制作(2019年7期)2019-04-25 13:18:16
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
從平面設計到“設計健康”
商周刊(2017年26期)2017-04-25 08:13:04
主站蜘蛛池模板: 亚洲男人的天堂在线| 亚洲欧美精品一中文字幕| 丁香婷婷综合激情| 国产激情无码一区二区APP | 天堂在线亚洲| 欧美亚洲另类在线观看| 狠狠色综合网| 日韩毛片视频| 精品第一国产综合精品Aⅴ| 亚洲无码视频图片| 无码啪啪精品天堂浪潮av| 亚洲av成人无码网站在线观看| 久久久成年黄色视频| 亚洲区视频在线观看| 亚洲欧美精品在线| 亚洲美女久久| 99国产精品国产| 91精品国产91欠久久久久| 亚洲丝袜第一页| 青青草91视频| 在线观看亚洲国产| 在线精品亚洲国产| 999国内精品久久免费视频| 亚洲Av综合日韩精品久久久| 久久亚洲AⅤ无码精品午夜麻豆| 日韩免费毛片视频| 久久男人资源站| 成年午夜精品久久精品| 激情無極限的亚洲一区免费| 91久久性奴调教国产免费| 中文字幕久久波多野结衣| 欧美日韩一区二区三区四区在线观看| 国产成人av一区二区三区| 欧洲极品无码一区二区三区| 91色老久久精品偷偷蜜臀| 亚洲中文字幕手机在线第一页| 日韩成人午夜| 激情六月丁香婷婷| 亚洲欧美不卡中文字幕| 国产一区免费在线观看| 尤物视频一区| 午夜欧美在线| 伦伦影院精品一区| 91精品最新国内在线播放| 怡春院欧美一区二区三区免费| 亚洲av无码人妻| 国产黄色视频综合| 日韩无码真实干出血视频| 国产成人资源| 免费一级无码在线网站| 亚洲精品无码日韩国产不卡| 日本伊人色综合网| 无码区日韩专区免费系列| 欧美中文一区| 欧美精品在线视频观看| 片在线无码观看| 国产亚洲精品自在久久不卡 | 亚洲人成影院在线观看| 日本不卡视频在线| 久操线在视频在线观看| 国产一级视频在线观看网站| 欧美日韩中文国产| 日韩精品成人在线| 亚洲人成在线精品| 91亚洲影院| 91丨九色丨首页在线播放 | а∨天堂一区中文字幕| 色香蕉网站| 国产精品无码一二三视频| 久久亚洲中文字幕精品一区| 精品伊人久久久久7777人| 亚洲综合在线最大成人| 亚洲黄网视频| 色哟哟精品无码网站在线播放视频| 欧美精品啪啪一区二区三区| 97se亚洲综合在线| 99久久精品国产综合婷婷| 成年女人a毛片免费视频| 日韩视频免费| 伦伦影院精品一区| 国产呦视频免费视频在线观看| 国产精品香蕉在线观看不卡|