2010-01-06 53 views
5

RT Linux可以執行(實時)週期性任務的最短時間間隔是多少?RT Linux中的快速週期性任務

我正在研究用於科學數據採集應用程序的硬件與軟件解決方案。這些要求包括約40kHz的生理過程的實時反饋控制。有硬件解決方案(使用可編程DSP芯片),但我很好奇實時Linux任務是否可以解決整個問題。任務很簡單:從A/D板讀取一個樣本,執行一些簡單的算術操作,然後向A/D板寫入一個樣本。 RT Linux可以將此任務安排在40k次/秒或者是不合理的速度?

如果我們可以在CPU上執行週期性任務,我們可以在沒有硬件依賴的情況下編寫應用程序。否則,我們將不得不使用混合CPU/DSP系統。顯然,我希望前者。

回答

2

根據http://www.ibm.com/developerworks/linux/library/l-real-time-linux/,即使一個體面的處理器上的非RT linux可以提供平均20μs的定時器間隔,對應於50kHz。同一篇文章提到,2.6內核中的高分辨率定時器可以提供1μs的間隔或1000kHz。所以我認爲期望RT內核能夠可靠地提供40kHz是不合理的。

+1

非RT的linux可以很容易地提供*平均值* 50kHz,但是對於這個系統的要求是最壞的情況是40kHz,所以非RT linux不在了。定時器的分辨率不能保證它能以特定速率週期性地發射;這可能是因爲你可以在232μs週期性地定時發射定時器,但是20μs太快。 –

+1

是的..我的觀點是,如果一個非RT可以平均提供50k * *(由於某些時間間隔被搶先,導致延遲),那麼RT系統應該能夠可靠地提供40k *。我並不是建議您使用非RT,只是將其用作「最差情況」比較。 –