色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

通過并發實時編程實現定制

星星科技指導員 ? 來源:嵌入式計算設計 ? 作者:Henk Muller ? 2022-06-28 15:33 ? 次閱讀

要了解定制為何如此重要,請考慮以下三個示例,其中可以使用參考設計作為起點,但設計人員可能希望對設計進行更改,即使是在后期階段:

設計實現了通信堆棧的一部分(例如,USB 音頻),但音頻端的硬件接口可以定制為與特定類型的編解碼器(如 I2S 主或從 S/PDIF)進行通信,也可以定制帶有一個額外的控制端點。

工業控制器實現許多標準協議之一;例如,工業電機供應商可能希望包含以太網 PHY,但推遲決定是否運行 EtherCAT 或任何其他實時以太網堆棧。

嵌入式 Web 服務器可用于配置上述任一示例,前提是設計人員可以在 Web 服務器內部實現控制邏輯。

定制設計的難易程度取決于用于實現設計核心的技術。它使用了 ASIC、FPGA 還是實時處理器?

如果設計實現為 ASIC,那么定制它的唯一可行方法是修改 ASIC 中內置的參數。考慮第一個示例,USB 音頻 ASIC 將具有設置 USB 設備產品名稱的方法,并可能提供左對齊和右對齊 I2S 之間的選擇。但是,它可能不提供添加額外控制端點或使用 S/PDIF 作為輸出接口的選項。事實上,開發支持所有合理接口的 ASIC 是不可能的,開發支持精心挑選的小型接口集的 ASIC 家族也不經濟。

如果設計是在 FPGA 中實現的,那么理論上,定制可以像用戶想要的那樣極端。但是,硬件設計流程可能會使定制成為一個不那么簡單的過程。對于硬件設計人員來說,實現一個額外的接口(如 S/PDIF)并不困難,但實現一個額外的控制端點需要將軟件重新實現為一個硬件。此外,必須綜合結果,在定制設計完全綜合、布局和布線之前,尚不清楚是否仍能滿足原始時序約束。

第三種選擇是將設計完全實現為軟件。由于涉及許多相互沖突的實時要求,這通常被認為難以完成。但是,只要程序員可以將問題分解為一組獨立的實時任務,這些任務在一組獨立的實時處理器上運行,軟件實現就可以完美地管理。

這使設計人員能夠靈活地將硬件協議簡單地作為軟件任務來實現,方法是專門使用一個實時處理器來實現該硬件協議。例如,可以通過以適當的方式擺動時鐘和數據線,在軟件中實現 I2S。此外,USB 可以通過向 USB PHY 讀取和寫入數據來實現。如果這兩個活動作為兩個獨立的任務執行,那么所有的實時期限都可以單獨滿足。

后者是一種稱為并發實時編程的編程模型。圖 1 顯示了單個 XMOS XCore 處理器如何同時執行八個線程。每個線程都可以看作是一個獨立的處理器,具有保證的實時執行率。每條指令將在已知的時間內執行;因此,程序員可以預測程序是否會滿足時間期限。

圖 1:并發實時編程同時執行多個線程。

pYYBAGK6ruCADQ4mAADK6hKTZck288.jpg

這個模型的美妙之處在于時間預測完全獨立于任務。例如,考慮前面提到的 I2S 任務。一旦程序以某種方式編寫,它將在例如 50 MIPS 處理器上執行,那么無論對其他線程進行修改,該 I2S 線程將始終滿足其時序。打破時間安排的唯一方法是不以適當的速率提供數據。這是可以預料的;如果未提供 48 kHz 的數據,則無法為編解碼器提供 48 kHz 的數據,并且某些東西必須中斷。

軟件不是靈丹妙藥。兩個明顯的限制是需要太多瞬時帶寬的接口和需要非常短周轉時間的硬件接口。例如,在當今的處理硬件上用軟件編寫多 GHz SERDES 是不可行的,但許多常見的接口可以用軟件來制定。

軟件實現優于硬件接口的原因有以下三個:

1. 經濟性:不可能提供所有可用的接口作為硬件塊。處理器可以根據需要對任何類型的接口進行建模。

2、適應性:在硅片上設置硬件內置接口。如果標準不斷發展,或者如果特定設備不完全兼容或需要執行一些額外的操作,那么硅接口將無法完成這項工作。可以調整軟件定義的接口以滿足要求。

3. 優化:可以優化軟件定義的界面來解決手頭的問題??紤]前面提到的 EtherCAT 應用程序。如果使用硬件媒體獨立接口(MII),則數據包被存儲和轉發,這不滿足例如延遲要求。如果接口是在軟件中定義的,那么緩沖需求可以針對問題進行定制。

第三個原因很重要,因為許多處理 UART、I2S、MII 和其他標準的標準模塊必須具有內置的 FIFO 緩沖區來解耦接口,而這些緩沖區在許多情況下是不需要的,因為它們會增加延遲。

一旦設計師選擇了基于軟件的設計流程,可能性就無窮無盡。圖 2 顯示了一個 USB 板,它同時支持使用立體聲 I/O 編解碼器(通過 I2S)、差分數字接口(使用 S/PDIF)和樂器數字接口 (MIDI) 的模擬接口。

圖 2:在 USB 板上,同一處理器只需更改軟件即可驅動任何混合接口。

poYBAGK6ruKAOSGKAAIaStHNduw823.jpg

嵌入式處理器實現 USB 堆棧和 USB 音頻協議。在此特定配置中,驅動三個音頻接口:MIDI、I2S/模擬和 S/PDIF。后者可以僅通過軟件更改更改為不同的協議,例如 ADAT。更重要的是,產品的變化可以通過不同的接口集進行,例如大量的同軸輸出或基于 I2S 的編解碼器。嵌入式處理器上的軟件只需稍作改動即可根據接口的具體情況進行定制。每個接口沒有預定義的編號。

靈活的硬件可以實現更大的產品差異化,使開發人員和產品經理能夠為他們的客戶提供與眾不同的價值。并發實時編程可以保證嚴格的時序要求,XMOS XCore 等嵌入式處理器提供了利用這種編程方法所需的芯片和開發工具。

審核編輯:郭婷

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 處理器
    +關注

    關注

    68

    文章

    19338

    瀏覽量

    230201
  • 解碼器
    +關注

    關注

    9

    文章

    1144

    瀏覽量

    40794
  • 嵌入式
    +關注

    關注

    5086

    文章

    19143

    瀏覽量

    306045
收藏 人收藏

    評論

    相關推薦

    移動應用高級語言開發——并發探索

    );在IOS上,Swift 5.5實現了結構化編程和Actor,Swift整體并發的演進思路是默認安全的編程模型。 04?OpenHarmony高級語言的
    發表于 08-28 17:08

    嵌入式實時數據庫系統并發控制技術研究

    嵌入式實時數據庫系統是近幾年才興起的一項新的數據管理技術。本文首先描述了實時事務并發控制并發控制協議,然后探討了具有功能替代性和補償性的實時
    發表于 06-01 15:17 ?8次下載

    嵌入式實時數據庫系統并發控制技術研究

    嵌入式實時數據庫系統是近幾年才興起的一項新的數據管理技術。本文首先描述了實時事務并發控制并發控制協議,然后探討了具有功能替代性和補償性的實時
    發表于 06-01 15:30 ?20次下載

    負荷管理系統中的并發通信設計與實現

    負荷管理系統中的并發通信設計與實現摘 要 大規模并發通信的管理與控制是計算機監控領域研究的熱點與難點之一。本文以廈門電業局負荷管理系統為例,對大規模并發通信
    發表于 11-01 09:50 ?13次下載

    如何通過STM32的串口實現簡易脫機編程

    如何通過STM32的串口實現簡易脫機編程器如何通過STM32的串口實現簡易脫機編程器如何
    發表于 04-25 09:38 ?60次下載

    Java并發編程實戰

    Java并發編程實戰
    發表于 03-19 11:24 ?7次下載

    java并發編程實戰之輔助類用法

    Java并發編程:CountDownLatch、CyclicBarrier和Semaphore2017-09-18 13:07程序設計/58 在java 1.5中,提供了一些非常有用的輔助類來幫助
    發表于 09-27 16:50 ?0次下載

    通過編程實現atoi函數的程序免費下載

    本文檔的主要內容詳細介紹的設計通過編程實現atoi函數的程序免費下載。
    發表于 07-11 17:40 ?0次下載
    <b class='flag-5'>通過</b><b class='flag-5'>編程</b><b class='flag-5'>實現</b>atoi函數的程序免費下載

    七種常見的并發編程模型簡介

    1. 線程與鎖 線程與鎖模型有很多眾所周知的不足,但仍是其他模型的技術基礎,也是很多并發軟件開發的首選。 2. 函數式編程 函數式編程日漸重要的原因之一,是其對并發
    的頭像 發表于 03-15 17:21 ?4688次閱讀

    JAVA并發編程實踐

    JAVA并發編程實踐資料免費下載。
    發表于 06-01 15:31 ?15次下載

    Java并發編程的藝術

    Java并發編程的藝術說明。
    發表于 06-01 15:31 ?16次下載

    Go并發模型的實現原理

    Go語言是為并發而生的語言,Go語言是為數不多的在語言層面實現并發的語言;也正是Go語言的并發特性,吸引了全球無數的開發者。
    的頭像 發表于 04-15 08:49 ?1399次閱讀

    關于Actor并發模型的解析

    并發模型是用來實現不同應用場景中并發任務的編程模型,通過合理地使用多線程,可以縮減應用程序的開發和維護成本,同時還能更好地提升應用程序在多核
    的頭像 發表于 07-18 09:23 ?2058次閱讀

    如何通過SCL來實現編程

    SCL作為IEC61131-3編程語言的一種,由于其高級語言的特性,特別適合復雜運算、復雜數學函數應用的場合。本文以FactoryIO軟件中的物料分揀案例作為硬件基礎,介紹如何通過SCL來實現
    的頭像 發表于 10-26 16:12 ?2490次閱讀

    shell腳本實現并發多進程

    在Shell腳本中實現并發多進程可以使用以下方法: 使用符號來將其放入后臺執行,從而實現并發多進程。例如: #!/bin/bash command1 command3 符號,它們將在后
    的頭像 發表于 11-08 10:20 ?1348次閱讀
    主站蜘蛛池模板: 日韩中文欧美在线视频| 欧美久久无码AV麻豆| 轻轻cao| 99亚洲精品色情无码久久| 妈妈的朋友6未删减版完整在线| 亚洲电影网址| 韩剧19禁啪啪无遮挡大尺度| 亚洲性爱城| 牢记永久免费网址| 2017天天拍天天拍香蕉视频| 男女疯狂一边摸一边做羞羞视频| yellow片在线观看免费观看动漫| 色欲AV无码乱码精品国产| 黄页免费观看| qvod免费电影| 亚洲精品久久7777777| 女子扒开腿让男生桶爽| 国产久久精品热99看| 0951影音在线| 无码一区国产欧美在线资源| 麻花传媒MD0044视频| 国产精品人妻无码77777| 最新亚洲人成网站在线影院| 天美传媒MV高清免费看| 菊地凛子av| 国产啪精品视频网免费| 果冻传媒完整免费网站在线观看| 中文字幕在线不卡日本v二区| 色橹| 男女肉大捧进出全过程免费| 国产中文在线| 成人在线观看播放| 在线电台收听| 性欧美videosex18嫩| 青青青青青青草| 久久无码AV亚洲精品色午夜麻豆| 在线播放一区| 无码人妻精品国产婷婷| 欧美另类一区| 久久视频这里只精品99re8久| 国产欧美日韩亚洲第一页|