日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]隨著嵌入式系統(tǒng)不斷普及,我們可以從積累的開(kāi)發(fā)知識(shí)中獲得巨大優(yōu)勢(shì),構(gòu)建更出色的系統(tǒng)。 工程師一刻也沒(méi)忘記交付能同時(shí)滿足質(zhì)量、時(shí)間安排和預(yù)算目標(biāo)的項(xiàng)目的需求。一個(gè)事

隨著嵌入式系統(tǒng)不斷普及,我們可以從積累的開(kāi)發(fā)知識(shí)中獲得巨大優(yōu)勢(shì),構(gòu)建更出色的系統(tǒng)。
工程師一刻也沒(méi)忘記交付能同時(shí)滿足質(zhì)量、時(shí)間安排和預(yù)算目標(biāo)的項(xiàng)目的需求。一個(gè)事半功倍的方法 就是借鑒嵌入式系統(tǒng)開(kāi)發(fā)人員社區(qū)多年來(lái)累計(jì)的經(jīng)驗(yàn)教訓(xùn)。下面我們就來(lái)了解一些為嵌入式開(kāi)發(fā)帶來(lái)了最佳實(shí)踐的重要經(jīng)驗(yàn)。大家隨用隨取哈。
系統(tǒng)地思考
系統(tǒng)工程是一個(gè)廣泛的專(zhuān)業(yè)領(lǐng)域,覆蓋從航空母艦及衛(wèi)星到實(shí)現(xiàn)其性能的嵌入式系統(tǒng)的所有開(kāi)發(fā)工作。我們可以運(yùn)用系統(tǒng)工程方法管理從概念到使用周期結(jié)束處置的嵌入式系統(tǒng)工程生命周期。系統(tǒng)工程方案的第一階段不是確立系統(tǒng)需求,而是制定系統(tǒng)工程管理規(guī)劃。這一規(guī)劃不僅將為系統(tǒng)定義工程生命周期以及開(kāi)發(fā)團(tuán)隊(duì)將要開(kāi)展的設(shè)計(jì)評(píng)審,而且還將定義這些評(píng)審的預(yù)期輸入輸出。該規(guī)劃可根據(jù)工程事件的次序和每個(gè)階段的先決條件,為項(xiàng)目管理、工程和客戶群體做出明確的定義。簡(jiǎn)而言之,它可展示預(yù)期和可交付項(xiàng)。
在清楚理解工程生命周期的情況下,系統(tǒng)思考的下一步是確立正在開(kāi)發(fā)嵌入式系統(tǒng)的需求。良好的需求集應(yīng)覆蓋三個(gè)方面:
功能需求定義嵌入式系統(tǒng)如何開(kāi)展工作。
非功能需求定義法規(guī)遵從與可靠性等方面的問(wèn)題。
環(huán)境需求定義工作溫度和沖擊與振動(dòng)以及電氣環(huán)境(例如 EMI 和 EMC)等方面的需求。
在較大規(guī)模的開(kāi)發(fā)工作中,這些需求將從較高層次的規(guī)范向下延伸并且可跟蹤,比如系統(tǒng)或子系統(tǒng)規(guī)范(圖 1)。如果沒(méi)有較高層次的規(guī)范,我們必須在開(kāi)發(fā)過(guò)程中接觸利益相關(guān)方,確立一套明確的利益相關(guān)方需求,然后將其用于確立嵌入式系統(tǒng)需求。


圖 1:在開(kāi)發(fā)工作中,需求從較高層次的規(guī)范向下延伸并且可跟蹤


生成一個(gè)良好的需求集,需要我們充分思考每一個(gè)需求,才能確保其符合這些標(biāo)準(zhǔn):
它是必要的。沒(méi)有需求,我們的項(xiàng)目就不會(huì)取得成功。
它是可驗(yàn)證的。我們必須確保該需求能通過(guò)檢驗(yàn)、測(cè)試、分析或演示實(shí)現(xiàn)。
它是可實(shí)現(xiàn)的。在給定的約束條件下,該需求在技術(shù)層面上是可以實(shí)現(xiàn)的。
它是可追蹤的。該需求能夠從較低層次的需求進(jìn)行追蹤,而且可追蹤較高層次的需求。
它是唯一的。這項(xiàng)標(biāo)準(zhǔn)可防止需求之間的界限不清。
它是簡(jiǎn)單清晰的。每條需求指定一項(xiàng)功能。
為體現(xiàn)意圖,在定義需求時(shí)還常常使用特定語(yǔ)言。一般我們對(duì)強(qiáng)制性要求使用“必須”,對(duì)非強(qiáng)制性要求使用“應(yīng)該”。非強(qiáng)制性要求可讓我們表達(dá)必要的系統(tǒng)屬性。
在我們確立了我們的需求底線后,最佳實(shí)踐就是創(chuàng)建一個(gè)合規(guī)矩陣,說(shuō)明符合每項(xiàng)需求。我們還可以通過(guò)為每項(xiàng)需求分配一種驗(yàn)證方法開(kāi)始確立我們的驗(yàn)證策略。這些方法一般是測(cè)試、分析、檢驗(yàn)、演示和交叉讀取。根據(jù)合規(guī)及驗(yàn)證矩陣創(chuàng)建需求能讓我們:
清晰地了解系統(tǒng)行為。
向內(nèi)部測(cè)試團(tuán)隊(duì)和外部客戶都演示驗(yàn)證方法。這不僅可在開(kāi)發(fā)過(guò)程的早期階段發(fā)現(xiàn)任何困難的測(cè)試方法,而且還可幫助我們確定所需的資源。
確定技術(shù)性能指標(biāo)。這些指標(biāo)來(lái)自合規(guī)矩陣,由存在無(wú)法合規(guī)的風(fēng)險(xiǎn)的各種需求構(gòu)成。
分配工程預(yù)算
每個(gè)工程項(xiàng)目都涵蓋一定數(shù)量的預(yù)算,我們應(yīng)將其分配給在架構(gòu)中識(shí)別的解決方案。預(yù)算分配不僅可確保項(xiàng)目實(shí)現(xiàn)整體需求,而且還可確保每個(gè)模塊的設(shè)計(jì)牽頭人理解模塊的分配,以創(chuàng)建適當(dāng)?shù)慕鉀Q方案。我們分配預(yù)算的典型領(lǐng)域有功能的總質(zhì)量、功能的總功耗、用平均故障間隔時(shí)間或成功概率定義的可靠性以及設(shè)計(jì)中信號(hào)類(lèi)型間的正當(dāng)串?dāng)_(一般是一套適用于大量功能的通用規(guī)則集)。確立工程預(yù)算最重要的方面之一是確保我們有足夠的應(yīng)急分配。但我們必須戰(zhàn)勝應(yīng)急再加應(yīng)急的想法,因?yàn)檫@會(huì)成為影響時(shí)間安排和成本的嚴(yán)重技術(shù)問(wèn)題。
為在我們架構(gòu)中使用的每項(xiàng)技術(shù)分配一個(gè)技術(shù)就緒指數(shù),再結(jié)合合規(guī)矩陣,可幫助我們確定技術(shù)風(fēng)險(xiǎn)的所在位置。
管理技術(shù)風(fēng)險(xiǎn)
從合規(guī)矩陣及工程預(yù)算的生成看,我們應(yīng)該能夠識(shí)別在技術(shù)上有難度的需求。每一個(gè)這類(lèi)有風(fēng)險(xiǎn)的需求都應(yīng)該有明確的規(guī)避計(jì)劃,其將說(shuō)明我們將如何實(shí)現(xiàn)這一需求。展示這一點(diǎn)的最佳途徑之一是使用技術(shù)就緒指數(shù) (TRL)。TRL 有 9 級(jí),從所觀察到的基本原理 (TRL1) 到完整功能與實(shí)地部署 (TRL9) 描述設(shè)計(jì)成熟度級(jí)數(shù)。把 TRL 分配給我們架構(gòu)中使用的每一項(xiàng)技術(shù),再結(jié)合合規(guī)矩陣,可幫助我們確定技術(shù)風(fēng)險(xiǎn)的所在位置。我們隨后可啟動(dòng)一個(gè) TRL 開(kāi)發(fā)規(guī)劃,確保在項(xiàng)目不斷推進(jìn)時(shí),低 TRL 領(lǐng)域會(huì)提升到所需的 TRL 水平。該規(guī)劃涉及的內(nèi)容可確保我們?cè)陧?xiàng)目推進(jìn)時(shí)實(shí)現(xiàn)和測(cè)試正確的功能,或是在項(xiàng)目推進(jìn)的過(guò)程中執(zhí)行功能或環(huán)境/動(dòng)態(tài)測(cè)試。


圖 2:在本電源架構(gòu)示例中,模塊的輸出軌需要二級(jí)穩(wěn)壓


該架構(gòu)不應(yīng)僅限于硬件(電氣)解決方案,還應(yīng)包含 FPGA/SoC 及相關(guān)軟件的架構(gòu)。
創(chuàng)建架構(gòu)
理解嵌入式系統(tǒng)要求的行為后,我們就需要為解決方案創(chuàng)建一個(gè)架構(gòu)。該架構(gòu)將由分組成功能塊的需求構(gòu)成。例如,如果嵌入式系統(tǒng)必須處理模擬輸入或輸出,架構(gòu)就將包含模擬 I/O 模塊。其它模塊可能會(huì)更加明顯,比如電源調(diào)節(jié)、時(shí)鐘和復(fù)位生成。
該架構(gòu)不應(yīng)僅限于硬件(電氣)解決方案,還應(yīng)包含 FPGA/SoC 及相關(guān)軟件的架構(gòu)。當(dāng)然,模塊化設(shè)計(jì)的關(guān)鍵是針對(duì)模塊及功能行為的良好接口文檔編制。
該架構(gòu)的一個(gè)關(guān)鍵方面是展現(xiàn)如何在高層次上創(chuàng)建系統(tǒng),這樣工程團(tuán)隊(duì)就能輕松理解其實(shí)現(xiàn)方式。該步驟也是在系統(tǒng)運(yùn)行生命周期中為系統(tǒng)提供支持的關(guān)鍵。
在確定我們的架構(gòu)時(shí),我們需要考慮模塊化方法,這樣不僅能在當(dāng)前項(xiàng)目上進(jìn)行復(fù)用,而且還能在未來(lái)的項(xiàng)目上進(jìn)行復(fù)用。模塊化要求我們從第一天起就考慮可能的復(fù)用,并要求我們把每個(gè)模塊存檔為一個(gè)獨(dú)立的單元。就內(nèi)部 FPGA/SoC 模塊而言,像 ARM? AMBA? 高級(jí)可擴(kuò)展接口 (AXI) 這樣的通用接口標(biāo)準(zhǔn)有助于實(shí)現(xiàn)復(fù)用。
模塊化設(shè)計(jì)的一個(gè)重大優(yōu)勢(shì)就是能夠針對(duì)某些需求使用商用現(xiàn)成的模塊。商用現(xiàn)成(COTS)模塊讓我們能夠以更快的速度開(kāi)發(fā)系統(tǒng),因?yàn)榻柚?COTS,我們能夠把我們的工作重點(diǎn)放在項(xiàng)目從我們的專(zhuān)業(yè)能力產(chǎn)生的增值中獲益最大的部分上。
系統(tǒng)電源架構(gòu)是一個(gè)需要縝密思考的的設(shè)計(jì)方面。許多嵌入式系統(tǒng)會(huì)要求隔離 AC/DC 或 DC/DC 轉(zhuǎn)換器來(lái)確保嵌入式系統(tǒng)的故障不會(huì)擴(kuò)散。圖 2 顯示的是電源架構(gòu)的示例。來(lái)自該模塊的輸出軌需要二級(jí)調(diào)整來(lái)為處理內(nèi)核和轉(zhuǎn)換裝置提供電壓。我們必須仔細(xì)防范這些階段發(fā)生嚴(yán)重的開(kāi)關(guān)損耗和效率下降。因?yàn)樾式档鸵馕吨到y(tǒng)熱耗散增大,如果不正確解決就會(huì)影響單元的可靠性。
我們必須仔細(xì)了解使用的線性調(diào)整器的行為以及在電源線上進(jìn)行進(jìn)一步濾波的要求。這一要求的原因是 FPGA 和處理器等器件的開(kāi)關(guān)頻率遠(yuǎn)遠(yuǎn)高于線性調(diào)整器的控制環(huán)路所能應(yīng)對(duì)的水平。隨著噪聲頻率提高,線性調(diào)整器的噪聲抑制能力下降,導(dǎo)致需要采用額外的濾波和去藕技術(shù)。如果不了解這一關(guān)系,會(huì)造成混合信號(hào)設(shè)備出現(xiàn)問(wèn)題。
另一個(gè)重要的考慮因素是時(shí)鐘和復(fù)位架構(gòu),尤其是在有多個(gè)需要同步的開(kāi)發(fā)板的情況下。在架構(gòu)層面我們必須考慮時(shí)鐘分配網(wǎng)絡(luò):我們是否在跨多個(gè)開(kāi)發(fā)板扇出單個(gè)振蕩器,或是使用多個(gè)頻率相同的振蕩器?為確保時(shí)鐘分配的穩(wěn)健可靠性,我們必須考慮:
振蕩器啟動(dòng)時(shí)間。我們必須確保在整個(gè)時(shí)間周期內(nèi)激活復(fù)位(如果需要)。
振蕩器歪斜。如果我們要在跨多個(gè)開(kāi)發(fā)板扇出振蕩器,時(shí)序是否至關(guān)重要?如果是,我們需要考慮線路卡上的歪斜(連接器引起的)和緩沖器自身引起的歪斜。
振蕩器抖動(dòng)。如果我們?cè)陂_(kāi)發(fā)混合信號(hào)設(shè)計(jì),我們需要確保使用低抖動(dòng)時(shí)鐘源,因?yàn)槎秳?dòng)的增大會(huì)降低混合信號(hào)轉(zhuǎn)換器的信噪比。在我們使用千兆位級(jí)串行鏈路時(shí)情況也是一樣,因?yàn)槲覀冃枰褂玫投秳?dòng)時(shí)鐘源在鏈路上取得良好的誤碼率。
我們也必須注意復(fù)位架構(gòu),確保只在需要的地方使用復(fù)位。例如基于 SRAM 的 FPGA 一般不需要復(fù)位。
如果我們?cè)谑褂脧?fù)位的異步激活,我們需要確保移除它不會(huì)導(dǎo)致亞穩(wěn)態(tài)問(wèn)題。
清晰定義接口
內(nèi)外部接口的正式文檔在機(jī)械、物理和電氣層面為各個(gè)接口提供清晰的定義,以及協(xié)議和控制流。這些正式文檔也往往被稱(chēng)為接口控制文檔 (ICD)。當(dāng)然最好是盡量使用標(biāo)準(zhǔn)通信接口。
接口定義最重要的一個(gè)方面是外部接口的“連接化”。這個(gè)過(guò)程考慮了所需連接器的引腳分配,連接器引腳的額定功率以及所要求的插拔次數(shù),以及任何對(duì)屏蔽的要求。
在我們?yōu)槲覀兊南到y(tǒng)考慮連接器類(lèi)型的時(shí)候,我們應(yīng)確保不會(huì)因?yàn)樵谧酉到y(tǒng)中使用相同類(lèi)型連接器而造成不利的交叉連接。通過(guò)使用不同類(lèi)型連接器或采用不同的連接器鍵位(如果支持),我們就能夠避免交叉連接的可能性。
連接化是我們開(kāi)始使用之前確定的預(yù)算要求的首個(gè)方面之一。特別是我們可以使用串?dāng)_預(yù)算來(lái)指引我們定義引腳分配。圖 3 所示的例子說(shuō)明了這一流程的重要性。重新安排引腳分配,將接地基準(zhǔn)電壓 (GND) 引腳布局在信號(hào) 1 和信號(hào) 2 之間,可以降低互感以及由此引發(fā)的串?dāng)_。


圖 3:連接化是接口定義最重要的特征之一


接口控制文檔 (ICD) 必須對(duì)系統(tǒng)接地進(jìn)行定義,尤其是在項(xiàng)目要求外部 EMC 的時(shí)候。在這種情況下,我們必須小心避免讓有噪聲的信號(hào)地產(chǎn)生輻射。
工程師和項(xiàng)目經(jīng)理掌握著一系列策略,以確保他們交付的嵌入式系統(tǒng)能夠滿足質(zhì)量、成本和調(diào)度要求。不過(guò)當(dāng)項(xiàng)目遇到困難時(shí),我們可以確信在項(xiàng)目不發(fā)生重大變化的情況下其此前的性能是其未來(lái)性能的良好提示。

1次

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

在工業(yè)物聯(lián)網(wǎng)設(shè)備部署中,Modbus通信故障是導(dǎo)致系統(tǒng)停機(jī)的首要原因之一。據(jù)統(tǒng)計(jì),超過(guò)60%的現(xiàn)場(chǎng)問(wèn)題源于通信配置錯(cuò)誤或數(shù)據(jù)解析異常。本文從嵌入式系統(tǒng)開(kāi)發(fā)視角,系統(tǒng)闡述Modbus通信調(diào)試的方法論,結(jié)合實(shí)際案例解析如何高...

關(guān)鍵字: 嵌入式系統(tǒng) Modbus通信

在嵌入式系統(tǒng)開(kāi)發(fā)中,看門(mén)狗(Watchdog Timer, WDT)是保障系統(tǒng)可靠性的核心組件,其初始化時(shí)機(jī)的選擇直接影響系統(tǒng)抗干擾能力和穩(wěn)定性。本文從硬件架構(gòu)、軟件流程、安全規(guī)范三個(gè)維度,系統(tǒng)分析看門(mén)狗初始化的最佳實(shí)踐...

關(guān)鍵字: 單片機(jī) 看門(mén)狗 嵌入式系統(tǒng)

人工智能(AI)和機(jī)器學(xué)習(xí)(ML)是使系統(tǒng)能夠從數(shù)據(jù)中學(xué)習(xí)、進(jìn)行推理并隨著時(shí)間的推移提高性能的關(guān)鍵技術(shù)。這些技術(shù)通常用于大型數(shù)據(jù)中心和功能強(qiáng)大的GPU,但在微控制器(MCU)等資源受限的器件上部署這些技術(shù)的需求也在不斷增...

關(guān)鍵字: 嵌入式系統(tǒng) 人工智能 機(jī)器學(xué)習(xí)

Zephyr開(kāi)源項(xiàng)目由Linux基金會(huì)維護(hù),是一個(gè)針對(duì)資源受限的嵌入式設(shè)備優(yōu)化的小型、可縮放、多體系結(jié)構(gòu)實(shí)時(shí)操作系統(tǒng)(RTOS)。近年來(lái),Zephyr RTOS在嵌入式開(kāi)發(fā)中的采用度逐步增加,支持的開(kāi)發(fā)板和傳感器不斷增加...

關(guān)鍵字: 嵌入式系統(tǒng) 軟件開(kāi)發(fā) 實(shí)時(shí)操作系統(tǒng) Zephyr項(xiàng)目

在資源受限的嵌入式系統(tǒng)中,代碼執(zhí)行效率和內(nèi)存占用始終是開(kāi)發(fā)者需要權(quán)衡的核心問(wèn)題。內(nèi)聯(lián)函數(shù)(inline functions)和宏(macros)作為兩種常見(jiàn)的代碼展開(kāi)技術(shù),在性能、可維護(hù)性和安全性方面表現(xiàn)出顯著差異。本文...

關(guān)鍵字: 內(nèi)聯(lián)函數(shù) 嵌入式系統(tǒng)

在嵌入式系統(tǒng)和服務(wù)器開(kāi)發(fā)中,日志系統(tǒng)是故障排查和運(yùn)行監(jiān)控的核心組件。本文基于Linux環(huán)境實(shí)現(xiàn)一個(gè)輕量級(jí)C語(yǔ)言日志庫(kù),支持DEBUG/INFO/WARN/ERROR四級(jí)日志分級(jí),并實(shí)現(xiàn)按大小滾動(dòng)的文件輪轉(zhuǎn)機(jī)制。該設(shè)計(jì)在某...

關(guān)鍵字: C語(yǔ)言 嵌入式系統(tǒng)

在嵌入式系統(tǒng)和底層驅(qū)動(dòng)開(kāi)發(fā)中,C語(yǔ)言因其高效性和可控性成為主流選擇,但缺乏原生單元測(cè)試支持成為開(kāi)發(fā)痛點(diǎn)。本文提出一種基于宏定義和測(cè)試用例管理的輕量級(jí)單元測(cè)試框架方案,通過(guò)自定義斷言宏和測(cè)試注冊(cè)機(jī)制,實(shí)現(xiàn)無(wú)需外部依賴的嵌入...

關(guān)鍵字: C語(yǔ)言 嵌入式系統(tǒng) 驅(qū)動(dòng)開(kāi)發(fā)

在嵌入式系統(tǒng)與驅(qū)動(dòng)開(kāi)發(fā)中,內(nèi)存映射I/O(Memory-Mapped I/O, MMIO)是一種將硬件寄存器映射到處理器地址空間的技術(shù),允許開(kāi)發(fā)者通過(guò)指針直接讀寫(xiě)寄存器,實(shí)現(xiàn)高效、低延遲的硬件控制。本文通過(guò)C語(yǔ)言實(shí)戰(zhàn)案例...

關(guān)鍵字: 內(nèi)存映射 I/O操作 嵌入式系統(tǒng)

在嵌入式系統(tǒng)開(kāi)發(fā)和多線程編程中,程序崩潰、內(nèi)存越界等復(fù)雜問(wèn)題常令開(kāi)發(fā)者困擾。GDB作為強(qiáng)大的調(diào)試工具,其條件斷點(diǎn)和內(nèi)存查看功能可精準(zhǔn)定位隱蔽缺陷。本文通過(guò)實(shí)際案例演示這些高級(jí)功能的應(yīng)用,幫助開(kāi)發(fā)者提升調(diào)試效率。

關(guān)鍵字: GDB 嵌入式系統(tǒng)
關(guān)閉