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

Я столкнулся с тем, что 22пФ на кварце - слишком большой конденсатор. Хотя по даташиту нужно 10...30пФ. Контроллер работал не стабильно. Поменял на 15 пФ - стало нормально.

 

Весьма интересно. Как то так получилось что у меня "зависло" довольно много конденсаторов на 27 пФ. Уже давно использую их в кварцевых генераторах AVR микроконтроллеров, причём любых типов. Никогда не было с этим проблем ни при малом ни при максимальном уровне выходного сигнала генератора. Может мне просто всегда везло с ёмкостью монтажа?

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


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

Номинал этих конденсаторов надо смотреть в документации на кварц (параметр "нагрузочная емкость"). Если он укладывается в допустимые для контроллера - такой кварц применять можно. Умножаем его на два (конденсаторы включены параллельно кварцу но последовательно друг другу, поэтому емкость каждого вдвое больше общей) и вычитаем емкость встроенных в контроллер (если есть) и паразитные емкости монтажа. Получаем номинал конденсатора под конкретный тип кварца и конкретную схему/плату.
В даташите на кварц написано:

capacity load CL 16pF

В ATXMega128A1U встроенных ёмкостей нет.

Паразитные емкости хрен знает, как считать, мерять.

Получается надо кондёры по 32pF ставить?

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


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

Получается надо кондёры по 32pF ставить?
Получается, так (при условии, что это техописание именно на ваш кварц). Кстати, ограничения в 10...30 пФ я в документации не нашел.

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


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

А вообще можно на STM8 сделать - живее всех живых. 2 spi пожалуйста. Флеш до 64к. Куча других переферий can и т.д. И 5в.

 

А про конденсаторы - считаем по формуле C = 2C_L - C_in, где C_in - емкость выводов МК с учетом монтажа, если C_in отсутствует в ДШ на МК, с достаточной для практических расчетов точностью ее можно принять равной 3 - 5 пФ. В итоге 27пф а то и меньше.. я так понимаю можно и 22пф ставить.

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


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

Получается, так (при условии, что это техописание именно на ваш кварц). Кстати, ограничения в 10...30 пФ я в документации не нашел.

Вот:

post-4057-1504574239_thumb.png

Вот ещё нашёл:

post-4057-1504574302_thumb.png

Получается, что нужно ставить разные емкости:

C1=16pF*2-3.8pF-5pF(емкость монтажа)-6pF(CXTAL1)=17,2pF

C2=16pF*2-3.8pF-5pF(емкость монтажа)-10pF(CXTAL2)=13,2pF

Их оба можно округлить до 15pF.

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


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

Вот ещё нашёл:
Забавно. В свежескчанном вчера с микрочипа документе 8067O–AVR–06/2013 (ТО на XMEGA A1) этой таблицы нет. И в первой таблице только одно, минимальное значение.

Получается, что нужно ставить разные емкости:

C1=16pF*2-3.8pF-5pF(емкость монтажа)-6pF(CXTAL1)=17,2pF

C2=16pF*2-3.8pF-5pF(емкость монтажа)-10pF(CXTAL2)=13,2pF

Их оба можно округлить до 15pF.

Полагаю, что немного не так. 3.8 пФ - это емкость параллельно включенных 10 пФ и 6 пФ. Т.е. надо С1 = 16 пФ * 2 - 6 пФ = 26 пФ и С2 = 16 пФ * 2 - 10 пФ = 22 пФ. И минус емкость монтажа.

 

Добавлено: И округлял бы я их в разные стороны. Возможно как раз эта разница в емкостях C1 и C2 и заставляет генератор запускаться? То есть стоит попробовать выбрать емкости так, чтобы отношение результирующих емкостей тоже было примерно 6:10, т.е. С1 = 15пФ, С2 = 32 пФ.

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


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

Забавно. В свежескчанном вчера с микрочипа документе 8067O–AVR–06/2013 (ТО на XMEGA A1) этой таблицы нет. И в первой таблице только одно, минимальное значение.
Есть в другом документе 8331F–AVR–04/2013 XMega AU Manual на странице 95.

 

 

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


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

Всем привет! Наткнулся на небольшую проблему. При инициализации SPI-порта не могу управлять в своих целях ни MISO, ни MOSI. Это нормально? Вроде в документации написано, что в режиме Master, 3 вывода порта (SS, MOSI, SCK) указаны как User Defined. Мне казалось, что их я могу задействовать в своих целях как угодно...

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


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

в документации написано, что в режиме Master, 3 вывода порта (SS, MOSI, SCK) указаны как User Defined.

Цитату из документации можете озвучить?

Я в документации вижу что речь идёт лишь о возможности изменения направления работы портов,

которое должно быть корректно задано пользователем.

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


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

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

post-26768-1524464916_thumb.png

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

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


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

В SPI можно иногда не задействовать SS, MISO. Без любой из остальных ног смысл интерфейса теряется

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


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

MISO достаточно для датчика температуры, тут нужно лишь данные считывать по SCL, а для ЦАП достаточно MOSI, здесь только загрузка кода...

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


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

Ну так и подключайте все параллельно а SSами выбирайте то с чем хотите общаться.

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


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

MISO достаточно для датчика температуры, тут нужно лишь данные считывать по SCL, а для ЦАП достаточно MOSI, здесь только загрузка кода...

1. SCL - нет такого сигнала в SPI. Это из терминологии TWI (I2C)

2. SCK нужен всегда

3. С датчиками температуры по SPI не работал, вполне вероятно. Остальные известные мне устройства, работающие в двух направлениях, перед операцией считывания обязательно предусматривают команду на считывание, отправляемую от мастера к слейву, т.е. использование сигнала MOSI

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


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

Видимо мы не понимаем друг друга) Я имел в виду SCK, тут я опечатался, приношу свои извинения. Ещё раз повторю вопрос по другому - если я использую SPI для датчика температуры.. У меня задействованы только SCK, MISO и SS, так как мне нужно только считать код. Могу ли я объявить MOSI как выходной пин и зажигать им светодиод?

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


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

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

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

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

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

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

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

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

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

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