Например TDA7294

Форум РадиоКот • Просмотр темы - STM32 новичку в ARM что к чему
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Ср июн 25, 2025 02:19:54

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 8821 ]     ... , , , 441,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Вс июн 22, 2025 09:39:56 
Сверлит текстолит когтями

Зарегистрирован: Вт ноя 19, 2019 06:10:18
Сообщений: 1219
Рейтинг сообщения: 3
с ds18b20, чтобы по максимуму в железе и без софтовых ожиданий/прерываний/ногодрыгов?

Возьмите и не мучайтесь:
https://aliexpress.ru/item/100500748286 ... 97b2n9PHf1
И параметры импульсов правильные, и фронты правильные, и работает всё через DMA, и даже гальваническая развязка очень просто реализуется.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Вс июн 22, 2025 12:36:03 
Друг Кота

Карма: 20
Рейтинг сообщений: 223
Зарегистрирован: Пт сен 13, 2013 13:11:31
Сообщений: 6442
Рейтинг сообщения: -3
Вариант: использование UART (Single Wire, Half-Duplex) на 9600 и 115200 bps.
Идея: STM32 1-Wire (One Wire) Protocol + DS18B20 Code Example

Это довольно подозрительная статья. В коде после старта преобразования сразу же считывается результат, хотя известно, что 12-битное преобразование занимает до 750 миллисекунд. Да и побитовое считывание с активным использованием ядра такая себе автоматика. Ногодрыг, только в профиль. Это уж не говоря, что HAL_UART_Transmit -- блокирующая функция, где процессор тупо молотит циклы, ожидая флага от юсарта. Я немного другим интересуюсь: мне нужно получать данные с ds18b20 минимально отвлекая ядро.

tonyk писал(а):
https://aliexpress.ru/item/1005007482869799.html?sku_id=12000044505946600&spm=a2g2w.productlist.search_results.0.224597b2n9PHf1
И параметры импульсов правильные, и фронты правильные, и работает всё через DMA, и даже гальваническая развязка очень просто реализуется.

Ой, нет. Мою задачу это не упрощает, а усложняет.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Вс июн 22, 2025 12:55:20 
Говорящий с текстолитом

Карма: 25
Рейтинг сообщений: 450
Зарегистрирован: Сб май 05, 2012 20:24:52
Сообщений: 1622
Откуда: KN34PC, Болгария
Рейтинг сообщения: 0
Подозрительно или нет для вас, работает. И это не мешает менять то, что вам не нравится.
5 минут на включение, компиляцию и тестирование. Результат комнатной температуры - в Live Expresion.

Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Вс июн 22, 2025 13:47:33 
Друг Кота

Карма: 20
Рейтинг сообщений: 223
Зарегистрирован: Пт сен 13, 2013 13:11:31
Сообщений: 6442
Рейтинг сообщения: -3
Подозрительно или нет для вас, работает.

Это работает неправильно. Неправильно работающий алгоритм меня не интересует.

Цитата:
И это не мешает менять то, что вам не нравится.

Так все целиком надо менять. Решение не соответствует поставленной задаче.


Вернуться наверх
 
В продаже новые LED-драйверы XLC компании MEAN WELL с диммингом нового поколения

Компания MEAN WELL пополнила ассортимент своей широкой линейки светодиодных драйверов новым семейством XLC для внутреннего освещения. Главное отличие – поддержка широкого спектра проводных и беспроводных технологий диммирования. Новинки представлены в MEANWELL.market моделями с мощностями 25 Вт, 40 Вт и 60 Вт. В линейке есть модели, работающие как в режиме стабилизации тока (СС), так и в режиме стабилизации напряжения (CV) значением 12, 24 и 48 В.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Вс июн 22, 2025 13:56:28 
Говорящий с текстолитом

Карма: 25
Рейтинг сообщений: 450
Зарегистрирован: Сб май 05, 2012 20:24:52
Сообщений: 1622
Откуда: KN34PC, Болгария
Рейтинг сообщения: 0
Не зная подробностей вашего запроса, просто предложил способ.
Если вы так хорошо знакомы с методом, то предложите свой.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Вс июн 22, 2025 15:33:38 
Друг Кота

Карма: 20
Рейтинг сообщений: 223
Зарегистрирован: Пт сен 13, 2013 13:11:31
Сообщений: 6442
Рейтинг сообщения: 0
Не зная подробностей вашего запроса, просто предложил способ.

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

Цитата:
Если вы так хорошо знакомы с методом, то предложите свой.

я в полной мере представляю, что должно быть сделано, но пока еще не задумывался, как это может быть сделано. есть понимание, что возбуждение шины 1-wire микроконтроллером полностью детерминировано. моменты, когда мк должен переключать ногу вниз, а когда отпускать, известны для всего цикла измерения. раз так, то нужен, по сути, незамысловатый секвенсор, который бы проигрывал всю последовательность целиком.


Вернуться наверх
 
Распродажа паяльного оборудования ATTEN!
Паяльные станции, паяльники и аксессуары по самой выгодной цене.

По промокоду radiokot скидка 10%
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Вс июн 22, 2025 16:59:21 
Сверлит текстолит когтями

Зарегистрирован: Вт ноя 19, 2019 06:10:18
Сообщений: 1219
Рейтинг сообщения: 0
a5021 писал(а):
Ой, нет. Мою задачу это не упрощает, а усложняет.

Да ну. В Далласе ведь работают люди, любящие усложнять жизнь других. Вы хоть мурзилку на эту микруху полистали? Примеры программ посмотрели?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Вс июн 22, 2025 19:07:59 
Друг Кота

Карма: 20
Рейтинг сообщений: 223
Зарегистрирован: Пт сен 13, 2013 13:11:31
Сообщений: 6442
Рейтинг сообщения: 0
вы правы. надо было покрупнее:

Изображение


Вложения:
enlarged.jpg [11.98 KiB]
Скачиваний: 223
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Вс июн 22, 2025 19:38:21 
Сверлит текстолит когтями

Зарегистрирован: Вт ноя 19, 2019 06:10:18
Сообщений: 1219
Рейтинг сообщения: 0
a5021 писал(а):
вы правы. надо было покрупнее:a5021,

Согласен. Вам следует читать внимательней.
tonyk писал(а):
Примеры программ посмотрели?


P. S. Для тех кто читает не внимательно. В даташите на DS2489B приведены примеры на С работы устройствами на шине I2C. Для тех кто в танке могу добавить, что работа через конвертер UART-I2C никак не связана с девайсом, который выполняет в данном случае функцию мастера шины, лишь бы у него были функции приёма-передачи блоков данных через UART.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Вс июн 22, 2025 20:14:48 
Говорящий с текстолитом

Карма: 25
Рейтинг сообщений: 450
Зарегистрирован: Сб май 05, 2012 20:24:52
Сообщений: 1622
Откуда: KN34PC, Болгария
Рейтинг сообщения: 0
tonyk, внутри напр. STM32G4xx есть 5 x USART, для чего нужна внешняя ИС, по цене почти как МК? USART аппаратный, с буфером, "на строке" - данные выводятся по мере наступления времени, плюс DMA все работает (почти) незаметно для центрального ядра. Конечно, для всего есть свои решения. DS2480 к 1-wire - ето еще одно решение.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Пн июн 23, 2025 07:27:39 
Сверлит текстолит когтями

Зарегистрирован: Вт ноя 19, 2019 06:10:18
Сообщений: 1219
Рейтинг сообщения: 0
veso74 писал(а):
tonyk, внутри напр. STM32G4xx есть 5 x USART, для чего нужна внешняя ИС, по цене почти как МК?

Вы даташит читали? Видимо, нет, коли задаёте такой вопрос.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Пн июн 23, 2025 07:42:35 
Говорящий с текстолитом

Карма: 25
Рейтинг сообщений: 450
Зарегистрирован: Сб май 05, 2012 20:24:52
Сообщений: 1622
Откуда: KN34PC, Болгария
Рейтинг сообщения: 0
Да. Даже заказал DS2480B и жду, после вашего сообщения. Интересная ИС.
Просто в МК (STM32) есть много ресурсов, которые можно использовать без включения внешних компонентов.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Пн июн 23, 2025 07:59:07 
Родился

Зарегистрирован: Ср июн 18, 2025 07:20:55
Сообщений: 6
Рейтинг сообщения: 0
никому не попадался код работы с ds18b20, чтобы по максимуму в железе и без софтовых ожиданий/прерываний/ногодрыгов?


в теории это выглядит так - аппаратный слот модулем сравненія таймера, чтение модулем захвата другого таймера. гдето даже пример попадался.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Пн июн 23, 2025 13:44:15 
Сверлит текстолит когтями

Зарегистрирован: Вт ноя 19, 2019 06:10:18
Сообщений: 1219
Рейтинг сообщения: 0
veso74 писал(а):
Просто в МК (STM32) есть много ресурсов, которые можно использовать без включения внешних компонентов.

В STM32 нет схем формирования импульсов для OW, поэтому что вы там собрались использовать- не понятно. Рассчитывать на заявленные для OW 150м с банальным резистором, ИМХО, наивно. Ну и реализации шины OW с гальванической развязкой на DS2480B решается тривиально в отличие от огорода на внешних дискретных компонентах, которые в итоге займут на плате места больше, чем одна DS2480B.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Пн июн 23, 2025 14:14:20 
Говорящий с текстолитом

Карма: 25
Рейтинг сообщений: 450
Зарегистрирован: Сб май 05, 2012 20:24:52
Сообщений: 1622
Откуда: KN34PC, Болгария
Рейтинг сообщения: 0
Ничего толком не предлагал: нашел решение на первой странице поисковика, попробовал на STM32 на бредборде на столе за 5 минут, получил результа: комнатная температура, работа понравилась, и поделил ссылкой на использование DS18B20 с ресурсами UART в STM32. Если не нужно: 1-wire -> UART в STM32, не используйте, и всё.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Пн июн 23, 2025 23:21:28 
Друг Кота

Карма: 20
Рейтинг сообщений: 223
Зарегистрирован: Пт сен 13, 2013 13:11:31
Сообщений: 6442
Рейтинг сообщения: 0
никому не попадался код работы с ds18b20, чтобы по максимуму в железе и без софтовых ожиданий/прерываний/ногодрыгов?


в теории это выглядит так - аппаратный слот модулем сравненія таймера, чтение модулем захвата другого таймера. гдето даже пример попадался.


а почему другого? в таймере может быть несколько каналов и для каждого можно выбирать режим независимо от других. одним каналом семплы нарезаем, другим захват делаем. на такой код я и хотел поглядеть.

Добавлено after 3 hours 7 minutes 43 seconds:
В STM32 нет схем формирования импульсов для OW, поэтому что вы там собрались использовать- не понятно.

Собрались использовать схему с открытым стоком и подтягивающий резистор, аккурат, как написано в наставлении о караульной службе. В общем, пока суд да дело, я набросал секвенсор из одного таймера и одного канала дма.

логика работы: таймер стартует, выход канала в ноль. так начинается reset pulse. регистр ccr содержит значение 480. совпадение перещелкивает выход и дергает канал дма, который грузит в регистр сравнения время следующего переключения и т.д.

вот такая последовательность полностью формирует всю циклограмму для старта преобразования:

Код:
const uint16_t ccr_seq[] = {
    // Timer starts LOW (line pulled low)
    480,    // [0] Release line (HIGH) at 480 µs — presence pulse start
    980,    // [1] Pull line LOW at 980 µs — presence pulse duration 500 µs

    // 0xCC (11001100, LSB first: 0,0,1,1,0,0,1,1)
    1040,   // [2] Release (HIGH) after 60 µs LOW (bit 0)
    1041,   // [3] Pull LOW after 1 µs HIGH
    1101,   // [4] Release (HIGH) after 60 µs LOW (bit 1)
    1102,   // [5] Pull LOW after 1 µs HIGH
    1103,   // [6] Release (HIGH) after 1 µs LOW (bit 2, '1')
    1163,   // [7] Pull LOW after 60 µs HIGH
    1164,   // [8] Release (HIGH) after 1 µs LOW (bit 3, '1')
    1224,   // [9] Pull LOW after 60 µs HIGH
    1284,   // [10] Release (HIGH) after 60 µs LOW (bit 4)
    1285,   // [11] Pull LOW after 1 µs HIGH
    1345,   // [12] Release (HIGH) after 60 µs LOW (bit 5)
    1346,   // [13] Pull LOW after 1 µs HIGH
    1347,   // [14] Release (HIGH) after 1 µs LOW (bit 6, '1')
    1407,   // [15] Pull LOW after 60 µs HIGH
    1408,   // [16] Release (HIGH) after 1 µs LOW (bit 7, '1')
    1468,   // [17] Pull LOW after 60 µs HIGH

    // 0x44 (01000100, LSB first: 0,0,1,0,0,0,1,0)
    1528,   // [18] Release (HIGH) after 60 µs LOW (bit 0)
    1529,   // [19] Pull LOW after 1 µs HIGH
    1589,   // [20] Release (HIGH) after 60 µs LOW (bit 1)
    1590,   // [21] Pull LOW after 1 µs HIGH
    1591,   // [22] Release (HIGH) after 1 µs LOW (bit 2, '1')
    1651,   // [23] Pull LOW after 60 µs HIGH
    1711,   // [24] Release (HIGH) after 60 µs LOW (bit 3)
    1712,   // [25] Pull LOW after 1 µs HIGH
    1772,   // [26] Release (HIGH) after 60 µs LOW (bit 4)
    1773,   // [27] Pull LOW after 1 µs HIGH
    1833,   // [28] Release (HIGH) after 60 µs LOW (bit 5)
    1834,   // [29] Pull LOW after 1 µs HIGH
    1835,   // [30] Release (HIGH) after 1 µs LOW (bit 6, '1')
    1895,   // [31] Pull LOW after 60 µs HIGH
    1955    // [32] Release (HIGH) after 60 µs LOW (bit 7)
};


а вот такое наблюдается на выходе канала:

Изображение


Вложения:
CropImage.jpg [20.67 KiB]
Скачиваний: 97
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Вт июн 24, 2025 06:10:38 
Сверлит текстолит когтями

Зарегистрирован: Вт ноя 19, 2019 06:10:18
Сообщений: 1219
Рейтинг сообщения: 0
a5021 писал(а):
схему с открытым стоком и подтягивающий резистор, аккурат, как написано в наставлении о караульной службе

В наставлении по караульной службе нарисована другая схема, и именно для неё приведены характеристики по количеству узлов и длине линии связи.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Вт июн 24, 2025 14:49:26 
Родился

Зарегистрирован: Ср июн 18, 2025 07:20:55
Сообщений: 6
Рейтинг сообщения: 0
Цитата:
after 1 µs

на столе будет работать, а в реальных условиях я подожду 100мкс между стартами слотов


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Вт июн 24, 2025 19:27:27 
Друг Кота

Карма: 20
Рейтинг сообщений: 223
Зарегистрирован: Пт сен 13, 2013 13:11:31
Сообщений: 6442
Рейтинг сообщения: 0
на столе будет работать, а в реальных условиях я подожду 100мкс между стартами слотов

да понятно, что мегагерцовые частоты в проводах не уйдут далеко. но паузы можно делать, хоть по десять часов:

"If for any reason a transaction needs to be suspended, the bus MUST be left in the idle state if . Infinite recovery time can occur between bits so long as the 1-Wire bus is in the inactive (high) state during the recovery period."

предложенная схема легко настраивается под различные тайминги. ограничение -- разрядность таймера.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Вт июн 24, 2025 19:53:56 
Прорезались зубы
Аватар пользователя

Карма: 1
Рейтинг сообщений: 25
Зарегистрирован: Ср мар 09, 2016 08:07:41
Сообщений: 248
Рейтинг сообщения: 3
одним каналом семплы нарезаем, другим захват делаем.

дергать прерывание для приема каждого бита вместо того, чтобы забрать готовый байт в USARTx_DR?


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 8821 ]     ... , , , 441,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y