一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

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

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

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

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

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

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

pYYBAGK6ruCADQ4mAADK6hKTZck288.jpg

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

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

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

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

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

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

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

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

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

poYBAGK6ruKAOSGKAAIaStHNduw823.jpg

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

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

審核編輯:郭婷

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

    關(guān)注

    68

    文章

    19890

    瀏覽量

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

    關(guān)注

    9

    文章

    1174

    瀏覽量

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

    關(guān)注

    5150

    文章

    19665

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    JAVA并發(fā)編程實(shí)踐

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

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

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

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

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

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

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

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

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

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

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