Цитата(zzzzzzzz @ Sep 18 2007, 00:28)

Не понятно - а что Вы хотите сделать-то?
Расфазировка сигналов на выходе Вашего PICa реальная - единицы наносекунд (если Вы портом дергаете). Это плохо?
Порт микроконтроллера выдает следующие сигналы управление:
1. STROB - сигнал включающий микросхему счетчик1 1533 серия. (600нс.длит)
2. STROB^ - сигнал включающий микросхему счетчик2 1533 серия. (600нс.длит)
3. WORK - сигнал говорит, что устройство в работе. (просто положит. уровень)
4. ADR_TAKT - сигнал переключения счетчика (к1554) адреса микросхем памяти. (возникает через 200нс после начала STROB и STROB^)
5. CS - сигнал записи в микросхему памяти данных счетчика. (через 400нс.после начала STROB)
Так вот, прошлое подобное устройство я делал на рассыпухе и сигнал STROB генерировался на кварц+1554АГ1 потом шел счетчик 1554 (делитель длительности) и Триггер 1554серия (срабатывал по положительному и отрицательному фронту сигнала, соответственно, на прямом выходе был STROB, на инверсном STROB^). Устройство жутко глючило, как оказалось, потому, что сигнал STROB^ запаздывал на N нс относительно STROB => В результате, сигнал STROB давал на соседнюю линию (STROB^) короткий импульс (я его даже на осциле не видел, определял при помощи цифрового щупа на 1533АГ1) который включал второй счетчик, что приводило к ложным отсчетам. Проблемму я тогда решил, исключив инверсный выход триггера. Просто завел прямой выход на отдельный инвертор на 1533серии (я тогда по доке посмотрел - горраздо быстрее получалось, почти синхронно) и все проблеммы исчезли.
Вот я теперь сижу и думаю, не получится ли у меня такая же фигня на микроконтроллере. Конечно, возможно это была неудачная трассировка. Очень не хотелось бы опять попасть под такую проблемму т.к. быстрого осциллографа у меня нет. Вообщем заранее, перед тем как проводить закупки, пытаюсь предугадать что получится.