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

一種飛控系統參數管理的嵌入式解決方案

2023-03-30 07:30:14詹福宇
科學技術創新 2023年5期
關鍵詞:嵌入式定義管理

詹福宇*,徐 亮,陳 林

(中電科特種飛機系統工程有限公司,四川 成都)

大多數軟件都會涉及到參數的存儲與讀取,小至運行單片機的軟件,大至操作系統級別的軟件,均會有專門的子程序或者模塊進行參數的讀寫和存儲。不同開發平臺下,參數管理會存在一定的差異化,例如Windows 和Linux 下的軟件則會以ini、xml 或json 等配置文件的形式保存參數;而單片機等嵌入式環境下,由于資源的限制無法使用這些功能接口,需要另外設計,一般將參數是保存EEPROM或ROM等。

文獻[1]和文獻[2]中介紹了嵌入式平臺中參數存儲介質、數據類型設計、讀寫接口設計等。文獻[3]發明了一種應用于呼吸機的嵌入式設備的參數管理方法、嵌入式設備的參數管理系統、計算機可讀存儲介質以及嵌入式設備,但是該專利中沒有涉及上位機通信、數據存儲結構、多線程通信等功能,另外飛控系統相對呼吸機更加復雜。

飛控系統是一個復雜、高效、可靠的嵌入式系統[4],針對飛行參數記錄儀的研究工作[5-6]很多,但是涉及飛控系統參數管理的資料相對很少。本研究提出一種飛控系統參數管理的完整解決方案,包括參數的定義、獲取、更新、保存,跨線程支持以及上位機通信協議等。

1 飛控參數管理模塊要求

(1)高效性,參數修改必須及時通知并更新所用應用該參數的模塊。

(2)可靠性,飛控參數會直接影響飛行安全,因此參數更新過程必須可靠,尤其是在多線程訪問的情況下。

(3)模塊化,每個模塊具備獨立定義自己參數,不影響其他模塊,參數可以在所有C 文件定義。

(4)擴展性,產品升級,若涉及增加、刪除、修改參數,應不影響其它參數,不影響上位機通信協議。

2 飛控參數管理模塊設計

2.1 飛控參數管理框架

飛控參數管理系統框架(見圖1),主要包含三層:

圖1 飛控參數管理框架

(1)存儲介質,可以是EPPEOM、FLASH、FILE等永久存儲介質。

(2)參數管理配置模塊,提供了一套API 接口用于管理飛控參數。

(3)上位機通信模塊,可以通過上位機進行參數查詢和修改等。

本研究方案中每一個飛控參數都可能存在多份拷貝:

(1)參數管理模塊維護一份包含所有參數的元數據和當前值的表__param_table。

(2)每個模塊獨立保存所使用參數的副本,運行過程中檢測PARAM_UPDATE 事件則將副本同步為__param_table 中的值。

2.2 飛控參數結構設計

參數結構設計由param_info_t 和param_data_t 兩個結構體定義:

(1)param_info_t,結構體,包括分組名、變量名(全局唯一)、默認值、類型、標志位(修改需要重啟、解鎖后禁止修改、是否系統預留等)和真實值地址。

(2)param_data_t,結構體,包括參數當前使用值、狀態位(表征參數是否修改,是否保存,是否啟用等)等。

2.3 飛控參數變量定義

參數變量定義包括param_info_t 和param_data_t兩部分,前者用于存儲參數元數據,后者用于存儲參數使用值。為了便于用戶使用,一般通過PARAM_DEFINE_FLOAT/INT32 等一系列宏來簡化參數定義,比如:

其中PARAM_EXPORT 宏將param_info_t 變量定義到lds 文件指定的ParamTab section 區域,這樣參數可以定義在任意*.c 文件,但均可統一通過section 地址來索引和查找,便于軟件模塊化開發。

通過以下方式獲取參數表格的首地址和數量,其中__param_section_start 和__param_section_end 是lds文件中ParamTab 區域的首尾地址:

2.4 飛控參數讀寫流程

飛控參數通過唯一變量名進行索引, 一個典型的參數讀寫流程見圖 2。param_find 函數從__param_table 中搜索第一個與name 相匹配的參數,返回其句柄,并將該參數的狀態設置為“已使用”;param_get函 數 將 參 數 當 前 值param_info_ptr->data->value 拷貝到本地,用于飛控計算。運行過程如果檢測到PARAM_UPDATE 事件,則重新拷貝。

圖2 飛控參數典型讀寫流程

param_set 函數用于修改參數的當前值,同時將該參數的狀態設置為“已修改”和“未保存”,并廣播一個PARAM_UPDATE 事件,其它模塊收到該事件,會將最新的參數值拷貝到本地。

2.5 飛控參數存儲機制

如圖3 所示,飛控啟動時,調用param_load 函數從默認存儲介質中讀取param_save_head_t 和param_save_data_t 數據并校驗:如果校驗失敗,則調用param_save 函數將“已修改”參數來初始化存儲介質;如果校驗成功,則在for 循環中調用param_find 和param_set 函數將參數修改為存儲值,并廣播PARAM_UPDATE 事件,通知其它模塊參數已經更新了。

圖3 飛控參數存儲控制流程

運行過程中,PARAM_AUTO_SAVE 后臺線程,如果檢測PARAM_UPDATE 事件(一般調用param_set 函數時觸發),則將所有標記為“已修改”的參數保存到存儲介質中,同時將參數狀態設置為“已保存”,但不會重置“已修改”狀態,保存到存儲的結構體數據為:

(1)param_save_head_t,存儲頭部信息,包含時間戳、參數個數,以及參數HASH 校驗。

(2)param_save_data_t,存儲參數內容,包含變量名和變量值,變量名作為參數的唯一索引,即使飛控軟件升級了,參數列表發生了變化,仍可以通過變量名與升級后的參數列表建立一一對應關系,不會因為程序升級導致已存參數失效或丟失。

2.6 與上位機通信接口

上位機對飛控參數的操作主要是獲取所有參數(見圖4)、讀取某個參數(見圖5)、修改某個參數(見圖6)。需要說明的是,通過改變PARAM_LIST 的屬性值,可以下載特定屬性的參數,比如只下載被修改的參數,或者只下載EKF 分組的參數,另外上位機在接收參數過程中,會進行超時和序號連續性判斷。

圖4 上位機獲取所有參數流程

圖5 上位機讀取某個參數流程

圖6 上位機修改某個參數流程

為了防止批量下載參數時阻塞通信鏈路,飛控每個發送周期(20 ms)只發送3 個參數,也就是每秒發送150 個參數,占用帶寬約43.36 kbps,絕大部分數據鏈都能滿足這個傳輸要求,比如Microhard P900 數傳擁有57.6 kbps~276 kbps 無線速率。

3 嵌入式軟件實現

某飛控系統基于RT-Thread V4.1.x[7]嵌入式實時操作系統;編譯工具鏈為GNU Arm Embedded Toolchain 10.3-2021.10[8];處理器為STM32H753II,CPU 主頻480 MHz,擁有2 Mb Flash 和1 Mb RAM,飛控內部運行了各種傳感器驅動、姿態位置估計、航線管理、位置控制、姿態控制等30 多個模塊,一共有649 個參數,其中整數132 個,浮點數517 個。

通過軟件在環測試、硬件在環測試,以及真機飛行測試等,通過累積1 660 多個小時試驗,參數管理模塊工作正常,能夠正確的讀取、修改、存儲飛控參數,上位機實時對參數進行管理,修改后的參數能夠及時同步使用模塊,試驗過程沒有出現參數管理故障。

4 結論

本研究提出了一套完整的飛控系統參數管理解決方案,涵蓋了飛控參數的讀取、修改、存儲以及與上位機通信等,支持多線程、支持模塊化,并成功應用到某飛控系統。試驗結果表明該方案完整、高效、可靠,并具備良好的擴展性,滿足飛控系統嵌入式軟件要求。

猜你喜歡
嵌入式定義管理
棗前期管理再好,后期管不好,前功盡棄
今日農業(2022年15期)2022-09-20 06:56:20
搭建基于Qt的嵌入式開發平臺
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
成功的定義
山東青年(2016年1期)2016-02-28 14:25:25
“這下管理創新了!等7則
雜文月刊(2016年1期)2016-02-11 10:35:51
人本管理在我國國企中的應用
現代企業(2015年8期)2015-02-28 18:54:47
Altera加入嵌入式視覺聯盟
倍福 CX8091嵌入式控制器
自動化博覽(2014年4期)2014-02-28 22:31:15
修辭學的重大定義
當代修辭學(2014年3期)2014-01-21 02:30:44
山的定義
公務員文萃(2013年5期)2013-03-11 16:08:37
主站蜘蛛池模板: 亚洲国产系列| 亚洲视频二| 国产成人精品一区二区免费看京| 亚洲精品成人福利在线电影| 国产成人艳妇AA视频在线| 丰满人妻久久中文字幕| 精品国产福利在线| 国产人人射| 婷婷综合在线观看丁香| 国产成人免费手机在线观看视频| 精品国产成人国产在线| 日本欧美视频在线观看| 亚洲香蕉久久| 2021精品国产自在现线看| 色首页AV在线| 国产精选自拍| 玩两个丰满老熟女久久网| 国产青榴视频| 精品国产污污免费网站| 久久香蕉国产线看观| 国产成人区在线观看视频| 亚洲欧洲AV一区二区三区| 欧美福利在线| 国产制服丝袜无码视频| 3D动漫精品啪啪一区二区下载| 欧美色视频日本| 国产美女自慰在线观看| 久久大香伊蕉在人线观看热2| 精品一區二區久久久久久久網站 | 久久99蜜桃精品久久久久小说| 亚洲欧美另类久久久精品播放的| 久久免费视频6| 亚洲第一国产综合| 国产精品毛片一区视频播| 久久夜色撩人精品国产| 成人精品免费视频| 亚洲美女一区| 欧美色视频网站| 一级片一区| 99精品在线看| 在线观看免费AV网| 亚洲天堂色色人体| 国产成人精品一区二区秒拍1o| 91在线国内在线播放老师| 日韩资源站| 丝袜亚洲综合| 成人免费黄色小视频| 国产00高中生在线播放| 亚洲精品在线91| 57pao国产成视频免费播放| 国产亚洲精久久久久久久91| 国产精品三区四区| 69国产精品视频免费| 亚洲第一成年网| 97视频精品全国在线观看| 国产欧美亚洲精品第3页在线| 伊人久综合| 欧美亚洲国产一区| 久久一本精品久久久ー99| 一级做a爰片久久免费| 亚洲精品你懂的| 亚洲欧美精品在线| 91色爱欧美精品www| 色综合综合网| 国产精品v欧美| 日韩经典精品无码一区二区| 国产系列在线| 成人日韩精品| 亚洲午夜片| 久久一色本道亚洲| 精品福利视频导航| 国产成人精品男人的天堂| 久久青草视频| 97视频免费在线观看| 91成人试看福利体验区| 国产精品亚欧美一区二区| 天天躁日日躁狠狠躁中文字幕| 国产青榴视频| 国产精品自在线拍国产电影| 亚洲性影院| 国产91导航| 成人福利在线看|