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

 
 
 
Reply to this topicStart new topic
> Настройка внутреннего генератора на 7436400 Гц., Чтобы UART 921600 бод и CAN 500 кбод обеспечить.
galjoen
сообщение Aug 6 2010, 08:42
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640



Есть мой старый девайс на AT90CAN128 работающий с CAN 500 кбод и UART 57600. Нужно сделать небольшое кол-во девайсов, почти таких же, но скорость UART д.б. 921600. Для этого нужен кварц 7372800, тогда частота поделится на 8 и получится как раз 921600. Но для обеспечения 500 кбод у CAN ближайшее значение частоты д.б. 7500000, тогда при TQ=15 как раз получится 500 кбод. И UART и CAN допускают небольшую погрешность по частоте, но при любом значении частоты (и 7372800 и 7500000) эта погрешность будет великовата, на границе допустимой (или для UART или для CAN). А вот если принять среднюю частоту, т.е. 7436400, то и там и там всё будет нормально. НО таких кварцев не бывает.
Вот я и подумал, а что если подстроить частоту внутреннего генератора за счёт регистра OSCAL до требуемого значения?
Часовой кварц к процессору подключен (к таймеру), т.е. сделать это будет несложно. Но допустимо ли такое (на -7%) изменение частоты? Будут ли работать ВСЕ процессоры?
Go to the top of the page
 
+Quote Post
GDI
сообщение Aug 6 2010, 10:47
Сообщение #2


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

Группа: Свой
Сообщений: 1 235
Регистрация: 14-05-05
Из: Санкт-Петербург
Пользователь №: 5 008



Если вам нужно выпустить всего несколько устройств, то зачем беспокоиться обо всех процессорах? Достаточно чтоб заработали ваши конкретные процы, имхо. В даташите написано что пределы регулирования RC генератора +/-10%, так что проблема может быть только в невозможности подстроить генератор на заданную частоту, если он изначально как то неудачно смещен по частоте, но мне кажется что такое маловероятно. Кстати, можно использовать вместо кварца, внешний кварцевый генератор, а они есть подстраиваемые на любую частоту, только стоят дорого.


--------------------
http://www.embedders.org Блоги разработчиков электроники.
Go to the top of the page
 
+Quote Post
galjoen
сообщение Aug 6 2010, 11:45
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640



Да, мне нужно немного, менее 50, а м.б. и всего 30 устройств, поэтому переразводить плату очень не хотелось бы. Уже поэтому вариант с подстраиваемыми генераторами отпадает. Но если, например, 10 шт. процессоров окажутся непригодными для работы в таком режиме, то перепаивать очень не хотелось бы. А м.б. после перепаивания пару процессоров и ещё раз перепаять придётся... Тогда уж лучше кварцы подогнать. Где то читал о такой технологии в домашних условиях.

Даташит читал, судя по нему всё должно нормально работать, т.к. у меня отклонение частоты менее -10%. Но боюсь к.л. неуказанных особенностей. Например слишком большая дискрета изменения частоты, или нелинейность, или вообще немонотонность.
Если 0 в регистре OSCCAL соответствует частота 7.2 мГц, а 0x7F - 14.4 мГц, то такой процессор соответствует описанию, но одна дискрета регистра OSCCAL будет 56200 Гц. Т.е., с учётом возможной ошибки на 1 дискрету, это уже хуже, чем просто установка кварца.

Ну м.б. и ещё какие-нибудь подводные камни есть? Если есть возможность, то лучше учится на чужих ошибках.
Go to the top of the page
 
+Quote Post
GDI
сообщение Aug 6 2010, 12:43
Сообщение #4


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

Группа: Свой
Сообщений: 1 235
Регистрация: 14-05-05
Из: Санкт-Петербург
Пользователь №: 5 008



из подводных камней мне видится только невозможность с требуемой точностью установить частоту RC генератора, но считать мне лень. У Атмела есть апноут на тему калибровки встроенного генератора. Я думаю, что если у вас все камни будут из одной партии, то и результаты должны быть одинаковые, или на всех заработает, или на всех нет.
А по поводу подстройки кварца - там все описывается просто, надо разобрать кварц и спиливать кристалл до получения требуемой частоты. Естественно, в этом случае подстройка возможна только в сторону увеличения частоты. Но такое практиковалось в прошлом веке для подстройки довольно больших по размеру кварцев, к тому же все они работали на первой гармонике, а сейчас есть кварцы, которые генерят на 3й гармонике. В общем такая методика будет сложна в реализации, имхо. Но интересно было бы узнать о результатах, если возьметесь такое сделать.


--------------------
http://www.embedders.org Блоги разработчиков электроники.
Go to the top of the page
 
+Quote Post
muravei
сообщение Aug 7 2010, 09:06
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 538
Регистрация: 13-08-05
Пользователь №: 7 591



Цитата(GDI @ Aug 6 2010, 16:43) *
. Естественно, в этом случае подстройка возможна только в сторону увеличения частоты. Но такое практиковалось в прошлом веке

В прошлом веке для изменнения частоты кварца -вниз , на него осаждали серебро, вверх -впрыскивали пары йода. Точнее можно узнать в старых журналах "Радио".
Go to the top of the page
 
+Quote Post
KKV2003
сообщение Aug 10 2010, 09:38
Сообщение #6


Участник
*

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



И не забывайте, что частота внутреннего генератора плавает от
- напряжения питания
- температуры
- пролетающих низко самолетов smile.gif

Оно нужно ли, если речь идет о точной настройке?
Go to the top of the page
 
+Quote Post
GDI
сообщение Aug 10 2010, 12:56
Сообщение #7


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

Группа: Свой
Сообщений: 1 235
Регистрация: 14-05-05
Из: Санкт-Петербург
Пользователь №: 5 008



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


--------------------
http://www.embedders.org Блоги разработчиков электроники.
Go to the top of the page
 
+Quote Post
defunct
сообщение Aug 16 2010, 02:00
Сообщение #8


кекс
******

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



Цитата(galjoen @ Aug 6 2010, 11:42) *
но при любом значении частоты (и 7372800 и 7500000) эта погрешность будет великовата

Почему рассматривали только около-восьмимегагерцовые варианты такта когда проц может работать на 16?


Цитата(galjoen @ Aug 6 2010, 11:42) *
Вот я и подумал, а что если подстроить частоту внутреннего генератора за счёт регистра OSCAL до требуемого значения?

OSCCAL'ом диапазон регулировки может быть очень большой, когда-то эксперементировал и получил
0 ~3Mhz
255 ~14Mhz

шаг ~11Mhz / 256 = ~40-45Khz.

т.е. будет у вас например вместо 7436400 - 7466400 или 7416400, да еще и нестабильных от температуры может плыть вверх или вниз. Подойдет вам такое? Думаю для таких скоростных интерфейсов не подойдет. Калиброванный RC пользовал только для соединений ~9600, для "наповыше" считаю несерьезно его пользовать.
Go to the top of the page
 
+Quote Post
galjoen
сообщение Aug 16 2010, 08:59
Сообщение #9


Знающий
****

Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640



Цитата(defunct @ Aug 16 2010, 06:00) *
Почему рассматривали только около-восьмимегагерцовые варианты такта когда проц может работать на 16?

Так там тоже самое. Два варианта 14.7456 или 15 Мгц. В USART проблема, 8 или 16 тактов на бит.
А около-восьмимегагерцовые как раз из-за того, что внутренний генератор можно подстраивать в районе 8 Мгц и выбрал.
Цитата(defunct @ Aug 16 2010, 06:00) *
OSCCAL'ом диапазон регулировки может быть очень большой, когда-то эксперементировал и получил
0 ~3Mhz
255 ~14Mhz

шаг ~11Mhz / 256 = ~40-45Khz.

т.е. будет у вас например вместо 7436400 - 7466400 или 7416400, да еще и нестабильных от температуры может плыть вверх или вниз. Подойдет вам такое? Думаю для таких скоростных интерфейсов не подойдет. Калиброванный RC пользовал только для соединений ~9600, для "наповыше" считаю несерьезно его пользовать.

40...45 Khz это лучше, чем 127 Khz ошибки при установке кварца.
А насчёт термонестабильности что то не понял. Я ведь 128 раз в секунду буду по часовому кварцу проверять реальную частоту RC генератора, и если что - подкорректирую. А за 8 милисекунд сильно убежать не успеет. Или это про термонестабильность часового кварца?
Go to the top of the page
 
+Quote Post
alexeyv
сообщение Aug 17 2010, 04:03
Сообщение #10


Местный
***

Группа: Участник
Сообщений: 298
Регистрация: 26-01-09
Из: Пермь
Пользователь №: 43 940



Есть конторы которые изготавливают кварцы на любые частоты.

Года два три назад делали заказ на партию кварцев, но кто-то в заказе поменял две средние цифры в номинале кварца, так они нам такой и поставили. Заметили это только тогда, когда стали подключать наше оборудование к чужому - частоты на совпали.

Название конторы к сожалению не помню.
Go to the top of the page
 
+Quote Post
muravei
сообщение Aug 17 2010, 14:11
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 2 538
Регистрация: 13-08-05
Пользователь №: 7 591



Цитата(alexeyv @ Aug 17 2010, 08:03) *
Название конторы к сожалению не помню.

Морион , например, делает кварцы в СПб .
Go to the top of the page
 
+Quote Post
drvlas
сообщение Sep 8 2010, 19:06
Сообщение #12


Участник
*

Группа: Участник
Сообщений: 50
Регистрация: 3-09-10
Пользователь №: 59 263



Цитата(galjoen @ Aug 16 2010, 11:59) *
40...45 Khz это лучше, чем 127 Khz ошибки при установке кварца.
А насчёт термонестабильности что то не понял. Я ведь 128 раз в секунду буду по часовому кварцу проверять реальную частоту RC генератора, и если что - подкорректирую. А за 8 милисекунд сильно убежать не успеет. Или это про термонестабильность часового кварца?


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

У меня была недавно задачка, подстраивал внутренний генератор под частоту сети. Если интересно - посмотри тему. Там много трепа, но посмотри мое сообщение от 20 августа, рассказано, как я это сделал.
А в ходе делания отметил несколько моментов.
Во-первых, диапазон регулирования очень приличный, не измерял специально, но заведомо больше, чем 500 кГц. Более того, с заводской калибровкой бывает исходная частота на уровне, ЕМНИП, 7,6 МГц.
Во-вторых, не надо пугаться всяких слов про разрывы в характеристике регулирования. На самом деле, ВЫСТАВИТЬ любую частоту в диапазоне можно. Была бы обратная задача - по частоте вычислять значение OSCCAL, то надо думать smile.gif
Так что шаг регулировки - это единственное, что надо учесть, посчитать и сделать вывод.

И, если подстраивать по кварцу, то все влияния температуры, напряжения питания и прочее будут сказываться только на самом кварце. А частота RC генератора будет стоять-стоять, потом поплывет немного, допустим вверх, а с какого-то значения просто прыгнет назад на те самые 40 кГц, о которых написал коллега defunct, и все. И снова стоит, медленно плывет. Потом, нагрелось там или остыло, поплывет вниз, снова прыгнет на 40 кГц в другую сторону - и стоит. Вот так это будет происходить, примерно. Медленная нестабильность, корректируемая с шагом 40 кГц или около того.

Сообщение отредактировал drvlas - Sep 8 2010, 19:08
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 9th July 2025 - 10:22
Рейтинг@Mail.ru


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