2010-01-06 20 views
5
RT Linux bir (gerçek zamanlı) periyodik görevi yürütmek hangi kısa aralık nedir

?Hızlı periyodik görevler

bilimsel bir veri toplama uygulaması için yazılım çözümleri vs donanım araştırıyorum. Gereklilikler yaklaşık 40kHz'de fizyolojik süreçlerin gerçek zamanlı geribildirim kontrolünü içerir. Donanım çözümleri (programlanabilir DSP çiplerini kullanarak) vardır, ancak gerçek zamanlı bir Linux görevinin tüm sorunu çözüp göremeyeceğini merak ediyorum. Görev basit: A/D kartından bir örnek okuyun, basit bir aritmetik yapın ve A/D kartına bir örnek yazın. RT Linux bu görevi 40k kere/saniye olarak planlayabilir mi, yoksa mantıksız bir hız mıdır?

biz CPU periyodik görevi yerine edebilirsek, bir donanım bağımlılığı olmadan app yazabilir. Değilse, bir karma CPU/DSP sistemi kullanmamız gerekecek. Açıkçası, eskiyi umuyorum. http://www.ibm.com/developerworks/linux/library/l-real-time-linux/ göre

cevap

2

, 50kHz tekabül üzerinde ortalama 20μs zaman aralığı, sunabilen iyi bir işlemci bile olmayan RT Linux. Aynı makalede, 2.6 kernel w/bazı RT modlarında bulunan yüksek çözünürlüklü zamanlayıcıların, 1μs aralıklarla veya 1000kHz sağlayabileceğinden bahsedilmektedir. Bu yüzden, bir RT çekirdeğinin güvenilir bir şekilde 40kHz teslim etmesini beklemenin mantıksız olduğunu düşünmüyorum.

+1

olmayan RT Linux kolayca ortalama * 50kHz üzerinde * teslim edebilir, ancak bu sistem için gereksinimler en kötü durum 40kHz, bu yüzden olmayan RT Linux dışarı vardır. Zamanlayıcının çözünürlüğü belirli bir hızda periyodik olarak ateşlenebileceğini garanti etmez; periyodik olarak tam olarak 232µs'de bir zamanlayıcı ateşine sahip olabilirsiniz, fakat 20µs çok hızlıdır. –

+1

Evet .. benim açımdan olmayan RT ortalama * üzerinde (nedeniyle gecikmeye neden önceden ayrılmış alma bazı aralıklarla) 50k * sunabilirsiniz o zaman bir RT sistem 40k teslim etmek gerekir ki * güvenilir *. Ben RT olmayan, sadece bir "kötü durum" karşılaştırma olarak kullanarak kullanmanızı önermiyorum. –

İlgili konular