|
Первый запуск., AT902313 & ATmega8 |
|
|
|
Dec 21 2005, 21:43
|
Участник

Группа: Свой
Сообщений: 52
Регистрация: 30-11-05
Из: С-Пб
Пользователь №: 11 619

|
Доброго времени суток! ... в "нулёвую" At902313? у нее нет внутреннего генератора она работает только от внешнего, по умолчанию кварц. для каждого программатора свой кварц используют но обычно 4МГц.(тут я на ваш программатор описалова не нарыл) хотя простейший програматор на АП прошивает при любом разумном значении кварца(см описалово) без него прошить нельзя покрайне мере в первый раз потом можно поставить что угодно RC,ZQ, внешний такт сигнал. ATmega8 тут сложнее если в ней поставлена защита от прошивания то только высоковольтным способом, во всех других случаях если она читается то ее можно стереть и сконфигурировать по своему главное не ошибится в выборе конфигурации. у нее есть внутренняя RC=1МГц ,RC,ZQ, внешний такт сигнал. она может работатьбез кварца внешнего. у нее можно внутренний такт подстроить как програмно так и в программаторе. но по идее ее настроили на заводе. сигнатурой не занимался. удачи
|
|
|
|
|
Dec 22 2005, 06:28
|

Знающий
   
Группа: Свой
Сообщений: 521
Регистрация: 10-02-05
Пользователь №: 2 544

|
Цитата(__nik__ @ Dec 22 2005, 00:43)  Доброго времени суток! ... в "нулёвую" At902313? у нее нет внутреннего генератора она работает только от внешнего, по умолчанию кварц. для каждого программатора свой кварц используют но обычно 4МГц.(тут я на ваш программатор описалова не нарыл) хотя простейший програматор на АП прошивает при любом разумном значении кварца(см описалово) без него прошить нельзя покрайне мере в первый раз потом можно поставить что угодно RC,ZQ, внешний такт сигнал. ATmega8 тут сложнее если в ней поставлена защита от прошивания то только высоковольтным способом, во всех других случаях если она читается то ее можно стереть и сконфигурировать по своему главное не ошибится в выборе конфигурации. у нее есть внутренняя RC=1МГц ,RC,ZQ, внешний такт сигнал. она может работатьбез кварца внешнего. у нее можно внутренний такт подстроить как програмно так и в программаторе. но по идее ее настроили на заводе. сигнатурой не занимался. удачи Если стереть последовательным программатором Мегу8, то биты защиты тоже стираются и ее можно шить снова. Для этого не нужен высоковольтный программатор. Он понадобится, если установить фьюз RSTDSB. В этом случае вывод RESET станет обычным портом ввода/вывода и кристалл станет невозможно запрограммировать последовательным программатором. Сигнатура используется только для идентификации ЧИПа, например для автоматического распознавания кристалла программатором.
|
|
|
|
|
Dec 22 2005, 07:05
|

Профессионал
    
Группа: Свой
Сообщений: 1 301
Регистрация: 30-11-04
Из: Россия, Н.Новгород
Пользователь №: 1 264

|
Цитата(very_good @ Dec 21 2005, 21:19)  Доброго времени суток! Есть программатор AS2M. Что нужно для заливки программы в "нулёвую" At902313? Кварц, тогда на какую частоту, а можно прошить без него? Есть ещё прошитая микруха ATmega8. Можно её перепрошить, если она тактируется от кварца и установлена какая защита. Подскажите, пожалуйста, для чего используется сигнатура у этих микросхем кроме как для определения типа микросхемы? Просмотрите обзорную статью о программировании AVR. Там изложены все основные принципы программирования, которые преемлемы как для 'старых', так и новых кристаллов: http://atmel.ru/Articles/Atmel16.htm#p01
--------------------
Не корысти ради, не в целях наживы, а во исполнение велений души!
|
|
|
|
|
Dec 22 2005, 21:54
|
Участник

Группа: Свой
Сообщений: 52
Регистрация: 30-11-05
Из: С-Пб
Пользователь №: 11 619

|
Цитата(Igor26 @ Dec 22 2005, 09:28)  Если стереть последовательным программатором Мегу8, то биты защиты тоже стираются и ее можно шить снова. Для этого не нужен высоковольтный программатор. Он понадобится, если установить фьюз RSTDSB. В этом случае вывод RESET станет обычным портом ввода/вывода и кристалл станет невозможно запрограммировать последовательным программатором. Сигнатура используется только для идентификации ЧИПа, например для автоматического распознавания кристалла программатором. там еще есть фьюз SPIEN можно только его убрать и прошивка последовательным программатором станет не возможна. ----------------------------- Цитата Хорошо. Делаю стирание Меги8. Делаю чтение - всё читается как чисто Flash&EEPROM, сигнатура не читается (FF) и фузы как бы тоже ни один не запрограммирован (или просто не удалость считать). Похоже на признаки "палёной" микросжемы? Как уточнить можно? Ещё вопрос: как для каждого программатора свой кварц, т.е.? У меня в программе от программатора есть параметр SCK который как я понял должен быть раза в 4 меньше тактовой частоты контроллера. Для чего используется SCK? возможно у программатора есть раздельные команды чтения сигнатуры и фьюзбитов. если она не читаються это не значит что проц паленый а просто что их не прочитали. у всех контроллеров изначально есть установленные дефолтовские значения , значения вьюз и т.п. есь в даташите на проц. к примеру мега настроена на работу от внутреннего рц-генератора и некоторая задержка при старте, к этому необходимых RSTDB SPIEN и область бута они есть всегда и всегда читаются если не запрещено(защата от програмирования RSTDB SPIEN). если команда стирания проходит то в 90% все должно работать. попробуйте в нее чтонть записать, а потом считать и сравните с записаным в нее. SCK-есть в описании на SPI,в кратце- вход/выход тактирования данных, по нему происходит считывание пришедших данных
|
|
|
|
|
Dec 23 2005, 02:53
|
Участник

Группа: Участник
Сообщений: 32
Регистрация: 7-12-05
Пользователь №: 11 909

|
Цитата(very_good @ Dec 22 2005, 15:50)  Хорошо. Делаю стирание Меги8. Делаю чтение - всё читается как чисто Flash&EEPROM, сигнатура не читается (FF) и фузы как бы тоже ни один не запрограммирован (или просто не удалость считать). Похоже на признаки "палёной" микросжемы? Как уточнить можно? Ещё вопрос: как для каждого программатора свой кварц, т.е.? У меня в программе от программатора есть параметр SCK который как я понял должен быть раза в 4 меньше тактовой частоты контроллера. Для чего используется SCK? На AS2 обычно если сигнатура не считалась (FF), то и содержимое флэша и еепрома не считалось. Видимо, контроллер не отвечает. Надо проверить питание, кабель, тактирование МК и т.д. (Извини, если известные вещи написал...). (Или ,как уже писали, SPIEN, RSTDSBL прошиты, тогда без параллельного программатора не обойтись). AS2 не тактирует МК, МК тактируется самостоятельно. SCK - тактовый сигнал для SPI и его частота при ISP действительно д.б. в 4 раза меньше частоты программируемого МК (на практике, у меня AS2 с SCK 125 кГц ( по умолчанию) работает с любой тактовой частотой МК).
|
|
|
|
|
Dec 23 2005, 06:34
|

Знающий
   
Группа: Свой
Сообщений: 521
Регистрация: 10-02-05
Пользователь №: 2 544

|
To __nik__ Фьюз SPIEN нельзя зашить последовательным программатором. To very_good. Попробуйте посмотреть осциллографом, что творится на выводе XTAL2 Меги8. А затем, попробуйте дать команду программатору "Считать FLASH" и посмотрите осциллографом, что творится при этом на выводах RESET, MOSI, MISO и SCK. RESET должен быть притянут к земле в течении всего цикла чтения(в данном случае). На SCK должны быть тактовые импульсы, т.е. программатор тактирует МК. На MOSI тоже должны быть импульсы - это программатор шлет команды/данные контроллеру. По линии MISO контроллер отвечает программатору, т.е., если всё хорошо, то на этой линии тоже должны быть импульсы. Попробуйте всё это проделать, а потом будем думать дальше. Удачи.
|
|
|
|
|
Dec 29 2005, 07:43
|

Знающий
   
Группа: Свой
Сообщений: 697
Регистрация: 26-07-05
Из: Могилев
Пользователь №: 7 095

|
Цитата(very_good @ Dec 29 2005, 02:20)  Собираюсь подключить семисегментный индикатор и измененять показания на нём каждую секунду, т.е. 1-2-3.... Подскажите, пожалуйста, как лучше организовать вывод индикации чтобы брать значение из буфера в двоичном виде преобразовывать его в десятичное и выводить на индикатор (как семисегментник принято описывать програмно?). Описать таблицу перекодировки значения буфера, в код индикатора и поместить ее во FLASH (значения в таблице будут зависеть от того, как будет подключен индикатор ): Код __flash unsigned char TABLE[10]= { 0xXX,//код семисегиентного индикатора для символа "0" .... 0xZZ//код семисегиентного индикатора для символа "9" }; Если подключить индикатор непосредственно к порту (например В), то вывод на индикатор значения буфера будет выглядеть так: Код PORTB=TABLE[BUFER];
|
|
|
|
|
Dec 29 2005, 12:24
|
Участник

Группа: Свой
Сообщений: 52
Регистрация: 30-11-05
Из: С-Пб
Пользователь №: 11 619

|
написано не супер но можно понять как че работает. вывод на дисплей 7сег как цифр так и текста + псевдо реальное время(после выключения все потеряет) работа с меню точно не помню но вроде 3 вложенности. управление уставкими и тд к каждой уставке свое название. программа не оптимизирована и работает на 100% прога написана так чтоб си (иар) компилил ее как можно в быстрый код для исполнения.
timer.zip ( 6.35 килобайт )
Кол-во скачиваний: 160
|
|
|
|
|
Dec 30 2005, 11:54
|
Участник

Группа: Свой
Сообщений: 52
Регистрация: 30-11-05
Из: С-Пб
Пользователь №: 11 619

|
__flash unsigned char __flash- определение чтоб разместить в памяти программ(флеш) без него в срам в зависимости от компилятора может разместить в еепром с ним скорость работы ниже и на время чтения\записи необходимо запрещать прерывания(ну в крайнем случае очень желательно)
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|