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

正文內(nèi)容

基于arm的can總線智能照明控制系統(tǒng)設(shè)計(jì)畢業(yè)論文-資料下載頁(yè)

2025-06-19 13:16本頁(yè)面
  

【正文】 失仲裁時(shí)不重發(fā))只聽(tīng)方式(監(jiān)聽(tīng) CAN 總線無(wú)應(yīng)答無(wú)錯(cuò)誤標(biāo)志)支持熱插拔(無(wú)干擾軟件驅(qū)動(dòng)位速率檢測(cè))硬件禁止 CLKOUT 輸出表 SJA1000 引腳功能SJA1000 引腳功能符號(hào) 引腳 功能AD0 AD7 2,1,28 23地址/數(shù)據(jù)復(fù)用總線ALE 3 地址鎖存信號(hào)(Intel 方式)或 使能信號(hào)(Motorola 方式)/CS 4 片選信號(hào)輸入端,低電平允許訪問(wèn) SJA1000/RD 5 微控制器的讀信號(hào)(Intel 方式)或 E 信號(hào)(Motorola 式)/WR 6 微控制器的寫(xiě)信號(hào)(Intel 方式)或讀寫(xiě)信號(hào)(Motorola 方式)CLKOUT 7 時(shí)鐘信號(hào)輸出口,由 SJA1000 內(nèi)部振蕩器經(jīng)可編程分頻器得到的時(shí)鐘信號(hào)經(jīng) CLKOUT 端口輸出供外部電路使用??删幊探馆敵觥SS1 8 邏輯電路地XTAL1 9 振蕩放大器輸入,外部振蕩放大器信號(hào)經(jīng)此引腳輸入XTAL2 10 振蕩放大器輸出,使用外部振蕩信號(hào)時(shí)此引腳必須開(kāi)路MODE 11 方式選擇輸入端:1=Intel 方式,0=Motorola 方式VDD3 12 輸出驅(qū)動(dòng)器 5V 電源TX0 13 由輸出驅(qū)動(dòng)器 0 至物理總線的輸出端TX1 14 由輸出驅(qū)動(dòng)器 1 至物理總線的輸出端VSS3 15 輸出驅(qū)動(dòng)器地/INT 16 中斷輸出端,用于向微控制器提供中斷信號(hào)/RST 17 復(fù)位輸入端,用于重新啟動(dòng) CAN 接口(低電平有效)VDD2 18 輸入比較器 5V 電源SJA1000 引腳功能符號(hào) 引腳 功能RX0 RX1 19 20 由物理總線至 SJA1000 輸入比較器的輸入端。顯性電平將喚醒處于睡眠方式的 SJA1000 。當(dāng) RX0 高于 RX1 時(shí),讀出為隱性電平,否則為顯性電平VSS2 21 輸入比較器地VDD1 22 邏輯電路 5V 電源SJA1000 CAN 總線通信控制器接口電路如圖 所示,SJA1000 的數(shù)據(jù)線AD0~AD7 與 STC89C52 單片機(jī)的數(shù)據(jù)線 P0 口相連。片選線 CS 與 STC89C52 的最高位地址線 相連,當(dāng) CPU 對(duì)片外存儲(chǔ)器地址操作時(shí)可選中 SJA1000,CPU 通過(guò)這些地址可對(duì) SJA1000 執(zhí)行相應(yīng)的讀寫(xiě)操作。SJA1000 的 RD、WR、ALE 分別與單片機(jī) STC89C52的對(duì)應(yīng)引腳相連,INT 與 STC89C52 的外部中斷 1 相連。通過(guò) SJA1000 的中斷信號(hào),觸發(fā) STC89C52 單片機(jī)去處理相應(yīng)的事務(wù)(如:提取 SJA1000 接收緩沖區(qū)中的數(shù)據(jù))。SJA1000 的發(fā)送、接收總線上拉了兩個(gè) LED 通信指示燈,用于指示 CAN 總線通信是否成功,方便、直觀地發(fā)現(xiàn)通信故障,利于故障檢測(cè)與維修。 AD672LE/S3C4R5WKOUTV8X90MINJ+圖 SJA1000 接口電路原理圖PCA82C250 是一款由 NXP 公司生產(chǎn)的 CAN 總線收發(fā)器。它是 CAN 控制器和物理總線間的接口,它可以提供對(duì)總線的差動(dòng)發(fā)送能力和對(duì) CAN 控制器的差動(dòng)接收能力,增大通信距離,提高系統(tǒng)瞬間抗干擾能力,保護(hù)總線,降低射頻干擾等。其內(nèi)部具有限流電路,可防止發(fā)送輸出級(jí)對(duì)電源、地或負(fù)載短路。另外,如圖 所示在 PCA82C250 與 CAN 總線的接口部分也采用了一定的安全和抗干擾措施。PCA82C250 的 CANH 和 CAHL 引腳各自通過(guò) 1 個(gè) 5Ω 的電阻與 CAN 總線相連。電阻可起到一定的限流作用,保護(hù) PCA82C250 免受過(guò)流的沖擊。CANH 和 CANL 與地之間并聯(lián)了 2 個(gè) 30pF 的小電容,可以起到濾除總線上的高頻干擾和一定的防電磁輻射的能力。PCA82C250 的 Rs 腳上接有一個(gè)斜率電阻,電阻大小可根據(jù)總線通信速度適當(dāng)高調(diào)整,一般在 16~140kΩ 之間。PCA82C250 CAN 收發(fā)器電路原理圖如圖 所示。TXDGNVC3R4EF5AL6H7S8U0+圖 CAN 總線驅(qū)動(dòng)電路原理圖 鍵盤(pán)電路設(shè)計(jì)鍵盤(pán)電路采用比較簡(jiǎn)單的獨(dú)立式鍵盤(pán),便能滿足設(shè)計(jì)要求,成本低廉,編程相對(duì)簡(jiǎn)單。4 個(gè)獨(dú)立按鍵,分別與單片機(jī) INT0 和 相連,由于 P1 口上各位內(nèi)部均接有上拉電阻,故,外接按鍵的時(shí)候,我們不再需要接上上拉電阻。鍵盤(pán)電路如圖 所示 I圖 鍵盤(pán)電路原理圖 串口通信電路設(shè)計(jì)從節(jié)點(diǎn)串口通信電路主要由美信公司生產(chǎn)的 Max232 芯片和相應(yīng)的通信指示電路構(gòu)成,主要是用于單片機(jī)程序的燒寫(xiě)和程序的調(diào)試。Max232 用于實(shí)現(xiàn) TTL 電平與 RS232電平的轉(zhuǎn)換,只要在它的外部在接上幾個(gè)簡(jiǎn)單的電容就夠成了通信電路,為了方便檢查、排除故障可在通信線上接上兩個(gè)通信指示燈,方便檢查與維修。串口通信電路如圖 所示 C1+V23456TOU7RIN8out9in0GDcMAXFKPJ圖 串口通信電路4 軟件設(shè)計(jì) 系統(tǒng)軟件結(jié)構(gòu)系統(tǒng)軟件采用廣泛流行的計(jì)算機(jī)高級(jí)語(yǔ)言 C 語(yǔ)言編寫(xiě),它具有語(yǔ)言簡(jiǎn)潔、緊湊,生成目標(biāo)代碼質(zhì)量高、程序執(zhí)行效率高,容易閱讀、具有很好的移植性,具有較強(qiáng)的結(jié)構(gòu)性和便于模塊化設(shè)計(jì)等優(yōu)點(diǎn)。在本系統(tǒng)軟件設(shè)計(jì)中采用模塊化的設(shè)計(jì)思想,按照系統(tǒng)的功能作用進(jìn)行模塊劃分,再依次對(duì)各功能模塊進(jìn)行編程設(shè)計(jì)。這樣使系統(tǒng)在添加新功能時(shí)變得非常容易,在建立復(fù)雜應(yīng)用和提高代碼的可讀性、可重復(fù)利用性方面也是非常有益的。特別是在對(duì)后續(xù)的產(chǎn)品更新、程序維護(hù)、升級(jí)等有極其重要的意義。本系統(tǒng)軟件結(jié)構(gòu)主要包括主節(jié)點(diǎn)軟件結(jié)構(gòu)和從節(jié)點(diǎn)軟件結(jié)構(gòu)兩部分。 主節(jié)點(diǎn)軟件結(jié)構(gòu)主節(jié)點(diǎn)是整個(gè) CAN 總線智能照明控制系統(tǒng)的核心單元,它管理了多達(dá) 110 個(gè)從節(jié)點(diǎn)燈設(shè)備,它要求具有強(qiáng)大的數(shù)據(jù)存儲(chǔ)、運(yùn)算處理能力和友好的人機(jī)界面。因此,主節(jié)點(diǎn)的軟件結(jié)構(gòu)設(shè)計(jì)的好壞以及其程序模塊的劃分是否得當(dāng),將會(huì)直接地影響著整個(gè)照明控制系統(tǒng)的性能優(yōu)劣。因此,合理規(guī)劃主節(jié)點(diǎn)的軟件結(jié)構(gòu)和模塊劃分是非常有意義的。在本設(shè)計(jì)中,經(jīng)過(guò)精心的設(shè)計(jì)規(guī)劃,將主節(jié)點(diǎn)系統(tǒng)軟件劃分為七大模塊,它們分別為:系統(tǒng)初始化模塊、CAN 協(xié)議模塊、TFT 液晶顯示模塊、SD 卡驅(qū)動(dòng)模塊、UART 驅(qū)動(dòng)模塊、觸摸屏鍵盤(pán)掃描模塊以及蜂鳴器驅(qū)動(dòng)模塊。主節(jié)點(diǎn)軟件結(jié)構(gòu)如圖 所示:系統(tǒng)初始化SD 卡驅(qū)動(dòng)模塊TFT液晶顯示模塊 CAN協(xié)議UART 驅(qū)動(dòng)模塊觸摸屏鍵盤(pán)掃描蜂鳴器驅(qū)動(dòng)模塊圖 主節(jié)點(diǎn)軟件結(jié)構(gòu) 從節(jié)點(diǎn)軟件結(jié)構(gòu)從節(jié)點(diǎn)是單個(gè)照明設(shè)備單元的控制中心,照明燈設(shè)備執(zhí)行器的開(kāi)關(guān)動(dòng)作以及照明設(shè)備開(kāi)關(guān)燈的時(shí)間長(zhǎng)短完全取決于從節(jié)點(diǎn)的控制。因此,照明設(shè)備是否正常工作直接取決于從節(jié)點(diǎn)的軟件設(shè)計(jì)。合理劃分從節(jié)點(diǎn)的程序模塊,能夠有效提高軟件的健壯性。經(jīng)過(guò)仔細(xì)思考后將從節(jié)點(diǎn)軟件劃分為六大模塊,它們分別為:系統(tǒng)初始化模塊、CAN 協(xié)議模塊、照明控制信號(hào)數(shù)據(jù)處理模塊、鍵盤(pán)掃描及處理模塊、照明燈定時(shí)控制模塊以及 LCD 液晶顯示模塊。從節(jié)點(diǎn)軟件結(jié)構(gòu)如圖 所示:系統(tǒng)初始化模塊鍵盤(pán)掃描及處理模塊照明控制信號(hào)數(shù)據(jù)處理 CAN協(xié)議照明燈定時(shí)控制模塊LCD 液晶顯示模塊圖 從節(jié)點(diǎn)軟件結(jié)構(gòu) 系統(tǒng)程序模塊設(shè)計(jì) 主節(jié)點(diǎn)程序模塊設(shè)計(jì)由圖 可知,主節(jié)點(diǎn)系統(tǒng)程序主要由七大模塊構(gòu)成,它們分別是:系統(tǒng)初始化模塊、CAN 協(xié)議模塊、TFT 液晶顯示模塊、SD 卡驅(qū)動(dòng)模塊、UART 驅(qū)動(dòng)模塊、觸摸屏鍵盤(pán)掃描模塊以及蜂鳴器驅(qū)動(dòng)模塊。然而,節(jié)點(diǎn)主程序是這些程序模塊的調(diào)用者,是實(shí)現(xiàn)主節(jié)點(diǎn)功能的途徑,所以其他程序模塊的設(shè)計(jì),目的都是為了服務(wù)于主程序,以實(shí)現(xiàn)主節(jié)點(diǎn)監(jiān)控從節(jié)點(diǎn)燈設(shè)備的功能。如圖 所示是主節(jié)點(diǎn)的主程序流程圖。首先,初始化主節(jié)點(diǎn)硬件設(shè)備如:TFT 彩屏、SD 卡、CAN 控制器、中斷系統(tǒng)等,接著顯示監(jiān)控界面 1,然后進(jìn)入一個(gè)無(wú)限的工作循環(huán)。在工作循環(huán)中,處理如下工作,先判斷當(dāng)前模式是不是進(jìn)入了燈設(shè)置模式,如果是則停止向從節(jié)點(diǎn)發(fā)送數(shù)據(jù)請(qǐng)求幀。若不處在燈設(shè)置模式,則依次向各個(gè)從節(jié)點(diǎn)發(fā)送數(shù)據(jù)請(qǐng)求幀,請(qǐng)求從節(jié)點(diǎn)返回其燈數(shù)據(jù)。接著,判斷是否有觸摸按鍵按下,若有則作出相應(yīng)的按鍵處理并刷新顯示,最后檢測(cè)主節(jié)點(diǎn)的運(yùn)行、通信狀況和對(duì)從節(jié)點(diǎn)是否離線的檢測(cè)。這樣主節(jié)點(diǎn)就處理完成所有的從設(shè)備監(jiān)測(cè)、設(shè)置、離線檢測(cè)、運(yùn)行指示、通信指示等主要功能。程序開(kāi)始系統(tǒng)初始化進(jìn)入設(shè)置模式 ?向所有節(jié)點(diǎn)發(fā)送請(qǐng)求數(shù)據(jù)幀觸摸屏鍵盤(pán)掃描并刷新顯示運(yùn)行和從節(jié)點(diǎn)離線檢測(cè)YN顯示監(jiān)控界面1圖 主節(jié)點(diǎn)主程序流程圖 初始化模塊程序設(shè)計(jì)在主節(jié)點(diǎn)軟件結(jié)構(gòu)中,系統(tǒng)初始化程序是系統(tǒng)能夠正常工作的基礎(chǔ),是系統(tǒng)在進(jìn)入工作循環(huán)時(shí)首先執(zhí)行的一段代碼。通過(guò)系統(tǒng)初始化將主節(jié)點(diǎn)硬件設(shè)備設(shè)置成一個(gè)確定的狀態(tài),以等待后備的使用。其系統(tǒng)初始化模塊主要包括 5 大部分:TFT 液晶初始化、UART0 初始化、CAN1 初始化、SD 卡初始化、觸摸屏中斷初始化。(1)TFT 液晶初始化:首先,將 TFT 液晶接口管腳配置好,由于液晶接口的數(shù)據(jù)線和控制線都是采用 LPC2119 控制器的 GPIO 口模擬的,故要將其數(shù)據(jù)線 DATA0DATA1數(shù)據(jù)/命令線(LCD_RS),讀/寫(xiě)控制線(LCD_RD/LCD_RW),使能控制線(LCD_CS)管腳配置為輸出口。觸摸屏 SPI 通信接口也采用 IO 口模擬操作,將與觸摸屏控制器片選線 T_CS、數(shù)據(jù)輸出線 T_MOSI、串行時(shí)鐘信號(hào)線 T_CLK 相連的 GPIO 口設(shè)置為輸出口。與數(shù)據(jù)輸入線 MISO 相連的 IO 口設(shè)置為輸入,并初始化觸摸屏中斷系統(tǒng)。緊接著開(kāi)啟彩屏內(nèi)部時(shí)鐘,配置彩屏電源,然后伽馬校正并設(shè)置,最后開(kāi)顯示并清屏。具體的 TFT 液晶初始化程序流程圖如圖 所示。(2)UART0 初始化:先通過(guò)配置管腳連接寄存器,使 LPC2119 的 、 管腳連接到串口 0 模塊。再設(shè)置串口的幀結(jié)構(gòu),設(shè)置為 8bit 每幀,采用奇校驗(yàn)方式,接著設(shè)置串口波特率為 所示。(3)CAN 控制器初始化:首先,配置 CAN1 管腳功能,設(shè)置進(jìn)入 CAN 控制器的復(fù)位模式,設(shè)置告警上限值為 0x60,設(shè)置通信波特率為約 400Kbps,允許 CAN 接收中斷,并禁止驗(yàn)收濾波器,接著恢復(fù)到正常工作模式,最后初始化 CAN 接收中斷。具體 CAN1 控制器初始化流程圖如圖 所示。 程序開(kāi)始彩屏液晶接口配置開(kāi)啟彩屏內(nèi)部時(shí)鐘彩屏電源配置伽馬校正并開(kāi)顯示清屏程序結(jié)束程序開(kāi)始串口 0 管腳配置配置幀格式如8 位字節(jié)長(zhǎng)度 、 奇校驗(yàn)等設(shè)置波特率為1 1 5 2 0 0 b p s 、 關(guān)除數(shù)分頻器程序結(jié)束程序開(kāi)始C A N 1 管腳配置 , 進(jìn)入復(fù)位模式設(shè)置錯(cuò)誤告警值為 0 x 6 0 , 波特率為 4 0 0 K b p s允許 C A N 接收中斷 , 禁止驗(yàn)收濾波恢復(fù)到正常工作模式 , 初始化 C A N 接收中斷程序結(jié)束圖 TFT 液晶初始化 圖 UART0 初始化 圖 CAN1 控制器初始化(4)SD 卡初始化:首先,配置 SD 管腳功能,將 SD 卡片選信號(hào)置高,連續(xù)發(fā)送至少74 個(gè)時(shí)鐘,將片選拉低(CS=0),發(fā)送復(fù)位命令 CM0,使 SD 進(jìn)入 SPI 操作模式。確定 SD卡正確響應(yīng)后,發(fā)送激活 SD 卡初始化程序的命令 CM1,到此則初始化 SD 卡完畢。具體SD 卡初始化程序流程圖如圖 所示。(5)觸摸屏中斷初始化:首先,設(shè)置 LPC2119 的 為外部中斷 INT0,設(shè)置外部中斷 0(觸摸屏中斷)為 IRQ 中斷,設(shè)置 IRQ 中斷號(hào)、激活,設(shè)置外部中斷 INT0 為下降沿觸發(fā),清零中斷標(biāo)志位并使能中斷。具體觸摸屏中斷初始化程序流程圖如圖 所示。 程序開(kāi)始S D 卡管腳配置片選 C S = 0 , 發(fā)送復(fù)位命令 C M 0 ,進(jìn)入 S P I 模式S D 響應(yīng) ?發(fā)送激活 S D 初始化程序命令C M 1程序結(jié)束發(fā)送 7 4 個(gè)時(shí)鐘 ?向 S D 卡發(fā)送0 x f fNYNY程序開(kāi)始外部中斷 0 功能配置設(shè)置觸摸屏中斷為 I R Q 中斷選擇 I R Q 中斷號(hào)并激活設(shè)置下降沿觸發(fā) , 清零中斷標(biāo)志位設(shè)置中斷服務(wù)程序地址并使能外部中斷 0程序結(jié)束圖 SD 卡初始化程序 圖 觸摸屏中斷程序 CAN 協(xié)議模塊設(shè)計(jì)CAN 協(xié)議模塊是本設(shè)計(jì)的主要內(nèi)容,也是設(shè)計(jì)中的重要內(nèi)容。CAN 協(xié)議程序模塊設(shè)計(jì)的好壞對(duì)整個(gè)系統(tǒng)能否繼續(xù)進(jìn)行起著決定性作用。是關(guān)系到整個(gè)照明控制系統(tǒng)生死攸關(guān)的問(wèn)題,是能否使系統(tǒng)健壯,通信可靠的關(guān)鍵。設(shè)計(jì)中,將 CAN 協(xié)議模塊分成 CAN驅(qū)動(dòng)程序模塊和 CAN 協(xié)議數(shù)據(jù)格式模塊。下面我將分別詳細(xì)介紹這兩個(gè)部分。(1) CAN 協(xié)議數(shù)據(jù)格式:主要采用源/目的協(xié)議模式以一定的格式來(lái)對(duì)所要處理的數(shù)據(jù)進(jìn)行填充和解釋,然后發(fā)送給各個(gè)從節(jié)點(diǎn)。在 CAN 接收環(huán)節(jié)中 CAN 節(jié)點(diǎn)通過(guò)驗(yàn)收代碼寄存器和驗(yàn)收屏蔽寄存器,采用雙濾波方式確定該數(shù)據(jù)是否是本節(jié)點(diǎn)的數(shù)據(jù)或廣播數(shù)據(jù),從而對(duì)數(shù)據(jù)進(jìn)行選擇接收或丟棄,并將 CAN 接收緩沖區(qū)內(nèi)的數(shù)據(jù)依照先前制定的協(xié)議規(guī)則進(jìn)行解譯接收。下面首先介紹主從節(jié)點(diǎn)在應(yīng)用層上共同的 CAN 協(xié)議規(guī)則。本系統(tǒng)采用的是 協(xié)議,該協(xié)議支持 11 位 ID 同時(shí)也
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1