最近在做一个ad7193的高速AD驱动,AD每采样一次都会触发一次低电平中断,中断用gpio引脚来实现,可是发现ad采样频率超过150左右后,中断就会丢失。也就说每秒钟最多能触发150次左右中断。请问是芯片问题还是驱动问题,使用linux3.2.0系统。
希望能得到帮助,谢谢!
Shine:
一般在OS下中断延时是正常的,请参考:
processors.wiki.ti.com/…/Processor_SDK_Linux_Kernel_Performance_Guide如果对实时响应要求高的话,可以裸跑starterware。
user5274408:
回复 Shine:
资料里表没太看懂,是1001次测试结果还是1001次采样,中间一列是1001次中断实际采样数?望指教,谢谢
Denny%20Yang99373:
LINUX系统正常情况下处理每秒150次中断是没问题的。
除非CPU极端繁忙,你可以看看CPU占有率,如果占有率比较低,可以能是其他的问题
user5274408:
回复 Denny%20Yang99373:
不是啊,我要达到是1KHZ左右,现在只能每秒处理150次左右。找原因呢。不知道是不是linux压根就实现不了这种实时性。
yongqing wang:
回复 user5274408:
带Linux系统的都不是非常适合做实时应用,你可以给Linux打个实时补丁,或者用mcu来做比较合适