基于HAL庫的STM32F1開發(fā)實(shí)踐教程-課件 第9-11章 RS485、總線、云平臺接入(485、CAN、云平臺)_第1頁
基于HAL庫的STM32F1開發(fā)實(shí)踐教程-課件 第9-11章 RS485、總線、云平臺接入(485、CAN、云平臺)_第2頁
基于HAL庫的STM32F1開發(fā)實(shí)踐教程-課件 第9-11章 RS485、總線、云平臺接入(485、CAN、云平臺)_第3頁
基于HAL庫的STM32F1開發(fā)實(shí)踐教程-課件 第9-11章 RS485、總線、云平臺接入(485、CAN、云平臺)_第4頁
基于HAL庫的STM32F1開發(fā)實(shí)踐教程-課件 第9-11章 RS485、總線、云平臺接入(485、CAN、云平臺)_第5頁
已閱讀5頁,還剩102頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

RS-485通信應(yīng)用開發(fā)1.總線概述總線(Bus)是計(jì)算機(jī)各種功能部件之間傳送信息的公共通信干線。(公路)當(dāng)總線被引入嵌入式系統(tǒng)領(lǐng)域后,它主要用于嵌入式系統(tǒng)的芯片級、板級和設(shè)備級的互連。山東師范大學(xué)信息科學(xué)與工程學(xué)院在總線的發(fā)展過程中,有多種分類方式。一是按照傳輸速率分類:可分為低速總線和高速總線。二是按照連接類型分類:可分為系統(tǒng)總線、外設(shè)總線和擴(kuò)展總線。三是按照傳輸方式分類:可分為并行總線和串行總線。2.1串行通信方式山東師范大學(xué)信息科學(xué)與工程學(xué)院單工方式半雙工方式全雙工方式2.1串行通信方式通訊速率指的就是1S內(nèi)通訊端口發(fā)送0/1代碼(或者說是高低電平)的數(shù)量。打個(gè)比方如果我們說通訊速率是9.6kbps那就表示通訊端口每秒發(fā)送9600個(gè)bit的數(shù)據(jù)也就是每秒可以產(chǎn)生9600個(gè)高低電平(注意這里是高低電平總共加起來9600個(gè))。

主從通訊,指的是在一個(gè)通訊網(wǎng)絡(luò)中一個(gè)站點(diǎn)是主站,其他站點(diǎn)作為從站,主站和從站之間可以直接進(jìn)行數(shù)據(jù)的傳遞,但是從站與從站之間不能直接進(jìn)行數(shù)據(jù)的傳遞,如果從站之間想要交換數(shù)據(jù)也必須要通過主站如圖所示。山東師范大學(xué)信息科學(xué)與工程學(xué)院2.2通信協(xié)議山東師范大學(xué)信息科學(xué)與工程學(xué)院通信協(xié)議硬件層協(xié)議軟件層協(xié)議解決發(fā)聲器官的構(gòu)造(是貓叫還是狗叫)解決內(nèi)容含義(汪汪汪和汪汪,汪汪汪的含義)001010112.3硬件層協(xié)議山東師范大學(xué)信息科學(xué)與工程學(xué)院解決數(shù)據(jù)怎么傳,例如:RS-232RS-485,CAN,IIC,SPI等都是約定怎么傳數(shù)據(jù),如何把1發(fā)給給對方,這條線的電壓應(yīng)該是多少伏等,即都是解決0和1怎么傳送的問題。2.4485收發(fā)器山東師范大學(xué)信息科學(xué)與工程學(xué)院TTL—485需要發(fā)送器485—TTL接要接收器通常發(fā)送器和接收器做在同一個(gè)芯片中,但是發(fā)送器和接收器不能同時(shí)工作,通過硬件上的連線,單片機(jī)來操作控制引腳讓它某一時(shí)刻是工作在接收狀態(tài)還是發(fā)送狀態(tài)。485發(fā)送器和接收器合在一起,稱為485收發(fā)器

485發(fā)送器規(guī)定在發(fā)送時(shí),對方不可以發(fā)送,只能傳一個(gè)方向(單工)便是就是同樣的一根線,又想發(fā)數(shù)據(jù)給對方,又想收到對方返回來的數(shù)據(jù),即想實(shí)現(xiàn)半雙工,需要軟件層的協(xié)議做保障。485要想實(shí)現(xiàn)半雙工式通信,要進(jìn)行約定,其中主從模式就是一種約定。2.4485收發(fā)器山東師范大學(xué)信息科學(xué)與工程學(xué)院管腳編號名稱功能描述1RO接收器輸出(至MCU)2接收允許(低電平有效)3DE發(fā)送允許(高電平有效)4DI發(fā)送器輸入(來自MCU)5GND接地6A發(fā)送器同相輸出/接收器同相輸入7B發(fā)送器反相輸出/接收器反相輸入8VCC電源電壓2.5總線與主從模式山東師范大學(xué)信息科學(xué)與工程學(xué)院2.6RS485原理與驅(qū)動(dòng)程序山東師范大學(xué)信息科學(xué)與工程學(xué)院1)RS-485網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)一般采用:帶有終端匹配的總線型結(jié)構(gòu)(也稱“手拉手”方式),不支持環(huán)形或星形網(wǎng)絡(luò)。A、B、C為錯(cuò)誤連接方式D、E、F為正確連接方式2.6RS-485連接方式山東師范大學(xué)信息科學(xué)與工程學(xué)院RS485工業(yè)總線標(biāo)準(zhǔn)要求各設(shè)備之間采用鏈條式連接方式,兩頭必須接有120Ω終端電阻。2.6RS485連接方式山東師范大學(xué)信息科學(xué)與工程學(xué)院RS-485網(wǎng)絡(luò)施工中的注意事項(xiàng):★485+和485-數(shù)據(jù)線一定要互為雙絞,即使用雙絞線?!飾l件允許的話,RS-485網(wǎng)絡(luò)可采用“多股屏蔽雙絞線”。(多股是為了備用,屏蔽是為了便于出現(xiàn)特殊情況時(shí)調(diào)試。)

★485總線一定要用手牽手式的總線結(jié)構(gòu),堅(jiān)決避免星型連接和分叉連接?!镌O(shè)備供電的交流電及機(jī)箱一定要真實(shí)接地,而且接地良好,以防止雷擊、浪涌沖擊等意外情況損壞485設(shè)備?!餅楸苊鈴?qiáng)電對其干擾,485總線應(yīng)避免和強(qiáng)電走在一起。3Modbus協(xié)議山東師范大學(xué)信息科學(xué)與工程學(xué)院Modbus通信協(xié)議是全球第一個(gè)(1979年)真正用于工業(yè)現(xiàn)場的總線協(xié)議,完全免費(fèi)。Modbus通信協(xié)議是應(yīng)用于電子控制器上的一種通用協(xié)議,目前已成為通用工業(yè)標(biāo)準(zhǔn)。多種工業(yè)設(shè)備包括PCL\DCS\變頻器\智能儀表等都在使用。Modbus使不同廠商生產(chǎn)的控制設(shè)備可以連成工業(yè)網(wǎng)絡(luò),進(jìn)行集中監(jiān)控。Modbus支持多種電氣接口,如RS-232、RS-485,還可以在各種介質(zhì)上傳輸,如雙絞線、光纖、無線等。Modbus協(xié)議是典型的主從型協(xié)議。3Modbus協(xié)議山東師范大學(xué)信息科學(xué)與工程學(xué)院Modbus是一種單主/多從的通信協(xié)議,即:在同一時(shí)間里,總線上只能有一個(gè)主設(shè)備,但可以有一個(gè)或多個(gè)(最多247個(gè))從設(shè)備。主設(shè)備是指發(fā)起通信的設(shè)備,而從設(shè)備是接收請求并做出響應(yīng)的設(shè)備。在Modbus網(wǎng)絡(luò)中,通信總是由主設(shè)備發(fā)起,而從設(shè)備沒有收到來自主設(shè)備的請求時(shí),不會(huì)主動(dòng)發(fā)送數(shù)據(jù)。MODBUS協(xié)議的某些特性是固定的,如信息幀結(jié)構(gòu),幀順序,通訊錯(cuò)誤和異常情況的處理,以及所執(zhí)行的功能碼等,都不能隨便改動(dòng)。其他特性是屬于用戶可選的,如傳輸介質(zhì),波特率,字符奇偶校驗(yàn),停止位個(gè)數(shù),參數(shù)字址定義等。Modbus請求報(bào)文的模式山東師范大學(xué)信息科學(xué)與工程學(xué)院在Modbus網(wǎng)絡(luò)中,主設(shè)備向從設(shè)備發(fā)送Modbus請求報(bào)文的模式有兩種:單播模式與廣播模式:單播模式:主設(shè)備尋址單個(gè)從設(shè)備。廣播模式:主設(shè)備向Modbus網(wǎng)絡(luò)中的所有從設(shè)備發(fā)送請求報(bào)文,從設(shè)備接收并處理完畢后不要求返回響應(yīng)報(bào)文。在Modbus網(wǎng)絡(luò)中,主設(shè)備沒有地址,每個(gè)從設(shè)備都具有唯一的地址。從設(shè)備的地址范圍是0—247.其中地址0作為廣播地址,因此從設(shè)備實(shí)際的地址范圍是1至247。Modbus協(xié)議幀構(gòu)成山東師范大學(xué)信息科學(xué)與工程學(xué)院設(shè)備地址:被選中的從設(shè)備地址。功能碼:告知被選中的從設(shè)備要執(zhí)行何種功能。數(shù)據(jù)段:包含從設(shè)備要執(zhí)行功能的附加信息。

如:功能碼“03”要求從設(shè)備讀保持寄存器并響應(yīng)寄存器的內(nèi)容,

則數(shù)據(jù)段必須包含要求從設(shè)備讀取寄存器的起始地址及數(shù)量。差錯(cuò)檢測區(qū):為從機(jī)提供一種數(shù)據(jù)校驗(yàn)方法,以保證信息內(nèi)容的完整性。Modbus寄存器山東師范大學(xué)信息科學(xué)與工程學(xué)院寄存器是Modbus通信協(xié)議的一個(gè)重要組成部分,它用于存放數(shù)據(jù)。寄存器種類特性說明實(shí)際應(yīng)用線圈狀態(tài)(Coil)輸出端口(可讀可寫),相當(dāng)于PLC的DO(數(shù)字量輸出)LED顯示,電磁閥輸出等離散輸入狀態(tài)(DiscreteInput)輸入端口(只讀),相當(dāng)于PLC的DI(數(shù)字量輸入)接近開關(guān),撥碼開關(guān)等保持寄存器(HoldingRegister)輸出參數(shù)或保持參數(shù)(可讀可寫),相當(dāng)于PLC的AO(模擬量輸出)模擬量輸出設(shè)定值、PID運(yùn)行參數(shù)、傳感器報(bào)警閾值等輸入寄存器(InputRegister)輸入?yún)?shù)(只讀),相當(dāng)于PLC的AI(模擬量輸入)模擬量輸入值Modbus請求報(bào)文的格式山東師范大學(xué)信息科學(xué)與工程學(xué)院MODBUS通信協(xié)議提供了ASCIl和RTU(遠(yuǎn)程終端單元)兩種通信模式。ASCll模式的主要優(yōu)點(diǎn)是允許字符之間的時(shí)間間隔長達(dá)1S,也不會(huì)出現(xiàn)錯(cuò)誤。RTU模式的優(yōu)點(diǎn)是在相同波特率下其傳輸?shù)淖址拿芏雀哂贏SCIl模式,每個(gè)信息必須連續(xù)傳輸。ASCII消息幀格式山東師范大學(xué)信息科學(xué)與工程學(xué)院ASCIl模式數(shù)據(jù)傳送約定在數(shù)據(jù)格式中每個(gè)16進(jìn)制字符(0~9)、(A~F)都轉(zhuǎn)換成ASCll碼發(fā)送。這種方式的主要優(yōu)點(diǎn)是字符發(fā)送的時(shí)間間隔可達(dá)1秒,而不產(chǎn)生錯(cuò)誤。起始位:1位數(shù)據(jù)長度:7位,低位先送校驗(yàn)位:1位(有校驗(yàn)),0位(無校驗(yàn))停止位:1位(有校驗(yàn)),2位(無校驗(yàn))波特率:可選RTU消息幀格式山東師范大學(xué)信息科學(xué)與工程學(xué)院起始位:1位數(shù)據(jù)長度:8位,低位先送校驗(yàn)位:1位(有校驗(yàn)),0位(無校驗(yàn))停止位:1位(有校驗(yàn)),2位(無校驗(yàn))波特率:可選應(yīng)答與錯(cuò)誤監(jiān)測山東師范大學(xué)信息科學(xué)與工程學(xué)院當(dāng)主站向從站發(fā)送信息時(shí),整個(gè)通信過程由二部份組成:一是主站向從站的發(fā)送,我們叫查詢,又叫請求。二是從站對主站的應(yīng)答,也叫回傳,響應(yīng)。應(yīng)答的目的是告訴主站是否有錯(cuò)和回答主站的相關(guān)通信請求。通信協(xié)議對查詢和應(yīng)答的時(shí)間,數(shù)據(jù)格式,驗(yàn)錯(cuò)方法都會(huì)給出相應(yīng)的規(guī)定。從設(shè)備的響應(yīng)信息也包含設(shè)備地址、功能碼、數(shù)據(jù)段和差錯(cuò)檢測區(qū)。其中從設(shè)備地址為本機(jī)地址,數(shù)據(jù)段包含了從設(shè)備采集的數(shù)據(jù)。MODBUS規(guī)定:用主站查詢的功能碼變化來指示是否有錯(cuò)誤發(fā)生。無錯(cuò)誤正常應(yīng)答,從站僅回應(yīng)相同的功能碼。對有錯(cuò)或異常的應(yīng)答,從站應(yīng)答時(shí),將其功能碼最高位b7置1。同時(shí),從站還應(yīng)將錯(cuò)誤代碼放入數(shù)據(jù)區(qū)告訴主站發(fā)生了什么錯(cuò)誤。Modbus功能碼山東師范大學(xué)信息科學(xué)與工程學(xué)院用戶自定義的功能碼由用戶自己定義,無法確保其唯一性,代碼范圍為:65~72和100~110。本節(jié)主要討論RTU模式的公共功能碼。代碼功能碼名稱位/字操作操作數(shù)量01讀線圈狀態(tài)位操作單個(gè)或多個(gè)02讀離散輸入狀態(tài)位操作單個(gè)或多個(gè)03讀保持寄存器字操作單個(gè)或多個(gè)04讀輸入寄存器字操作單個(gè)或多個(gè)05寫單個(gè)線圈位操作單個(gè)06寫單個(gè)保持寄存器字操作單個(gè)15寫多個(gè)線圈位操作多個(gè)16(0x10)寫多個(gè)保持寄存器字操作多個(gè)讀線圈/離散量輸出狀態(tài)功能碼01山東師范大學(xué)信息科學(xué)與工程學(xué)院請求報(bào)文:線圈寄存器的值:

響應(yīng)報(bào)文:從設(shè)備地址功能碼起始地址寄存器個(gè)數(shù)CRC校驗(yàn)0601001600211C

61地址范圍取值字節(jié)值22~29ON-ON-OFF-OFF-OFF-ON-OFF-OFF0x23(0b00100011)30~37ON-ON-OFF-ON-OFF-OFF-OFF-ON0x8B(0b10001011)38~45OFF-OFF-ON-OFF-OFF-ON-OFF-OFF0x24(0b00100100)46~53OFF-OFF-ON-OFF-OFF-OFF-ON-ON0xC4(0b11000100)54ON0x01(0b00000001)從設(shè)備地址功能碼數(shù)據(jù)域字節(jié)數(shù)5個(gè)數(shù)據(jù)CRC校驗(yàn)060105238B24C401ED9C讀離散量輸入值功能碼02山東師范大學(xué)信息科學(xué)與工程學(xué)院請求報(bào)文:線圈寄存器的值:

響應(yīng)報(bào)文:從設(shè)備地址功能碼起始地址寄存器個(gè)數(shù)CRC校驗(yàn)04020077001E484D地址范圍取值字節(jié)值119~126ON-OFF-ON-ON-OFF-ON-OFF-ON0xAD127~134ON-ON-ON-OFF-ON-ON-OFF-ON0xB7135~142ON-OFF-ON-OFF-OFF-OFF-OFF-OFF0x05143~148OFF-OFF-OFF-ON-ON-ON0x38從設(shè)備地址功能碼數(shù)據(jù)域字節(jié)數(shù)5個(gè)數(shù)據(jù)CRC校驗(yàn)040204ADB705383CEA讀保持寄存器值功能碼03山東師范大學(xué)信息科學(xué)與工程學(xué)院請求報(bào)文:

響應(yīng)報(bào)文:從設(shè)備地址功能碼起始地址寄存器個(gè)數(shù)CRC校驗(yàn)060300D20004E587從設(shè)備地址功能碼數(shù)據(jù)域字節(jié)數(shù)8個(gè)數(shù)據(jù)CRC校驗(yàn)060308026E01F3010659AB1E6A

注意:Modbus的保持寄存器和輸入寄存器是以字為基本單位,即:每個(gè)寄存器分別對應(yīng)2個(gè)字節(jié)。請求報(bào)文連續(xù)讀取4個(gè)寄存器的內(nèi)容,將返回8個(gè)字節(jié)。讀輸入寄存器值功能碼04山東師范大學(xué)信息科學(xué)與工程學(xué)院請求報(bào)文:

響應(yīng)報(bào)文:從設(shè)備地址功能碼起始地址寄存器個(gè)數(shù)CRC校驗(yàn)060401900005306F從設(shè)備地址功能碼數(shù)據(jù)域字節(jié)數(shù)10個(gè)數(shù)據(jù)CRC校驗(yàn)06040A1CE2135A35DB233F56E3513A寫單個(gè)線圈或單個(gè)離散輸出功能碼05山東師范大學(xué)信息科學(xué)與工程學(xué)院

請求報(bào)文:

響應(yīng)報(bào)文:從設(shè)備地址功能碼起始地址變更數(shù)據(jù)CRC校驗(yàn)04050098FF000D80從設(shè)備地址功能碼起始地址變更數(shù)據(jù)CRC校驗(yàn)04050098FF000D80寫單個(gè)保持寄存器功能碼06山東師范大學(xué)信息科學(xué)與工程學(xué)院請求報(bào)文:

響應(yīng)報(bào)文:從設(shè)備地址功能碼起始地址變更數(shù)據(jù)CRC校驗(yàn)0306008202AB68DF從設(shè)備地址功能碼起始地址寄存器數(shù)CRC校驗(yàn)0306008202AB68DF寫多個(gè)線圈功能碼15(0x0F)山東師范大學(xué)信息科學(xué)與工程學(xué)院

請求報(bào)文:

響應(yīng)報(bào)文:從設(shè)備地址功能碼起始地址寄存器數(shù)字節(jié)數(shù)變更數(shù)據(jù)CRC校驗(yàn)030F0014000F02C203EEE1地址范圍取值字節(jié)值20~27OFF-ON-OFF-OFF-OFF-OFF-ON-ON0xC228~34ON-ON-OFF-OFF-OFF-OFF-OFF0x03從設(shè)備地址功能碼起始地址寄存器數(shù)CRC校驗(yàn)030F0014000F5429寫多個(gè)保持寄存器功能碼16(0x10)山東師范大學(xué)信息科學(xué)與工程學(xué)院

請求報(bào)文:

響應(yīng)報(bào)文:從設(shè)備地址功能碼起始地址寄存器數(shù)字節(jié)數(shù)變更數(shù)據(jù)CRC校驗(yàn)05100015000306536B05F32A083E72從設(shè)備地址功能碼起始地址寄存器數(shù)CRC校驗(yàn)05100015000390484智能安防系統(tǒng)的構(gòu)成山東師范大學(xué)信息科學(xué)與工程學(xué)院本案例要求搭建一個(gè)基于RS-485總線的智能安防系統(tǒng),系統(tǒng)構(gòu)成如下:PC機(jī)一臺(作為上位機(jī));RS-485通信節(jié)點(diǎn)三個(gè)(一個(gè)作為主機(jī)、兩個(gè)作為從機(jī));火焰?zhèn)鞲衅饕粋€(gè)(安裝在從機(jī)1上);可燃?xì)怏w傳感器一個(gè)(安裝在從機(jī)2上);USB轉(zhuǎn)485調(diào)試器一個(gè)。整個(gè)系統(tǒng)由兩個(gè)RS-485網(wǎng)絡(luò)構(gòu)成,RS-485網(wǎng)絡(luò)1含一個(gè)主機(jī)節(jié)點(diǎn),兩個(gè)從機(jī)節(jié)點(diǎn),使用Modbus通信協(xié)議作為應(yīng)用層協(xié)議。主機(jī)節(jié)點(diǎn)與PC機(jī)(上位機(jī))的連接基于RS-485網(wǎng)絡(luò)2,通過上位機(jī)查看主機(jī)上報(bào)的數(shù)據(jù)。5硬件連接山東師范大學(xué)信息科學(xué)與工程學(xué)院各類傳感器山東師范大學(xué)信息科學(xué)與工程學(xué)院

同學(xué)們在使用各類傳感器時(shí),請保存好其帶有標(biāo)簽的包裝,實(shí)驗(yàn)完畢后,將傳感器裝回原包裝中,并將傳感器(帶包裝,封好口)放回對應(yīng)桌子的抽屜里。RS-485網(wǎng)絡(luò)1的數(shù)據(jù)幀山東師范大學(xué)信息科學(xué)與工程學(xué)院在RS-485網(wǎng)絡(luò)1中,從機(jī)節(jié)點(diǎn)可連接三種類型的傳感器:開關(guān)量、模擬量和數(shù)字量。另外,我們需要對從機(jī)節(jié)點(diǎn)的地址與傳感器類型編號進(jìn)行配置,它們的數(shù)據(jù)類型為數(shù)字量。根據(jù)Modbus功能碼的相關(guān)基礎(chǔ)知識,我們可規(guī)劃本系統(tǒng)的功能碼、寄存器地址與傳感器的對應(yīng)關(guān)系。RS-485網(wǎng)絡(luò)1的數(shù)據(jù)幀山東師范大學(xué)信息科學(xué)與工程學(xué)院功能碼寄存器地址傳感器(數(shù)據(jù))類型傳感器(數(shù)據(jù))名稱0x02讀離散輸入狀態(tài)0x0000開關(guān)量人體紅外傳感器0x0001聲音傳感器0x0002紅外傳感器0x03讀保持寄存器0x0000數(shù)字量溫濕度傳感器0x0001本節(jié)點(diǎn)地址0x0002節(jié)點(diǎn)連接的傳感器類型0x04讀輸入寄存器0x0000模擬量光敏傳感器0x0001空氣質(zhì)量傳感器0x0002火焰?zhèn)鞲衅?x0003可燃?xì)怏w傳感器0x06寫單個(gè)保持寄存器0x0001數(shù)字量配置(寫)節(jié)點(diǎn)地址0x0002配置(寫)傳感器類型RS-485網(wǎng)絡(luò)1的數(shù)據(jù)幀山東師范大學(xué)信息科學(xué)與工程學(xué)院本案例的RS-485通信采用ModbusRTU模式,接下來對幾種常用的主機(jī)請求與從機(jī)響應(yīng)的通信幀進(jìn)行介紹。①可燃?xì)怏w傳感器數(shù)據(jù)采集(模擬量,功能碼0x04)如果主機(jī)需要讀取從機(jī)2的可燃?xì)怏w傳感器數(shù)據(jù),主機(jī)發(fā)送請求幀從機(jī)2收到Modbus通信幀后,響應(yīng)幀中返回ADC值300(0x012C)。地址1個(gè)字節(jié)功能碼1個(gè)字節(jié)寄存器地址2個(gè)字節(jié)寄存器數(shù)量2個(gè)字節(jié)CRC校驗(yàn)2個(gè)字節(jié)0x020x040x00030x00010xC1CA地址1個(gè)字節(jié)功能碼1個(gè)字節(jié)返回字節(jié)數(shù)1個(gè)字節(jié)寄存器值2個(gè)字節(jié)CRC校驗(yàn)2個(gè)字節(jié)0x020x040x020x012C0xB97DRS-485網(wǎng)絡(luò)1的數(shù)據(jù)幀山東師范大學(xué)信息科學(xué)與工程學(xué)院②火焰?zhèn)鞲衅鲾?shù)據(jù)采集(模擬量,功能碼0x04)如果主機(jī)需要讀取從機(jī)1的火焰?zhèn)鞲衅鲾?shù)據(jù),主機(jī)發(fā)送請求幀從機(jī)1收到Modbus通信幀后,響應(yīng)幀中返回ADC值200(0x00C8)。地址1個(gè)字節(jié)功能碼1個(gè)字節(jié)寄存器地址2個(gè)字節(jié)寄存器數(shù)量2個(gè)字節(jié)CRC校驗(yàn)2個(gè)字節(jié)0x010x040x00020x00010x900A地址1個(gè)字節(jié)功能碼1個(gè)字節(jié)返回字節(jié)數(shù)1個(gè)字節(jié)寄存器值2個(gè)字節(jié)CRC校驗(yàn)2個(gè)字節(jié)0x010x040x020x00C80xB8A6通過RS-485網(wǎng)絡(luò)上傳到PC端的數(shù)據(jù)幀山東師范大學(xué)信息科學(xué)與工程學(xué)院RS-485網(wǎng)絡(luò)2的主機(jī)需要將采集到的傳感器數(shù)據(jù)通過上報(bào)到PC端。組成部分(縮寫)幀起始符(START)地址域(ADDR)命令碼域(CMD)數(shù)據(jù)長度域(LEN)傳感器類型(TYPE)數(shù)據(jù)域(DATA)校驗(yàn)碼域(CS)長度1Byte2Byte1Byte1Byte1Byte2Bytes1Byte內(nèi)容固定為0xDDDstAddr見本表格說明Length見本表格說明DataCheckSum舉例0xDD0x00020x020x090x010x180x400x51幀起始符:固定為0xDD;地址域:為發(fā)送節(jié)點(diǎn)的地址;命令碼域:0x01代表上報(bào)CAN網(wǎng)絡(luò)的數(shù)據(jù),0x02代表上報(bào)RS-485網(wǎng)絡(luò)的數(shù)據(jù);數(shù)據(jù)長度域:固定為0x09,即:9個(gè)字節(jié);傳感器類型:1溫濕度傳感器、2人體檢測傳感器、3火焰?zhèn)鞲衅鳌?可燃?xì)怏w、5空氣質(zhì)量傳感器、6光敏二極管、

7聲音傳感模塊、8紅外傳感模塊、9心率傳感器、10其他;數(shù)據(jù)域:占2個(gè)字節(jié),高8位和低8位。如:對應(yīng)溫濕度傳感器,高8位為溫度值,低8位為濕度值。則溫度24℃對應(yīng)0x18,濕度64%對應(yīng)0x40;校驗(yàn)碼域:采用和校驗(yàn)方式,計(jì)算從“幀起始符”到“數(shù)據(jù)域”之間所有數(shù)據(jù)的累加和,并將該累加和與0xFF按位與而保留低8位,將此值作為CS的值。工作流程山東師范大學(xué)信息科學(xué)與工程學(xué)院RS-485網(wǎng)絡(luò)1的主機(jī)每隔0.5s發(fā)送一次查詢從機(jī)傳感器數(shù)據(jù)的Modbus通信幀RS-485網(wǎng)絡(luò)1中的從機(jī)收到通信幀后,解析其內(nèi)容,判斷是否是發(fā)給自己的,然后根據(jù)功能碼要求采集相應(yīng)的傳感器數(shù)據(jù),發(fā)送至主機(jī)主機(jī)收到從機(jī)的傳感器數(shù)據(jù)后,通過RS-485網(wǎng)絡(luò)2上報(bào)至PC端在PC端查看上報(bào)的數(shù)據(jù)。程序框架結(jié)構(gòu)(從機(jī))山東師范大學(xué)信息科學(xué)與工程學(xué)院程序框架結(jié)構(gòu)(從機(jī))山東師范大學(xué)信息科學(xué)與工程學(xué)院

山東師范大學(xué)信息科學(xué)與工程學(xué)院

山東師范大學(xué)信息科學(xué)與工程學(xué)院

程序框架結(jié)構(gòu)(主機(jī))山東師范大學(xué)信息科學(xué)與工程學(xué)院modbus_master_rec();該函數(shù)的源碼在app_master.c中,主機(jī)解析從機(jī)發(fā)送來信息的函數(shù)。在mb_unpack_frame(&m_send_frame,&m_rev_frame)函數(shù)中,會(huì)先判斷幀格式、校驗(yàn)碼等是否正確,如果正確,會(huì)根據(jù)功能碼來解析從機(jī)發(fā)送來的信息。本例中,火焰?zhèn)鞲衅骱涂扇細(xì)怏w傳感器都是模擬量,功能碼是04,所以在該函數(shù)中,會(huì)根據(jù)功能碼04,調(diào)用unpack_readinput_reg(tx,rx);在此函數(shù)中,如果一切正常,則會(huì)根據(jù)返回的傳感器類型,將火焰?zhèn)鞲衅鞯臄?shù)據(jù)或可燃?xì)怏w傳感器的數(shù)據(jù)存放在class_sen[x].value變量中。程序框架結(jié)構(gòu)(主機(jī))山東師范大學(xué)信息科學(xué)與工程學(xué)院master_task();該函數(shù)的源碼在app_master.c中,主機(jī)發(fā)送查詢命令,主機(jī)上報(bào)數(shù)據(jù)。其中主機(jī)向從機(jī)發(fā)送查詢數(shù)據(jù)幀的函數(shù)是master_poll();主機(jī)向PC端上報(bào)數(shù)據(jù)的函數(shù)為master_push();上電后所有設(shè)備處于接收狀態(tài)(監(jiān)聽)山東師范大學(xué)信息科學(xué)與工程學(xué)院Modbus請求報(bào)文的格式山東師范大學(xué)信息科學(xué)與工程學(xué)院主機(jī)要發(fā)送數(shù)據(jù),先把自己設(shè)置為發(fā)送狀態(tài)(通過改指定IO口的電平為1),發(fā)送結(jié)束設(shè)置為接收狀態(tài)從機(jī)接收到數(shù)據(jù)后,改為發(fā)送狀態(tài),因?yàn)橐貞?yīng)數(shù)據(jù)給主機(jī)?;貞?yīng)結(jié)束要改為接收狀態(tài)。重點(diǎn)難點(diǎn)protocol.h中modbus幀與modbus協(xié)議管理器的結(jié)構(gòu)體“m_frame_typedef”和“m_protocol_dev_typedef”protocol.c中的mb_unpack_frame函數(shù),尤其注意該函數(shù)內(nèi)部,最后部分,根據(jù)功能碼讀取寄存器的函數(shù),如本例中,功能碼04,讀取輸入寄存器函數(shù)ReadInputRegister();010203inputregister_m.c中的masterInputRegister函數(shù),這是讀取輸入寄存器的通信請求幀04app_master.c中的master_push函數(shù),這個(gè)函數(shù)里組建上傳給PC端的通信幀,并發(fā)送出去程序下載(1)主機(jī)打開路徑為“…/RS485-model/Newlab_HAL_mater/MDK-ARM”目錄,雙擊Newlab_HAL_master圖標(biāo),打開工程。生成hex文件。然后使用串口下載的方式,將程序下載到一塊開發(fā)板,作為主機(jī)。(2)從機(jī)打開路徑為“…/RS485-model/Newlab_HAL_salve/MDK-ARM”目錄,雙擊Newlab_HAL_slave圖標(biāo),打開工程。找到另外兩塊開發(fā)板,下載代碼,作為從機(jī)。將火焰?zhèn)鞲衅髋c一個(gè)從機(jī)模塊連接,并作為從機(jī)1。將可燃?xì)怏w傳感器與另一個(gè)從機(jī)模塊連接,并作為從機(jī)2。從機(jī)節(jié)點(diǎn)配置使用“M3主控模塊配置工具(SerialPortCommunicationV2.0)”(進(jìn)行RS-485節(jié)點(diǎn)的配置。需要配置的內(nèi)容有兩個(gè),一是節(jié)點(diǎn)地址,二是傳感器類型。

從機(jī)節(jié)點(diǎn)1的地址配置為“0x01”,

連接傳感器類型配置為“火焰?zhèn)鞲衅鳌薄?/p>

從機(jī)節(jié)點(diǎn)2的地址配置為“0x02”,

連接傳感器類型配置為“可燃?xì)怏w傳感器”。在配置時(shí),實(shí)驗(yàn)平臺底座只放需要配置的模塊,其他模塊不要放。如遇問題,請檢查軟件右上角的485協(xié)議前面的框是否勾選。并檢查底座上的USB轉(zhuǎn)串口線是否一端與底座,另一端與電腦相連。(設(shè)置完畢后可斷開連接)還要注意串口選擇是否正確。參數(shù)設(shè)置完畢后,點(diǎn)擊設(shè)置,之后可以點(diǎn)擊讀取查看。圖示主機(jī)從機(jī)1從機(jī)2硬件連接實(shí)拍圖硬件連接實(shí)拍圖硬件連接實(shí)拍圖主機(jī)USB-485調(diào)試器通過PC端查看上報(bào)的數(shù)據(jù)CAN總線通信應(yīng)用總覽山東師范大學(xué)信息科學(xué)與工程學(xué)院CAN總線基礎(chǔ)CAN電平分析CAN總線協(xié)議生產(chǎn)線環(huán)境監(jiān)測系統(tǒng)CAN總線基礎(chǔ)山東師范大學(xué)信息科學(xué)與工程學(xué)院CAN是ControllerAreaNetwork(控制器域網(wǎng))的縮寫(以下稱為CAN),是ISO國際標(biāo)準(zhǔn)化的串行通信協(xié)議。由德國電氣商博世公司在1986年率先提出?,F(xiàn)在在歐洲已是汽車網(wǎng)絡(luò)的標(biāo)準(zhǔn)協(xié)議,因其高可靠性,可靠性,廣泛應(yīng)用于:汽車電子、工業(yè)自動(dòng)化、船舶、醫(yī)療設(shè)備、工業(yè)設(shè)備等方面。CAN總線優(yōu)點(diǎn)多主控制。數(shù)據(jù)傳輸距離遠(yuǎn)(最遠(yuǎn)10Km);數(shù)據(jù)傳輸速率高(最高數(shù)據(jù)傳輸速率1Mbps);具備優(yōu)秀的仲裁機(jī)制(ID識別);使用過濾器實(shí)現(xiàn)多地址的數(shù)據(jù)幀傳遞;借助遙控幀實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)請求;具備錯(cuò)誤檢測與處理功能;具備數(shù)據(jù)自動(dòng)重發(fā)功能;故障節(jié)點(diǎn)可自動(dòng)脫離總線且不影響總線上其他節(jié)點(diǎn)的正常工作。山東師范大學(xué)信息科學(xué)與工程學(xué)院CAN總線標(biāo)準(zhǔn)山東師范大學(xué)信息科學(xué)與工程學(xué)院CAN有兩個(gè)標(biāo)準(zhǔn):1.遵循ISO11898標(biāo)準(zhǔn)的高速CAN總線網(wǎng)絡(luò)。應(yīng)用在汽車動(dòng)力與傳動(dòng)系統(tǒng),它是閉環(huán)網(wǎng)絡(luò),總線最大長度為40米,要求兩端各有一個(gè)120Ω的電阻。2.遵循ISO11519標(biāo)準(zhǔn)的低速CAN總線網(wǎng)絡(luò)。低速CAN總線網(wǎng)絡(luò)被應(yīng)用在汽車車身系統(tǒng),它的兩根總線是獨(dú)立的,不形成閉環(huán),要求每根總線上各串聯(lián)一個(gè)2.2KΩ的電阻。終端電阻用來做阻抗匹配,以減少回波反射。CAN總線的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)山東師范大學(xué)信息科學(xué)與工程學(xué)院兩種速率的電平山東師范大學(xué)信息科學(xué)與工程學(xué)院CAN總線報(bào)文電平山東師范大學(xué)信息科學(xué)與工程學(xué)院總線電平=CAN_H的電壓—CAN_L的電壓顯性電平對應(yīng)邏輯0=總線電平為2V左右隱性電平對應(yīng)邏輯1=總線電平為0V顯性電平具有優(yōu)先權(quán),只要有一個(gè)單元輸出顯性電平,總線上即為顯性電平。隱形電平則具有包容的意味,只有所有的單元都輸出隱性電平,總線上才為隱性電平(顯性電平比隱性電平更強(qiáng))。CAN控制器與收發(fā)器山東師范大學(xué)信息科學(xué)與工程學(xué)院CAN控制器與收發(fā)器山東師范大學(xué)信息科學(xué)與工程學(xué)院CAN控制器結(jié)構(gòu)示意圖山東師范大學(xué)信息科學(xué)與工程學(xué)院STM32F1系列MCU的CAN控制器介紹山東師范大學(xué)信息科學(xué)與工程學(xué)院STM32自帶了基本擴(kuò)展CAN外設(shè),又稱BxCAN,BxCAN的特點(diǎn)如下

支持CAN協(xié)議2.0A和2.0B主動(dòng)模式

波特率最高達(dá)1Mbps

支持時(shí)間觸發(fā)通信

具有3個(gè)發(fā)送郵箱

具有3級深度的2個(gè)接收FIFO

工作模式

①初始化模式(INRQ=1,SLEEP=0)

②正常模式(INRQ=0,SLEEP=0)

③睡眠模式(SLEEP=1)測試模式(方便用戶調(diào)試)

①靜默模式(LBKM=0,SILM=1)

②回環(huán)模式(LBKM=1,SILM=0)

③靜默回環(huán)模式(LBKM=1,SILM=1)BxCAN的正常模式與測試模式山東師范大學(xué)信息科學(xué)與工程學(xué)院CAN收發(fā)器山東師范大學(xué)信息科學(xué)與工程學(xué)院定義:CAN收發(fā)器是CAN控制器和物理總線之間的接口,將CAN控制器的邏輯電平轉(zhuǎn)換為CAN總線的差分電平,在兩條有差分電壓的總線電纜上傳輸數(shù)據(jù)。CAN收發(fā)器分類及相應(yīng)產(chǎn)品CAN收發(fā)器分類過壓述相應(yīng)產(chǎn)品隔離CAN收發(fā)器將CAN控制器的邏輯電平轉(zhuǎn)換為CAN總線的差分電平,并且具隔離功能、ESD保護(hù)功能及TVS官防總線過壓CTM1050系列、CTM8250系列、CTM8251系列通用CAN收發(fā)器NXP半導(dǎo)體PCA82C250、PCA82C251高速CAN收發(fā)器支持較高的CAN通信速率NXP半導(dǎo)體的TJA1050、TJA1040、TJA1041/1041A容錯(cuò)CAN收發(fā)器在總線出現(xiàn)破損或短路情況下依然可以維持運(yùn)行NXP半導(dǎo)體的TJA1054、TJA1054A、TJA1055、TJA1055/3CAN總線遵循的協(xié)議山東師范大學(xué)信息科學(xué)與工程學(xué)院CAN總線有多個(gè)設(shè)備時(shí),要遵循CAN總線通信協(xié)議,會(huì)使用到郵箱、識別符、過濾器功能CAN總線-發(fā)送部分山東師范大學(xué)信息科學(xué)與工程學(xué)院報(bào)文:CAN設(shè)備一次發(fā)送出去的完整數(shù)據(jù)信息。郵箱:用于發(fā)送報(bào)文的發(fā)送調(diào)度器。幀種類:不同用途的報(bào)文種類。有數(shù)據(jù)幀、遙控幀、錯(cuò)誤幀、過載幀、幀間隔。幀格式:一個(gè)報(bào)文里包含的內(nèi)容。標(biāo)識符:CAN總線上的設(shè)備可以用此判斷數(shù)據(jù)

是不是發(fā)給自己的。發(fā)送郵箱山東師范大學(xué)信息科學(xué)與工程學(xué)院1.當(dāng)程序向CAN控制器發(fā)數(shù)據(jù)時(shí),CAN會(huì)選擇優(yōu)級最高的空郵箱放入數(shù)據(jù)2.如果所有郵箱都滿了,會(huì)使溢出標(biāo)志位置1,需要等待有空郵箱3.滿郵箱按先后順序排隊(duì)發(fā)送數(shù)據(jù),發(fā)送完成后會(huì)變成空郵箱報(bào)文過濾山東師范大學(xué)信息科學(xué)與工程學(xué)院所有設(shè)備都會(huì)接收報(bào)文,但標(biāo)識符不符的報(bào)文會(huì)被過濾器刪除標(biāo)識符是報(bào)文中的一部分內(nèi)容通信幀類型山東師范大學(xué)信息科學(xué)與工程學(xué)院序號幀類型幀用途1數(shù)據(jù)幀用于發(fā)送單元向接收單元傳送數(shù)據(jù)。2遠(yuǎn)程幀用于接收單元向具有相同ID的發(fā)送單元請求數(shù)據(jù)。3錯(cuò)誤幀用于當(dāng)檢測出錯(cuò)誤時(shí)向其他單元通知錯(cuò)誤。4過載幀用于接收單元通知發(fā)送單元其尚未做好接收準(zhǔn)備。5幀間隔用于將數(shù)據(jù)幀及遙控幀與前面的幀分離開。幀格式山東師范大學(xué)信息科學(xué)與工程學(xué)院數(shù)據(jù)幀和遠(yuǎn)程幀(遙控幀)有標(biāo)準(zhǔn)格式和擴(kuò)展格式兩種格式CAN標(biāo)準(zhǔn)幀和擴(kuò)展幀只是在ID的長度上不一樣,類似IPv4與IPv6的區(qū)別。數(shù)據(jù)幀山東師范大學(xué)信息科學(xué)與工程學(xué)院數(shù)據(jù)幀山東師范大學(xué)信息科學(xué)與工程學(xué)院數(shù)據(jù)幀山東師范大學(xué)信息科學(xué)與工程學(xué)院數(shù)據(jù)幀山東師范大學(xué)信息科學(xué)與工程學(xué)院數(shù)據(jù)幀山東師范大學(xué)信息科學(xué)與工程學(xué)院數(shù)據(jù)幀山東師范大學(xué)信息科學(xué)與工程學(xué)院數(shù)據(jù)幀山東師范大學(xué)信息科學(xué)與工程學(xué)院數(shù)據(jù)幀山東師范大學(xué)信息科學(xué)與工程學(xué)院遙控幀/遠(yuǎn)程幀山東師范大學(xué)信息科學(xué)與工程學(xué)院代碼部分山東師范大學(xué)信息科學(xué)與工程學(xué)院接收郵箱山東師范大學(xué)信息科學(xué)與工程學(xué)院FIFO:表面的意思是“先入先出”,是指有層級深度的接收郵箱。STM32F103系列單片機(jī)上有2個(gè)FIFO郵箱(FIFO0和FIFO1),每個(gè)FIFO有3層深度。與過濾器匹配的報(bào)文會(huì)被放入FIFO郵箱。過濾器山東師范大學(xué)信息科學(xué)與工程學(xué)院過濾器:可由硬件判斷報(bào)文中的標(biāo)識符,過濾掉標(biāo)識符不匹配的報(bào)文。STM32F103系列單片機(jī)中的CAN總線控制器提供了14個(gè)過濾器組。過濾器是由硬件實(shí)現(xiàn)的,只有與過濾器匹配的報(bào)文才需要軟件處理。過濾器山東師范大學(xué)信息科學(xué)與工程學(xué)院標(biāo)識符列表模式(ID模式)屏蔽模式過濾器山東師范大學(xué)信息科學(xué)與工程學(xué)院不同的篩選器模式與尺度的組合構(gòu)成了4種篩選器工作狀態(tài)序號工作狀態(tài)模式尺度說明1一個(gè)32位篩選器標(biāo)識符掩碼32位CAN_FxR1存儲(chǔ)ID,CAN_FxR2存儲(chǔ)掩碼,2個(gè)寄存器表示1組待篩選的ID與掩碼。可適用于標(biāo)準(zhǔn)ID和擴(kuò)展ID。2兩個(gè)32位篩選器標(biāo)識符列表32位CAN_FxR1和CAN_FxR2各存儲(chǔ)1個(gè)ID,2個(gè)寄存器表示2個(gè)待篩選的位ID??蛇m用于標(biāo)準(zhǔn)ID和擴(kuò)展ID。3兩個(gè)16位篩選器標(biāo)識符掩碼16位CAN_FxR1高16位存儲(chǔ)ID,低16位存儲(chǔ)相應(yīng)的掩碼,CAN_FxR2高16位存儲(chǔ)ID,低16位存儲(chǔ)相應(yīng)掩碼,2個(gè)寄存器表示2組待篩選的16位ID與掩碼。只適用于標(biāo)準(zhǔn)ID。4四個(gè)16位篩選器標(biāo)識符列表16位CAN_FxR1存儲(chǔ)2個(gè)ID,CAN_FxR2存儲(chǔ)2個(gè)ID,2個(gè)寄存器表示4個(gè)待篩選的16位ID。只適用于標(biāo)準(zhǔn)ID。過濾器優(yōu)先級山東師范大學(xué)信息科學(xué)與工程學(xué)院過濾器根據(jù)下列優(yōu)先級規(guī)則來確定(詳看數(shù)據(jù)手冊22.7.4):位寬為32位的過濾器,優(yōu)先級高于位寬為16位的過濾器對于位寬相同的過濾器,標(biāo)識符列表模式的優(yōu)先級高于屏蔽位模式位寬和模式都相同的過濾器,優(yōu)先級由過濾器號決定,過濾器號小的優(yōu)先級高過濾器初始化配置山東師范大學(xué)信息科學(xué)與工程學(xué)院BxCAN位時(shí)序山東師范大學(xué)信息科學(xué)與工程學(xué)院SS(同步段)PTS(傳播時(shí)間段)PBS1(相位緩沖段1)PBS2(相位緩沖段2)1tq1——8tq1——8tq2——8tqSYNC_SEG(同步段)BS1(位段1)BS2(位段2)1tq1——16tq1——8tq采樣點(diǎn)tq(timequantum):最小時(shí)間片(構(gòu)成上面所示各個(gè)段的最小時(shí)間單元)生產(chǎn)線環(huán)境監(jiān)測系統(tǒng)的搭建山東師范大學(xué)信息科學(xué)與工程學(xué)院本案例要求搭建一個(gè)基于CAN總線的生產(chǎn)線環(huán)境監(jiān)測系統(tǒng),采集溫度和火焰?zhèn)鞲衅鲾?shù)據(jù),系統(tǒng)構(gòu)成如下:PC機(jī)一臺(作為上位機(jī));CAN節(jié)點(diǎn)三個(gè)(一個(gè)CAN網(wǎng)關(guān)節(jié)點(diǎn)、

兩個(gè)CAN終端節(jié)點(diǎn));溫濕度傳感器兩個(gè);火焰?zhèn)鞲衅饕粋€(gè);USBCAN調(diào)試器一個(gè)。生產(chǎn)線環(huán)境監(jiān)測系統(tǒng)的拓?fù)鋱D如圖所示。系統(tǒng)數(shù)據(jù)通信協(xié)議分析山東師范大學(xué)信息科學(xué)與工程學(xué)院本案例的CAN通信采用標(biāo)準(zhǔn)格式的數(shù)據(jù)幀段類型幀ID幀類型RTR標(biāo)識符ID類型IDE保留位數(shù)據(jù)長度DLC數(shù)據(jù)段Data[8]長度11bit(標(biāo)準(zhǔn)幀)1bit1bit1bit4bit8Byte內(nèi)容標(biāo)準(zhǔn)幀ID0:數(shù)據(jù)幀1:遠(yuǎn)程幀0:標(biāo)準(zhǔn)幀1:擴(kuò)展幀r0DLCData舉例0x120000x08Data[0]~Data[7]系統(tǒng)數(shù)據(jù)通信協(xié)議分析山東師范大學(xué)信息科學(xué)與工程學(xué)院幀起始符:固定為0xDD;地址域:為發(fā)送節(jié)點(diǎn)的地址;命令碼域:0x01代表上報(bào)CAN總線網(wǎng)絡(luò)的數(shù)據(jù),0x02代表上報(bào)RS-485總線網(wǎng)絡(luò)的數(shù)據(jù);數(shù)據(jù)長度域:固定為0x09;傳感器類型:1溫濕度傳感器,2人體紅外傳感器,3火焰?zhèn)鞲衅鳎?可燃?xì)怏w,5空氣質(zhì)量傳感器,6光敏二極管,7聲音傳感模塊,8紅外傳感模塊,9心率傳感器,10其他;數(shù)據(jù)域:占2個(gè)字節(jié),高8位和低8位。如:對應(yīng)溫濕度傳感器,高8位為溫度值,低8位為濕度值。則溫度24℃對應(yīng)0x18,濕度64%對應(yīng)0x40;校驗(yàn)碼域:采用和校驗(yàn)方式,計(jì)算從“幀起始符”到“數(shù)據(jù)域”之間所有數(shù)據(jù)的累加和,并將該累加和與0xFF按位與而保留低8位,將此值作為CS的值。組成部分幀起始符(START)地址域(ADDR)命令碼域(CMD)數(shù)據(jù)長度域(LEN)傳感器類型(TYPE)數(shù)據(jù)域(DATA)校驗(yàn)碼域(CS)長度1Byte2Byte1Byte1Byte1Byte2Bytes1Byte內(nèi)容固定為0xDDDstAddr見本表格說明Length見本表格說明DataCheckSum舉例0xDD0x12340x010x090x010x18、0x400x51系統(tǒng)數(shù)據(jù)通信協(xié)議分析山東師范大學(xué)信息科學(xué)與工程學(xué)院網(wǎng)絡(luò)中的CAN節(jié)點(diǎn)每隔1.5秒鐘上傳一次數(shù)據(jù)至CAN網(wǎng)關(guān)節(jié)點(diǎn)。

CAN網(wǎng)關(guān)節(jié)點(diǎn)收到傳感器數(shù)據(jù)后,CAN網(wǎng)關(guān)節(jié)點(diǎn)每隔1.5秒鐘也將自身采集的溫濕度數(shù)據(jù)上報(bào)給上位機(jī)。配置M3

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論