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

 
 
 
Reply to this topicStart new topic
> at90usb128 - 16Мгц clock, Как запрограммировать fuses прямо на плате
Mty
сообщение Jul 30 2010, 10:18
Сообщение #1


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

Группа: Свой
Сообщений: 151
Регистрация: 19-12-04
Из: Москва
Пользователь №: 1 560



Приветствую.

Делаю плату с at90usb1287 с тактовой частотой 16Мгц. Шить буду через встроенный бутлоадер по USB. Но есть непонятный момент с прошивкой FUSE. Т.к. с завода МК приходит зашитый на

Low Power Crystal Oscillator (8.0MHz-max) enabled and with the
fuse CKDIV8 programmed, resulting in 1.0MHz system clock (with a 8 MHz cristal).

Мне надо перешить fuses для работы с кварцем 16Мгц, без внутреннего делителя на 8.

Встроенный бутлоадер вроде fuse не шьет, значит на плате надо развести разъем ISP.
Ладно сделал.

Но в даташите написано что с завода МК прошит на работу с кварцем не более 8мГц, а у меня 16.
Т.е. ISP не сможет прошить МК т.к. тактовый генератор работать не будет.

Как быть?
Go to the top of the page
 
+Quote Post
dimka76
сообщение Jul 30 2010, 10:54
Сообщение #2


developer
****

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



посмотрите раздел 6.3 и раздел 29.2 в datasheet. По заводским установкам получается можно установить керамический резонатор с диапазоном 8-16 МГц. Попробуйте может и с кварцевым запустится.
Кстати, если в AVR Studio открыть программатор (можно в disconnect mode) выбрать ваш кристал и перейти на вкладку FUSE. Там выбрать
Ext. Crystal Osc. 8.0- MHz; Start-up time: 258 CK + 4.1 ms и посмотреть чуть пониже, где он показывает HEX значения FUSE, то там мы увидим LOW byte = 0xCE, где E это и есть заводские установки, так что скорее всего у вас все заработает.


--------------------
Все может быть и быть все может, и лишь того не может быть-чего уж точно быть не может, хотя..и это может быть.
Go to the top of the page
 
+Quote Post
Dx!
сообщение Jul 30 2010, 12:55
Сообщение #3


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

Группа: Участник
Сообщений: 108
Регистрация: 6-02-09
Из: Новочеркасск
Пользователь №: 44 469



at90usb1287 при работе собственно с USB работает только от 16MHz кварца. Вопрос - нахрена же там USB бутлоадер если он не работает?

Ан нет, вру. Хотя както работало с 16Mhz.

Сообщение отредактировал Dx! - Jul 30 2010, 12:58
Go to the top of the page
 
+Quote Post
Mty
сообщение Jul 30 2010, 13:31
Сообщение #4


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

Группа: Свой
Сообщений: 151
Регистрация: 19-12-04
Из: Москва
Пользователь №: 1 560



Цитата(Dx! @ Jul 30 2010, 16:55) *
at90usb1287 при работе собственно с USB работает только от 16MHz кварца. Вопрос - нахрена же там USB бутлоадер если он не работает?

Ан нет, вру. Хотя както работало с 16Mhz.


По даташиту на бутлоадер он работает и с 8 и с 16мгц

Цитата(dimka76 @ Jul 30 2010, 14:54) *
посмотрите раздел 6.3 и раздел 29.2 в datasheet. По заводским установкам получается можно установить керамический резонатор с диапазоном 8-16 МГц. Попробуйте может и с кварцевым запустится.


Да, попробую, спасибо.
Вроде по Table 6-3 если CKSEL3..1 = 111 то кварц 8-16.
Разнобой в документации, как хочешь так и трактуй wink.gif
Go to the top of the page
 
+Quote Post
mempfis_
сообщение Jul 30 2010, 13:43
Сообщение #5


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

Группа: Свой
Сообщений: 1 001
Регистрация: 27-06-06
Пользователь №: 18 409



Цитата(Mty @ Jul 30 2010, 16:31) *
Вроде по Table 6-3 если CKSEL3..1 = 111 то кварц 8-16.
Разнобой в документации, как хочешь так и трактуй wink.gif


Всё там понятно. CKSEL определяем частоту кварца не с точность до мегагерца а в диапазоне.
В вашем случаем для CKSEL3..1 = 111 кварц может быть от 8 до 16 МГц.
Go to the top of the page
 
+Quote Post
Mty
сообщение Jul 30 2010, 13:57
Сообщение #6


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

Группа: Свой
Сообщений: 151
Регистрация: 19-12-04
Из: Москва
Пользователь №: 1 560



Цитата(mempfis_ @ Jul 30 2010, 17:43) *
Всё там понятно. CKSEL определяем частоту кварца не с точность до мегагерца а в диапазоне.
В вашем случаем для CKSEL3..1 = 111 кварц может быть от 8 до 16 МГц.


Согласен. Там все логично.
Но в другом месте
6.2.1 Default Clock Source
написано несколько другое
The device is shipped with Low Power Crystal Oscillator (8.0MHz-max) enabled

Вот это противоречие и расстраивает. В доке на mega8 я таких ляпов не встречал.

Ну в обем идея ясна. Ставлю 16мгц и не парюсь.
Go to the top of the page
 
+Quote Post
Spider
сообщение Aug 24 2010, 17:26
Сообщение #7


В поисках истины
***

Группа: Свой
Сообщений: 431
Регистрация: 7-01-06
Из: Россия
Пользователь №: 12 923



Ребят, а у меня не получается запустить этот проц sad.gif Кварц такой же. по ISP видится. Прошивка шьётся, но вот при втыкании в USB реакция никакая....
Uvcc - никуда
Ucap - 1uF
UBus - USB_VCC
D+ - USB_D+
D- - USB_D-
UGnd - GND
Gnd - GND
VCC - +3.3

что не так?
Go to the top of the page
 
+Quote Post
Spider
сообщение Aug 24 2010, 19:39
Сообщение #8


В поисках истины
***

Группа: Свой
Сообщений: 431
Регистрация: 7-01-06
Из: Россия
Пользователь №: 12 923



Прошу прощения, всё было в Ucap, его надо было на VCC прислюнить. А вот бутлодер я проморгал... А есть в природе готовые сторонние бутлоадеры на USB?
Go to the top of the page
 
+Quote Post
Xenia
сообщение Aug 24 2010, 20:20
Сообщение #9


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



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

CLKPR = 0x80; // full speed clock (16 MHz)
CLKPR = 0x00;

Я сама этим способом боролась с предустановленным делителем CKDIV=0, который делил частоту кварца на 8.
Этим же способом можно переключить делитель на любое другое значение, какое понадобится, не прибегая к перепрошивке фузов.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 25th June 2025 - 17:00
Рейтинг@Mail.ru


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