Мелкие вопросы по МК и ПЛИС.

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1147
Зарегистрирован: Пт авг 05, 2016 04:47:49

Сообщение Di123 »

в новых купленых чипах атмега328 я так предпологаю они пустые идут с завода
если я распаяю её сразу на плату и буду заливать загрузчик по SPI там ничего не случится с ней ?
меня смущает можно ли ареф держать на плюсе в данный момент

Изображение
Реклама
Поставщик валерьянки для Кота
Сообщения: 1972
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария

Сообщение veso74 »

Оставьте пин AREF свободной (с конденсатор к GND, напр. 100nF). Так появляется больше возможностей для использования.
А если необходимо AREF = AVCC, то программно, через два ст. бита ADMUX: REFS1(7) = 0 и REFS0(6) = 1.
Контактная информация:
Реклама
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1147
Зарегистрирован: Пт авг 05, 2016 04:47:49

Сообщение Di123 »

да мне нужно что бы опорник был 5в
хорошо я тогда сделаю перемычку между ареф и +5в и как залью загрузчик с прошивкой то поставлю её
а зачем его прижимать кондёром я посмотрел много схем и там его нигде нету там либо он пустой либо притянут к плюсу
Поставщик валерьянки для Кота
Сообщения: 1972
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария

Сообщение veso74 »

[uquote="Di123",url="/forum/viewtopic.php?p=4412708#p4412708"]... а зачем его прижимать кондёром ...[/uquote]
Как ни странно быть ( :)) ), это записано в документации чипа.
Table 24-3. Voltage Reference Selections for ADC

REFS1 - REFS0 - Voltage Reference Selection
0 - 0 - AREF, Internal Vref turned off
0 - 1 - AVCC with external capacitor at AREF pin
1 - 0 - Reserved
1 - 1 - Internal 1.1V Voltage Reference with external capacitor at AREF pin

The internal voltage reference may thus be decoupled by an external capacitor at the AREF pin to improve noise immunity.
"... развязано внешним конденсатором на выводе AREF для повышения помехозащищенности."
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1147
Зарегистрирован: Пт авг 05, 2016 04:47:49

Сообщение Di123 »

а какие кварцы посоветуете заказать скажем так самые лучшие
есть дип в металическом корпусе в виде столбика или лодочки большие такие 2 пин
а есть смд керамические 3 пин и 4 пин
Реклама
Поставщик валерьянки для Кота
Сообщения: 1972
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария

Сообщение veso74 »

Объясните, что для вас: "самые лучшие"
SMD TSX-3225, +/- 10 ppm.
Контактная информация:
Реклама
Опытный кот
Аватара пользователя
Сообщения: 781
Зарегистрирован: Сб июн 01, 2013 22:24:21
Откуда: ПФО

Сообщение alex_ »

Всем мяу!
Столкнулся я с обновлением прошивки через загрузчик, вопрос такой: допустим обновление не прошло до конца(допустим RS485), часть памяти успели записать а дальше допустим питание вырубили, а потом после подачи питания как понять сколько успели записать и верно ли всё записалось. Сейчас сделан самый примитивный вариант, тупо начинаем всё с начала, но как бы RS485 не самый быстрый интерфейс чтобы при любом чихе начинать всё с самого начала, пришла идея запроса "контрольной суммы" страницы, но опять же какова вероятность что запишется половина(или с ошибками) и каким то образом контрольная сумма совпадёт :? гипотетически.
CRC использую - CRC-16 CCITT для каждой страницы в 512 байт.
К чему такие заморочки: устройство будет находиться довольно далеко, чтобы просто прийти с программатором, а если окирпичится то по шапке напинают не только мне :(
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 365
Зарегистрирован: Вс май 02, 2021 18:58:49
Откуда: 俄罗斯

Сообщение Dismas »

[uquote="alex_",url="/forum/viewtopic.php?p=4416061#p4416061"]...допустим обновление не прошло до конца(допустим RS485), часть памяти успели записать а дальше допустим питание вырубили...[/uquote]
При удалённом обновлении, лучше всего грузить в отдельную область.
После загрузки всего обновления, проверки целостности можно уже и обновить.
При этом можно проверить наличие резервного питания и прочих условий позволяющих
не "окирпичиться" устройству.
Конечно же для этого микроконтроллер должен иметь достаточный запас по объёму флешь памяти,
но оно того стоит.
Друг Кота
Аватара пользователя
Сообщения: 20117
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Сообщение Gudd-Head »

[uquote="alex_",url="/forum/viewtopic.php?p=4416061#p4416061"]какова вероятность что запишется половина(или с ошибками) и каким то образом контрольная сумма совпадёт :? гипотетически. CRC использую - CRC-16[/uquote]
2^(-16)
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Опытный кот
Аватара пользователя
Сообщения: 781
Зарегистрирован: Сб июн 01, 2013 22:24:21
Откуда: ПФО

Сообщение alex_ »

Dismas, резервного питания не предусмотрено, пишется именно так, в отдельную область, и только после заливки всей прошивки запускается процесс обновления, при этом полностью переписываться как бут область так и основная прошивка, если же по какой то причине будет записан не тот байт то однозначно получаем кирпич который не будет выходить из рестарта :(
Gudd-Head, согласен, логично, как только это соотнести к размеру массива, например 512 байт, тупо умножить? :roll:
Это не хвост, это антенна
Сообщения: 1378
Зарегистрирован: Вт ноя 19, 2019 06:10:18

Сообщение tonyk »

alex_ писал(а):часть памяти успели записать а дальше допустим питание вырубили, а потом после подачи питания как понять сколько успели записать и верно ли всё записалось
Всё давно придумано до нас.
Записываемая инфа разбивается на блоки. Для каждого блока указывается его длина и проверочная сумма. Из этого формируется управляющий блок. Этот управляющий блок передаётся и записывается первым. Дальше всё просто. Перед стартом загрузчик вычисляет проверочные суммы каждого блока и сравнивает со значением из управляющего блока. Те блоки, у которого суммы не совпали, битые и их надо загрузить и прошить.
Кроме того, имея управляющий блок данных, можно в процессе работы непрерывно проверять целостность данных в записанной памяти.
Друг Кота
Аватара пользователя
Сообщения: 20117
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Сообщение Gudd-Head »

[uquote="alex_",url="/forum/viewtopic.php?p=4416382#p4416382"]как только это соотнести к размеру массива, например 512 байт[/uquote]
Никак. Поскольку у вас CRC не зависит от длины массива, ложноположительная вероятность при наличии ошибки всегда будет зависеть только от длины CRC = 1/65536 при длине 16 бит.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1147
Зарегистрирован: Пт авг 05, 2016 04:47:49

Сообщение Di123 »

R4 R5 R6 правильнее ставить возле есп или 485 ?

Изображение

и R5 лучше притянуть к + или - ?
судя по схемам их кто туда кто сюда притягивает вроде как бы без разницы ...
Друг Кота
Аватара пользователя
Сообщения: 20117
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Сообщение Gudd-Head »

R4, R5, R6 ставить ближе к приёмнику сигнала.
R5 подтянуть туда, где чаще чаще будет находиться трансивер (в каком состоянии).
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1147
Зарегистрирован: Пт авг 05, 2016 04:47:49

Сообщение Di123 »

а можно ли к резисторам подтяжки добавить светодиоды ?
нужно видеть присутствие сигнала для технического мониторинга скажем так

Изображение
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 365
Зарегистрирован: Вс май 02, 2021 18:58:49
Откуда: 俄罗斯

Сообщение Dismas »

[uquote="Di123",url="/forum/viewtopic.php?p=4424121#p4424121"]а можно ли к резисторам подтяжки добавить светодиоды ?
нужно видеть присутствие сигнала для технического мониторинга скажем так ...[/uquote]
Лучше через транзистор или логический элемент, но длительность импульсов маленькая,
глаз может не успеть увидеть.
Друг Кота
Аватара пользователя
Сообщения: 6691
Зарегистрирован: Пт сен 10, 2021 15:19:36
Откуда: Протвино

Сообщение AlexS4 »

Di123, при питании 3.3V и скажем зеленом или желтом LED c Vf~ 2V пуллапа фактически не будет (будет подтягивать к +1.3 V что оочень близко к порогу переключения входов, а иногда и недотягивает до H. синие и белые LED вообще Vf ~3+V. красные часто бывают 1.5V, но не все, и это тож на грани получается.

параллельно к пуллап резисторам можно LED+R (~300+ ohm) но, как заметил Dismas, это часто не имеет смысла из-за скорости сигналов.
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1147
Зарегистрирован: Пт авг 05, 2016 04:47:49

Сообщение Di123 »

насколько безопастно так оцыфровать макушку переменного напряжения в 50гц ?

Изображение

в теории отрицательная полуволна будет давать чоткий 0
и у нас будет 10мс паузы
далее через функцию фиксирую максимальное число ацп в положительной полуволне которое будет говорить нам о текущем напряжении переменки
далее обнуляю максимальное ацп в течении отрицательного напряжения
и всё по новой
Друг Кота
Аватара пользователя
Сообщения: 6691
Зарегистрирован: Пт сен 10, 2021 15:19:36
Откуда: Протвино

Сообщение AlexS4 »

Di123, безопаснее всего вместо диода поставить резистор 100..510k, тогда можно хоть 240V AC туда дать. отрицательная полуволна и превышение Vcc надежно отрежутся канальными переходами fet в gpio. чтоб при обрыве цепи была определеннось - еще ~ такой же резистор на землю.
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1147
Зарегистрирован: Пт авг 05, 2016 04:47:49

Сообщение Di123 »

имеете в виду такое в качестве проверки ?
сомнительно конечно у транзистора же тоже есть напряжение пробоя а учитывая закрытый транзистор своим сопротивлением значительно превысит сопротивление R1 + R2 и на нём копится соответственно большее напряжение

Изображение
Ответить

Вернуться в «Разные вопросы по МК»