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

正文內(nèi)容

基于can總線的溫度測控系統(tǒng)的設(shè)計(編輯修改稿)

2025-01-06 23:05 本頁面
 

【文章內(nèi)容簡介】 送到 CAN 收發(fā)器在接收報文時通過 44腳接收數(shù)據(jù)再經(jīng)過一系列處理后通知 CPUCANH 和 CANL 分別為輸出高電位和地電位 S 腳可以設(shè)置收發(fā)器的模式此系統(tǒng)不接就是默認為高速模式 LCD 顯示接口 為了方便下位機可以很好的人機交互連接 LCD模塊通過 LCD屏可以看到當(dāng)前的溫度值具體電路圖如圖 42 所示 其中 D0D1D2D3 分別連接微處理器的 41403938 管腳 DISPOFF 與 37 管腳連接FLMFRMR 分別連接 3635 管腳 CL1CL2 分別與 3433 連接 圖 42 LCD 顯示模塊 協(xié)議轉(zhuǎn)換器設(shè)計 在本系統(tǒng)中 PC 的作用主要是監(jiān)控下位機智能節(jié)點的工作狀況發(fā)送溫度控制命令溫度采集顯示設(shè)置參數(shù)和數(shù)據(jù)分析等給以直觀的數(shù)據(jù)然而目前個人電腦上面主要有 RS232PCIUSB接口很少會提供 CAN通信模塊因此如果要實現(xiàn) 兩者的通信就要在兩者之間架起一座橋梁也就是把 RS232接口轉(zhuǎn)換成 CAN接口它的作用就是將下位機采集來的 CAN 報文形式轉(zhuǎn)化為 PC 串口可以識別的位數(shù)據(jù)形式并實現(xiàn)CAN 報文和串口數(shù)據(jù)的發(fā)送接收其硬件構(gòu)成主要包括 C51 單片機 CAN 控制器SJA1000CAN 收發(fā)器 82C250 和串口轉(zhuǎn)換器件 232 等 單片機通過數(shù)據(jù)總線對 CAN控制器實行讀寫操作實現(xiàn) CAN協(xié)議和串口協(xié)議的轉(zhuǎn)換 [7]由于 CAN 控制器 SJA1000 的總線驅(qū)動能力有限在 CAN 控制器與物理總線之間需要接入收發(fā)器 82C250 作為收發(fā)芯片提供對 CAN 總線的差動發(fā)送和 對 CAN控制器的差動接收該芯片具有傳輸速度快抗瞬間干擾和保護總線的能力并可通過管腳的接地電阻控制脈沖斜率降低射頻干擾 82C250 作為 CAN 協(xié)議控制器和物理連接線路之間的接口可用高達 1Mbits 的位速率在兩條有差動電壓的總線電纜上傳輸數(shù)據(jù)很方便地連接并實現(xiàn)信號的差動發(fā)送和接收有較強的總線驅(qū)動能力經(jīng)過它系統(tǒng)可向 CAN總線上發(fā)送數(shù)據(jù)也可以接收來自 CAN總線上的數(shù)據(jù)信息 232是電壓轉(zhuǎn)換芯片由于標準 RS232電平很高達到正負 15V而常用的 TTL電平最高為5V 所以它的作用就是將 TTL 電平轉(zhuǎn)換成可以和 PC 串口匹配的電壓這 樣 CAN 控制器跟串口之間才可以安全的通信在信號輸出端加限流電阻濾波電容和反向過沖保護二極管降低電磁輻射增強轉(zhuǎn)換器的抗干擾能力和穩(wěn)定性原理框圖如圖 43 所示 圖 43 協(xié)議轉(zhuǎn)換器原理框圖 SJA1000是一款普遍用于工業(yè)環(huán)境和自動化領(lǐng)域的 CAN控制器具有 CAN通信協(xié)議所要求的全部特性經(jīng)過簡單的總線連接就可完成 CAN 協(xié)議物理層和數(shù)據(jù)鏈路層的所有功能 SJA1000 作為 CAN 的控制部分在與單片機連接時它的數(shù)據(jù)線AD0AD7 與單片機的輸入輸出管腳 P00P07 連接片選信號 CS 接地低電壓允許訪問 RSTINTWRWDALE 管腳分別跟單片機的相應(yīng)管腳連接控制器的收發(fā)端 RX0TX0 分別接收發(fā)器的 RXDTXD引腳由于 SJA1000的模式可以有 INTEL和 Motorloa兩種本設(shè)計中采用的是 INTEL 模式即把控制器的 Vdd1Vdd2Vdd3 連同 MODE 引腳接 5V 電壓控制器的 Vss1Vss2Vss3 與收發(fā)器的 Rs 引腳接地 42 上位機的硬件設(shè)計 上位機是指可以直接發(fā)出操控命令的計算機屏幕上顯示各種信號變化液壓水位溫度等是 PC 在工控領(lǐng)域很多情況下會存在 PC 機和單片機系統(tǒng)通信由于PC 機和單片機都有串口因此可以通過串口實現(xiàn)兩者之間的通信 串口的作用就是處理器跟串行設(shè)備之間進行編碼轉(zhuǎn)換的微處理器發(fā)送字節(jié)數(shù)據(jù)到串口后變成串行的位數(shù)據(jù)在接收過程中正好相反把位數(shù)據(jù)轉(zhuǎn)換成字節(jié)數(shù)據(jù)計算機的串口一般為 RS232口有 9針和 25針兩種通常都是九針的 COM1那么在進行通信時就需要在PC 端設(shè)計相應(yīng)的串口程序而 PC 上一般是應(yīng)用 Windows 系統(tǒng)因此就需要在Windows 環(huán)境下編寫串口通信程序 [8]串口圖九針如圖 44 所示 圖 44 串口圖 其中 23腳分別為發(fā)送 TXD和接收 RXD 管腳 5腳為信號地一般這三個腳就可以完成收發(fā)功能了表 41 為具體管腳定義 表 41 串行口管腳 定義表 序號 引腳定義 信號名稱 功能 1 DCD 載波檢測 表示 DCE收到遠程載波 2 TXD 發(fā)送數(shù)據(jù) 發(fā)送串行數(shù)據(jù) 3 RXD 接收數(shù)據(jù) 接收串行數(shù)據(jù) 4 DTR 數(shù)據(jù)終端就緒 請求 DCE 將線路切換到發(fā)送方式 5 GND 信號地 公共信號地 6 DSR 數(shù)據(jù)設(shè)備就緒 通知 DTE 線路進接通可以發(fā)送數(shù)據(jù) 7 RTS 請求發(fā)送 DCE 準備好 8 CTS 允許發(fā)送 DTE 準備好 9 RI 接通指示 表示 DCE 與線路接通 Windows 里串口是系統(tǒng)資源的一部分應(yīng)用程序要使用串口進行通信首先要 打開串口申請資源通信完畢后要關(guān)閉串口釋放資源在系統(tǒng)函數(shù)中均包含支持通信中斷的功能而且系統(tǒng)還為串口通信提供了輸入和輸出的緩沖區(qū)應(yīng)用程序只能對輸入輸出緩沖區(qū)進行操作數(shù)據(jù)進出串口都是由系統(tǒng)后臺操作的 43 小結(jié) 在本章中主要給出了上位機和下位機的連接設(shè)置即硬件的連接設(shè)計為系統(tǒng)的軟件設(shè)計打下了基礎(chǔ) 5 系統(tǒng)軟件設(shè)計 51 下位機的軟件設(shè)計 CAN 接口的軟件設(shè)計 由于本系統(tǒng)用到 ARM 處理器 [9]所以用 Keil uVision4 編譯器進行軟件的編譯設(shè)計它里面集成 C 編譯器宏匯編連接器庫管理和一個功能強大的 仿真調(diào)試器通過一個集成開發(fā)環(huán)境 uVision 將這些部分組合在一起軟件語言應(yīng)用 C 語言[10]與其他語言相比它有著語言簡潔運算符豐富可以直接對硬件操作可移植性好的特點在 Keil中生成 hex文件也就是程序通過編譯后生成的 16進制代碼文件再用 Jlink 下載線通過 STCISP V391 軟件下載到 ARM 里運行 軟件設(shè)計主要包括 CAN初始化報文的發(fā)送報文的接收 CAN初始化最重要的是設(shè)置 CAN 的波特率要根據(jù)具體的實際情況而定通常情況下 1Mbps 可以最遠傳送40米的距離一般波特率的設(shè)置會用到 PCK1時鐘它可以通過測 CANTX引腳上面的波形得出 圖 51 CAN 初始化流程圖 1CAN 初始化 初始化程序包括對系統(tǒng)時鐘 RCC 配置中斷向量控制器 NVIC 配置輸入輸出 GPIO 設(shè)置同步異步收發(fā)端 USART 配置和 CAN配置其中最重要的是對 CAN的設(shè)置CAN_Configuration 函數(shù)主要就是用來對 CAN 寄存器內(nèi)核工作模式濾波器進行設(shè)置具體流程圖如圖 51 所示 2CAN 發(fā)送函數(shù) CAN發(fā)送函數(shù)主要包括選擇一個空的郵箱設(shè)置 IDDLC所要傳送的消息幀長度設(shè)置請求發(fā)送部分代碼如下其流程圖如圖 52 所示 圖 52 CAN 發(fā)送函數(shù)流程 圖 圖 53 CAN 接收函數(shù)流程圖 3CAN 接收函數(shù) CAN 的接收函數(shù)跟發(fā)送函數(shù)正好相反主要是在參數(shù)檢查完后進行獲取 ID 得到 DLC 和 FMI 解析數(shù)據(jù)幀最后釋放 FIFO 其流程圖如圖 53 所示 轉(zhuǎn)換器的軟件設(shè)計 由于 CAN總線和 RS232工作在兩個不同的網(wǎng)絡(luò)且 CAN總線是基于數(shù)據(jù)塊編址的以報文為單位來發(fā)送數(shù)據(jù)的報文都有唯一的標識符 ID 每一幀最多容納 8 個字節(jié) RS232 是以位數(shù)據(jù)的形式進行傳輸?shù)氖且环N串行物理接口標準因此要實現(xiàn)兩者的通信必須進行協(xié)議的轉(zhuǎn)換轉(zhuǎn)換程序主要包括協(xié)議轉(zhuǎn)換 CAN函數(shù) RS232函數(shù)其中協(xié)議轉(zhuǎn)換可以使 RS232 到 CANCAN 到 RS232 的數(shù)據(jù)轉(zhuǎn)化 CAN 函數(shù)主要實現(xiàn)的是SJA1000 的初始化發(fā)送和接收數(shù)據(jù)其中韌始化主要包括設(shè)置工作方式接收濾波方式接收屏蔽寄存器接收代碼寄存器波特率設(shè)置和中斷允許寄存器發(fā)送函數(shù)將數(shù)據(jù)存儲區(qū)的數(shù)據(jù)取出后封裝成報文格式送入緩沖區(qū)內(nèi)接收函數(shù)在緩沖區(qū)里讀數(shù)據(jù)并將其存入數(shù)據(jù)存儲區(qū)里 RS232 函數(shù)實現(xiàn)了串口初始化接收發(fā)送函數(shù)及中斷函數(shù)串口工作在查詢模式 CAN 總線有數(shù)據(jù)時微處理器將其發(fā)送串口當(dāng)串口有數(shù)據(jù)時將其發(fā)送到 CAN 總線主程序流程圖如圖 54 所示 圖 54 協(xié)議轉(zhuǎn)換器主程序流程圖 要使轉(zhuǎn)接卡可以正常工作就要對 CAN控制器 SJA1000初始化主要的 CAN控制器寄存器的控制字見附錄 在波特率的設(shè)置上在不進行傳輸數(shù)據(jù)壓縮的前提下它的值就是每秒所傳送的數(shù)據(jù)位數(shù)所以要保證本轉(zhuǎn)換器的設(shè)置跟下位機所有節(jié)點的設(shè)置是一樣的如果偏差很大則不能進行通信 SJA1000 初始化流程圖如圖 55 所示 圖 55 CAN 控制器 SJA1000 初始化流程圖 圖 56 串口部分程序流程圖 在進入復(fù)位模式后選擇 CAN 的 BasicCAN 模式設(shè)置代碼寄存器和屏蔽寄存器波特率輸出模式和 時鐘分頻最后退出復(fù)位 在接收串口數(shù)據(jù)時把由上位機 PC 發(fā)來的數(shù)據(jù)進行處理數(shù)據(jù)是 ASCII 碼形式的需將其轉(zhuǎn)化為字節(jié)的形式 gethex 1 是將 2 個 ASCII 碼轉(zhuǎn)為一個字節(jié) S 位是進行 CAN 節(jié)點 ID 和速度設(shè)置的其流程圖如圖 56 所示 52 上位機的軟件設(shè)計 串口通信 Windows 提供串口通信有三種方法 1 使用串口通信控件針對串口通信 Microsoft 公司提供了 MSComm 控件使用控件串口通信是非常方便的設(shè)計人員不需要了解繁瑣的 API 函數(shù)到底是怎么運作的通過簡單的修改控件的屬性就可以實現(xiàn)串口的配置完成串口接 收和發(fā)送功能 2 應(yīng)用 Windows的 API 應(yīng)用程序接口 Windows 中串口是以文件的形式被打開和訪問的串口和串口通信驅(qū)動需要用到設(shè)備控制塊 Device Control BlockDCB進行配置應(yīng)用程序使用 API 函數(shù)打開 CreateFile 打開串口 ReadFile 讀取串口CreateEvent 建立事件對象和 CloseHandle 關(guān)閉串口 3使用動態(tài)鏈接庫 DLL動態(tài)鏈接庫是一些函數(shù)的集合開發(fā)人員編制端口驅(qū)動程序或使用第三方提供的 DLL 例程在函數(shù)工作是會鏈接到應(yīng)用程序而不是在編譯期間靜態(tài)的連接可執(zhí)行文件 Windows應(yīng)用程序大量使用 DLL其中包括系統(tǒng)應(yīng)用程序的大量過程 在本論文中考慮到溫度傳輸?shù)臄?shù)據(jù)量小串口通信不是很復(fù)雜且開發(fā)方便節(jié)省時間故而采用第一種方法 MSComm 控件 MSComm 控件作用就是用 ActiveX 控件簡化 Windows 下串口編程可以提供標準通信接口方便用戶通過串口接口到其他設(shè)備中 MSComm 控件串口編程的基本流程如圖 57 所示 圖 57 MSComm 控件開發(fā)串口流程圖 MSComm 提供兩種處理通信問題的方法 [11] 1事件驅(qū)動法 MSComm中的 OnComm事件可以處理緩沖區(qū)里有字符的情況還可以檢查處理錯 誤程序編寫時可以在事件處理函數(shù)中添加自己的程序好處就是響應(yīng)迅速穩(wěn)定性好 2查詢方式它實際上也屬于事件驅(qū)動根據(jù) CommEvent屬性值來查詢事件錯誤這在某種時候會比較簡捷 本文在溫控系統(tǒng)的 PC 機上研究串口通信并應(yīng)用 MFC 開發(fā)可視化界面用于溫度的實時控制及其結(jié)果的呈現(xiàn)在串口通信方面采用 Microsoft 公司提供的ActiveX控件 MSComm來實現(xiàn)編程在整個軟件設(shè)計過程中作為 MSComm控件所嵌入的對話框動態(tài)溫度曲線是采用窗口的 View類實現(xiàn)的在這里創(chuàng)建 MFC應(yīng)用程序 [12]來實現(xiàn)溫度曲線的顯示對話框上的圖標不 可以加載到視圖 View 中但是 MSComm控件能夠加載到單文檔的 ABOUT 中在本文的界面里沒有顯示這樣就可以完成實現(xiàn)具體步驟如圖 58 所示 圖 58 本系統(tǒng) MSComm 控件加載圖 59 MFC 開發(fā)流程圖 界面通信軟件實現(xiàn) 該軟件主要包括串口的初始化讀取串口數(shù)據(jù)并顯示繪制曲線并保存溫度實時監(jiān)控和坐標軸的移動幾部分具體流程圖如圖 59 所示 初始化串口 利用
點擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1