freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

基于modbus協(xié)議的通訊系統(tǒng)(編輯修改稿)

2025-09-13 21:33 本頁面
 

【文章內容簡介】 RC 值的流程為: ⑴ 預置一個 16 位寄存器為 0FFFFH( 全 1),稱之為 CRC 寄存器。 ⑵ 把數(shù)據(jù)幀中的第一個 8 位字節(jié)與 CRC 寄存器中的低字節(jié)進行異或運算,結果存回 CRC 寄存器。 ⑶ 將 CRC 寄存器向右移一位,最高位填以 0,最低位移出并檢測。 ⑷ 如果最低位為 0:重復第三步(下一次移位); 如果最低位為 1:將 CRC 寄存器與一個預設的固定值( 0A001H)進行異或運算。 ⑸ 重復第 3 步和第 4 步直到 8 次移位,這樣處理完了一個完整的八位。 ⑹ 重復第 2 步到第 5 步來處理下一個八位,直到所有的字節(jié)處理結束。 ⑺ 最終 CRC 寄存器的值就是 CRC 的值。 RS485 接口簡介 RS485 標準理想地用于多分支( multidrop )應用和遠程接口中。它允許在一條數(shù)據(jù)線 上連接 32 個發(fā)送器和接收器,非常適合于多分支應用。由于允許使用 4000 英尺長的電纜, RS485 收發(fā)器可以使用一個寬(- 7V~ +12V)共模方式范圍來調整零電位偏差。因為 RS485 是一個差分接口,所以傳輸數(shù)據(jù)時完全可以抑制來自發(fā)送線的干擾。 圖 31 RS485 引腳說明 8 NRF24L01 無線模塊內 容簡介 無線收發(fā)單元采用 單片高速 2Mbps 無線收發(fā)芯片 nRF24L01, nRF2401 是挪威 NoRDIC SEMICONDUCTOR 公司的產(chǎn)品,它把射頻收發(fā)電路集成在一塊芯片上,可以用 MCU 模擬 SPI 通信協(xié)議實現(xiàn)數(shù)字傳輸。通過編程, nRF2401 芯片的射頻工作頻率和輸出信號的功率等參量可以非常方便地調節(jié)。 無線收發(fā)芯片 nRF2401 具有以下功能: ⑴ 125 個工作頻道,工作頻道之間的轉換時間小于 200us ⑵ 無線通信數(shù)據(jù)具有地址檢測和循環(huán)冗余檢查。 ⑶ 信號的調制方式為頻移鍵控 (FSK) ⑷ 最大數(shù)據(jù)傳輸速率 1Mbps ⑸ 最大輸出功率 0dB ⑹ 獨特的 Shock Burst TM 射頻信號發(fā)射模式。該模式降低平均發(fā)射功率,降低對微控制器數(shù)據(jù)傳輸速率的要求。 ⑺ 接收靈敏度 — 93dBm。 ⑻ 獨特的 DuoCeiverT 模式。該模式支持兩個不同工作頻道的信號同時接收。 ⑼ 工作電壓范圍: 一 ;具有正常、旁路和掉電 3 種供電模式。 SPI 接口: SPI 接口是標準的 SPI 接口,其最大的數(shù)據(jù)傳輸率為 10Mbps。大多數(shù)寄存器是可讀的。 SPI 指令設置 : SPI 接口可能用到的指令在 下面有所說明。 CSN 為低后 SPI 接口等待執(zhí)行指令。每一條指令的執(zhí)行都必須通過一次 CSN 由高到低的變化。 表 33 SPI指令格式 指令名稱 指令格式 操作 R_REGISTER 000A AAAA 讀配置寄存器。 AAAAA 指出讀操作的寄存器地址 W_REGISTER 001A AAAA 寫配置寄存器。 AAAAA 指出寫操作的寄存器地址 只有在掉電模式和待機模式下可操作。 R_RX_PAYLOAD 0110 0001 讀 RX 有效數(shù)據(jù): 132 字節(jié)。讀操作全部從字節(jié) 0 開始。當讀 RX 有效數(shù)據(jù)完成后, FIFO 寄存器中有效數(shù)據(jù)被清除。應用于接收模式下。 W_RX_PAYLOAD 1010 0000 寫 TX 有效數(shù)據(jù): 132 字節(jié)。寫操作從字節(jié) 0 開始。應用于發(fā)射模式下 FLUSH_TX 1110 0001 清除 TX FIFO 寄存器,應用于發(fā)射模式下。 FLUSH_RX 1110 0010 清除 RX FIFO 寄存器,應用于接收模式下在傳輸應答信號過程中不應執(zhí)行此指令。也就是說,若傳輸應答信號過程中執(zhí)行此指令的話將使得應答信號不能被完整的傳輸。 REUSE_TX_PL 1110 0011 重新使用上一包有效數(shù)據(jù)。當 CE 為高過程中,數(shù)據(jù)包被不斷的重新發(fā)射。在發(fā)射數(shù)據(jù)包過程中必須禁止數(shù)據(jù)包重利用功能。 NOP 1111 1111 空操作??梢杂脕碜x狀態(tài)寄存器。 R_REGISTER 和 W_REGISTER 寄存器可能操作單字節(jié)或多字節(jié)寄存器。當訪問多字節(jié)寄存器時首先 要讀 /寫的是最低字節(jié)的高位。在所有多字節(jié)寄存器被寫完之前可以 9 結束寫 SPI 操作,在這種情況下沒有寫完的高字節(jié)保持原有內容不變。例如:RX_ADDR_P0 寄存器的最低字節(jié)可以通過寫一個字節(jié)給寄存 器 RX_ADDR_P0 來改變。在CSN 狀態(tài)由高變低后可以通過 MISO 來讀取狀態(tài)寄存器的內容。 中斷: NRF24L01 的中斷引腳( IRQ)為低電平觸發(fā),當狀態(tài)寄存器中 TX_DS、 RX_DR 或MAX_RT 為高時 觸發(fā)中斷。當 MCU 給中斷源寫‘ 1’時,中斷引腳被禁止??善帘沃袛嗫梢员?IRQ中斷屏蔽。通過設置可屏蔽中斷位為高,則中斷響應被禁止。默認狀態(tài)下所有的中斷源是被禁止的。 本章小結 本章介紹了 modbus 通訊協(xié)議、 RS485 接口、 NRF24L01 通訊模塊的具體內容 , 為硬件、軟件設計鋪平道路。 10 第4 章 通訊系統(tǒng)實現(xiàn)的硬件設計 硬件系統(tǒng)結構 該硬件系統(tǒng)主要包括電源模塊、單片機最小系統(tǒng)模塊、按鍵、溫度采集、數(shù)碼管和液晶顯示模塊、 RS232 轉 RS485 接口模塊、 NRF24L01 無線通訊模塊,結構方框圖如圖所示, 單片機最小系統(tǒng) 模塊 主控 MCU 如圖 41 所示, A、 B 都采用 STC89C52 為主控 MCU,晶振頻率為 ,C3( 10uf), R1( 10K)組成上電復位電路。 圖 41 最小系統(tǒng) 溫度采 集、獨立按鍵、液晶和數(shù)碼管顯示模塊 ⑴ 液晶顯示模塊如圖 42 所示,采用字符型液晶 1602,其具有操作簡單顯示字符多特點,并接 R0( 104)進行對比度調節(jié), P0 為數(shù)據(jù)接口, , , 為控制線。 11 圖 42液晶 圖 43數(shù)碼管 圖 44按鍵 ⑵ 數(shù)碼管顯示單元 如圖 43 所示,數(shù)碼管采用四位一體的共陰數(shù)碼管,由于單片機的 I/O 輸出電流較小,故采用三極管進行放大驅動,當位選為高 時三極管飽和導通,對應位的數(shù)碼管選中。 ⑶ 獨立按鍵單元 如圖 44,獨立按鍵用來對系統(tǒng)工作控制,例如調時間,發(fā)命令等作用。 ⑷ 溫度采集單元 溫度采集單元采用達拉斯公司生產(chǎn)的數(shù)字溫度傳感器 DS18B20 進行數(shù)據(jù)采集,其采用單總線數(shù)據(jù)傳輸,具有硬件簡單的優(yōu)勢,而且數(shù)據(jù)采集周期短,精度高,量程大,可以達到室溫計的要求,其數(shù)據(jù)總線與 相接。 無線收發(fā)單元 模塊 如圖 45 所示, 在設計 NRF24L01 無線通訊模塊中要注意的是該芯片低工作電壓在 (~ ),而普通 5v 電壓會降低芯片壽命甚至將其燒壞,所 以需要對其電平轉換,在本設計中采用 三端穩(wěn)壓管,該芯片輸出電壓穩(wěn)定 在 NRF24L01 的工作電壓范圍內 、輸出電流 800mA 滿足無線通訊芯片供應電源。 圖 45 NRF24L01 RS232 轉 RS485 通訊 接口模塊 如圖 46 所示: RS232485 轉換器主要包括了電源、 232 電平轉換、 485 電路三部分。本電路的 232 電平轉換電路采用 MAX232 集成電路, 485 電路采用了 MAX485 集成電路。為了使用方便,電源部分設計成無源方式,整個電路的供電直接從 PC機的 RS232 12 接口 中的 DTR( 4 腳)和 RTS( 7 腳)竊取。 PC 串口每根線可以提供大約 9mA 的電流,因此兩根線提供的電流足夠供給這個電路使用了。經(jīng)實驗,本電路只使用其中一條線也能夠正常工作。使用本電路需注意 PC 程序必須使串口的 DTR 和 RTS 輸出高電平,經(jīng)過 D3 穩(wěn)壓后得到 VCC,經(jīng)過實際測試, VCC 電壓大約在 左右。因此,電路中要說 D3 起的作用是穩(wěn)壓還不如說是限壓功能。 MAX485 是通過兩個引腳 RE( 2 腳)和 DE( 3腳)來控制數(shù)據(jù)的輸入和輸出。當 RE為低電平時, MAX485 數(shù)據(jù)輸入有效;當 DE 為高電平時, MAX485 數(shù)據(jù) 輸出有效。在半雙工使用中,通??梢詫⑦@兩個腳直接相連,然后由 PC 或者單片機輸出的高低電平就可以讓 MAX485 在接收和發(fā)送狀態(tài)之間轉換了。由于本電路 DTR 和 RTS 都用于了電路供電,因此使用 TX 線和 MAX232 的另外一個通道及 Q1 來控制 MAX485 的狀態(tài)切換。平時 MAX232 的 9 腳輸出高電平,經(jīng) Q1 倒相后,使 MAX485 的 RE和 DE 為低電平而處于數(shù)據(jù)接收狀態(tài)。當 PC 機發(fā)送數(shù)據(jù)時, MAX232 的 9 腳輸出低電平,經(jīng) Q1 倒相后,使 MAX485 的 RE 和 DE 為高電平而處于數(shù)據(jù)發(fā)送狀態(tài)。 圖 46 RS232485 本章小結 本章主要包括電源模塊、單片機最小系統(tǒng)模塊、按鍵、溫度采集、數(shù)碼管和液晶顯示模塊、 RS232 轉 RS485 接口模塊、 NRF24L01 無線通訊模塊的硬件設計 ,介紹了設計的基本原理和一些注意事項 。 13 第5 章 通訊系統(tǒng)實現(xiàn)的軟件設計 本設計要實現(xiàn)無線通訊系統(tǒng)對溫度的實 時采集與顯示功能,除硬件外,還需要軟件來控制。本章主要介紹 報文處理的軟件實現(xiàn) , 并簡要介紹 整體 A 機 時鐘 和 B 機 溫度信號無線交換 的軟件流程圖。 基于 MODBUS 協(xié)議 處理 報文 的軟件設計: 主機發(fā)送數(shù)據(jù)包和 從機響應數(shù)據(jù)包 具體格式: B 機作為從機在本 次設計中需要讀出 從 機的溫度 、從機的小時和分鐘信號 所以采用讀模擬寄存器 (即 03) 這個功能。 ⑴ 計算機發(fā)送 的數(shù)據(jù)包 : [設備地址 ] [命令號 03] [起始寄存器地址低 8 位 ] [高 8位 ] [讀取的寄存器數(shù) 低 8 位 ] [高 8 位 ] [CRC 校驗的低 8 位 ] [CRC 校驗的高 8 位 ] 即 : [01][03][01][00][01][00][CRC 低 ][CRC 高 ] 注釋:讀從機溫度 [01][03][02][00][01][00][CRC 低 ][CRC 高 ] 注釋: 讀從機時鐘的小時 [01][03][03][00][01][00][CRC 低 ][CRC 高 ] 注釋:讀從機時鐘的分鐘 具體 意義如下: : 本次設計中設備地址為 0x01。 :讀模擬量的命令號固定為 03。 低 8 位、 高 8 位:表示想讀取的模擬量的 邏輯 地址 ,本次設計 中的 溫度 邏輯地址 為 0x01;小時的邏輯地址為 0x02。分鐘的邏輯地址為 0x03。 低 8 位、 高 8 位:表示從起始地址開始讀多少個模擬量 (即邏輯地址長度 )。本次設計中 每個邏輯地址 只需讀出一 個模擬量。 ( 在返 回的信息中一個模擬量需要返回兩個字節(jié) ) 。 16 位為 CRC 校驗。 ⑵ 從機響應回主機的數(shù)據(jù)包 : [設備地址 ] [命令號 03] [返回的字節(jié)個數(shù) ][數(shù)據(jù) 1][數(shù)據(jù) 2]...[數(shù)據(jù) n][CRC 校驗的低 8 位 ] [CRC 校驗的高 8 位 ] 即 : [01][03][02][00][AC][CRC 低 ][CRC 高 ] 注釋:溫度值 回 應給主機( ℃)[01][03][02][00][0B][CRC 低 ][CRC 高 ] 注釋:小時值 回 應給主機( 11 小時) [01][03][02][00][24][CRC 低 ][CRC 高 ] 注釋:分鐘值 回 應給主機( 36 分鐘) 具體 意義如下: 。 :表示數(shù)據(jù)的字節(jié)個數(shù),也就是數(shù)據(jù) 1, 2...n 中的 n 的值。 設計中返回了 1 個模擬量的數(shù)據(jù),因為一個模擬量需要 2 個字節(jié)所以共 2 個字節(jié)。 1...n:其中 [數(shù)據(jù) 1][數(shù)據(jù) 2]分別是第 1 個模擬量的高 8 位和低 8 位, [數(shù)據(jù)3][數(shù)據(jù) 4]是第 2個模擬量的高 8位和低 8位,以此類推。 設計中只返回了 [數(shù)據(jù) 1][數(shù)據(jù) 2],本次設計 中 若第一個 返回的值 是 [AC]轉化為十進制為 172 即 176。 C ;第二個值 [0B]表示 11 小時;第三個值 [24]表示 36 分鐘。 校驗同上。 主機發(fā)送報文和從機響應報文 軟件具體實現(xiàn) ⑴ 提高通訊穩(wěn)定性的程序設計: Modbus 通信協(xié)議 設計 中為了預防干擾,提高系統(tǒng)穩(wěn)定性,防止系統(tǒng)程序跑飛而造成不可預測的錯誤(雖然概率比較低,一旦出現(xiàn) 將 會出現(xiàn)很大的問題),所
點擊復制文檔內容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1