2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩36頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、<p>  本科畢業(yè)論文(設(shè)計)</p><p>  論文(設(shè)計)題目: Cortex的應(yīng)用研究 </p><p>  The Application Research of Cortex </p><p>  學(xué) 號: </p&g

2、t;<p>  姓 名: </p><p>  學(xué)科專業(yè): 電子信息工程 </p><p>  指導(dǎo)教師: </p><p>  2010 年 5 月20 日</p><p>  畢業(yè)論文(設(shè)計)內(nèi)容介紹

3、</p><p><b>  目 錄</b></p><p>  中文摘要…………………………………………………………………5</p><p>  英文摘要…………………………………………………………………5</p><p><b>  1.引言6</b></p><p&g

4、t;  1.1.Cortex概述6</p><p>  1.2.STM32系列芯片概述7</p><p>  1.3.CAN總線概述8</p><p>  1.4.SD卡概述9</p><p>  1.5.FATFS文件系統(tǒng)概述9</p><p>  2.系統(tǒng)總體設(shè)計10</p>

5、<p>  2.1.總體方案概述10</p><p>  2.2.系統(tǒng)上位機(jī)概述11</p><p>  2.3.系統(tǒng)下位機(jī)概述11</p><p>  2.4.CAN從節(jié)點(diǎn)概述11</p><p>  3.系統(tǒng)硬件選型與電路原理圖設(shè)計12</p><p>  3.1.硬件選型12&l

6、t;/p><p>  3.2.CAN主節(jié)點(diǎn)電路設(shè)計13</p><p>  3.2.1.電源模塊13</p><p>  3.2.2.時鐘模塊13</p><p>  3.2.3.復(fù)位模塊13</p><p>  3.2.4.調(diào)試模塊14</p><p>  3.2.5.CAN

7、接口模塊14</p><p>  3.2.6.SD卡模塊15</p><p>  3.2.7.RS232模塊15</p><p>  3.3.CAN從節(jié)點(diǎn)電路設(shè)計15</p><p>  3.3.1.PT100模塊15</p><p>  3.3.2.從節(jié)點(diǎn)地址選擇模塊16</p>

8、<p>  4.系統(tǒng)PCB設(shè)計與硬件調(diào)試16</p><p>  4.1.從原理圖到PCB16</p><p>  4.2.PCB布局17</p><p>  4.3.PCB布線17</p><p>  4.4.硬件調(diào)試18</p><p>  5.軟件設(shè)計與系統(tǒng)調(diào)試20</p&

9、gt;<p>  5.1.CAN總線的數(shù)據(jù)幀與遠(yuǎn)程幀20</p><p>  5.2.CAN從節(jié)點(diǎn)程序設(shè)計21</p><p>  5.3.CAN主節(jié)點(diǎn)程序設(shè)計21</p><p>  5.4.Delphi上位機(jī)程序設(shè)計23</p><p>  5.5.系統(tǒng)總體調(diào)試24</p><p>

10、;<b>  6.結(jié)束語26</b></p><p>  參考文獻(xiàn) ………………………………………………………………27</p><p>  Cortex的應(yīng)用研究</p><p><b>  劉運(yùn)乾</b></p><p>  摘要:本文介紹了基于Cortex M3的STM32F103xB的多

11、點(diǎn)溫度監(jiān)控系統(tǒng)的設(shè)計,包括硬件設(shè)計、軟件設(shè)計。溫度采集部分采用高精度的鉑電阻PT100,通過STM32內(nèi)部自帶的12位AD,將溫度值轉(zhuǎn)化為數(shù)字信號。然后將數(shù)字形式的溫度值通過CAN總線傳到CAN主節(jié)點(diǎn),主節(jié)點(diǎn)通過串口各從節(jié)點(diǎn)的數(shù)據(jù)發(fā)送到Delphi編寫的上位機(jī)軟件,上位機(jī)對各點(diǎn)的數(shù)據(jù)進(jìn)行實時曲線顯示并進(jìn)行存貯。在沒有上位機(jī)的場合,主節(jié)點(diǎn)將數(shù)據(jù)以文本文檔的形式存儲在主節(jié)點(diǎn)的SD卡中。</p><p>  關(guān)鍵詞:C

12、ortex ,STM32, CAN總線,Delphi,PT100 ,SD卡,F(xiàn)ATFS文件系統(tǒng) </p><p>  中圖分類號:TP391</p><p>  The Application Research of Cortex</p><p>  Liu Yunqian</p><p>  Abstract: This article d

13、escribes a multi-point temperature monitoring system based the STM32F103xB MCU of Cortex M3, including hardware design and software design. The part of temperature acquisition uses the high precision PT100 .The analog te

14、mperature value is converted into a digital signal through the STM32 internal 12-bit AD. And the digital temperature value is transmitted to master node through the CAN bus. Then the master node transmit the data from al

15、l slave node to the PC software thro</p><p>  Keywords: Cortex ,STM32,Controller Area Network, Delphi, PT100,SD Card,FAT File System</p><p><b>  引言</b></p><p><b> 

16、 Cortex概述</b></p><p>  Cortex是英國ARM公司最近推出的微處理器內(nèi)核,ARM的Cortex系列包括三個系列,都實現(xiàn)了Thumb-2指令集,以及最新的ARMv7架構(gòu)。ARM Cortex系列處理器擁有三個分工明確的分支系列:A系列面向復(fù)雜的高端應(yīng)用程序,用于運(yùn)行開放式的復(fù)雜操作系統(tǒng);R系列針對實時系統(tǒng);M系列為對成本敏感的微處理器。</p><p>

17、  其中A系列為Applications processors,即應(yīng)用處理器。A系列現(xiàn)在主要有A5、A8以及A9三個子系列。其中的 Cortex-A9是目前支持ARMv7架構(gòu)的性能最強(qiáng)的ARM處理器,并支持多核。</p><p>  R系列即為Real-time applications,目前主要有Cortex R4系列。Cortex R系列保持了與不帶MMU的傳統(tǒng)ARM處理器的代碼兼容,即傳統(tǒng)ARM芯片的程序不

18、需要重新編譯就可在Cortex R4上面運(yùn)行。</p><p>  M系列的M即為Money,Cortex M系列對成本及功耗進(jìn)行了優(yōu)化。目前主要有M0、M1、M3、M4四個子系列。其中Cortex M4是ARM最新的嵌入式處理器,其增加了數(shù)字信號處理的功能。另外,ARM公司為Cortex M系列微控制器開發(fā)了Cortex微控制器軟件接口標(biāo)準(zhǔn)(CMSIS),該標(biāo)準(zhǔn)是一個與MCU供應(yīng)商獨(dú)立的硬件抽象層,CMSIS簡

19、化了軟件設(shè)計,基于CMSIS標(biāo)準(zhǔn)的軟件架構(gòu)主要分為以下4層:用戶應(yīng)用層、操作系統(tǒng)及中間件接口層、CMSIS層、硬件寄存器層。其中CMSIS層起著承上啟下的作用[1]。Cortex M3是目前應(yīng)用最多的產(chǎn)品,其內(nèi)部框架如圖1-1所示。其中主要包括處理器內(nèi)核、中斷控制器、調(diào)試單元、總線單元以及內(nèi)存保護(hù)單元。</p><p><b>  圖1-1</b></p><p> 

20、 目前Cortex M3的產(chǎn)品主要有意法半導(dǎo)體的STM32系列,德州儀器的LM3S系列以及恩智浦的LPC 1300/1700系列。下面主要介紹意法半導(dǎo)體的STM32系列。</p><p>  STM32系列芯片概述 </p><p>  STM32系列32位閃存微控制器使用來自于ARM公司具有突破性的Cortex-M3內(nèi)核,該內(nèi)核是專門設(shè)計于滿足集高性能、低功耗、實時應(yīng)用、具有競爭性價格于

21、一體的嵌入式領(lǐng)域的要求。Cortex-M3在系統(tǒng)結(jié)構(gòu)上的增強(qiáng),讓STM32受益無窮;Thumb-2指令集帶來了更高的指令效率和更強(qiáng)的性能。STM32系列MCU給用戶帶來了前所未有的自由空間,提供了全新的32位產(chǎn)品選項,結(jié)合了高性能、實時、低功耗、低電壓等特性,同時保持了高集成度和易于開發(fā)的優(yōu)勢。</p><p>  意法半導(dǎo)體的STM32系列目前主要包括3個大系列:</p><p>  S

22、TM32F系列,32位ARM Cortex基礎(chǔ)型微控制器。</p><p>  STM32L系列,32位超低功耗微控制器。 </p><p>  STM32W 系列,32位ARM Cortex 射頻微控制器。 </p><p>  STM32F10X系列目前有5個產(chǎn)品線:STM32F100(Value Line)、STM32F101(基本型)、STM32F102(U

23、SB基本型)、STM32F103(增強(qiáng)型)、STM32F105/STM32F107(互聯(lián)型)。如圖1-2所示。</p><p><b>  圖1-2</b></p><p>  目前最高版本的STM32F103XG支持1MB Flash和96KB RAM。</p><p><b>  CAN總線概述</b></p&g

24、t;<p>  CAN總線是德國BOSCH公司從80年代初為解決現(xiàn)代汽車中眾多的控制與測試儀器之間的數(shù)據(jù)交換而開發(fā)的一種串行數(shù)據(jù)通信協(xié)議,它是一種多主總線,通信介質(zhì)可以是雙絞線、同軸電纜或光導(dǎo)纖維。通信速率可達(dá)1MBPS。CAN總線通信接口中集成了CAN協(xié)議的物理層和數(shù)據(jù)鏈路層功能,可完成對通信數(shù)據(jù)的成幀處理,包括位填充、數(shù)據(jù)塊編碼、循環(huán)冗余檢驗、優(yōu)先級判別等項工作。</p><p>  CAN協(xié)議

25、的一個最大特點(diǎn)是廢除了傳統(tǒng)的站地址編碼,而代之以對通信數(shù)據(jù)塊進(jìn)行編碼。采用這種方法的優(yōu)點(diǎn)可使網(wǎng)絡(luò)內(nèi)的節(jié)點(diǎn)個數(shù)在理論上不受限制,數(shù)據(jù)塊的標(biāo)識碼可由11位或29位二進(jìn)制數(shù)組成,因此可以定義211或229個不同的數(shù)據(jù)塊,這種按數(shù)據(jù)塊編碼的方式,還可使不同的節(jié)點(diǎn)同時接收到相同的數(shù)據(jù),這一點(diǎn)在分布式控制系統(tǒng)中非常有用。數(shù)據(jù)段長度最多為8個字節(jié),可滿足通常工業(yè)領(lǐng)域中控制命令、工作狀態(tài)及測試數(shù)據(jù)的一般要求。同時,8個字節(jié)不會占用總線時間過長,從而保證

26、了通信的實時性。CAN協(xié)議采用CRC檢驗并可提供相應(yīng)的錯誤處理功能,保證了數(shù)據(jù)通信的可靠性。CAN卓越的特性、極高的可靠性和獨(dú)特的設(shè)計,特別適合工業(yè)過程監(jiān)控設(shè)備的互連,因此,越來越受到工業(yè)界的重視,并已公認(rèn)為最有前途的現(xiàn)場總線之一[2]。CAN總線拓?fù)浣Y(jié)構(gòu)如圖1-3所示</p><p><b>  圖1-3</b></p><p><b>  SD卡概述

27、 </b></p><p>  SD卡(Secure Digital Memory Card)中文翻譯為安全數(shù)碼卡,是一種基于半導(dǎo)體快閃記憶器的新一代記憶設(shè)備,它被廣泛地于便攜式裝置上使用,例如數(shù)碼相機(jī)、個人數(shù)碼助理(PDA)和多媒體播放器等。SD卡由日本松下、東芝及美國SanDisk公司于1999年8月共同開發(fā)研制。大小猶如一張郵票的SD記憶卡,重量只有2克,但卻擁有高記憶容量、快速數(shù)據(jù)傳輸率、極大

28、的移動靈活性以及很好的安全性。SD卡結(jié)構(gòu)如圖1-4所示</p><p>  圖1-4 圖1-5</p><p>  SD卡有2種可選的通信協(xié)議:SD模式和SPI模式。 SD模式是SD卡的標(biāo)準(zhǔn)讀寫方式,選用此模式需要選擇帶SD卡控制接口的MCU或者額外的SD卡控制單元;SPI模式通過SPI總線完成SD卡與主控制器的通信。單片機(jī)控制S

29、D卡一般采用SPI模式。SPI模式下SD卡引腳如圖1-5所示。</p><p>  FATFS文件系統(tǒng)概述</p><p>  FATFS即FAT File System,F(xiàn)ATFS是專為小型嵌入式系統(tǒng)實現(xiàn)FAT文件系統(tǒng)而開發(fā)的通用的文件系統(tǒng)模型。它是用標(biāo)準(zhǔn)C編寫的與硬件架構(gòu)無關(guān)的文件系統(tǒng)模型。它可以不經(jīng)任何改變而移植到一些低價的微控制器上面。FATFS在系統(tǒng)中的位置如圖1-6所示。FAT

30、FS具有如下特點(diǎn): 圖1-6</p><p>  與Windows完全兼容的FAT文件系統(tǒng)。</p><p>  與硬件平臺無關(guān),便于移植。 </p><p>  占用很小的ROM及RAM。 &l

31、t;/p><p>  各種配置選項:多個卷(物理驅(qū)動器和分區(qū))、RTOS、長文件名、只讀等。</p><p>  此外FATFS還有一個子集Petit FatFs,它是專為小型8位微控制器實現(xiàn)文件系統(tǒng)而開發(fā)的。它具有非常小的代碼以及占用非常小的RAM的特點(diǎn)。</p><p>  FATFS提供了應(yīng)用程序接口,可以很方便的對FAT卷進(jìn)行操作[3]。</p>

32、<p><b>  系統(tǒng)總體設(shè)計</b></p><p><b>  總體方案概述</b></p><p>  基于STM32F103xB的多點(diǎn)溫度監(jiān)控系統(tǒng)的整體結(jié)構(gòu)圖如圖2-1所示</p><p><b>  圖2-1</b></p><p>  其中溫度傳感器采用

33、高精度的鉑電阻PT100,通過從節(jié)點(diǎn)STM32內(nèi)部自帶的12位AD將溫度值轉(zhuǎn)化為數(shù)字信號。然后將數(shù)字形式的溫度值通過CAN總線傳到CAN主節(jié)點(diǎn),主節(jié)點(diǎn)通過串口各從節(jié)點(diǎn)的數(shù)據(jù)發(fā)送到Delphi編寫的上位機(jī)軟件,上位機(jī)對各點(diǎn)的數(shù)據(jù)進(jìn)行實時曲線顯示并進(jìn)行存貯。在沒有上位機(jī)的場合,主節(jié)點(diǎn)將數(shù)據(jù)以文本文檔的形式存儲在主節(jié)點(diǎn)的SD卡中。</p><p><b>  系統(tǒng)上位機(jī)概述</b></p&g

34、t;<p>  上位機(jī)選用運(yùn)行Windows XP的PC,Windows XP具有穩(wěn)定性好、應(yīng)用廣泛的特點(diǎn)。上位機(jī)軟件編程語言采用Delphi,Delphi是Windows平臺下著名的快速應(yīng)用程序開發(fā)工具,Delphi是一個集成開發(fā)環(huán)境(IDE),使用的核心是由傳統(tǒng)Pascal語言發(fā)展而來的Object Pascal,以圖形用戶界面為開發(fā)環(huán)境,透過IDE、VCL工具與編譯器,配合連結(jié)數(shù)據(jù)庫的功能,構(gòu)成一個以面向?qū)ο蟪绦蛟O(shè)計

35、為中心的應(yīng)用程序開發(fā)工具。Delphi有強(qiáng)大的可視化控件庫(VCL),VCL是Delphi 的核心,它擴(kuò)展了Delphi的功能。本系統(tǒng)上位機(jī)設(shè)計主要用到了以下兩個控件:SPCOMM(串口控件)和TeeChart(圖形控件)。該上位機(jī)軟件主要實現(xiàn)了五個功能:</p><p>  實時曲線顯示當(dāng)前各從節(jié)點(diǎn)的溫度</p><p><b>  打印實時曲線</b></p

36、><p>  將實時曲線保存為圖片</p><p>  將實時曲線的數(shù)據(jù)保存為TXT文檔</p><p>  實時溫度超過報警值時報警</p><p><b>  系統(tǒng)下位機(jī)概述</b></p><p>  系統(tǒng)下位機(jī)即CAN主節(jié)點(diǎn),下位機(jī)微控制器采用STM32F103RBT6,下位機(jī)通過串口與上位機(jī)

37、進(jìn)行通信。下位機(jī)起到協(xié)議轉(zhuǎn)換器的作用,實現(xiàn)CAN總線協(xié)議和串口協(xié)議之間的橋接,即下位機(jī)接受CAN從節(jié)點(diǎn)發(fā)送過來的數(shù)據(jù),將其按照一定的格式通過串口發(fā)送到上位機(jī)。下位機(jī)CAN收發(fā)器采用NXP的高速收發(fā)器TJA1040。RS232電平轉(zhuǎn)換芯片采用MAX3232。此外,下位機(jī)還有SD卡模塊,SD卡通過SPI總線與STM32通信,并移植了FATFS文件系統(tǒng),可以把各從節(jié)點(diǎn)的溫度數(shù)值存儲在SD卡中。</p><p><

38、b>  CAN從節(jié)點(diǎn)概述</b></p><p>  CAN從節(jié)點(diǎn)微控制器采用STM32F103RBT6,CAN從節(jié)點(diǎn)的站地址由撥碼開關(guān)選擇。溫度傳感器PT100接在傳感器測量電橋的一個橋臂上,從電橋獲取的差分信號通過兩級運(yùn)放放大后輸入STM32。經(jīng)STM32內(nèi)部AD轉(zhuǎn)換成溫度數(shù)值。此數(shù)字值通過CAN總線傳送到CAN主節(jié)點(diǎn)。</p><p>  系統(tǒng)硬件選型與電路原理圖設(shè)

39、計</p><p><b>  硬件選型</b></p><p>  本系統(tǒng)采用主節(jié)點(diǎn)+從節(jié)點(diǎn)的結(jié)構(gòu),主節(jié)點(diǎn)主要實現(xiàn)CAN總線和串口協(xié)議之間的橋接。CAN總線的實現(xiàn)一般有兩種方法:1、MCU+獨(dú)立CAN控制器,2、直接選用帶CAN控制器的MCU。由于獨(dú)立CAN控制器價格一般比較貴,這里直接選用帶CAN控制器的MCU?;贑ortex M3內(nèi)核的STM32系列微控制器自

40、上市以來,以市場定位優(yōu)勢與技術(shù)領(lǐng)先,贏得各種大規(guī)模應(yīng)用的龍頭企業(yè)的青睞。STM32F10X功能框圖如圖3-1所示。</p><p><b>  圖3-1</b></p><p>  其中增強(qiáng)型STM32F103系列帶有CAN控制器,可以滿足本系統(tǒng)的需求。在兼顧成本和功能以及為以后的擴(kuò)展留出一定余量的基礎(chǔ)上,本系統(tǒng)選擇具有128KB Flash和20KB RAM的STM

41、32F103RBT6。</p><p>  CAN收發(fā)器采用NXP的高速收發(fā)器TJA1040,TJA1040是PCA82C250的替代品,它完全符合了ISO 11898標(biāo)準(zhǔn),具有高速、低功耗、低電磁輻射的優(yōu)點(diǎn)。</p><p>  RS232電平轉(zhuǎn)換芯片采用MAX3232,它具有低功耗、高數(shù)據(jù)速率以及增強(qiáng)型ESD保護(hù)等特性。采用專有的低壓差發(fā)送輸出級,+3.0V至+5.5V供電時利用內(nèi)部雙

42、電荷泵保證RS-232性能。工作時,電荷泵僅需要四個100 nF的小電容。</p><p>  測溫傳感器采用鉑熱電阻PT100,PT100 是一種廣泛應(yīng)用的測溫元件,在-50℃~600℃范圍內(nèi)具有其他任何溫度傳感器無可比擬的優(yōu)勢,包括高精度、穩(wěn)定性好、抗干擾能力強(qiáng)等。與PT100連接的放大器采用雙通道差分輸入運(yùn)算放大器LM358。</p><p>  CAN主節(jié)點(diǎn)電路設(shè)計[4]</

43、p><p><b>  電源模塊</b></p><p>  電源是嵌入式系統(tǒng)的重要組成部分,本系統(tǒng)由外部+5V供電,外部電源引入后,首先經(jīng)過470uF電解電容和100nF電容去耦,然后經(jīng)過線性穩(wěn)壓器件AMS1117-3V3將電源穩(wěn)壓至3.3V。此外STM32F103RBT6每一個電源引腳處都應(yīng)該加100nF的去耦電容,提高電路的穩(wěn)定性。電源模塊電路如圖3-2所示。<

44、;/p><p><b>  圖3-2</b></p><p><b>  時鐘模塊</b></p><p>  系統(tǒng)主時鐘選用外部8MHZ晶振,經(jīng)內(nèi)部鎖相環(huán)PLL倍頻至72MHZ供內(nèi)部使用,此外還有32768HZ的時鐘供芯片內(nèi)部RTC使用。時鐘模塊電路如圖3-3所示。</p><p><b>

45、  圖3-3</b></p><p><b>  復(fù)位模塊</b></p><p>  由于STM32內(nèi)部自帶上電復(fù)位電路,所以本系統(tǒng)的復(fù)位電路只要實現(xiàn)按鍵按下的時候復(fù)位即可。復(fù)位模塊電路如圖3-4所示。</p><p><b>  圖3-4</b></p><p><b> 

46、 調(diào)試模塊</b></p><p>  標(biāo)準(zhǔn)的JTAG接口是4線:TMS, TCK, TDI、TDO,分別為測試模式選擇、測試時鐘、測試數(shù)據(jù)輸入和測試數(shù)據(jù)輸出。JTAG接口一般有10針、14針、20針。本系統(tǒng)采用20針接口,配合JLINK調(diào)試器實現(xiàn)對STM32的調(diào)試。調(diào)試模塊電路如圖3-5所示。</p><p><b>  圖3-5</b></p&g

47、t;<p><b>  CAN接口模塊</b></p><p>  采用高速CAN收發(fā)器TJA1040,接線端子兩端分別是CAN差分信號的CANH和CANL,CANH和CANL之間接有120歐終端電阻。CAN接口模塊如圖3-6所示。</p><p><b>  圖3-6</b></p><p><b&g

48、t;  SD卡模塊</b></p><p>  采用SPI總線與STM32進(jìn)行數(shù)據(jù)傳輸,用到了4跟數(shù)據(jù)線MISO(SD卡數(shù)據(jù)輸出),MOSI(SD卡數(shù)據(jù)輸入),SCLK(同步時鐘),SD_CS(SD卡片選)。SD卡模塊如圖3-7所示。</p><p><b>  圖3-7</b></p><p><b>  RS232模塊

49、</b></p><p>  電平轉(zhuǎn)換芯片采用MAX3232,輸入電源兼容3.3V和5V。外部采用直連串口線與上位機(jī)連接。RS232模塊電路如圖3-8所示。</p><p><b>  圖3-8</b></p><p>  CAN從節(jié)點(diǎn)電路設(shè)計</p><p>  CAN從節(jié)點(diǎn)電路的電源模塊、時鐘模塊、復(fù)位模

50、塊、調(diào)試模塊以及CAN接口模塊與CAN主節(jié)點(diǎn)相同,這里不再贅述。下面只介紹不同的地方。CAN從節(jié)點(diǎn)去掉了RS232模塊以及SD卡模塊,加了以下兩個模塊:</p><p><b>  PT100模塊</b></p><p>  采用電橋測量法,PT100作為傳感器測量電橋的一個橋臂,為了保證電橋輸出電壓信號的穩(wěn)定性,電橋的輸入電壓通過TL431 穩(wěn)至2.5V。從電橋獲取

51、的差分信號通過兩級運(yùn)放放大后輸入STM32F103RBT6的AD輸入通道8。為了防止單級放大倍數(shù)過高帶來的非線性誤差,放大電路采用兩級放大。當(dāng)溫度上升時,Pt100 阻值變大,輸入放大電路的差分信號變大,放大電路的輸出電壓對應(yīng)升高[5]。 PT100模塊電路如圖3-9所示。</p><p><b>  圖3-9</b></p><p><b>  從節(jié)點(diǎn)地址

52、選擇模塊</b></p><p>  每一個從節(jié)點(diǎn)都對應(yīng)一個獨(dú)立的從節(jié)點(diǎn)地址,該地址由撥碼開關(guān)進(jìn)行設(shè)定。MCU通過讀取I/O口PC6-PC13的高低電平來確定從節(jié)點(diǎn)地址。從節(jié)點(diǎn)地址選擇模塊如圖3-10所示。</p><p><b>  圖3-10</b></p><p>  系統(tǒng)PCB設(shè)計與硬件調(diào)試</p><p

53、>  本系統(tǒng)的原理圖設(shè)計和PCB設(shè)計采用Altium Designer Winter 09(8.3)。Altium Designer具有強(qiáng)大的交互式布線功能和3D功能,給使用者帶來很大的方便。因本系統(tǒng)CAN主節(jié)點(diǎn)和從節(jié)點(diǎn)均采用STM32系列微控制器,只有外圍器件有差別,為降低成本,把他們設(shè)計在同一個PCB上面。</p><p><b>  從原理圖到PCB</b></p>

54、<p>  Protel最初的版本是先要從原理圖導(dǎo)出網(wǎng)絡(luò)表(Netlist),然后在PCB中導(dǎo)入網(wǎng)絡(luò)表。目前其他一些PCB軟件(如Cadence)也是如此,而Altium Designer改進(jìn)了這種狀況,不需要生成網(wǎng)絡(luò)表,直接可以由原理圖更新到PCB。原理圖更新到PCB后首先進(jìn)行初步布局,確定PCB的大小,本系統(tǒng)PCB大小為70mm*75mm,然后在禁止布線層(Keep-Out Layer)圈定允許布線的范圍。</p&

55、gt;<p><b>  PCB布局</b></p><p>  PCB布局應(yīng)該遵循美觀、大方以及便于走線的特點(diǎn)。本系統(tǒng)布局按照以下步驟:</p><p>  劃分?jǐn)?shù)字部分和模擬部分在PCB板上的布線區(qū)域,本系統(tǒng)采用的溫度傳感器PT100模塊為模擬部分</p><p>  初步劃分完畢後,從接插件開始放置元器件,注意周圍要留出接插

56、件的空間且接插件盡量往板子邊緣放,放置電源模塊相關(guān)元件。</p><p>  放置STM32芯片及其周邊晶振、去耦電容等,晶振、去耦電容盡量靠近STM32</p><p>  放置模擬部分PT100模塊相關(guān)電路,敏感模擬信號走線盡量短</p><p>  放置其它數(shù)字元器件及去耦電容,去耦電容離數(shù)字器件電源引腳盡可能近</p><p>  布

57、局完成后效果如圖4-1所示。</p><p><b>  圖4-1</b></p><p><b>  PCB布線</b></p><p>  在PCB設(shè)計中,布線是完成產(chǎn)品設(shè)計的重要步驟,可以說前面的準(zhǔn)備工作都是為它而做的,在整個PCB中,以布線的設(shè)計過程限定最高,技巧最細(xì)、工作量最大。布線之前首先應(yīng)該設(shè)定布線規(guī)則,布線

58、規(guī)則覆蓋了電氣、布線、制造、放置、信號完整等。比較常用的規(guī)則有線間距、線寬、布線拓?fù)?、布線層等。</p><p>  為減少數(shù)字信號對模擬信號的干擾,數(shù)字信號走線盡量放置在數(shù)字信號布線區(qū)域內(nèi), 模擬信號走線盡量放置在模擬信號布線區(qū)域內(nèi)。</p><p>  所有連到晶振輸入/輸出端的走線盡量短,如可能,晶振外殼接地</p><p>  盡量加寬電源、地線寬度,最好是

59、地線比電源線寬,清除地線環(huán)路,以防意外電流回饋影響電源</p><p>  所有數(shù)字器件電源/地間的去耦電容走線盡量短,去耦電容走線不能使用過孔</p><p>  模擬信號走線盡量線寬</p><p>  布線完成后要進(jìn)行設(shè)計規(guī)則檢查(DRC),需認(rèn)真檢查布線設(shè)計是否符合制定的規(guī)則</p><p>  布線完成并覆銅后效果如圖4-2所示&l

60、t;/p><p><b>  圖4-2</b></p><p><b>  硬件調(diào)試</b></p><p>  當(dāng)PCB板加工完成后,首先應(yīng)仔細(xì)檢查印制電路板的連線是否有短路或斷線的地方,然后用萬用表測試電源和地是否短路。在焊接時,以模塊電路為單位,一個模塊一個模塊的焊接。在每一模塊焊接完成之后,都需要進(jìn)行測試。</p

61、><p>  加工完成后的PCB如圖4-3所示:</p><p><b>  圖4-3</b></p><p>  焊接調(diào)試時按照下列步驟:</p><p>  首先焊接電源模塊,焊完后測試3.3V電源輸出是否正確</p><p>  焊接STM32芯片、周邊去耦電容、8M Hz晶振模塊以及20針JT

62、AG模塊。用JLINK連接JTAG引腳,PC端用RealView MDK 4.02調(diào)試,Jlink設(shè)置如圖4-4所示,若其中SWDIO欄 Device Name顯示ARM CoreSight SW-DP說明芯片已被JLINK識別,然后進(jìn)入調(diào)試模式,看程序能否正常下載,能否正確運(yùn)行。</p><p><b>  圖4-4</b></p><p>  焊接PT100模塊電

63、路,用萬用表測量LM358輸出是否正常,是否隨溫度變化而變化</p><p>  焊接MAX3232部分電路,下載簡單串口程序,看串口是否正常</p><p>  焊接CAN收發(fā)器TJA1040以及SD卡部分電路</p><p>  焊接完成的主節(jié)點(diǎn)如圖4-5所示(其中SD卡在PCB反面)</p><p><b>  圖4-5<

64、;/b></p><p><b>  軟件設(shè)計與系統(tǒng)調(diào)試</b></p><p>  CAN總線的數(shù)據(jù)幀與遠(yuǎn)程幀</p><p>  CAN總線有4中不同的幀類型:數(shù)據(jù)幀、遠(yuǎn)程幀、錯誤幀和過載幀。本系統(tǒng)軟件設(shè)計用到了其中的數(shù)據(jù)幀和遠(yuǎn)程幀,現(xiàn)做簡要介紹。</p><p>  數(shù)據(jù)幀(Data Frame):將數(shù)據(jù)從發(fā)

65、送器傳輸?shù)浇邮掌鳎瑪?shù)據(jù)幀一般結(jié)構(gòu)如圖5-1所示</p><p><b>  圖5-1</b></p><p>  遠(yuǎn)程幀(Remote Frame):總線節(jié)點(diǎn)發(fā)出遠(yuǎn)程幀,請求發(fā)送具有同一標(biāo)識符的數(shù)據(jù)幀,本系統(tǒng)遠(yuǎn)程幀由CAN主節(jié)點(diǎn)發(fā)出,向CAN從節(jié)點(diǎn)請求數(shù)據(jù)。數(shù)據(jù)幀一般結(jié)構(gòu)如圖5-2所示,除沒有數(shù)據(jù)場和RTR位為隱性外,遠(yuǎn)程幀和數(shù)據(jù)幀完全相同。</p>&

66、lt;p><b>  圖5-2</b></p><p>  CAN從節(jié)點(diǎn)程序設(shè)計</p><p>  從節(jié)點(diǎn)的主要功能是通過AD檢測PT100電橋的差分輸出電壓,然后計算得出此節(jié)點(diǎn)的溫度值,最后通過CAN總線傳送給CAN主節(jié)點(diǎn)。從節(jié)點(diǎn)主程序流程圖和CAN接收中斷流程圖如圖5-3所示。</p><p><b>  圖5-3<

67、/b></p><p>  其中,系統(tǒng)初始化包括時鐘初始化、獨(dú)立看門狗初始化、GPIO初始化、中斷初始化、ADC初始化、DMA初始化以及CAN初始化。</p><p>  CAN主節(jié)點(diǎn)程序設(shè)計</p><p>  CAN主節(jié)點(diǎn)的功能是發(fā)送遠(yuǎn)程幀向從節(jié)點(diǎn)查詢數(shù)據(jù)、通過AD的轉(zhuǎn)換結(jié)果計算芯片內(nèi)部溫度傳感器的溫度值、接收從節(jié)點(diǎn)發(fā)送的數(shù)據(jù)幀、發(fā)送溫度數(shù)據(jù)到上位機(jī)或存儲

68、數(shù)據(jù)到SD卡。CAN主節(jié)點(diǎn)程序如圖5-4所示,</p><p><b>  圖5-4</b></p><p>  其中,系統(tǒng)初始化包括時鐘初始化、獨(dú)立看門狗初始化、GPIO初始化、中斷初始化、ADC初始化、DMA初始化、CAN初始化以及RTC初始化。</p><p>  主節(jié)點(diǎn)程序用到兩個中斷,CAN接收中斷和RTC實時時鐘中斷,如圖5-5所示

69、。CAN接收中斷的主要作用是主節(jié)點(diǎn)發(fā)送遠(yuǎn)程幀后,從節(jié)點(diǎn)發(fā)回數(shù)據(jù),CAN接收中斷用來接收這一幀數(shù)據(jù);RTC中斷主要是為向SD卡寫數(shù)據(jù)提供秒中斷標(biāo)志,即每秒鐘向SD卡寫入一次數(shù)據(jù)。</p><p>  圖5-5 圖5-6</p><p>  寫SD卡部分程序流程圖如圖5-6所示,SD卡部分主要用到了移植的FATFS文件系統(tǒng)提供的訪問FAT卷的

70、應(yīng)用接口(Application Interface)。主要用到了以下函數(shù):</p><p>  f_mount - 注冊/注銷一個工作區(qū)域</p><p>  f_open - 打開/創(chuàng)建一個文件</p><p>  f_close - 關(guān)閉一個文件</p><p>  f_lseek - 移動/寫指針,擴(kuò)展文件大小</p>

71、<p>  f_puts - 寫字符串</p><p>  f_printf - 寫一個格式化字符串</p><p>  Delphi上位機(jī)程序設(shè)計</p><p>  上位機(jī)程序采用Delphi編寫,與CAN主節(jié)點(diǎn)(下位機(jī))通信,實時顯示并存儲各從節(jié)點(diǎn)的溫度值。</p><p>  用Delphi 實現(xiàn)串口通訊,常用的幾種方法為:

72、使用控件如MSCOMM和SPCOMM,使用API函數(shù)或者在Delphi 中調(diào)用其它串口通訊程序。利用API編寫串口通信程序較為復(fù)雜,需要掌握大量通信知識,其優(yōu)點(diǎn)是可實現(xiàn)的功能更強(qiáng)大,應(yīng)用面更廣泛,更適合于編寫較為復(fù)雜 的低層次通信程序。相比較而言,利用SPComm控件則相對較簡單,該控件具有豐富的與串口通信密切相關(guān)的屬性及事件,提供了對串口的各種操作。使用控件這一方法容易掌握,而SPCOMM支持多線程,所以SPCOMM控件的應(yīng)用更加廣泛

73、[6]。本系統(tǒng)串口通訊控件就采用SPCOMM。</p><p>  下位機(jī)與上位機(jī)通信協(xié)議約定如下:</p><p>  "#**", //幀頭</p><p>  NodeNum_H,NodeNum_L, //節(jié)點(diǎn)總數(shù) 占2個字節(jié)</p><p>  Node_1_H,Node_1_L,

74、 //節(jié)點(diǎn)1 溫度 占2個字節(jié)</p><p>  Node_2_H,Node_2_L, //節(jié)點(diǎn)2溫度 占2個字節(jié)</p><p><b>  ......</b></p><p>  Node_n_H,Node_n_L, //節(jié)點(diǎn)n溫度 占2個字節(jié)</p><p>  C

75、RC16_H,CRC16_L, //CRC校驗 占2個字節(jié)</p><p>  "**%" //幀尾</p><p>  上位機(jī)串口接收程序在接受到一幀數(shù)據(jù)后首先判斷幀頭是否正確,然后取出幀頭之后的2個字節(jié),計算出CAN總線上的節(jié)點(diǎn)總數(shù),然后根據(jù)這一節(jié)點(diǎn)總數(shù)計算出該幀的字節(jié)總數(shù),然后計算該幀數(shù)據(jù)的CRC16,判斷計算出的CRC16與單片機(jī)

76、端計算的是否一致,再判斷幀尾是否正確,若幀尾也正確,則取出此幀中各節(jié)點(diǎn)的溫度數(shù)值,存入預(yù)先設(shè)定的數(shù)組里面,上位機(jī)串口接收程序流程圖如圖5-7所示。</p><p>  圖5-7 圖5-8</p><p>  上位機(jī)的實時曲線由定時器控制,定時器時間間隔為1s,即每秒鐘輸出一個點(diǎn)。上位機(jī)實時曲線部分及保存數(shù)據(jù)部分如圖5-8所示。</

77、p><p><b>  系統(tǒng)總體調(diào)試</b></p><p>  首先調(diào)試CAN從節(jié)點(diǎn),用Jlink下載簡單的CAN發(fā)送程序,觀察CAN控制器的錯誤寄存器,若錯誤狀態(tài)寄存器的LEC(Last error code)位顯示Ack.Error(應(yīng)答錯誤),則說明CAN硬件連接已經(jīng)沒有問題。當(dāng)兩個節(jié)點(diǎn)連在一起的時候顯示No Error,說明CAN硬件連接正常。若顯示 Bit D

78、om. Error則說明硬件存在問題,可能是CAN控制器與收發(fā)器之間的連線焊接有問題或是CAN收發(fā)器Tja1040存在故障。CAN硬件調(diào)試如圖5-9所示,其中右上角為Jlink調(diào)試器,右下角為PT100溫度傳感器。</p><p><b>  圖5-9</b></p><p>  Delphi上位機(jī)調(diào)試如圖5-10所示</p><p><

79、b>  圖5-10</b></p><p>  Delphi上位機(jī)保存的溫度數(shù)據(jù)如圖5-11所示</p><p><b>  圖5-11</b></p><p>  SD卡中保存的數(shù)據(jù)如圖5-12所示</p><p><b>  圖5-12</b></p><p

80、><b>  結(jié)束語</b></p><p>  本文介紹基于Cortex-M3內(nèi)核的STM32F103XB和CAN總線線的多點(diǎn)溫度監(jiān)控系統(tǒng)的實現(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)對數(shù)據(jù)進(jìn)行存儲。通過軟、硬件的結(jié)合的方法實現(xiàn)數(shù)據(jù)采集與處理。參考文

81、獻(xiàn):</p><p>  [1]ARM微控制器產(chǎn)品 </p><p>  [2] 鄔寬明, CAN總線原理和應(yīng)用系統(tǒng)設(shè)計,北京航空航天大學(xué)出版社.</p><p>  [3] FATFS文件系統(tǒng)模型主頁</p><p>  [4]STM32F10xxx hardware development: getting started ,Stmicr

82、oelelectronics. </p><p>  [5]鉑金屬溫度傳感器使用說明書,北京億學(xué)通電子. </p><p>  [6]張海航,Delphi中串口通信的實現(xiàn),河南省計算中心 . </p><p><b>  指導(dǎo)教師意見</b></p><p>  注:成績按優(yōu)、良、中、合格、不合格五級分制計。<

83、;/p><p><b>  評閱人意見</b></p><p>  注:成績按優(yōu)、良、中、合格、不合格五級分制計。</p><p><b>  答辯委員會意見</b></p><p>  學(xué)院學(xué)位分委員會意見</p><p>  注:成績按優(yōu)、良、中、合格、不合格五級分制計。&l

84、t;/p><p>  畢業(yè)論文(設(shè)計)題目審批表</p><p>  學(xué)院:_物電學(xué)院(章) 系別/教研室:信號與信息處理 時間:2010年1月18日</p><p>  本科畢業(yè)論文(設(shè)計)開題報告</p><p>  論文題目: Cortex的應(yīng)用研究 </p><p>  學(xué)院名稱: 物理與電子科

85、學(xué)學(xué)院 </p><p>  專 業(yè): 電子信息工程 </p><p>  學(xué)生姓名: </p><p>  學(xué) 號: </p><p>  指導(dǎo)教師: </p><

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論