LIN總線多點(diǎn)測(cè)溫采集系統(tǒng)_第1頁(yè)
LIN總線多點(diǎn)測(cè)溫采集系統(tǒng)_第2頁(yè)
LIN總線多點(diǎn)測(cè)溫采集系統(tǒng)_第3頁(yè)
LIN總線多點(diǎn)測(cè)溫采集系統(tǒng)_第4頁(yè)
LIN總線多點(diǎn)測(cè)溫采集系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩22頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、單片機(jī)與總線技術(shù)報(bào)告作品名稱:LIN總線多點(diǎn)測(cè)溫采集系統(tǒng)二0一六年十二月二十七日目錄TOC o 1-5 h z HYPERLINK l bookmark12 o Current Document 摘要2 HYPERLINK l bookmark14 o Current Document 一.緒論:3目的與功能系統(tǒng)設(shè)計(jì)介紹4 HYPERLINK l bookmark16 o Current Document 2.1設(shè)計(jì)目的:4 HYPERLINK l bookmark18 o Current Document 2.2功能介紹:4 HYPERLINK l bookmark20 o Current

2、Document 原理硬件設(shè)計(jì)步驟與原理6 HYPERLINK l bookmark22 o Current Document 3.1硬件設(shè)計(jì)原理:6DS18B20工作原理11程序TOC o 1-5 h z4.1lin程序12 HYPERLINK l bookmark32 o Current Document 4.2主機(jī)程序13 HYPERLINK l bookmark34 o Current Document 4.3叢機(jī)1程序16171819204.4從機(jī)2程序設(shè)計(jì)結(jié)果心得體會(huì)參考文獻(xiàn)摘要本設(shè)計(jì)是以單片機(jī)STM32F03為主控制器,通過(guò)傳感器采集數(shù)據(jù)和LCD1602液晶屏顯示數(shù)據(jù)。場(chǎng)總線接口

3、卡由LIN總線控制器SJA1000,總線驅(qū)動(dòng)器PCA82C250組成,系統(tǒng)上位機(jī)通信主要由CAN-RS232通信接口組成。RS232適配卡由轉(zhuǎn)換芯MAX232搭建,MAX232是AXIM公司生產(chǎn)的一種雙組驅(qū)動(dòng)/接收器芯片,采用此芯片接口的串行通信系統(tǒng)只需單一的+5V電源即可。溫度采集控制節(jié)點(diǎn)部分主要有離子式煙霧傳感器和火焰?zhèn)鞲衅鲗?shí)現(xiàn)系統(tǒng)的數(shù)據(jù)采集,節(jié)點(diǎn)控制器選擇ATM公司生產(chǎn)的單片機(jī)STM32F107。節(jié)點(diǎn)控制器可以通過(guò)單線驅(qū)動(dòng)火焰?zhèn)鞲衅骱蜔熿F傳感器,形成復(fù)合式信號(hào)采集控制系統(tǒng)。基于LIN總線的多點(diǎn)測(cè)溫采集技術(shù)系統(tǒng),設(shè)計(jì)的關(guān)鍵在于LIN總線與現(xiàn)場(chǎng)節(jié)點(diǎn)控制器適配卡的軟、硬件設(shè)計(jì);上位機(jī)(PC機(jī))

4、和下位機(jī)(節(jié)點(diǎn)控制器)間CAN-RS232通信適配卡設(shè)計(jì);溫度采集控制節(jié)點(diǎn)設(shè)計(jì)。通過(guò)實(shí)際運(yùn)行表明,該系統(tǒng)具有容量大、通信距離遠(yuǎn)、數(shù)據(jù)傳輸速度快、組網(wǎng)方便等優(yōu)點(diǎn)。LIN將成為層級(jí)式機(jī)動(dòng)車網(wǎng)絡(luò)執(zhí)行的一個(gè)可行性因素,能夠提高質(zhì)量、降低車輛成本。關(guān)鍵詞:LIN總線;通信;節(jié)點(diǎn);多點(diǎn)測(cè)溫;STM32F107。一.緒論:隨著汽車電子業(yè)的飛速發(fā)展,車輛上的電子裝置越來(lái)越多,電子裝置之間的通信技術(shù)也越來(lái)越先進(jìn)。傳統(tǒng)的電器系統(tǒng)大多采用點(diǎn)對(duì)點(diǎn)的單一通信方式,相互之間少有聯(lián)系,這樣必然造成布線系統(tǒng)龐大,因而現(xiàn)代車輛上的電子系統(tǒng)廣泛采用網(wǎng)絡(luò)技術(shù)來(lái)實(shí)現(xiàn)彼此之間的通信。1998年,汽車制造商奧迪公司、寶馬公司、戴姆勒克萊

5、斯勒公司、沃爾沃汽車公司、大眾汽車公司、通信領(lǐng)域的專業(yè)廠商火山通信技術(shù)公司以及半導(dǎo)體生產(chǎn)商摩托羅拉公司共同創(chuàng)建了LIN(LocalInterconnectNetwork)協(xié)會(huì),其目的是為汽車網(wǎng)絡(luò)系統(tǒng)提供一個(gè)開(kāi)放的A類(數(shù)據(jù)傳輸位速率通常小于10kb/sv的低速車身網(wǎng)絡(luò))串行總線通信標(biāo)準(zhǔn),允許在此基礎(chǔ)上開(kāi)發(fā)汽車低端網(wǎng)絡(luò)系統(tǒng),并且不需要使用者支持使用費(fèi)用或版稅。設(shè)計(jì)目的:通過(guò)課程設(shè)計(jì)更進(jìn)一步掌握STM32F107處理器原理及傳感器的有關(guān)知識(shí),提高應(yīng)用STM32F107處理器和傳感器解決問(wèn)題的能力,加深對(duì)STM32F107處理器和傳感器應(yīng)用的理解,進(jìn)一步提高對(duì)硬件的操作和理解。通過(guò)查閱資料,結(jié)合所學(xué)

6、知識(shí)進(jìn)行軟、硬件的設(shè)計(jì),初步掌握應(yīng)用STM32F107處理器和傳感器解決問(wèn)題的步驟及方法,對(duì)基本論文格式和寫作方法的掌握。功能介紹:總線:LIN總線元器件:DS18B20以STM32F107為主芯片的開(kāi)發(fā)板實(shí)現(xiàn)方案:本設(shè)計(jì)實(shí)現(xiàn)的功能是多點(diǎn)溫度采集。DS18B20采用全數(shù)字化方案,采用先進(jìn)的數(shù)字化及網(wǎng)絡(luò)技術(shù),采集模塊自動(dòng)識(shí)別外傳感器類型,數(shù)目;多點(diǎn)溫度檢測(cè),多點(diǎn)信號(hào)集中檢測(cè)處理,基于C0RTEXM3平臺(tái)的組態(tài),軟件技術(shù),可根據(jù)不同要求方便快速的顯示溫度。以嵌入式ARM處理器STM32F107VC為核心結(jié)合無(wú)線通信和溫度檢測(cè)技術(shù),設(shè)計(jì)了一套多點(diǎn)溫度同步采集系統(tǒng)。LIN是一種串行通信協(xié)議,能夠有效地

7、支持分布式汽車應(yīng)用領(lǐng)域內(nèi)的機(jī)電一體化節(jié)點(diǎn)控制。LIN總線的主要屬性如下:擁有多從機(jī)概念的單主機(jī)基于通用UART/SCI接口硬件的低成本硅的實(shí)現(xiàn)。UART/SCI接口硬件相當(dāng)于軟件中的一個(gè)等同體,或可以作為純態(tài)機(jī)。從機(jī)節(jié)點(diǎn)不需石英或陶瓷振蕩器就能實(shí)現(xiàn)自同步信號(hào)傳播時(shí)間可預(yù)先計(jì)算出來(lái)的確定性信號(hào)傳播實(shí)現(xiàn)低成本單線實(shí)現(xiàn)方式傳輸速率最高可達(dá)20Kb/s基于應(yīng)用交互的信號(hào)原理硬件設(shè)計(jì)步驟與原理3.1硬件設(shè)計(jì)原理:STI32ri&3ZIT6主控芯片SDIJJdJ.lfn3tEJS.ft昭gldJKrase.=diKVIALCDELI曲TCS.BOO7lA:三耳A孟i=ri二PTSdJIMETVSIXIOl

8、WeZKZinA:!HiH!BLI二M.ZDIM仙二龍irri-Lrcz畑no1Ixsao-tsakiz?_3mn.if_M口UiHZHBT32CIZ;_K1mj_ZH:TZC.CK1AIT3A3.T7XiOCI=_IS:HfJZGTSEJGWaTUXOCIUJE:Hf_Q4nLE3阿兀:衛(wèi)幷胡肛16SAJSrnSZKAZCEADC1X5WJSmjXMm_M3C.UI:LB3ZZ.-R_C35SATEmjyOST3UWjOCIJJCTXG.CS:沁:3CLdJ5LFg!MMy1sM.7LZK.nii_,c.mi_aG:站門iai:nAzn.m口Mxm.uiHcu1AI:HAZTi_mC42CX

9、TZ1!_1T1H31A!EEPH俶ra-Ej:lAi5JIIEjS_M5ZE_i1幣耄纂ifTIFVAtZLIZCDt點(diǎn):也g或L5B_DJ5-LC!CaiTiSSSF諾oI亠r*.s_-鼻r:口3CQ宜3cQ3cKrK5BE!43c3caHFNET2Fss7S13OilliI:K.XJsiXA?3!FFXIX!fsxkH11!1NjbEflK應(yīng)iaQSiH17F皿崗fS13rSldCEi尿T;SFidC理品13型ICF11FIXISJ匸1:FSiKEflFSiKrCSOLCDBLD14D12DIOD8D6D4D2DOQiPNPMEijiGNDTFT液晶屏接口FFFhterhlhr5V|QH

10、QN5CJM口Od豈GNICP2LC2E-F4CP2LGDKiVDD”610uI/i5齊LEHlLED1GNDR5C1-3KD5丿A-惻|l,GKELEDUSBII轉(zhuǎn)串【ITHLFE5RE5D4LEDGNDIR16W1.5KR19NC:RJCDiTXD11dAUSB-CQM2JOR自定義LED指示燈PBD節(jié)點(diǎn)能力文件從機(jī)從機(jī)從機(jī)11/設(shè)計(jì)Lin描述文件系統(tǒng)生成器系統(tǒng)定義文字主機(jī)3.2li總線原理主機(jī)和叢機(jī):LIN機(jī)群由1個(gè)主機(jī)任務(wù)和幾個(gè)叢機(jī)任務(wù)組成,主節(jié)點(diǎn)同時(shí)包含主機(jī)任務(wù)和叢機(jī)任務(wù).其他的所有節(jié)點(diǎn)只包括一個(gè)叢機(jī)任務(wù)主任務(wù)會(huì)指定在總線傳送的幀的類型和時(shí)間,叢機(jī)任務(wù)提供數(shù)據(jù),由每個(gè)幀來(lái)傳送.主機(jī)任

11、務(wù)和叢機(jī)任務(wù)都是幀處理器的一部分.主機(jī)任務(wù)狀態(tài)機(jī):主機(jī)任務(wù)負(fù)責(zé)生成正確的幀頭,根據(jù)進(jìn)度表決定哪個(gè)幀應(yīng)該被發(fā)送,并維持幀之間的正確定時(shí),主機(jī)任務(wù)狀態(tài)機(jī)如圖:叢機(jī)任務(wù)狀態(tài)機(jī):當(dāng)叢機(jī)任務(wù)充當(dāng)發(fā)布服務(wù)器的角色的時(shí)候,他才負(fù)責(zé)發(fā)送幀的響應(yīng);且當(dāng)叢機(jī)任務(wù)是認(rèn)購(gòu)器時(shí),它才負(fù)責(zé)接收幀的響應(yīng),叢機(jī)任務(wù)有兩個(gè)狀態(tài)機(jī)模型.datatreidcheckcum圖1-2LIN報(bào)文幀syncbreaksyncEbitfieldIctentilierMESSAGEFRAMEinler-rramespaceBREAKSYkCHvvJCi-DENTBEAKFIELDFIELDin-frameTesporr&espaceHEADE

12、RRESPONSEDATASMVDAnA/CHECKSUMFIELDFILOFlELl/FIELDLIN信息傳輸過(guò)程UN從機(jī)向主機(jī)傳輸數(shù)據(jù)示如劉仁3所示,整個(gè)過(guò)程在主機(jī)豹協(xié)調(diào)下進(jìn)行,曲怕froiv.乩ahrrasiFrrasten&feUNmrtjnd*Llblsb陽(yáng)幻N畋mLINstavefutictIraniidentrfjesynchfieldu.unin.nnnwlhIJ*PWWB8WIIM1Ul曲也byte曲們b/tEeheeksunisynchtfeiksa陽(yáng)n(ieLN曲応Ltk僦tntstewladitana1-3從機(jī)向主機(jī)傳增數(shù)據(jù)STM32主機(jī)就發(fā)送iJai41vlynchi

13、flSdnvrH-hbmaftZUX丄廠1ALW丄肛L*嚴(yán)L和riu11“Irih“in】Thn7jatlflb0;num-)temp=temp+*chk8;chk8+;/求到所有字節(jié)的和return(0 xff-temp);/求字節(jié)和反碼并返回/發(fā)送數(shù)據(jù)函數(shù)voidLIN_Send_data(u8*temp,u8num)u8m,n;/m是發(fā)送字節(jié)的個(gè)數(shù),n是暫時(shí)存放校驗(yàn)和的for(m=0;mn;m+)USART_SendData(USART2,*temp);while(USART_GetFlagStatus(USART2,USART_FLAG_TXE)=RESET);USART_DataRe

14、ceived=1;temp+;temp=temp-num;/再指向首地址n二check_sum(temp,num);/求這8個(gè)數(shù)據(jù)的校驗(yàn)和USART_SendData(USART2,n);/發(fā)送校驗(yàn)和while(USART_GetFlagStatus(USART2,USART_FLAG_TXE)=RESET);USART_DataReceived=1;4.2主機(jī)程序#includepbdata.hvoidRCC_Configuration(void);voidLED_GPIO(void);u8flag=0;u16temp1=0;u16temp2=0;/顯示屏顯示constuint8_ta=We

15、lcometotheconstuint8_td=temperaturemeasurementconstuint8_te=systembasedconstuint8_tf=onlinbusconstuint8_tg=Thehostconstuint8_tb=NO.1:degree;constuint8_tc=NO.2:degree;intmain(void)/系統(tǒng)時(shí)鐘初始/串口初始化/FSMC初始化/LCD初始化/延時(shí)/清屏RCC_Configuration();USART_Configuration();GPIO_KEY_Configuration();LED_GPIO();FSMC_Conf

16、iguration();LCD_ILI9325_Init();delay_ms(1000);LCD_ILI9325_CLEAR(BLACK);delay_ms(10);LCD_DispStr_X(0,10,(u8*)a,GREEN,BLACK);LCD_DispStr_X(0,30,(u8*)d,GREEN,BLACK);LCD_DispStr_X(0,50,(u8*)e,GREEN,BLACK);LCD_DispStr_X(0,70,(u8*)f,GREEN,BLACK);LCD_DispStr_X(0,100,(u8*)g,RED,BLACK);while(1)delay_ms(400);

17、LCD_DispStr_X(15,140,(u8*)b,BLUEQ,BLACK);LCD_DispStr_X(15,180,(u8*)c,BLUEQ,BLACK);LCD_DispNum_X(95,140,(u8)temp1,GREEN,BLACK);LCD_DispNum_X(95,180,(u8)temp2,GREEN,BLACK);if(GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_5)=Bit_RESET)delay_ms(60);if(GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_5)=Bit_RESET)GPIO_ResetB

18、its(GPIOD,GPIO_Pin_6);delay_ms(500);GPIO_SetBits(GPIOD,GPIO_Pin_6);delay_ms(500);USART_SendBreak(USART2);/發(fā)送同步間隔字段while(USART_GetFlagStatus(USART2,USART_FLAG_TXE)=RESET);/等待發(fā)delays(2)-USARTsendDa-+a(USARTN0X55)流濟(jì)回注西swhile(USARTGe-tFlags-ta-+us(USARTNUSARTFLAGTXE)PRESET)-/7春流delays(2)-USARTsendDaca(U

19、SARTN0X10)、流濟(jì)IDwhile(USARTGe-tFlags-ta-+us(USARTNUSARTFLAGTXE)PRESET)-/7春流delays(2)-USARTsendDar+a(USARTN0X1A)、流濟(jì)齊awhile(USARTGe-tFlags-ta-+us(USARTNUSARTFLAGTXE)PRESET)-/7春流濟(jì)海&GPIOReser+Bi-+s(GPIOPGPIOpin6)-delays(500)-GPIOse-tBir+s(GPIOPGPIOpin6)-delays(500)-if(GPIOReadInpu-+Dar+aBi-+(GPIOaGPIOpin

20、l)NBir+RESET)delays(60)-if(GPIOReadInpu-+Dar+aBi-+(GPIOaGPIOpinl)NBir+RESET)GPIOReser+Bi-+s(GPIOPGPIOpin6)-delays(500)-GPIOse-tBir+s(GPIOPGPIOpin6)-delays(500)-USARTsendBreak(USART2)-while(USARTGe-tFlags-ta-+us(USARTNUSARTFLAGTXE)PRESET)-delays(2)-USARTsendDa-+a(USARTN0X55)-while(USARTGe-tFlags-ta-+

21、us(USARTNUSARTFLAGTXE)PRESET)-delays(2)-USARTsendDaca(USARTN0X10)-while(USARTGe-tFlags-ta-+us(USARTNUSARTFLAGTXE)PRESET)-delays(2)-USART_SendData(USART2,0 x2A);while(USART_GetFlagStatus(USART2,USART_FLAG_TXE)=RESET);GPIO_ResetBits(GPIOD,GPIO_Pin_6);delay_ms(500);GPIO_SetBits(GPIOD,GPIO_Pin_6);delay_

22、ms(500);4.3叢機(jī)1程序stm32f10 x_it.cexternu8flag;voidUSART1_IRQHandler(void)u8ch;if(USART_GetFlagStatus(USART1,USART_IT_RXNE)!=RESET)/查看是不是接收數(shù)據(jù)中斷USART_ITConfig(USART1,USART_IT_RXNE,DISABLE);/失能接收中斷ch=USART_ReceiveData(USART1);/返回最近USART1接收到得數(shù)據(jù)USART_ITConfig(USART1,USART_IT_RXNE,ENABLE);/使能接收中斷USART_Clear

23、ITPendingBit(USART1,USART_IT_RXNE);voidUSART2_IRQHandler(void)u8str1;str1=0;if(USART_GetFlagStatus(USART2,USART_IT_RXNE)!=RESET)/查看是不是接收數(shù)據(jù)中斷USART_ITConfig(USART2,USART_IT_RXNE,DISABLE);/失能接收中斷str1=USART_ReceiveData(USART2);/返回最近USART2接收到得數(shù)據(jù)USART_SendData(USART1,str1);while(USART_GetFlagStatus(USART2

24、,USART_FLAG_TXE)=RESET);if(str1=0 x55)delay_ms(2);str1=USART_ReceiveData(USART2);if(str1=0 x10)USART_SendData(USART1,str1);while(USART_GetFlagStatus(USART2,USART_FLAG_TXE)=RESET);delay_ms(2);str1=USART_ReceiveData(USART2);if(str1=0 x1A)flag=1;USART_SendData(USART1,str1);while(USART_GetFlagStatus(USA

25、RT2,USART_FLAG_TXE)=RESET);str1=USART_ReceiveData(USART2);GPIO_ResetBits(GPIOD,GPIO_Pin_6);delay_ms(500);GPIO_SetBits(GPIOD,GPIO_Pin_6);delay_ms(500);USART_ITConfig(USART2,USART_IT_RXNE,ENABLE);/使能接收中斷USART_ClearITPendingBit(USART2,USART_IT_RXNE);4.4從機(jī)2程序voidUSART2_IRQHandler(void)u8str1;str1=0;if(U

26、SART_GetFlagStatus(USART2,USART_IT_RXNE)!=RESET)/查看是不是接收數(shù)據(jù)中斷USART_ITConfig(USART2,USART_IT_RXNE,DISABLE);/使能接收中斷str1=USART_ReceiveData(USART2);/返回最近USART2接受的數(shù)據(jù)USART_SendData(USART1,str1);while(USART_GetFlagStatus(USART2,USART_FLAG_TXE)=RESET);if(str1=0 x55)delay_ms(2);str1=USART_ReceiveData(USART2);

27、if(str1=0 x10)USART_SendData(USART1,str1);while(USART_GetFlagStatus(USART2,USART_FLAG_TXE)=RESET);delay_ms(2);str1=USART_ReceiveData(USART2);if(str1=0 x2A)flag=1;USART_SendData(USART1,str1);while(USART_GetFlagStatus(USART2,USART_FLAG_TXE)=RESET);str1=USART_ReceiveData(USART2);GPIO_ResetBits(GPIOD,GPIO_Pin_6);delay_ms(500)

溫馨提示

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

評(píng)論

0/150

提交評(píng)論