𝙸𝚐𝚘𝚛
А как она сохраняет время от батарейки?
почитайте про rtc там не нужен eeprom
Dmitry
Нехватка питания? Запитать от отдельного источника
Нет, причем тут питание. Голый чип не знает откуда стартовать. Ресет при подаче питания спасает. Далее чит прошит и маразм проходит
Dmitry
Если внимательно посмотреть на схему, видно, что она с жуткими косяками
Andy
Нет, причем тут питание. Голый чип не знает откуда стартовать. Ресет при подаче питания спасает. Далее чит прошит и маразм проходит
Что значит "голый чип не знает откуда стартовать"? Flash пуста и в режиме загрузки из флаш первичный загрузчик не видит вторичный загрузчик?
Dmitry
Что значит "голый чип не знает откуда стартовать"? Flash пуста и в режиме загрузки из флаш первичный загрузчик не видит вторичный загрузчик?
Не, если чип был прошит и флешь полностью стерта - в консоли бежит вывод и перезагрузка раз в несколько секунд, при этом усб не передергивает и jtag нормально управляет ядром и может прошить флешку
Dmitry
Что значит "голый чип не знает откуда стартовать"? Flash пуста и в режиме загрузки из флаш первичный загрузчик не видит вторичный загрузчик?
У заводского чипа есть еще какое-то состояние. Это с новым надо пробовать. Блин, вчера всю партию прошил, на опыты не оставил
Andy
Не, если чип был прошит и флешь полностью стерта - в консоли бежит вывод и перезагрузка раз в несколько секунд, при этом усб не передергивает и jtag нормально управляет ядром и может прошить флешку
Раз флаш стерта то и грузится ff - не знаю что это на ассемблере. Поэтому скорее всего первичный загрузчик падает и чип перезапускается.
Marat
почитайте про rtc там не нужен eeprom
В первой же статье о rtc пишут о энергонезависимой памяти =)
Dmitry
Насколько помню это gdb рестит (но это не точно)
У него ресет усб идет раз в одну-две секунды, нереально поймать. Тем более задать verbose. И прошивок там еще нет никаких. Может при flash erase нам не всю память трут и первый бут жив? К тому же трут только через уарт. Есть ли стиральщик через jtag, чтоб вернуть проц в заводское исходное?
Dmitry
Насколько помню это gdb рестит (но это не точно)
По картинке - это от gdb сервака события, он схватил jtag и послал халт, на что jtag вернул халт готов, регистры такие то. Можно ручками команды слать, прикольно. Но не то, проц уже живой
Andy
У него ресет усб идет раз в одну-две секунды, нереально поймать. Тем более задать verbose. И прошивок там еще нет никаких. Может при flash erase нам не всю память трут и первый бут жив? К тому же трут только через уарт. Есть ли стиральщик через jtag, чтоб вернуть проц в заводское исходное?
Первый boot в ROM лежит, т.е. стереть его нет никакой возможности. Только управление загрузкой через strapping пины. И да есть jtag команды для загрузки. Но нет такого понятия как "заводское исходное" - если стерли флаш, то это fatal fault.
Andy
Ты сразу поймёшь о каком состоянии речь, если новый модуль воткнешь, а копм как безумный с усб дергается. Встречалось?
не встречалось :( Регулировщики на производстве сразу втыкают в стенд у которого strapping пины настроены на загрузку UART. Зеленая лампочка загорелась - чип прошит, красная - в отбраковку :)
Dmitry
не встречалось :( Регулировщики на производстве сразу втыкают в стенд у которого strapping пины настроены на загрузку UART. Зеленая лампочка загорелась - чип прошит, красная - в отбраковку :)
Мне китай паяет s3 модули и шить их приходится на месте. Регулировщики сильно дорогое удовольствие. Конечная плата дешевле, если не получилось прошить, можно в мусор пионерам. Но еще ни одна не была бракованной
Евгений
И? Как это противоречит?
Все сложно, лучше статью просить!
Marat
Если бы уровень моих знаний позволял разбираться уверенно в таких вещах, я бы не задавал подобных вопросов.
Dmitry
Если бы уровень моих знаний позволял разбираться уверенно в таких вещах, я бы не задавал подобных вопросов.
Если бы ты разрабатывал rtc чипы - эти знания пригодились. А если надо на своей плате rtc - подбираешь по параметрам, доступности, цене. Сейчас в процах часто ставят блок rtc и ногу для батарейки. Пользуйся доступным
Marat
Мне надо только узнать, как устанавливать без перепрошивки время на DS3231, что бы оно сохранялось после обесточивания esp32. Ладно, пойду дальше по старинки копать интернет.
Marat
Это кусок из либы? =)
Marat
Эм... как я понял он синхронизирует время с компом, я хочу это делать через блютуз (простое приложение в мит ап инвенторе накидал), просто парсить значения. Я правильно понимаю, что если использовать либу RTC, то можно просто написать отдельную функцию, где в момент парсинга значений времени и даты единожды исполнять команду rtc.adjust(DateTime(__DATE__, __TIME__)) и он пропишет и сохранит данные в часах?
Marat
Только rtc.adjust(DateTime(2020, 8, 19, 12, 0, 0)); (где значения парсятся по блютуз)
Dmitry
Эм... как я понял он синхронизирует время с компом, я хочу это делать через блютуз (простое приложение в мит ап инвенторе накидал), просто парсить значения. Я правильно понимаю, что если использовать либу RTC, то можно просто написать отдельную функцию, где в момент парсинга значений времени и даты единожды исполнять команду rtc.adjust(DateTime(__DATE__, __TIME__)) и он пропишет и сохранит данные в часах?
Опять немного отвлеченного от твоих вопросов. Зачем с блютузом мучаться. Если про есп32 говорим, Есть обычный тайм протокол, есть внутри rtc, в s3 точно есть rtc с питанием по 33 ноге. А так, да, ты загружаешь в 3231 значение и оно там живёт до следующей коррекции. Убежит за месяц на минуту запросто
Marat
Я просто на будущее думаю, когда смогу что то посложнее делать, встроил я допустим куда то есп, перепрошить уже нет возможности, а батарейка села. Что бы я мог скорректировать время с телефона. Блин, знал бы я по нормальному язык, что бы мог полноценно либы читать и вносить под себя изменения и видеть весь функционал, но самостоятельно сложно так язык изучить. =(
Marat
А есть нормальные, где дадут именно прикладные знания?
Marat
А без знаний в лесу можно долго блуждать
О, я помню как делал первые шаги, когда о программировании знал ровно 0 и без помощи это была жесть, любая примитивная задача превращалась в дни поисков ответа.
Dmitry
А без знаний в лесу можно долго блуждать
Да ладно. Что мешает по предметной области нагуглить и понять. Все, знания есть. К доктору не ходи. Уже и у нас таблетки назначают через комп
Marat
Да ладно. Что мешает по предметной области нагуглить и понять. Все, знания есть. К доктору не ходи. Уже и у нас таблетки назначают через комп
Так можно рассуждать когда есть база. Когда ее нет, ты видишь ответ на твой вопрос и не понимаешь что это он. =)
Dmitry
Так можно рассуждать когда есть база. Когда ее нет, ты видишь ответ на твой вопрос и не понимаешь что это он. =)
Значит добавить терпения. Мозг решает любую задачу, ему пох, если честно. Надо водить научиться - теория, прочли. Практика - да пох на чем. У меня машины не было - готовился на табуретке ночью. Чтоб в дурку не сдали. Ноги-руки двигаем, опыт формируется. Есть машина или нет - неважно. В сексе тоже пойдет)))
Andy
Поведение на видео. Вопрос старый, решения так и не видно. https://www.reddit.com/r/esp32/comments/13unol3/esp32s3_seemingly_rebooting_every_few_seconds/
Я так понял проблема со встроенным портом USB, никогда не использовал его для загрузки в "пустой" флаш, поэтому возможно и не сталкивался :)
ok-home
У него ресет усб идет раз в одну-две секунды, нереально поймать. Тем более задать verbose. И прошивок там еще нет никаких. Может при flash erase нам не всю память трут и первый бут жив? К тому же трут только через уарт. Есть ли стиральщик через jtag, чтоб вернуть проц в заводское исходное?
судя по ответам официалов - это родовая болячка This is not quite true. On an empty flash and in normal boot mode, the ESP32-S3 will time out after a few seconds, which resets the chip. You can either try to 'catch' it in between resets (as starting the flash process stops the reboot loop), or you can make GPIO0 low while booting, which places it in download mode which stops the reset loop from happening. https://www.esp32.com/viewtopic.php?f=12&t=35914
Andrey
Я просто на будущее думаю, когда смогу что то посложнее делать, встроил я допустим куда то есп, перепрошить уже нет возможности, а батарейка села. Что бы я мог скорректировать время с телефона. Блин, знал бы я по нормальному язык, что бы мог полноценно либы читать и вносить под себя изменения и видеть весь функционал, но самостоятельно сложно так язык изучить. =(
Предыдущему человеку повезло. У меня есть модуль RTC, который "уходит " на 5 минут каждую неделю. Приходится раз в неделю корректировать (мне такие разбросы не критичны, хотя можно и чаще). Синхронизация проходит с временем, полученным из NTP. Если у вас плата имеет выход в Интернет, хоть иногда - воспользуйтесь этим для синхронизации времени. Опять же... батарейку поменяли - время само синхронизируется. Новый модуль поставили - первичная установка времени сама пройдёт.
Dmitry
Нереально по усб начать обмен при таком частом отключении
Fenribel
Коллеги, как можно измерить значение тока на выходе из цапа? Подаю при помощи ЦАПа напряжение около 0,1В, стоит задача точно измерить небольшой (порядка 0,5мА) ток. Как это лучше сделать?
Fenribel
Смоделировал трансимпедансный усилитель, где ток задаётся источником постоянного напряжения V2. Проблема заменить его на ЦАП — ведь у ЦАПа минусовой контакт будет сидеть на земле, тогда и не получим мы ничего... или я ошибаюсь?
Dmitry
Коллеги, как можно измерить значение тока на выходе из цапа? Подаю при помощи ЦАПа напряжение около 0,1В, стоит задача точно измерить небольшой (порядка 0,5мА) ток. Как это лучше сделать?
Тои измеряются шунтом, проще всего на землю. Слабый сигнал усиливается ОУ до нормальных значений АЦП, около нуля они не работают. Для двуполярного сигнала значения переносят в плюсовую область офсетом перед ОУ. В симуляторе можно схемку обкатать и на живой модели сравнить
Fenribel
Тои измеряются шунтом, проще всего на землю. Слабый сигнал усиливается ОУ до нормальных значений АЦП, около нуля они не работают. Для двуполярного сигнала значения переносят в плюсовую область офсетом перед ОУ. В симуляторе можно схемку обкатать и на живой модели сравнить
Да, с шунтом сейчас буду пробовать делать. Казалось, что трансимпедансный как будто бы должен большей точностью обладать... Хотя это только ощущение. По идее и там, и там, шумы должны быть одинаковыми, как я понимаю. Единственный плюс — отсутствие шунта
Dmitry
Да, с шунтом сейчас буду пробовать делать. Казалось, что трансимпедансный как будто бы должен большей точностью обладать... Хотя это только ощущение. По идее и там, и там, шумы должны быть одинаковыми, как я понимаю. Единственный плюс — отсутствие шунта
Опер у тебя на инверсном - все неправильно. Смотри на схему - есть неинвертирующий усилитель с классикой по инверсному - 1+r5/r4. Резиками по входу сигнал с шунта оттягивают в плюсы. Точка соединения r1,2,3 есть, не нарисовано в примере. В симуляторе с спайсами реальных оперов погоняй, потихоньку придет понимание
Dmitry
И встроенный RTC может хранить дату и время? Я думал встроенный RTC только для wake-up таймера. Разве нет?
У есп32 без календаря. У других МК есть календарь. Да, для есп нужен внешний
Dmitry
Спасибо. Да вот такую схемку как у вас понимаю, делал пару раз. А вот как лучше усиливать ток — впервые. Видимо правда с шунтом легче всего делать. Да и учесть шунт в постобработке можно, по идее
В реальной схеме надо точно знать значение нуля. А ацп не умеет дважды выдавать одинаковые значения. И немного цифровых фильтров придется добавить в код
Fenribel
Так а эта схема же будет только для переменного тока работать, верно? Если хочется постоянный мерить, то надо ставить схему сумматора?
Dmitry
Так а эта схема же будет только для переменного тока работать, верно? Если хочется постоянный мерить, то надо ставить схему сумматора?
Она и с постоянным работает в областях ацп выше нулевого. А резиками я могу сместить околонулевые значения в область выше 0,6В. АЦП на шумах возле нуля не даст понимания какие токи. А если сделать логарифмический усилитель - диапазон динамических значений сильно расширяется - маленькие значения хорошо различимы - большим точности достаточно
Fenribel
Не совсем понял, как оно для постоянного будет работать... Ток я генерирую, пропуская 0,1В с ЦАПа через резистивную нагрузку в 1 кОм. Шунт выбираю 10 Ом. R2, R3 надо брать наверное большими — около 100 кОм. R4, R5 тоже 1-100 кОм. Если выбрать R1 маленьким (в пределе — нулевым), то напряжение на + ОУ определится напряжением на шунте (то есть около 0В), тогда смысла в R2, R3 нет. Если R1 поставить большим, то напряжение на + ОУ окажется равным Vm * R3 / (R2+R3), потеряется зависимость от напряжения на шунте. Или тут надо смотреть на вторые порядки величин, учитывать взаимное влияние R2, R3 и шунта?
Dmitry
10 ом шунта для очень маленьких токов, прикидываем усиление, пусть 20. на ацп диапазон, пусть 0,5-3В - 2,5В. Делим на 20, 125мв. Для шунта дают ток 12,5 ма. R1 - килоомы. Задача - сместить значения от шунта в плюсы и не повлиять на ток. Можно полный расчет расписать, но реальные ОУ своими параметрами искажают, в симуляторе чуть реальнее
Fenribel
10 ом шунта для очень маленьких токов, прикидываем усиление, пусть 20. на ацп диапазон, пусть 0,5-3В - 2,5В. Делим на 20, 125мв. Для шунта дают ток 12,5 ма. R1 - килоомы. Задача - сместить значения от шунта в плюсы и не повлиять на ток. Можно полный расчет расписать, но реальные ОУ своими параметрами искажают, в симуляторе чуть реальнее
Снова не понял, прошу прощения... Так как же сместить постоянное напряжение так, чтобы не повлиять на ток? Мне кажется, так сделать не получится. Было бы переменное напряжение, там понятно, смещаем ноль. А тут — неясно...
Fenribel
А какой параметр операционника отвечает за линейность усиления в области малых напряжений усиливаемого сигнала схемы неинвертирующего усилителя?
Dmitry
Снова не понял, прошу прощения... Так как же сместить постоянное напряжение так, чтобы не повлиять на ток? Мне кажется, так сделать не получится. Было бы переменное напряжение, там понятно, смещаем ноль. А тут — неясно...
Это уже работает, никаких не получится и быть не может. Шунт низкоомный. R1 на порядки больше, смешения сигнала практически нет. Из простеньких симуляторов возьми тексасовский TinaTI и в нем свой lm358поиском пробей. Схемка простая. Входной делитель имеет потенциал - r2 к r3, где в параллель r1 плюс шунт. Изменение потенциала током шунта двигает потенциал на входе тока. В симулятор запускаем синус с офсетом, и видим входные и выходные диапазоны
Dmitry
А какой параметр операционника отвечает за линейность усиления в области малых напряжений усиливаемого сигнала схемы неинвертирующего усилителя?
Рельс ту рельс опера и те имеют завалы. Для этого в звуковых усилках двуполярное питание. Ну не работают на краю обрыва))
Fenribel
Так я и говорю — для переменного тока всё будет работать (если ещё и кондёр вместо R1 добавить — будет вообще здорово). На схеме на картинке получил зависимолсть выходного напряжения от напряжения источника тока. Не очень-то и меняется выходное, как я и говорил (или я всё ещё вас не понял). А ещё в чате нельзя отправить две картинки и текст одним сообщением)
Dmitry
Неееет нельзя кондер. Не обязательно переменка. Для постоянки надо от нуля оттянуть значения в комфортную для ацп зону
Dmitry
Неправильно через килоом токовый шунт питать. Валишь сигнал. Генератор синуса с офсетом настрой
Dmitry
Всё, получил, спасибо)
Кстати, в реалиях 358 нельзя 3.3, пять хотя бы
Fenribel
Кстати, в реалиях 358 нельзя 3.3, пять хотя бы
А есть какой-то способ найти подходящий операционник? Фильтр чип дипа какой-то как будто бы неполноценный... Задаю всё что интересует, а на выходе — всё равно куча вариантов, сидеть выбирать можно целый день
Dmitry
А есть какой-то способ найти подходящий операционник? Фильтр чип дипа какой-то как будто бы неполноценный... Задаю всё что интересует, а на выходе — всё равно куча вариантов, сидеть выбирать можно целый день
LCSC наше все. И чипдипа. Операционники отдельный мир, скорее на мультивселенные походит. В стм32 оу внутри. Характеристики недоступны. Работает, и не лезу в дебри. Для токовых есть ina серии, но цены такие, что ниразу не довелось купить. Есть скоростные, лежат 7171, буквы не помню. Скорости такие, что его запитать нормально не удается, возбуждение прет. Серия opa, неплохие, использовал. Tl071 и клоны, тоже бюджетно. Но, есть люди, кто в операх прям шарит. Мне только для части задачи, заткнуть из доступных, и нормально