一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲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)不再提示

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

電子設(shè)計(jì) ? 來源:郭婷 ? 作者:電子設(shè)計(jì) ? 2019-01-28 08:12 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

什么是時(shí)鐘

時(shí)鐘是一種交替固定頻率的信號(hào)。

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

圖1:時(shí)鐘信號(hào)。

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

使用時(shí)鐘

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

輸出時(shí)鐘

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

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

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;

}

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

恢復(fù)時(shí)鐘

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

匹配頻率

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

period = sample_period/ticks_in;

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

使用反饋回路

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

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

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

P = ticks_out -ticks_in;

I = I + P;

D = P -prevP;

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

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

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

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

圖2:PID誤差進(jìn)程。為什么?

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

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

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

    關(guān)注

    5150

    文章

    19665

    瀏覽量

    317458
  • 存儲(chǔ)
    +關(guān)注

    關(guān)注

    13

    文章

    4531

    瀏覽量

    87441
  • 時(shí)鐘
    +關(guān)注

    關(guān)注

    11

    文章

    1901

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    高集成度超低噪聲電源設(shè)計(jì)方案

    在射頻(RF)技術(shù)、計(jì)量學(xué)等諸多領(lǐng)域的應(yīng)用場景中,都需要極低噪聲的電源電壓。本文將闡釋并對(duì)比傳統(tǒng)設(shè)計(jì)方法與一種創(chuàng)新的高集成度設(shè)計(jì)方案,致力于為敏感的負(fù)載提供超低噪聲電源。新技術(shù)不僅帶來了更緊湊的設(shè)計(jì),使用起來也更加便捷。
    的頭像 發(fā)表于 07-16 09:33 ?307次閱讀
    高集成度超低噪聲電源<b class='flag-5'>設(shè)計(jì)方案</b>

    作戰(zhàn)仿真推演系統(tǒng)軟件平臺(tái)設(shè)計(jì)方案

    行業(yè)芯事行業(yè)資訊
    北京華盛恒輝科技
    發(fā)布于 :2025年06月10日 22:08:34

    部隊(duì)車輛派遣系統(tǒng)軟件平臺(tái)設(shè)計(jì)方案

    行業(yè)資訊
    北京華盛恒輝科技
    發(fā)布于 :2025年06月09日 18:51:12

    通過什么方法能獲得關(guān)于Ethercat方面的設(shè)計(jì)方案和設(shè)計(jì)資料

    您好通過什么方法能獲得關(guān)于Ethercat方面的設(shè)計(jì)方案和設(shè)計(jì)資料,我們主要關(guān)于主站,從站IO和運(yùn)動(dòng)控制方面的資料,謝謝?。?
    發(fā)表于 05-28 10:07

    GaN驅(qū)動(dòng)技術(shù)手冊免費(fèi)下載 氮化鎵半導(dǎo)體功率器件門極驅(qū)動(dòng)電路設(shè)計(jì)方案

    GaN驅(qū)動(dòng)技術(shù)手冊免費(fèi)下載 氮化鎵半導(dǎo)體功率器件門極驅(qū)動(dòng)電路設(shè)計(jì)方案
    的頭像 發(fā)表于 03-13 18:06 ?1.4w次閱讀
    GaN驅(qū)動(dòng)技術(shù)手冊免費(fèi)下載 氮化鎵半導(dǎo)體功率器件門極驅(qū)動(dòng)電路<b class='flag-5'>設(shè)計(jì)方案</b>

    京準(zhǔn)電鐘分享:水利控制系統(tǒng)NTP時(shí)鐘同步技術(shù)方案

    京準(zhǔn)電鐘分享:水利控制系統(tǒng)NTP時(shí)鐘同步技術(shù)方案
    的頭像 發(fā)表于 03-05 09:30 ?408次閱讀

    iW1710驅(qū)動(dòng)設(shè)計(jì)方案與PCB布線注意事項(xiàng)

    iW1710驅(qū)動(dòng)設(shè)計(jì)方案與PCB布線注意事項(xiàng)
    發(fā)表于 02-17 14:19 ?0次下載

    電磁環(huán)境模擬系統(tǒng)設(shè)計(jì)方案

    智慧華盛恒輝電磁環(huán)境模擬系統(tǒng)設(shè)計(jì)方案是一個(gè)綜合性的工程任務(wù),涉及多個(gè)方面的考慮和技術(shù)實(shí)現(xiàn)。以下是一個(gè)基于當(dāng)前技術(shù)和應(yīng)用需求的電磁環(huán)境模擬系統(tǒng)設(shè)計(jì)方案概述: 智慧華盛恒輝電磁環(huán)境模擬系統(tǒng)目標(biāo) 電磁
    的頭像 發(fā)表于 02-14 16:47 ?398次閱讀
    電磁環(huán)境模擬系統(tǒng)<b class='flag-5'>設(shè)計(jì)方案</b>

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

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

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

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

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

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

    京準(zhǔn)電鐘解讀:子母鐘系統(tǒng)(時(shí)鐘系統(tǒng))技術(shù)方案

    京準(zhǔn)電鐘解讀:子母鐘系統(tǒng)(時(shí)鐘系統(tǒng))技術(shù)方案
    的頭像 發(fā)表于 10-31 10:08 ?1487次閱讀
    京準(zhǔn)電鐘解讀:子母鐘系統(tǒng)(<b class='flag-5'>時(shí)鐘</b>系統(tǒng))技術(shù)<b class='flag-5'>方案</b>

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

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

    半自動(dòng)和全自動(dòng)智能鎖的功放,電源設(shè)計(jì)方案

    智能鎖電源功放設(shè)計(jì)需考慮電池類型、電壓、功耗、成本及可靠性。本文探討了半自動(dòng)與全自動(dòng)智能鎖在不同電源配置下的設(shè)計(jì)方案,包括IC選型,以提升鎖的性能與安全性,延長使用壽命。
    的頭像 發(fā)表于 08-21 16:00 ?2226次閱讀
    半自動(dòng)和全自動(dòng)智能鎖的功放,電源<b class='flag-5'>設(shè)計(jì)方案</b>

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

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