[an error occurred while processing this directive]
|
Ситуация следующая с 6 канального АЦП идут фремы каналов в виде ----123456-----123456--- частота клоков 2048М частота дискритизации 8 кГц разрешение 16 бит, ДСП не у правляет никак АЦП и может быть включен в любой момент времени, задача засинхронизироваться к первому каналу.
Сейчас я зделал так, McBSP выключен (RRST = 0), разрешаю прерывания от детектирования сигнала фрейма (прикольно они зделали что они работают даже при выключеном приемнике), запускаю таймер (период ~45 mks), в прерывании от McBSP все время перезапускаю таймер. В прерывании от таймера устанавливаю флаг что таймер просчитал 45 mks. В программе кручусь до тех пор пока не будет установлен флаг от таймера после чего запускаю DMA, потом McBSP RX.
На 1 вход подаю генератор на остальные землю, в итоге сигнал пляшит по каналам приемущественно в 2 или 3, реже в 1 но бывает и вдругих.
После запуска DMA и McBSP устанавливаю пин в еденицу, смотрю на осциле ножка как положено подымается после ~45 mks после фрема 6 канала что близо к средине промежутка между пачками фреймов.
Но почему они тогда не попадают в нужный канал ?
Такое чувство что запуск DMA и МсBSP занимает > 100 mks :( или я совсем не правельный принцип синхронизации выбрал ?
Кто что посоветует ?