Страница 1 из 1
Ethernet W5x00 и STM32
Добавлено: 17 фев 2024, 10:55
alexcccp
Товарищи!!! Добрый день!
Кто знает, поделитесь информацией
при подключении modbus TCP в FLProg можно использовать только W5100 !
1. вопрос, W5500 в 2024 году полностью совместим с W5100 в FLProg. Или нужны дополнительные манипуляции.
2. вопрос, больше касается stm32. Можно ли переопределить SPI с аналоговых портов на цифровые. Будет ли это корректно работать.
то есть заменить.
PA4 на PA15 - SPI / SS
PA5 на PB3 - SPI / SCK
PA6 на PB4 - SPI / MISO
PA7 на PB5 - SPI / MOSI
Можно ли будет также переопределить SS на любой другой Пин или нужно использовать именно изначально определённый Пин SPI
как переопределить догадываюсь, нужно переписать пины в => свойствах контроллера ?
3. вопрос, касается самого Шилда.
вероятно в FLProg предполагается использование полноразмерный Шилд W5100
[spoiler]

[/spoiler]
там задействованы порты под SD карту,
после подключения W5100 у контролера исчезают порты Dio4 (PB5) и Dio10 (PA10) как избавится от этой чертовщины
в коде нет упоминаний D4, D10
править библиотеку? какую, где.
[spoiler]
Код: Выделить всё
\\ код при подключении w5100. FLProg
#include "flprogUtilites.h"
#include "universalModbus.h"
FLProgW5100TcpDevice FLProgW5100Device;
ModbusMainData SlaveData_1;
ModbusSlaveRTUoverTCP Slave_1_0;
byte ethernet_mac [] = {0x78, 0xAC, 0xC0, 0x29, 0x17, 0xB0};
bool _isCorrectLocalIp = 0;
void setup()
{
if (! Ethernet.begin(ethernet_mac)== 0)
{
_isCorrectLocalIp = 1;
}
delay(1000);
SlaveData_1.setLongOrder(1);
SlaveData_1.setFloatOrder(1);
SlaveData_1.setUnsignedlongOrder(1);
SlaveData_1.setIntOrder(1);
Slave_1_0.setData(&SlaveData_1);
Slave_1_0.setTcpDevice(&FLProgW5100Device);
Slave_1_0.setTcpPort(502);
Slave_1_0.begin(1);
}
void loop()
{
Slave_1_0.pool();
//Плата:1
}
[/spoiler]
Ethernet W5x00 и STM32
Добавлено: 17 фев 2024, 11:58
ecoins
alexcccp писал(а): 17 фев 2024, 10:55
при подключении modbus TCP в FLProg можно использовать только W5100 !
В новой версии FLProg поддерживается W5500. Библиотека на GitHub, можете потестировать тестовый пример и при необходимости сделать блок.
Или подождать выход версии 8.3.0.
alexcccp писал(а): 17 фев 2024, 10:55
1. вопрос, W5500 в 2024 году полностью совместим с W5100 в FLProg. Или нужны дополнительные манипуляции.
Совместим, но W5500 на аппаратном уровне, в нем устранены недостатки W5100.
alexcccp писал(а): 17 фев 2024, 10:55
2. вопрос, больше касается stm32. Можно ли переопределить SPI с аналоговых портов на цифровые. Будет ли это корректно работать.
то есть заменить.
PA4 на PA15 - SPI / SS
PA5 на PB3 - SPI / SCK
PA6 на PB4 - SPI / MISO
PA7 на PB5 - SPI / MOSI
Можно, если такие пины поддерживаются соответствующе моделью STM.
Новые библиотеки предусматривают смену пинов и номера шины.
alexcccp писал(а): 17 фев 2024, 10:55
вероятно в FLProg предполагается использование полноразмерный Шилд W5100
Совсем нет. И другие модели. Использование пинов RST и INT не обязательно.
alexcccp писал(а): 17 фев 2024, 10:55
там задействованы порты под SD карту,
после подключения W5100 у контролера исчезают порты Dio4 (PB5) и Dio10 (PA10) как избавится от этой чертовщины
в коде нет упоминаний D4, D10
править библиотеку? какую, где.
Не вполне ясно, но думаю в новой библиотеке этих накладок уже нет.
----
С уважением, ecoins.
Ethernet W5x00 и STM32
Добавлено: 17 фев 2024, 13:22
autoelectronica
А когда ожидается версия 8.3.0 ?
Ethernet W5x00 и STM32
Добавлено: 17 фев 2024, 13:26
ecoins
Возможно в конце марта.
Ethernet W5x00 и STM32
Добавлено: 17 фев 2024, 13:59
alexcccp
[ref]ecoins[/ref], спасибо,
8.3.0 подождем, интересно..
ecoins писал(а): 17 фев 2024, 11:58
Можно, если такие пины поддерживаются соответствующе моделью STM.
Новые библиотеки предусматривают смену пинов и номера шины.
забыл уточнить, я говорил про BluePill STM32F103C8T6.
у нее на бору 3 SPI. Уверен что Вы это и так знаете

Ethernet W5x00 и STM32
Добавлено: 17 фев 2024, 14:56
ecoins
alexcccp писал(а): 17 фев 2024, 13:59
забыл уточнить, я говорил про BluePill STM32F103C8T6.
у нее на бору 3 SPI. Уверен что Вы это и так знаете
Уточню - скорее только 2:
SPI в Arduino->SPI1(PA7-PA4[по умолчанию] или PB5,PB4,PB3,PA15, одновременно не получится);
SPI1 d Arduino->SPI2(PB15,PB14,PB13,PB12).
И библиотеки ecoins и в будущей версии FLProg 8.3.0 поддерживаются обе шины с возможностью переключение пинов SPI1.
Потестировав эти возможности я задал себе вопрос - затем это надо - вторая шина SPI и вторая шина i2c. У меня есть ответ - почти никогда не надо.
В приведенном контроллере удобнее использовать SPI1 с пинами по умолчанию. Аналоговых входов остается приличное кол-во.
Но и ADC в этом контроллере не идеальный - очень удобно для расширения применять что-то вроде ADS1115.
----
С уважением, ecoins.
Ethernet W5x00 и STM32
Добавлено: 17 фев 2024, 15:14
vovka1973
ecoins писал(а): 17 фев 2024, 13:26
Возможно в конце марта.
надо ждать когда сам автор скажет , а так уже три даты и все мимо !
Ethernet W5x00 и STM32
Добавлено: 17 фев 2024, 16:28
ecoins
vovka1973 писал(а): 17 фев 2024, 15:14
надо ждать когда сам автор скажет , а так уже три даты и все мимо !
Автор об этом написал в телеграмме - версия 3.0 тестируется и требует еще много работы, в ней заложены фундаментальные изменения.
Ethernet W5x00 и STM32
Добавлено: 17 фев 2024, 16:37
autoelectronica
Да, прям очень ждем
Ethernet W5x00 и STM32
Добавлено: 17 фев 2024, 17:05
vovka1973
ecoins писал(а): 17 фев 2024, 16:28
версия 3.0 тестируется и требует еще много работы
раньше мы и тестировали или что то изменилось?
Ethernet W5x00 и STM32
Добавлено: 17 фев 2024, 17:12
ecoins
vovka1973 писал(а): 17 фев 2024, 17:05
раньше мы и тестировали или что то изменилось?
Вопрос не понял.
Ethernet W5x00 и STM32
Добавлено: 17 фев 2024, 17:14
vovka1973
ecoins писал(а): 17 фев 2024, 17:12
Вопрос не понял.
разработчик делает версию выкладывает мы все тестируем баги сообщаем ,а сейчас как будет сразу стабильная версия?все спасибо за ссылку в телеграмм там все подробно автор рассказал
Ethernet W5x00 и STM32
Добавлено: 17 фев 2024, 18:37
alexcccp
ecoins писал(а): 17 фев 2024, 14:56
Уточню - скорее только 2:
SPI в Arduino->SPI1(PA7-PA4[по умолчанию] или PB5,PB4,PB3,PA15, одновременно не получится);
все верно, попутал.
ecoins писал(а): 17 фев 2024, 14:56
В приведенном контроллере удобнее использовать SPI1 с пинами по умолчанию. Аналоговых входов остается приличное кол-во.
Но и ADC в этом контроллере не идеальный - очень удобно для расширения применять что-то вроде ADS1115.
ADS1115 не хочу I2c в проекте, хотя ADS1115 меня бы очень выручил, у меня переменная составляющая, приходится вытаскивать сигнал в верх. нужно 9 аналоговых, точность не так важна.
если быть честным не хочу именно ADS1115, так как придется ставить 5 шт. )
можно поподробнее про "В приведенном контроллере удобнее использовать SPI1 с пинами по умолчанию."
есть какие-то подводные c переназначением и работой ?
\\
откровенно говоря с W5x00 мало опыта.
прочитал про зависания.
пришел к выводу что нужно установить дополнительную закрывающую защелку на MISO W5x00 управляемую по SS_ethernet
Ethernet W5x00 и STM32
Добавлено: 17 фев 2024, 19:05
ecoins
alexcccp писал(а): 17 фев 2024, 18:37
ADS1115 не хочу I2c в проекте, хотя ADS1115 меня бы очень выручил, у меня переменная составляющая, приходится вытаскивать сигнал в верх. нужно 9 аналоговых, точность не так важна.
если быть честным не хочу именно ADS1115, так как придется ставить 5 шт. )
ADS1115 имеет 4-е входа. Она имеет встроенный источник опорного напряжения.
Ее просто гальванически развязать по шине i2c.
Часть датчиков не критичных можно напрямую к контроллеру - но в нем нет встроенного источника опорного напряжения и точность будет определяться Vcc=3.3В.
alexcccp писал(а): 17 фев 2024, 18:37
можно поподробнее про "В приведенном контроллере удобнее использовать SPI1 с пинами по умолчанию."
есть какие-то подводные c переназначением и работой ?
Нет подводных камней... Новая библиотека FLProg_Ethernet() отлично с этим справляется.
alexcccp писал(а): 17 фев 2024, 18:37
откровенно говоря с W5x00 мало опыта.
прочитал про зависания.
пришел к выводу что нужно установить дополнительную закрывающую защелку на MISO W5x00 управляемую по SS_ethernet
С новой библиотекой FLProg_Ethernet() ничего не надо - отлично работает.
Ethernet W5x00 и STM32
Добавлено: 17 фев 2024, 19:18
alexcccp
[ref]ecoins[/ref], большое спасибо за информацию по библиотекам.
жду 8.3.0 так как понятия не имею как подключить библиотеку к существующему modbus TCP.
ecoins писал(а): 17 фев 2024, 19:05
ADS1115 имеет 4-е входа.
так как у меня переменная составляющая, зная себя я буду использовать на канал 2 входа из 4.
мне совесть не позволит использовать ее иначе.
ecoins писал(а): 17 фев 2024, 19:05
Часть датчиков не критичных можно напрямую к контроллеру - но в нем нет встроенного источника опорного напряжения и точность будет определяться Vcc=3.3В.
в моем случае это даже хуже, так как я задираю сигнал вверх, а это - делитель, емкость и 3,3V
правда на VDDA зная что этот пин у STM32 до 100 контактных чипов чисто номинальный, отдаю с ИОН.
ecoins писал(а): 17 фев 2024, 19:05
Ее просто гальванически развязать по шине i2c.
изоляция у сигнала уже есть.