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

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

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

基于軟件的時鐘的設(shè)計方案與應(yīng)用

電子設(shè)計 ? 來源:郭婷 ? 作者:電子設(shè)計 ? 2019-01-28 08:12 ? 次閱讀

時鐘是硬件設(shè)計人員的標(biāo)準(zhǔn)概念,但不太熟悉軟件工程師。但是,在嵌入式編程(尤其是實時嵌入式編程)中,軟件開發(fā)人員必須在其軟件程序中處理時鐘。本文討論基于軟件的時鐘的基礎(chǔ)知識。

什么是時鐘

時鐘是一種交替固定頻率的信號。

基于軟件的時鐘的設(shè)計方案與應(yīng)用

圖1:時鐘信號。

時鐘周期是信號連續(xù)上升沿之間的時間。頻率是上升沿出現(xiàn)的速率(即1/周期)。時間或頻率表征時鐘。在軟件中,要跟蹤時鐘,您只需存儲其中一個值。在本文中,這些示例使用其周期來表征時鐘,因為這使得它們更容易編碼。為了說明,讓我們使用浮點類型來表示它(例如,C double類型)。在實踐中,可以使用任何可以表示時間的類型。通常使用定點表示。

使用時鐘

一旦軟件中有時鐘頻率,您可以通過乘以或除以周期來輕松地對時鐘進行乘法或除法。有關(guān)時鐘的信息可以傳送到遠程系統(tǒng)以遠程重建,或控制與時鐘同步傳輸?shù)臄?shù)據(jù)流。

輸出時鐘

要輸出時鐘,需要對輸出端口進行高位和低位交替打擊。以下C風(fēng)格的偽代碼顯示了這個想法:

double t;

int val = 0;

t = get_current_time();

while(1){

t + = period/2;

output_at_time(t,val);

val = ~val;

}

此處 get_current_time 獲取當(dāng)前時間, output_at_time 在指定時間向端口輸出值。但是,這些功能僅對軟件系統(tǒng)中固有的某些分辨率是準(zhǔn)確的。輸出時鐘的頻率被量化為該分辨率,這意味著頻率可以遠離所需值。你可以通過跟蹤這種量化引起的誤差并隨著時間的推移進行調(diào)整來改善這一點。以下代碼顯示了這一點:

double t;

int val = 0;

double hi = floor((期間/2)/分辨率)*分辨率;

double lo =(期間/2)-hi;

double err = 0;

t = get_time();

while(1){

t + = hi;

err + = lo;

if(err》 = resolution){

err - = resolution;

t + = 1;

output_at_time(t,val);

val = ~val;

}

算法會跟蹤錯誤,當(dāng)錯誤變得足夠大以便合并到輸出中時,它會這樣做。使用此方法,輸出時鐘將具有正確的頻率,但量化仍將導(dǎo)致時鐘上的可觀察到的抖動。

恢復(fù)時鐘

有時您需要從輸入信號中恢復(fù)時鐘,以便將其用作系統(tǒng)中其他處理的基礎(chǔ)。

匹配頻率

最簡單的事情是匹配傳入時鐘的頻率。在特定時間段內(nèi),計算時鐘上升沿的數(shù)量,然后計算每個上升沿的周期:

period = sample_period/ticks_in;

傳入時鐘隨時間變化,因此您必須定期重新采樣。

使用反饋回路

有時只是匹配時鐘的頻率是不夠的。隨著時間的推移,小的不匹配和調(diào)整會增加,導(dǎo)致您的內(nèi)部時鐘概念和實際時鐘長時間漂移?;謴?fù)時鐘的滴答數(shù)可以與原始時鐘的滴答數(shù)不同。為了解決這個問題,您需要不斷調(diào)整時鐘之間的累積誤差,這是一個可以使用PID控制循環(huán)完成的任務(wù)。1

假設(shè)您想要將輸出時鐘與輸入時鐘匹配。其思想是定期調(diào)整輸出時鐘周期。在每個調(diào)整點,查看自上次調(diào)整傳入時鐘(ticks_in)以來的滴答數(shù)以及自上次調(diào)整傳出時鐘(ticks_out)以來的滴答數(shù)。它們之間的區(qū)別在于時鐘的比例誤差。

從比例誤差中,您還可以計算積分(或累計)誤差和差分誤差。然后基于這些值調(diào)整周期以將時鐘周期移向正確的值。隨著時間的推移,算法停留在固定點上,并且比例誤差趨向于零。以下代碼可用于調(diào)整每次更新的時間段:

P = ticks_out -ticks_in;

I = I + P;

D = P -prevP;

period = period + Kp * P + Ki * I + Kd * D;

常數(shù)Kp,Ki和Kd的設(shè)置會影響算法的穩(wěn)定速度以及它可以處理的輸入時鐘的擾動程度。有一套方法可以正確地為你的應(yīng)用程序計算這些常量,這里沒有討論,但一個很好的起點是關(guān)于PID控制循環(huán)的維基百科頁面。

下圖顯示了此類算法隨時間推移的典型誤差。

基于軟件的時鐘的設(shè)計方案與應(yīng)用

圖2:PID誤差進程。為什么?

對于硬件工程師來說,上一節(jié)的結(jié)果并不突出。時鐘已經(jīng)以相當(dāng)復(fù)雜的方式路由。那么為什么需要將時鐘帶入軟件領(lǐng)域呢?一個原因是,將時鐘作為軟件中的邏輯實體,您可以對其進行分析并對其進行操作。例如,您可以將要在其他地方使用的時鐘進行小數(shù)乘法,或者可以將其頻率報告給某個更高級別的應(yīng)用程序。但是,一個很大的應(yīng)用是,您可以將時鐘傳輸?shù)较到y(tǒng)的另一部分,并通過僅數(shù)字傳輸進行恢復(fù),而無需顯式傳輸時鐘。例如,時鐘可以通過USB總線或以太網(wǎng)傳輸。如果必須明確連接系統(tǒng)中的每個時鐘信號,這在連接性和靈活性方面帶來了很多好處,這將受到嚴重限制。

要遠程恢復(fù)時鐘,您需要傳輸反饋信息(例如,滴答計數(shù))。這種計算在一段時間內(nèi)仍然需要一個共同的時基,因此系統(tǒng)的所有部分必須具有相同的全球時間感。如何做到這一點超出了本文的范圍,但對于基于總線的系統(tǒng)(如USB或Firewire),總線可能帶有全局時鐘。對于更松散耦合的系統(tǒng),如以太網(wǎng)或其他分組交換網(wǎng)絡(luò),需要全局時鐘恢復(fù)協(xié)議。

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

    關(guān)注

    5087

    文章

    19150

    瀏覽量

    306356
  • 存儲
    +關(guān)注

    關(guān)注

    13

    文章

    4337

    瀏覽量

    85984
  • 時鐘
    +關(guān)注

    關(guān)注

    11

    文章

    1738

    瀏覽量

    131622
收藏 人收藏

    評論

    相關(guān)推薦

    AN-851: 一種WiMax雙下變頻IF采樣接收機設(shè)計方案

    電子發(fā)燒友網(wǎng)站提供《AN-851: 一種WiMax雙下變頻IF采樣接收機設(shè)計方案.pdf》資料免費下載
    發(fā)表于 01-13 14:53 ?0次下載
    AN-851: 一種WiMax雙下變頻IF采樣接收機<b class='flag-5'>設(shè)計方案</b>

    過壓保護電路的多種設(shè)計方案

    詳細介紹了過壓保護電路的多種設(shè)計方案,包括穩(wěn)壓二極管、穩(wěn)壓芯片LM431、TVS管以及TL431的應(yīng)用。通過分析各個電路的工作原理,探討了不同方案的優(yōu)缺點,適合不同場景的選擇,特別是強調(diào)了電路參數(shù)
    的頭像 發(fā)表于 11-25 10:30 ?781次閱讀

    LM4890采用差分設(shè)計方案,為什么沒有聲音?怎么解決?

    1、LM4890采用差分設(shè)計方案(如下圖),為什么沒有聲音?怎么解決? 2、采用差分方案設(shè)計的功放能用非差分輸出或普通音頻輸出?
    發(fā)表于 11-05 06:33

    在KeyStone器件實現(xiàn)IEEE1588時鐘方案

    電子發(fā)燒友網(wǎng)站提供《在KeyStone器件實現(xiàn)IEEE1588時鐘方案.pdf》資料免費下載
    發(fā)表于 09-26 09:10 ?0次下載
    在KeyStone器件實現(xiàn)IEEE1588<b class='flag-5'>時鐘</b><b class='flag-5'>方案</b>

    復(fù)雜電磁環(huán)境模擬系統(tǒng)設(shè)計方案

    智慧華盛恒輝復(fù)雜電磁環(huán)境模擬系統(tǒng)的設(shè)計方案是一個綜合性的工程任務(wù),涉及多個方面的考慮和技術(shù)實現(xiàn)。以下是一個基于現(xiàn)有技術(shù)和應(yīng)用需求的設(shè)計方案概述: 智慧華盛恒輝系統(tǒng)目標(biāo) 復(fù)雜電磁環(huán)境模擬系統(tǒng)的目標(biāo)
    的頭像 發(fā)表于 07-17 17:06 ?475次閱讀

    電磁頻譜數(shù)據(jù)綜合管理系統(tǒng)設(shè)計方案

    智慧華盛恒輝電磁頻譜數(shù)據(jù)綜合管理系統(tǒng)的設(shè)計方案是一個復(fù)雜且精細的過程,旨在實現(xiàn)對無線電頻譜資源的全面監(jiān)控、分析和管理。以下是一個基于當(dāng)前技術(shù)和應(yīng)用需求的設(shè)計方案概述: 智慧華盛恒輝系統(tǒng)目標(biāo) 優(yōu)化頻譜
    的頭像 發(fā)表于 07-15 17:19 ?539次閱讀

    電磁頻譜管理系統(tǒng)設(shè)計方案

    智慧華盛恒輝電磁頻譜管理系統(tǒng)設(shè)計方案是一個綜合性的項目,旨在有效地管理和利用電磁頻譜資源,確保各種無線通信服務(wù)的順暢進行,并避免頻譜資源的沖突和浪費。以下是一個基于當(dāng)前技術(shù)和應(yīng)用需求的電磁頻譜管理
    的頭像 發(fā)表于 07-15 16:40 ?512次閱讀

    電磁軌跡預(yù)測分析系統(tǒng)設(shè)計方案

    智慧華盛恒輝電磁軌跡預(yù)測分析系統(tǒng)的設(shè)計方案是一個綜合性的項目,它結(jié)合了電磁學(xué)、運動學(xué)、數(shù)據(jù)分析以及可能的人工智能或機器學(xué)習(xí)技術(shù),以實現(xiàn)對電磁運動軌跡的精確預(yù)測和深入分析。以下是一個基于當(dāng)前技術(shù)
    的頭像 發(fā)表于 07-15 16:22 ?421次閱讀

    UPS系統(tǒng)設(shè)計方案解讀

    UPS的應(yīng)用場景日趨多樣化,每個場景都有其獨特的需求,對應(yīng)不同的方案。UPS系統(tǒng)方案指南繼續(xù)上新,本文將聚焦UPS設(shè)計方案展開講述。
    的頭像 發(fā)表于 06-26 10:06 ?859次閱讀
    UPS系統(tǒng)<b class='flag-5'>設(shè)計方案</b>解讀

    基于8位MCU TM57P8640/P8645的智能電風(fēng)扇設(shè)計方案

    基于8位MCU TM57P8640/P8645的智能電風(fēng)扇設(shè)計方案
    的頭像 發(fā)表于 04-03 09:44 ?815次閱讀
    基于8位MCU TM57P8640/P8645的智能電風(fēng)扇<b class='flag-5'>設(shè)計方案</b>

    3KW工業(yè)變頻器電路設(shè)計方案詳細說明

    3KW工業(yè)變頻器電路設(shè)計方案詳細說明
    的頭像 發(fā)表于 03-19 08:33 ?993次閱讀
    3KW工業(yè)變頻器電路<b class='flag-5'>設(shè)計方案</b>詳細說明

    單板上時鐘的注意事項 單板上時鐘晶體下面鋪地的好處

    單板上時鐘的注意事項 單板上時鐘晶體下面鋪地的好處 單板上時鐘是指將時鐘晶體組件直接鋪裝在電路板上,這種設(shè)計方案在電子設(shè)備中廣泛應(yīng)用。在介紹
    的頭像 發(fā)表于 02-06 16:06 ?609次閱讀

    FPGA時鐘內(nèi)部設(shè)計方案

    時鐘設(shè)計方案 在復(fù)雜的FPGA設(shè)計中,設(shè)計時鐘方案是一項具有挑戰(zhàn)性的任務(wù)。設(shè)計者需要很好地掌握目標(biāo)器件所能提供的時鐘資源及它們的限制,需
    發(fā)表于 01-22 09:30 ?651次閱讀
    FPGA<b class='flag-5'>時鐘</b>內(nèi)部<b class='flag-5'>設(shè)計方案</b>

    城市軌道交通電氣火災(zāi)監(jiān)控系統(tǒng)的具體設(shè)計方案

    電子發(fā)燒友網(wǎng)站提供《城市軌道交通電氣火災(zāi)監(jiān)控系統(tǒng)的具體設(shè)計方案.docx》資料免費下載
    發(fā)表于 01-18 09:06 ?0次下載

    AKM成化旭推出全新車載音頻DSP提供設(shè)計方案應(yīng)用

    AKM成化旭推出全新車載音頻DSP提供設(shè)計方案應(yīng)用
    的頭像 發(fā)表于 01-15 11:11 ?1194次閱讀
    AKM成化旭推出全新車載音頻DSP提供<b class='flag-5'>設(shè)計方案</b>應(yīng)用