реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Первый запуск., AT902313 & ATmega8
very_good
сообщение Dec 21 2005, 18:19
Сообщение #1


Частый гость
**

Группа: Новичок
Сообщений: 88
Регистрация: 21-04-05
Пользователь №: 4 352



Доброго времени суток!
Есть программатор AS2M. Что нужно для заливки программы в "нулёвую" At902313? Кварц, тогда на какую частоту, а можно прошить без него?
Есть ещё прошитая микруха ATmega8. Можно её перепрошить, если она тактируется от кварца и установлена какая защита.
Подскажите, пожалуйста, для чего используется сигнатура у этих микросхем кроме как для определения типа микросхемы?
Go to the top of the page
 
+Quote Post
__nik__
сообщение Dec 21 2005, 21:43
Сообщение #2


Участник
*

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



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


Знающий
****

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



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

Если стереть последовательным программатором Мегу8, то биты защиты тоже стираются и ее можно шить снова. Для этого не нужен высоковольтный программатор. Он понадобится, если установить фьюз RSTDSB. В этом случае вывод RESET станет обычным портом ввода/вывода и кристалл станет невозможно запрограммировать последовательным программатором.
Сигнатура используется только для идентификации ЧИПа, например для автоматического распознавания кристалла программатором.
Go to the top of the page
 
+Quote Post
BVU
сообщение Dec 22 2005, 07:05
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 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


--------------------
Не корысти ради, не в целях наживы, а во исполнение велений души!
Go to the top of the page
 
+Quote Post
very_good
сообщение Dec 22 2005, 12:50
Сообщение #5


Частый гость
**

Группа: Новичок
Сообщений: 88
Регистрация: 21-04-05
Пользователь №: 4 352



Хорошо. Делаю стирание Меги8. Делаю чтение - всё читается как чисто Flash&EEPROM, сигнатура не читается (FF) и фузы как бы тоже ни один не запрограммирован (или просто не удалость считать). Похоже на признаки "палёной" микросжемы? Как уточнить можно?
Ещё вопрос: как для каждого программатора свой кварц, т.е.? У меня в программе от программатора есть параметр SCK который как я понял должен быть раза в 4 меньше тактовой частоты контроллера. Для чего используется SCK?
Go to the top of the page
 
+Quote Post
__nik__
сообщение Dec 22 2005, 21:54
Сообщение #6


Участник
*

Группа: Свой
Сообщений: 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,в кратце- вход/выход тактирования данных, по нему происходит считывание пришедших данных
Go to the top of the page
 
+Quote Post
AndV
сообщение Dec 23 2005, 02:53
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 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 кГц ( по умолчанию) работает с любой тактовой частотой МК).
Go to the top of the page
 
+Quote Post
Igor26
сообщение Dec 23 2005, 06:34
Сообщение #8


Знающий
****

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



To __nik__ Фьюз SPIEN нельзя зашить последовательным программатором.
To very_good. Попробуйте посмотреть осциллографом, что творится на выводе XTAL2 Меги8. А затем, попробуйте дать команду программатору "Считать FLASH" и посмотрите осциллографом, что творится при этом на выводах RESET, MOSI, MISO и SCK. RESET должен быть притянут к земле в течении всего цикла чтения(в данном случае). На SCK должны быть тактовые импульсы, т.е. программатор тактирует МК. На MOSI тоже должны быть импульсы - это программатор шлет команды/данные контроллеру. По линии MISO контроллер отвечает программатору, т.е., если всё хорошо, то на этой линии тоже должны быть импульсы.
Попробуйте всё это проделать, а потом будем думать дальше.
Удачи.
Go to the top of the page
 
+Quote Post
very_good
сообщение Dec 28 2005, 22:20
Сообщение #9


Частый гость
**

Группа: Новичок
Сообщений: 88
Регистрация: 21-04-05
Пользователь №: 4 352



Всё запустилось! Спасибо.
Собираюсь подключить семисегментный индикатор и измененять показания на нём каждую секунду, т.е. 1-2-3.... Подскажите, пожалуйста, как лучше организовать вывод индикации чтобы брать значение из буфера в двоичном виде преобразовывать его в десятичное и выводить на индикатор (как семисегментник принято описывать програмно?).
Go to the top of the page
 
+Quote Post
Old1
сообщение Dec 29 2005, 07:43
Сообщение #10


Знающий
****

Группа: Свой
Сообщений: 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];
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Dec 29 2005, 07:50
Сообщение #11


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Цитата(very_good @ Dec 29 2005, 00:20) *
...как семисегментник принято описывать програмно?...

Например, так

И ещё одна добавочка
Прикрепленные файлы
Прикрепленный файл  lcd_font.rar ( 1.55 килобайт ) Кол-во скачиваний: 97
Прикрепленный файл  lcd.rar ( 240 байт ) Кол-во скачиваний: 83
 
Go to the top of the page
 
+Quote Post
__nik__
сообщение Dec 29 2005, 12:24
Сообщение #12


Участник
*

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



написано не супер но можно понять как че работает.
вывод на дисплей 7сег как цифр так и текста + псевдо реальное время(после выключения все потеряет) работа с меню точно не помню но вроде 3 вложенности. управление уставкими и тд к каждой уставке свое название. программа не оптимизирована и работает на 100% прога написана так чтоб си (иар) компилил ее как можно в быстрый код для исполнения.Прикрепленный файл  timer.zip ( 6.35 килобайт ) Кол-во скачиваний: 160
Go to the top of the page
 
+Quote Post
very_good
сообщение Dec 29 2005, 19:30
Сообщение #13


Частый гость
**

Группа: Новичок
Сообщений: 88
Регистрация: 21-04-05
Пользователь №: 4 352



Спасибо за ответы!
Есть вопросы по тексту: В чём особенность определения __flash unsigned char? Если убрать __flash где тогда разместится массив? Например можно же писать для переменной unsigned char Х=0хFF;

В файле lcd.rar от IgorKossak есть деректива #ifndef LCD_H (#endif). Что она делает?
В массиве запись SegB + SegH воспринимается как логическое ИЛИ?
Go to the top of the page
 
+Quote Post
eXeC001er
сообщение Dec 29 2005, 20:16
Сообщение #14


Местный
***

Группа: Свой
Сообщений: 305
Регистрация: 23-02-05
Из: Краснодар
Пользователь №: 2 848



#ifndef LCD_H (#endif)
необходимо для исклчения ругательств компилятора на повторное включение файла.
Go to the top of the page
 
+Quote Post
__nik__
сообщение Dec 30 2005, 11:54
Сообщение #15


Участник
*

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



__flash unsigned char
__flash- определение чтоб разместить в памяти программ(флеш)
без него в срам
в зависимости от компилятора может разместить в еепром с ним скорость работы ниже и на время чтения\записи необходимо запрещать прерывания(ну в крайнем случае очень желательно)
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 16:15
Рейтинг@Mail.ru


Страница сгенерированна за 0.0146 секунд с 7
ELECTRONIX ©2004-2016