【轉發】國産自主“軟體定義”架構——openSCA核心架構永久開源
https://mp.weixin.qq.com/s/FRh_gXAinlIlQviNlqhdIg
一、什麼是openSCA(openSCA不局限于無線電)
SCA(軟體通信體系結構),起源于海灣戰争之後的五角大樓,為了解決美
國軍方和北約各國多達上百種軍用無線電裝置之間的資訊互通問題。它就像是給來自不同廠
家的、不同型号的裝置安裝了一套類似“安卓”的作業系統,而那個時候,還沒有“安卓”。
“軟體定義”的概念從此興起,來自不同領域的系統內建商們,越來越傾向于
使用一套架構(或者有些領域被稱之為作業系統)将硬體高度抽象并進行标準化的封裝,以
優化産業分工、優化生态、降低成本。介于硬體和應用軟體之間的這層架構,成為了一個行
業/領域是否能夠走進“軟體定義”的最直接技術門檻。
openSCA是介方資訊推出的用于軍用無線電裝置的“軟體定義”架構,然而,
我們對openSCA的架構做了深度的調整,它除了能夠很好地适配無線電應用場景外,我們
鼓勵開發者大膽地将它應用到更多的“軟體定義“領域中,譬如汽車、機器人、無人機等等。
這一點,我們期待開發者去進一步挖掘和發現更多的驚喜!
####二、openSCA的特性
作為一款純嵌入式的架構軟體,openSCA核心架構擁有9.1萬行源代碼,
ROS2.0目前的代碼行數已經達到18.9萬行,我們期待這次的開源能夠吸引開發者們在這
個基礎上,不斷對架構進行優化,并豐富即插即用的場景化元件和增強元件。
相比較國外OSSIE(RedHawk開源項目)來說,openSCA擁有高品質的代碼和更開放、
更靈活的架構,并在功能上做了很多強化。亮點1:即插即用的增強型功能擴充使用者可單獨
編譯自定義服務,例如新增事件服務,将可執行檔案及配置檔案放置平台包的Services目
錄下,如下圖所示:
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnL1MTN3QDMxgTMxIjNwkTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
然後在openSCA/frameworks/BootLoader/Bootloader.cpp中增加啟動事件
服務的接口即可,如下圖所示:
亮點2:靈活的傳輸機制(確定平滑替換中間件)openSCA對傳輸機制重
新進行了标準化封裝,在替換中間件時,無需修改架構代碼和上層應用的代碼。這樣,開發
者在替換傳輸機制(中間件),再也無需擔心為此付出昂貴的代價。
目前,開源版雖然隻支援TAO,但是其架構能夠支撐對中間件的平滑替換,
後續開源版将支援更多中間件,包括國産中間件。
亮點3:支援一個應用、多個執行個體
openSCA特有的機制,解決了人工智能場景和多部同型電台/資料鍊場景下
對同一個應用/波形進行N次執行個體化的問題。
亮點4:純國産,自主可控
亮點5:後續将支援國産嵌入式作業系統
####三、openSCA能夠運作在什麼硬體上?
openSCA可以免費地運作在任何硬體平台上,開發者隻需要将Linux操作
系統在對應的硬體平台上成功運作即可。此外,介方公司還為開發者提供了專用的開發闆
——jLabSDR,它由一片ZynqSOC處理器和一片AD9371構成,能夠适用目前市面上90%
以上的通信場景(包括用來做5G終端),該産品的詳細情況可以登入介方資訊官網檢視。
![在這裡插入圖檔描
述](https://img-blog.csdnimg.cn/20190621181310801.png?x-oss-process=image/waterm
ark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ub
mV0L2phdmFfY2ps,size_16,color_FFFFFF,t_70)
介方jLabSDR開發闆實物圖
####四、openSCA項目的貢獻者有哪些?
實際上,這是一個無效的問題,因為你可以為openSCA貢獻任何可以貢獻
的。我們概括了以下幾類貢獻者:
#####第一類:增強型功能及服務貢獻者
對openSCA架構本身,以及基于架構的各類共性服務很感興趣,他們往往
來自計算機、自動化與控制專業等。第二類:通信算法/波形貢獻者對通信算法和波形感興
趣,往往來自通信、信号處理、網絡等專業。第三類:人工智能場景下的算法貢獻者對智
能無線電、認知無線電、人工智能感興趣,往往來自人工智能、計算機、通信、信号處理、
網絡等專業。第四類:場景擴充貢獻者對所在場景下的“軟體定義”感興趣,正在尋求或者
開發一款對應于自己場景的“軟體定義”架構。如果你是這一類開發者,事實上,openSCA
已經幫你完成了9.1萬行的代碼開發工作,你隻需要基于openSCA展開與你所在場景相關
的适應性開發即可。
對于所有的開發者,我們提醒您,openSCA采用GNUGPLv3開源協定,
您在加入該項目開發時,請務必認真了解該協定内容。
####五、你可以用openSCA做什麼?
硬體設計/制造商:如果你是硬體設計/制造商,你不妨嘗試将openSCA移
植到你的硬體上,使你的使用者能夠免費共享openSCA及其生态的成果。這個過程,你無需
向任何人付費。算法/波形設計商:你可以在openSCA的平台上開發和驗證你的算法和波
形,不僅僅因為我們為你提供了免費的軟體架構和免費開發工具,更因為你的波形一旦在
openSCA驗證成功,它将能夠很快被移植到客戶所要求的其他平台上。同樣,這個過程,
你無需向任何人付費。
####六、介方資訊為開發者提供哪些支援?
支援1:免費的遠端技術支援
無論你是開發者,還是使用者,可以将問題釋出到開源社群(介方後續将會
推出對應的技術論壇),介方的工程師會及時答複你的問題。
支援2:終身免費使用介方的開發工具
介方為openSCA開源提供了可終身免費使用的開發工具sdrIDE版本,并
且會定期進行維護更新。
支援3:提供成果交易機會,回報優質開發者
開發者可以将自己在openSCA的成果形成“開源版”和“商業版”,“開源版”可
以通過openSCA實作示範和驗證。
支援4:即将釋出開源硬體項目
幫助開發者快速進行更加系統的開發工作。
支援5:持續的項目版本更新
介方資訊将對openSCA開源項目進行持續、頻繁的更新。
####七、不同版本的SCA/SDS架構對比
![在這裡插入圖檔描
述](https://img-blog.csdnimg.cn/20190621181620333.png?x-oss-process=image/waterm
ark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ub
mV0L2phdmFfY2ps,size_16,color_FFFFFF,t_70)
####八、開源項目擷取和參與方式
進入GitHub搜尋openSCA,因該項目6月15日剛剛公開,GitHub可能無
法搜尋到,你也可以點選以下連結:https://github.com/JFounderSDR/openSCA
關注本公衆号掌握“軟體定義”和軍工行業科技動态,還有更多驚喜哦