Хочу написать драйвер для внешнего АЦП, данные принимать планирую в Linux по SPI.
АЦП нужно чем-то тактировать частотой 100кГц. Изпод Linux это возможно?
задержек не будет?
А что за АЦП? Если от Analog Devices, то стоит посомтреть в сторону подсистемы IIO (Industrial Input/Output).
По поводу генеарции частоты много не скажу, ибо пока с данным вопросом не связывался. Но на expansion-слот выходит несколько таймеров. Смотрите в файл arch/arm/mach-at91/at91sam9260_devices.c в функцию at91_add_device_tc().
А дальше надо смотреть как их крутить через Linux Clock Framework: http://www.kernel.org/doc/htmldocs/kernel-api/clk.html
АЦП AD7606. Работает хоть по SPI хоть паралельно
Реализрвывал standalone драйвер. Теперь хочу под Linux.
что за IIO (Industrial Input/Output) можно подробнее?
наверное придётся на уровне ядра реализовывать генерацию постоянную. Узнать бы где копать....
спасибо, а как вывести в pck1 сигнал нужой частоты?
Вестимо использовать функцию int clk_set_rate (struct clk * clk, unsigned long rate); и иже с ними.
Неужели так сложно сходить по ссылкам что я дал? Там _всё_ это есть.
В упомянутом вами драйвере и инструкции по использованию нет информации про настройку тактирования АЦП.
Если я запущу постоянное тактирование от таймера, как мне использовать этот драйвер?
Ведь в структуре ниже нога CONVST(тактировнаие) для чего-то задействована: