Страница 1 из 1

ATmega128: прошивка работает в proteus, но не в железе

Добавлено: Вт апр 27, 2010 11:43:23
Rumato
Принимаю последовательность данных на входе. Последовательность на рисунке.
И вывожу прочитанный байт на диоды. Схема тоже на рисунке.

В proteus- все работает нормально, байты показываются.
В железе - прошивается, с фьюзами нормально все, на частоту выходит. Формат входных
данных одинаков и на эмуляторе и на реальном железе.
Но последовательности данных не распознаются.
Даже преамбула корректно не определяется.

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

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

Re: ATmega128: прошивка работает в proteus, но не в железе

Добавлено: Ср апр 28, 2010 15:59:52
Pooher
Чаще всего, если в симуляторе работает, а в железе - нет, всему виной фьюзы, копайте туда...

Re: ATmega128: прошивка работает в proteus, но не в железе

Добавлено: Чт апр 29, 2010 15:27:11
Rumato
Получил фьюзы...
fuse.PNG
(56.68 КБ) 369 скачиваний
Установлены на частоту 8Mhz.
Вроде ничего криминального

Re: ATmega128: прошивка работает в proteus, но не в железе

Добавлено: Чт апр 29, 2010 20:57:47
urry
Вы очень рисковый товарищ... Я б на Ваш алгоритм не решился бы. Только внешнее прерывание на изменение уровня, мажоритарное сравнение по срабатыванию таймера на половине ( типа по уарту) - 2 из 3, а у Вас в основном цикле время плавает в зависимости от его загрузки.
Что здесь можно посоветовать - собирайте в железе имитатор сигнала и играйтесь с приемником.
Я просто все бы сделал по -другому - а так - явного криминала нет, как нет и обработки ошибок (иголок)...

Re: ATmega128: прошивка работает в proteus, но не в железе

Добавлено: Пт апр 30, 2010 02:32:13
Rumato
Спасибо за ответ.
Время синхронизируется во нарастающему фронту, а так как единица времени 200мс, вроде длина цикла не должна влиять.

Постановщики говорят, что во время передачи данных иголок нет, есть во время простоя, но оч короткие и редкие.

Сам бы сделал по-другому (и видимо займусь), но попросили реализовать под АВР аналог ПИКовской программы - именно по такому алгоритму.

Re: ATmega128: прошивка работает в proteus, но не в железе

Добавлено: Пт апр 30, 2010 07:19:39
urry
Отличие пика от авр в плане помехоустойчивости - испульс, наведенный на резет (питание, внешние помехи) - который пику по барабану - авр сбрасывает на раз. Может, авр в полевых условиях просто сбрасывается ?

Re: ATmega128: прошивка работает в proteus, но не в железе

Добавлено: Пт апр 30, 2010 09:37:39
Rumato
Не думаю, RESET подтянут через 10К. Да и другие программы на этом стенде нормально работают.