日韩欧美视频一区-日韩欧美三区-日韩欧美群交P内射捆绑-日韩欧美精品有码在线播放免费-成人免费一区二区无码视频-成人免费一级毛片在线播放视频

樹(shù)人論文網(wǎng)一個(gè)專(zhuān)業(yè)的學(xué)術(shù)咨詢(xún)網(wǎng)站!!!
樹(shù)人論文網(wǎng)

電子風(fēng)扇控制系統(tǒng)軟件開(kāi)發(fā)

來(lái)源: 樹(shù)人論文網(wǎng)發(fā)表時(shí)間:2021-09-02
簡(jiǎn)要:摘 要:電子風(fēng)扇可以通過(guò)按需分配的方式工作,有效提高發(fā)動(dòng)機(jī)冷卻系統(tǒng)的效率,及時(shí)降低發(fā)動(dòng)機(jī)溫度。文章根據(jù)以 S9S08DZ60 單片機(jī)為基礎(chǔ)開(kāi)發(fā)的電子風(fēng)扇控制器的工作需求,分析了各

  摘 要:電子風(fēng)扇可以通過(guò)按需分配的方式工作,有效提高發(fā)動(dòng)機(jī)冷卻系統(tǒng)的效率,及時(shí)降低發(fā)動(dòng)機(jī)溫度。文章根據(jù)以 S9S08DZ60 單片機(jī)為基礎(chǔ)開(kāi)發(fā)的電子風(fēng)扇控制器的工作需求,分析了各個(gè)功能所需要的程序,確定了相應(yīng)寄存器的配置,設(shè)計(jì)出了各個(gè)底層控制程序及總體框架程序。包括傳感器信號(hào)采集程序、開(kāi)關(guān)量信號(hào)輸入程序及 CAN 總線(xiàn)通訊程序等在內(nèi)的一系列軟件程序,從而控制單片機(jī)的正常運(yùn)行,以實(shí)現(xiàn)對(duì)電子風(fēng)扇的控制,并且滿(mǎn)足實(shí)際應(yīng)用要求。

電子風(fēng)扇控制系統(tǒng)軟件開(kāi)發(fā)

  張世強(qiáng); 蘇士斌; 郭興; 馬曉龍; 紀(jì)少波; 程勇, 汽車(chē)實(shí)用技術(shù) 發(fā)表時(shí)間:2021-08-25

  關(guān)鍵詞:電子風(fēng)扇;軟件開(kāi)發(fā);程序設(shè)計(jì);寄存器配置

  前言

  冷卻系統(tǒng)是保證汽車(chē)發(fā)動(dòng)機(jī)在正常溫度下工作的重要部分,主要包括水泵、散熱器、冷卻風(fēng)扇、節(jié)溫器等部件;其中冷卻風(fēng)扇可以保證汽車(chē)在低速行駛或發(fā)動(dòng)機(jī)溫度過(guò)高時(shí)及時(shí)散熱,維持正常工作溫度。電子風(fēng)扇是冷卻風(fēng)扇的一種,能夠起到很好的節(jié)能作用,并且由于其獨(dú)立運(yùn)行、調(diào)節(jié)能力平滑等優(yōu)勢(shì)得到了大量應(yīng)用,國(guó)內(nèi)外有很多學(xué)者對(duì)其進(jìn)行了研究。相對(duì)來(lái)說(shuō),國(guó)外研究起步較早,早在 20 世紀(jì) 80 年代就已有學(xué)者在專(zhuān)利中提到電子風(fēng)扇,之后,在八十年代末期, Roger Clemente[1]提出將電子風(fēng)扇裝在載貨汽車(chē)上。在國(guó)內(nèi),上世紀(jì) 90 年代才開(kāi)始對(duì)電子風(fēng)扇的相關(guān)研究。其中,張鵬飛 [2]對(duì)電子風(fēng)扇的標(biāo)定匹配問(wèn)題開(kāi)展研究,使用 CATIA 建立了電子風(fēng)扇的三維結(jié)構(gòu)模型,并且在電子風(fēng)扇的匹配設(shè)計(jì)過(guò)程中,提出了一種根據(jù)風(fēng)扇結(jié)構(gòu)參數(shù)計(jì)算其散熱性能的可行方法。

  一般來(lái)說(shuō),電子風(fēng)扇控制器需要硬件與軟件相互配合,二者相輔相成,硬件用以支持電子風(fēng)扇控制器的運(yùn)行,軟件用以控制硬件,保證電子風(fēng)扇控制器各個(gè)模塊協(xié)調(diào)有序地工作。周碧[3]介紹了一種以 AT89C52 單片機(jī)為控制核心的車(chē)用發(fā)動(dòng)機(jī)電控冷卻系統(tǒng)的設(shè)計(jì),并據(jù)此繪制出了系統(tǒng)電路圖,設(shè)計(jì)出了可行的硬件和電路。完成電子風(fēng)扇控制系統(tǒng)的硬件設(shè)計(jì)之后,還需要設(shè)計(jì)相應(yīng)的軟件代碼,軟件代碼包括總體框架程序和各功能模塊的底層驅(qū)動(dòng)程序,前者用于管理整個(gè)控制過(guò)程,后者通過(guò)配置微處理器的寄存器,令其按照設(shè)定的工作模式工作。兩種程序都是通過(guò) Freescale 單片機(jī)專(zhuān)用單片機(jī)編譯環(huán)境 CodeWarrior[4]實(shí)現(xiàn)的。下面對(duì)兩種程序的設(shè)計(jì)進(jìn)行詳細(xì)介紹。

  1 功能分析

  目前電子風(fēng)扇控制系統(tǒng)具有采集傳感器信號(hào)、輸入開(kāi)關(guān)量信號(hào)、PWM 輸出控制、風(fēng)扇狀態(tài)診斷等功能[5-6],實(shí)現(xiàn)以上功能,需要合理設(shè)計(jì)電路等硬件,并進(jìn)行相關(guān)的測(cè)試與優(yōu)化[7],還需要軟件代碼對(duì)相關(guān)模塊進(jìn)行控制。因此需要針對(duì)各個(gè)模塊設(shè)計(jì)程序,主要包括晶振配置程序、傳感器信號(hào)采集及處理程序、PWM 輸出控制程序、風(fēng)扇狀態(tài)診斷程序、開(kāi)關(guān)量信號(hào)讀入程序、CAN 總線(xiàn)通訊程序、狀態(tài)顯示程序等程序;此外,電子風(fēng)扇控制器工作時(shí)需要處理多個(gè)任務(wù),為了各個(gè)任務(wù)能夠有序執(zhí)行,基于多任務(wù)時(shí)間規(guī)劃?rùn)C(jī)制,設(shè)計(jì)了系統(tǒng)總體框架程序。

  2 程序代碼設(shè)計(jì)

  2.1 系統(tǒng)總體框架程序

  多任務(wù)時(shí)間規(guī)劃?rùn)C(jī)制是根據(jù)處理任務(wù)的重要性不同,將不同任務(wù)分配以不同的優(yōu)先級(jí),并按照優(yōu)先級(jí)高低依次執(zhí)行程序;當(dāng)較高優(yōu)先級(jí)的程序執(zhí)行完畢時(shí),便降至最低優(yōu)先級(jí),并根據(jù)各程序執(zhí)行所需要的時(shí)間,將各程序的優(yōu)先級(jí)及時(shí)恢復(fù),從而保證程序工作持續(xù)進(jìn)行。

  程序中的實(shí)時(shí)時(shí)鐘模塊保證了優(yōu)先級(jí)恢復(fù)的正常進(jìn)行:通過(guò)該模塊配置最小時(shí)間片段,各個(gè)程序段依據(jù)其運(yùn)行所需要的時(shí)間間隔,結(jié)合當(dāng)前的時(shí)間片段,經(jīng)過(guò)累加得到一個(gè)變量,當(dāng)該變量達(dá)到一定值時(shí),將程序段優(yōu)先級(jí)的恢復(fù),進(jìn)入下一次的運(yùn)行。

  系統(tǒng)總體框架程序?qū)崿F(xiàn)了系統(tǒng)中各個(gè)程序的有序進(jìn)行,下面對(duì)各底層驅(qū)動(dòng)程序模塊進(jìn)行介紹。

  2.2 晶振配置程序

  控制器是基于 S9S08DZ60 單片機(jī)設(shè)計(jì)的,該單片機(jī)中含有多功能時(shí)鐘發(fā)生器(MCG)模塊,模塊中包含 1 個(gè)鎖頻環(huán)(FLL)和一個(gè)鎖相環(huán)(PLL),并且可以選擇其中任一個(gè)作為單片機(jī)的系統(tǒng)時(shí)鐘,也可選用外部參考時(shí)鐘作為 MCU 系統(tǒng)時(shí)鐘。在單片機(jī)的時(shí)鐘源配置中,主要用到了 MCGSC、 MCGC1、MCGC2 及 MCGC3 這 4 個(gè)特殊功能寄存器,本系統(tǒng)中時(shí)鐘配置步驟如下:

  單片機(jī)復(fù)位會(huì)使時(shí)鐘模塊處于 FEI 模式,因此首先需要通過(guò)寄存器配置將 FEI 模式轉(zhuǎn)換為 FBE 模式;這個(gè)步驟中需要完成外部振蕩器的配置,選擇外部參考時(shí)鐘為系統(tǒng)時(shí)鐘源等。將 FBE 模式轉(zhuǎn)為 BLPE 模式,進(jìn)而轉(zhuǎn)為 PBE 模式,在這個(gè)步驟中需要選擇 PLL 模式。之后,將 PBE 模式轉(zhuǎn)為 PEE 模式,完成時(shí)鐘頻率的設(shè)置。

  2.3 傳感器信號(hào)采集及處理程序

  傳感器信號(hào)是控制器通過(guò)模數(shù)轉(zhuǎn)換模塊實(shí)現(xiàn)的,使用模數(shù)轉(zhuǎn)換模塊時(shí),首先應(yīng)配置工作模式,即配置采樣精度、采樣速度、采樣模式及采樣通道,該過(guò)程涉及到 ADCCFG、 ADCSC1、ADCSC2、APCTL1、APCTL2 及 APCTL3 等特殊功能寄存器。通過(guò)寄存器配置設(shè)定數(shù)模轉(zhuǎn)換單元采用低功耗模式,轉(zhuǎn)換精度為 12 位,以總線(xiàn)頻率作為時(shí)鐘,模數(shù)轉(zhuǎn)化速度為總線(xiàn)頻率的一半;通過(guò)配置,在使能數(shù)據(jù)轉(zhuǎn)換完成后進(jìn)入中斷功能,配置用到的引腳為模數(shù)轉(zhuǎn)換功能,屏蔽 IO 功能。

  完成上述配置,便可控制單片機(jī)模數(shù)轉(zhuǎn)換功能,采集后續(xù)數(shù)據(jù)時(shí),可通過(guò) ADCSC1 指定采樣通道,并啟動(dòng)單次采樣工作模式,采集相應(yīng)通道的數(shù)據(jù),完成采集后進(jìn)入模數(shù)轉(zhuǎn)換中斷函數(shù),并將采樣結(jié)果暫存,置位相關(guān)變量,告知有新的數(shù)據(jù)到來(lái)。

  采集完成后,需要通過(guò)標(biāo)度變換將采集到的數(shù)字量轉(zhuǎn)化為對(duì)應(yīng)的物理量,此處通過(guò)查表實(shí)現(xiàn)。在此,建立不同的數(shù)組,用來(lái)存儲(chǔ)數(shù)字量與實(shí)際溫度值的對(duì)應(yīng)關(guān)系,模數(shù)轉(zhuǎn)換完成后,對(duì)數(shù)組中的數(shù)據(jù)進(jìn)行查表及線(xiàn)性插值處理,得到對(duì)應(yīng)的物理量。針對(duì)不同溫度區(qū)間數(shù)據(jù)的使用頻率,設(shè)置不同的溫度步長(zhǎng),不常用的溫度區(qū)間采取較大的步長(zhǎng),常用的溫度區(qū)間則采用較小的步長(zhǎng),這可以減少數(shù)組的規(guī)模,提高查表速度以及插值的精度。

  2.4 PWM 輸出控制程序

  PWM 輸出是通過(guò)單片機(jī)的定時(shí)器脈沖寬度調(diào)節(jié)器實(shí)現(xiàn)的,該模塊支持邊緣對(duì)齊及中央對(duì)齊 PWM 模式,此處選擇邊緣對(duì)齊模式。該定時(shí)器脈沖寬度調(diào)節(jié)器包含TPM0和TPM1 兩個(gè)模塊,其中 TPM1 模塊在此用于邊緣對(duì)齊 PWM 輸出, TPM0 模塊用于其他功能。在 PWM 輸出功能中,需涉及到 TPMnSC、TPMnMOD、TPMnCxSC、TPMnCNT 及 TPMnCxV 等特殊功能寄存器,通過(guò)配置這些寄存器,控制 TPM1 定時(shí)器溢出中斷使能、采用非中央對(duì)齊 PEM 輸出功能、功能模塊的時(shí)鐘總線(xiàn)為總線(xiàn)速率時(shí)鐘、總線(xiàn)速率時(shí)鐘二分頻后得到 TPM1 的時(shí)鐘源。然后設(shè)定計(jì)數(shù)終點(diǎn),即 TPM1 定時(shí)器的模值,定時(shí)器在達(dá)到該值后計(jì)入溢出中斷,該寄存器的值可指定PWM信號(hào)的頻率。TPM2C0SC寄存器可設(shè)置及改變TPM1 模塊中第 0 通道的功能模式,在此設(shè)置為普通 IO 口,TPM1 模塊其他通道的初始化也如此設(shè)置。最后,將 TPM1 計(jì)數(shù)寄存器清 0,計(jì)數(shù)寄存器復(fù)位。

  上述特殊寄存器設(shè)置完成后,才可進(jìn)入正常工作模式,現(xiàn)以 TPM1 的第 0 通道為例,對(duì) PWM 信號(hào)輸出的代碼進(jìn)行說(shuō)明。

  首先需要根據(jù) PWM 輸出占空比,對(duì) TPM2C0SC 進(jìn)行初始化設(shè)置。當(dāng)占空比為 0%時(shí),需要 PWM 輸出引腳保持輸出低電平,此時(shí)將該引腳設(shè)置為普通 IO 口,然后通過(guò)代碼控制引腳輸出低電平。當(dāng) PWM 輸出占空比不為 0%時(shí),則需將該通道設(shè)置為邊緣對(duì)齊 PWM 模式,此時(shí)使配置 TPM2 -C0SC 寄存器,并設(shè)置 PWM 相應(yīng)的輸出電平模式,從而使該通道為邊緣對(duì)齊 PWM 模式。然后根據(jù)該模式中當(dāng)前的時(shí)鐘頻率、TPM1 的模值以及當(dāng)前占空比計(jì)算出對(duì)應(yīng)的計(jì)數(shù)值,并賦值給通道值寄存器 TPM2C0V,當(dāng) TPM1 的計(jì)數(shù)值與 TPM2C0V 的值相等時(shí),便控制相應(yīng)的引腳動(dòng)作,實(shí)現(xiàn) PWM 信號(hào)的輸出。圖 1 為通過(guò) TPM1 模塊發(fā)出的不同占空比的 PWM 信號(hào)。

  2.5 風(fēng)扇狀態(tài)診斷程序

  該程序主要讀取風(fēng)扇故障狀態(tài)及風(fēng)扇轉(zhuǎn)速,研究的電子風(fēng)扇內(nèi)部具有故障診斷功能,當(dāng)電子風(fēng)扇出現(xiàn)溫度、壓力過(guò)高等故障時(shí),相應(yīng)的引腳便輸出高電平,可據(jù)此判斷電子風(fēng)扇是否有故障。該電平信號(hào)是在控制器給電子風(fēng)扇發(fā)出的 PWM 信號(hào)為低電平時(shí)輸出,且 PWM 信號(hào)的占空比是實(shí)時(shí)變化的,即 PWM 信號(hào)為低電平的情況也是一直在變化的,因此便需要一個(gè)模塊來(lái)捕捉風(fēng)扇電平信號(hào),此處采用 TPM0 模塊的輸出比較功能來(lái)捕捉 PWM 信號(hào)為低的時(shí)刻。

  首先,需要對(duì) TPM0 模塊進(jìn)行初始化配置,包括時(shí)鐘源、時(shí)鐘頻率以及計(jì)數(shù)寄存器等,其配置過(guò)程與上文中 TPM1 模塊相似,每次通過(guò) TPM1 進(jìn)行 PWM 占空比配置時(shí),同步對(duì) TPM0 進(jìn)行配置,實(shí)現(xiàn)輸出比較功能。這需要通過(guò)對(duì)通道狀態(tài)控制寄存器進(jìn)行配置,該寄存器允許中斷使能,將引腳功能配置為輸出比較模式。為了能夠準(zhǔn)確捕捉風(fēng)扇狀態(tài)電平,將輸出比較的中斷時(shí)刻設(shè)定在 PWM 信號(hào)低電平的中間位置,這里通過(guò)對(duì)通道值寄存器的配置實(shí)現(xiàn),此時(shí)信號(hào)的狀態(tài)穩(wěn)定,更容易獲取準(zhǔn)確的狀態(tài)。圖 2 為不同占空比下,讀取風(fēng)扇狀態(tài)電平的時(shí)刻示意圖,其中黃線(xiàn)是輸出的 PWM 信號(hào),綠色線(xiàn)表征另外一根引腳的反轉(zhuǎn)時(shí)刻,以便觀察中斷時(shí)刻。由以下三個(gè)圖可知,在這三種占空比狀態(tài)下,都可以在 PWM 信號(hào)的低電平位置出現(xiàn)中斷,這也是讀取風(fēng)扇狀態(tài)電平的最佳時(shí)刻。

  其次,要獲取風(fēng)扇的轉(zhuǎn)速信息,了解風(fēng)扇運(yùn)轉(zhuǎn)狀態(tài),但是電子風(fēng)扇在實(shí)際應(yīng)用中,轉(zhuǎn)速信號(hào)難以直接測(cè)量,因此需要用其他參數(shù)來(lái)間接獲取,而風(fēng)扇轉(zhuǎn)速與 PWM 信號(hào)的占空比又是一一對(duì)應(yīng)的,因此可以通過(guò)確定兩者之間的關(guān)系,依據(jù) PWM 占空比來(lái)獲取電子風(fēng)扇的轉(zhuǎn)速。在不用電壓下, PWM 占空比與風(fēng)扇轉(zhuǎn)速的對(duì)應(yīng)曲線(xiàn)如圖 3 所示。由圖可知,工作電壓在 24 V 以上時(shí),工作電壓對(duì)風(fēng)扇轉(zhuǎn)速的影響不大;當(dāng)占空比不變時(shí),隨著工作電壓的下降,對(duì)應(yīng)的風(fēng)扇轉(zhuǎn)速也隨之降低。

  2.6 開(kāi)關(guān)量信號(hào)讀入程序

  開(kāi)關(guān)量信號(hào)讀入包括風(fēng)扇故障狀態(tài)、啟動(dòng)開(kāi)關(guān)信號(hào)及駕駛員發(fā)來(lái)的反轉(zhuǎn)控制信號(hào)三部分,在上文中已經(jīng)介紹風(fēng)扇故障狀態(tài)信號(hào)的讀取,其他兩個(gè)開(kāi)關(guān)量信號(hào)的讀取方法與之相同。在讀取前需要對(duì)單片機(jī)的 IO 口初始化配置,并且需要指定 IO 口的方向,這一功能通過(guò) PTnDD 特殊功能寄存器實(shí)現(xiàn);而后通過(guò) PTAD_PTAD3 的狀態(tài)來(lái)確定 PA3 引腳電平的高低,其值為 1 時(shí) PA3 收到的是高電平,反之為低電平。該方法可獲取各開(kāi)關(guān)輸入信號(hào)的狀態(tài)。

  2.7 CAN 總線(xiàn)通訊程序

  該程序包含了 CAN 模塊的初始化、CAN 數(shù)據(jù)的發(fā)送和接收等過(guò)程,實(shí)現(xiàn)該程序的功能需要利用 Freescale 單片機(jī)的局域網(wǎng)通信控制器 MSCAN,MSCAN 具有監(jiān)聽(tīng)模式、MSCAN 睡眠模式、MSCAN 初始化模式、MSCAN 關(guān)機(jī)模式及環(huán)回自測(cè)模式五個(gè)工作模式,使用時(shí)首先需要進(jìn)行初始化,配置工作模式、傳送波特率、數(shù)據(jù)幀類(lèi)型及中斷功能。在正常使用過(guò)程中,主要使用發(fā)送和接收兩個(gè)功能,接收時(shí)可以采用查詢(xún)方式或中斷方式,在此采用中斷方式以提高程序的運(yùn)行效率。

  在 CAN 模塊的初始化中,首先判斷 CAN 模塊是否啟動(dòng),若未啟動(dòng),則直接開(kāi)始系統(tǒng)初始化;若已啟動(dòng),則在 MSCAN 沒(méi)有等待發(fā)送數(shù)據(jù)幀的前提下,設(shè)置模塊進(jìn)入初始化狀態(tài),在模塊進(jìn)入初始化狀態(tài)后,再向下運(yùn)行后面的程序。CAN 模塊進(jìn)入初始化狀態(tài)后,需要對(duì) CAN 通訊的波特率進(jìn)行配置,這里通過(guò) CANBTR0 和 CANBTR1 兩個(gè)特殊功能寄存器實(shí)現(xiàn)。前者用來(lái)配置 CAN 計(jì)時(shí)參數(shù),包括同步跳轉(zhuǎn)寬度和波特率的預(yù)分頻值;后者根據(jù)傳輸速率的高低,設(shè)定數(shù)據(jù)傳輸時(shí)的樣本數(shù)量,可選擇 1 個(gè)或者 3 個(gè)。且該寄存器也可以設(shè)定每個(gè)位時(shí)間的時(shí)鐘周期數(shù)和采樣點(diǎn)的位置。

  此外,在數(shù)據(jù)接收過(guò)程中,需要對(duì)不需要接收的數(shù)據(jù)進(jìn)行過(guò)濾,這一過(guò)程可通過(guò)配置標(biāo)識(shí)符掩碼寄存器 CANIDMRn、接收寄存器 CANIDARn 及標(biāo)識(shí)符驗(yàn)收控制寄存器 CANIDAC 實(shí)現(xiàn)。其中,掩碼寄存器用于配置需要比較的位,接收寄存器則代表比較的地址值。針對(duì)不同標(biāo)識(shí)符需要應(yīng)用不同的寄存器,擴(kuò)展標(biāo)識(shí)符需要應(yīng)用四個(gè)接收和掩碼寄存器,標(biāo)準(zhǔn)標(biāo)識(shí)符只應(yīng)用前兩個(gè)寄存器,即 CANIDAR0/1 和 CANIDMR0/1。

  當(dāng)上述寄存器配置完成后,通過(guò)判斷 CANCTL0 和 CANCTL1 寄存器中的標(biāo)志位,回到正常工作模式,且與總線(xiàn)時(shí)鐘進(jìn)行同步,開(kāi)始進(jìn)行數(shù)據(jù)的收發(fā)。為了提高系統(tǒng)的執(zhí)行效率,將數(shù)據(jù)的接收配置為中斷模式,這里通過(guò) CANRIER 寄存器中的 RXFIE 位進(jìn)行配置。

  上述過(guò)程完成了 CAN 模塊的初始化,之后便可進(jìn)行數(shù)據(jù)的發(fā)送和接收。首先,需要將發(fā)送過(guò)程封裝為一個(gè)函數(shù),以便進(jìn)行數(shù)據(jù)的發(fā)送操作,該函數(shù)需判斷發(fā)送的數(shù)據(jù)類(lèi)型及個(gè)數(shù)是否正確,且在發(fā)送過(guò)程中,還需通過(guò)發(fā)送器標(biāo)志寄存器來(lái)確定當(dāng)前為空的發(fā)送緩沖器。確定好發(fā)送緩沖器后,再通過(guò)選擇寄存器來(lái)選定該緩沖器進(jìn)行數(shù)據(jù)發(fā)送。

  發(fā)送的 CAN 報(bào)文包含標(biāo)識(shí)符和數(shù)據(jù)兩部分,在發(fā)送時(shí),標(biāo)識(shí)符需裝載在 CANTIDRn 寄存器中,單片機(jī)的 CAN 模塊具備 CANTIDR0~CANTIDR3 共計(jì) 4 組標(biāo)識(shí)符寄存器,用于滿(mǎn)足標(biāo)準(zhǔn)幀和擴(kuò)展幀的標(biāo)識(shí)符加載的需要。對(duì)于擴(kuò)展幀而言,標(biāo)識(shí)符由 29 位組成,4 組標(biāo)識(shí)符寄存器中還有 3 位特殊的標(biāo)志位(SRR、IDE 及 RTR)。在進(jìn)行標(biāo)識(shí)符加載時(shí),需要通過(guò)移位或者與或處理等將地址標(biāo)識(shí)符及 3 位特殊的標(biāo)志位加載到 CANTIDRn 的 4 組寄存器中。

  同理,發(fā)送的數(shù)據(jù)也需要通過(guò)數(shù)據(jù)段寄存器 CANTDSRn 加載相應(yīng)的數(shù)據(jù)實(shí)現(xiàn)。此外,在發(fā)送數(shù)據(jù)前還需要通過(guò)寄存器 CANTDLR 指定發(fā)送的數(shù)據(jù)幀中的字節(jié)數(shù)量;通過(guò) CANTTBPR 指定數(shù)據(jù)幀的優(yōu)先級(jí);通過(guò) CANTFLG 指定前述確定的發(fā)送緩沖器;最終由 CAN 模塊自動(dòng)實(shí)現(xiàn)數(shù)據(jù)的發(fā)送。

  對(duì)于 CAN 數(shù)據(jù)的接收,需要采用中斷模式,一旦接收的數(shù)據(jù)通過(guò)了接收濾波器的校驗(yàn),即可觸發(fā) CAN 模塊的中斷,并進(jìn)入中斷函數(shù)中。在進(jìn)入 CAN 中斷函數(shù)中后,首先需要判斷接收的 CAN 數(shù)據(jù)的類(lèi)型是否正確,進(jìn)而確定當(dāng)前數(shù)據(jù)幀中的數(shù)據(jù)字節(jié)數(shù)量;由于標(biāo)識(shí)符寄存器中 3 個(gè)特殊標(biāo)志位的存在,需要對(duì)接收的標(biāo)識(shí)符寄存器通過(guò)變換,得到真正的地址標(biāo)識(shí)符;最后需要將 CAN 數(shù)據(jù)幀的各字節(jié)數(shù)據(jù)依次取出,完成整個(gè)數(shù)據(jù)接收過(guò)程。

  2.8 狀態(tài)顯示程序

  狀態(tài)顯示是通過(guò)數(shù)碼管完成的,在此采用 16 通道等電流數(shù)碼管驅(qū)動(dòng)芯片 MBI5024。狀態(tài)顯示程序包括底層驅(qū)動(dòng)程序和顯示內(nèi)容控制程序兩個(gè)方面。

  顯示裝置使用了 2 位數(shù)碼管,共 16 個(gè)碼段,MBI5024 底層驅(qū)動(dòng)程序包含對(duì)數(shù)碼管各碼段的控制引腳的規(guī)劃。 MBI5024 通過(guò)串行通訊傳遞顯示信息,在此需要兩個(gè)字節(jié)數(shù)據(jù),即 16 位數(shù)據(jù)來(lái)控制 16 個(gè)碼段,圖 16 為 2 位數(shù)碼管各碼段與控制字節(jié)的對(duì)應(yīng)關(guān)系,在工作時(shí),發(fā)送的第一個(gè)字節(jié)數(shù)對(duì)應(yīng)右邊的數(shù)碼管,用于控制 a->h 各碼段的數(shù)據(jù);發(fā)送的第 2 個(gè)字節(jié)是左邊的數(shù)碼管,即 A->H 的數(shù)據(jù)。確定好數(shù)碼管的各碼段與字節(jié)數(shù)據(jù)之間的關(guān)系后,便建立了數(shù)碼管顯示內(nèi)容的真值表,將真值存入數(shù)組中,在使用時(shí)根據(jù)需要顯示的內(nèi)容查表便可確定需要發(fā)出的字節(jié)數(shù)據(jù)的內(nèi)容。

  顯示程序包括四部分,分別是總體控制程序、數(shù)字顯示控制程序、特殊字符顯示控制程序以及 MBI5024 通訊程序,通過(guò)這四部分,可以控制數(shù)碼管顯示各種信息,包括控制器當(dāng)前工作狀態(tài)、傳感器測(cè)試信號(hào)、風(fēng)扇點(diǎn)擊的故障狀態(tài)等信息。其中總體控制程序可根據(jù)控制器當(dāng)前的狀態(tài)確定顯示內(nèi)容,顯示內(nèi)容包括數(shù)字和特殊字符,數(shù)字和特殊字符的顯示控制分別由各自的顯示控制程序?qū)崿F(xiàn),此外,還需要控制器將數(shù)據(jù)發(fā)送到 MBI5024,即需要通訊程序,將數(shù)字顯示及特殊字符顯示程序確定的字節(jié)內(nèi)容向外發(fā)送,并且可在通訊程序中通過(guò)優(yōu)化的發(fā)送機(jī)制實(shí)現(xiàn)發(fā)送速度的調(diào)整。

  3 實(shí)車(chē)測(cè)試

  在設(shè)計(jì)完成后,需要檢測(cè)其功能是否完善,各個(gè)模塊能否有序協(xié)調(diào)的工作,是否滿(mǎn)足使用要求。因此,將總體框架程序、各底層驅(qū)動(dòng)程序與電子風(fēng)扇控制器硬件相結(jié)合,在實(shí)驗(yàn)場(chǎng)對(duì)電子風(fēng)扇控制器進(jìn)行實(shí)車(chē)測(cè)試,對(duì)電磁離合器風(fēng)扇及電子風(fēng)扇系統(tǒng)的油耗進(jìn)行了對(duì)比分析,對(duì)其使用效果進(jìn)行相關(guān)評(píng)價(jià),實(shí)驗(yàn)結(jié)果表明采用電子風(fēng)扇后,在各測(cè)試工況下都具有明顯的節(jié)油效果。

  實(shí)驗(yàn)在空車(chē)、中載和重載三種不同載荷下進(jìn)行,裝有電磁離合器風(fēng)扇的車(chē)輛和同種裝有電子風(fēng)扇的車(chē)輛分別在各種載荷下采取不同速度測(cè)試四到五次,記錄各自的油耗進(jìn)行對(duì)比,如圖 5。

  實(shí)驗(yàn)結(jié)果可知,不同載荷下節(jié)油率稍有變化,但整體電子風(fēng)扇能夠起到很好的節(jié)油作用,設(shè)計(jì)出的軟件可以很好地控制各個(gè)硬件模塊有序協(xié)調(diào)地進(jìn)行,具有很好的實(shí)用性。

  4 結(jié)論

  (1)本文分析了電子風(fēng)扇控制系統(tǒng)在工作時(shí)的功能需求,提出了相應(yīng)的軟件代碼設(shè)計(jì)方案。

  (2)基于 Freescale 單片機(jī)專(zhuān)用編譯環(huán)境 CodeWarrior 對(duì)各功能模塊的底層驅(qū)動(dòng)程序進(jìn)行設(shè)計(jì),包括晶振配置程序、傳感器信號(hào)采集及處理程序、PWM 輸出控制程序、風(fēng)扇狀態(tài)診斷程序、開(kāi)關(guān)量信號(hào)讀入程序、CAN 總線(xiàn)通訊程序、狀態(tài)顯示程序等,能夠控制電子風(fēng)扇控制系統(tǒng)有序工作。

  (3)進(jìn)行了總體框架的的設(shè)計(jì),設(shè)計(jì)了多任務(wù)時(shí)間規(guī)劃?rùn)C(jī)制實(shí)現(xiàn)了上述多種功能的協(xié)調(diào)工作。

主站蜘蛛池模板: 二次元美女扒开内裤喷水 | 欧美高清xxx | 国产精品久久久久久久久久免费 | 快播电影网站大全 | 一攻多受h嗯啊巨肉bl巨污 | 国产性色AV内射白浆肛交后入 | 偷窥欧美wc经典tv | 抽插的日日液液H | 亚洲国产成人爱AV在线播放丿 | 乌克兰14一18处交见血 | 疯狂做受XXXX高潮欧美日本 | 99热久久这里只有精品 | 99久久综合国产精品免费 | 亚洲 日韩 自拍 视频一区 | 中国xxxxxxxxx孕交 | 欧美亚洲日韩自拍高清中文 | 中文字幕在线视频免费观看 | 男女性杂交内射妇女BBWXZ | 秋霞电影伦网理最新在线看片 | 久久频这里精品99香蕉久网址 | 在线成人精品国产区免费 | 在野外被男人躁了一夜动图 | 涩涩在线观看免费视频 | 福利社的阿姨 | 性欧美金发洋妞xxxxbbbb | 亚洲国产韩国欧美在线不卡 | 丝瓜影院观看免费高清国际观察 | 男人桶女人j的视频在线观看 | 国产成人h在线视频 | 欧美国产精品久久久乱码 | 天天操天天干天天透 | 99热婷婷国产精品综合 | 日日噜噜夜夜狠狠扒开双腿 | 第四色播日韩AV第一页 | 婷婷射精AV这里只有精品 | 全黄h全肉细节文在线观看 全黄H全肉细节文短篇 | 久久综合丁香激情久久 | 男人把女人桶到高潮嗷嗷叫 | 年轻夫妇韩剧中文版免费观看 | 国产强奷糟蹋漂亮邻居在线观看 | 国产偷国产偷亚州清高APP |