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

基于USB的列車車載類設備軟件升級技術研究

2020-02-22 03:25:32楊玉春蘇燕辰伍川輝燕春光
鐵路計算機應用 2020年1期
關鍵詞:程序設備

楊玉春,蘇燕辰,伍川輝,燕春光

(1.西南交通大學 機械工程學院,成都 610031;2.中車唐山機車車輛有限公司,唐山 063035)

近年來,高速列車集成了越來越多的電子設備,例如車載視頻監控、故障診斷設備、失穩平穩監控設備、弓網監控設備等。當前電子設備軟件升級是通過以太網、CAN總線、串口等通信接口實現在線升級,同濟大學石盼等人提出基于以太網接口的 IAP(In Application Programming)遠程升級技術[1],該技術優點是傳輸速度快;南京郵電大學王琦和李龍光等人提出基于CAN總線的程序在線升級技術[2-3];東南大學提出基于串口的應用程序在線升級技術[4]。以上技術均是在線升級技術,需要攜帶電腦和專用通信線纜,連接設備和電腦后在線完成設備升級,該類方式操作不夠便捷,且串口和CAN的實際數據傳輸速率相對較低。由于列車車載設備數量眾多、操作環境復雜、不便拆卸等原因,這種在線升級的方式對工作人員來說無疑是一件繁重的工作。本文以STM32F407為主控芯片,進行基于USB的列車車載設備軟件升級的技術研究,提出一種傳輸速率更快的,基于USB 2.0通信的離線升級技術,利用便攜式U盤對多個車載電子設備進行軟件升級,工作人員只需攜帶裝有bin文件的U盤,插入對應主機上,便可實現對整列車的同系列設備的軟件升級。

1 STM32和USB介紹

1.1 STM32F407處理器介紹

STM32F407芯片是32位低功耗、高性能的處理器,該處理器基于ARM Cottex–M4內核,集成FPU和DSP指令,支持浮點運算,其CPU工作頻率達168 MHz,Flash為1 024 K,SRAM為192 K,具有豐富的資源(定時器、內部存儲、CAN、485、USB、以太網、串口等)。該處理器使用新內核的Thumb–2指令集,使設計人員可以把代碼容量降低45%,把應用軟件所需內存容量降低了近一半[5]。STM32F407內部自帶USB OTG FS控制器和USB OTG HS控制器,支持高速HS(USB2.0,傳輸速率480 Mbps)、全速FS(USB1.1,傳輸速率12 Mbps)和低速(USB1.0,傳輸速率1.5 Mbps)傳輸。

1.2 USB總線介紹

USB是一種串行總線通信方式,具有速率高、支持熱插拔、性能可靠、價格低廉和易于擴展等特點[6]。(1)速率高,目前的USB 2.0標準支持傳輸速率達到480 Mbps,能很好地滿足大部分的接口需求;(2)支持熱插拔,即插即用;(3)易于擴展,通過USB集線器,1個USB主控制器上最多可以連接126個外設;(4)性能可靠,USB系統通過規范的硬件設計和USB協議中完善的數據錯誤檢測機制來確保數據準確無誤地發送和接收[7]。

2 USB通信協議

USB外接設備從插入主機到拔出的整個過程中,共有6種狀態,包括:連接態、上電態、缺省態、地址態、配置態、掛起態[8],這個過程稱為枚舉過程。

2.1 枚舉過程

當一個USB外接設備被掛接到總線上時,主機通過枚舉過程識別和管理新加入的設備,這個過程使得USB外接設備支持熱插拔[9]。圖1展示了枚舉過程的轉換流程及轉化條件,狀態切換的因素包括硬件電平變化和設備軟件或主機軟件的設置[10]。

圖1 外接設備枚舉轉換過程示意圖

(1)連接狀態,USB外接設備通過USB接口連接主機或Hub,進而改變總線電平,總線由此判斷有新設備接入。

(2)上電狀態,USB外接設備連接后,總線給其供電,但由于設備未被分配地址,尚不能進行通信,該狀態稱為供電狀態。

(3)缺省狀態,USB外接設備插入接口等待100 ms,待供電穩定后,主機給端口發送復位命令,完成寄存器復位后,給設備分配地址0,該地址為USB總線公共地址,稱為缺省地址。此時,USB外接設備可通過該地址與主機通信,完成設備配置。

(4)地址狀態,主機通過缺省地址0與USB外接設備通信,獲取設備描述符、配置參數、配置通道,同時配一個總線地址,之后各種數據傳輸都是通過該地址。USB外接設備獲得唯一地址的狀態稱為地址狀態。

(5)配置狀態,主機獲得設備描述符之后,開始配置USB外接設備,此時設備處于配置狀態。

(6)掛起狀態,當總線無任何活動的時間達到3 ms,USB外接設備將自動切換為低功耗掛起狀態,此時,USB接口處電流小于0.5 mA,USB接口保持其地址信息和配置信息,等待總線活動將其喚醒。

2.2 USB的通信流

主機與USB外接設備通信是通過端點和管道來實現的,主機緩沖區和設備端點間的通信數據形成通信流。USB通信流如圖2所示。

(1)端點:USB外接設備端點是設備的標識。設備端點號有多個,設備地址只有一個。端點按種類分為輸入、輸出端點;按功能分為0端點和非0端點。

(2)管道:管道是主機存儲緩沖器與設備端點間進行數據傳輸的通道[11]。主機與設備0端點進行通信的管道稱為缺省管道。

2.3 USB接口電路設計

很多車載監控設備需進行高速數據傳輸,故選用USB OTG HS通信模式,外接PHY芯片。本文選用USB 3300芯片作為USB通信的物理芯片,該芯片兼容USB 2.0協議,傳輸速率最高達480 Mbps,采用并行接口與STM32F407連接,可實現數據快速交互;外接24 MHz晶振,將DP和DM引腳連接至USB–A型接口完成數據傳輸。USB電路設計如圖3所示。

圖2 USB通信流示意圖

圖3 USB電路設計圖

3 IAP技術

3.1 IAP實現原理

IAP技術將F1ash映射為System Memory和User Flash Memory 2個存儲體。當運行System Memory存儲體上的IAP程序時,可對User Flash Memory存儲體重新燒寫[12],這樣做是方便在使用一段時間后,通過預留的接口(USB、CAN、USART等)對產品進行升級。實現IAP時,需要設計2個程序,即IAP程序和App程序,IAP程序通過特定通信方式接收App程序,將App程序存儲到指定位置,實現程序更新;App程序是功能程序,用于實現設備的功能。

3.2 IAP工作模式

程序一般存放在STM32內部Flash中,IAP程序從最低位置(0X08000000)開始存放,App程序通過USB接口讀入并存儲在IAP程序的后面。加載IAP程序后,程序運行流程如圖4所示。STM32F407控制器復位后,從0X08000004處取出IAP復位中斷向量的地址,如標號①所示,并跳轉到IAP復位中斷服務程序執行;執行完后,跳轉到0X08000004+N的位置執行IAP中main函數,如標號②所示;IAP中main函數讀取App更新標志,如標號③所示,并判斷是否需要升級,若需要升級,則讀取IAP升級程序,并存儲到Flash的0X08010000位置[13],如果不需要,則直接執行App程序,如標號④所示;從0X08000004+N+M位置讀取App復位中斷向量的地址,并跳轉到對應復位中斷服務程序執行,之后跳轉到App main函數執行用戶程序,如標號⑤所示[14]。在App main函數執行過程中,如果接收到1個中斷請求,PC指針強制跳轉到0X08000004中斷向量表位置,如標號⑥所示,之后程序再根據App程序偏移量,跳轉到對應中斷服務程序,如標號⑦所示[15]。中斷服務程序執行結束后,返回到App main函數繼續執行應用程序,如標號⑧所示。

4 軟件升級實現

4.1 底包程序設計

在車載設備的IAP設計過程中,采用USB接口進行通信。(1)執行IAP程序中的USB驅動程序,初始化USB接口,并連接U盤;(2)掛載FAT32文件系統,實現對U盤的讀寫操作,并檢測U盤中是否存在bin文件;(3)IAP程序通過USB接口讀取提前配置并存儲在U盤中的升級程序,將升級程序存儲到Flash的0X08010000位置,升級后IAP跳轉到App程序位置開始執行新版App。

以上過程中,若存在U盤連接失敗、文件系統掛載失敗、bin文件讀取失敗或校驗不通過等情況,則視為升級失敗,執行系統復位;若U盤中不存在bin文件,則會跳到Flash0x08010000位置繼續執行舊版應用程序。具體升級過程如圖5所示。

圖4 加載IAP后程序運行流程圖

4.2 升級程序生成過程

底包程序采用Keil 5開發平臺搭建,Keil 5一般生成hex文件,但系統升級需使用bin文件。bin文件生成需3個步驟,包括:配置升級程序起始地址、配置中斷向量表偏移量、運行fromelf.exe。

4.2.1 升級程序起始地址設置方法

升級程序偏移地址設置過程為,打開Options for Target 配置軟件,點擊Target 選項卡,軟件界面如圖6所示,在該界面設置App程序起始地址為0X08010000,即偏移量為0X10000。STM32F4系列芯片內部Flash大小為1 024 KB,留給App的存儲空間為0X08010000~0X08100000(960 KB);留給IAP的存儲空間為:0X08000000~0X0800FFFF(64 KB)。

圖5 車載設備軟件升級流程圖

圖6 升級程序起始地址設置界面示意圖

4.2.2 中斷向量表偏移量設置方法

(1)中斷向量表設置函數

NVIC_SetVectorTable(uint32 NVIC_VecTab,uint32 Offset)

(2)IAP中斷向量表設置

NVIC_SetVectorTable(0x08000000,0x00)

//IAP偏移量為0

(3)App中斷向量表設置

4.3 軟件升級技術關鍵點

(1)軟件升級完成時,在從IAP程序跳轉到App程序之前,必須復位嵌套向量中斷控制器(NVIC,Nested Vectored Interrupt Controller ),防止跳轉過程中出現中斷,導致應用程序運行失敗。

(2)在App程序初始化時需正確設置NVIC向量表,將NVIC向量表映射到App程序起始地址;

(3)實現IAP程序過程中,必須正確處理計時器的清零操作,特別是在bin文件讀和寫、Flash擦除和編程過程中,要充分考慮計時器清零時間,在程序關鍵位置清零,一般在while循環函數中進行計時器清零操作。

5 結束語

本文詳細分析了IAP和USB通信協議的技術要點,實現了基于USB通信的車載設備軟件升級程序,通過裝有bin文件的U盤,就可完成整列車同系列產品的軟件升級任務,顯著降低了工作量。自帶USB協議接口的電子設備使用該技術不需要增加額外成本,只需通過軟件的更改,就可實現產品的升級和功能的修復。目前,該技術已應用于走行部故障診斷、平穩失穩在線監測等車載設備的系統升級。未來可探索該技術在智能家居、消費電子等更廣泛的物聯網應用場所的應用。

猜你喜歡
程序設備
諧響應分析在設備減振中的應用
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
基于VB6.0+Access2010開發的設備管理信息系統
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
如何在設備采購中節省成本
主站蜘蛛池模板: 国产黄在线观看| 永久免费精品视频| 免费一级毛片在线观看| 国产精品成人久久| 国产裸舞福利在线视频合集| 亚洲国产91人成在线| 55夜色66夜色国产精品视频| 国产综合欧美| 99视频精品全国免费品| 97成人在线视频| 无码又爽又刺激的高潮视频| 亚洲日本中文字幕乱码中文| 91在线播放免费不卡无毒| 国产剧情一区二区| a国产精品| 久久久精品国产SM调教网站| 少妇精品久久久一区二区三区| 国产一区在线视频观看| 啦啦啦网站在线观看a毛片| 日本在线欧美在线| 99久久精品视香蕉蕉| 亚洲乱码精品久久久久..| 国产精品熟女亚洲AV麻豆| 在线观看精品自拍视频| 亚洲综合片| 中文字幕av无码不卡免费| 伊人久久大香线蕉aⅴ色| av一区二区三区在线观看| 草逼视频国产| 国产91麻豆免费观看| 欧美日韩在线成人| 九色最新网址| 国产99视频精品免费观看9e| 国产欧美日韩视频一区二区三区| 国产综合精品一区二区| 亚洲国产精品成人久久综合影院| 精品伊人久久大香线蕉网站| 无码免费的亚洲视频| 日韩专区欧美| 亚洲无码一区在线观看| 国产精品流白浆在线观看| 真人高潮娇喘嗯啊在线观看| www.99精品视频在线播放| 免费在线a视频| 天堂va亚洲va欧美va国产| 亚洲天堂福利视频| 国产精鲁鲁网在线视频| 人妻丰满熟妇αv无码| 国产女人水多毛片18| 国产黑丝视频在线观看| 国产在线精品人成导航| 色婷婷成人网| 久久久噜噜噜久久中文字幕色伊伊| 亚洲精品国产日韩无码AV永久免费网 | 日韩精品一区二区三区免费在线观看| 国产精品无码一区二区桃花视频| 久综合日韩| 天天激情综合| 国产欧美高清| 亚洲天堂视频在线免费观看| 自拍欧美亚洲| 亚洲综合中文字幕国产精品欧美| 亚洲最大综合网| 中文字幕乱码二三区免费| 97综合久久| 亚洲国产在一区二区三区| 四虎永久免费地址在线网站| 色综合天天综合| 成人午夜视频在线| 91色在线观看| 亚洲黄色视频在线观看一区| 亚洲—日韩aV在线| 熟妇丰满人妻| 国产欧美性爱网| 久久久久久久97| 小蝌蚪亚洲精品国产| 国产美女免费| 99性视频| 波多野结衣中文字幕久久| 亚洲欧美国产五月天综合| 91成人在线观看视频| 国产精品大白天新婚身材|