Генерация синхроимпульсов
- Войдите на сайт для отправки комментариев
Чт, 30/01/2014 - 12:20
Здравствуйте! Извините за нубский вопрос...
Как мне реализовать подобное (см. картинку)? Т.е. нужно получить несколько синхросигналов синхронизированных между собой но с разной частотой и скважностью. Пробовал библиотеку PWM lib (http://forum.arduino.cc/index.php?topic=117425.0), но сигналы, естественно, разбегаются. Частота первого сигнала 15625 Гц со скважностью около 20%, второго - всего 50 Гц с такой же скважностью (да да, пытаюсь сделать синхрогенератор для видикона:)). Пологаю, надо курить прерывания по таймеру?)

Решил делать "влоб":
int i=0; void setup() { DDRB = 0xFF; //PIN11 is write mode DDRH = 0xFF; //PIN9 is write mode } void loop() { PORTH = _BV(PH6); //VSYNC High on PIN9 while (i<313) { PORTB = _BV(PB5); //HSYNC High on PIN11 delayMicroseconds(5); __asm__("nop\n\t"); //HSYNC High = 4.76us PORTB = !_BV(PB5); //VSYNC Low on PIN11 delayMicroseconds(22); if (i<1) { PORTH = !_BV(PH6); //VSYNC Low on PIN9 } delayMicroseconds(37); i++; __asm__("nop\n\t"); //15640 Hz } i=0; }Криво немного, но работает). Стабильность выходной частоты нормальная (осциллограф показывает изредка небольшие скачки, но на сколько это важно покажут только испытания непосредственно на видиконе).
изредка небольшие скачки
Спасибо! Попробую завтра