Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
07.01.2013, 03:22
|
|
Заблокирован
Регистрация: 27.03.2007
Сообщений: 1,328
Сказал спасибо: 12
Сказали Спасибо 576 раз(а) в 460 сообщении(ях)
|
Re: Управление лазером, синхронизация потока данных
Синхронизацию можно сделать так. DMA обязательно. SPI в Slave моде. Клоки от TIM2. Работа TIM2 сначала запрещена.
Разрешение на работу для TIM2 поступает от события переполнения TIM1.
Для TIM1 клоки - внешние: импульсы начала новой строки от вертушки.
Перед стартом записываете в DMA начальный адрес буфера. Зануляете и запрещаете TIM2 и засылаете 0xFFFF в TIM1. Ждёте импульса начала строки.
С приходом импульса таймер TIM1 переполняется и разрешает работу TIM2, который сидел в нуле вместе со своим прескейлером. То есть синхронно со строкой TIM2 начинает генерить клоки для SPI.
И понеслось. DMA засылает байты в SPI, пока на достигнет конца буфера. Потом вырабатывает прерывание о завершении работы. В прерывании снова зануляем и запрещаем TIM2, в таймер TIM1 пишем 0xFFFF, в DMA - начальный адрес. И снова ждём импульс строки.
|
|
|
Сказали "Спасибо" Yurkin2007
|
|
|
07.01.2013, 11:48
|
|
Вид на жительство
Регистрация: 26.07.2007
Сообщений: 483
Сказал спасибо: 18
Сказали Спасибо 107 раз(а) в 68 сообщении(ях)
|
Re: Управление лазером, синхронизация потока данных
Yurkin2007, да, именно так и думал, кроме обнуления Т2, тут хотел поставить внешний счетчик (сейчас паяю) делитель и делать сброс по приходу внешнего синхроимпульса. Т2 - › разогнать скажем в 4-8 раз быстрее чем требуется. Таким образом при сбросе получим ошибку максимум 1/4 - 1/8 периода от старта. Идея проделать тоже со внутренним таймером Т2 - очень понравилась!!!!! Большое спасибо!
|
|
|
|
12.01.2013, 17:13
|
|
Вид на жительство
Регистрация: 26.07.2007
Сообщений: 483
Сказал спасибо: 18
Сказали Спасибо 107 раз(а) в 68 сообщении(ях)
|
Re: Управление лазером, синхронизация потока данных
Нашел вот такую штуку:
65ALS543
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 13:49.
|
|