Разработка, производство и продажа радиоэлектронной аппаратуры
|
Требуется программист в Зеленограде - обработка данных с датчиков; ColdFire; 40 тыс.
e-mail: jobsmp@pochta.ru
|
AT91SAM7 Нужна помощь по таймерам/счётчикам
Отправлено
vitalyn 04 февраля 2009 г. 08:39
Задача: получить пачку импульсов.
Теоретически должно решаться тривиально, используя внутриблочные связи между каналами таймера-счётчика, заставить один канал выдавать импульсы, а второй канал их считать. Т.е. в один канал запихиваем RC и RA и выбираем соответствующий клок для формирования импульсов нужной длительности и периода, во второй в RC заносим количество импульсов, потом оба синхронно пинаем TCB_BCR = AT91C_TCB_SYNC, а чтобы первый счётчик выдал только нужное количество импульсов, указываем ему BURST на выход второго счётчика, который количество импульсов считает.
Уже почти сутки бьюсь - ничего не понимаю! Если взять ещё и третий канал, настроить его так же, как и первый, но только без BURST - в принципе начинает работать как надо, но я не могу того же самого добиться используя только два канала!!! Т.е. один канал явно лишний в этой схеме, хотелось бы его освободить, у меня на него другие планы имеются.
Кто-нибудь сталкивался уже с такой проблемой?
У меня подозрение, что в счётчиках криво реализован резет. В даташите как-то подозрительно написано, я понял так, что счётчик в 0 установится не сразу по выдаче RESET, как этого следовало бы ожидать, а только на следующем такте, а поскольку пока счётчик не упадёт в 0, на выходе не сформируется строб разрешения, стало быть, тактового импульса с другого счётчика просто не будет.
Составить ответ | Вернуться на конференцию.
Ответы