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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Чтение калибровочных байтов AVR программно?, Это возможно ? Или только через программатор?
shevek
сообщение Jun 28 2006, 21:39
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 50
Регистрация: 1-10-05
Пользователь №: 9 136



Возможно как то прочитать калибровочные байты программно? В датащите такая возможность вроде не упоминается, но к сожалению мой программатор AS2 (точнее софт для него ) не поддерживает возможность автоматической прошивки в необходимый адресс флеш калибровочного байта(типа как этио умеет AVReAl).

Редактировать исходник, и перекомпилировать для каждого кристалла? Или существует другой более удобный вариант?

Спасибо.


--------------------
Мы не просто идем в будущее, мы его атакуем.
Go to the top of the page
 
+Quote Post
arttab
сообщение Jun 29 2006, 02:09
Сообщение #2


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

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



Если ни чего нового АВР не сделала, то только снаружи можно байт считать.
Как удобней? Берете, скажем, понипрог и указывете куда (адрес) ему положить калибровачный байт (указываете адрес во флеш), а в своей проге при запуске заносите этот байт в калибровочный регистр.
Если использовать Аврил, то все в командной строке можно указать. Для производства так и делал


--------------------
OrCAD, Altium,IAR, AVR....
Go to the top of the page
 
+Quote Post
shevek
сообщение Jun 29 2006, 08:12
Сообщение #3


Участник
*

Группа: Новичок
Сообщений: 50
Регистрация: 1-10-05
Пользователь №: 9 136



Если ни чего нового АВР не сделала, то только снаружи можно байт считать.

Понятно. Еще раз спасибо.


--------------------
Мы не просто идем в будущее, мы его атакуем.
Go to the top of the page
 
+Quote Post
dRaider
сообщение Jun 29 2006, 09:47
Сообщение #4


Участник
*

Группа: Новичок
Сообщений: 15
Регистрация: 26-08-05
Пользователь №: 7 991



Программно увы ни как
Go to the top of the page
 
+Quote Post
defunct
сообщение Jun 29 2006, 10:52
Сообщение #5


кекс
******

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



Гм.. калибруйте напрямую регистром OSCCAL.
Go to the top of the page
 
+Quote Post
dRaider
сообщение Jun 29 2006, 11:05
Сообщение #6


Участник
*

Группа: Новичок
Сообщений: 15
Регистрация: 26-08-05
Пользователь №: 7 991



Цитата
Гм.. калибруйте напрямую регистром OSCCAL.


В смысле?

Насколько я понял вопрос в том чтобы считать калибровочный быйт из программы.
Go to the top of the page
 
+Quote Post
SpyBot
сообщение Jun 29 2006, 11:13
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 285
Регистрация: 5-11-05
Пользователь №: 10 491



Цитата(shevek @ Jun 29 2006, 01:39) *
Возможно как то прочитать калибровочные байты программно? В датащите такая возможность вроде не упоминается, но к сожалению мой программатор AS2 (точнее софт для него ) не поддерживает возможность автоматической прошивки в необходимый адресс флеш калибровочного байта(типа как этио умеет AVReAl).

Редактировать исходник, и перекомпилировать для каждого кристалла? Или существует другой более удобный вариант?

Спасибо.

Почему AS2 не поддерживает? В окне с hex файлом можно кликнуть на любой байт и отредактировать его. Так же и с EEPROM.
Go to the top of the page
 
+Quote Post
defunct
сообщение Jun 29 2006, 11:25
Сообщение #8


кекс
******

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



Цитата(dRaider @ Jun 29 2006, 14:05) *
Цитата
Гм.. калибруйте напрямую регистром OSCCAL.
В смысле?
Насколько я понял вопрос в том чтобы считать калибровочный быйт из программы.
Ну дык калибровочный байт при старте прошивки помещается в OSCCAL
Go to the top of the page
 
+Quote Post
shevek
сообщение Jun 29 2006, 11:44
Сообщение #9


Участник
*

Группа: Новичок
Сообщений: 50
Регистрация: 1-10-05
Пользователь №: 9 136



Ну дык калибровочный байт при старте прошивки помещается в OSCCAL

Да при процедуре reset в osccal автоматически помещается калибровочный байт но только для встроенного RC генератора на 1 МГц, а я использую встроенный RC генератор на 8 Мгц.

Цитата
During Reset, the 1 MHz value is automatically
loaded into the OSCCAL Register. If other frequencies are used, the
calibration value has to be loaded manually, see ”Oscillator Calibration Register – OSCCAL”
on page 28 for details.


Или вы имели ввиду что то другое?

Сообщение отредактировал shevek - Jun 29 2006, 11:48


--------------------
Мы не просто идем в будущее, мы его атакуем.
Go to the top of the page
 
+Quote Post
Shurmas
сообщение Jun 29 2006, 11:56
Сообщение #10


Местный
***

Группа: Новичок
Сообщений: 232
Регистрация: 24-06-06
Пользователь №: 18 332



короче смотрите соответствующий апноут по калибровке:

http://www.atmel.com/dyn/products/app_note...p?family_id=607
Go to the top of the page
 
+Quote Post
defunct
сообщение Jun 29 2006, 12:24
Сообщение #11


кекс
******

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



Цитата(shevek @ Jun 29 2006, 14:44) *
Ну дык калибровочный байт при старте прошивки помещается в OSCCAL
Да при процедуре reset в osccal автоматически помещается калибровочный байт но только для встроенного RC генератора на 1 МГц, а я использую встроенный RC генератор на 8 Мгц.

При RC генераторе на 8Mhz, в OSCCAL загружается 4-й байт калибровки (тот что для 8-ми Mhz).
(в даташите рассматривается конкретный случай, для заводских настроек).
А "If other frequencies are used" надо трактовать, как частоты отличные от базовых (1, 2, 4, 8Mhz) настроек RC, т.е. к примеру 7.3Mhz или 9.2Mhz и т.п.
Go to the top of the page
 
+Quote Post
shevek
сообщение Jun 29 2006, 15:01
Сообщение #12


Участник
*

Группа: Новичок
Сообщений: 50
Регистрация: 1-10-05
Пользователь №: 9 136



defunct

Странно. Вот еще одно интересное утверждение из аппнота AVR053, страница 2. Кажется это уже трактовать как то по другому нельзя.

Цитата
The default RC oscillator calibration byte is in most devices automatically loaded from the Signature Row and copied into the OSCCAL register at start-up. For example, the default ATmega8 clock setting is the internal 1MHz RC oscillator; for this device the calibration byte corresponding to the 1MHz RC oscillator is automatically loaded at start-up. If the fuses are altered so that the 4MHz oscillator is used instead of the default setting, the calibration byte must be loaded into the OSCCAL register manually. A programming tool can be used to read the 4MHz calibration byte from the Signature Row and hence store it in a Flash or EEPROM location, which is read by the main program and copied into OSCCAL at run-time.


Или я что то неправильно понимаю.



Shurmas

Да спасибо, как понял придется менять программатор, иначе прошивка ста устройств станет несколько геморной.

SpyBot

В общем пока так и поступлю на тестовой партии, потом это станет не очень удобным. ИМХО AS2 вполне неплохая вешь, но следующим моим программатором будет что то совместимое с STK500, а отнюдь не AS4.


--------------------
Мы не просто идем в будущее, мы его атакуем.
Go to the top of the page
 
+Quote Post
defunct
сообщение Jun 29 2006, 18:34
Сообщение #13


кекс
******

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



Цитата(shevek @ Jun 29 2006, 18:01) *
Странно. Вот еще одно интересное утверждение из аппнота AVR053, страница 2. Кажется это уже трактовать как то по другому нельзя.
Действительно странно. Возможно ошибка в описании, а может и я что-то не так запомнил. В свое время плотно исследовал калибровку внутреннего RC. И у меня, вопреки приведенной Вами цитате, насколько помню получился следующий результат -
калибровочные байты загружаются при сбросе в OSCCAL таким образом:

RC 1Mhz - первый калибровочный байт;
RC 2Mhz - второй калибровочный байт;
RC 4Mhz - третий калибровочный байт;
RC 8Mhz - четвертый.

Проверял на железе - M16/M162/M32.
Если следовать приведенному в цитате, то получается просто какая-то дурь. Какой смысл вводить 4 калибровочных байта, если загружается постоянно только один.

PS: в программе (в RunTime) никак нельзя получить доступ к программируемым из-вне fuses и калибровочным байтам. Ну и на крайний случай можете записать значение интересующего Вас калибровочного байта в первый калибровочный байт, т.о. в OSCCAL гарантировано загрузится то, что вам нужно и в коде не потребуется ничего загружать вручную.
Go to the top of the page
 
+Quote Post
shevek
сообщение Jun 29 2006, 19:22
Сообщение #14


Участник
*

Группа: Новичок
Сообщений: 50
Регистрация: 1-10-05
Пользователь №: 9 136



defunct

Цитата
Если следовать приведенному в цитате, то получается просто какая-то дурь. Какой смысл вводить 4 калибровочных байта, если загружается постоянно только один.


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

Цитата
Проверял на железе - M16/M162/M32.


Может в этом все и дело , я имею дело с ATtiny26. Завтра всеже попробую посмотреть как там это делается.

С другой стороны есть смысл и дать читать калибровочные байт программно в рантайме, но это не реализовано, так что ИМХО все возможно у атмелов. smile.gif

Цитата
Ну и на крайний случай можете записать значение интересующего Вас калибровочного байта в первый калибровочный байт, т.о. в OSCCAL гарантировано загрузится то, что вам нужно и в коде не потребуется ничего загружать вручную.


Как? Подскажите где про это посмотреть вроде в датащите про это нет ни слова.

Сообщение отредактировал shevek - Jun 29 2006, 19:24


--------------------
Мы не просто идем в будущее, мы его атакуем.
Go to the top of the page
 
+Quote Post
defunct
сообщение Jun 29 2006, 19:44
Сообщение #15


кекс
******

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



Цитата(shevek @ Jun 29 2006, 22:22) *
Как? Подскажите где про это посмотреть вроде в датащите про это нет ни слова.

Извиняюсь за дезинформацию. Их можно только читать.
AVRISP позволяет читать калибровочные байты и записывать их в ячейки eeprom или 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 Текстовая версия Сейчас: 10th June 2024 - 08:00
Рейтинг@Mail.ru


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