999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

用MSP430F149實現GPS時間數據處理及CAN總線通信系統

2012-07-12 05:06:56四川九洲電器集團公司王維維
電子世界 2012年18期
關鍵詞:單片機

四川九洲電器集團公司 王維維 昌 暢 馮 碩

用MSP430F149實現GPS時間數據處理及CAN總線通信系統

四川九洲電器集團公司 王維維 昌 暢 馮 碩

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

MSP430F149;GPS數據;CAN總線;MCP2515

一、引言

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

二、CAN總線簡介

CAN總線是一種串行數據通信協議,其通信接口集成了CAN協議的物理層和數據鏈路層功能,可完成對數據的成幀處理。CAN總線支持全雙工通信,采用對通信數據塊編碼的方式,可使網絡內節點個數在理論上不受限制,還可使不同的節點同時接收到相同的數據。CAN總線以其可靠性高、通信速率快、穩定性好、抗干擾能力強等特點,成為工控領域中最佳的選擇。

三、系統硬件設計框圖

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

1.GPS OEM板性能與GPRMC語句

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

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

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

該GPS OEM板的串行數據輸出管腳為標準CMOS邏輯電平,故可以直接與單片機的串行數據接收管腳連接,而不需另加RS-232電平轉換芯片進行邏輯電平的轉換。

2.MCP2515性能簡介

完全支持CAN V2.0B技術規范,能收、發標準數據幀以及擴展數據幀,最高通信速率為1Mb/s;

兩個接收緩沖器,三個發送緩沖器,能對接收幀進行屏蔽、過濾,且優先級可編程設定。

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

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

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

更多關于MCP2515芯片的描述,詳見其數據手冊,在此不做詳談。

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

由于本系統要接收GPS數據,并用MCU進行守時,守時階段由電池對MCU和晶體電路進行供電,MCP2515、GPS OEM板和PCA82C250不工作。

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

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

四、系統軟件模塊設計

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

1.GPS串行數據的接收

本部分由一個狀態機控制,為了簡化設計,共分為3個狀態{同步頭狀態,命令頭狀態,GPS數據保存、分析狀態},分別對應于:

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

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

(3)GPS數據信息的保存和分析狀態。

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

詳細數據處理流程見圖3:

2.守時模塊的軟件設計

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

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

使用了3個中斷:定時器TimerA和TimerB中斷,還有GPS秒輸入信號中斷。

TimerA中斷主要是完成模塊守時,并實時產生秒輸出信號。

TimerB中斷是完成GPS秒輸入信號間隔大于1秒的處理。當秒間隔超過1秒時,令data_to_timerA=‘0’,清除GPS有效數據加載標志。

GPS秒輸入信號中斷,當data_to_timerA=‘1’時,對cnt3125計數單元清零,清除timerA計數初值,然后啟動timerA,進行“增計數”,同時產生秒輸出信號,最后令data_to_timerA=‘0’。

GPS數據與秒輸入信號共有4種可能的情形:

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

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

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

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

3.CAN總線部分的軟件設計

圖1 系統硬件設計框圖

圖2 系統電源輸入及電源切換電路

圖3 UART1接收中斷數據處理流程圖

MCU通過SPI總線與MCP2515進行接口,其數據傳輸速率設為1.6Mbps。MCU通過SPI的“串口發送中斷”來對MCP2515進行寫操作,通過“查詢”的方式來獲得MCP2515的狀態信息以及數據信息。本系統中,CAN數據速率設置為1Mbps。

MCU對MCP2515的數據接收:當MCP2515的接收緩沖器中接收滿CAN數據時,在MCP2515的/INT管腳產生中斷信號,通過MCU的I/O口中斷來得知CAN數據已接收好,即時把CAN數據接收到MCU。

MCU對MCP2515的數據發送:只需要被發送的信息幀傳送到CAN的發送緩沖器,然后傳送一條“請求發送”指令,啟動數據的發送。

該模塊通信軟件由3部分組成:MCP2515初始化、CAN數據接收、CAN數據發送。

圖4 GPS數據有效,GPS秒輸入有效

圖5 GPS數據有效,GPS秒輸入無效

圖6 GPS數據無效,GPS秒輸入無效

圖7 CAN數據接收流程圖

圖8 CAN數據發送流程圖

(1)MCP2515的初始化:

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

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

(2)CAN數據的接收:

MCU調用函數ReceiveMsg(),功能為:驗收、濾波正確之后,收到的信息自動存放在MCP2515的接收緩沖中,由MCP2515產生中斷,通知MCU進行CAN數據的接收和后續處理。其詳細流程見圖7:

(3)CAN數據的發送:

MCU組織好要發送到CAN總線的數據后,發送一條“讀狀態”命令,來判斷MCP2515把前面一條報文是否已發送完畢。若前一條報文已發送完成,則調用發送函數SendMsg(),功能為:把待發送數據裝載到MCP2515的數據發送緩沖,把待發數據的長度DLC、報文發送優先級、相應的節點ID信息依次裝載到MCP2515的對應寄存器后,最后發送一條“數據發送請求”命令,來啟動數據向CAN總線的發送。

具體的數據發送流程圖見圖8:

4.守時時間數據與CAN總線的數據交互

MCU的主程序中,檢測到can_flag=‘1’,就轉而進行已接收CAN數據的分析。當發現CAN總線傳來的命令是要求守時模塊進行時間傳輸時,立即組織相應的時間數據,并通過CAN總線發送出去。

五、結束語

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

[1]秦龍.MSP430單片機C語言應用程序設計實例精講[M].電子工業出版社,2006.

[2]陳桂珍.利用MATLAB實現GPS OEM板與計算機的通訊及信息處理[J].鹽城工學院學報,2006.

[3]鄔寬明.CAN總線原理和應用系統設計[J].北京航空航天大學出版社,1996.

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

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

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

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

猜你喜歡
單片機
基于單片機的SPWM控制逆變器的設計與實現
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的多功能智能插排
電子制作(2019年11期)2019-07-04 00:34:48
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
小議PLC與單片機之間的串行通信及應用
電子制作(2018年12期)2018-08-01 00:48:04
MSP430單片機在仿真中要注意的幾點問題
電子制作(2017年9期)2017-04-17 03:00:53
基于單片機的平衡控制系統設計
電子制作(2017年19期)2017-02-02 07:08:27
基于單片機的三維LED點陣設計
電子制作(2016年21期)2016-05-17 03:52:51
Microchip推出兩個全新PIC單片機系列
基于Proteus的單片機控制系統的仿真設計
主站蜘蛛池模板: 色窝窝免费一区二区三区 | 久久婷婷综合色一区二区| 国产在线欧美| 欧美成人区| 成年人免费国产视频| 热99精品视频| 97人妻精品专区久久久久| 日韩无码一二三区| 亚洲精品综合一二三区在线| 国产jizz| 22sihu国产精品视频影视资讯| 在线中文字幕日韩| www.youjizz.com久久| 精品视频一区二区三区在线播| 凹凸国产熟女精品视频| 精品一区二区久久久久网站| 色婷婷在线影院| 精品视频一区二区三区在线播 | 日韩国产 在线| 五月婷婷精品| 国产成人久久综合777777麻豆| 一级成人a做片免费| 欧美日本中文| 亚洲三级片在线看| 日本影院一区| 精品综合久久久久久97超人该| 久久久久亚洲av成人网人人软件| 午夜视频免费试看| 国产欧美精品午夜在线播放| 亚洲欧美日韩色图| 国产精女同一区二区三区久| 97人妻精品专区久久久久| 亚洲无线视频| 极品性荡少妇一区二区色欲| 免费aa毛片| 亚瑟天堂久久一区二区影院| 久久综合伊人 六十路| 日韩黄色大片免费看| 国产高颜值露脸在线观看| 国产视频a| 九九这里只有精品视频| 无码丝袜人妻| 91国内在线观看| 国产精品第一区| 另类综合视频| 欧美亚洲国产精品久久蜜芽| 黄色不卡视频| 国产一区二区三区在线观看免费| 乱人伦中文视频在线观看免费| 五月天丁香婷婷综合久久| 色香蕉影院| 欧美一区二区三区国产精品| 日本手机在线视频| 国产综合网站| 激情综合图区| 在线国产毛片| 99国产精品国产高清一区二区| 欧美成人综合在线| 色综合国产| 免费一极毛片| 人人澡人人爽欧美一区| 日本不卡在线视频| 亚洲人成电影在线播放| 日韩资源站| 久久青草免费91观看| 日韩专区第一页| 九九久久99精品| av无码久久精品| 欧美.成人.综合在线| 亚洲第一区精品日韩在线播放| 日韩黄色大片免费看| 伊人久久久久久久| 国内精自视频品线一二区| 2021亚洲精品不卡a| 亚洲一区二区三区国产精品| 久久国语对白| 成人噜噜噜视频在线观看| 专干老肥熟女视频网站| 欧美激情第一欧美在线| 亚洲精品动漫在线观看| 综合亚洲色图| av大片在线无码免费|