0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

平衡速度與優(yōu)先級:為多樣化的實時需求打造嵌入式網(wǎng)絡(luò)(1)——選擇正確的實時范圍

虹科智能自動化 ? 2023-10-25 08:04 ? 次閱讀

以往與實時通信相關(guān)的文章往往關(guān)注一些細節(jié)——如何從嵌入式系統(tǒng)CAN、CANopen或?qū)崟r通信系統(tǒng)的某個特定方面實現(xiàn)“最佳”??紤]這些具體細節(jié)如何應(yīng)用于更廣泛的應(yīng)用及其獨特性要求至關(guān)重要,而這可能會導(dǎo)致文章的讀者質(zhì)疑是否正確實現(xiàn)了這些功能而導(dǎo)致不確定性。對此,筆者認為如果您的系統(tǒng)所需的響應(yīng)速度在100ms范圍內(nèi),那么您無需詳細檢查每一個增加一毫秒或更短延遲的原因。

舉個例子,在CAN通信中,沖突是通過優(yōu)先級來解決的。然而,在沒有沖突的情況下,即使是最低優(yōu)先級的幀也可以立即訪問網(wǎng)絡(luò)。因此,如果您的系統(tǒng)只有50%或更少的總線負載,并且采用了一些機制,沒有設(shè)備可以產(chǎn)生連續(xù)的高優(yōu)先級流量,那么關(guān)于優(yōu)化優(yōu)先級或按優(yōu)先級管理軟件處理程序的討論可能純粹是理論上的,沒有重大的實際應(yīng)用。

安全性越發(fā)重要。在計時行為的背景下,必須認識到,如果您的信號需要安全或保障措施或兩者兼而有之,則需要額外的元數(shù)據(jù)來保護原始信號數(shù)據(jù)。這可能包括冗余信息、計數(shù)器、時間戳和各種加密校驗。

因此,本系列文章將從“選擇正確的實時范圍”出發(fā),審視應(yīng)用程序的要并了解我們正在運行的“大概范圍”,然后在第二部分的“實時通信系統(tǒng)的需求”中著眼于不同的應(yīng)用程序所需的不同時間范圍;在第三部分的“基于CAN總線的系統(tǒng)的時間動態(tài)”中,我們將我們的發(fā)現(xiàn)引用于CAN和CANopen,并出了有關(guān)配置通信以滿足之前發(fā)現(xiàn)的需求的建議,最后則是從理論到實踐,完成一次CANopen源代碼配置并展示該過程中通??捎玫膬?yōu)化選項。


嵌入式系統(tǒng)領(lǐng)域,實時應(yīng)用占據(jù)著至關(guān)重要的地位。這些應(yīng)用程序的特點是要求在特定時間范圍內(nèi)處理輸入并產(chǎn)生輸出。它們提供的結(jié)果的準確性不僅取決于其邏輯正確性,還取決于其響應(yīng)的精確時間。當這些系統(tǒng)與物理世界交互時,風(fēng)險可能很高,通常涉及人類安全、產(chǎn)品質(zhì)量或高效的系統(tǒng)運行。因此,這些應(yīng)用程序的響應(yīng)能力成為其設(shè)計的基本方面。

然而,“在特定時間范圍內(nèi)”可能因應(yīng)用程序的不同而有很大不同。對于大型船舶的舵和推力控制,這可能是一秒或更長時間。對于食品加工工廠的高速分揀和包裝單元來說,可能只有幾毫秒。這兩個案例已經(jīng)很好地表明了對安全性的不同要求:船舶上的“慢速”命令需要比食品加工工廠那些進行排序的命令更可靠(或更安全)。

實現(xiàn)實時應(yīng)用程序的具體挑戰(zhàn)通常取決于所涉及的通信渠道。那輸入和輸出是否直接連接到主處理單元,或者是否需要嵌入式通信網(wǎng)絡(luò)?

隨著應(yīng)用程序變得越來越復(fù)雜并且地理分布越來越廣,直接連接到每個輸入和輸出是不切實際的。相反,許多實時系統(tǒng)依賴于遠程連接。傳感器、執(zhí)行器和其他設(shè)備可能遠離中央處理單元,因此它們之間需要某種形式的通信。通常,這也意味著數(shù)據(jù)必須在所需的時間范圍內(nèi)傳輸兩次:從傳感器到處理單元的輸入,然后是處理單元到執(zhí)行器的輸出。所有這些都帶來了額外的挑戰(zhàn)和考慮因素:通信渠道會帶來延遲,或潛在的數(shù)據(jù)損壞或丟失。實時系統(tǒng)的設(shè)計者現(xiàn)在必須考慮這些因素,確保所使用的通信方法仍然能夠滿足系統(tǒng)的實時要求。此外,這些系統(tǒng)現(xiàn)在必須能夠處理多個(通常是同時發(fā)生的)數(shù)據(jù)流,并根據(jù)這些流的緊急性和重要性來管理這些數(shù)據(jù)流的優(yōu)先級。

實時應(yīng)用的復(fù)雜性和要求日益提高,加上處理單元和輸入/輸出設(shè)備之間的距離越來越大,使得實時系統(tǒng)的設(shè)計成為一項多方面且具有挑戰(zhàn)性的工作。這樣的發(fā)展需要對通信協(xié)議、網(wǎng)絡(luò)拓撲和錯誤處理機制有更深入的了解。只有解決所有這些因素,我們才能確保實時系統(tǒng)繼續(xù)滿足對其提出的嚴格要求。

在深入設(shè)計過程之前,第一個也是最關(guān)鍵的問題是確定特定應(yīng)用所需的時間范圍。一旦系統(tǒng)完成設(shè)計和開發(fā),縮短時間框架幾乎是不可能的,因為許多設(shè)計決策都是基于初始時間框架考慮的。在為系統(tǒng)的實時響應(yīng)能力確定了所需的時間范圍后,建議您花一些額外的時間來徹底檢查它,因為以后對既定的時間框架進行更改可能會付出高昂的代價。

如果您的應(yīng)用程序要求將“整個輸入到輸出”納入計算中,那么您需要將多個時間相加:輸入傳感器收集輸入并準備傳輸?shù)奶幚頃r間、傳輸延遲、在主處理器中的處理時間(接收輸入、處理它們并準備傳輸?shù)捷敵觯⒃谳敵錾辖邮諗?shù)據(jù)并實際應(yīng)用它的處理延遲。

1

響應(yīng)超過1秒的應(yīng)用

對于在單秒或多秒的時間范圍內(nèi)運行的應(yīng)用程序,系統(tǒng)通常不需要特殊的預(yù)防措施。這是因為這些應(yīng)用程序的延遲容忍度明顯大于通信協(xié)議引入的典型延遲。有趣的是,即使控制代碼在較慢的非實時操作系統(tǒng)上執(zhí)行,也可以實現(xiàn)實時操作。如果操作系統(tǒng)承擔(dān)過多的并發(fā)操作,可能會出現(xiàn)挑戰(zhàn),但這些情況通常是例外而不是常態(tài)。

太陽能電池板的太陽跟蹤:具有跟蹤功能的太陽能電池板可根據(jù)太陽的位置進行調(diào)整。在此應(yīng)用中,數(shù)秒到數(shù)分鐘的延遲是典型的,即使偶爾有控制延遲,也能確保最佳的能量捕獲。

HVAC系統(tǒng):供暖、通風(fēng)和空調(diào)系統(tǒng)通常包含傳感器來調(diào)節(jié)溫度和空氣質(zhì)量。雖然即時調(diào)整體驗感更好,但幾秒鐘的延遲通常在可接受的范圍內(nèi)。

采礦設(shè)備:在采礦作業(yè)中,輸送機和大型挖掘機等大型機械需要數(shù)秒的時間來啟動或停止。考慮到規(guī)模,系統(tǒng)響應(yīng)延遲1秒是可以接受的,特別是對于非關(guān)鍵調(diào)整。然而,緊急關(guān)閉等安全關(guān)鍵功能將有更嚴格的要求。

海事應(yīng)用:鑒于大型海船的運動動態(tài)相對較慢,數(shù)據(jù)處理和導(dǎo)航的一秒延遲是可以接受的。

海底作業(yè):在深海系統(tǒng)中,可靠性是首要任務(wù)。在管理海底操作(從管道控制到設(shè)備調(diào)整)時,命令可能需要幾秒鐘才能到達目的地并導(dǎo)致所需的操作。

2

響應(yīng)時間超過100ms的應(yīng)用

在許多場景中,尤其是那些以人機交互為中心的場景,100 毫秒左右的響應(yīng)時間至關(guān)重要。這個范圍取決于人類感知和反應(yīng)的基本極限。當系統(tǒng)在此時間范圍內(nèi)做出響應(yīng)時,用戶感覺交互幾乎是即時的,從而增強了無縫控制和實時反饋的感覺。為了實現(xiàn)這個響應(yīng)時間,您通常不需要對通信渠道采取任何特殊措施,即使在相對較慢的通信速度(例如 100kbps)下也可以達到此目的。

車輛儀表和控制裝置:在各種人工控制的車輛中,例如汽車、叉車、起重機和農(nóng)用車輛,大量的顯示器和控制裝置(從觸摸屏到刻度盤)都依賴于快速反饋。這可確保駕駛員保持知情并處于控制狀態(tài)之中。通過開關(guān)或操縱桿發(fā)送控制,或從傳感器接收實時反饋,所有這些都需要在這個時間范圍內(nèi)發(fā)生。

工業(yè)機器接口制造工廠的操作員通過控制面板與復(fù)雜的機械進行交互??焖俜答佒陵P(guān)重要,確保用戶的命令幾乎立即轉(zhuǎn)化為機器動作,從而提高操作安全性和效率。如果激活命令需要較長時間,則應(yīng)提供一些即時視覺反饋,以向操作員發(fā)出信號,表明所選功能現(xiàn)在即將執(zhí)行。

醫(yī)療設(shè)備:當醫(yī)療保健專業(yè)人員調(diào)整設(shè)置或輸入命令時,患者監(jiān)視器和特定診斷工具等設(shè)備需要及時反饋。這種迅速的響應(yīng)既確保了患者的安全,又確保了醫(yī)療保健專業(yè)人員的信心。

3

響應(yīng)時間超過10ms的應(yīng)用

對于要求響應(yīng)時間約為 10 毫秒的應(yīng)用,精度至關(guān)重要。這些時間明顯超出了人類感知的界限,導(dǎo)致系統(tǒng)甚至在人類能夠記錄事件之前就經(jīng)常做出響應(yīng)或調(diào)整。因此,基礎(chǔ)系統(tǒng)必須以無與倫比的效率和一致性運行。實現(xiàn)這些嚴格的時序需要詳細的規(guī)劃、速度和優(yōu)先級之間的平衡,但也可能深入到處理數(shù)據(jù)的軟件層,包括驅(qū)動程序和固件。通過精確的優(yōu)化,這些系統(tǒng)表現(xiàn)出快速反應(yīng)的能力,增強安全性,保留功能并確保最佳性能。

駕駛員輔助系統(tǒng):牽引力控制、車道保持輔助和防抱死制動等高級駕駛員輔助系統(tǒng)對于提供快速響應(yīng)至關(guān)重要。在任何延遲都可能導(dǎo)致潛在事故的情況下,這些系統(tǒng)通常感知車輛動力學(xué)的瞬時變化并做出反應(yīng)。

工業(yè)機器人在最先進的制造裝置中,機械臂及其相關(guān)機械的任務(wù)是進行即時調(diào)整。這種及時性確保了一絲不茍的精確性,保障了生產(chǎn)過程的準確性,并減少了錯誤。

緊急關(guān)閉系統(tǒng):在各種控制設(shè)置中,緊急關(guān)閉系統(tǒng)的快速啟動至關(guān)重要。無論是應(yīng)對機械故障、危險泄漏還是任何不可預(yù)測的情況,這些系統(tǒng)的快速激活都可以防止重大損害、經(jīng)濟損失,更重要的是,保護人類生命。

4

響應(yīng)時間為毫秒級的應(yīng)用

對于要求響應(yīng)時間為毫秒級的應(yīng)用程序,多個通信網(wǎng)絡(luò)的功能已達到極限。請記住,這與總吞吐量無關(guān)(通常此處僅交換幾個字節(jié)),而是快速將這些字節(jié)發(fā)送到目的地。要實現(xiàn)如此快速的反應(yīng),需要對系統(tǒng)的各個方面(從網(wǎng)絡(luò)配置到底層代碼)進行審查并進行優(yōu)化。當遇到如此苛刻的要求時,應(yīng)該進行全面的評估,以確定所選的通信協(xié)議是否確實是最合適的解決方案,或者是否有其他解決方案可以完成手頭的任務(wù)。

高速運動控制:在專門的工業(yè)設(shè)置中,機械需要基于快速反饋回路進行即時調(diào)整。此類應(yīng)用可能涉及微調(diào)電機速度、快速驅(qū)動閥門或?qū)崟r調(diào)節(jié)高速執(zhí)行器。

先進機器人技術(shù):這些機器人在高精度任務(wù)中尤其普遍,它們可能涉及以加速速度將精密電子元件放置到PCB上等操作,其中最輕微的延遲可能會導(dǎo)致嚴重錯誤。

安全氣囊彈開:在車輛安全系統(tǒng)中,檢測到潛在碰撞和彈開安全氣囊之間的時間可能僅為幾毫秒。如此快速的響應(yīng)對于確保車內(nèi)乘員的安全至關(guān)重要,每一毫秒都有助于減輕傷害。

小結(jié)

各個領(lǐng)域的應(yīng)用具有不同的響應(yīng)時間要求,從秒到毫秒不等。通信系統(tǒng)滿足這些需求的能力對于實現(xiàn)最佳性能和效率至關(guān)重要。

然而,了解這些響應(yīng)時間要求只是難題的一部分,在接下來的文章中,我們將更深入地探討影響通信速度、延遲和仲裁的技術(shù)方案,包括網(wǎng)絡(luò)架構(gòu)、帶寬和數(shù)據(jù)處理能力等考慮因素。此外,我們將探討在選擇在速度、復(fù)雜性和成本之間取得平衡的通信系統(tǒng)時必須做出的權(quán)衡和妥協(xié)。

虹科是一家在工業(yè)自動化領(lǐng)域,特別是工業(yè)總線通訊行業(yè)經(jīng)驗超過15年的高科技公司。虹科智能自動化事業(yè)部是領(lǐng)先的工業(yè)通訊領(lǐng)域內(nèi)解決方案合作伙伴,與歐洲和美國的世界知名工業(yè)自動化、能源管理與樓宇自動化專家開展深度合作,提供各類通信協(xié)議的軟硬件解決方案,通信技術(shù)類型涉及工業(yè)自動化通訊協(xié)議【CAN、CANopen、EtherCAT、PROFINET、EtherNet/IP、IO-Link/IO-Link wireless、OPC UA、MQTT、TSN】等,解決方案包含代碼、芯片/模塊、板卡、網(wǎng)關(guān)、IO、繼電器、測試方案、培訓(xùn)和開發(fā)服務(wù)等。因此,虹科是國內(nèi)為數(shù)極少的在OT領(lǐng)域深耕多年并擁有全面技術(shù)經(jīng)驗的供應(yīng)商。

虹科智能自動化事業(yè)部以客戶需求為導(dǎo)向,以技術(shù)能力為基礎(chǔ),力求為國內(nèi)企業(yè)提供最適合的產(chǎn)品和最滿意的服務(wù)。我們希望成為鏈條最全、方案最豐富、且兼?zhèn)浼夹g(shù)服務(wù)落地的通信技術(shù)資源整合商。目前虹科服務(wù)的客戶已經(jīng)超過1000家,虹科工程師們一直在萬物互聯(lián)的潮流中扮演著如高速公路般的連接作用,這是我們的使命也是我們的自豪。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5060

    文章

    18980

    瀏覽量

    302252
  • 通信
    +關(guān)注

    關(guān)注

    18

    文章

    5952

    瀏覽量

    135800
  • 網(wǎng)絡(luò)
    +關(guān)注

    關(guān)注

    14

    文章

    7489

    瀏覽量

    88557
收藏 人收藏

    評論

    相關(guān)推薦

    【「嵌入式Hypervisor:架構(gòu)、原理與應(yīng)用」閱讀體驗】+全文學(xué)習(xí)心得

    景的需求。同時,嵌入式Hypervisor還支持多租戶模式,使得嵌入式系統(tǒng)能夠更好地支持多樣化的應(yīng)用場景,提高了系統(tǒng)的靈活性和可維護性。 二、高級特性與優(yōu)化策略 在書籍的中部章節(jié),我學(xué)
    發(fā)表于 10-09 19:11

    【「嵌入式Hypervisor:架構(gòu)、原理與應(yīng)用」閱讀體驗】+第三四章閱讀報告

    嵌入式系統(tǒng)對虛擬技術(shù)的多樣化需求。 實現(xiàn)細節(jié) :學(xué)習(xí)了PRTOS Hypervisor在實現(xiàn)過程中遇到的關(guān)鍵問題和解決方案。例如,如何通過優(yōu)化算法提高資源利用率,如何通過安全機制確保
    發(fā)表于 10-09 18:29

    freertos中斷優(yōu)先級在哪設(shè)置

    FreeRTOS是一個流行的實時操作系統(tǒng),它廣泛應(yīng)用于嵌入式系統(tǒng)開發(fā)。在FreeRTOS中,中斷優(yōu)先級是一個重要的概念,因為它決定了中斷處理的順序和響應(yīng)時間。 1. 理解中斷
    的頭像 發(fā)表于 09-02 14:17 ?512次閱讀

    systick的中斷優(yōu)先級是否應(yīng)該設(shè)置最高優(yōu)先級的嵌套中斷?

    最近在學(xué)習(xí)ucosii有這樣一個疑問,關(guān)于stm32的systick作為ucosii的基準時鐘,systick的中斷優(yōu)先級是否應(yīng)該設(shè)置最高優(yōu)先級的嵌套中斷。理由是什么?各位大俠求指教!?。?/div>
    發(fā)表于 05-16 06:44

    嵌入式實時操作系統(tǒng)中的優(yōu)先級反轉(zhuǎn)問題

    死鎖預(yù)防是實時系統(tǒng)設(shè)計中的一個重要因素。不幸的是,即使使用安全排除技術(shù),這可能也不是困難的終點。在解決資源爭用問題時,可能引入新的優(yōu)先級翻轉(zhuǎn)問題。
    發(fā)表于 04-26 15:47 ?418次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>實時</b>操作系統(tǒng)中的<b class='flag-5'>優(yōu)先級</b>反轉(zhuǎn)問題

    實時嵌入式系統(tǒng)半實物仿真測試平臺ETest

    產(chǎn)品簡介** ETest_RT是一款具有高實時性的嵌入式系統(tǒng)半實物仿真測試平臺(Embedded System Real Time Test Studio RT,簡稱:ETest_RT
    發(fā)表于 04-25 17:01

    再談嵌入式實時操作系統(tǒng)

    由于嵌入式處理器早期功能單一且運算能力不高,嵌入式應(yīng)用已不能滿足各個領(lǐng)域不斷增長的需求。嵌入式操作系統(tǒng)應(yīng)運而生,嵌入式操作系統(tǒng)可以支持新時代
    的頭像 發(fā)表于 04-09 17:27 ?718次閱讀
    再談<b class='flag-5'>嵌入式</b><b class='flag-5'>實時</b>操作系統(tǒng)

    嵌入式環(huán)境的中斷調(diào)試步驟操作

    確保問題中斷的優(yōu)先級設(shè)置正確。它應(yīng)該高于正常工作的中斷的優(yōu)先級,但低于任何應(yīng)該優(yōu)先于它的中斷的優(yōu)先級。
    發(fā)表于 04-09 10:41 ?348次閱讀

    嵌入式實時操作系統(tǒng)優(yōu)先級搶占調(diào)度機制解析

    當搶占發(fā)生時,任務(wù)即使沒有完成也會被迫放棄處理器,此時任務(wù)并沒有被掛起,而是會返回就緒隊列。任務(wù)在隊列中的位置是由優(yōu)先級決定的,它會在隊列中等待到下一次被調(diào)度。
    的頭像 發(fā)表于 04-05 05:22 ?2653次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>實時</b>操作系統(tǒng)<b class='flag-5'>優(yōu)先級</b>搶占<b class='flag-5'>式</b>調(diào)度機制解析

    嵌入式C語言中斷調(diào)試步驟

    確保問題中斷的優(yōu)先級設(shè)置正確。它應(yīng)該高于正常工作的中斷的優(yōu)先級,但低于任何應(yīng)該優(yōu)先于它的中斷的優(yōu)先級
    的頭像 發(fā)表于 03-26 12:20 ?654次閱讀

    嵌入式學(xué)習(xí)步驟

    開發(fā)板上測試固件以及在實際設(shè)備上進行測試。 嵌入式系統(tǒng)的多樣化發(fā)展,它將更為廣泛地應(yīng)用于各個領(lǐng)域,實現(xiàn)智能網(wǎng)絡(luò)化、自動的目標。同時,
    發(fā)表于 02-02 15:24

    華為和思科默認路由優(yōu)先級

    優(yōu)先級值不同,則優(yōu)先級值最小的最優(yōu)路由(無論開銷值是否相同,另一種理解就是對不同路由來源或路由協(xié)議之間的比較)。
    的頭像 發(fā)表于 01-11 10:47 ?1041次閱讀

    python中運算符的優(yōu)先級大小

    Python中運算符的優(yōu)先級決定了表達式中各個運算符的計算順序。了解運算符的優(yōu)先級對于正確理解和編寫復(fù)雜的表達式非常重要。本文將詳細介紹Python中運算符的優(yōu)先級,并給出一些示例來幫
    的頭像 發(fā)表于 11-29 16:21 ?3126次閱讀

    千億遠程醫(yī)療市場爆發(fā),互聯(lián)醫(yī)療設(shè)備如何應(yīng)對需求多樣化?

    千億遠程醫(yī)療市場爆發(fā),互聯(lián)醫(yī)療設(shè)備如何應(yīng)對需求多樣化?
    的頭像 發(fā)表于 11-24 17:03 ?431次閱讀
    千億<b class='flag-5'>級</b>遠程醫(yī)療市場爆發(fā),互聯(lián)醫(yī)療設(shè)備如何應(yīng)對<b class='flag-5'>需求</b><b class='flag-5'>多樣化</b>?

    python運算符優(yōu)先級順序口訣

    Python是一種非常流行的編程語言,具有廣泛的應(yīng)用領(lǐng)域。在Python中,運算符是進行各種數(shù)學(xué)和邏輯運算的關(guān)鍵部分。了解運算符的優(yōu)先級順序?qū)τ?b class='flag-5'>正確理解和書寫Python代碼至關(guān)重要。在本文中,我們
    的頭像 發(fā)表于 11-22 14:34 ?2080次閱讀