ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
29 марта
1101557
my504 (21.05.2021 22:37, просмотров: 938)
Немного в связи с темой про конвейерный АЦП и dsPIC33CH. Пока занимался АЦП, потребовалось сгенерировать накачку передатчика изделия и накачку АЦП с помощью HR PWM. И тут я столкнулся со странным... Микрочип.ком мой вопрос проигнорил, поэтому обращаюсь к сообществу сахары. Итак, диспозиция. 

1. Есть событие генерируемое обычным Output Compare из временной базы слейв ядра (100 МГц) - основной PLL. Это событие с частотой 2 кГц (500 мкс) запускает один из генераторов модуля HR PWM, выдающий пуш-пульный сигнал из 64 импульсов частотой 8,5 МГц. Через 1,5 мкс после окончания этого сигнала другим генератором модуля генерируется 256 импульсов с учетверенной частотой (34 МГц) для накачки АЦП. При этом HR PWM работает от совершенно другой временной базы - Aux PLL 500 МГц.

Основная цель при генерации этих двух сигналов состоит в том, что джиттер всего этого процесса относительно запускающего события должен быть минимальным, а пара генерируемых сигналов максимально когерентна.

2. Провозившись с синхронизацией генераторов модуля и не получив искомого результата (триггерный запуск работает отлично, а синхронизация автоколебательного режима - никак), я был вынужден в прерывании от стартового события запустить первый генератор софтверно (есть там бит ручного старта). И тут произошел фокус. Джиттер между запуском и генерируемым сигналом стал равен НУЛЮ. Настолько нулю, насколько вообще возможно было наблюдать на 100 МГц Тектрониксе в разверткой 2,5 нс/дел.

3. Отсюда вопрос. Как все это понимать? С какого перепуга запуск из другой временной базы стал когерентен генерируемому сигналу?

ЗЫ. Такая же байда произошла и со вторым сигналом...