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

電推進系統計算機的在線優化升級研究與設計

2019-04-04 03:17:40馬維華趙懷林朱紀洪華國琳祝波
現代電子技術 2019年6期
關鍵詞:程序優化系統

馬維華 趙懷林 朱紀洪 華國琳 祝波

關鍵詞: 電推進系統; 在線升級; TMS320F28377; 串口; Bootload; DSP程序

中圖分類號: TN409?34 ? ? ? ? ? ? ? ? ? ? ? 文獻標識碼: A ? ? ? ? ? ? ? ? ? ? ? ? 文章編號: 1004?373X(2019)06?0038?05

Abstract: During the engineering design study of the electric propulsion system, it was found that all the drives and control boards are sealed inside the electric propulsion system, except the commonly?used serial ports, which brings a lot of inconvenience to the optimization and upgradation of the entire electric propulsion system. Therefore, a system convenient for updating and upgradation is needed to be researched and designed. The hardware platform based on the TMS320F28377 is adopted for the electric propulsion system. The storage location of the DSP program is reasonably assigned by analyzing the program download process and FLASH_IAP library function of TIs TMS320F28377. The LabVIEW and Bootload programs are designed to upgrade and optimize the DSP program, so as to upgrade and optimize the entire electric propulsion system. The experimental results show that the online optimization and upgrading system is convenient, safe, and stable in operation.

Keywords: electric propulsion system; online upgradation; TMS320F28377; serial port; Bootload; DSP program

0 ?引 ?言

電推進系統[1]結構精密而且空間緊湊。為了保證電推進系統的飛行平穩,考慮到空氣動力學因素,應該讓飛機呈現流線型設計。而且為了保證系統的安全可靠,一般都會將一些硬件電路密封保存在電推進系統的內部,僅僅留出少量的接口在外部。但通信串口往往會留出來,用于進行和外部設備的信息交流和數據的監測,所以串口成了系統更新優先考慮的方式。

在電機的控制系統中,為了滿足高能效和連通性設計的需求,開發出了DSP+FPGA架構,該結構已成為電路設計的主流。其中DSP(TMS320F28377)作為主控制芯片,實現復雜的控制算法以及外部端口信號的監測;FPGA(EP3C25E144C7N)利用其大規模硬件資源,實現接口擴展。在電推進系統中,主要需要給主控制器DSP進行在線優化和升級。

通過對DSP的JTAG仿真器燒寫程序進行分析,DSP內部的代碼儲存在代碼段,而數據則是儲存在數據段。程序通過下載器下載時,首先將程序下載到FLASH的一個片區中,當片區的空間不夠時,才會使用下一個片區。這樣當程序運行時,就會將FLASH中的代碼轉移到RAM中運行。當運行代碼需要調用到數據時,就會回到FLASH中去讀取,這樣就實現了整個程序的下載和運行流程。

TMS320F28377具有片內的單口隨機儲存器SRAM、只讀儲存器ROM和FLASH儲存器[2]。在芯片出廠時,已經在芯片的啟動ROM區集成了Bootloader程序,用于對DSP的相關引腳進行檢測,從而選擇不同的啟動模式。在DSP中有很多種啟動模式,在不同的模式下可以很方便地更新和升級程序,但是在一些特殊的場合,不可能手動切換系統的啟動模式。為了保障系統能夠穩定安全的運行,一般將DSP的GPIO72和GPIO84引腳用上拉電阻設為高電平,這樣TMS320F28377就從FLASH中啟動。但是設置了啟動模式之后,DSP的系統更新和升級就有了很多限制,本文是基于這些種種限制的情況下,開發出的一套系統升級和優化的系統,方便在電推進系統等特殊的場合下進行的系統移植和優化。

1 ?控制器程序在線升級方案

電推進系統主要包含提供動力的推進系統和提供電能保障的供電系統,此外還需要儲能系統、保護系統等一系列輔助、支持系統等,整體設計框圖如圖1所示。電推進系統是為電動飛機提供動力,保障電動飛機的正常運行,其系統需要具備高可靠和便于維護的特點。而電推進系統控制器的在線優化升級是屬于上位機中的一部分,主要是對主控器DSP進行程序的在線升級和優化,為電動飛機提供了一套安全方便的系統更新方案。

在FLASH啟動模式下的在線優化升級電推進系統如圖2所示。首先需要將啟動程序在升級CMD文件模式下編譯通過之后,通過JTAG仿真器下載到FLASH中;然后通過LabVIEW設計的升級服務軟件實現系統的升級與優化。

在DSP上電之后,DSP會調到FLASH啟動的起始地址0x080000。這個地址存放著程序的codestart的起始地址。所以,只需修改0x080000存放的值,就能決定執行那一段程序。當然也可以通過匯編指令跳轉到程序的codestart執行。Bootload程序的功能就是在每一次啟動電推進系統時,程序指針會自動指向固化在控制器FLASH中的Bootload程序。Bootload程序運行后,首先把自己從FLASH H扇區中的程序搬移到DSP內部的RAM程序區中運行,提高運行速度。然后進行串口的配置和等待串口更新指令,并為在線優化升級系統做準備條件。如果沒有更新指令,會跳轉到FLASH E扇區,進行原始程序的運行。在原始程序運行時,程序指針將重新跳轉到_c_int00中斷去執行程序[3],初始化C運行環境。一旦運行環境初始化完成,就可以執行原始程序中main()主函數。

如果接收到更新指令,則系統開始等待串口傳輸的更新程序數據,并對串口傳輸的程序數據進行分析和處理。然后通過FLASH_IAP庫函數將FLASH E扇區進行擦除,并且將已經處理之后的更新程序數據拷貝到FLASH E扇區中,就完成了更新程序對原始程序的覆蓋。在下一次上電重啟,系統在沒有更新響應時,就會把燒寫在FLASH中的更新程序和有用信息全部復制到DSP內存空間中去執行。

在電推進系統控制器在線優化升級系統中,主要是對DSP內部程序進行升級和優化。升級和優化系統的關鍵是需要設計一個Bootload啟動程序,用于對系統是否進行更新程序的選擇。而Bootload啟動程序應該包括兩個部分:CMD文件的編寫和配置程序的編寫。CMD文件是用來指示存儲空間和分配段到存儲空間。在電推進優化系統中需要設計兩個CMD文件:升級CMD和用戶CMD文件,主要進行不同程序的空間分配。升級CMD文件用于對Bootload程序分配固化儲存空間和分配裝載的FLASH_IAP庫函數空間,為更新程序準備更新環境。而用戶CMD文件用于對當前的用戶程序分配指定的FLASH扇區,而且不能占用Bootload程序的空間,保障用戶程序能夠獨立的運行。

1.1 ?FLASH_IAP庫函數

FLASH_IAP是TI公司提供的編程算法。該算法主要實現用戶自己的程序在運行過程中對User FLASH的部分區域進行擦除和編程,目的是在產品發布后可以方便地通過預留的通信口對產品中的固件程序進行更新升級。FLASH_IAP定義了一系列的軟件外圍功能,可以完成對FLASH模塊的編寫和擦除。

使用FLASH_IAP完成FLASH編程[4]需要以下幾步:工程需要包含FLASH_IAP的頭文件和庫函數; 匹配目標FLASH;擦除目標FLASH;編寫到目標FLASH;校驗目標FLASH。

TI公司提供的FLASH_IAP庫函數中以下三個函數[5]最為重要:

1) Flash_Erase(SectorMask,&FStatus)。其功能是在升級優化系統之前,將控制器FLASH中指定扇區的程序或數據進行擦除并返回是否擦除成功的狀態。

2) Flash_Program(&FlashAddr,&BuffAddr,Length,&FStatus)。其功能是只需填寫儲存更新程序的起始地址,就能將程序燒寫到指定空間,且判斷操作是否成功。

3) Flash_Verify(&FlashAddr,&BuffAddr,Length,&FStatus)是校驗每條燒寫到指定儲存空間的主程序。

1.2 ?CMD文件的編寫

DSP控制器程序中的代碼和數據是以段的形式形成,不同的段存放不同類型的內容。在使用時,需要通過編寫連接器命令文件(.cmd)將這些段正確地分配到DSP的地址空間。在生成Bootload程序時,需要加載CMD文件然后編譯通過。升級CMD文件在設計時,首先需要加載FLASH28377_API_V210.lib庫,把這個庫加載到FLASH中的一個片區,之后主程序需要對FLASH28377_API_V210.lib搬移到RAM中,如果在FLASH中運行要比在RAM中運行速度慢70%~80%,顯然這樣的速度對于增強型的DSP不能滿足,于是需要將庫搬移到RAM中運行。而Bootload程序也需要進行同樣的操作搬移到RAM中,充分利用資源。加載完庫之后,還需要對.out文件中的不同段進行分配,對DSP中已初始化的段和未初始化的段進行分配。通過串口傳輸的用戶代碼,也需要分配一個空間進行存儲,可以在升級完成之后,讓程序能夠獨立運行。如果空間不夠,可以通過修改扇區地址進行擴充到其他扇區。升級CMD文件編寫見圖3。

在每次通過Bootload程序燒寫用戶程序時,編寫的用戶程序也需要一個用戶CMD文件。用戶CMD文件是一個獨立于Bootload程序的鏈接命令文件。讓儲存在控制器FLASH中指定扇區(FLASH E片區)的用戶程序能夠獨立正常的運行。也就需要將這個扇區進行合理的分配,將所有的匯編指令和全局靜態變量都分配到這個扇區內,重新分配代碼的開始段,所有的段也需要分配這個指定扇區中。若空間不夠,可以擴充到其他扇區,但升級CMD文件也要做同樣的修改。用戶CMD文件編寫見圖4。

1.3 ?Bootload程序的設計

在電推進系統控制器的在線優化升級中,CMD文件是分配儲存空間,而Bootload程序是配置SCI串口和編寫升級代碼到指定的FLASH扇區。二者只有一起編譯才能生成固化到FLASH中的啟動程序。在主函數中,程序首先初始化PIE和串口,通過TI提供的CsmUnlock函數解鎖DSP,然后初始化FLASH和將FLASH_IAP庫函數加載到FLASH并初始化。這時只要上位機發送來數據,串口接收到數據,通過對數據幀的分析,按照HEX文件的格式,分析每一幀數據,然后將每一幀數據按照地址寫入到內存中。最后通過FLASH_Program函數將代碼寫入FLASH,就完成程序代碼的固化。流程圖見圖5。

2 ?系統在線優化升級文件

電推進系統控制器的在線優化升級是通過通信串口給控制器進行升級的。為了讓DSP能夠用串口進行數據的傳輸,需要將數據文件進行格式的轉換。TI公司提供DSP集成開發環境[6]。CCS對整個工程文件進行編譯、鏈接后生成的是模塊化文件:COFF格式,即.out文件[7]。它有著復雜的結構,不僅包含了以段的形式組織的代碼和數據,而且還包含了文件頭、符號表、段地址、初始化段入口等信息,但是該文件格式的模塊化結構不能用來進行串口數據的傳輸。于是需要轉換成串口能夠識別的數據類型。于是將需要將.out文件轉換成HEX文件。串口通信是串口數據按位發送和接收字節,在DSP中,數據都是以二進制的形式存儲,在串口發送數據時首先將待發送的數據轉換為對應的ASCII碼,然后將這些ASCII碼按照二進制方式一位一位的發送。

2.1 ?COFF文件格式轉換

TI公司提供的開發環境CCS中也能實現HEX文件的轉換。只需要在Properties中,將Enable C2000 Hex Utility勾選,然后將Output Format Options中的Output format選擇為?intel,?i,同時還要設置輸入文件的格式,一般來說只要生成的輸入格式和Bootload程序中HEX文件的解析格式一致就可以被串口讀取和處理。這里設置為16 bit,而輸出格式的ROM的寬度為16,設置好之后,下次在運行CCS時,就可以生成HEX文件。

2.2 ?HEX文件格式

HEX文件[8]格式如圖6所示,以冒號開頭,第1字節是數據長度,第2,3字節是本行數據的起始地址。HEX文件中的第一幀數據是記錄基地址,而之后每一幀的數據是相對于基地址的偏移地址。若要計算出該幀數據的起始地址,只需要將第一幀的基地址左移16位,然后加上該幀的偏移地址。第4字節是數據類型,數據類型有:0x00?數據、0x01?文件結束、0x02?段地址標志、0x03?段地址開始、0x04?線性地址標志、0x05?線性地址開始。之后是數據,最后一個字節是校驗和,是將本行記錄中除了冒號和最后一個字節之外的所有字節的累加和,校驗和等于0x100減去累加和。

3 ?系統升級服務程序設計

電推進系統的上位機為了監測電推進驅動控制系統,將電推進系統的驅動電流和電壓,以及電機的轉速等參數通過串口反饋給上位機進行監測,然后在將一些轉速,轉矩指令通過串口反饋給電推進系統進行調節,讓系統能夠平穩的運行。而電推進系統升級服務程序是上位機中的一部分,主要是利用上位機的通信串口給控制器進行升級和優化,該設計簡單方便,不需要添加其他的硬件接口,充分利用串口資源。

為了輔助電推進系統控制器的在線優化升級,需要在PC端設計一個上位機軟件,用于對串口的識別,數據的交流和燒寫程序的指示。LabVIEW是NI公司開發的一款可視化、跨平臺的虛擬儀器開發平臺,采用圖形化編輯語言G編程,產生的程序是框圖的形式[9]。LabVIEW提供了功能強大的VISA庫[10],VISA是一個I/O接口軟件庫及其規范的總稱。電推進系統升級服務程序如圖7所示。LabVIEW設計中首先通過調用VISA Configure Serial Port完成對端口號、波特率、數據位、校驗位、停止位和流控制的設定。完成了串口屬性接口的設置,就可以實現上位機與FLASH板子之間的數據傳輸,在接收數據之前需要通過VISA Set I/O Buffer Size設置串口接收/發送緩沖區的大小,然后在使用VISA Bytes at Serial Port查詢當前串口接收緩沖區中的數據字節數。如果VISA Read讀取到的字節大于串口接收緩沖區中的字節數,那么VISA就會一直等待,直至Timeout或者緩沖區中的數據字節數達到要求的字節數,才能接收到數據。

4 ?實驗結果

首先使用設計的上位機,配置好串口并打開,使LabVIEW上位機和電推進系統控制器進行連接,由于考慮到系統的安全性,在啟動系統之前需要設置解鎖密碼,而后每次升級優化程序時,需要先輸入密碼進行確認。通信模塊中的串口發送模塊需要完成單次發送指令、單次文件發送指令。實現方法是將其放到不同線程中,在需要發送指令時開啟相關任務并關閉其他發送任務:

1) 打開串口按鈕按下之后,在輸入框中輸入系統密碼,并按下發送鍵,輸入的密碼由VISA寫入到串口下載到板子中。

2) 對于程序文件的下載,先讀取所需打開的文件,將其轉換為文本文件后再寫入VISA由串口發送,并在發送完成后彈出對話框“文件發送完成”。

通信模塊中的串口接收模塊的方案是將從串口接收緩沖區讀取的數據進行讀取,并對其是否為空指令進行判斷后予以顯示。圖8是電推進系統控制器在線優化升級的實驗結果。在實驗中,只需要匹配好串口和波特率,將上位機和控制器進行握手,然后通過發送指令和程序完成對控制器的升級和優化,可以通過顯示界面反饋的彈窗和示波器檢測到串口波形。該系統成功地將新程序通過串口燒寫到了控制器的FLASH中。

5 ?結 ?論

本文提出一種借助于通信串口來實現內部程序下載更新的方法。該系統通過和LabVIEW升級服務程序連接配合之后,使用DSP內部固化好的Bootload程序,協助DSP完成串口下載,將串口傳輸的新數據進行處理和翻譯,覆蓋原始程序代碼區,進而完成了程序的下載。從實驗測試的示波器波形和電推進系統的工作情況,證明了該方法可行性而且安全可靠,為一些特殊場合提供了可行的方法,提高了系統的可維護性。

參考文獻

[1] 張保平,王衛國,王少寧,等.一種新型多路電源在空間電推進系統的應用[J].電力電子技術,2018,52(3):105?107.

ZHANG Baoping, WANG Weiguo, WANG Shaoning, et al. A novel topology of multiple output DC/DC power supply applied to the space electric propulsion system [J]. Power electronics, 2018, 52(3): 105?107.

[2] 陳惠綱,黎驅.基于TMS320F28335的DSP/BIOS系統從FLASH到RAM運行[J].現代電子技術,2015,38(2):65?68.

CHEN Huigang, LI Qu. TMS320F28335?based DSP/BIOS system running from FLASH to RAM [J]. Modern electronics technique, 2015, 38(2): 65?68.

[3] 劉芳,臧威.TMS320C672x DSP引導加載系統的設計與實現[J].微電子學與計算機,2013,30(10):46?49.

LIU Fang, ZANG Wei. The design and implementation of Bootloader system based on TMS320C672x DSP [J]. Microelectronics & computer, 2013, 30(10): 46?49.

[4] Texas Instruments. TMS320F28M35x and TMS320F28M36x Flash API: reference guide (Version 1.53) [EB/OL]. [2018?01?16]. http://www.ti.com.cn/cn/lit/ug/spnu595b/spnu595b.pdf.

[5] 符玉襄,孫德新,劉銀年.通過串口燒寫DSP片內Flash的新方法[J].科學技術與工程,2013,13(24):7219?7222.

FU Yuxiang, SUN Dexin, LIU Yinnian. A new method of programming DSP′s on?chip Flash via SCI [J]. Science technology and engineering, 2013, 13(24): 7219?7222.

[6] Texas Instruments. TMS320C28x optimizing C/C++ compiler: user′s guide [EB/OL]. [2018?11?19]. http://www.ti.com/lit/ug/spru514r/spru514r.pdf.

[7] 李聲飛,代華山.基于串口通信的DSP程序動態加載技術[J].電訊技術,2011,51(6):121?124.

LI Shengfei, DAI Huashan. Dynamic loading technology for DSP program based on serial communication [J]. Telecommunication engineering, 2011, 51(6): 121?124.

[8] 張偉,李文魁,陳永冰.基于GM814X的單片機串口擴展及其應用[J].電子技術應用,2012,38(9):96?99.

ZHANG Wei, LI Wenkui, CHEN Yongbing. Design and implementation of serial port extension based on GM814X [J]. Measurement control technology and instruments, 2012, 38(9): 96?99.

[9] ZHANG Z, CAI L X, WANG Y K. Implementation and application between high stability PC and FPGA serial communication [J]. Applied mechanics and materials, 2013, 331: 344?347.

[10] 張素萍.基于DSP和LABVIEW的串行通訊研究[J].電子器件,2017,40(2):380?385.

ZHANG Suping. Research of serial communication based on DSP and LabVIEW [J]. Chinese journal of electron devices, 2017, 40(2): 380?385.

猜你喜歡
程序優化系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
超限高層建筑結構設計與優化思考
房地產導刊(2022年5期)2022-06-01 06:20:14
民用建筑防煙排煙設計優化探討
關于優化消防安全告知承諾的一些思考
一道優化題的幾何解法
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
“程序猿”的生活什么樣
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
主站蜘蛛池模板: 午夜性爽视频男人的天堂| 久久国产精品嫖妓| 亚洲永久精品ww47国产| 欧美一级夜夜爽www| 先锋资源久久| 在线观看精品自拍视频| 99这里只有精品在线| 国产无套粉嫩白浆| 亚洲第一成年人网站| 国产精品久久久久无码网站| 欧美午夜网| 色首页AV在线| 亚洲一区国色天香| 热久久这里是精品6免费观看| 91人人妻人人做人人爽男同 | 免费无码网站| 国产麻豆另类AV| 午夜无码一区二区三区| 日韩精品一区二区深田咏美| 国产亚洲高清在线精品99| 亚洲精品人成网线在线 | 激情国产精品一区| 四虎国产永久在线观看| 国产精品99在线观看| 国产对白刺激真实精品91| 久久国产精品嫖妓| 欧美一级高清免费a| 人妻丰满熟妇AV无码区| 亚洲综合极品香蕉久久网| 精品国产免费观看| 色综合天天视频在线观看| 久久久久久久蜜桃| aa级毛片毛片免费观看久| 乱码国产乱码精品精在线播放 | 亚洲中文字幕无码爆乳| 亚洲Av激情网五月天| 国产精品网拍在线| 国产精品.com| 久久99精品久久久久久不卡| lhav亚洲精品| 久久大香香蕉国产免费网站| 国产美女免费| 国产成人高精品免费视频| 亚洲成人精品久久| 亚洲一级毛片| 18禁黄无遮挡免费动漫网站| 国产视频只有无码精品| 国产麻豆91网在线看| 国产一级毛片网站| 国产日韩精品欧美一区喷| 亚洲婷婷六月| 亚洲中文字幕久久无码精品A| 免费视频在线2021入口| 欧美国产日韩在线| 她的性爱视频| 国产免费网址| 丰满人妻被猛烈进入无码| 久久久久免费看成人影片| 精品精品国产高清A毛片| 在线免费观看a视频| 欧美三级日韩三级| 欧美一级视频免费| 国产尤物jk自慰制服喷水| 成人字幕网视频在线观看| 亚洲欧美日韩天堂| 在线精品视频成人网| 99精品视频在线观看免费播放| 国产SUV精品一区二区| 在线视频一区二区三区不卡| 91视频精品| AV在线天堂进入| 青青草一区| 国产精品丝袜在线| 国产精品免费p区| 亚洲v日韩v欧美在线观看| 亚洲啪啪网| 亚洲h视频在线| 亚洲日韩精品欧美中文字幕| 国产精品.com| 国产91熟女高潮一区二区| 福利在线一区| 欧美黑人欧美精品刺激|