前言:車載軟件方案商藍馬艙行智能科技(上海)有限公司(以下簡稱:Landmark)和車載操作系統廠商睿賽德科技(以下簡稱:RT-Thread)以及西班牙eProsima聯合打造出的助力整車SOA功能量產落地的軟件平臺Gemini-OS,在【整車SOA突破性技術-區域控制器在聚焦】以及【整車SOA技術升級:將Micro-ROS運用于區域控制器】兩篇文章中詳細介紹了區域控制器作為連接大量傳感器/執行器與車載中央電腦的ECU,將Micro_ROS運用于其中,來實現AUTOSAR和RT-Thread同時部署在高性能多核MCU上。該平臺采用雙OS高效通信,得益于專用的IPC通信組件:GEMINI COM,該組件進行全雙工高速通信,本文中我們將詳細講解到GEMINI COM組件的構成與其工作方式。
GEMINI COM是負責承載包括但不限于進程/線程間、CPU核間、跨系統間調用、數據通信的組件,在底層傳輸協議的支撐下,實現了頻道隔離、一對一、一對多、多對一、多對多等通信模式,通過IPC_Channel組件實現通信,詳情見下圖:
GEMINI COM共分為五層:通信層由其它協議棧提供(如TCP/MQ/RPMSG等),負責支撐數據的可靠收發;包層負責打包數據,以固定單位打包,并可以支持拼接;幀層負責數據分片和ACK校驗、重發機制;消息層負責序列化/反序列化數據結構,支撐結構傳輸;調用層負責抽象出函數調用的概念,用于多模組間的功能互相調用。如下圖是其各個子模塊框架圖:
其中調用層、幀協議層、包協議層的設計使得發送和接收數據的維度更多,自定義處理邏輯的空間更大;通信層的設計使得GMINI COM組件與底層I/O模塊分離,可在任意數據傳輸協議棧上搭建通信。
通信層中,協議棧提供了TCP/MQ/RPMSG等,其中以RT_-Thread提供的RPMSG LITE為主要處理方式,詳情見下圖:
RPMSG相關處理工作是雙OS跨核通信的底層數據處理的重要環節部分,展現了新型的通信方式,且實現了以往不曾有過的功能,具體流程如下圖:
GEMINI COM集成了本地通信interface,對外包含三種接口:數據接口、調用接口、信號接口,其中主要的SOA接口均提供于調用層:代理接口(Proxy)為調用方函數,接口樁(Stub)為被調方函數,兩類函數可由IF_RegProxy和IF_RegStub接口靈活配置,該設計的亮點使得GEMINI COM組件的使用者能夠更靈活的配置需要掛載的調用,同時使其它應用程序開發者能無感知的調用跨核、跨系統、跨網絡的對端接口。
以其中燈光開關模塊舉例,Landmark方提供AutoSAR側的GEMINI COM端的控制燈光函數,并注冊Stub樁函數,RT-Thread方提供聲明Proxy函數,同時注冊Proxy函數,將調用接口函數提供出來給HMI調用,控制燈光狀態,并將狀態返回。該內存管理器獨立于操作系統平臺外的內存管理方式,對POSIX與非POSIX標準的操作系統均有良好的支撐。
-
控制器
+關注
關注
112文章
16214瀏覽量
177479 -
軟件
+關注
關注
69文章
4799瀏覽量
87175 -
COM組件
+關注
關注
0文章
3瀏覽量
6221
原文標題:全雙工高速通信通道:GEMINI COM
文章出處:【微信號:RTThread,微信公眾號:RTThread物聯網操作系統】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論