日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 物聯(lián)網(wǎng) > 《物聯(lián)網(wǎng)技術》雜志
[導讀]摘要:介紹了基于STC12C5A60S2單片機、SJA1000型CAN接口控制器以及PCA82C250串行收發(fā)器構成的總線通信網(wǎng)絡。該網(wǎng)絡中遠端的CAN節(jié)點可監(jiān)測現(xiàn)場環(huán)境,并實現(xiàn)數(shù)據(jù)收發(fā)和串行通信,上位PC機利用VB6.0設計的監(jiān)測界面可實時顯示現(xiàn)場CAN節(jié)點的環(huán)境參數(shù)。文中重點分析了CAN總線節(jié)點和組網(wǎng)技術,給出了系統(tǒng)的硬件電路設計和軟件處理流程。實驗結果表明,該系統(tǒng)具有數(shù)據(jù)傳輸可靠、通信距離遠以及實時顯示功能,而且抗干擾能力強。

引言

CAN(ControllerAreaNetwork)總線是一種用于智能化現(xiàn)場設備和自動化系統(tǒng)的開放式、數(shù)字化、雙向串行、多節(jié)點的通信總線,廣泛應用于分布式測控系統(tǒng)。環(huán)境參數(shù)監(jiān)測系統(tǒng)研究的主要內容是設計一種可遠程采集溫度、濕度、照度等參數(shù),由參數(shù)采集、CAN數(shù)據(jù)收發(fā)、串行通信和上位機等部分組成,參數(shù)采集由數(shù)字溫度傳感器、濕度傳感器和光敏器件等組成。CAN節(jié)點的數(shù)據(jù)收發(fā)使用獨立的SJA1000總線控制器,配合CAN接口驅動芯片PCA82C250,實現(xiàn)CAN節(jié)點與PC機之間的數(shù)據(jù)傳輸。

1系統(tǒng)總體設計

CAN總線為通信載體的環(huán)境監(jiān)控系統(tǒng)設計方案中,系統(tǒng)上位機采用資源豐富的PC機,通過CAN主節(jié)點實現(xiàn)對遠端CAN節(jié)點的管理。系統(tǒng)中的遠端CAN節(jié)點具有現(xiàn)場數(shù)據(jù)采集、控制及CAN總線通信功能,通過CAN總線與監(jiān)控現(xiàn)場和其他測控節(jié)點傳送狀態(tài)和各種參數(shù),并接收上位機的命令和數(shù)據(jù)來調整和改變控制狀態(tài),CAN總線系統(tǒng)的組成結構如圖1所示。

2監(jiān)控節(jié)點的硬件設計

2.1CAN總線節(jié)點的組成

從系統(tǒng)設計成本及抗干擾能力出發(fā),CAN節(jié)點的控制芯片采用宏晶公司的1T單片機STC12C5A60S2,具有增強型8051內核,高速、抗干擾、低功耗和在線編程等優(yōu)勢,CAN節(jié)點組成如圖2所示[4]。遠端CAN節(jié)點完成數(shù)字溫度采集、照度的模擬采集、濕度的頻率捕捉以及CAN通信,主節(jié)點還具有與上位PC機通信的功能。

2.2CAN現(xiàn)場總線

CAN總線遵從ISO/OSI模型,分為3層:物理層、數(shù)據(jù)鏈路層與應用層,每一層與另一設備上相同的那一層通信。實際的通信發(fā)生在每一設備上相鄰的兩層,而設備只通過模型物理層的物理介質互連。CAN的規(guī)范定義了模型的最下面兩層:數(shù)據(jù)鏈路層和物理層,應用層協(xié)議可以由CAN用戶定義成適合特別工業(yè)領域的任何方案[5]。CAN能夠使用多種物理介質,其中最常用的是雙絞線,信號使用差分電壓傳送,兩條信號線被稱為“CAN_H”和“CAN_L”,靜態(tài)時均是2.5V左右,此時狀態(tài)表示為邏輯“1”,也叫“隱性”。用CAN_H比CAN_L高表示邏輯“0”,稱為“顯形”,此時,通常電壓值為:CAN_H為3.5V、CAN_L為1.5V。

2.3基于SJA1000的CAN總線接口

SJA1000是應用于汽車和一般工業(yè)環(huán)境的獨立CAN總線控制器E具有完成CAN通信協(xié)議所要求的全部特性,經(jīng)過簡單總線連接的SJA1000完成CAN總線的物理層和數(shù)據(jù)鏈路層的所有功能,其軟硬件設計和PCA82C200的基本CAN模式(BasicCAN)兼容,同時新增加的增強CAN模式(PeliCAN)支持CAN2.0B協(xié)議。SJA1000主要功能由接口管理邏輯、發(fā)送緩沖器、接收緩沖器、接收濾波器、位流處理器、位定時邏輯、錯誤管理邏輯等控制模塊組成。

本設計是基于SJA1000的CAN總線接口模塊,采用STC12C5A60S2單片機作為處理核心,PCA82C250作為CAN總線驅動器,整個模塊具有較好的通用性及可擴展性,電路如圖3所示。單片機現(xiàn)場采集的數(shù)據(jù)通過總線控制器SJA1000送給驅動器PCA82C250驅動CAN總線實現(xiàn)數(shù)據(jù)通信。

3環(huán)境參數(shù)采集電路設計

環(huán)境參數(shù)采集部分需要完成溫度、濕度和照度等信號采集,由于傳感器類型和成本不同,溫度采用數(shù)字式單總線傳感器DS18B20,對于濕度和照度的采集分別采用模擬的HS1101和2DU10傳感器,通過A/D轉換為數(shù)字信號。

3.1溫度采集

DS18B20數(shù)字溫度傳感器是DALLAS公司生產(chǎn)的單總線器件組成測溫系統(tǒng),具有線路簡單、使用方便的特點。由于DS18B20采用的是1-Wire總線協(xié)議方式,即在一根數(shù)據(jù)線實現(xiàn)數(shù)據(jù)的雙向傳輸。而對單片機來說,硬件上并不支持單總線協(xié)議,因此,必須采用軟件的方法模擬單總線的協(xié)議時序來完成對DS18B20芯片的訪問,通過嚴格的通信協(xié)議保證各位數(shù)據(jù)傳輸?shù)恼_性和完整性。而每一次命令和數(shù)據(jù)的傳輸都是從主機啟動寫時序開始,如果要求單總線器件回送數(shù)據(jù),在進行寫命令后,主機啟動讀時序完成數(shù)據(jù)接收,數(shù)據(jù)和命令的傳輸都是低位在先,接口電路如圖4(a)所示。

3.2濕度采集

濕度采集使用HS1101傳感器,屬于電容式濕度傳感器,專利的固態(tài)聚合物結構,其工作機理是當電極間的感濕材料吸附環(huán)境中的水分時,介電常數(shù)隨之變化,等效電容C與環(huán)境中水蒸汽的關系表示為:

其中ε0是真空介電常數(shù)、、是感濕材料的介電常數(shù)、s是電容式傳感器有效面積、d為感濕膜厚度。在環(huán)境濕度檢測中,利用HS1101濕度傳感器的等效電容與濕度的關系組成振蕩器,將濕度與電容的關系轉化為濕度與頻率的關系,圖4(b)所示是由HS1101組成典型的555非穩(wěn)態(tài)多諧振蕩器電路,HS1101作為電容變量接在555的TR與TH兩引腳上,電阻R1、R2確定后,電路的振蕩頻率主要由HS1101的等效電容即濕度大小決定,通過頻率的測量即達到檢測濕度的目的。

3.3照度采集

照度采集使用2DU10硅光電池傳感器,其應用范圍0.4?1.1um,峰值波長在0.85um附近,適合在很寬的范圍內使用。2DU10的光照特性決定了其短路電流I與光強JQ)成線性關系,短路電流I滿足如下關系:

其中狀人)為人射光的單色能流密度,,為等效轉換率,在有效范圍內可認為n不變。2DU10硅光電池傳感器將環(huán)境光強對應的短路電流經(jīng)i/u轉換得到電壓信號u如下:

輸出電壓u經(jīng)運算放大器LM358_2A放大后送入A/D轉換電路得到數(shù)字與照度的關系,其電路工作原理如圖4(c)所示。

圖4環(huán)境參數(shù)采集電路

4系統(tǒng)軟件設計

SJA1000應用程序設計

CAN總線建立通信的過程包括系統(tǒng)上電和正常運行兩個階段。在系統(tǒng)上電階段,首先要對STC12C5A60S2進行初始化設置,其次需要根據(jù)模式的選擇對SJA1000的接收濾波、位定時邏輯等參數(shù)進行設置;在正常運行階段,要準備待發(fā)送的報文,同時完成報文的接收并對發(fā)生的錯誤進行處理[7]。

可見,SJA1000的應用程序被分為SJA1000初始化程序、報文發(fā)送程序和報文接收程序。

SJA1000初始化程序

單片機STC12C5A60S2在上電后首先運行其自身的復位程序,并在此后調用SJA1000的配置程序。配置程序在設置SJA1000的寄存器前,必須通過讀復位模式/請求標志來檢查SJA1000是否已處于復位模式,因為要寫入配置信息的寄存器僅在復位模式下進行。在復位模式下,單片機STC12C5A60S2需要配置SJA1000的控制段寄存器、模式寄存器、時鐘分頻寄存器、驗收碼寄存器和驗收屏蔽寄存器、總線定時寄存器以及輸出控制寄存器。根據(jù)分析,SJA1000的初始化程序如下:

〃****SJA1000初始化

SJAEntryResetMode();

//sja1000進入復位模式

REG_CAN_CDR=0x88;

//時鐘分頻;CDR.3=1時時鐘關閉;

CDR.7=0時basicCAN;CDR.7=1時PeliCAN

SJASetBandRateStandard(ByteRate_100k);

//16M晶振,波特率設置

REG_CAN_IER=0x01;

//.1=0--關閉發(fā)送中斷使能

REG_CAN_OCR=0xaa;

//配置輸出控制寄存器

REG_CAN_CMR=0x04;//命令寄存器;釋放接收緩沖器

SJASetAccCode(0x33,0x44,0x55,0x55);

//濾波

SJASetAccMask(0xff,0xff,0xff,0xff);

//屏蔽碼設置

SJAQuitResetMode();

//退出復位模式

SJA1000報文發(fā)送程序

采用SJA1000的中斷請求控制報文的發(fā)送時,必須開放SJA1000的發(fā)送中斷使能和單片機STC12C5A56S2的外部中斷0,并設定SJA1000發(fā)送中斷的優(yōu)先級高于啟動發(fā)送。報文的發(fā)送過程分為兩個部分,一部分由STC12C5A56S2的主程序完成,另外一部分由SJA1000的發(fā)送中斷服務程序完成,這兩部分程序的流程圖如圖5(a)、(b)所示。

SJA1000報文接收程序

根據(jù)CAN協(xié)議規(guī)范,報文的接收由CAN控制器SJA1000獨立完成,收到的報文放在接收緩沖器內,同時將狀態(tài)寄存器的接收緩沖器狀態(tài)標志RBS和接收中斷標志RI置位。如果報文接收被使能,單片機將接收緩沖器內的新報文讀出,并存儲到單片機的內存單元或外部數(shù)據(jù)存儲器中,然后釋放接收緩沖器。本設計采用中斷請求SJA1000的控制段狀態(tài)標志來控制,通過SJA1000中斷控制報文接收的程序流程圖如圖5(c)所示

(a)報文發(fā)送主程序(b)發(fā)送中斷子程序(c)中斷接收子程序

圖5SJA1000報文發(fā)送和接收程序流程圖

4.2PC機監(jiān)視界面設計

VisualBasic是Microsoft公司推出的Windows編程工具,亦是最經(jīng)典的可視化編程語言。本設計釆用VB標準模塊中的MSComm串口通信控件[8],完成CAN節(jié)點數(shù)據(jù)接收、分析并顯示,包括通信端口選擇、串行通信參數(shù)設置、串口控制以及數(shù)據(jù)顯示區(qū)等,本系統(tǒng)上位PC機監(jiān)視界面如圖6所示。

5結語

系統(tǒng)調試過程中按照模塊到系統(tǒng)的測試方法循序漸進。首先調試數(shù)據(jù)采集模塊,通過串口調試助手查看溫濕度的參數(shù)采集;然后調試CAN通信,通過數(shù)據(jù)傳輸測試CAN控制器以及CAN收發(fā)器工作狀況;最后聯(lián)調兩部分和串口通信。

圖6上位PC機監(jiān)視界面

在調試過程中,各節(jié)點能夠與上位PC機傳送數(shù)據(jù),并接受來自上位機的命令,運行可靠。結果表明:系統(tǒng)檢測可靠、操作簡單、人機界面友好,可達到設計的目標。

20211117_6194f6db34c70__基于CAN總線和VB的環(huán)境參數(shù)監(jiān)測系統(tǒng)設計

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

串口作為單片機開發(fā)的一個常用的外設,應用范圍非常廣。大部分時候,串口需要接收處理的數(shù)據(jù)長度是不定的。那么怎么才能判斷一幀數(shù)據(jù)是否結束呢,今天就以STM32單片機為例,介紹幾種接收不定長數(shù)據(jù)的方法。

關鍵字: 單片機 串口 STM32

單片機誕生于1971年,經(jīng)歷了SCM、MCU、SoC三大階段。單片機由以前的1位、4位、8位、16位,發(fā)展到現(xiàn)在的32位甚至64位。當前國內MCU廠商已有上百家,對標進口芯片的情況非常嚴重,導致國內MCU產(chǎn)品將陷入同質化...

關鍵字: 單片機 MCU 市場

(微控制單元 MCU(Microcontroller Unit),又稱單片機,是把中央處理器(CentralProcess Unit; CPU)的頻率與規(guī)格做適當縮減,并將內存(memory)、計數(shù)器(Timer)、US...

關鍵字: 單片機 芯片 CPU

在疫情的影響下,出門后、用餐前使用酒精消毒已成了人們的日常,而酒精噴霧機也因此變得十分熱銷。為了避免交叉感染的風險,自動酒精噴霧器也就應運而生。不同于傳統(tǒng)手動噴霧器不美觀、手部接觸不衛(wèi)生的bug,此款自動感應酒精噴霧器使...

關鍵字: 芯嶺技術 方案開發(fā) 解決方案 單片機

在實際的單片機控制系統(tǒng)中,有時候會使用數(shù)字邏輯芯片對單片機和受控元件進行隔離,以保護單片機,或者令單片機更好地對后級進行控制。

關鍵字: 單片機 數(shù)字邏輯芯片 受控元件

MH32F103AVET6使用高性能的32位內核,內置了多達2個高級定時器、10個通用定時器、2個基本定時器、3個12位的ADC、2個12位的DAC,還包含標準和先進的通信接口包括:3個SPI接口、2個I2S接口、2個I...

關鍵字: 單片機 MCU

最近由于換季,天氣突然的轉涼,大家也是直呼好冷。天冷了自然是要注意防寒保暖。一個能夠當充電寶用的暖手寶會是你最好的陪伴。暖手寶是一種非常便捷易用的發(fā)熱工具,并且體形小巧,可以隨身攜帶并輕易握在手中,也可以放置在身上的其它...

關鍵字: 芯嶺技術 方案開發(fā) 解決方案 單片機

XL32F003 系列微控制器采用高性能的 32 位 ARM?Cortex?- M0+ 內核,寬電壓工作范圍的MCU。嵌入高達64 Kbytes flash和8 Kbytes SRAM存儲器,最高工作頻率32 MHz。包...

關鍵字: 單片機 MCU

電動洗鼻器是一種全新的鼻腔清潔工具,一般是通過水壓將生理鹽水送進鼻腔,借助于生理鹽水的殺菌作用及水流的沖擊力,將鼻腔內已聚集的致病菌及污洉排出,從而使鼻腔恢復正常的生理環(huán)境,恢復鼻腔的自我排毒功能,達到保護鼻腔的目的。讓...

關鍵字: 芯嶺技術 方案開發(fā) 解決方案 單片機

大家好,我是小舒,今天我?guī)砹艘粋€開源項目。學習單片機的小伙伴,對J-link一定不會陌生。J-link可以使用JATA和SWD接口進行在線Debug和程序的燒錄,曾經(jīng)一段時間,某寶上J-Link鋪天蓋地,各種各樣,價格...

關鍵字: 開源項目 J-link 單片機

《物聯(lián)網(wǎng)技術》雜志

2511 篇文章

關注

發(fā)布文章

編輯精選

技術子站

關閉