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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> ATtiny13 калибровочные байты RC генератора
ReAl
сообщение Jul 15 2009, 14:23
Сообщение #16


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Цитата(#alex_ @ Jul 15 2009, 09:41) *
Нашел у себя Tiny13, подключил к AVRISP. Прочитал два различных калибровочных байта.
Аналогично, только программатор, естественно, avreal.
ATtiny13V
У двух экземпляров
1: 4F, 4D
2: 64, 65.


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
vika1
сообщение Jul 16 2009, 17:46
Сообщение #17


Участник
*

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



Цитата(defunct @ Jul 15 2009, 13:30) *
Лишние пару слов тратить из 512-ти имеющихся..
Я бы напротив - поставил 4.8 фузами, и плюнул бы на калибровочные байты (на кой их вообще читать если заводская частота устраивает?).

Хорошее предложение! Вот только с каким разбросом настроены эти генераторы? Судя по описанию регистр OSCCAL по умолчанию в нуле. Согласно даташиту ATTiny13A (другие варианты ATtiny13 сняты с производства) см.график фиг19-51 частота генератора 4.8 Мгц меняется в диапазоне 2-9 МГц при изменении OSCCAL 0-0x7F. На какой частоте будет молотить RC генератор, если не грузить OSCCAL?
На практике проверил с десяток образцов - при выборе фузами генератора 4.8 Мгц разброс частоты не превышает 5%, регистр OSCCAL не загружается. Но ведь при этом OSCCAL=0, а согласно графика 19-51 частота при этом значении равна 2Мгц?
Опять какая то нестыковка.
Мне задают вопрос- почему выбрана частота 4.8 а не 9.6 МГц. Выбор этой частоты диктуется батарейным питанием устройства
(лит. бат) -получается гарантированная работа на напряжении 1.8V.
Хотя справедливости ради можно отметить: проверял несколько экземпляров с частотой 9.6Мгц на напряжении 1.8V- работают! Это при комнатной температуре. А что будет на крайних температурных точках? Согласно даташита работа не гарантируется.
Go to the top of the page
 
+Quote Post
defunct
сообщение Jul 17 2009, 00:35
Сообщение #18


кекс
******

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



Цитата(vika1 @ Jul 16 2009, 20:46) *
Вот только с каким разбросом настроены эти генераторы?

укладываются в указанные в ДШ +/- 10% при Vcc=3V, T=25C


Цитата(vika1 @ Jul 16 2009, 20:46) *
регистр OSCCAL не загружается.

Если бы он оставался в 0, то ни о каких 5% не было бы и речи. Имели бы 2Mhz с хвостиком всегда.

Цитата(vika1 @ Jul 16 2009, 20:46) *
Мне задают вопрос- почему выбрана частота 4.8 а не 9.6 МГц. Выбор этой частоты диктуется батарейным питанием устройства
(лит. бат) -получается гарантированная работа на напряжении 1.8V.

Да нет проблем, у меня даже вопроса не возникало зачем оно Вам. Раз решили использовать 4.8Mhz, значит так надо.
И тут все просто. Раз документировано, что фузами можно включить 4.8Mhz, значит включится именно 4.8Mhz, а не 2 и не 9Mhz.
Хотя бы из простых соображений -
Уважающий себя производитель не может заявить фичу которая не совпадает ни с документацией и ни со старой ревизией чипа, и вообще хз как работает. Кто б тогда это г. покупал?

Цитата
Хотя справедливости ради можно отметить: проверял несколько экземпляров с частотой 9.6Мгц на напряжении 1.8V- работают!

При 1.8В гарантируется работа МК на частотах 0-4Mhz. Даже 4.8Mhz - это уже существенный оверклок +20%, ДШ рекомендует делить частоту RC ренератора в таком случае на 8, соотв. фузом.
Можно ставить генератор на любую частоту, но надо поделить его так чтобы частота тактирования МК получилась <=4Mhz даже при стартапе если чип питается от 1.8В.
Лично меня бы в этом случае вероятно удовлетворила бы комбинация RC на 9.6 + CKDIV8 (в итоге 1.2Mhz в т.ч. при стартапе).

Ну а Вы смотрите, если готовы к оверклоку +20%, и не боитесь огрести проблем, то пробуйте. smile.gif
Можно разве только учесть что:
при 2.7В гарантируется работа на 10Mhz
1.8В гарантируется работа на 4Mhz.

Цена каждых 100мв (грубо) равна 6Mhz / 9 = 0.667Mhz

Для гарантированной работы на 4.8Mhz надо питать хотя бы от 2.0В.


Ну а возвращаясь к Вашему изначальному вопросу о калибровочных байтах:
Цитата
During reset, hardware loads the calibration data into the OSCCAL register and thereby automatically
calibrates the oscillator. There are separate calibration bytes for 4.8 and 9.6 MHz
operation but only one is automatically loaded during reset (see section “Calibration Bytes” on
page 105). This is because the only difference between 4.8 MHz and 9.6 MHz mode is an internal
clock divider.

Internal RC осциллятор всегда стартует на 9.6Mhz, и всегда загружается один и тот же калибровочный байт для частоты 9.6Mhz. Когда фузами программируется частота 4.8Mhz, то просто включается делитель на 2 с выхода генератора. Вот и вся разница.
На вопрос "нафиг нужен второй калибровочный байт?" мой ответ будет таким:
1. для того, чтобы можно было ручками включить 4.8Mhz в программе, когда генератор фузами настроен на 9.6Mhz.
2. для того чтобы можно было расчитать значение OSCCAL для любой другой частоты (ведь когда есть две точки - можно провести прямую).
Go to the top of the page
 
+Quote Post
vika1
сообщение Jul 17 2009, 08:28
Сообщение #19


Участник
*

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



Цитата
Для гарантированной работы на 4.8Mhz надо питать хотя бы от 2.0В.

Полностью согласен с Вашим выводом.

Цитата
Internal RC осциллятор всегда стартует на 9.6Mhz, и всегда загружается один и тот же калибровочный байт для частоты 9.6Mhz. Когда фузами программируется частота 4.8Mhz, то просто включается делитель на 2 с выхода генератора. Вот и вся разница.

Спасибо! Именно эта Ваша фраза и разъясняет ситуацию.
Но вот изречение на стр 105 даташита опять настораживает
Цитата
There is a separate calibration byte for the internal oscillator in 4.8 MHz mode of operation but
this data is not loaded automatically. The hardware always loads the 9.6 MHz calibraiton data
during reset. To use separate calibration data for the oscillator in 4.8 MHz mode the OSCCAL
register must be updated by firmware.

Зачем тогда на частоте 4.8 Мгц программно обновлять регистр OSCCAL вторым калибровочным байтом?
Цитата
На вопрос "нафиг нужен второй калибровочный байт?" мой ответ будет таким:
1. для того, чтобы можно было ручками включить 4.8Mhz в программе, когда генератор фузами настроен на 9.6Mhz.

А вот здесь не совсем так:
Значения калибровочных байт для частот 9.6 и 4.8Мгц отличаются всего лишь на несколько дискрет.
Цитата(ReAl @ Jul 15 2009, 17:23) *
Аналогично, только программатор, естественно, avreal.
ATtiny13V
У двух экземпляров
1: 4F, 4D
2: 64, 65.

Поэтому , если первоначальная настройка генератора была на 9.6 Мгц и в ходе выполнения программы генератор перестраивается при помощи команды
OSCCAL=(Cal_byte4.8MHz). Изменения частоты при этом будут незначительными. То есть смысл введения в сигнатуру контроллера второго калибровочного байта остается непонятным
Go to the top of the page
 
+Quote Post
defunct
сообщение Jul 17 2009, 10:03
Сообщение #20


кекс
******

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



Цитата(vika1 @ Jul 17 2009, 11:28) *
Поэтому , если первоначальная настройка генератора была на 9.6 Мгц и в ходе выполнения программы генератор перестраивается при помощи команды
OSCCAL=(Cal_byte4.8MHz). Изменения частоты при этом будут незначительными. То есть смысл введения в сигнатуру контроллера второго калибровочного байта остается непонятным

Да Вы правы.
Мне почему то ночью показалось, что Real пронумеровал калибровочные байты (и первым поставил второй) laughing.gif
Всмысле что 0x64 первый калибровочный байт, а 0x4F - второй.
Прошу прощения за невнимательность. sad.gif
Go to the top of the page
 
+Quote Post
ReAl
сообщение Jul 17 2009, 11:08
Сообщение #21


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Цитата(defunct @ Jul 17 2009, 03:35) *
На вопрос "нафиг нужен второй калибровочный байт?" мой ответ будет таким:
1. для того, чтобы можно было ручками включить 4.8Mhz в программе, когда генератор фузами настроен на 9.6Mhz.
2. для того чтобы можно было расчитать значение OSCCAL для любой другой частоты (ведь когда есть две точки - можно провести прямую).
3. Для того, чтобы меньше менять при переходе с tiny13 на tiny13А - скрипты/ключи/галочки программаторов, вынимавшие второй OSCCAL для тини13 - будут продолжать работать для tiny13A
А для tiny13 эти байты были разные (причём встречальись и бОльшие различия, более, чем на единичку в двух парах выше) и это было принципиально.


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
vika1
сообщение Jul 17 2009, 12:11
Сообщение #22


Участник
*

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



По поводу различий между ATtiny13(Rev. 2535I–AVR–05/08) и ATtiny13A( Rev. 8126B–AVR–12/08) различий в даташитах в части описания калибровочных байт нет никаких. В наличии два генератора и два калибровочных байта.
Для ATtiny13( Rev. 2535G–AVR–01/07) имеем два генератора и один калибровочный байт.
А как определить ревизию конкретной мс?

Стою на асфальте я , в лыжи обутый........
Go to the top of the page
 
+Quote Post
fmdost
сообщение Jul 25 2009, 23:31
Сообщение #23


Местный
***

Группа: Свой
Сообщений: 479
Регистрация: 8-05-07
Из: г. Ставрополь. Северный Кавказ. Россия
Пользователь №: 27 606



О чо нашёл в апноте по калибровке RS генератора:
Цитата
Version 1.x oscillators
This version is the earliest internal RC for AVR that can be calibrated, though asynchronous operation is not possible. Due to this, parts having this version of the internal oscillator cannot be calibrated using an external crystal and does not appear in Table 6-1.

Version 2.x oscillators
This oscillator is offered with a frequency of 1MHz. The dependency between the oscillator frequency and operating voltage and temperature is reduced significantly compared to version 1.x.

Version 3.x oscillators
This version was introduced along with the first devices produced in the 35.5k process.
The oscillator system is expanded to offer multiple oscillator frequencies. Four different RC oscillators with the frequencies 1, 2, 4, and 8MHz are present in the device. This version features automatic loading of the 1MHz calibration byte from the Signature Row. Due to the fact that 4 different RC oscillators are present, 4 different calibration bytes are stored in the Signature Row. If frequencies other than the default 1MHz are desired, the OSCCAL register should be loaded with the corresponding calibration byte at run-time.

Version 4.x oscillators
A single oscillator frequency of 8MHz is offered in version 4.0. For later 4.x versions, two frequencies are offered: 4 and 8MHz for ATtiny2313, and 4.8 and 9.6MHz for the ATtiny13. The OSCCAL register is changed so that only 7 bits are used to tune the frequency for the selected oscillator. The MSB is not used. Auto loading of the default calibration value and system clock prescaler is present.

Version 5.x oscillators
A single oscillator frequency of 8MHz is offered in version 5.0 All 8 bits in the OSCCAL register are used to tune the oscillator frequency. Auto loading of the default calibration value and system clock prescaler is present. The OSCCAL register is split in two parts. As seen in Figure 7-2, the MSB of OSCCAL selects one of two overlapping frequency ranges, while the 7 least significant bits are used to tune the frequency within this range.

Прикрепленные файлы
Прикрепленный файл  AVR055_Using_32kHz_XTAL_run_time_calibration_RC.pdf ( 146.53 килобайт ) Кол-во скачиваний: 70
 
Go to the top of the page
 
+Quote Post
vika1
сообщение Jul 26 2009, 15:42
Сообщение #24


Участник
*

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



Цитата(Т.Достоевский @ Jul 26 2009, 03:31) *
О чо нашёл в апноте по калибровке RS генератора:

Это все так, но вопрос то в другом: почему при единственном RC генераторе с частотой 9.6 МГц и внутреннем делителе частоты на 2 в контроллере предусмотрено два калибровочных байта.
Go to the top of the page
 
+Quote Post
ReAl
сообщение Dec 3 2010, 11:41
Сообщение #25


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Цитата(vika1 @ Jul 14 2009, 14:37) *
Ответ техподдержки с Atmel:
Dear Customer,
For the ATtiny13A, the 4.8 MHz clock is indeed generated by dividing the 9.6 MHz clock.
However, the device still has separate calibration bytes for these two modes.

То бишь они признаются , что генератор Один единственный и вторая частота получается делением на 2!
А вот по поводу равенства калибровочных байт для первой и второй частот непонятно, написал еще раз в техподдержку!
Ждем.
Не знаю, насколько это ещё интересно, но...
Зачем при одном генераторе и 4.8=9.6/2 читается два калибровочных байта - понять можно. Для совместимости.
Но почему эти байты разные? Не может же частота 9.6 меняться от того, включен делитель на 2 после генератора или нет.
Просто мимо меня пробежало некоторое количество tiny13A, по четыре штуки середины и конца 2009-го, шесть штук начала 2010-го года. А я про эту тему вспомнил.

0923: 45 43
0923: 53 55
0923: 55 55
0923: 5C 5E

0951: 4B 46
0951: 60 63
0951: 5E 5F
0951: 57 58

1012: 41 3D
1012: 63 65
1012: 46 44
1012: 4B 49
1012: 49 45
1012: 5B 5D

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


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 1st July 2025 - 12:03
Рейтинг@Mail.ru


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