ARM 的 mbed 快速原型設(shè)計(jì)解決方案將 NXP LPC1768 微控制器、支持組件和智能 USB 接口與基于云的工具相結(jié)合,以實(shí)現(xiàn)對(duì)微控制器功能和應(yīng)用原型設(shè)計(jì)的有效評(píng)估。mbed 尋找可以優(yōu)化獲得工作原型的時(shí)間的技術(shù)和權(quán)衡,使設(shè)計(jì)人員能夠在設(shè)計(jì)周期的早期快速測(cè)試、評(píng)估和展示想法。
微控制器變得更小、更強(qiáng)大、更低功耗和更多連接,但價(jià)格卻不斷下降。對(duì)于能夠成功采用該技術(shù)的新市場(chǎng)來(lái)說(shuō),這是一個(gè)巨大的機(jī)會(huì)。其中的關(guān)鍵是確定微控制器可以解決的新問(wèn)題,并構(gòu)建概念驗(yàn)證,將想法轉(zhuǎn)化為潛在產(chǎn)品。
一旦已知所需的規(guī)范,該行業(yè)已經(jīng)為嵌入式工程師構(gòu)建了出色的工具來(lái)生產(chǎn)微控制器設(shè)計(jì)。但是,當(dāng)任務(wù)是證明一個(gè)概念或定義一個(gè)規(guī)范時(shí),即使對(duì)于有經(jīng)驗(yàn)的工程師來(lái)說(shuō),風(fēng)險(xiǎn)和時(shí)間尺度通常也不會(huì)加起來(lái)。結(jié)果是想法沒(méi)有得到嘗試;幾乎沒(méi)有迭代或設(shè)計(jì)空間探索;最終的設(shè)計(jì)也是原型,或者規(guī)格過(guò)于謹(jǐn)慎。鑒于在許多情況下,可以定義這些應(yīng)用程序的想法、觀察和見(jiàn)解將來(lái)自其他問(wèn)題領(lǐng)域的人,這些限制被放大了。這有可能成為采用的真正障礙。
戰(zhàn)略
mbed 的基本目標(biāo)是實(shí)現(xiàn)對(duì)微控制器功能的有效評(píng)估和可以應(yīng)用它們的應(yīng)用程序的原型設(shè)計(jì)。特別是,它旨在匹配產(chǎn)品設(shè)計(jì)其他方面的設(shè)計(jì)周期時(shí)間。有助于實(shí)現(xiàn)這一點(diǎn)的策略(圖 1)是尋找可以優(yōu)化獲得工作原型的時(shí)間的技術(shù)和權(quán)衡,而不是優(yōu)化設(shè)計(jì)本身。
圖 1:mbed 策略。
例如,微控制器的趨勢(shì)是以固定價(jià)格提高性能和存儲(chǔ)容量。雖然大多數(shù)工具專注于使用戶能夠在可創(chuàng)建的應(yīng)用程序的最終功能中利用此功能,但 mbed 卻專注于使用此性能和容量來(lái)減少設(shè)計(jì)挑戰(zhàn)。一個(gè)很好的例子是提供高級(jí)抽象,以犧牲實(shí)現(xiàn)效率和增加代碼大小為代價(jià)使功能可訪問(wèn)。
另一個(gè)關(guān)鍵目標(biāo)是克服進(jìn)入壁壘;技術(shù)接受模型(圖 2)提供了一個(gè)清晰的框架來(lái)實(shí)現(xiàn)這一點(diǎn),突出了易用性和感知有用性。感知有用性是由通過(guò)實(shí)驗(yàn)和教育對(duì)技術(shù)的洞察力驅(qū)動(dòng)的。原型設(shè)計(jì)方法自然支持用戶探索,同時(shí)使?fàn)I銷和應(yīng)用工程功能能夠輕松演示和展示技術(shù)。
圖 2:技術(shù)接受度(Davis 等,1989)。
易用性實(shí)際上非常依賴于上下文;大多數(shù)好的工具都很容易用于它們預(yù)期的任務(wù)。但對(duì)于不同的任務(wù),結(jié)果不太可能相同。通過(guò)明確定義快速原型設(shè)計(jì)的背景,將設(shè)計(jì)權(quán)衡集中在易用性上變得更有意義。對(duì)于業(yè)內(nèi)熟悉現(xiàn)有專有架構(gòu)和工具鏈的嵌入式開(kāi)發(fā)人員來(lái)說(shuō),改變可能會(huì)令人生畏,因?yàn)閺膶<业綄W(xué)習(xí)者會(huì)帶來(lái)額外的負(fù)面感覺(jué)。僅這些因素就足以推遲探索轉(zhuǎn)向現(xiàn)代解決方案的好處。對(duì)于新用戶來(lái)說(shuō),恐懼、不確定和懷疑同樣令人望而卻步。這使得初始體驗(yàn)變得至關(guān)重要;這些工具必須以很少的投資迅速產(chǎn)生結(jié)果,
入門(mén)
mbed 的目標(biāo)是讓新用戶盡快運(yùn)行他的第一個(gè)程序,從而建立對(duì)硬件和軟件工具鏈的信心和信任。mbed 工具應(yīng)用了一些新技術(shù)來(lái)實(shí)現(xiàn)這一點(diǎn),結(jié)果不言而喻;您可以在 60 秒內(nèi)開(kāi)始。這一成就意味著沒(méi)有理由不進(jìn)行實(shí)驗(yàn)。
成果是通過(guò)兩項(xiàng)創(chuàng)新實(shí)現(xiàn)的;基于硬件和編譯器工具的 USB 磁盤(pán)編程器,用作在 Web 瀏覽器中運(yùn)行的基于云計(jì)算的 Web 應(yīng)用程序。這些解決方案有一些明顯的好處,但有些不是立即顯而易見(jiàn)的。
預(yù)先設(shè)置的優(yōu)點(diǎn)是無(wú)需設(shè)置或安裝。對(duì)許多人來(lái)說(shuō),這只是一個(gè)驚喜,允許即時(shí)訪問(wèn)而無(wú)需管理職責(zé)。但是對(duì)于在許多教育和工作環(huán)境中發(fā)現(xiàn)的計(jì)算機(jī)系統(tǒng)被鎖定的其他人來(lái)說(shuō),這可能是能否測(cè)試微控制器的區(qū)別。
IDE 簡(jiǎn)單但功能強(qiáng)大,允許它不礙事,做它的設(shè)計(jì)目標(biāo)——編輯和編譯代碼。一切都預(yù)先配置好后,它可以在任何平臺(tái)上開(kāi)箱即用,包括 PC、Mac 或 Linux。這種即時(shí)無(wú)憂訪問(wèn)讓用戶對(duì)這些工具充滿信心,使用戶能夠在需要使用或演示時(shí)隨時(shí)取用它們。
由于現(xiàn)在在多臺(tái)計(jì)算機(jī)上工作很普遍,在線方法成為一個(gè)特別的優(yōu)勢(shì)。您不僅可以避免多次安裝的問(wèn)題并使它們保持同步,而且無(wú)論您身在何處,您的在線工作空間都會(huì)隨身攜帶。
微妙的優(yōu)勢(shì)是你看不到的東西。有些決定是您不必做出的,因?yàn)橐呀?jīng)做出了能夠?yàn)槿蝿?wù)提供最合適結(jié)果的選項(xiàng)和配置。
許多硬件和軟件基礎(chǔ)工作已經(jīng)完成。這些工具非常輕巧,可以在任何機(jī)器上登錄,從頭開(kāi)始創(chuàng)建項(xiàng)目,并在幾分鐘內(nèi)測(cè)試或修改某些內(nèi)容;這種靈活性會(huì)對(duì)工作方式產(chǎn)生重大影響。具有簡(jiǎn)化的設(shè)置意味著一切都可以輕松重現(xiàn)。
結(jié)合單一硬件和庫(kù)模型,所有其他 mbed 用戶都在相同的環(huán)境中進(jìn)行開(kāi)發(fā)。這使得社區(qū)支持變得更加容易,因?yàn)槿藗兛梢栽诠餐谋尘跋路窒韱?wèn)題和疑問(wèn)。
圖 3:在線編譯器。
快速原型
設(shè)計(jì) mbed 的硬件和軟件組件的架構(gòu)和實(shí)現(xiàn)在原型設(shè)計(jì)方面提供了獨(dú)特的優(yōu)勢(shì)。
mbed 微控制器硬件將 NXP LPC1768 微控制器、支持組件和智能 USB 接口封裝在實(shí)用的 40 針 0.1" 間距 DIP 外形尺寸中,非常適合在無(wú)焊面包板、條形板和通孔 PCB 上進(jìn)行實(shí)驗(yàn)。支持裸露的接口,mbed C/C++ 庫(kù)為微控制器外設(shè)提供高級(jí)接口,實(shí)現(xiàn)簡(jiǎn)潔、緊湊、API 驅(qū)動(dòng)的編碼方法。這種組合提供了與外設(shè)和模塊的即時(shí)連接,用于基于微控制器的系統(tǒng)設(shè)計(jì)的原型設(shè)計(jì)和迭代,為開(kāi)發(fā)人員提供更具創(chuàng)新性和生產(chǎn)力的自由。
圖 4 顯示了基本的 mbed 微控制器引腳排列,指示了接口資源的可用性和位置。指示的接口與在 mbed 庫(kù)中找到的接口相匹配。這突出了它們一起開(kāi)發(fā)的一些主要好處。API 提供了一個(gè)抽象的外圍接口,而不是特定于實(shí)現(xiàn)的。這些庫(kù)使用面向?qū)ο螅梢院芎玫赜成涞接行蔚奈锢碛布Y源。硬件、庫(kù)和文檔共享相同的接口命名和概念。
圖 4:mbed 微控制器引腳排列。
硬件和軟件之間的一致性實(shí)現(xiàn)了捕捉意圖的自然編程風(fēng)格,這對(duì)于快速實(shí)驗(yàn)和迭代至關(guān)重要。
例如,mbed 避免了引腳分配和資源分配通常需要的多個(gè)間接級(jí)別。這些往往會(huì)失去意義并引入錯(cuò)誤。
圖 5:配置和寫(xiě)入 SPI 設(shè)備。
圖 5 中的 SPI 示例演示了設(shè)置 SPI 主接口。首先,創(chuàng)建一個(gè) SPI 對(duì)象并將其綁定到所需的引腳(mosi、miso 和 sclk),如圖 4 中選擇的那樣。請(qǐng)注意,這個(gè)表達(dá)式現(xiàn)在在物理連接設(shè)備時(shí)同樣有用 - 規(guī)范已捕獲物理連接。
接下來(lái),在執(zhí)行寫(xiě)/讀事務(wù)之前配置 SPI 對(duì)象 (myspi) 的頻率和位格式。SPI 對(duì)象上的方法定義良好,界面直觀,操作獨(dú)立于底層硬件的低級(jí)設(shè)置或要求 事實(shí)上,要更改本示例中使用的 SPI 端口,只需引腳名稱即可需要改變。這有助于將設(shè)計(jì)的物理方面(使用的資源以及它們?nèi)绾喂潭ǎ┡c控制(它們做什么)分開(kāi)修改。
圖 6 顯示了一個(gè)捕獲意圖的類似示例。在這種情況下,每次在數(shù)字輸入引腳上發(fā)生上升沿中斷時(shí)都會(huì)調(diào)用一個(gè)函數(shù)。中斷是一個(gè)簡(jiǎn)單的概念,但眾所周知,設(shè)置和正常運(yùn)行非常復(fù)雜。使用 mbed,代碼在概念上非常簡(jiǎn)單。創(chuàng)建一個(gè)可以產(chǎn)生中斷的引腳,并在該引腳的上升沿附加一個(gè)功能。
圖 6:將函數(shù)附加到引腳中斷事件。
圖 7:mbed 庫(kù)接口。
該庫(kù)是使用自始至終的方法構(gòu)建的(參見(jiàn)圖 7),允許開(kāi)發(fā)人員專注于應(yīng)用程序邏輯而不是實(shí)現(xiàn)細(xì)節(jié)。
mbed 庫(kù)建立在低級(jí) ARM? Cortex? 微控制器軟件接口標(biāo)準(zhǔn) (CMSIS) 之上,CMSIS 是 Cortex-M 處理器系列的獨(dú)立于供應(yīng)商的硬件抽象層。
與 CMSIS 相比,mbed 庫(kù)提供了一個(gè)非常高級(jí)的 API,它專注于為外圍設(shè)備的基本控制提供抽象接口。這種結(jié)構(gòu)為用戶提供了一種自然的方式,可以盡可能地從 mbed 庫(kù)中受益,并在他們需要支持未提供的功能的地方添加基于 CMSIS 構(gòu)建的定制代碼。特別是,這使得在原型制作時(shí)只能夠?qū)⒕性陉P(guān)鍵或差異化方面。除了 mbed 庫(kù)之外,mbed 社區(qū)外設(shè)庫(kù)是一個(gè)擴(kuò)展的代碼庫(kù),用于控制連接到微控制器的外設(shè),例如傳感器、執(zhí)行器、LCD 和其他模塊。這些通常構(gòu)建在 mbed 庫(kù)之上,使系統(tǒng)能夠快速連接,專注于邏輯和功能而不是驅(qū)動(dòng)程序。
圖 8:mbed 庫(kù)架構(gòu)。
應(yīng)用示例
為了演示如何使用 mbed 實(shí)現(xiàn)一個(gè)簡(jiǎn)單的應(yīng)用實(shí)驗(yàn),下面的示例演示了一個(gè)由 Internet 數(shù)據(jù)庫(kù)控制的硬件設(shè)備。
圖 9 中的示例程序?qū)崿F(xiàn)了一個(gè)系統(tǒng),該系統(tǒng)在屏幕上顯示消息并根據(jù) HTTP 請(qǐng)求的結(jié)果移動(dòng)伺服電機(jī)。該解決方案不太可能是最優(yōu)的、穩(wěn)健的或完整的,但足以讓這個(gè)概念發(fā)揮作用。
該原型可以實(shí)現(xiàn)硬件的迭代、互聯(lián)網(wǎng)應(yīng)用程序的早期開(kāi)發(fā)、新市場(chǎng)的探索或?yàn)樘峤豁?xiàng)目提供案例。通過(guò)啟用一種可訪問(wèn)的方式來(lái)測(cè)試想法,mbed 有助于降低與產(chǎn)品開(kāi)發(fā)相關(guān)的風(fēng)險(xiǎn),并更頻繁地將高級(jí)微控制器設(shè)計(jì)到應(yīng)用程序中。
圖 9:通過(guò) Internet 應(yīng)用程序控制屏幕和伺服。
結(jié)論
對(duì)快速原型設(shè)計(jì)的關(guān)注使 mbed 具有廣泛的吸引力。對(duì)于剛接觸嵌入式應(yīng)用程序的工程師,mbed 將使他們能夠首次試驗(yàn)和測(cè)試產(chǎn)品創(chuàng)意。對(duì)于經(jīng)驗(yàn)豐富的工程師,mbed 提供了一種在開(kāi)發(fā)的概念驗(yàn)證階段提高生產(chǎn)力的方法。對(duì)于營(yíng)銷、分銷商和應(yīng)用工程師,mbed 為微控制器的演示、評(píng)估和支持提供了一致的平臺(tái)。因此,mbed 工具將幫助不同的受眾利用先進(jìn)的微控制器(如 NXP LPC1768)帶來(lái)的機(jī)會(huì)。
評(píng)論
查看更多