Перейти к содержанию
    

ATtiny13 калибровочные байты RC генератора

В даташите на Tiny13 написано, что в сигнатуре имеются два калибровочных байта: один для внутреннего генератора 9.6 МГц,

второй для внутреннего генератора 4.8МГц. Причем первый из них грузится аппаратно при старте (если выбран 9.6), второй

(для частоты 4.8)нужно грузить программно. По особенностям работы устройства требуется генератор на 4.8Мгц,однако программатор ChipProg2 показывает только один калибровочный байт и непонятно для какой частоты.

М.б. генератор только один. а вторая частота получается делением на 2 и потому одно калибровочное число?

Непонятно..Как поступить?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Непонятно..Как поступить?
Непонятно... Что Вы собственно хотите?

 

И в DS написано, что калибровочных байтов - один. И он - не меняется. Желаете произвести собственную калибровку. У Atmel'а есть соответствующая AN. Пользовательское значение калибровочного байта заносится в регистр OSCCAL программым путём (т.е. из приложения).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Непонятно... Что Вы собственно хотите?

 

И в DS написано, что калибровочных байтов - один. И он - не меняется. Желаете произвести собственную калибровку. У Atmel'а есть соответствующая AN. Пользовательское значение калибровочного байта заносится в регистр OSCCAL программым путём (т.е. из приложения).

А вот и нет. В даташите (для ATtiny13A)стр.105 написано, что в наличии два калибровочных байта:

17.3 Calibration Bytes

The signature area of the ATtiny13A contains two bytes of calibration data for the internal oscil-

lator. The calibration data in the high byte of address 0x00 is for use with the oscillator set to 9.6

MHz operation. During reset, this byte is automatically written into the OSCCAL register to

ensure correct frequency of the oscillator.

 

Собственная калибровка не требуется, т.к. точность на фабрике устраивает.

Мой вопрос так и не проясняется.

 

В продолжение (из даташита)

The calibration data for 4.8 MHz operation is located in

the high byte at address 0x01 of the signature area.

Изменено пользователем vika1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А вот и нет. В даташите (для ATtiny13A)стр.105 написано, что в наличии два калибровочных байта
Ну, наверное, у меня устаревший DS. В моём - той же стр.105 "Signature area of the ATtiny13 has one byte of calibration data for the internal RC Oscillator. This byte resides in the high byte of address 0x000." Ну, стало, наверное, два... Ваш программатор, наверное, об изменениях - не знает... Если Вас устраивают заводские установки - то, вопрос, собственно, в чем заключается? Попадут ли значения для обоих частот в соответствующий регистр? Скорее всего - да. Иначе, зачем было городить "огород" со вторым калибровочным байтом. Это ведь легко проверяется на железе: регистр OSCCAL - программно доступен; напишите тестовую программу: считал, да и выдал наружу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В продолжение (из даташита)

The calibration data for 4.8 MHz operation is located in

the high byte at address 0x01 of the signature area.

 

Не понятно почему здесь написано адрес 0x01 в signature area. Логично предположить что здесь имеентся в виду calibration area. В описании команды "Read Calibration Byte" в таблици 17-9 даташита на ATtiny13 в 3 байте команды младший бит являеться адресом и эта команда позволяет прочесть 2 калибровочных байта.

 

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

 

Я не вижу в этом контроллере возможности прочесть из програмы калибровочные байты, так что придёться читать его програматором и копировать в какой нибудь определеннй адрес FLASH или EEPROM и затем уже оттуда копировать в OSCCAL.

 

Анатолий.

Изменено пользователем aesok

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А вот и нет. В даташите (для ATtiny13A)стр.105 написано, что в наличии два калибровочных байта:

17.3 Calibration Bytes

The signature area of the ATtiny13A contains two bytes of calibration data for the internal oscil-

lator. The calibration data in the high byte of address 0x00 is for use with the oscillator set to 9.6

MHz operation. During reset, this byte is automatically written into the OSCCAL register to

ensure correct frequency of the oscillator.

 

Если там так написано и если вас устраивает работа на 9.6 МГц то не нужно ничего заносить в OSCAL - при старте калибровочный байт на 9.6 МГц автоматически загрузится в него.

Документации на ATTiny13A под рукой нет но в обычной ATTiny13 только 1 калибровочный байт.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Или Вы желаете знать оба заводских калибровочных байта? Протокол Serial Programming в DS описан: соберите своё устройство, которое прочитает higt bytes сигнатуры с Вашего МК.

 

Не понятно почему здесь написано адрес 0x01 в signature area.
Почему же - непонятно? Очень даже понятно... Старшие байты в signature area - не заняты, вот туда и помещены байты калибровки.

 

Я не вижу в этом контроллере возможности прочесть из програмы калибровочные байты, так что придёться читать его програматором и копировать в какой нибудь определеннй адрес FLASH или EEPROM и затем уже оттуда копировать в OSCCAL.
И зачем это нужно. Имхо, калибровочные байты попадут в OSCCAL аппаратно, и если заводская калибровка устраивает, и делать ничего не нужно. Ну, а если - не устраивает, то калибравать прийдётся самостоятельно, и заводские значения, опять же - не интересны.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И зачем это нужно. Имхо, калибровочные байты попадут в OSCCAL аппаратно, и если заводская калибровка устраивает, и делать ничего не нужно. Ну, а если - не устраивает, то калибравать прийдётся самостоятельно, и заводские значения, опять же - не интересны.

 

Так человека как раз и интерисует заводское значение на чачтоту 4.8, а автоматом копируеться значение на 9.6.

 

Анатолий.

Изменено пользователем aesok

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

The signature area of the ATtiny13A contains two bytes ...
Ага! Значит не ATtiny13, а ATtiny13А

 

P.S. В программаторе Вы выставляете МК "ATtiny13", а нужно "ATtiny13A", если программатор знает про такой МК. Если не знает - попробуйте найти для него последние обновления (если таковые существуют).

 

Так человека как раз и интерисует заваодское значение на чачтоту 4.8, а автоматом копируеться значение на 9.6.
Не факт, что второй калибровочный байт не будет загружен для частоты 4.8

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ага! Значит не ATtiny13, а ATtiny13А

 

Зачем гадать на кофейной гуще. В ревизии I даташита на ATtiny13 написано про 2 калибровочных байта.

 

Не факт, что второй калибровочный байт не будет загружен для частоты 4.8

 

Пожалуйста приведите цитату из даташита описывающию этот "Не факт".

 

Анатолий.

Изменено пользователем aesok

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кстати и для ATtiny13 и ATtiny13V в редакции от 05/08 на стр 104 также говорится о двух калибровочных байтах.

Согласен, из программы пользователя прочитать калибровочный байт для 4.8МГц не получится.

При прошивке микросхем программатор должен читать оба калибровочных числа,т.к. индивидуально танцевать с каждой мс при серийном производстве никто не будет.

Примерно так делает Elnec T51(делают в Чехии): он читает калибровочный байт для выбранного фузами генератора и предлагает прописать его в ячейку flash или EEPROM по заданному пользователем адресу памяти, а программа пользователя должна читать его из этой ячейки и грузить в регистр OSCCAL. Засада в том, прочитанный калибровочный байт одинаков для каждого из двух генераторов. . И это несмотря на то, что программатор Elnec c обновленной(июньской версией ПО) Почему одинаковый, если Atmel говорит о двух байтах, а разработчики ПО для программаторов сообщают только об одном? Тогда остается только версия одного генератора на 9.6 МГц и наличии делителя на 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ответ техподдержки с 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!

А вот по поводу равенства калибровочных байт для первой и второй частот непонятно, написал еще раз в техподдержку!

Ждем.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А вот по поводу равенства калибровочных байт для первой и второй частот непонятно, написал еще раз в техподдержку! Ждем.
Так если генератор - один, почему калибровочные байты должны быть разными? По-видимуму, это - "заготовка" для двух генераторов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нашел у себя Tiny13, подключил к AVRISP. Прочитал два различных калибровочных байта. Только зачем разработчики Atmel сделали два генератора, если имеется клок прескалер (регистр CLKPR) от 1 до 256. На месте автора топика я бы им воспользовался и плюнул на генератор 4,8 MHz раз программатор не читает его калибровочный байт.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На месте автора топика я бы им воспользовался и плюнул на генератор 4,8 MHz раз программатор не читает его калибровочный байт.

Лишние пару слов тратить из 512-ти имеющихся..

Я бы напротив - поставил 4.8 фузами, и плюнул бы на калибровочные байты (на кой их вообще читать если заводская частота устраивает?).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...