女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

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

通過并發(fā)實時編程實現(xiàn)定制

星星科技指導(dǎo)員 ? 來源:嵌入式計算設(shè)計 ? 作者:Henk Muller ? 2022-06-28 15:33 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

工業(yè)控制器實現(xiàn)許多標(biāo)準(zhǔn)協(xié)議之一;例如,工業(yè)電機(jī)供應(yīng)商可能希望包含以太網(wǎng) PHY,但推遲決定是否運行 EtherCAT 或任何其他實時以太網(wǎng)堆棧。

嵌入式 Web 服務(wù)器可用于配置上述任一示例,前提是設(shè)計人員可以在 Web 服務(wù)器內(nèi)部實現(xiàn)控制邏輯。

定制設(shè)計的難易程度取決于用于實現(xiàn)設(shè)計核心的技術(shù)。它使用了 ASICFPGA 還是實時處理器

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

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

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

這使設(shè)計人員能夠靈活地將硬件協(xié)議簡單地作為軟件任務(wù)來實現(xiàn),方法是專門使用一個實時處理器來實現(xiàn)該硬件協(xié)議。例如,可以通過以適當(dāng)?shù)姆绞綌[動時鐘和數(shù)據(jù)線,在軟件中實現(xiàn) I2S。此外,USB 可以通過向 USB PHY 讀取和寫入數(shù)據(jù)來實現(xiàn)。如果這兩個活動作為兩個獨立的任務(wù)執(zhí)行,那么所有的實時期限都可以單獨滿足。

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

圖 1:并發(fā)實時編程同時執(zhí)行多個線程。

pYYBAGK6ruCADQ4mAADK6hKTZck288.jpg

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

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

軟件實現(xiàn)優(yōu)于硬件接口的原因有以下三個:

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

2、適應(yīng)性:在硅片上設(shè)置硬件內(nèi)置接口。如果標(biāo)準(zhǔn)不斷發(fā)展,或者如果特定設(shè)備不完全兼容或需要執(zhí)行一些額外的操作,那么硅接口將無法完成這項工作。可以調(diào)整軟件定義的接口以滿足要求。

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

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

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

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

poYBAGK6ruKAOSGKAAIaStHNduw823.jpg

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

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

審核編輯:郭婷

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

    關(guān)注

    68

    文章

    19884

    瀏覽量

    235018
  • 解碼器
    +關(guān)注

    關(guān)注

    9

    文章

    1173

    瀏覽量

    41949
  • 嵌入式
    +關(guān)注

    關(guān)注

    5149

    文章

    19655

    瀏覽量

    317294
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    移動應(yīng)用高級語言開發(fā)——并發(fā)探索

    );在IOS上,Swift 5.5實現(xiàn)了結(jié)構(gòu)化編程和Actor,Swift整體并發(fā)的演進(jìn)思路是默認(rèn)安全的編程模型。 04?OpenHarmony高級語言的
    發(fā)表于 08-28 17:08

    嵌入式實時數(shù)據(jù)庫系統(tǒng)并發(fā)控制技術(shù)研究

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

    嵌入式實時數(shù)據(jù)庫系統(tǒng)并發(fā)控制技術(shù)研究

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

    負(fù)荷管理系統(tǒng)中的并發(fā)通信設(shè)計與實現(xiàn)

    負(fù)荷管理系統(tǒng)中的并發(fā)通信設(shè)計與實現(xiàn)摘 要 大規(guī)模并發(fā)通信的管理與控制是計算機(jī)監(jiān)控領(lǐng)域研究的熱點與難點之一。本文以廈門電業(yè)局負(fù)荷管理系統(tǒng)為例,對大規(guī)模并發(fā)通信
    發(fā)表于 11-01 09:50 ?13次下載

    如何通過STM32的串口實現(xiàn)簡易脫機(jī)編程

    如何通過STM32的串口實現(xiàn)簡易脫機(jī)編程器如何通過STM32的串口實現(xiàn)簡易脫機(jī)編程器如何
    發(fā)表于 04-25 09:38 ?60次下載

    Java并發(fā)編程實戰(zhàn)

    Java并發(fā)編程實戰(zhàn)
    發(fā)表于 03-19 11:24 ?7次下載

    java并發(fā)編程實戰(zhàn)之輔助類用法

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

    通過編程實現(xiàn)atoi函數(shù)的程序免費下載

    本文檔的主要內(nèi)容詳細(xì)介紹的設(shè)計通過編程實現(xiàn)atoi函數(shù)的程序免費下載。
    發(fā)表于 07-11 17:40 ?0次下載
    <b class='flag-5'>通過</b><b class='flag-5'>編程</b><b class='flag-5'>實現(xiàn)</b>atoi函數(shù)的程序免費下載

    七種常見的并發(fā)編程模型簡介

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

    JAVA并發(fā)編程實踐

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

    Java并發(fā)編程的藝術(shù)

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

    Go并發(fā)模型的實現(xiàn)原理

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

    關(guān)于Actor并發(fā)模型的解析

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

    如何通過SCL來實現(xiàn)編程

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

    shell腳本實現(xiàn)并發(fā)多進(jìn)程

    在Shell腳本中實現(xiàn)并發(fā)多進(jìn)程可以使用以下方法: 使用符號來將其放入后臺執(zhí)行,從而實現(xiàn)并發(fā)多進(jìn)程。例如: #!/bin/bash command1 command3 符號,它們將在后
    的頭像 發(fā)表于 11-08 10:20 ?1770次閱讀