|
Tiny13, проблема с чтением EEPROM |
|
|
|
May 13 2008, 13:23
|

Гуру
     
Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954

|
Цитата(Kalina @ May 13 2008, 13:17)  ...в определённые моменты времени уровень на линии RESЕT достигал низкого уровня, при этом по линиям MOSI, SCK могли проходить помехи которые и преводили МК в режим программирования. После того как я отключил SPI, проблема сналась, это факт! Хотя теория вероятности и говорит, что существует вероятность того, что помехи могут сложится в соответствующие команды программирования, но, я в данном вопросе я солидарен с defunct. То, что отключение SPI помогло, может быть объяснено и по-другому: например, помеха была довольно мощной и по цепям SPI в МК проникало напряжение >6V, которое губительно для памяти; отключили SPI - помехе стало труднее проникать...
|
|
|
|
|
May 13 2008, 13:36
|

Участник

Группа: Участник
Сообщений: 17
Регистрация: 12-12-07
Из: Украина
Пользователь №: 33 226

|
Цитата(defunct @ May 13 2008, 16:52)  периферийного устройства "SPI" такого как в m8 в t13 нет.
SPI который используется только для ISP программирования, в нормальном режиме отключен. Надо всего лишь подтянуть Reset к питанию и включить BOD.
T13 можно шить LVSP, HVSP и dW программаторами. Через dW конечно удавалось его шить иначе было бы очень неудобно отлаживать. Что значит "SPI который используется только для ISP программирования, в нормальном режиме отключен"??? Что такое нормальный режим??? (Что, есть еще и ненормальный???) В каком режиме продается данный МК в магазинах(в нормальном или ненормальном)??? Чем же его прошить первый раз после покупки??? Приведите, пожалуйста, хоть один факт, или документ, который что-то из этого подтверждал... Может у меня мало опыта в работе с АВР... Может Вы говорите на каком-то другом языке: причем тут периферийное устройство SPI и протокол по которому прошивается память контроллера SPI. SPI - это, на сколько я знаю, Serial Peripheral Interface. У большинства 8-битных МК фирмы Атмел этот интерфейс используется для загрузки программы в память МК. А у некоторых МК той же фирмы на борту есть еще и встроенный аппаратный SPI интерфейс (периферийное устройство), который исползуется для связи МК с другими устройствами (память, ЖКИ, другой МК,...), и который может работать в режиме Мастер или Слейв, но он не принимает участия в программировании МК без дополнительных программных вмешательств (типа бутлоадера). Вот SPI, как периферийное устройство в тини13 отсутствуей, а SPI как интерфейс программирования там есть (что видно из скриншота)... Не ругайте сильно, что отвлекся от темы, просто мне не понятно почему в оригинальной документации написано одно, а Ваш опыт говорит о другом.
Сообщение отредактировал mart-13 - May 13 2008, 13:47
|
|
|
|
|
May 13 2008, 13:47
|

Частый гость
 
Группа: Свой
Сообщений: 75
Регистрация: 19-12-07
Из: Житоимр
Пользователь №: 33 457

|
Цитата(defunct @ May 13 2008, 16:52)  Через dW конечно удавалось его шить иначе было бы очень неудобно отлаживать. Интерфейс debugWIRE позволяет выполнять отладку прямо на кристалле, что раннее было доступно на микроконтроллерах более высокого класса. Это позволит инженерам-проектировщикам усилить желание вывести продукцию на рынок за более короткий промежуток времени, т.к. имеется возможность начать выпуск продукции раньше, чем закончится отладка программного обеспечения. Встроенная отладка дает возможность проектировщикам выполнять отладку прямо на готовом устройстве. Именно для этого Atmel внедрила модуль debugWIRE в свои устройства. debugWIRE использует линию сброса для электрического соединения, благодаря чему проектировщики не столкнуться с проблемой потери линий ввода-вывода при использовании системы встроенной отладки. debugWIRE и пользовательский интерфейс AVR Studio ® дают проектировщикам полное управление ресурсами микроконтроллера, помогая уменьшить время проектирования за счет более простого процесса отладки. DebugWIRE позволяет выполнять отладку 8-разрядных микроконтроллеров, которые имеют малое число выводов. Как например 8-выводной. tiny 13 и 20-выводной tiny 2313 не имеют достаточного числа выводов для поддержки JTAG –интерфейса, которому требуется 4 линии ввода-вывода. Чесно говоря, первый раз слышу про такую возможность шить по dW, если вас не затруднит, не могли бы вы поделиться на конкретном прирмере, в даташите на tiny13 я ничего такого не нашёл. Поиск в гугле dW программатора также дал 0 результат  , неужели это засекречено? Цитата(Палыч @ May 13 2008, 17:23)  отключили SPI - помехе стало труднее проникать... При отключении SPI помехи никуда не делись, это понятно. Способность проникновения от этого вряд ли стала меньше. А вот возможность чего-то натворить в МК сразу отпала, проще говоря ей просто закрыли двери!
|
|
|
|
|
May 13 2008, 13:55
|

кекс
     
Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326

|
Цитата(mart-13 @ May 13 2008, 16:36)  Что значит "SPI который используется только для ISP программирования, в нормальном режиме отключен"??? Значит что в пользовательской программе его использовать нельзя. Цитата Что такое нормальный режим??? (Что, есть еще и ненормальный???) Когда выполняется пользовательская программа. Есть и другие режимы работы МК - сброшенное, отключенное состояние, режим программирования... Цитата В каком режиме продается данный МК в магазинах(в нормальном или ненормальном)??? в отключенном. Цитата Чем же его прошить первый раз после покупки??? Программатором, но вначале так или иначе надо будет куда-то запаять. А уж потом шить. Цитата а SPI как интерфейс программирования там есть (что видно из скриншота)... Да есть, но он отключен когда выполняется программа пользователя. Цитата Чесно говоря, первый раз слышу про такую возможность шить по dW, если вас не затруднит, не могли бы вы поделиться на конкретном прирмере, в даташите на tiny13 я ничего такого не нашёл. Поиск в гугле dW программатора также дал 0 результат , неужели это засекречено? Ну а что через JTAG можно программировать слышали? Точно также программу можно зашить и через dW. При отладке AVR-Studio сама заливает программу в чип через dW, т.е. Вам не нужно отключать dW, зашивать программу и включать dW обратно, для того чтобы отладить программу. Единственное ограничение в работе через debugWire - нельзя программировать Fuses и Locks.
|
|
|
|
|
May 13 2008, 14:04
|

Частый гость
 
Группа: Свой
Сообщений: 75
Регистрация: 19-12-07
Из: Житоимр
Пользователь №: 33 457

|
Цитата(defunct @ May 13 2008, 17:55)  Ну а что через JTAG можно программировать слышали? Точно также программу можно зашить и через dW. Единственное ограничение - нельзя программировать Fuses и Locks. Про возможность JTAG программирования я не только слышал, но и читал в даташите на мегу16. А вот про программирование тини13 по dW всего лишь слышал от вас, приведите хоть сылочку что ли...
|
|
|
|
|
May 13 2008, 14:17
|

Участник

Группа: Участник
Сообщений: 17
Регистрация: 12-12-07
Из: Украина
Пользователь №: 33 226

|
Цитата(defunct @ May 13 2008, 17:55)  Значит что в пользовательской программе его использовать нельзя. Когда выполняется пользовательская программа. Есть и другие режимы работы МК - сброшенное, отключенное состояние, режим программирования... в отключенном. Программатором, но вначале так или иначе надо будет куда-то запаять. А уж потом шить. Да есть, но он отключен когда выполняется программа пользователя. Ну а что через JTAG можно программировать слышали? Точно также программу можно зашить и через dW. Единственное ограничение - нельзя программировать Fuses и Locks. Ну на счет режимов Вы наконец что-то конкретное сказали, и начали называть все своими именами... (кстати, а почему бы не назвать отключенный режим нормальным)... ИМХО, так и надо было написать, что в режиме выполнения пользовательской программы SPI, который используется для программирования отключен, сразу всем бы ясно было, ато Вы пишите, что в тини13 его вообще нету. Я, например, и не всегда впаиваю контроллеры сразу в плату, а пользуюсь панельками программатора (у меня СТК-500). И еще вопрос, изначально эта тема подразумевала использование МК в "ненормальном" для Вас режиме, тоесть в режиме переходных процессов при вкл/выкл питания, и возможность при этом порчи ЕЕПРОМ (по причине нахождения МК в режиме программирования, или превышения напряжения питания, или помех, и т.д.) так вот, какое отношение к данному вопросу имеют Ваши хваленые dW и JTAG???
|
|
|
|
|
May 13 2008, 14:45
|

кекс
     
Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326

|
Цитата(Kalina @ May 13 2008, 17:04)  Про возможность JTAG программирования я не только слышал, но и читал в даташите на мегу16. А вот про программирование тини13 по dW всего лишь слышал от вас, приведите хоть сылочку что ли... Запустите AVR-Studio. Откройте Help->AVR Tools Users Guide->JTAGICE MKII. Перейдите в раздел On-Chip Debugger Options в нем подраздел Debug Dialog -> debugWire. Там будет скриншот, где видно что для debugWire можно настроить Program Download опции. цитата: Цитата The Debug Dialog Box when using debugWIRE is shown below. ... The Program Download section allows different settings for how often the target device should be reprogrammed. Цитата(mart-13 @ May 13 2008, 17:17)  И еще вопрос, изначально эта тема подразумевала использование МК в "ненормальном" для Вас режиме, тоесть в режиме переходных процессов при вкл/выкл питания, и возможность при этом порчи ЕЕПРОМ (по причине нахождения МК в режиме программирования, или превышения напряжения питания, или помех, и т.д.) так вот, какое отношение к данному вопросу имеют Ваши хваленые dW и JTAG??? Естессно никакого, точнее ровно такое же как и рекомендация отключить ISP. Бороться с переходным процессом надо другим способом - BOD / внешний супервизор питания, подключать пины через низкоомные резисторы вблизи выводов МК, шунтирующие конденсаторы по питанию... Программные средства защиты - дублирование записей в eeprom, код защиты.
|
|
|
|
|
May 13 2008, 21:21
|
дятел
    
Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065

|
Цитата(defunct @ May 13 2008, 16:17)  это просто метки которые форум сам расставляет от количества постов. Никакого отношения к квалификации эти метки не имеют. Я бы был непротив если бы вместо "гуру" у меня там было написано "кекс". OFF defunct дык поставте себе "кекс" в профиле Цитата(mart-13 @ May 13 2008, 18:17)  Ну на счет режимов Вы наконец что-то конкретное сказали, и начали называть все своими именами... (кстати, а почему бы не назвать отключенный режим нормальным)...
ИМХО, так и надо было написать, что в режиме выполнения пользовательской программы SPI, который используется для программирования отключен, сразу всем бы ясно было, ато Вы пишите, что в тини13 его вообще нету. Следите за движением буковок ISP != SPI и расшифровываются они совсем по-разному, а для подтверждения моих слов, идем ВНИМАТЕЛЬНО читать раздел SPI Serial Programming в даташите на mega128
|
|
|
|
|
May 16 2008, 08:52
|
Частый гость
 
Группа: Участник
Сообщений: 165
Регистрация: 14-01-05
Из: РФ Приморский край (рег.25)
Пользователь №: 1 939

|
Цитата(Kalina @ May 13 2008, 18:16)  Если я не ошибаюсь, так EEPROM это энергонезависимая память, какая может быть зависимость от напряжения питания? Разве что сам контроллер при понижении питания производит её хаотическую перезапись. Правильное предположение. Есть еще способы испортить EEPROM, но они маловероятны в обсуждаемом случае.
Сообщение отредактировал sseett - May 16 2008, 09:08
|
|
|
|
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|