konst11 0 14 июля, 2009 Опубликовано 14 июля, 2009 · Жалоба В даташите на Tiny13 написано, что в сигнатуре имеются два калибровочных байта: один для внутреннего генератора 9.6 МГц, второй для внутреннего генератора 4.8МГц. Причем первый из них грузится аппаратно при старте (если выбран 9.6), второй (для частоты 4.8)нужно грузить программно. По особенностям работы устройства требуется генератор на 4.8Мгц,однако программатор ChipProg2 показывает только один калибровочный байт и непонятно для какой частоты. М.б. генератор только один. а вторая частота получается делением на 2 и потому одно калибровочное число? Непонятно..Как поступить? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Палыч 6 14 июля, 2009 Опубликовано 14 июля, 2009 · Жалоба Непонятно..Как поступить?Непонятно... Что Вы собственно хотите? И в DS написано, что калибровочных байтов - один. И он - не меняется. Желаете произвести собственную калибровку. У Atmel'а есть соответствующая AN. Пользовательское значение калибровочного байта заносится в регистр OSCCAL программым путём (т.е. из приложения). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
konst11 0 14 июля, 2009 Опубликовано 14 июля, 2009 (изменено) · Жалоба Непонятно... Что Вы собственно хотите? И в 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. Изменено 14 июля, 2009 пользователем vika1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Палыч 6 14 июля, 2009 Опубликовано 14 июля, 2009 · Жалоба А вот и нет. В даташите (для 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 - программно доступен; напишите тестовую программу: считал, да и выдал наружу. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aesok 0 14 июля, 2009 Опубликовано 14 июля, 2009 (изменено) · Жалоба В продолжение (из даташита) 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. Анатолий. Изменено 14 июля, 2009 пользователем aesok Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mempfis_ 0 14 июля, 2009 Опубликовано 14 июля, 2009 · Жалоба А вот и нет. В даташите (для 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 калибровочный байт. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Палыч 6 14 июля, 2009 Опубликовано 14 июля, 2009 · Жалоба Или Вы желаете знать оба заводских калибровочных байта? Протокол Serial Programming в DS описан: соберите своё устройство, которое прочитает higt bytes сигнатуры с Вашего МК. Не понятно почему здесь написано адрес 0x01 в signature area.Почему же - непонятно? Очень даже понятно... Старшие байты в signature area - не заняты, вот туда и помещены байты калибровки. Я не вижу в этом контроллере возможности прочесть из програмы калибровочные байты, так что придёться читать его програматором и копировать в какой нибудь определеннй адрес FLASH или EEPROM и затем уже оттуда копировать в OSCCAL.И зачем это нужно. Имхо, калибровочные байты попадут в OSCCAL аппаратно, и если заводская калибровка устраивает, и делать ничего не нужно. Ну, а если - не устраивает, то калибравать прийдётся самостоятельно, и заводские значения, опять же - не интересны. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aesok 0 14 июля, 2009 Опубликовано 14 июля, 2009 (изменено) · Жалоба И зачем это нужно. Имхо, калибровочные байты попадут в OSCCAL аппаратно, и если заводская калибровка устраивает, и делать ничего не нужно. Ну, а если - не устраивает, то калибравать прийдётся самостоятельно, и заводские значения, опять же - не интересны. Так человека как раз и интерисует заводское значение на чачтоту 4.8, а автоматом копируеться значение на 9.6. Анатолий. Изменено 14 июля, 2009 пользователем aesok Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Палыч 6 14 июля, 2009 Опубликовано 14 июля, 2009 · Жалоба The signature area of the ATtiny13A contains two bytes ...Ага! Значит не ATtiny13, а ATtiny13А P.S. В программаторе Вы выставляете МК "ATtiny13", а нужно "ATtiny13A", если программатор знает про такой МК. Если не знает - попробуйте найти для него последние обновления (если таковые существуют). Так человека как раз и интерисует заваодское значение на чачтоту 4.8, а автоматом копируеться значение на 9.6.Не факт, что второй калибровочный байт не будет загружен для частоты 4.8 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aesok 0 14 июля, 2009 Опубликовано 14 июля, 2009 (изменено) · Жалоба Ага! Значит не ATtiny13, а ATtiny13А Зачем гадать на кофейной гуще. В ревизии I даташита на ATtiny13 написано про 2 калибровочных байта. Не факт, что второй калибровочный байт не будет загружен для частоты 4.8 Пожалуйста приведите цитату из даташита описывающию этот "Не факт". Анатолий. Изменено 14 июля, 2009 пользователем aesok Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
konst11 0 14 июля, 2009 Опубликовано 14 июля, 2009 · Жалоба Кстати и для ATtiny13 и ATtiny13V в редакции от 05/08 на стр 104 также говорится о двух калибровочных байтах. Согласен, из программы пользователя прочитать калибровочный байт для 4.8МГц не получится. При прошивке микросхем программатор должен читать оба калибровочных числа,т.к. индивидуально танцевать с каждой мс при серийном производстве никто не будет. Примерно так делает Elnec T51(делают в Чехии): он читает калибровочный байт для выбранного фузами генератора и предлагает прописать его в ячейку flash или EEPROM по заданному пользователем адресу памяти, а программа пользователя должна читать его из этой ячейки и грузить в регистр OSCCAL. Засада в том, прочитанный калибровочный байт одинаков для каждого из двух генераторов. . И это несмотря на то, что программатор Elnec c обновленной(июньской версией ПО) Почему одинаковый, если Atmel говорит о двух байтах, а разработчики ПО для программаторов сообщают только об одном? Тогда остается только версия одного генератора на 9.6 МГц и наличии делителя на 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
konst11 0 14 июля, 2009 Опубликовано 14 июля, 2009 · Жалоба Ответ техподдержки с 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! А вот по поводу равенства калибровочных байт для первой и второй частот непонятно, написал еще раз в техподдержку! Ждем. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Палыч 6 14 июля, 2009 Опубликовано 14 июля, 2009 · Жалоба А вот по поводу равенства калибровочных байт для первой и второй частот непонятно, написал еще раз в техподдержку! Ждем.Так если генератор - один, почему калибровочные байты должны быть разными? По-видимуму, это - "заготовка" для двух генераторов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexperm72 0 15 июля, 2009 Опубликовано 15 июля, 2009 · Жалоба Нашел у себя Tiny13, подключил к AVRISP. Прочитал два различных калибровочных байта. Только зачем разработчики Atmel сделали два генератора, если имеется клок прескалер (регистр CLKPR) от 1 до 256. На месте автора топика я бы им воспользовался и плюнул на генератор 4,8 MHz раз программатор не читает его калибровочный байт. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
defunct 0 15 июля, 2009 Опубликовано 15 июля, 2009 · Жалоба На месте автора топика я бы им воспользовался и плюнул на генератор 4,8 MHz раз программатор не читает его калибровочный байт. Лишние пару слов тратить из 512-ти имеющихся.. Я бы напротив - поставил 4.8 фузами, и плюнул бы на калибровочные байты (на кой их вообще читать если заводская частота устраивает?). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться