сброс нужен только в случае программного выключения выводов SWD
Вот теперь всё ясно, спасибо! В данном проекте выводы SWD зарезервированы для отладки и больше никак не используются. Да и вообще не факт, что до отладчика дело дойдет.
Отключить их можно по ошибке, например. Кроме отключения собственно интерфейса отладки возможны неправильные настройки памяти (хотя может в 100 это и не возможно, не помню - у меня в основном идут 103, других использую мало), при этом интерфейс отладки тоже становится недоступен. Тут вопрос такой: если делать, то делать нормально. Не собираетесь использовать - не нужно вообще ставить разъём и изводить лишними вопросами. Вторую страницу обсуждаем, выводить сброс на разъём или нет
И по вопросам: 1. Идеально сделать вход модуляции с полосой 0,1 Гц ... 100 кГц для оценки медленных просадок/набросов напряжения и влияния ВЧ помех от импульсников. Минимум от 0,2-1 Гц до 10-20 кГц. Чувствительность не более 0,5-1. 2. Когда-то давно была ситуация, что прибор с процессором не выходил из режима сна. Выяснилось, что схемы сброса процессора не срабатывали по включению основного питания, т.к. в режиме сна на процессоре было около 0,2-0,3 вольта (утечки). Когда стали "качать" напряжение прибора от внешнего лабораторного блока питания выяснили, что схема начинала корректно работать только при опускании питания ниже ~100 мВ на время порядка секунд. Так к чему это я?.. А да! Желательно иметь регулировку от 0,1 вольта. Не хуже. Но это лично мое мнение
И, кстати, на stm.com появилась третья версия MicroXplorer которая наконец-то научилась генерить код инициализации для периферии. Не прошло и трех версий Правда сам пока не пользовался его сгенеренным кодом. Но планирую проверить. Если кто не в курсе, это программка на Java, которая позволяет в графическом виде назначить функции на выводы процессоров STM32 конкретной серии в конкретном корпусе. Соответственно отображает задействованные выводы и доступный/заблокированный функционал процессора.
Там-же есть интересная примочка STM-Studio, которая может при отладке через ST-Link визуализировать переменные, в т.ч. графически.
Я понимаю, что советы правильные. Но ради красоты я всегда жертвую многим. На плате STM32VLDISCOVERY есть 4-контактный разъем. Точно такой же разъем с такими же сигналами логично видеть и на плате БП. Без подпаивания всяких проводочков к ножкам процессора.
-=KiV=- писал(а):
1. Идеально сделать вход модуляции с полосой 0,1 Гц ... 100 кГц
Такую полосу пропускания источник не обеспечит. Присоединил АЧХ для амплитуды выходного сигнала 10 В, нагрузка 100 Ом || 10 мкФ. Частота среза получается меньше 30 кГц, при большей емкости нагрузки - еще меньше. Но сам по себе вход сделать можно. Надо будет глянуть схемы и внести разъем, пока не поздно, так как схемы почти разведены.
-=KiV=- писал(а):
2. Желательно иметь регулировку от 0,1 вольта. Не хуже.
Аналоговую землю на последних схемах приподнял, проблем с низким выходом не видно.
-=KiV=- писал(а):
позволяет в графическом виде
Такими вещами не пользуюсь. Изучать каждую новую программу - мучение. Поэтому ограничил количество софта до минимума.
На плате STM32VLDISCOVERY есть 4-контактный разъем. Точно такой же разъем с такими же сигналами логично видеть и на плате БП. Без подпаивания всяких проводочков к ножкам процессора.
А ничего, что на платах STM32F0DISCOVERY, STM32F3DISCOVERY и STM32F4DISCOVERY разъём 6-контактный? Отладчик там точно такой же, популярность F4 сейчас уже больше, чем VL Ведь Вам уже говорили, что стандартным и распространённым по-сути является только 20-контактный разъём. Есть несколько более мелких стандартных, но они тоже от 10 контактов и больше. Стандартных разъёмов SWD на 4-5 контактов нет!
Леонид Иванович писал(а):
Но сам по себе вход сделать можно.
Не забывайте, что у Вас ток измеряется в минусовом проводе. Может получиться петля через внешние соединения (генератор может быть заземлён вместе с нагрузкой). В старом варианте я делал такой вход, пришлось развязать конденсатором.
-=KiV=- писал(а):
2. Желательно иметь регулировку от 0,1 вольта. Не хуже.
При низком напряжении на выходе появляются проблемы с нагрузкой выходного каскада. Хотя ув.ЛИ вообще без нагрузки его делает - что же, посмотрим, подождём пока он перейдёт от модели к макету
Когда перейду на STM32F400, тогда сделаю другой разъем. А теперь делаю под конкретный отладчик, который обещали одолжить.
koyodza писал(а):
Не забывайте, что у Вас ток измеряется в минусовом проводе.
Да, я понимаю. В этом один из минусов данной топологии БП. Выводить наружу внутренний общий провод (который до датчика тока) нельзя, придется в качестве общего использовать землю нагрузки. Сигнал с датчика тока будет суммироваться с сигналом модуляции, но будем считать эту добавку малой.
dmirrr писал(а):
Если у БП будет выведет UART, какое планируется его назначение (кроме, собственно прошивки)? Программа для управления с компьютера/софт для настройки?
На задней стенке БП будет гальванически развязанный USB. По USB можно будет осуществлять полное управление источником. Будет специальный софт, плюс будет dll с набором функций управления для желающих пользоваться LabView или чем-то подобным, или же собственным ПО. Так у меня сделано для генераторов.
1. По поводу программирования - по rs232 программировать у меня получалось очень медленно, то ли кабель некачественный, то ли в городе помех много. Через SWD программируестя гораздо быстрее. Программирование по rs232 у меня выглядело следующим образом - поставил перемычку, включил питание или нажал кнопку сброса. В программаторе нажал кнопочку программирования. Снял перемычку - включил питание снова. Убедился в неработоспособности и все снова. Программирование по swd выглядит иначе - подключил разъем программирования, включил питание. Все, к плате больше не притрагиваюсь, ну в смысле к сбросу и питанию. Нажал в среде комбинацию клавиш отладки - контроллер сбросился и начал прошиваться. Прошился - остановился в main (или в самом начале). Нажал клавишу выполнения - программа пошла выполняться под отладчиком с точками останова если необходимо. Не нужна отладка - нажал комбинацию клавиш выхода из режима отладки. Контроллер сбросился и начал выполняться уже без отладчика - выполнилась только прошивка. Никакого геморою с кнопками - все с клавиатуры. Зависание происходит достаточно редко - в этом случае как уже здесь говорили нужно будет нажать сброс ручками. Поскольку это бывает редко - то вообще можно не заморачиваться с особым управлением сбросом - достаточно одной кнопки и конденсатора. На включение загрузчика тоже нужен 1 резистор и джампер. 2. Что то в схеме непонятно как то земли соединены. конденсатор аналогового питания должен стоять между 3.3 аналоговым и аналоговой землей. А кнденсатор цифрового - между цифровыми соотвественно. Иначе все что должно было оставаться на конденсаторе может гулять по дорожкам. То есть получается, что все земли около стабилизатора должны быть аналоговыми или все цифровыми. 3. С разъемом соединения с силовой платой тоже не понятно как земля вводится. Видно что зерез 50 ом резистор. Через этот же разъем подается и 5 вольт пттания. Это значит, изменение тока питания будет выделяться на 50 ом резисторе и складываться (или вычитаться) с напряжением управления - выход может лихорадить в зависимости от количества зажженых светодиодов. Лучше этот резистор поместить в 5 вольт, а землю сделать напрямую. Возможно вообще поставить 2 стабилизатора на цифру и аналог. 4. В этой схеме есть цифровые сигналы, которые выводятся наружу - это вентилятор как минимум. Возможно придется поменять местами аналоговые и цифровые 3,3 вольта. Что бы вентилятор влиял только на цифру. Вентилятор хорошо бы управлять через транзистор. Хотя возможно и правильно вынести этот транзистор в силовую часть. От ШИМА вентилятора могут идти помехи. Поэтому его можно отфильтровать на этой плате а уже постоянку гнать на вентилятор. 5. Непонятно зачем использовать OE на регистрах. Все равно значение сдвинется после первой же посылки. 6. По моему вентилятор и звук стоят на одном таймере. Один из них можно кинуть на 46 - 45 выводы. 7. Не очень понятно что такое OWP. Главное непонятно зачем он подключается к 2 выводам. 8. Нормально ли будут бодаться 3,3 вольта схемы и 3 вольта питания discovery. Что будет если один из них перебодает другого. По моему ничего плохого - stlink будет питаться от стабилизатора устройства и все. На стабилизатор может быть большая нагрузка - надеемся выживет. 9. Можно убрать один регистр - еще 12 выводов у контроллера свободны. Правда это может оказаться ужасно неудобно разводить. 10. PA2 PA3 нетерпимы к 5 вольтам. То что терпимо в табличке отмечено FT. Если это аналоговый датчик - то лучше запитать его от 3 вольт. При его отключении порты остануться целыми. Так может тоже останутся, но лучше подключать 5 вольт туда где разрешено. В остальные места - 3 вольта 11. вывод boot1 можно притянуть к земле через резистор. Если ошибетесь в программе через этот порт не будет гнать в землю полного тока вывода.
Что то уж многовато замечаний получилось. Некоторые конечно спорны.
1. по rs232 программировать у меня получалось очень медленно
Интересно, это у всех так? Может можно принять какие-то специальные меры для ускорения прошивки через UART? Мне в основном так и предстоит работать.
Galizin писал(а):
Зависание происходит достаточно редко - в этом случае как уже здесь говорили нужно будет нажать сброс ручками. Поскольку это бывает редко - то вообще можно не заморачиваться с особым управлением сбросом - достаточно одной кнопки и конденсатора.
Это я уже понял. Кнопка сброса на плате будет.
Galizin писал(а):
2. Что то в схеме непонятно как то земли соединены. конденсатор аналогового питания должен стоять между 3.3 аналоговым и аналоговой землей.
Да, на схеме не очень понятно земли показаны, исправлю. На аналоговом питании возле ножек процессора будет стоять C9, на цифровом - C5...C7.
Galizin писал(а):
3. не понятно как земля вводится. Видно что зерез 50 ом резистор
Нет, это резистор делителя для смещения общей точки аналоговых схем, чтобы была возможность калибровать БП несмотря на однополярное питание. Блок-схему этого дела недавно выкладывал. А питание плата управления получает через контакт 10 (DGND).
Galizin писал(а):
4. Возможно придется поменять местами аналоговые и цифровые 3,3 вольта.
Аналог питается сразу с выхода стабилизатора (самое чистое питание), а цифра отделена дросселем. Выдержку из материалов Analog Devices по этому поводу присоединил.
Galizin писал(а):
Вентилятор хорошо бы управлять через транзистор. Хотя возможно и правильно вынести этот транзистор в силовую часть. От ШИМА вентилятора могут идти помехи. Поэтому его можно отфильтровать на этой плате а уже постоянку гнать на вентилятор.
Планируется управлять вентилятором через специальный ключевой каскад (MOSFET, диод, дроссель, конденсатор), который будет на отдельной плате. Сигнал ШИМ к нему будет поступать по отделному проводу через отдельный разъем. Хотя в своем экземпляре вентилятор устанавливать я не буду.
Galizin писал(а):
5. Непонятно зачем использовать OE на регистрах. Все равно значение сдвинется после первой же посылки.
Сразу после включения питания и до инициализации в регистрах может быть что угодно. Если индикаторы устройства хаотически вспыхивают при щелчке выключателем питания - это признак плохо сконструированного устройства.
Galizin писал(а):
6. По моему вентилятор и звук стоят на одном таймере. Один из них можно кинуть на 46 - 45 выводы.
Звук - PB13 (TIM1_CH1N), вентилятор - PB14 (TIM15_CH1). Или я ошибаюсь?
Galizin писал(а):
7. Не очень понятно что такое OWP. Главное непонятно зачем он подключается к 2 выводам.
One Wire Port - туда подключается датчик температуры DS18B20, обмен с которым формируется с помощью USART2. Обмен полудуплексный, задействованы обе ножки: RXD и TXD.
Galizin писал(а):
8. Нормально ли будут бодаться 3,3 вольта схемы и 3 вольта питания discovery.
Они же не связаны - контакт 1 (VCC) разъема SWD на Дискавери просто через 10 кОм подключен на землю.
Galizin писал(а):
9. Можно убрать один регистр - еще 12 выводов у контроллера свободны. Правда это может оказаться ужасно неудобно разводить.
Знаю. Сразу его и не было. Добавил для удобства разводки. Хотя все равно плата получается не "утюжная" - куча дорожек с шагом 0.5 мм.
Galizin писал(а):
10. PA2 PA3 нетерпимы к 5 вольтам.
Вот это конкретная засада. Спасибо! А я подключил к ним подтяжку на 5 В. По идее, можно ее просто переключить на 3.3 В, датчик DS18B20, запитанный от 5 В, все равно будет работать (питания 3.3 В рядом с датчиком нет). Хотя это пока открытый вопрос, возможно, применю аналоговый датчик, может даже просто транзистор.
Galizin писал(а):
11. вывод boot1 можно притянуть к земле через резистор. Если ошибетесь в программе через этот порт не будет гнать в землю полного тока вывода.
Мало места, пойдет и прямое подключение. Постараемся не ошибаться в программе.
Может можно принять какие-то специальные меры для ускорения прошивки через UART?
Намекну: прошивка по UART заливается на скорости 115200 максимум, а отладка обычно происходит на скоростях 5-10МГц. Правда, там уже скорость записи во flash ограничивает скорость загрузки, но тем не менее разница очевидна. Процесс заливки прошивки выше Galizin описал в основных деталях.
Леонид Иванович писал(а):
Это я уже понял. Кнопка сброса на плате будет.
Вы поняли немного не то: я говорил не о "зависаниях", а о недоступности интерфейса SWD при выполнении некоторых действий и невозможности потом достучаться до него (если не заведен сброс на отладчик), особенно если эти действия производятся сразу после старта. Больше я Вас мучить сбросом на разъёме не буду, "не в коня корм"
Ну так скорость 115200 бод вполне достаточна. Я думал, там более тормозные тормоза. Программатор AVR работал на такой же скорости, объем прошивки был примерно таким же, скорости хватало.
zöner, ну так это же прекрасно! Чем тогда Galizin был недоволен?
Я недовольный был 6900 бодами
Еще одно замечание по схеме относительно внутренних ЦАПов. Если их использовать небуферизировнными, то они дотягивают выход почти до 0. Но в этом случае выходное сопротивление 15кОм. Если же использовать внутренние буферы - то не дотягивает до нуля и питания примерно 0,15-0.2 вольта. При питании в 3.3 вольта это много. 15кОм выходного - это тоже много для передачи на другую плату. Будет ловить помехи. Нужно уменьшать - ставить повторитель на ОУ. А если ставить ОУ, то не нужен 50 ом резистор, все можно сделать с помощью ОУ. Если общая точка силовых схем смещена относительно общей точки опорного напряжения, да еще через резистор в 50 Ом, то нужно принимать спец меры по развязке питания опоры и силы. Причем емкостную связь тоже нужно минимизировать. Это может вылиться в дополнительный трансформатор с принятием мер по минимизации емкости между обмотками. ОУ проще.
Удобство разработки - это главное отличие stlink от uart.
до нуля и питания примерно 0,15-0.2 вольта. При питании в 3.3 вольта это много.
Это вполне терпимо, потеря всего 10% шкалы. С помощью резисторного делителя можно поднять COM на этих же 200 мВ и ноль на выходе будет обеспечен.
Galizin писал(а):
15кОм выходного - это тоже много для передачи на другую плату. Будет ловить помехи.
Тоже ничего страшного, на входе другой платы будет ФНЧ, который уберет помехи. ФНЧ нужен в любом случае, чтобы фильтровать шумы.
Galizin писал(а):
ставить повторитель на ОУ.
На плате управления нет двухполярного питания, а ОУ с однополяркой - это ничем не лучше внутреннего буфера.
Galizin писал(а):
Если общая точка силовых схем смещена относительно общей точки опорного напряжения, да еще через резистор в 50 Ом, то нужно принимать спец меры по развязке питания опоры и силы. Причем емкостную связь тоже нужно минимизировать.
Спец меры - это применение дифференциальных усилителей для снятия тока и напряжения. Они уже приняты. А емкость не сильно будет сказываться, импеданс делителя очень малый.
Тут вообще непонятки с коррекцией. Вот посмотрел на модель Agilent - ведет себя безупречно. Никаких выбросов, нет даже намека на неустойчивость. Но он сильно тормозной. Частота среза 80 Гц, время нарастания при скачке выходного 0 - 10 В около 5 мс (даже с очень маленькой выходной емкостью). Может так и надо делать? Но у себя при попытках тормознуть схему резко ухудшается реакция на скачок нагрузки. У Agilent эта реакция просто замечательная. Не пойму, как такое может быть.
Проверка не проходила. Но у меня был кабель метра полтора а потом st3232. У Вас будет USB-USART - все может быть иначе. В любом случае stlink удобнее.
Леонид Иванович писал(а):
У Agilent эта реакция просто замечательная. Не пойму, как такое может быть.
Подробно не смотрел схему. Возможно это следствие применения генератора тока для смещения выходного транзистора на выключение. Попробуйте добавить в свою схему такой же. Если у Вас есть рисунок этого источника попроще, выложите пожалуйста. Еще непонятно, что значит плохая реакция на скачек нагрузки - колебания, низкая скорость, попадание ОУ в насыщение.
Возможно это следствие применения генератора тока для смещения выходного транзистора на выключение.
Нет. Дело исключительно в частотной коррекции.
Galizin писал(а):
Еще непонятно, что значит плохая реакция на скачек нагрузки
Когда ток нагрузки скачком увеличивается, на выходе источника возникает провал напряжения. Когда ток уменьшается - возникает выброс. У Agilent это порядка 50 мВ для скачка 0.1 - 1 Imax, а если я у себя делаю такую же полосу пропускания, получаю выбросы в 10 раз больше. Разница по той причине, что АЧХ полностью не характеризует тракт. Еще важна скорость нарастания, причем для каждого каскада в отдельности, еще и с учетом размаха напряжения на его выходе. Пока заблудился в трех соснах.
Galizin писал(а):
Если у Вас есть рисунок этого источника попроще, выложите пожалуйста.
Выкладываю схему модели.
Upd: аналогичная коррекция обнаружена и в китайском клоне Agilent U8002A. Вот только в мою схему она вписывается с трудом. Придется, видимо, делать усилитель ошибки инвертирующим. Но в этом случае нужно опорное отрицательным делать, а это дополнительный ОУ, плюс два резистора, которые будут влиять на точность.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 46
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения