Мелкие вопросы по МК и ПЛИС.
В AVRке - источником запуска АЦП отвечает регистр SFIOR (Биты 7-5 ).
Наши проблемы - предмет наших действий .
- Реклама
Есть МК. Атмеловский 51-й, но это не важно. Нужна тактовая частота 22.1184 МГц. Таких кварцев найти не удается. Зато в доступе на 7.3728. Можно ли подключить его к МК так чтоб он работал на 3-й гармонике?
Если бы на станции "Мир" стояли Винды, она бы еще висела и висела...
Во первых, сам кварц должен иметь ВОЗМОЖНОСТЬ возбуждаться на третьей гармонике. Что не факт.
Во вторых, осциллятор МК не рассчитан на возбуждение кварцев на несвойственной им гармонике.
Ну и реализовать задуманное можно путем создания ГЕНЕРАТОРА на третьей гармонике имеющегося кварца и подаче на вход осциллятора МК уже ГОТОВОГО сигнала. Ну а во фьюзах нужно прописать такой тип тактирования, естественно.
Во вторых, осциллятор МК не рассчитан на возбуждение кварцев на несвойственной им гармонике.
Ну и реализовать задуманное можно путем создания ГЕНЕРАТОРА на третьей гармонике имеющегося кварца и подаче на вход осциллятора МК уже ГОТОВОГО сигнала. Ну а во фьюзах нужно прописать такой тип тактирования, естественно.
Внешнюю ФАПЧу замутитьpaskal писал(а):Можно ли подключить его к МК так чтоб он работал на 3-й гармонике?
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Ну это понятно что при штатной схеме подключения он генерит на первой. Я спрашиваю, нельзя ли так видоизменить схему подключения чтоб он стал работать на 3-й?КРАМ писал(а):Во вторых, осциллятор МК не рассчитан на возбуждение кварцев на несвойственной им гармонике.
Во вложении одна такая схема, правда для совсем другого кристалла.
- Вложения
-
- third.png
- (18.87 КБ) 343 скачивания
Если бы на станции "Мир" стояли Винды, она бы еще висела и висела...
- Реклама
- Сообщения: 3
- Зарегистрирован: Чт апр 02, 2015 18:55:53
Подскажите пожалуйста простейшую плату под мегу8, чтоб были кварц, 7805, isp, гребенки и всё. Пересмотрел много вариантов и везде платы большие, куча ненужных мне индикаторов и прочего. Нарисовал бы сам, но - не умею(
Во-первых, она в трёх корпусах.Sola писал(а):плату под мегу8
А во-вторых, самому нарисовать. Не?
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
почти всем требованиям отвечает:Sola писал(а):Подскажите пожалуйста простейшую плату под мегу8, чтоб были кварц, 7805, isp, гребенки и всё
http://www.inzarsalfikar.com/2010/10/mi ... c-pcb.html
- Сообщения: 20132
- Зарегистрирован: Чт сен 01, 2011 12:53:27
- Откуда: ТьмуТаракания. Почетный житель подмостовья
"можно даже козу на плацу", так когдато говорил мой ком роты.paskal писал(а): Я спрашиваю, нельзя ли так видоизменить схему подключения чтоб он стал работать на 3-й?
Во вложении одна такая схема, правда для совсем другого кристалла.
если надо стабильность и устойчивость в работе, надо городить внешнюю схему генератора, или утроитель. штатная на такое не расчитана, если вам и удасться, то повторить ее врят ли будет возможно. да и время суровый судья: сегодня работает- завтра жопа в мыле
Шекспир сказал: Судить меня -дано лишь Богу, другим я укажу дорогу... https://natribu.org/
Я его полностью поддерживаю.
Программирую на Fuse AtmelAVR.
Я его полностью поддерживаю.
Программирую на Fuse AtmelAVR.
- Сообщения: 3
- Зарегистрирован: Чт апр 02, 2015 18:55:53
- Сообщения: 118
- Зарегистрирован: Ср фев 05, 2014 18:54:39
вопрос чисто теоретический т.к. наткнулся на такой вопрос в инете - может ли контроллер (в том случае мега16) сбрасываться в случае нехватки RAM. Я думал что не может, но люди пишут что якобы может. Мне казалось что в этом случае(нехватки RAM) он просто начинает затирать старые данные и происходит тоже очень неприятная штука. И если это так, то как так получается, мне не очень понятен тогда как это происходит...ну т.е. что конкретно следит за переполнением озу и сбрасывает instruction pointer в 0x00 ...?
Нехватка ОЗУ для МК приводит к непредсказуемым последствиям(крушение или зависание программы).
Компиляторы обычно подсчитывают размер статических объектов(например массивы фиксированной длины) и при недостаточном размере свободной памяти проект просто не соберётся. По этой причине динамические объекты без особой нужды лучше не использовать.
В более продвинутых МК за работой с памятью может следить MPU или MMU. Соответствующее им исключение может прибить глючный процесс или дать сигнал ОС для разбирательств.
Компиляторы обычно подсчитывают размер статических объектов(например массивы фиксированной длины) и при недостаточном размере свободной памяти проект просто не соберётся. По этой причине динамические объекты без особой нужды лучше не использовать.
В более продвинутых МК за работой с памятью может следить MPU или MMU. Соответствующее им исключение может прибить глючный процесс или дать сигнал ОС для разбирательств.
Представил себе Мегу16 с операционной системой, многозадачным режимом... Кинуло в дрожь.
- Сообщения: 1163
- Зарегистрирован: Ср янв 05, 2011 16:25:15
.. если чисто теоретический, то представьте ситуацию, когда затирается стек возвратов. Тогда после первой же инструкции RET или RETI программа улетит в неизвестном направленииjazz393 писал(а):Мне казалось что в этом случае(нехватки RAM) он просто начинает затирать старые данные и происходит тоже очень неприятная штука. И если это так, то как так получается, мне не очень понятен
- Сообщения: 118
- Зарегистрирован: Ср фев 05, 2014 18:54:39
Добрый вечер, читал даташит на stm32 и у меня внезапно возник глупый вопрос - для чего подтягивающие резисторы используются когда порт сконфигурирован на выход(не с открытым коллектором), конкретно регистр PUPDR, это же по сути просто то же что записать в ODR 1 или 0
Так это и происходит в том же MPLAB, например. При переполнении стэка. Вылетает чёрт знает куда. Ну... на самом деле по определённому адресу, который "накопился" в стэке.
Иногда шёл на хитрость и писал перед выходом из функции return. Возможно это от компилятора зависит.
Иногда шёл на хитрость и писал перед выходом из функции return. Возможно это от компилятора зависит.
Насколько я понял этот момент из RM, PUPDR работает вне зависимости от режима порта за исключением аналоговых функций. Видимо побочный эффект.jazz393 писал(а):для чего подтягивающие резисторы используются когда порт сконфигурирован на выход(не с открытым коллектором), конкретно регистр PUPDR
И ODR не влияет на PU/PD, это не одно и тоже.
- Сообщения: 118
- Зарегистрирован: Ср фев 05, 2014 18:54:39
т.е. когда порт работает на выход не важно что записано в этом регистре?uk8amk писал(а): Насколько я понял этот момент из RM, PUPDR работает вне зависимости от режима порта за исключением аналоговых функций. Видимо побочный эффект.
И ODR не влияет на PU/PD, это не одно и тоже.
Добрый вечер! Собственно вопрос, на шине UART (mega162) весят два драйвера max487 и один изолятор ADUM1301. При посылке данных от контроллера на удаленное устройство через 1301 все проходит хорошо, при ответе удаленного устройства на шине RX амплитуда сигнала не падает ниже 2,5 вольт, то есть пачки сигналов проходят, но их амплитуда велика (в посылке отсутствуют нули сигнала) контроллер не получает данные. Как только мы отрываем выходную ногу приемника 1301 от шины RX или отключаем передатчики драйверов 487, путем управления через вывод DE, все работает хорошо. Может что то с нагрузочной способностью 1301? 
.....


