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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> программрование ATmega16, проблемы
maximka
сообщение Jan 21 2006, 08:25
Сообщение #1


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

Группа: Свой
Сообщений: 92
Регистрация: 16-01-06
Пользователь №: 13 252



Спаял схемку программатора STK200/300 запрограммирал микросхему из ICC. Все работает. Стал разбираться с CodeVisionAvr, написал прогу и попробовал запрограммировать. В первый раз вообще никакой ошибки не выдал, но микроконтроллер тоже не работал, во второй раз написал что запись не возможна. и т. д. Попробовал опять в ICC не работает. Программатор проверил.
Залез на сайт CodeVisionAvr там в http://www.hpinfotech.ro/html/cvavr_features.htm вообще нет ни слова про поддержку ATmega16.
Вопрос: Мог ли я при программировании как то спалить микросхему (питание 5В)?
Кто нибудь программировал ATMega16 в CVAVR?
Программирование битов защиты вроде не трогал и если я их запрограммировал какую ошибку должен выдавать программатор?
Есть ли у кого описание CVAVR желательно на русском, а то я таким макаром разорюсь на микросхемах.
Спасибо.
Go to the top of the page
 
+Quote Post
defunct
сообщение Jan 21 2006, 10:07
Сообщение #2


кекс
******

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



Цитата(maximka @ Jan 21 2006, 10:25) *
Вопрос: Мог ли я при программировании как то спалить микросхему (питание 5В)?
Кто нибудь программировал ATMega16 в CVAVR?
Программирование битов защиты вроде не трогал и если я их запрограммировал какую ошибку должен выдавать программатор?
Есть ли у кого описание CVAVR желательно на русском, а то я таким макаром разорюсь на микросхемах.
Спасибо.


спалить врятли, а вот установить другой clock source - запросто.
теперь пробуйте затактировать вашу мегу от внешнего генератора.
почитайте про fuse bits в даташите.
Go to the top of the page
 
+Quote Post
maximka
сообщение Jan 21 2006, 10:52
Сообщение #3


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

Группа: Свой
Сообщений: 92
Регистрация: 16-01-06
Пользователь №: 13 252



Цитата(defunct @ Jan 21 2006, 13:07) *
спалить врятли, а вот установить другой clock source - запросто.
теперь пробуйте затактировать вашу мегу от внешнего генератора.
почитайте про fuse bits в даташите.


А где устанавливается clock source (источник синхросигнала)?

вопрос снимаетя, пока не разобрался как удалить сообщение. Извиняюсь.
Go to the top of the page
 
+Quote Post
maximka
сообщение Jan 21 2006, 11:05
Сообщение #4


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

Группа: Свой
Сообщений: 92
Регистрация: 16-01-06
Пользователь №: 13 252



Цитата(defunct @ Jan 21 2006, 13:07) *
спалить врятли, а вот установить другой clock source - запросто.
теперь пробуйте затактировать вашу мегу от внешнего генератора.
почитайте про fuse bits в даташите.


скорее всего вы правы, я поторопился. Спасибо.
При изменении Program Fuse Bit например написано:
СКOT=0, я ставлю галочку, но значение не меняется - и что запишется если стоит галочка напротив этого бита?

Сообщение отредактировал maximka - Jan 21 2006, 11:10
Go to the top of the page
 
+Quote Post
defunct
сообщение Jan 21 2006, 11:29
Сообщение #5


кекс
******

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



Цитата(maximka @ Jan 21 2006, 13:05) *
При изменении Program Fuse Bit например написано:
СКOT=0, я ставлю галочку, но значение не меняется - и что запишется если стоит галочка напротив этого бита?


CKOPT - фуз включения/отключения усилителя тактового генератора, когда он запрограммирован (=0) - усилитель включен и с XTAL2 можно снимать сигнал для тактирования чего либо еще, когда нет - потребляется меньший ток, но тактировать XTAL2 ничего нельзя.

Выбор clock source определяется четырьмя битами Fuse Low Byte - CKSEL3..0
О них подробно расписано в даташите раздел "System Clock and Clock Options"
Go to the top of the page
 
+Quote Post
Blade000
сообщение Jan 21 2006, 17:44
Сообщение #6


Участник
*

Группа: Новичок
Сообщений: 42
Регистрация: 4-01-05
Из: г. Самара
Пользователь №: 1 803



Скорее всего с контроллером всё в порядке, просто вы сконфигурировали вывод Reset как I/O порт, тепер в режиме ISP он не будет программироваться, надо паралельный программатор искать.

А то как вы сконфигурировали тактовый генератор на программирование не влияет, влияет на дальнейшую работу контроллера после программирования.
Go to the top of the page
 
+Quote Post
maximka
сообщение Jan 21 2006, 17:52
Сообщение #7


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

Группа: Свой
Сообщений: 92
Регистрация: 16-01-06
Пользователь №: 13 252



Цитата(Blade000 @ Jan 21 2006, 20:44) *
Скорее всего с контроллером всё в порядке, просто вы сконфигурировали вывод Reset как I/O порт, тепер в режиме ISP он не будет программироваться, надо паралельный программатор искать.

А то как вы сконфигурировали тактовый генератор на программирование не влияет, влияет на дальнейшую работу контроллера после программирования.


Ну я возможно ошибаюсь, но частота SCK служит только для синхронизации передачи, а частота нужна для программирования самого микроконтроллера. Тоесть если я поставил в качестве синхронизатора внешний сигнал, то у меня ничего работать не будет без него.
Go to the top of the page
 
+Quote Post
Blade000
сообщение Jan 21 2006, 20:06
Сообщение #8


Участник
*

Группа: Новичок
Сообщений: 42
Регистрация: 4-01-05
Из: г. Самара
Пользователь №: 1 803



Программировал мегу8 и с кварцем и без кварца. Если ты не можешь даже биты конфигурации поменять, значит ты точно Reset неправильно настроил, бало такое у самого, потом через паралельный прагромматор вернул всё на свои места и спокойно программировал через ISP.
Если конечно корпус DIP, то всё просто, а если TQFP то сложновато будет cranky.gif
Go to the top of the page
 
+Quote Post
defunct
сообщение Jan 22 2006, 00:05
Сообщение #9


кекс
******

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



Цитата(Blade000 @ Jan 21 2006, 22:06) *
Программировал мегу8 и с кварцем и без кварца. Если ты не можешь даже биты конфигурации поменять, значит ты точно Reset неправильно настроил, бало такое у самого, потом через паралельный прагромматор вернул всё на свои места и спокойно программировал через ISP.
Если конечно корпус DIP, то всё просто, а если TQFP то сложновато будет cranky.gif


У Mega16 нельзя залочить Reset, учите матчасть...
Go to the top of the page
 
+Quote Post
Blade000
сообщение Jan 22 2006, 09:59
Сообщение #10


Участник
*

Группа: Новичок
Сообщений: 42
Регистрация: 4-01-05
Из: г. Самара
Пользователь №: 1 803



Согласен, не посмотрел в описание, а как биты конфигурации были настроенны в первый раз программирования?
Go to the top of the page
 
+Quote Post
maximka
сообщение Jan 22 2006, 16:51
Сообщение #11


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

Группа: Свой
Сообщений: 92
Регистрация: 16-01-06
Пользователь №: 13 252



Не знаю, просто запрограммировал в ICC, попробовал в CVAVR. Просто скорее всего там по умолчанию стоит галка Program FUSE BITS, а сами биты не выбраны. Так что получилось что я все FUSE BITS запрограммировал как 1, а под это попадает внешний резонатор, тоесть наверное сигналы синхронизации выходят с XTAL2, но не попадают на XTAL1, тоесть нет сигнала синхронизации. Попробую завтра подать частоту с генератора или может быть подсоединю кварц. Ну вообщем буду разбираться, на всякий пожарный купил еще один микроконтроллер.
Go to the top of the page
 
+Quote Post
ALexx
сообщение Jan 23 2006, 13:26
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 243
Регистрация: 22-09-04
Из: Burbach, Germany
Пользователь №: 704



Цитата(maximka @ Jan 21 2006, 11:25) *
Кто нибудь программировал ATMega16 в CVAVR?


А как КодВижн ругнулся? Какая версия у Вас?

В настоящее время активно программирую оный кристалл.
Работаю от внешнего кварца 8МГц.

Вид окошка перед программированием прилагается.

Сначала выполняю стирание(см. второй рисунок), а потом заливку флеша.
Ни разу проблем не наблюдалось.
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
maximka
сообщение Jan 23 2006, 16:56
Сообщение #13


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

Группа: Свой
Сообщений: 92
Регистрация: 16-01-06
Пользователь №: 13 252



Всем спасибо разобрался. Запитал от внешнего генератора и все заработало. Перепрограммировал Fuses Bits и все стало ок.

Кстати заметил еще проблемы. При программировании прерывыний в файле MEGA16.H все вектора прерываний больше на единицу. Тоесть они меняются от 2 до 21, а в описании от 1 до 20. Соответственно если вы указываете вектор прерывания по книжке то попадаете не на то прерывание.

Цитата(ALexx @ Jan 23 2006, 16:26) *
Вид окошка перед программированием прилагается.

Сначала выполняю стирание(см. второй рисунок), а потом заливку флеша.
Ни разу проблем не наблюдалось.


Если вы в данной ситуации нажмете PROGRAM ALL то все фьюзы будут запрограммированы как 1.

Сообщение отредактировал maximka - Jan 23 2006, 16:53
Go to the top of the page
 
+Quote Post
WHALE
сообщение Jan 23 2006, 17:24
Сообщение #14


Знающий
****

Группа: Свой
Сообщений: 902
Регистрация: 2-01-06
Из: Краснодар
Пользователь №: 12 768



Да,с векторами прерываний это хохма Вижина.Но она описана-в хел-
пе открой интерапт,там есть пример с 90s8515,и видно что вектора
надо указывать больше на 1.А проще пользуйся генератором кода.


--------------------
"Hello, word!" - 17 errors 56 warnings
Go to the top of the page
 
+Quote Post
defunct
сообщение Jan 23 2006, 18:22
Сообщение #15


кекс
******

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



Цитата(maximka @ Jan 23 2006, 18:56) *
Тоесть они меняются от 2 до 21, а в описании от 1 до 20. Соответственно если вы указываете вектор прерывания по книжке то попадаете не на то прерывание.


Imho такую книжку можно "фтопку".
см даташит, стр.43: 2 - номер вектора Ext Int0, 21 - номер вектора SPM_RDY... т.е. все верно c MEGA16.H..
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 - 20:21
Рейтинг@Mail.ru


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