亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        CAN總線與Zigbee無線網(wǎng)絡(luò)網(wǎng)關(guān)的設(shè)計(jì)與實(shí)現(xiàn)

        2022-02-17 00:29:53郭琪
        電腦知識與技術(shù) 2022年35期
        關(guān)鍵詞:CAN總線數(shù)據(jù)傳輸網(wǎng)關(guān)

        郭琪

        摘要:該文深入分析了CAN總線技術(shù)和ZigBee網(wǎng)絡(luò)技術(shù)的技術(shù)特點(diǎn),采用C8051F043和CC2430的雙MCU結(jié)構(gòu)設(shè)計(jì)了CAN/ZigBee網(wǎng)關(guān),使得 CAN總線和ZigBee網(wǎng)絡(luò)實(shí)現(xiàn)了并行交互數(shù)據(jù)的功能。CAN/ZigBee網(wǎng)關(guān)具有兩個(gè)接口模塊。CAN總線數(shù)據(jù)通訊使用C語言進(jìn)行編程,完成通訊數(shù)據(jù)的發(fā)送和接收功能。ZigBee網(wǎng)絡(luò)接口模塊的軟件開發(fā)以ZigBee協(xié)議棧為基礎(chǔ)。根據(jù)ZigBee的技術(shù)特點(diǎn),軟件編寫時(shí)設(shè)計(jì)了地址映射表,以解決ZigBee節(jié)點(diǎn)地址動(dòng)態(tài)分配給通信帶來的問題并設(shè)計(jì)了緩沖區(qū)以保證在兩個(gè)不同傳輸速率的網(wǎng)絡(luò)之間進(jìn)行數(shù)據(jù)傳輸。ZigBee網(wǎng)絡(luò)接口模塊的應(yīng)用程序完成了ZigBee網(wǎng)絡(luò)內(nèi)數(shù)據(jù)收發(fā)、SPI接口通信以及地址映射表的建立和管理。通過驗(yàn)證,該文設(shè)計(jì)的網(wǎng)關(guān)實(shí)現(xiàn)了CAN總線與ZigBee無線網(wǎng)絡(luò)之間的雙向數(shù)據(jù)傳輸,并且數(shù)據(jù)傳輸不受ZigBee節(jié)點(diǎn)地址動(dòng)態(tài)分配的影響。

        關(guān)鍵詞:CAN總線;ZigBee;網(wǎng)關(guān);數(shù)據(jù)傳輸;節(jié)點(diǎn)地址

        中圖分類號:TP393? ? ? ? 文獻(xiàn)標(biāo)識碼:A

        文章編號:1009-3044(2022)35-0078-03

        1 概述

        CAN總線具有非常廣泛的應(yīng)用范圍,具有效率高、可靠性強(qiáng)的特點(diǎn)。CAN總線通信采用數(shù)字信號代替了模擬信號,不僅節(jié)約了連線電纜的成本,而且可以傳遞更多的設(shè)備信息,如設(shè)備狀態(tài)、運(yùn)行參數(shù)、故障信息等。本文設(shè)計(jì)的CAN/ZigBee網(wǎng)關(guān)能夠完成CAN總線和ZigBee網(wǎng)絡(luò)收發(fā)通信, CAN總線實(shí)現(xiàn)無線通訊的設(shè)計(jì)目標(biāo)。在CAN總線應(yīng)用最為廣泛的汽車電子領(lǐng)域,ZigBee技術(shù)的接入可以實(shí)現(xiàn)對轉(zhuǎn)動(dòng)機(jī)械或發(fā)動(dòng)機(jī)內(nèi)部的數(shù)據(jù)監(jiān)測,如汽車的輪胎壓力檢測等[1]。針對工業(yè)控制領(lǐng)域,CAN總線也有CANopen和DeviceNet兩個(gè)應(yīng)用層協(xié)議并有廣泛的實(shí)際應(yīng)用,ZigBee技術(shù)的引入同樣會(huì)為其在特殊情況下的應(yīng)用帶來方便。一個(gè)高效可靠的CAN/ZigBee網(wǎng)關(guān)能夠彌補(bǔ)CAN總線的通訊限制,增加ZigBee無線網(wǎng)絡(luò)通訊的有效性,為我們的生產(chǎn)、生活帶來更多的便利[2]。

        2 CAN/ZigBee網(wǎng)關(guān)硬件設(shè)計(jì)方案

        本文設(shè)計(jì)的CAN與ZigBee網(wǎng)關(guān)采用的是CC2430和C8051F043的雙MCU結(jié)構(gòu),分別作為CAN協(xié)議和ZigBee協(xié)議的控制芯片,將兩個(gè)網(wǎng)絡(luò)的數(shù)據(jù)收發(fā)以及數(shù)據(jù)處理等操作分開進(jìn)行[3]。CAN與ZigBee網(wǎng)關(guān)的數(shù)據(jù)通訊采用雙向并行模式,應(yīng)用兩個(gè)單片機(jī)完成數(shù)據(jù)交互總體結(jié)構(gòu),網(wǎng)關(guān)由CAN總線和ZigBee接口模塊組成。CAN與ZigBee網(wǎng)關(guān)結(jié)構(gòu)如圖1所示。

        CAN總線網(wǎng)絡(luò)接口模塊主要完成CAN總線數(shù)據(jù)的收發(fā),并與ZigBee網(wǎng)絡(luò)接口模塊實(shí)現(xiàn)雙向通信。該模塊選用的片上系統(tǒng)單片機(jī)C8051F043內(nèi)部集成了Bosch CAN2.0B控制器,構(gòu)成一個(gè)CAN總線節(jié)點(diǎn),實(shí)現(xiàn)對總線數(shù)據(jù)的收發(fā),單片機(jī)C8051F043負(fù)責(zé)接收和發(fā)送數(shù)據(jù),由芯片TJA1050作為接口,同時(shí)該單片機(jī)還有晶振電路、電源電路、人機(jī)接口電路、USB接口擴(kuò)展電路和JTAG接口電路。USB接口的擴(kuò)展選用USB轉(zhuǎn)RS-232橋接芯片CP2102實(shí)現(xiàn),該接口可用于與上位機(jī)進(jìn)行通信,方便后期開發(fā)過程中對網(wǎng)關(guān)軟件進(jìn)行調(diào)試。JTAG接口的擴(kuò)展是為了后期的軟件調(diào)試[4]。

        ZigBee網(wǎng)絡(luò)接口模塊的主要功能包括ZigBee網(wǎng)絡(luò)內(nèi)數(shù)據(jù)的收發(fā)以及與CAN網(wǎng)絡(luò)接口模塊之間的雙向通信。ZigBee網(wǎng)絡(luò)接口模塊由單片機(jī)執(zhí)行數(shù)據(jù)處理,單片機(jī)選型為CC2430。該型號是國外公司研制用來解決ZigBee芯片通信的問題。本文選擇的單片機(jī)型號具有射頻收發(fā)器和8051控制器,硬件方面具有CSMA/CA擴(kuò)展功能。要實(shí)現(xiàn)無線收發(fā)功能,外圍晶振器通過射頻功能實(shí)現(xiàn)數(shù)據(jù)的接收和發(fā)送,并使用非平衡變壓器提高接收數(shù)據(jù)的有效性。CC2430的外圍電路包括晶振時(shí)鐘電路、人機(jī)接口電路、復(fù)位電路、EEPROM存儲(chǔ)器擴(kuò)展電路以及調(diào)試接口電路等。CC2430單片機(jī)內(nèi)部集成的接口可用于后期的軟件開發(fā)與調(diào)試。

        3 CAN/ZigBee網(wǎng)關(guān)軟件設(shè)計(jì)方案

        3.1 地址映射表的設(shè)計(jì)與實(shí)現(xiàn)

        依據(jù)ZigBee無線通信協(xié)議棧的規(guī)定,ZigBee網(wǎng)絡(luò)的數(shù)據(jù)傳輸通過PAN網(wǎng)內(nèi)的短地址實(shí)現(xiàn),該短地址在節(jié)點(diǎn)加入網(wǎng)絡(luò)的時(shí)候由協(xié)調(diào)器節(jié)點(diǎn)進(jìn)行分配[5-6]。ZigBee可以采用兩種地址分配技術(shù),分別是:

        (1)Distributed Address Assignment Mechanism分布式地址分配技術(shù)

        (2)Stochastic Address Assignment Mechanism隨機(jī)地址分配技術(shù)

        無論采用哪一種地址分配技術(shù),ZigBee子節(jié)點(diǎn)每次加入網(wǎng)絡(luò)分配到的短地址都不同。因此,在ZigBee網(wǎng)絡(luò)中除了協(xié)調(diào)器的短地址固定為0x0000,其他節(jié)點(diǎn)的地址都不固定。這就導(dǎo)致出現(xiàn)類似下面的問題:

        (1)ZigBee網(wǎng)絡(luò)中,節(jié)點(diǎn)A的短地址為0x1699,節(jié)點(diǎn)B的短地址為0x1697,兩個(gè)節(jié)點(diǎn)分別利用短地址在網(wǎng)絡(luò)中進(jìn)行通信。

        (2)ZigBee網(wǎng)絡(luò)重建,節(jié)點(diǎn)A和節(jié)點(diǎn)B再次加入網(wǎng)絡(luò)并被分配短地址,節(jié)點(diǎn)A的短地址為0x1697,節(jié)點(diǎn)B的短地址為0x1699。

        這樣,節(jié)點(diǎn)A和節(jié)點(diǎn)B在網(wǎng)絡(luò)中的通信就會(huì)因前后兩次地址的不同而出現(xiàn)問題。

        為了使ZigBee網(wǎng)絡(luò)中向指定節(jié)點(diǎn)的信息發(fā)送正確,在網(wǎng)關(guān)軟件設(shè)計(jì)中利用節(jié)點(diǎn)的長地址、短地址和節(jié)點(diǎn)代碼建立一種映射關(guān)系,以實(shí)現(xiàn)ZigBee節(jié)點(diǎn)短地址變化后網(wǎng)絡(luò)通信的正確進(jìn)行。在協(xié)議轉(zhuǎn)換中所建立的地址映射關(guān)系如表1所示。

        作為現(xiàn)場總線網(wǎng)絡(luò)中接收數(shù)據(jù)的報(bào)文,網(wǎng)關(guān)之后對接收到的報(bào)文進(jìn)行解包、有效數(shù)據(jù)提取等操作,并將其重新打包發(fā)送至ZigBee網(wǎng)絡(luò)。

        3.2 CAN總線接口模塊軟件設(shè)計(jì)

        CAN總線接口模塊的程序設(shè)計(jì)利用C51語言編程實(shí)現(xiàn),編程使用Silicon Laboratories IDE集成開發(fā)環(huán)境。該軟件具有良好的人機(jī)界面,可以生成高效的目標(biāo)代碼。

        3.2.1 CAN總線接口模塊初始化程序

        初始化通過調(diào)用單片機(jī)配置子程序config()、CAN初始化子程序canini()和SPI配置子程序spi_cfg(uchar spicfg,uchar spickr,uchar spicn)完成。單片機(jī)配置子程序中完成對C8051F043內(nèi)部看門狗定時(shí)器的設(shè)置、I/O口交叉配置及系統(tǒng)工作時(shí)鐘設(shè)置。SPI配置子程序完成SPI通信的時(shí)鐘相位和極性的選擇、串行時(shí)鐘的設(shè)置以及串行通信中使用到的INT0和SPI中斷的設(shè)置。

        所有CAN消息對象初始化完成后,對寄存器CAN Control Register和Bit TimingRegister(波特率控制寄存器)賦值,寄存器CAN Control Register用來設(shè)置CAN的工作模式,Bit TimingRegister設(shè)置CAN的工作時(shí)鐘頻率。

        3.2.2 CAN總線接口模塊數(shù)據(jù)收發(fā)程序

        CAN接口模塊的數(shù)據(jù)收發(fā)分兩部分完成:CAN總線數(shù)據(jù)的接收與轉(zhuǎn)發(fā)和SPI數(shù)據(jù)的接收與轉(zhuǎn)發(fā)。現(xiàn)場總線通過中斷數(shù)據(jù)的方式進(jìn)行數(shù)據(jù)的接收。網(wǎng)關(guān)識別到CAN報(bào)文后,將其存入接收緩沖區(qū),再從緩沖區(qū)中讀出數(shù)據(jù)進(jìn)行SPI轉(zhuǎn)發(fā)。

        SPI數(shù)據(jù)的接收與轉(zhuǎn)發(fā)通過外部中斷INT0的中斷服務(wù)程序完成。由于C8051F043作為SPI主機(jī)工作,SPI接口必須由主機(jī)啟動(dòng)進(jìn)行數(shù)據(jù)收發(fā)。CC2430向C8051F043發(fā)送數(shù)據(jù)時(shí),通過I/O口給C8051F043一個(gè)中斷信號,再由C8051F043啟動(dòng)數(shù)據(jù)傳輸過程。

        3.3 ZigBee網(wǎng)絡(luò)接口模塊軟件設(shè)計(jì)

        ZigBee網(wǎng)絡(luò)接口模塊軟件設(shè)計(jì)采用協(xié)議棧的技術(shù),通過參考標(biāo)準(zhǔn)的OSI/ISO網(wǎng)絡(luò)模型,設(shè)計(jì)協(xié)議棧的網(wǎng)絡(luò)結(jié)構(gòu)。OSI/ISO網(wǎng)絡(luò)模型分為七層網(wǎng)絡(luò)構(gòu)架。通過優(yōu)化OSI/ISO網(wǎng)絡(luò)模型,修改并重新命名了網(wǎng)絡(luò)模型,協(xié)議棧的每一層網(wǎng)絡(luò)完成不同的任務(wù),任意兩層之間通過網(wǎng)絡(luò)接口為上一層提供服務(wù)。

        3.3.1 ZigBee網(wǎng)絡(luò)接口模塊初始化程序

        ZigBee接口模塊的初始化程序主要完成對芯片寄存器、芯片硬件接口、液晶屏和協(xié)議棧的初始化操作。

        初始化程序段執(zhí)行后,網(wǎng)關(guān)即完成對CC2430內(nèi)外部資源及的配置,然后使用aplFormNetwork()函數(shù)搭建網(wǎng)絡(luò)。網(wǎng)絡(luò)搭建完成后,執(zhí)行程序進(jìn)入循環(huán)模式,來完成ZigBee網(wǎng)絡(luò)通信功能。

        3.3.2 ZigBee網(wǎng)絡(luò)接口模塊數(shù)據(jù)收發(fā)程序

        ZigBee接口模塊的數(shù)據(jù)收發(fā)程序可分為SPI數(shù)據(jù)收發(fā)和ZigBee數(shù)據(jù)收發(fā)兩部分。SPI接口的數(shù)據(jù)接收以中斷方式進(jìn)行。中斷服務(wù)程序每次將收到的數(shù)據(jù)存入緩沖區(qū),收到完整的SPI數(shù)據(jù)包后W_Point指向緩沖區(qū)下一數(shù)據(jù)塊。SPI接口的數(shù)據(jù)發(fā)送通過I/O口來控制C8051F043單片機(jī)實(shí)現(xiàn)。

        ZigBee數(shù)據(jù)的收發(fā)通過協(xié)議棧中特定函數(shù)完成。協(xié)議棧運(yùn)行過程中,程序的循環(huán)執(zhí)行部分會(huì)首先選取狀態(tài)機(jī)中的通訊數(shù)據(jù),檢查能否接收ZigBee數(shù)據(jù),收到相關(guān)數(shù)據(jù)后調(diào)用ZigBee接收子程序。

        4 網(wǎng)關(guān)通信的試驗(yàn)驗(yàn)證

        4.1 試驗(yàn)方案設(shè)計(jì)

        本文設(shè)計(jì)的CAN/ZigBee網(wǎng)關(guān)所要實(shí)現(xiàn)的是在CAN網(wǎng)絡(luò)與ZigBee網(wǎng)絡(luò)之間的雙向通信,以驗(yàn)證本文設(shè)計(jì)的網(wǎng)關(guān)方案在實(shí)現(xiàn)協(xié)議轉(zhuǎn)換方面的可行性。根據(jù)網(wǎng)關(guān)的設(shè)計(jì)原理,試驗(yàn)中ZigBee采用星形網(wǎng)絡(luò)拓?fù)?,同時(shí)在星形網(wǎng)絡(luò)內(nèi)有3個(gè)RFD節(jié)點(diǎn)作為網(wǎng)關(guān)的子節(jié)點(diǎn)。CAN總線網(wǎng)絡(luò)設(shè)計(jì)采用2+1的模式,即兩個(gè)節(jié)點(diǎn)和一個(gè)物理總線,網(wǎng)關(guān)作為總線上的一個(gè)節(jié)點(diǎn),另一個(gè)設(shè)計(jì)為具有收發(fā)能力的CAN節(jié)點(diǎn)。驗(yàn)證過程采用的試驗(yàn)網(wǎng)絡(luò)如圖2所示。其中構(gòu)成CAN節(jié)點(diǎn)的主要芯片為C8051F043單片機(jī)和CAN收發(fā)器TJA1050,ZigBee節(jié)點(diǎn)采用的芯片為無線單片機(jī)CC2430。

        4.2 試驗(yàn)結(jié)果分析

        進(jìn)行網(wǎng)關(guān)通訊性能測試之前,要利用軟件SmartRF?04 Flash Programmer對ZigBee節(jié)點(diǎn)寫入不同的物理地址,之后按前面所述的實(shí)驗(yàn)步驟 1進(jìn)行ZigBee星形網(wǎng)絡(luò)的組網(wǎng)過程。ZigBee網(wǎng)絡(luò)組建后,利用CAN節(jié)點(diǎn)和ZigBee終端節(jié)點(diǎn)通過網(wǎng)關(guān)進(jìn)行相互的數(shù)據(jù)發(fā)送。CAN節(jié)點(diǎn)的數(shù)據(jù)檢驗(yàn)是經(jīng)過查看Silicon Laboratories IDE的 CAN相關(guān)寄存器實(shí)現(xiàn),CAN節(jié)點(diǎn)接收到數(shù)據(jù)0xAA445566778899F1,與ZigBee節(jié)點(diǎn)發(fā)送的數(shù)據(jù)一致。通過查看調(diào)試軟件中的數(shù)據(jù),ZigBee節(jié)點(diǎn)接收到數(shù)據(jù)0xA10xA20x150x160x170x18,與CAN節(jié)點(diǎn)發(fā)送的數(shù)據(jù)相同。

        試驗(yàn)結(jié)果表明,CAN/ZigBee網(wǎng)關(guān)具有接收和發(fā)送節(jié)點(diǎn)數(shù)據(jù)的功能,同時(shí),網(wǎng)關(guān)的協(xié)議轉(zhuǎn)換完全正確,不存在數(shù)據(jù)轉(zhuǎn)換錯(cuò)誤,下一步將驗(yàn)證ZigBee網(wǎng)絡(luò)重組后,節(jié)點(diǎn)短地址的重新分配是否對網(wǎng)關(guān)的工作造成影響。通過網(wǎng)關(guān)通信試驗(yàn)可以看出,CAN/ZigBee網(wǎng)關(guān)能夠完成數(shù)據(jù)傳輸過程中的協(xié)議轉(zhuǎn)換,成功解決不同網(wǎng)絡(luò)間數(shù)據(jù)轉(zhuǎn)換問題,處理因不同網(wǎng)絡(luò)節(jié)點(diǎn)地址分配的問題,可實(shí)現(xiàn)數(shù)據(jù)的100%準(zhǔn)確轉(zhuǎn)換,消除潛在影響。

        5 結(jié)論

        本文設(shè)計(jì)的CAN/ZigBee網(wǎng)關(guān)具有高效的數(shù)據(jù)傳輸能力,能同時(shí)發(fā)送和接收相關(guān)數(shù)據(jù),解決了協(xié)議之間數(shù)據(jù)轉(zhuǎn)換的問題。由于研究時(shí)間限制,本文采用簡化方案對CAN/ZigBee網(wǎng)關(guān)進(jìn)行設(shè)計(jì)。在后期的工作中,應(yīng)對網(wǎng)關(guān)軟件程序進(jìn)一步優(yōu)化,提高網(wǎng)關(guān)數(shù)據(jù)傳輸?shù)男阅芎屯ㄐ趴煽啃?,使其完全滿足實(shí)際應(yīng)用的需要。

        參考文獻(xiàn):

        [1] 羅回彬,吳方.基于ZigBee的無線傳感網(wǎng)絡(luò)網(wǎng)關(guān)的研究與設(shè)計(jì)[J].電子設(shè)計(jì)工程,2017,25(12):182-185.

        [2] 姜有光,杜亞江,齊金平,等.嵌入式無線傳感網(wǎng)絡(luò)網(wǎng)關(guān)設(shè)計(jì)與遠(yuǎn)程維護(hù)[J].測控技術(shù),2017,36(3):94-97,106.

        [3] 陳可偉,張金成,王鈺,等.基于Modbus協(xié)議的無線傳感器網(wǎng)絡(luò)網(wǎng)關(guān)設(shè)計(jì)[J].測控技術(shù),2016,35(2):99-103.

        [4] 邵芹文.無線傳感器網(wǎng)絡(luò)與無線局域網(wǎng)絡(luò)網(wǎng)關(guān)設(shè)計(jì)與應(yīng)用[D].杭州:浙江工業(yè)大學(xué),2015.

        [5] 梁宗保,李鵬.基于ZigBee技術(shù)的無線傳感器網(wǎng)絡(luò)網(wǎng)關(guān)設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)與現(xiàn)代化,2013(6):133-137.

        [6] 李佳.基于ZigBee和GPRS無線傳感器網(wǎng)絡(luò)網(wǎng)關(guān)的設(shè)計(jì)與實(shí)現(xiàn)[D].南京:南京郵電大學(xué),2013.

        【通聯(lián)編輯:代影】

        猜你喜歡
        CAN總線數(shù)據(jù)傳輸網(wǎng)關(guān)
        基于改進(jìn)RPS技術(shù)的IPSEC VPN網(wǎng)關(guān)設(shè)計(jì)
        基于Ad Hoc的微震監(jiān)測數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)
        論網(wǎng)絡(luò)通信技術(shù)
        基于嵌入式的汽車輔助制動(dòng)系統(tǒng)研究
        CAN總線通信技術(shù)在電梯監(jiān)控系統(tǒng)中的應(yīng)用
        基于CANoe的J1939協(xié)議在ECU通信中的應(yīng)用
        科技視界(2016年18期)2016-11-03 22:53:48
        網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)總體架構(gòu)設(shè)計(jì)
        短波中低速數(shù)據(jù)傳輸技術(shù)
        GPRS DTU的應(yīng)用經(jīng)驗(yàn)淺析
        科技視界(2016年11期)2016-05-23 17:44:00
        LTE Small Cell網(wǎng)關(guān)及虛擬網(wǎng)關(guān)技術(shù)研究
        蜜桃国产精品视频网站| 国产精品原创巨作AV女教师 | 日本一区不卡高清在线观看| 蜜桃精品视频一二三区| 男女视频在线观看一区二区 | 老鸭窝视频在线观看| 含紧一点h边做边走动免费视频| 久久久精品人妻一区二区三区四| 国产福利午夜波多野结衣| 久久无码高潮喷水抽搐| 国产av大片久久中文字幕| 精品人妻一区二区三区浪人在线| 亚洲日韩国产一区二区三区在线| 欧美激情区| 最新国产av网址大全| 日韩精品免费在线视频一区| 日本丰满熟妇videossexhd| 成人欧美一区二区三区a片| 日韩激情网| 久久99久久久精品人妻一区二区| 亚洲日本一区二区三区四区| 亚洲日韩精品a∨片无码加勒比| 一本无码av中文出轨人妻| 国产suv精品一区二区| 国产福利酱国产一区二区| 69精品人妻一区二区| 多毛小伙内射老太婆| 无码成人aaaaa毛片| 国产va在线播放| 国产少妇一区二区三区| 华人在线视频精品在线| 国产国语亲子伦亲子| 午夜精品久久久久久| 欧美性猛交xxxx乱大交蜜桃 | 国产精品美女白浆喷水| 国内国外日产一区二区| 日本真人边吃奶边做爽动态图| 日韩精品中文字幕无码一区| 中文字幕亚洲综合久久| 91日韩东京热中文字幕 | 亚洲在线一区二区三区四区|