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

正文內(nèi)容

基于cortexm3的stm32f103xb的多點(diǎn)溫度監(jiān)控系統(tǒng)的設(shè)計(jì)-資料下載頁

2025-08-24 02:57本頁面

【導(dǎo)讀】.STM32系列芯片概述··············································5. .FATFS文件系統(tǒng)概述··············································8. .系統(tǒng)上位機(jī)概述···········&#183

  

【正文】 圖 41 . PCB 布線 在 PCB 設(shè)計(jì)中,布線是完成產(chǎn)品設(shè)計(jì)的重要步驟,可以說前面的準(zhǔn)備工作都是為它而做的,在整個(gè) PCB 中,以布線的設(shè)計(jì)過程限定最高,技巧最細(xì)、工作量最大。布線之前首先應(yīng)該設(shè)定布線規(guī)則,布線規(guī)則覆蓋了電氣、布線、制造、放置、信號(hào)完整等。比較常用的規(guī)則有線間距、線寬、布線拓?fù)?、布線層等。 為減少數(shù)字信號(hào)對(duì)模擬信號(hào)的干擾,數(shù)字信號(hào)走線盡量放置在數(shù)字信號(hào)布線區(qū)域內(nèi), 模擬 信號(hào)走線盡量放置在模擬信號(hào)布線區(qū)域內(nèi)。 ? 所有連到晶振輸入 /輸出端的走線盡量短,如可能,晶振外殼接地 ? 盡量加寬電源、地線寬度,最好是地線比電源線寬,清除地線環(huán)路,以防意外電流回饋影響電源 ? 所有數(shù)字器件電源 /地間的去耦電容走線盡量短,去耦電容走線不能使用過孔 ? 模擬信號(hào)走線盡量線寬 ? 布線完成后要進(jìn)行設(shè)計(jì)規(guī)則檢查( DRC),需認(rèn)真檢查布線設(shè)計(jì)是否符合制定的規(guī)則 17 布線完成并覆銅后效果如圖 42 所示 圖 42 . 硬件調(diào)試 當(dāng) PCB 板加工完成后,首先應(yīng) 仔細(xì)檢查印制電路板的連線是否有短路或斷線的地方,然后用萬用表測試電源和地是否短路。在焊接時(shí),以模塊電路為單位,一個(gè)模塊一個(gè)模塊的焊接。在每一模塊焊接完成之后,都需要進(jìn)行測試。 加工完成后的 PCB 如圖 43 所示: 圖 43 焊接調(diào)試時(shí)按照下列步驟: ? 首先焊接電源模塊,焊完后測試 電源輸出是否正確 18 ? 焊接 STM32 芯片、周邊去耦電容、 8M Hz 晶振模塊以及 20 針 JTAG 模塊。用 JLINK連接 JTAG 引腳, PC 端用 RealView MDK 調(diào)試, Jlink 設(shè)置如圖 44 所示,若其中SWDIO 欄 Device Name 顯示 ARM CoreSight SWDP 說明芯片已被 JLINK 識(shí)別,然后進(jìn)入調(diào)試模式,看程序能否正常下載,能否正確運(yùn)行。 圖 44 ? 焊接 PT100 模塊電路,用萬用表測量 LM358 輸出是否正常,是否隨溫度變化而變化 ? 焊接 MAX3232 部分電路,下載簡單串口程序,看串口是否正常 ? 焊接 CAN 收發(fā)器 TJA1040 以及 SD 卡部分電路 焊接完成的主節(jié)點(diǎn)如圖 45 所示(其中 SD 卡在 PCB 反面) 19 圖 45 5. 軟件設(shè)計(jì)與系統(tǒng)調(diào)試 . CAN 總線的數(shù)據(jù)幀與遠(yuǎn)程幀 CAN 總線有 4 中不同的幀類型:數(shù)據(jù)幀、遠(yuǎn)程幀、錯(cuò)誤幀和過載幀。本系統(tǒng)軟件設(shè)計(jì)用到了其中的數(shù)據(jù)幀和遠(yuǎn)程幀,現(xiàn)做簡要介紹。 ? 數(shù)據(jù)幀( Data Frame):將數(shù)據(jù)從發(fā)送器傳輸?shù)浇邮掌鳎瑪?shù)據(jù)幀一般結(jié)構(gòu)如圖 51所示 圖 51 ? 遠(yuǎn)程幀( Remote Frame):總線節(jié)點(diǎn)發(fā)出遠(yuǎn)程幀,請(qǐng)求發(fā)送具有同一標(biāo)識(shí)符的數(shù)據(jù)幀 ,本系統(tǒng)遠(yuǎn)程幀由 CAN 主節(jié)點(diǎn)發(fā)出,向 CAN 從節(jié)點(diǎn)請(qǐng)求數(shù)據(jù)。數(shù)據(jù)幀一般結(jié)構(gòu)如圖 52所示,除沒有數(shù)據(jù)場和 RTR 位為隱性外,遠(yuǎn)程幀和數(shù)據(jù)幀完全相同。 20 圖 52 . CAN 從節(jié)點(diǎn)程序設(shè)計(jì) 從節(jié)點(diǎn)的主要功能是通過 AD 檢測 PT100 電橋的差分輸出電壓,然后計(jì)算得出此節(jié)點(diǎn)的溫度值,最后通過 CAN 總線傳送給 CAN 主節(jié)點(diǎn)。從節(jié)點(diǎn)主程序流程圖和 CAN 接收中斷流程圖如圖 53 所示。 圖 53 其中,系統(tǒng)初始化包括時(shí)鐘初始化、獨(dú)立看門狗初始化、 GPIO 初始化、中斷初始化、ADC 初始化、 DMA 初始化以及 CAN 初始化。 . CAN 主節(jié)點(diǎn)程序設(shè)計(jì) CAN 主節(jié)點(diǎn)的功能是發(fā)送遠(yuǎn)程幀向從節(jié)點(diǎn)查詢數(shù)據(jù)、通過 AD 的轉(zhuǎn)換結(jié)果計(jì)算芯片內(nèi)部溫度傳感器的溫度值、接收從節(jié)點(diǎn)發(fā)送的數(shù)據(jù)幀、發(fā)送溫度數(shù)據(jù)到上位機(jī)或存儲(chǔ)數(shù)據(jù)到 SD 卡。 CAN 主節(jié)點(diǎn)程序如圖 54 所示, 21 圖 54 其中,系統(tǒng)初始化包括時(shí)鐘初始化、獨(dú)立看門狗初始化、 GPIO 初始化、中斷初始化、ADC 初 始化、 DMA 初始化、 CAN 初始化以及 RTC 初始化。 主節(jié)點(diǎn)程序用到兩個(gè)中斷, CAN 接收中斷和 RTC 實(shí)時(shí)時(shí)鐘中斷,如圖 55 所示。CAN 接收中斷的主要作用是主節(jié)點(diǎn)發(fā)送遠(yuǎn)程幀后,從節(jié)點(diǎn)發(fā)回?cái)?shù)據(jù), CAN 接收中斷用來接收這一幀數(shù)據(jù); RTC 中斷主要是為向 SD 卡寫數(shù)據(jù)提供秒中斷標(biāo)志,即每秒鐘向 SD卡寫入一次數(shù)據(jù)。 22 圖 55 圖 56 寫 SD卡部分程序流程圖如圖 56所示, SD卡部分主要用到了移植的 FATFS文件系統(tǒng)提供的訪問 FAT卷的應(yīng)用接口( Application Interface)。主要用到了以下函數(shù): ? f_mount 注冊(cè) /注銷一個(gè)工作區(qū)域 ? f_open 打開 /創(chuàng)建一個(gè)文件 ? f_close 關(guān)閉一個(gè)文件 ? f_lseek 移動(dòng) /寫指針,擴(kuò)展文件大小 ? f_puts 寫字符串 ? f_printf 寫一個(gè)格式化字符串 . Delphi 上位機(jī)程序設(shè)計(jì) 上位機(jī)程序采用 Delphi 編寫,與 CAN 主節(jié)點(diǎn)(下位機(jī))通信,實(shí)時(shí)顯示并存儲(chǔ)各從節(jié)點(diǎn)的溫度值。 用 Delphi 實(shí)現(xiàn) 串口通訊,常用的幾種方法為:使用控件如 MSCOMM 和 SPCOMM,使用 API 函數(shù)或者在 Delphi 中調(diào)用其它串口通訊程序。利用 API 編寫串口通信程序較為復(fù)雜,需要掌握大量通信知識(shí),其優(yōu)點(diǎn)是可實(shí)現(xiàn)的功能更強(qiáng)大,應(yīng)用面更廣泛,更適合于編寫較為復(fù)雜 的低層次通信程序。相比較而言,利用 SPComm 控件則相對(duì)較簡單,該控件具有豐富的與串口通信密切相關(guān)的屬性及事件,提供了對(duì)串口的各種操作。使用控件這一方法容易掌握,而 SPCOMM 支持多線程,所以 SPCOMM 控件的應(yīng)用更加廣泛 [6]。本系統(tǒng)串口通訊控件就采用 SPCOMM。 下位機(jī)與上位機(jī)通信協(xié)議約定如下: **, //幀頭 NodeNum_H,NodeNum_L, //節(jié)點(diǎn)總數(shù) 占 2 個(gè)字節(jié) Node_1_H,Node_1_L, //節(jié)點(diǎn) 1 溫度 占 2 個(gè)字節(jié) 23 Node_2_H,Node_2_L, //節(jié)點(diǎn) 2 溫度 占 2 個(gè)字節(jié) ...... Node_n_H,Node_n_L, //節(jié)點(diǎn) n 溫度 占 2 個(gè)字節(jié) CRC16_H,CRC16_L, //CRC 校驗(yàn) 占 2 個(gè) 字節(jié) **% //幀尾 上位機(jī)串口接收程序在接受到一幀數(shù)據(jù)后首先判斷幀頭是否正確,然后取出幀頭之后的 2 個(gè)字節(jié),計(jì)算出 CAN 總線上的節(jié)點(diǎn)總數(shù),然后根據(jù)這一節(jié)點(diǎn)總數(shù)計(jì)算出該幀的字節(jié)總數(shù),然后計(jì)算該幀數(shù)據(jù)的 CRC16,判斷計(jì)算出的 CRC16 與單片機(jī)端計(jì)算的是否一致,再判斷幀尾是否正確,若幀尾也正確,則取出此幀中各節(jié)點(diǎn)的溫度數(shù)值,存入預(yù)先設(shè)定的數(shù)組里面,上位機(jī)串口接收程序流程圖如圖 57 所示。 圖 57 圖 58 上位機(jī)的實(shí)時(shí)曲線由定時(shí)器控制,定時(shí)器時(shí)間間隔為 1s,即每秒鐘輸出一個(gè)點(diǎn)。上位機(jī)實(shí)時(shí)曲線部分及保存數(shù)據(jù)部分如圖 58 所示。 . 系統(tǒng)總體調(diào)試 首先調(diào)試 CAN 從節(jié)點(diǎn),用 Jlink 下載簡單的 CAN 發(fā)送程序,觀察 CAN 控制器的錯(cuò)誤寄存器,若錯(cuò)誤狀態(tài)寄存器的 LEC(Last error code)位顯示 (應(yīng)答錯(cuò)誤),則說明 CAN 硬件連接已經(jīng)沒有問題。當(dāng)兩個(gè)節(jié)點(diǎn)連在一起的時(shí)候顯示 No Error,說明CAN 硬件連接正常。若顯示 Bit Dom. Error 則說明硬件存在問題,可能是 CAN 控制器與收發(fā)器之間的連線焊接有問題或是 CAN 收發(fā)器 Tja1040 存在故障。 CAN 硬件調(diào)試如圖 59 所示,其中右上角為 Jlink 調(diào)試器,右下角為 PT100 溫度傳感器。 24 圖 59 Delphi 上位機(jī)調(diào)試如圖 510 所示 圖 510 Delphi 上位機(jī)保存的溫度數(shù)據(jù)如圖 511 所示 25 圖 511 SD 卡中保存的數(shù) 據(jù)如圖 512 所示 圖 512 6. 結(jié)束語 本文介紹 基于 CortexM3 內(nèi)核的 STM32F103XB 和 CAN 總線線的多點(diǎn)溫度監(jiān)控系統(tǒng)的實(shí)現(xiàn),該系統(tǒng)結(jié)合了高性能的 STM32 系列芯片與 Delphi 上位機(jī)軟件的編寫,在 KEIL 4 集成開發(fā)環(huán)境與 JLINK 調(diào)試工具中進(jìn)行軟件編寫與調(diào)試,并結(jié)合了 SD 卡及 FATFS 文件系統(tǒng)對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ)。通過軟、硬件的結(jié)合的方法實(shí)現(xiàn)數(shù)據(jù)采集與處理。 26 參考文獻(xiàn): [1]ARM微控制器產(chǎn)品 , [2] 鄔寬明 , CAN總線原理和應(yīng)用系統(tǒng)設(shè)計(jì) ,北京航空航天大學(xué)出版社 . [3] FATFS 文件系統(tǒng)模型主頁, [4]STM32F10xxx hardware development: getting started , Stmicroelelectronics. [5]鉑金屬溫度傳感器使用說明書 ,北京億學(xué)通電子 . [6]張海航 ,Delphi 中串口通信的 實(shí)現(xiàn) ,河南省計(jì)算中心 .
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1