<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > USB音頻設(shè)備類的自遁應(yīng)軟件鎖相環(huán)設(shè)計(jì)

          USB音頻設(shè)備類的自遁應(yīng)軟件鎖相環(huán)設(shè)計(jì)

          作者: 時(shí)間:2009-07-09 來(lái)源:網(wǎng)絡(luò) 收藏

          6 測(cè) 試
          (1)基本性能
          關(guān)閉,系統(tǒng)在緩存中存放240個(gè)sample開始播放。而每次當(dāng)程序播放約45 s時(shí),由于緩存消耗殆盡,語(yǔ)音會(huì)自動(dòng)中斷,無(wú)法播放。
          開啟,程序可以無(wú)時(shí)間限制運(yùn)行,達(dá)到設(shè)計(jì)目的。
          (2)緩存需求測(cè)試
          在播放至少10 min穩(wěn)定以后,利用變量rangel和range2跟蹤緩存內(nèi)數(shù)據(jù)數(shù)量波動(dòng)范圍,記錄最大值和最小值,分12次測(cè)試,如圖4所示。

          可見,在啟動(dòng)以后,緩存中數(shù)據(jù)量最大浮動(dòng)范圍在192~250 sample之間。因此,為保證數(shù)據(jù)不溢出,只需要約60字節(jié)空間作為緩存就能維持設(shè)備正常工作。
          (3)估算時(shí)鐘偏差測(cè)試
          在不同電腦上運(yùn)行10 min以上,提取插入/丟棄數(shù)據(jù)間隔,取倒數(shù)可以得到穩(wěn)定后設(shè)備和時(shí)鐘偏差率。由圖5可見,總體偏差在0.001~0.003以內(nèi),基本符合預(yù)期。

          (4)穩(wěn)定性測(cè)試
          運(yùn)行10 min以后,讀取當(dāng)前設(shè)備緩存內(nèi)數(shù)據(jù)量。由于每次寫入/讀取8個(gè)sample,而終止程序進(jìn)行數(shù)據(jù)提取是隨機(jī)的,無(wú)法確定緩存剛才由寫入還是由 ML2308讀取,因此在240上下8個(gè)sample以內(nèi)都是完全符合預(yù)期的。由圖6可見,程序能準(zhǔn)確地將緩存中數(shù)據(jù)量控制在240個(gè)sample左右,完全達(dá)到設(shè)計(jì)目標(biāo)。

          結(jié) 語(yǔ)
          基于插值算法的自適應(yīng)軟件鎖相環(huán),適用于針對(duì)_Audio_Class_Device的時(shí)鐘同步需求。它在達(dá)到設(shè)計(jì)要求的前提下,對(duì)嵌入式系統(tǒng)內(nèi)存和MIPS占用極低,非常適合在利用USB總線作為數(shù)據(jù)傳輸,或通信雙方存在一定的不確定速率的誤差且需要設(shè)備自主完成數(shù)據(jù)同步的設(shè)備中使用。


          上一頁(yè) 1 2 3 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();