孫沛
摘 要:針對(duì)單片機(jī)、機(jī)器人等應(yīng)用對(duì)編程技能的需求,正在開(kāi)發(fā)軟硬件結(jié)合的平臺(tái);使用圖形化編程環(huán)境,以電子元件和模塊為硬件,從想法萌芽到軟件設(shè)計(jì)和電路模塊立即實(shí)現(xiàn)想法。接頭與結(jié)構(gòu)裝配的物理設(shè)計(jì)效果;電子應(yīng)用能力提升。
關(guān)鍵詞:軟硬件平臺(tái);嵌入式;開(kāi)發(fā)
引言
當(dāng)今社會(huì)正處于技術(shù)快速普及的時(shí)代。在過(guò)去的幾十年里,計(jì)算機(jī)已經(jīng)從少數(shù)人才負(fù)擔(dān)得起的昂貴研究設(shè)備變成了無(wú)處不在的個(gè)人助手。GPS也從軍事技術(shù)演變?yōu)閹缀跛幸苿?dòng)電子設(shè)備中都存在的組件,從定位導(dǎo)彈的方法到搜索周?chē)Х瑞^的方法。嵌入式系統(tǒng)設(shè)計(jì)也變得越來(lái)越流行。為了理解這種轉(zhuǎn)變,有必要研究典型的設(shè)計(jì)團(tuán)隊(duì)結(jié)構(gòu)以及團(tuán)隊(duì)如何根據(jù)市場(chǎng)需求和系統(tǒng)設(shè)計(jì)技術(shù)發(fā)展而變化。傳統(tǒng)的嵌入式系統(tǒng)設(shè)計(jì)團(tuán)隊(duì)由硬件工程師、軟件工程師和機(jī)械工程師在一名或多名應(yīng)用領(lǐng)域?qū)<业闹笇?dǎo)下組成。這些領(lǐng)域的專(zhuān)家根據(jù)他們對(duì)特定領(lǐng)域(如醫(yī)療、石油勘探或設(shè)備監(jiān)控)的深入了解來(lái)指導(dǎo)設(shè)計(jì)團(tuán)隊(duì)。每個(gè)設(shè)計(jì)的成功在很大程度上取決于領(lǐng)域?qū)<沂欠衲軌驅(qū)⑺麄兊南敕?zhǔn)確地傳達(dá)給具有使用標(biāo)準(zhǔn)嵌入式工具鏈技能的工程師團(tuán)隊(duì)。
由于領(lǐng)域?qū)<彝ǔH狈κ褂脧?fù)雜嵌入式系統(tǒng)構(gòu)建工具的經(jīng)驗(yàn),這些工具成為專(zhuān)家將其專(zhuān)業(yè)知識(shí)轉(zhuǎn)化為最終產(chǎn)品的障礙——減少快速迭代的次數(shù),這對(duì)于優(yōu)化設(shè)計(jì)和縮短上市時(shí)間至關(guān)重要。更重要的是,在過(guò)去,許多領(lǐng)域的專(zhuān)家都缺乏有效的執(zhí)行團(tuán)隊(duì)來(lái)首先將他們的想法轉(zhuǎn)化為設(shè)計(jì)。此外,復(fù)雜多樣的嵌入式工具鏈需要龐大的執(zhí)行專(zhuān)家團(tuán)隊(duì),這也提高了開(kāi)發(fā)新型嵌入式系統(tǒng)的門(mén)檻。
許多領(lǐng)先的設(shè)計(jì)團(tuán)隊(duì)現(xiàn)在都意識(shí)到將領(lǐng)域?qū)<抑糜谠O(shè)計(jì)過(guò)程的最前沿,將大型專(zhuān)業(yè)團(tuán)隊(duì)劃分為多個(gè)小型靈活團(tuán)隊(duì)的重要性,以便他們可以更加專(zhuān)注于將專(zhuān)業(yè)領(lǐng)域知識(shí)轉(zhuǎn)化為創(chuàng)新實(shí)踐。
1圖形化語(yǔ)言編程
眾所周知,計(jì)算機(jī)只能識(shí)別布爾量T或F,在數(shù)字表示中為1或0。所謂計(jì)算機(jī)語(yǔ)言就是代表程序的特定的1或0序列。但是人們通常無(wú)法理解這些序列并記住導(dǎo)致頭痛的原因。程序是機(jī)器識(shí)別的語(yǔ)言所描述的現(xiàn)實(shí)世界,空間分析是程序代碼所代表的計(jì)算機(jī)應(yīng)用。由于兩者對(duì)應(yīng)的問(wèn)題和表達(dá)方式不同,程序開(kāi)發(fā)變得復(fù)雜。工程中的圖形設(shè)計(jì)分析方法,如流程圖、框圖、表格、文本等,沒(méi)有語(yǔ)法和語(yǔ)義定義,是非正式的方法。很難用準(zhǔn)確的語(yǔ)法和語(yǔ)義定義來(lái)匹配編程語(yǔ)言。主要原因是編程語(yǔ)言只有“一維”屬性,由一系列字符組成;而平面設(shè)計(jì)分析具有“二維”屬性?;旧嫌袃煞N方法可以解決這個(gè)問(wèn)題。一是將平面設(shè)計(jì)分析轉(zhuǎn)化為線性表示,使設(shè)計(jì)方法形式化;二是賦予編程語(yǔ)言“二維”屬性,從而更容易匹配設(shè)計(jì)結(jié)果。事實(shí)上,圖形編程語(yǔ)言都采用了這種編程方式。圖形程序代碼包含符號(hào)和線條。符號(hào)對(duì)應(yīng)于文本語(yǔ)言中的代碼。代碼之間的相互傳輸由線路終止。圖形化編程就像由符號(hào)和線條組成的流程圖或網(wǎng)絡(luò)圖,而不是順序命令文件,因此具有二維功能。圖形編程軟件具有可視化界面和封裝的可視化控件。流程圖或網(wǎng)絡(luò)圖描述了系統(tǒng)的運(yùn)行過(guò)程,各部分在運(yùn)行過(guò)程中執(zhí)行一定的操作;流程圖中的符號(hào)可以設(shè)置參數(shù)或變量值,動(dòng)態(tài)改變程序的結(jié)構(gòu)和操作順序。尋找非常適合自己理解和觀察的圖形代碼是設(shè)計(jì)師的習(xí)慣。這些圖形代碼本身意味著需要計(jì)算機(jī)知識(shí)或特定編程語(yǔ)言語(yǔ)法的概念。這降低了程序設(shè)計(jì)的復(fù)雜度,提高了程序設(shè)計(jì)的效率。換句話說(shuō),圖形代碼由計(jì)算機(jī)軟件進(jìn)行處理以進(jìn)行控制和管理,這對(duì)于非計(jì)算機(jī)專(zhuān)家來(lái)說(shuō)非常重要。圖形可以被視為可以直接表達(dá)某些事物的圖像。同時(shí),更容易記憶和理解,因?yàn)閳D片的特征更加生動(dòng)形象。用戶可以自由添加不同類(lèi)型的程序模塊和圖標(biāo),給它們命名參數(shù),實(shí)現(xiàn)信息的傳遞,這也是對(duì)象編程(OOP)的核心思想之一。使用符號(hào)而不是代碼,所有程序員需要做的就是在需要時(shí)調(diào)用符號(hào)并連接??梢詫?shí)現(xiàn)編程。整個(gè)過(guò)程就像把設(shè)計(jì)思路寫(xiě)在紙上,畫(huà)框圖一樣,直觀、簡(jiǎn)單、有趣,你可以馬上把你的創(chuàng)意變成現(xiàn)實(shí)。
2圖形化編程原理
目前最常用的編程范式仍然是馮諾依曼機(jī)的運(yùn)行機(jī)制,純數(shù)據(jù)流的動(dòng)態(tài)模型主要用于圖形語(yǔ)言編程。由于圖形程序的二維特性,在程序執(zhí)行時(shí),只有模塊的入口數(shù)據(jù)全部到達(dá)時(shí)才執(zhí)行模塊,不能很好地與事件驅(qū)動(dòng)操作系統(tǒng)協(xié)調(diào)。因此,系統(tǒng)的響應(yīng)速度和運(yùn)行效率不高。LinkBoy圖形化編程平臺(tái)是一個(gè)協(xié)同調(diào)度內(nèi)核,一個(gè)面向?qū)ο蟮氖录|發(fā)模型,一個(gè)由軟硬件集成環(huán)境的電子元件組成的積木模塊。它使用定義的函數(shù)庫(kù)和圖形語(yǔ)法來(lái)完成產(chǎn)品項(xiàng)目的調(diào)試和運(yùn)行。與其他編程語(yǔ)言不同,平臺(tái)中的程序不是從“main(”開(kāi)始的。用戶編程的過(guò)程是編寫(xiě)每個(gè)事件的響應(yīng)代碼,每個(gè)事件由系統(tǒng)后臺(tái)自動(dòng)檢測(cè)和觸發(fā),如作為紅外接收器,用家用彩電遙控器按對(duì)著它的按鈕會(huì)觸發(fā)“紅外接收事件”;當(dāng)有人按下開(kāi)關(guān)時(shí),會(huì)觸發(fā)“打開(kāi)事件”等。有專(zhuān)門(mén)的嵌入式操作系統(tǒng)在后臺(tái),不僅執(zhí)行各個(gè)組件的底層驅(qū)動(dòng),還會(huì)分發(fā)各個(gè)組件觸發(fā)的事件,用戶只需要完成事件處理代碼即可。
3行業(yè)案例
將創(chuàng)新醫(yī)療器械推向市場(chǎng)的一個(gè)轉(zhuǎn)型案例是KCBioMedix,這是一家致力于解決早產(chǎn)兒常見(jiàn)喂養(yǎng)問(wèn)題的醫(yī)療器械公司。KCBioMedix開(kāi)發(fā)了一款名為NTrainerSystem的產(chǎn)品,它實(shí)際上是一種電腦控制的奶嘴,可以幫助醫(yī)生評(píng)估寶寶的喂養(yǎng)能力,幫助寶寶學(xué)習(xí)吸吮。一開(kāi)始,公司成立了一個(gè)小團(tuán)隊(duì),初步計(jì)劃將設(shè)計(jì)的商業(yè)化外包。但為了降低成本、縮短開(kāi)發(fā)時(shí)間,并直接應(yīng)用成員豐富的神經(jīng)科學(xué)和節(jié)律刺激療法知識(shí),團(tuán)隊(duì)成員決定自己完成設(shè)計(jì)。通過(guò)采用基于平臺(tái)的軟硬件方法,減少底層開(kāi)發(fā),KCBioMedix實(shí)現(xiàn)了更快的設(shè)計(jì)迭代,讓領(lǐng)域?qū)<腋苯拥貐⑴c進(jìn)來(lái)。最終,開(kāi)發(fā)時(shí)間從預(yù)期的4個(gè)月縮短到僅4周,成本也比預(yù)期減少了25萬(wàn)美元。
4可重新配置的現(xiàn)成硬件
集成硬件和軟件平臺(tái)的第一個(gè)重要部分是可重新配置的現(xiàn)成硬件。通過(guò)采用基于平臺(tái)的方法,嵌入式系統(tǒng)設(shè)計(jì)人員可以專(zhuān)注于算法設(shè)計(jì)、原型設(shè)計(jì)和快速部署,而無(wú)需自行開(kāi)發(fā)復(fù)雜的硬件和軟件。
5可互換的I/O和生態(tài)系統(tǒng)
集成軟件和硬件平臺(tái)的另一個(gè)基本組件是可互換的I/0。集成可互換I/O的平臺(tái)不僅提供了靈活性和可重用性,使同一塊計(jì)算板可以用于具有不同I/O集的多種設(shè)計(jì),同時(shí)還可以創(chuàng)建一個(gè)由以下部分組成的系統(tǒng)COTS和定制1/O。生態(tài)系統(tǒng)的組成。這
這些生態(tài)系統(tǒng)對(duì)于嵌入式平臺(tái)的功能擴(kuò)展非常重要,讓該領(lǐng)域的專(zhuān)家無(wú)需定制設(shè)計(jì)即可使用各種I/O、工業(yè)總線等信號(hào)和設(shè)備。
6結(jié)論
集成軟硬件平臺(tái)的第三個(gè)核心組件是高級(jí)系統(tǒng)設(shè)計(jì)軟件。這些工具可以在開(kāi)發(fā)過(guò)程中對(duì)系統(tǒng)架構(gòu)和I/O進(jìn)行抽象,從而提高生產(chǎn)效率并減少系統(tǒng)設(shè)計(jì)人員管理組件之間的通信、操作系統(tǒng)調(diào)用、系統(tǒng)時(shí)序和I/O等底層實(shí)現(xiàn)細(xì)節(jié)的需要解釋。此外,高級(jí)設(shè)計(jì)軟件的抽象有助于簡(jiǎn)明地描述功能行為,并在硬件或通信接口發(fā)生變化時(shí)促進(jìn)代碼重用。在開(kāi)發(fā)基于異構(gòu)架構(gòu)的嵌入式系統(tǒng)時(shí),高級(jí)系統(tǒng)設(shè)計(jì)工具可以抽象出單個(gè)計(jì)算元素(如FPGA)的架構(gòu),并提供一個(gè)領(lǐng)域?qū)<铱梢允褂玫慕y(tǒng)一編程模型,以便他們可以使用不同元素的功能.最終,這些工具和基于平臺(tái)的方法可以極大地簡(jiǎn)化設(shè)計(jì)過(guò)程,并使領(lǐng)域?qū)<夷軌蚋玫貙⑾敕ㄗ優(yōu)楝F(xiàn)實(shí)。
參考文獻(xiàn)
[1]基于集成軟硬件平臺(tái)的設(shè)計(jì)方法加速嵌入式系統(tǒng)開(kāi)發(fā)[J].《電子測(cè)量技術(shù)》,2013:125-126.
[2]唐鴻彬,蔣川湘,徐方云.基于嵌入式系統(tǒng)軟硬件聯(lián)合設(shè)計(jì)方法[J].電子技術(shù)與軟件工程,2018:199.
[3]管毅.基于ARM嵌入式軟硬件系統(tǒng)設(shè)計(jì)[J].信息與電腦(理論版),2015:20-21.