Перейти к содержанию
    

Xenia

Модератор FTP
  • Постов

    4 848
  • Зарегистрирован

  • Победитель дней

    3

Сообщения, опубликованные Xenia


  1. У меня совсем короткий вопрос про ... SMBAL. У STM32 бывает по штуке на каждом I2C: I2C1_SMBAL, I2C2_SMBAL и т.д.

    По описанию это линия активации прерывания от каких-то SLAVE-устройств. Однако у CubeMX номер прерывания для нее не задает.

    Тем не менее, I2C "подминает" этот пин под себя, например не дает таймеру TIM3_CH2 с этим пином работать.

    Мой вопрос: можно ли использовать SMBAL-пин в качестве выхода, как обычный GPIO? Не повредит ли это работе I2C, если оно в это время работает?

  2. 16 минут назад, jcxz сказал:

    А какая цель была при переходе на "IAR EW430 v8.10.2"? Т.е. - зачем?

    Он компилирует лучше? или...?

    Сейчас поветрие такое - всем переходить на 64-разряда. Даже Intel грозится, что в своих будущих процессорах отрубит 32-разрядность, как когда-то в прошлом отрубили 16-разрядность.

    EWARM, EVAVR уже перешли на 64 разряда, a EWRICV изначально такой была. А ныне и до EW403 очередь дошла.

    Скорости 64-разрядность едва ли добавит, но ее главный козырь - возможность использовать всю память компьютера, тогда как нынче у всех компьютеров памяти больше, чем 4 ГБ. Причем совершенно не обязательно в случае, когда сама программа (в данном случае компилятор IAR'а) требует много памяти, а уже лишь по той причине, что куцая память может быть к этому моменту под завязку занята другими приложениями. Например, мой Firefox-браузер (64-разрядный), кажется, всю память раньше занимал, пока я не поставила в свой компьютер 64 ГБ (4х16).

  3. 11 часов назад, jcxz сказал:

    Так вроде написано же что новый IAR - 64-битный. А лекарство почему-то пытаетесь использовать для 32-битной версии.

    jcxz прав, EW430-8102 действительно позиционируется как 64-разрядная версия. Однако меня сильно заинтриговал тот факт, что компилятор у топикстартера компилирует нормально, а стало быть, патчер  "iarpatcher32 v1.16" его ухитрился вылечить. А поскольку этот патчер я сама писала :), то равнодушно пройти мимо этого факта никак не могла.

    И вот что выяснила. Компилятор IAR EW430 v8.10.2 оказался из ряда вон выходящим - он позиционируется как 64-разрядный (и в соответствии с этим инсталлируется в "Program Files"), однако компиляторы с языков C/C++ (icc430.exe) и ассемблера (a430.exe) у него 32-разрядные. Такое я встречаю впервые. Однако это первая 64-разрядная версия для MSP430, а потому весьма вероятно, что что-то не успели к сроку доделать и закрутили в инсталлятор их 32-разрядные варианты. Именно поэтому компиляция у топикстартера идет (32-разрядный компилятор вылечился), но при отладке dll-модули (для каждого из отладчиков) требуют лицензию, поcкольку все эти dll - 64-разрядные.

    В этой ситуации я могу посоветовать вернуться на предыдущую версию из 7-ой серии (EW430-7211-Autorun.exe), которая еще на 64-разрядность не переходила, а потому нормально лечится. Однако можно и рискнуть - проинсталлировать EW430-7211-Autorun.exe, вылечить ее, а потом подпихнуть из нее отладочные dll-файлы в последнюю версию EW430-8102.exe (предварительно сохранив где-нибудь их оригиналы). Я же помочь в этом никак не могу, т.к. с MSP430 никогда не работала и отладчика для них у меня нет.

    • Upvote 1
  4. 4 часа назад, ksv198 сказал:

    В Кубе довольно просто сделать новый проект под Вашу плату. 

    Выбираете свой контроллер (STM32F407xxx), на вкладке System Core выбираете тактирование (внешний кварц); на вкладке Connectivity выбираете ETH (уточните только, как соединён физический уровень - MII или RMII - это можно прямо по плате посмотреть, если схемы нет); на вкладке Middleware and software packs выбираете LWIP  и в его Configuration выбираете Ваш физический уровень - DP83848 (вкладочка Platform Settings); на вкладочке General Settings можно отключить DHCP и ввести статический IP адрес.

    Спасибо большое! А я даже надеяться не могла, что на CubuMX это возможно, т.к. у меня выход на Ethernet через транссивер DP83848, который на ST не делают (и в свои демо-плат не вставляют). Да и само сокращение "ETH" я не разгадала, хотя вроде бы его прежде видела.

  5. 26 минут назад, jcxz сказал:

    Вижу, что Вы так и не поставили TDST. :unknw:

    ...

    TDST создаёт виртуальный COM-порт.

    Хорошо, если есть такая возможность, однако пока моя плата не заработала, ставить TDST мне не на что - у мертвой платы нет IP-адреса.

    Именно поэтому я сейчас занята поиском для нее прошивки, т.к. считаю это первостепенной задачей, через которую мне не перешагнуть.

     

  6. 15 минут назад, jcxz сказал:

    Тогда TDST + любая отладочная плата с TCP-стеком.

    Ну, а импортной компьютерной программе что я скажу? У нее в настройках выбор номера СОМ-порта, через которой она осуществляет связь со своим железом (теперь уже с моим). Она как-то определяет, какие СОМ-порты существуют (хотя виртуальные от реальных не отличает) и предлагает в комбобоксе выбрать какой-то из них. Соответственно этому, TCP-стеки она не видит и работать с ними не будет (не умеет).

  7. 36 минут назад, jcxz сказал:

    Изначально вы писали про чтение ADS1256

    АЦП, ЦАПы и цифровые порты являются внутренней начинкой импортного железа, но ADS1256 - это моя отсебятина, т.к. более точного АЦП среди продажных модулей я не нашла. Т.е. не в моих силах было изготовить железо один к одному с импортным, а потому мое железо устроено иначе, но выдает данные на компьютер и принимает от него команды в фирменном формате/протоколе, а потому импортная компьютерная программа подмены не видит. Даже когда она при старте запрашивает серийный номер у железа, мое железо отвечает так же, как отвечало импортное.

    36 минут назад, jcxz сказал:

    Где именно в ADS1256 находится COM-порт? :wacko2:  У него вроде SPI. По SPI его можно подключить к любой из отладочных плат (выше) и передавать получаемые с него данные далее в TCP-сокет. Зачем тут COM-порт??? - опять неясно... 

    На связи с импортной компьютерной программной находится только контроллер (я использую что-то из STM32), он и поддерживает с ней разговор, сообщая ей в требуемом формате показания всех измерительных датчиков и исполняя подвластными ему средствами приходящие от компьютерной программы команды (например, переключение клапанов и установку скорости вращения шаговых двигателей, вращающих насосы).

    Как легко можно догадаться, клапана и насосы уже давно не те,  что были в фирменном оборудовании. Это же касается и датчиков (манометров и расходомера). Соответственно этому, АЦП и ЦАП у меня тоже другие - те что можно было достать недорого.

    36 минут назад, jcxz сказал:

    Вобщем - ума не приложу зачем нужен "виртуальный COM-порт" в вашей задаче.

    Моей задаче виртуальный порт нужен только затем, чтобы "найти поход" к импортной программе, которая изначально стыковалась со своим железом через реальный СОМ-порт. А железо я могу городить, какое хочу - лишь бы с импортной компьютерной программной оно могло говорить на ее языке и по ее протоколу связи.

  8. 32 минуты назад, jcxz сказал:
    3 часа назад, Xenia сказал:

    А такая развязка нужна мне для того, чтобы с помощью АЦП (у меня ADS1256) можно было отрицательные напряжения мерить.

    Это понятно. Непонятно - зачем для этого городить виртуальный COM-порт???

    Потому что я работаю с программным обеспечением, написанном разными иностранными компаниями под связь с железом через СОМ-порт. Протокол связи я уже разгадала и уже сотворила замену их фирменного железа на самодельное из китайских модулей. Ибо скопировать чужую программу ничего не стоит, а покупать железо у фирмы стоит огромных (по моим меркам) денег, тем более что железо отдельно от программы они не продают, а ныне с Россией вообще не торгуют. Сперва работала через реальный СОМ-порт, купив у китайцев "промышленную" плату с интерфейсом RS-232, но потом перешла на виртуальный СОМ-порт, подключив USB-кабель напрямую к контроллеру, занимающимся периодическим съемом результатов с АЦП (по прерыванию), а в остальное время манипулирующего 32-мя цифровыми линиями (какие-то из них управляющие и ориентированы на вывод, а какие-то информационные, ориентированные на чтение). Избавившись от реального СОМ-порта, я избавилась и от досадного ограничения в 115200 бод, а теперь хочу еще большего. А компьютеры нынче быстрые пошли - программа с возросшим входным потоком справляется.

     

    32 минуты назад, jcxz сказал:

    Сильно! Искали подороже?  :wink:

    Если зайти на: http://starterkit.ru/html/index.php?name=shop&cat=95 

    то можно найти гораздо дешевле. Например:

    http://starterkit.ru/html/index.php?name=shop&op=view&id=93

    Я искала только на Aliexpress, т.к. и раньше там всё покупала, а по российским магазинам я не спец.
    Просьба к вам - не забалтывать заданный мной вопрос о ПО для этой платы, переводя разговор о том, где дешевле покупать. Всё равно, чтобы вы мне ни посоветовали, купленную плату я уже не выброшу.

     

    32 минуты назад, jcxz сказал:
    32 минуты назад, jcxz сказал:

    TCP-сокет точно также открывается как поток. В который затем можно писать и читать из него массивы байт.

    точно также открывается как поток. В который затем можно писать и читать из него массивы байт.

    Я это знаю, но чужую/фирменную программу мне с СОМ-порта на TCP-сокет не переделать.

  9. 1 час назад, tonyk_av сказал:

    У китайцев на Али есть конвертеры на RISC-V, если не ошибаюсь, на CH32F307.

    И что во что они конвертируют?

    Поймите, что мне никакая конвертация не нужна, т.к. для компьютера Ethernet-разъем родной, вы, даже если заходите, выковырить его из материнской платы не сможете. А с другой стороны у меня плата с Ethernet-разъемом, который через приемо-передатчик DP83848 непосредственно связан с контроллером. Соединяются же они между собой патч-кордом, и здесь нигде нет никаких посредников типа RS-232 или RS-485 с их бодами, четностью, битностью и прочими специфическими атрибутами.

    А слово "виртуальный СОМ-порт" я произнесла вовсе не оттого, что через Serial-port связь хочу наладить, а исключительно потому, что так называется удобная удаленная связь через файловые операции, когда отправляемые сообщения пишутся в виртуальный СОМ-порт, открываемый как файл, и так же из того же файла читаются входящие сообщения. Это вариант привлекателен еще и тем, что такая передача буферизируется на уровне операционной системы - например, заказав буфер в 64КB, вы будете избавлены от ловли каждого входящего байта и получите возможность читать входящие сообщения блоками, которые накопились со времени предыдущего чтения.

    Кроме того виртуальный СОМ-порт удобен еще и тем, что программы, работающие с внешними устройствами через реальный СОМ-порт, легко "обмануть", подсунув им вместо номера реального СОМ-порта номер виртуального. Они даже не заметят этого. Но если я возьму драйвер от какого-то умельца с Гитхаба, то в придачу к нему получу библиотеку на десятки мегабайт, предоставляющую функции, посредством  которых буду вынуждена связываться с отдаленным девайсом. Положим, что в своей программе я бы могла переделать файловый доступ на библиотечный, однако чужие программы мне на этот вариант не переделать (из-за отсутствия их исходников). С подобной ситуацией я уже встречалась в ... мобильных телефонах старых типов, которые при подключении к компьютеру по USB не показывают содержимое своей памяти в виде дерева директориев, а требуют специальную программу от производителя, которая содержимое памяти скрывает, а позволят только скачивать фотки.

  10. 24 минуты назад, tonyk_av сказал:

    Ну и ценник!

    Я ее покупала за 6414.90 руб (с доставкой вышло 6845.52 руб). Заказывала 27 августа, получила на почте только вчера.

    Тоже не дешево, но с чего-то мне надо начинать. А если изготовление такой платы у умельцев заказывать, то обошлось бы гораздо дороже.

  11. Только что, tonyk_av сказал:

    А какой драйвер со стороны ПК предполагается использовать?

    До выбора драйвера у меня еще руки не дошли - мне бы Ethernet довести хотя бы до того, чтобы он в сети был виден по TCP/IP. А пока плата мертва, заниматься выбором драйвера преждевременно. Но если у вас что-то есть на примете, то я бы с интересом вас послушала.

  12. У меня вопрос по связке STM32+Ethernet. Опыт какой-никакой у меня имеется, но программировать Ethernet никогда прежде не приходилось. А тут возникла у меня идея-фикс, чтобы на базе Ethernet сделать виртуальный СОМ-порт. Ведь если его на USB делают, то вероятно и на Ethernet тоже можно сделать. Причем, не столько ради скорости передачи данных, сколько из-за того, что трансформатор у Ethernet'a может служить гальванической развязкой. А такая развязка нужна мне для того, чтобы с помощью АЦП (у меня ADS1256) можно было отрицательные напряжения мерить. Для этого я гальванически развязываюсь, а вместо земли вывожу из платы напряжение с опорника (Vref) - оно как раз посреди шкалы у этого АЦП находится.

    Терзаемая такими желаниями 🙂, купила я себе на Aliexpress вот такую плату (STM32-ETH-47V/UET) :

    https://aliexpress.ru/item/1005002921352110.html

    Это связка контроллера STM32F407VG6 с EthernetPHY DP83848.

    Продавец обещает: "Предоставляется интерфейс Ethernet и программа тестирования.", но никакой "программы тестирования" я не получила, а продавец на связь не выходит. Сама же плата при подключении питания признаков жизни не подает (за исключением горящего светодиода питания) - впечатление, что контроллер еще не прошит.

    Где бы мне раздобыть демку для этой платы, желательно написанную на CubeMX (т.к. в программе, написанной на регистрах, логику работы с Ethernet мне не разобрать)?
    В интернете уже рылась - самое близкое это:

    Цитата

    Приобрел пару лет назад платку STM32-V/UET c F207VGT6 и эзернетом на DP83848.
    Валялась, вспомнил, решил поиграться.
    Из доки - исходники проектов с примерами к STM3220F-EVAL 😃 и схемка.
    Сгенерил проект с помощью cubemx (RMII Ethernet, lwIP), 50МГц MCO1.
    Прошил, эзернет поднимается, даже вижу DHCP Discover...

    http://forum.easyelectronics.ru/viewtopic.php?f=35&t=34172

    Но этому товарище хотя бы повезло в том, что ему "дока" досталась, тогда как мне - ничего.

  13. Только что проверила: команда "Start Application", выдаваемая после окончания прошивки и верификации выдает ошибку:

    image.png.a94ee7393cf55106011249a79965c2f7.png

    Тем не менее, программу запускает 🙂 - после этого светодиод начинает мигать.

    Повторные выдачи команды "Start Application" сообщений об ошибках не вызывают.

  14. 15 минут назад, MrYuran сказал:

    Xenia, а галочки "Reset/Run after download" у вас нет?

    Нету. Собственно и мой вопрос сводится к тому, как ее поставить.
    Вашей программы "Cortex Jlink/Jtrace Driver Setup" у меня нет. Пользуюсь версией "JLink V488b" с кряком (использовать более поздние боюсь, чтобы они мой китайский JLink не распознали и не превратили его в кирпич). А проект для него мне кто-то давно помог написать, и я с тех пор им пользуюсь для всех типов контролеров STM32.

  15. 9 минут назад, jcxz сказал:

    А как (чем) Вы шьёте? J-Flash, отладчик, etc.?

    JFlash.exe. Оно очевидно, т.к. я как раз просила проект *.jflash для него поправить.

    Как отладчик, я его не использую - исключительно ради прошивки. Поэтому IAR здесь никаким боком участия не принимает, а потому и ковыряться в нем не имеет смысла.

  16. 9 минут назад, jcxz сказал:

    Не очень понятно - что за "ступор"? Почему туда входит?

    Ступором назвала состояние, когда питание подается, но прошивка признаков жизни не подает (светодиодом не мигает).

    Примечание: при прошивке платы через J-Link или ST-Link я ее питание не отключаю. При этом после прошивки через ST-Link мой светодиод начинает мигать без каких-либо телодвижений с моей стороны, а после прошивки через J-Link - только после нажатия на кнопку Reset.

  17. У меня простой вопрос про J-Link, а потому присоединяю к этой теме, чтобы отдельную не создавать.
    J-Link у меня китайский (H-Link - клон сеггеровского), но мой вопрос не из-за его китаёзности, а из-за моей неопытности работы с J-Link'ами. Потому и пишу в раздел "В помощь начинающему".

    А проблема моя такова - у STMовского ST-Link'а есть полезная опция - чтобы после окончания прошивки она сама запускалась на счет. Тогда как после прошивки через J-Link контроллер входит в ступор, из которого его можно вывести либо временным отключением питания или кнопкой Reset. Тогда как мне это неудобно из-за того, что кнопка Reset у меня глубоко запрятана и дотянуться до нее можно с трудом (наживать длинным карандашом ее приходится).

    Так можно ли что-то изменить в проекте *.jflash, чтобы он делал то же самое?

  18. Нет, с двухъядерного начинать не надо. Я вот вроде как уже не начинающая, но двухъядерных до сих пор страшусь :).

    А вот H7-го (например, H743 или H750) страшиться не надо - хороший контроллер "на вырост", хотя и с особенностями. Но начинающий в дебри не полезет, а потому слишком большого отличия от STM32F4 поначалу не заметит.
    И потому я бы советовала начитать с STM32F4, т.к. его сходство со старшими моделями гораздо сильнее, чем с STM32F1.

    А чтобы старт не был слишком дорогим, посоветую эту дешевую (190 руб с бесплатной доставкой) плату на STM32F401. Это здесь:

    https://aliexpress.ru/item/1005005807100324.html
    Она сильно похожа на "голубую таблетку", только называется черной таблеткой :).

    image.png.813095ee95f8e5f7b2a00d0d38080537.png

    Хороша еще и тем, что не требует программатора - прошивается через USB (у всех STM32F4 и выше стоит встроенный загрузчик через USB) - не надо программатор в придачу покупать.
    А после STM32F401 все старшие модели (кроме двухъядерных) покажутся подобными, т.к. в основном совместимы сверху вниз.

     

  19. 2 часа назад, makc сказал:

    При выполнении подобных работ крайне рекомендуется использовать хоть какой-нибудь нижний подогрев (хоть утюг), чтобы не заниматься прогревом всей платы с помощью фена через отпаиваемый чип.

    А я и не  собиралась заниматься прогревом всей платы, именно поэтому не хочу класть ее на утюг. Но если греть чип через узкую насадку, то плата от того сильно не нагреется, а потому мое беспокойство вызывает только чип.
    Логику (типа SN74ALVC164245, 48 ног) я прежде уже выпаивала, нагревая весь чип целиком, пока он не отстанет от платы, и она оставалась после этого работоспособной. Но греть так контроллер откровенно боюсь.

  20. 16 минут назад, mantech сказал:

    Вот не читал эти талмуды, просто беру, смачиваю спиртоканифолью ноги, и потихоньку грею феном по периметру чипа, вот как отпаяется, такая темп и верная, еще ни одного чипа не спалил.

    Если бы речь шла о фене для волос :), то вашего ответа было бы достаточно. Тогда как фен паяльной станции у меня нельзя включить просто так, а требуется обязательно установить для него температуру. Отсюда и был мой вопрос.

    Кроме того, если чип мал, то практически невозможно нагревать феном его периметр, оставляя центральную часть чипа относительно холодной. Причина тому та, что фен, в отличие от паяльника, греет не в одной точке, а довольно широким воздушным потоком. Например, у меня самая мелкая насадка на фен имеет диаметр около 5 мм, а размер моего STM32F103C8T6 - 7 мм.

×
×
  • Создать...