- Вроде где-то на сайте были бенчмарки для микроконтроллеров, с
исходниками и результатами. Найти не могу. Вроде не пьян. - max(02.03.2023 16:28, MCU, полностью)
- Потребовалось удалённо конфигурировать систему. При инициализации
заполняю структуры численными значениями из флэши проца (stm32).
Которые туда записываются парсингом получаемых с сервера файлов.
Прикол в том, что это три независимых структуры, соо-нно три файла.
Пользователь будет конфигурировать у-во изменяя данные в файлах. Но
все это хранится и во флэши, причем в одном секторе, который надо
стирать весь, чтобы что-то там перезаписать... И попал я в какой-то bnb62(248 знак., 27.02.2023 09:38 - 01.03.2023 22:11, MCU, полностью)
- Что вы там такое наворотили?! У меня в меньше 500 строк,
инициализация, поиск блока по своему тегу, контрольные суммы. Нужна
структура - присваиваем тег, по нему и ищем при случае. Не файл
целиком, а блок данных/параметров. Есть тонкости типа ограничения
размера и другого, но всё поправимо. При чтении тега ищем последнее
валидное вхождение. Использует SPL. Dingo(570 знак., 02.03.2023 06:03, ссылка)
- надвое: либо ОЗУ хватает чтобы хранить одну страницу флеш, либо не
хватает, тогда следующий вопрос, записывать можно хоть по одному
слову, и если вдруг стерли и записали настроек только часть, сможем
запуститься и натворить плохих дел? надо чтобы не смогли. а просто
тормозить запуск и требовать дозаписать недостающее, либо же
инициализировать недостающие данные по умолчанию но тоже проорать
что нас не настроили до конца, стартуем с дефолтом. законченность
записи данных NAUT(219 знак., 28.02.2023 00:36)
- Рекомендую ознакомиться с аппнотом STM "eeprom emulation" как
список идей. Упрощённо так: модификации все в буфере в RAM,
записываем следующий, сохраняя предыдущий (copy on write), при
чтении берём последний целый(валидный). Хорошо использовать
несколько страниц для размазывания износа и возможности чтения при
ошибках. И помните, что контроллер на время записи заблокирует
флешь, где хранятся обработчики прерываний... Dingo(1 знак., 27.02.2023 12:23, ссылка)
- не касаясь вашего случая, спасибо за идею. Думаю тоже перейти на
этот метод - скидывать файл конфигурации с FTP, чтоб проц потом всё
куда надо раскидывал. - Лaгyнoв(27.02.2023 11:13)
- Сектор переписываешь в RAM, там обновляешь и потом записываешь. А
лучше записываешь в след. сектор и переводишь указатель. - General(27.02.2023 09:52)
- Не селен в Keil, встала задачка написать boot loader для мегавин
хотелось бы утоптать в 1К это все. Но Keil на Си сходу создает
проект 1,3кБ (для ARM), куда копать? Вроде методом тыка пытаюсь
пофиксить всю инициализацию переменных и т.п., но что то
кардинального в уменьшении кода получить не могу. - PeterD(01.03.2023 10:21, MCU, полностью)
- Выбираю микроконтроллер для прототипа с аналоговыми сигналами.
Склоняюсь к STM32F303, но уж больно он старый. Может быть что-то
получше есть? И второе, где сейчас модно ОУ подбирать без ВПН?
Хочется Rail-to-Rail похожий на AD8022 и доступный как MCP6022. - Costic(29.01.2023 21:10, MCU, полностью)
- А не встречал ли кто у китайцев микроконтроллеры с рабочей
температурой ниже -40? (наподобие Texas Instruments Enhanced
Plastic) В Китае около 100 микроконтроллерных контор, может и такое
есть? - AlexG(25.02.2023 08:06, MCU, полностью)
- Кто нибудь разбирался как устроены недороги самонастраивающиеся
релейные регуляторы температуры? Я так понимаю, там
пропорциональное звено с коэф. 1 и дифференциальное с адаптивным
коэффициентом, релейный элемент переключение в 0. Не могу придумать
алгоритм адаптации дифзвена. - IBAH(15.02.2023 12:53, MCU, полностью)
- толково про релейный регулятор DH(2 знак., 19.02.2023 08:41, ссылка, ссылка)
- Кажись придумал. Короче, ПД регулятор, П=1, Кд адаптируется
следующим образом: IBAH(538 знак., 17.02.2023 12:47 - 18.02.2023 13:49)
- По занудствую. Сиё на сколь я понял ТЗ - речь идет про систему
"автоматической обратной связи". там обходятся интеграторами и
дифференциаторами. можно на рассыпухе , можно на операционниках.
теорию и практику лет 30 назад изучал/использовал. Есть "слежение"
по позиции, по скорости изменения, по ускорению. - Zoro(15.02.2023 21:22)
- а такие бывают? покажи пример - LordN(15.02.2023 15:23)
- Там тупо гистерезис. Либо заданный двумя температурами, либо одной
заданной и ширина плеча гистерезиса. Это недорогие. Cкpипaч(325 знак., 15.02.2023 13:49)
- Ну вообще-то дифсоставляющая таки нужна для точных
терморегуляторов. Позволяет скомпенсировать задержку
распространения тепла от нагревателя до термодатчика. Когда делал
инфракрасную паяльную станцию для пайки BGA несколько лет назад,
без дифсоставляющей никак невозможно было побороть
перерегулирование, а оно там недопустимо вообще. Тупо затягивать
динамику пропорционалом и интегралом не вариант, там жёсткие нормы
на скорость разогрева/охлаждения. Когда правильно настроена Yurasvs(156 знак., 15.02.2023 20:16)
- есть модификации гистерезисного регулятора, когда включение и
отключение происходит с каким-то опережением, вычисляемым
пересечению сигнала ошибки через нуль, при знаке производной +
отключаем, при минусе - включаем. иногда работет неплохо. одно
время было популярно в сплитах, пока не стали массово появляться
инверторы и смысл в этот пропал абсолютно. LordN(299 знак., 15.02.2023 15:31)
- Укроинфополе разрушает мозг, в результате он способен только на
автоматизацию "торговых центров". - IBAH(15.02.2023 15:18)
- Включили воздействие, с секундомером замеряем зависимость отклика
от времени, находим постоянную времени цепи. Частота это обратная
величина от постоянной времени - DH(15.02.2023 13:21)
- Первое, что приходит в голову - критерий выхода на заданную частоту
коммутаций. Слишком часто - уменьшаем дифф. коэффициент. Слишком
редко - увеличиваем. И всё. - Nikolay_Po(15.02.2023 12:54)
- Добрый день! Как оптимально разбирать сообщения от модулей типа
SIM800L. По UART данные падают в кольцевой буфер, а дальше? Как их
правильно разбирать? Как искать конец строки, там же нет
терминального нуля, есть только \r и \n. petrd(33 знак., 08.02.2023 16:27, MCU, полностью)
- Все было хорошо (в моей реализации) до момента пока был обмен по
типу "запрос-ответ". Все сломалось когда пошли асинхронные данные
(например, смс), а они мне нужны. - petrd(13.02.2023 08:18)
- Недавно всё у себя переделал. Раньше вообще выпадал из основной
программы, пока не закончу с модемом. Теперь по каждой посылке в
модем по прерываниям в буфер приходит ответ. Смотрю, что всё
пришло, разбираю и шлю новую посылку. Зачем здесь "кольцевой"
буфер? Всё равно каждая следующая посылка зависит от ответа на
предыдущую. И там - ветвление. Да, сразу не понял. В принципе
большинство простых ответов заканчиваются "ОК" и CR,LF. Но есть
масса ответов со смыслом, где есть Лaгyнoв(128 знак., 08.02.2023 17:17)
- Я бы делал буфер для полной строки (в дополнение к или вместо
кольцевого буфера). Когда набирается полное сообщение, тогда его и
разбираем. Можно при помощи sscanf, strtok, memcmp и т.д. - SciFi(08.02.2023 16:47)
- А кто заставляет именно в конце чего-то там проверять? .. ресурсов
сейчас на всё обычно хватает... POV(233 знак., 08.02.2023 16:39, картинка, картинка)
- Web контроль 3 часть. Всё работает, а вот как бы данные сохранять
из контролера через браузер. Сейчас делаю console.log(response) ,
затем руками записываю. Нашёл примеры записи в файл , но нужен
https. Знаю что это нарушение безопасности. Но помнится всякие
блокировщики лет 12 назад умели прописываться и на рабочий стол и
даже в реестр = помню с таким сталкивался - cтpaтeг(14.02.2023 11:18, , MCU, полностью)
- Кейл51. Два варианта кода. Один дает глюки. Кейл проигнорил
volatile или я не смог тому внятно сказать что хочу?.. POV(234 знак., 11.02.2023 14:38, MCU, картинка, картинка, полностью)
- Так и должно быть! Вставьте между двумя присвоениями вызов
какой-нибудь фиктивной функции или хотя бы NOP. - Bill(13.02.2023 13:05)
- обоснуй - POV(13.02.2023 13:09)
- Вообще-то неплохо было бы на сгенерированный код взглянуть. Я думаю
так. Компилятор копирует переменную systick в какой-нибудь регистр,
а содержимое этого регистра копируется в обе переменные и далее
сразу идёт проверка условия. Другими словами. компилятор может
исходное выражение привести к виду Bill(137 знак., 13.02.2023 13:24 - 13:30)
- Если systick был объявлен как volaitle, то, вне зависимости от
того, куда класть его значение, вне зависимости от переменных temp,
должно быть обращение к systick принудительно. Простите, без
подписей что к чему, в асм-е Nikolay_Po(713 знак., 13.02.2023 14:15, ссылка)
- Топик пошёл по N-ому кругу. Кот уже был, всё там нормально
>>> SciFi(1 знак., 13.02.2023 13:28, ссылка)
- А как NOP этот гипотетический сценарий исправит? - POV(13.02.2023 13:28)
- Я когда на 51-м прогал, делал две вещи: 1) Обработчик от таймера
использовал отдельные банки регистров. Там их 4 было. 2) При чтении
таймера проверял "атомарный" флаг, который взводился в прерывании,
и если он был сброшен, то запрещал прерывания и считывал. - Звepoящep(13.02.2023 08:27)
- У вас кейл -51 следовательно MCS-51, следовательно атомарны только
чтения байтов. Вы читаете 4 байта, следовательно чтение не
атомарно, следовательно величина может изменится во время чтения.
При проверке temp!=systick время чтения systick больше чем при
temp2 =systick следовательно операция temp!=systick чаще приводитк
к глюкам, но это не значит что и код temp2 =systick тоже
безглючный. Вам нужно либо прерывания запрещать на время чтений
systick либо организовывать мютекс, Boвa(33 знак., 12.02.2023 10:09)
- А волатиле ваще не про это. Тут, походу, прерывания запрещать. - mse homjak(11.02.2023 23:42)
- Я бы с торону стека смотрел. Покажи, что выдаёт компилятор/линкер
после сборки - вот эту строчку: "Program Size: data=129.4 xdata=876
const=285 code=11864" И хорошо бы настройки/опции проекта глянуть:
Target и C51. Costic(1 знак., 11.02.2023 21:19, картинка)
- Листинг дизассемблера в студию. - SciFi(11.02.2023 21:04)
- По-моему, действительно глюк компилятора, если systic объявлен
volatile. - Nikolay_Po(11.02.2023 21:01)
- Не видно как объявлен systick. Он volatile ? - ЫЫyкпy(11.02.2023 14:59)
- volatile должен быть systick, для temp это бесполезно. Дальше надо
смотреть что в асме получилось - AlexBi(11.02.2023 14:56)
- Косяки смачные в компиляторах бывают:-) Писал на ПИКе
восстановление ошибок посредством БЧХ 31. 21, оказалось что с
переменной в 32 бита не работает вариант var32 = var 32 ^ 1.
Инверсия младшего бита. Как то иначе сделал. - Visitor(11.02.2023 14:53)
- Спрошу, на всякий случай про STM32F407VGT6. Пришли сегодня, один на
место F207 ого впаял, КЗ нет, как бы проверял соответствие. Вот
прошивка по DFU USB не работает, F207 в плате шился. Может
проглядел что то? Хотя, и F207 партии попадались, где 50 на 50. - Visitor(02.02.2023 19:08, MCU, полностью)
- встречались 205-е, в которых калибровки какие-то отсутствовали.
тоже не шились по DFU. некогда было искать, что ещё в них не так -
возвращали продаванам партиями - Vit(03.02.2023 06:00)
- были несколько партий 405х, по дфу не шились, только джитагом
(свд), все остальное работает. Считаю, либо какая та заказная
партия для кого то с отсутствующим (или измененным) дфу - 0men(02.02.2023 19:16)
- А USB в дальнейшем работает или нет? Для нас важно. Измененный вряд
ли, пуллапа нет, внешний напаял, комп булькает при подключении,
загрузчик проц не видит. Понятно, что булькать будет при подтяжке
линии ДП. - Visitor(02.02.2023 19:37)
- работает без проблем штатно - 0men(02.02.2023 19:40)
- Спасибо, обнадежили:-) Завтра проверять будем. - Visitor(02.02.2023 19:44)
- ? - Nikolay_Po(03.02.2023 17:55)
- См. выше:-) Причем, прошивку от 207 залили без перекомпиляции,
дивайс полностью прет. Программисты сами в шоке:-) - Visitor(03.02.2023 18:37)
- Спасибо! - Nikolay_Po(03.02.2023 18:37)
- Как бы радует, что все так просто, но осадочек то остался: в процах
даже коры разные, кортекс 3 и 4, совместимость, видимо. Ресурсы
используемые на плате: USB communication class, Ethernet rmii,
Uart, 8 ADC, 4 PWM, I/O. Все проверили, ОК, а где подвох? - Visitor(03.02.2023 19:08)
- А вот, может быть, есть тут кто с опытом общения с поделием
Infenion под названием TLE9867? Лыжи ваще не едут, ну или того-с. Бapбoc(51 знак., 09.02.2023 19:02, MCU)
- Добрался до AT32. Скачал примеры, шаблоны проектов дял разных
IDE... ничего не отрывается ))) китайцы такие китайцы... или может
что-то умудрился не так сделать?... POV(59 знак., 07.02.2023 12:13, MCU, картинка, полностью)
- Здравствуйте, продолжаю вебСервер для микроКонтролера: с сервером
http продвинулся, всё управляется. следующий этап- как браузере
собирать ответы сервера? хром юзаю - логи собираются, но как
получать сам контент и записывать его - опять совсем не понимаю.
помогите пожалуйста.... - cтpaтeг(07.02.2023 13:45, , MCU, полностью)
- Прописи - может стоит начать использовать тег? Много граблей у
каждого собрано; почему бы не делиться о тех, про которые не жалко
рассказать? Мы же не все такие умные с рождения были, так? Dingo(246 знак., 06.02.2023 11:10, MCU, ссылка, ссылка)
- Проблема с RS-422. Помогите советом yни(1 знак., 30.01.2023 22:29, MCU, ссылка, полностью)
- Посмотреть несколькими лучами осциллографа Tyмблep(381 знак., 31.01.2023 12:55)
- Использую подтяжки, чтобы не было подобного головняка... - Гyдвин(31.01.2023 07:38)
- А в чем смысл объединения земель? Сигналы же дифференциальные, им
земли не нужны. Экран соединительного кабеля можно заземлить на
одном конце, и достаточно. - vpv.vpv(31.01.2023 07:21)
- Если синфазное напряжение (разность потенциалов земель) выйдет за
допустимые границы (формально это -7+12), тогда дифференциальный
вход перестанет работать. AlexBi(110 знак., 31.01.2023 09:01)
- Предел есть, да. Но если "свою" землю наружу никуда не
присоединять, то откуда синфазное напряжение на входах возьмётся?
Которые внутри притянуты к своей земле и питанию. - vpv.vpv(31.01.2023 12:22)
- Мы живём в океане электричества и не видим этого. Tyмблep(517 знак., 31.01.2023 15:00)
- Обычно все портят емкости в блоке питания. - AlexBi(31.01.2023 12:30)
- Правила хорошего тона предписывают интерфейс 422/485 делать
гальванически развязаным. Тогда синфазному напряжению просто
неоткуда будет взяться. - vpv.vpv(31.01.2023 12:54)
- Угу. Протяните Ваш кабель без земли рядом с выходными проводами
работающего частотника. Очень удивитесь. Гальваназвязка никак не
поможет от емкостной связи с источником помехи такой величины. - Yurasvs(02.02.2023 00:57)
- "Доктор, а зачем вы мне такие картинки показываете?" :))) Я думаю,
прокладывать кабель данных рядом с силовыми кабелями - очень плохая
идея. Если по-другому никак, то экранированый (STP) кабель
прокладывается в заземлённой металлической трубе. Тогда Ок. - vpv.vpv(02.02.2023 08:39)
- В жопу такого производителя, у которого оборудование без
экранированного кабеля в заземлённой металлической трубе не
работает. Nikolay_Po(494 знак., 03.02.2023 17:53)
- странно это всё слышать - Кабели экранируем, трубы заземляем. в конце нулевых имел дело с электрическими литьевыми машинами
EMOULD(Германия). в литьевой машине четыре BLDC движка - 3х15квт,
1х30квт. никаких труб, только экранированные кабели что силовые,
что сигнальные. работало как часы 24/7. - m16(03.02.2023 22:04)
- Есть хорошая книжка Дж. Барнса "Электронное конструирование: Методы
борьбы с помехами". 1987 год. Про кабели, экраны, общие провода,
обратные токи, помехи, и т.д. и т.п. С графиками, формулами и
картинками. По мне, книга очень полезная в плане понимания картин
происходящего и развенчивания суеверий. :-)) - vpv.vpv(06.02.2023 08:59)
- Лучше перестраховаться. Пример - весовая платформа. Кабель от
весового преобразователя к контроллеру экранирован. А чтобы
гарантировать хорошую заземлённость платформы, заземляется стальная
труба - кабель канал. Получается, тройная защита: заземление по
трубе - раз, экранирование сигнального кабеля - два, гальваническая
развязка приемопередатчиков - три. Nikolay_Po(224 знак., 04.02.2023 15:12)
- всегда вопрос питания в данной гальванической развязке. Раньше (по
крайней мере) брали просто отдельную вторичную обмотку силового
трансформатора 50Гц. И на том конце - так же. И начинает работать
емкость между вторичной и первичной обмотках каждого из
трансформаторов. И через нее при неудачном стечении обстоятельств
вполне реально получить между общими проводами 7-10 вольт. Это и
будет синфазным - Лaгyнoв(31.01.2023 15:39)
- Наличие конденсатора между цепями делает эти цепи гальванически
связанными или нет? - AlexBi(31.01.2023 15:02)
- Вон у меня лежит переходник на adm2587. Короткие пакеты через него
проходят, а данные по dmx512 нет. Землю цепляю - начинает dmx
работать. Как-то изоляция не помогла. Длина провода полтора метра. - POV(31.01.2023 12:56)
- не совсем так - это для RS-485. да, в данном случе верно, потому
что у ТС по факту 4-х-проводный вариант включения RS-485, а не
RS-422 Vit(1 знак., 31.01.2023 10:10, ссылка)
- У объединения земель свои минусы. Там может быть такой перекос, что
выжгет источники. Поэтому соединяют не напрямую, а через 20...50
Ом. Но тогда опять же при серьезном перекосе синфазное выскочит за
пределы. Когда я впервые 20 лет в импортных колонках столкнулся с
RS422, то удивлялся 5-му контакту, куда был выведен общий провод.
Но его ни разу нигде не подключали. :-) - Лaгyнoв(31.01.2023 09:12)
- Сначала разобрались бы с коротким стопом. Обычно это неправильное
управление переключением передача/приём. А ещё вроде как TE) в
LTM2881 подключается встроенный терминатор - на прекосах из-за
номиналах резисторов обвязки можно огрести - Vit(31.01.2023 04:54)
- Rx подтянута к плюсу? - POV(31.01.2023 00:48)
- Нихрена не понятно, если честно. Осциллограф надо с батарейным
питанием. И смотреть оба провода диф линии. - Evgeny_CD(31.01.2023 00:22)