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

引言

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

1系統(tǒng)總體設(shè)計(jì)

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

2監(jiān)控節(jié)點(diǎn)的硬件設(shè)計(jì)

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

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

2.2CAN現(xiàn)場(chǎng)總線

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

2.3基于SJA1000的CAN總線接口

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

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

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

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

3.1溫度采集

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

3.2濕度采集

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

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

3.3照度采集

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

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

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

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

4系統(tǒng)軟件設(shè)計(jì)

SJA1000應(yīng)用程序設(shè)計(jì)

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

可見(jiàn),SJA1000的應(yīng)用程序被分為SJA1000初始化程序、報(bào)文發(fā)送程序和報(bào)文接收程序。

SJA1000初始化程序

單片機(jī)STC12C5A60S2在上電后首先運(yùn)行其自身的復(fù)位程序,并在此后調(diào)用SJA1000的配置程序。配置程序在設(shè)置SJA1000的寄存器前,必須通過(guò)讀復(fù)位模式/請(qǐng)求標(biāo)志來(lái)檢查SJA1000是否已處于復(fù)位模式,因?yàn)橐獙?xiě)入配置信息的寄存器僅在復(fù)位模式下進(jìn)行。在復(fù)位模式下,單片機(jī)STC12C5A60S2需要配置SJA1000的控制段寄存器、模式寄存器、時(shí)鐘分頻寄存器、驗(yàn)收碼寄存器和驗(yàn)收屏蔽寄存器、總線定時(shí)寄存器以及輸出控制寄存器。根據(jù)分析,SJA1000的初始化程序如下:

〃****SJA1000初始化

SJAEntryResetMode();

//sja1000進(jìn)入復(fù)位模式

REG_CAN_CDR=0x88;

//時(shí)鐘分頻;CDR.3=1時(shí)時(shí)鐘關(guān)閉;

CDR.7=0時(shí)basicCAN;CDR.7=1時(shí)PeliCAN

SJASetBandRateStandard(ByteRate_100k);

//16M晶振,波特率設(shè)置

REG_CAN_IER=0x01;

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

REG_CAN_OCR=0xaa;

//配置輸出控制寄存器

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

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

//濾波

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

//屏蔽碼設(shè)置

SJAQuitResetMode();

//退出復(fù)位模式

SJA1000報(bào)文發(fā)送程序

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

SJA1000報(bào)文接收程序

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

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

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

4.2PC機(jī)監(jiān)視界面設(shè)計(jì)

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

5結(jié)語(yǔ)

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

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

在調(diào)試過(guò)程中,各節(jié)點(diǎn)能夠與上位PC機(jī)傳送數(shù)據(jù),并接受來(lái)自上位機(jī)的命令,運(yùn)行可靠。結(jié)果表明:系統(tǒng)檢測(cè)可靠、操作簡(jiǎn)單、人機(jī)界面友好,可達(dá)到設(shè)計(jì)的目標(biāo)。

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

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

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉