亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        用MSP430F149實(shí)現(xiàn)GPS時(shí)間數(shù)據(jù)處理及CAN總線通信系統(tǒng)

        2012-07-12 05:06:56四川九洲電器集團(tuán)公司王維維
        電子世界 2012年18期
        關(guān)鍵詞:單片機(jī)

        四川九洲電器集團(tuán)公司 王維維 昌 暢 馮 碩

        用MSP430F149實(shí)現(xiàn)GPS時(shí)間數(shù)據(jù)處理及CAN總線通信系統(tǒng)

        四川九洲電器集團(tuán)公司 王維維 昌 暢 馮 碩

        本文介紹一種使用TI的16位超低功耗單片機(jī)MSP430F149來接收GPS OEM板的時(shí)間數(shù)據(jù),進(jìn)行守時(shí)處理,并把實(shí)時(shí)時(shí)間數(shù)據(jù)通過CAN總線來對(duì)外傳輸。其中,CAN總線是利用MSP430F149單片機(jī)和獨(dú)立CAN控制器MCP2515來實(shí)現(xiàn)的。

        MSP430F149;GPS數(shù)據(jù);CAN總線;MCP2515

        一、引言

        TI的MSP430系列單片機(jī)是一種16位單片機(jī)。由于它集成度高、外圍設(shè)備豐富、超低功耗等優(yōu)點(diǎn),因此在許多領(lǐng)域內(nèi)得到了廣泛的應(yīng)用。本設(shè)計(jì)中所涉及的MSP430F149功能模塊的利用:2個(gè)串行通信接口(USART0/1)、2個(gè)16位的定時(shí)器(TimerA/B)、I/O口的一般I/O功能和P1和P2口的I/O中斷功能。

        二、CAN總線簡介

        CAN總線是一種串行數(shù)據(jù)通信協(xié)議,其通信接口集成了CAN協(xié)議的物理層和數(shù)據(jù)鏈路層功能,可完成對(duì)數(shù)據(jù)的成幀處理。CAN總線支持全雙工通信,采用對(duì)通信數(shù)據(jù)塊編碼的方式,可使網(wǎng)絡(luò)內(nèi)節(jié)點(diǎn)個(gè)數(shù)在理論上不受限制,還可使不同的節(jié)點(diǎn)同時(shí)接收到相同的數(shù)據(jù)。CAN總線以其可靠性高、通信速率快、穩(wěn)定性好、抗干擾能力強(qiáng)等特點(diǎn),成為工控領(lǐng)域中最佳的選擇。

        三、系統(tǒng)硬件設(shè)計(jì)框圖

        該系統(tǒng)硬件主要由以下幾部分組成:GPS OEM板,MCU為TI的MSP430F149,CAN總線控制器為MicroChip公司的MCP2515,CAN收發(fā)器為PHILIPS的PCA82C250,以及電源輸入與電源切換電路。具體見圖1:

        1.GPS OEM板性能與GPRMC語句

        本文所采用GPS OEM板,其輸出串行數(shù)據(jù)格式為:波特率9600,無校驗(yàn)、8個(gè)數(shù)據(jù)位、1個(gè)停止位。輸出信息設(shè)置為符合NMEA0183 VER2.0協(xié)議的ASCII碼。輸出語句為GPRMC語句,其具體數(shù)據(jù)格式為:

        $GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh

        其中,“$”表示串頭;GP為標(biāo)識(shí)符;RMC表示語句名;<1>,<2>,….,<12>為輸出語句的數(shù)據(jù)字段;“*”表示串尾;hh代表“$”和“*”之間所有字符代碼的校驗(yàn)和。所有的語句都必須以結(jié)束,即ASCII字符“回車”和“換行”。<1>表示UTC時(shí)間,格式為“hhmmss(時(shí)分秒)”,實(shí)際應(yīng)用中必須對(duì)“時(shí)”數(shù)據(jù)進(jìn)行加8處理,轉(zhuǎn)化為標(biāo)準(zhǔn)的北京時(shí)間。<2>代表定位狀態(tài)有效(“A”)或無效(“V”)。<9>為UTC日期,格式為“ddmmyy(日月年)”。

        該GPS OEM板的串行數(shù)據(jù)輸出管腳為標(biāo)準(zhǔn)CMOS邏輯電平,故可以直接與單片機(jī)的串行數(shù)據(jù)接收管腳連接,而不需另加RS-232電平轉(zhuǎn)換芯片進(jìn)行邏輯電平的轉(zhuǎn)換。

        2.MCP2515性能簡介

        完全支持CAN V2.0B技術(shù)規(guī)范,能收、發(fā)標(biāo)準(zhǔn)數(shù)據(jù)幀以及擴(kuò)展數(shù)據(jù)幀,最高通信速率為1Mb/s;

        兩個(gè)接收緩沖器,三個(gè)發(fā)送緩沖器,能對(duì)接收幀進(jìn)行屏蔽、過濾,且優(yōu)先級(jí)可編程設(shè)定。

        具有高速SPI接口(10MHz)。

        有靈活的中斷管理功能,方便數(shù)據(jù)的組織和信息的管理。

        上述這些特性,使得MCU對(duì)于CAN總線的操作變得更方便、高效。

        更多關(guān)于MCP2515芯片的描述,詳見其數(shù)據(jù)手冊(cè),在此不做詳談。

        3.電源輸入及電源切換電路

        由于本系統(tǒng)要接收GPS數(shù)據(jù),并用MCU進(jìn)行守時(shí),守時(shí)階段由電池對(duì)MCU和晶體電路進(jìn)行供電,MCP2515、GPS OEM板和PCA82C250不工作。

        非守時(shí)階段,即系統(tǒng)正常工作時(shí),所有功能模塊均由外部電源供電,電池不工作。

        電源切換電路的具體實(shí)現(xiàn)如圖2:其中D1、D2為低壓降的二極管。1K阻值的R1,其作用是當(dāng)輸入電源中的一方斷電時(shí),確保另外一方不對(duì)斷電方提供漏電壓。輸入電壓經(jīng)過DC/DC芯片TPS76030變換后,產(chǎn)生3V電壓(com_3v),對(duì)MCU和晶體電路進(jìn)行供電。其余電路部分分別由外部輸入的3.3V和5V供電。

        四、系統(tǒng)軟件模塊設(shè)計(jì)

        系統(tǒng)軟件的設(shè)計(jì)主要分三部分:MCU的UASRT1口配置為UART模塊,進(jìn)行GPS串行數(shù)據(jù)的接收和組織;MCU的TIMERA和TIMERB進(jìn)行有效時(shí)間數(shù)據(jù)的加載和守時(shí);MCU的UASRT0口配置為SPI模塊,采用三線SPI的主機(jī)模式,與MCP2515進(jìn)行數(shù)據(jù)交互,實(shí)現(xiàn)CAN總線系統(tǒng)的搭建。

        1.GPS串行數(shù)據(jù)的接收

        本部分由一個(gè)狀態(tài)機(jī)控制,為了簡化設(shè)計(jì),共分為3個(gè)狀態(tài){同步頭狀態(tài),命令頭狀態(tài),GPS數(shù)據(jù)保存、分析狀態(tài)},分別對(duì)應(yīng)于:

        (1)缺省狀態(tài):同步頭“$”搜索、捕獲狀態(tài)。

        (2)語句命令頭“GPRMC”搜索、捕獲狀態(tài)。

        (3)GPS數(shù)據(jù)信息的保存和分析狀態(tài)。

        (4)即回到狀態(tài)1,重新進(jìn)入同步頭“$”搜索、捕獲狀態(tài)。

        詳細(xì)數(shù)據(jù)處理流程見圖3:

        2.守時(shí)模塊的軟件設(shè)計(jì)

        全局變量的使用如下:hour、minute、second、day、month、year,分別作為時(shí)、分、秒、日、月、年的計(jì)數(shù)單元。cnt3125為計(jì)320us的計(jì)數(shù)單元,計(jì)3125次即為1秒。數(shù)組gps_data[55],為接收GPS數(shù)據(jù)的緩存。data_to_timerA,數(shù)據(jù)是否已經(jīng)加載完畢的標(biāo)志。gps_flag,作為GPS數(shù)據(jù)是否有效的標(biāo)志。

        主程序中,當(dāng)GPS數(shù)據(jù)有效標(biāo)志gps_flag=‘1’時(shí),把gps_data[55]對(duì)應(yīng)單元中的時(shí)間數(shù)據(jù)由ASCII碼轉(zhuǎn)換為二進(jìn)制數(shù)據(jù),并進(jìn)行“時(shí)”數(shù)據(jù)的“+8”處理后,分別加載到hour、minute、second、day、month、year中。令data_to_timerA=‘1’,通知TimerA,數(shù)據(jù)已成功加載到守時(shí)計(jì)數(shù)單元。同時(shí),打開TimerB,進(jìn)行秒輸入間隔超過1秒的超時(shí)判斷。

        使用了3個(gè)中斷:定時(shí)器TimerA和TimerB中斷,還有GPS秒輸入信號(hào)中斷。

        TimerA中斷主要是完成模塊守時(shí),并實(shí)時(shí)產(chǎn)生秒輸出信號(hào)。

        TimerB中斷是完成GPS秒輸入信號(hào)間隔大于1秒的處理。當(dāng)秒間隔超過1秒時(shí),令data_to_timerA=‘0’,清除GPS有效數(shù)據(jù)加載標(biāo)志。

        GPS秒輸入信號(hào)中斷,當(dāng)data_to_timerA=‘1’時(shí),對(duì)cnt3125計(jì)數(shù)單元清零,清除timerA計(jì)數(shù)初值,然后啟動(dòng)timerA,進(jìn)行“增計(jì)數(shù)”,同時(shí)產(chǎn)生秒輸出信號(hào),最后令data_to_timerA=‘0’。

        GPS數(shù)據(jù)與秒輸入信號(hào)共有4種可能的情形:

        (1)GPS數(shù)據(jù)有效,GPS秒輸入有效,見圖4:

        (2)GPS數(shù)據(jù)有效,GPS秒輸入無效,見圖5:

        (3)GPS數(shù)據(jù)無效,GPS秒輸入無效,見圖6:

        (4)GPS數(shù)據(jù)無效,GPS秒信號(hào)輸入有效:其具體處理同第3種情形,即TimerA持續(xù)“開”,進(jìn)行基本秒單元的計(jì)時(shí)和時(shí)、分、日、月、年單元的計(jì)數(shù)守時(shí)。同時(shí)實(shí)時(shí)產(chǎn)生GPS秒輸出信號(hào)。TimerB一直關(guān)閉,不工作。

        3.CAN總線部分的軟件設(shè)計(jì)

        圖1 系統(tǒng)硬件設(shè)計(jì)框圖

        圖2 系統(tǒng)電源輸入及電源切換電路

        圖3 UART1接收中斷數(shù)據(jù)處理流程圖

        MCU通過SPI總線與MCP2515進(jìn)行接口,其數(shù)據(jù)傳輸速率設(shè)為1.6Mbps。MCU通過SPI的“串口發(fā)送中斷”來對(duì)MCP2515進(jìn)行寫操作,通過“查詢”的方式來獲得MCP2515的狀態(tài)信息以及數(shù)據(jù)信息。本系統(tǒng)中,CAN數(shù)據(jù)速率設(shè)置為1Mbps。

        MCU對(duì)MCP2515的數(shù)據(jù)接收:當(dāng)MCP2515的接收緩沖器中接收滿CAN數(shù)據(jù)時(shí),在MCP2515的/INT管腳產(chǎn)生中斷信號(hào),通過MCU的I/O口中斷來得知CAN數(shù)據(jù)已接收好,即時(shí)把CAN數(shù)據(jù)接收到MCU。

        MCU對(duì)MCP2515的數(shù)據(jù)發(fā)送:只需要被發(fā)送的信息幀傳送到CAN的發(fā)送緩沖器,然后傳送一條“請(qǐng)求發(fā)送”指令,啟動(dòng)數(shù)據(jù)的發(fā)送。

        該模塊通信軟件由3部分組成:MCP2515初始化、CAN數(shù)據(jù)接收、CAN數(shù)據(jù)發(fā)送。

        圖4 GPS數(shù)據(jù)有效,GPS秒輸入有效

        圖5 GPS數(shù)據(jù)有效,GPS秒輸入無效

        圖6 GPS數(shù)據(jù)無效,GPS秒輸入無效

        圖7 CAN數(shù)據(jù)接收流程圖

        圖8 CAN數(shù)據(jù)發(fā)送流程圖

        (1)MCP2515的初始化:

        主要完成CAN的通信速率設(shè)置、接收寄存器設(shè)置、ID屏蔽寄存器和ID過濾寄存器設(shè)置以及CAN收/發(fā)中斷功能的設(shè)置。MCU對(duì)MCP2515所有寄存器的操作,都必須通過SPI接口,用MCP2515內(nèi)置的讀寫命令來完成。

        因?yàn)镸CP2515初始化完成后,默認(rèn)處于“配置”模式,所以需要在初始化完成后,將其置為“正常”模式,否則MCP2515將一直停留于“配置”模式,而無法正常工作。

        (2)CAN數(shù)據(jù)的接收:

        MCU調(diào)用函數(shù)ReceiveMsg(),功能為:驗(yàn)收、濾波正確之后,收到的信息自動(dòng)存放在MCP2515的接收緩沖中,由MCP2515產(chǎn)生中斷,通知MCU進(jìn)行CAN數(shù)據(jù)的接收和后續(xù)處理。其詳細(xì)流程見圖7:

        (3)CAN數(shù)據(jù)的發(fā)送:

        MCU組織好要發(fā)送到CAN總線的數(shù)據(jù)后,發(fā)送一條“讀狀態(tài)”命令,來判斷MCP2515把前面一條報(bào)文是否已發(fā)送完畢。若前一條報(bào)文已發(fā)送完成,則調(diào)用發(fā)送函數(shù)SendMsg(),功能為:把待發(fā)送數(shù)據(jù)裝載到MCP2515的數(shù)據(jù)發(fā)送緩沖,把待發(fā)數(shù)據(jù)的長度DLC、報(bào)文發(fā)送優(yōu)先級(jí)、相應(yīng)的節(jié)點(diǎn)ID信息依次裝載到MCP2515的對(duì)應(yīng)寄存器后,最后發(fā)送一條“數(shù)據(jù)發(fā)送請(qǐng)求”命令,來啟動(dòng)數(shù)據(jù)向CAN總線的發(fā)送。

        具體的數(shù)據(jù)發(fā)送流程圖見圖8:

        4.守時(shí)時(shí)間數(shù)據(jù)與CAN總線的數(shù)據(jù)交互

        MCU的主程序中,檢測到can_flag=‘1’,就轉(zhuǎn)而進(jìn)行已接收CAN數(shù)據(jù)的分析。當(dāng)發(fā)現(xiàn)CAN總線傳來的命令是要求守時(shí)模塊進(jìn)行時(shí)間傳輸時(shí),立即組織相應(yīng)的時(shí)間數(shù)據(jù),并通過CAN總線發(fā)送出去。

        五、結(jié)束語

        經(jīng)實(shí)踐證明,該系統(tǒng)能很好的完成GPS OEM板數(shù)據(jù)的接收、超低功耗MCU的軟件守時(shí)以及與CAN總線的數(shù)據(jù)交互工作。軟件全部采用C語言進(jìn)行編寫,具有較強(qiáng)的通用性、擴(kuò)展性和可移植性。

        [1]秦龍.MSP430單片機(jī)C語言應(yīng)用程序設(shè)計(jì)實(shí)例精講[M].電子工業(yè)出版社,2006.

        [2]陳桂珍.利用MATLAB實(shí)現(xiàn)GPS OEM板與計(jì)算機(jī)的通訊及信息處理[J].鹽城工學(xué)院學(xué)報(bào),2006.

        [3]鄔寬明.CAN總線原理和應(yīng)用系統(tǒng)設(shè)計(jì)[J].北京航空航天大學(xué)出版社,1996.

        [4]王繼國.CAN總線控制器MCP2515的原理及應(yīng)用[J].電測與儀表,2004.

        王維維(1980—),男,陜西人,2002年畢業(yè)于武漢大學(xué),主要從事電子信息方面工作。

        昌暢(1987—),男,重慶人,2009年畢業(yè)于四川大學(xué),主要從事電子信息方面工作。

        馮碩(1984—),男,四川人,2007年畢業(yè)于電子科技大學(xué),主要從事電子信息方面工作。

        猜你喜歡
        單片機(jī)
        基于單片機(jī)的SPWM控制逆變器的設(shè)計(jì)與實(shí)現(xiàn)
        電子制作(2019年13期)2020-01-14 03:15:28
        基于單片機(jī)的層次漸變暖燈的研究
        電子制作(2019年15期)2019-08-27 01:12:10
        基于單片機(jī)的多功能智能插排
        電子制作(2019年11期)2019-07-04 00:34:48
        基于單片機(jī)的便捷式LCF測量儀
        電子制作(2019年9期)2019-05-30 09:42:02
        小議PLC與單片機(jī)之間的串行通信及應(yīng)用
        電子制作(2018年12期)2018-08-01 00:48:04
        MSP430單片機(jī)在仿真中要注意的幾點(diǎn)問題
        電子制作(2017年9期)2017-04-17 03:00:53
        基于單片機(jī)的平衡控制系統(tǒng)設(shè)計(jì)
        電子制作(2017年19期)2017-02-02 07:08:27
        基于單片機(jī)的三維LED點(diǎn)陣設(shè)計(jì)
        電子制作(2016年21期)2016-05-17 03:52:51
        Microchip推出兩個(gè)全新PIC單片機(jī)系列
        基于Proteus的單片機(jī)控制系統(tǒng)的仿真設(shè)計(jì)
        99re66在线观看精品免费| 免费观看久久精品日本视频| 一区二区三区午夜视频在线观看| 日韩av一区二区不卡在线| 18国产精品白浆在线观看免费| 丰满熟女人妻中文字幕免费| 一本大道久久a久久综合| 久久久国产精品三级av| 国产精品毛片无遮挡高清| 特级av毛片免费观看| 国产精品亚洲专区在线播放| 国产一区二区美女主播| 国产精品国产亚洲精品看不卡| 少妇人妻偷人精品免费视频| 无码一区东京热| 精品国产色哟av一区二区三区 | 久久精品中文闷骚内射| 免费做爰猛烈吃奶摸视频在线观看| 中文字幕无码免费久久9| 免费人成网站在线视频| 乱中年女人伦av一区二区| 亚洲精品第一页国产精品| 手机av在线观看视频| 国产女人精品视频国产灰线| 婷婷色中文字幕综合在线| 国产91第一页| 亚洲精品女同一区二区三区| 人妻少妇偷人精品无码| 欧美精品中文字幕亚洲专区| 久久综合久中文字幕青草| 欧美精品欧美人与动人物牲交 | 国产人妻精品一区二区三区不卡 | 强迫人妻hd中文字幕| 亚洲欧美中文字幕5发布| 欧美性受xxxx黑人xyx性爽| 久久精品国产视频在热| 手机看片自拍偷拍福利| 色婷婷综合久久久久中文| 中文字幕av无码一区二区三区电影 | 国产a在亚洲线播放| 久久久精品久久日韩一区综合|