eddy-em.livejournal.com github.com/eddyem
-
- НетЬ. У всех STM32 убогий I2C c теми или иными багами. Вообще у STM
нет ни одного прямого периферийного узла. UART, таймеры, SPI -
везде говнеца подложено. Но дешево и популярно, не отнять. - LightElf(Вчера, 15:15)
- Ну, ХЗ, где вы там баги находите. STM32F0 - все отлично,
контроллеры термодатчиков TSYS01 на БТА уже восемь лет работают (по
16 датчиков на контроллер). На F303 тоже никаких проблем.
Единственно, нужно питание всякой шушеры через p-канальный мосфет
вешать, т.к. бывают некоторые убогие датчики, которые SCL или DAT
подвешивают вусмерть. Eddy_Em(180 знак., Вчера, 15:54)
- С СПИ, особенно. Как там аппаратный НСС поживает? - mse homjak(Вчера, 16:30)
- Без понятия, я slaveselect никогда не использую, потому как больше
одной железки на SPI не вешаю, ибо нефиг тут! - Eddy_Em(Вчера, 17:18)
- Макароны тоже по одной штуке варите? :D - Ralex(Вчера, 17:29)
- А у меня элементарно нет идей, какое нужно придумать устройство,
чтобы к нему больше одного датчика с SPI нужно было подключить! Вот
I2C куда как чаще встречается. По SPI разве что экранчик или
угловой энкодер. Ну вот делал платку для телескопа, которая с двух
энкодеров в два интерфейса USB данные передает, посадил каждый
энкодер на свой SPI, чтобы не мешали друг другу и можно было
параллельно читать. - Eddy_Em(Вчера, 17:37)
- у мну на одном SPI 3 шт АЦП, на втором SPI - OLED, а на I2C вообще
свальный грех - еепром, датчик температуры, датчик атмосферного
давления, микросхема зарядки АКБ, микросхема счетчик
электроэнергии, короче картинка покажет Ralex(1 знак., Вчера, 17:47, картинка)
- Я предпочитаю брать один внешний АЦП и ставить три мультиплексора.
Есть хорошая методика, позволяющая практически к нулю свести
влияние мультиплексоров. Но в данном случае никакого аппаратного SS
не выйдет: их же аж три штуки надо! - Eddy_Em(Вчера, 18:41)
- Да дажэ с одним АЦП. С нормальным СПИ работать можно так, заряжаем
таймер на сэмплрейт, от него стартуем ДМА, которое пихает 16 бит в
СПИ и по прерыванию от окончания педерачи СПИ, вычитываем данные.
Что имеем с СТМ? Настраиваем таймер на сэмплрейт, по прерыванию
ручкаме машем портом НСС, запускаем СПИ(тут дажэ из прерывания нет
смысла выходить, накладные расходы на вход-выход примерно такого-жэ
порядка), отмахиваем НСС взад, вычитываем данные. Зокат солнца
вручную. И mse homjak(91 знак., Вчера, 20:45)
- SSM + SSI, и не нужно беспокоиться: Eddy_Em(118 знак., Вчера, 21:24)
- Это 3 АЦП с 8 входов каждый, при этом они работают как диф пары поэтому 4 канала данных на 1 АЦП. А иногда не диф, тогда больше чем 4 канала, но зависимых. Если бы все 17 каналов измерений я одним АЦП измерял, пришлось бы дольше усреднять (уменьшаем шум усреднением). Мультиплексор применялся в предыдущей модели прибора, но там было всего 7 каналов измерений, а тут 17. - Ralex(Вчера, 18:50)
- Да дажэ с одним АЦП. С нормальным СПИ работать можно так, заряжаем
таймер на сэмплрейт, от него стартуем ДМА, которое пихает 16 бит в
СПИ и по прерыванию от окончания педерачи СПИ, вычитываем данные.
Что имеем с СТМ? Настраиваем таймер на сэмплрейт, по прерыванию
ручкаме машем портом НСС, запускаем СПИ(тут дажэ из прерывания нет
смысла выходить, накладные расходы на вход-выход примерно такого-жэ
порядка), отмахиваем НСС взад, вычитываем данные. Зокат солнца
вручную. И mse homjak(91 знак., Вчера, 20:45)
- Я предпочитаю брать один внешний АЦП и ставить три мультиплексора.
Есть хорошая методика, позволяющая практически к нулю свести
влияние мультиплексоров. Но в данном случае никакого аппаратного SS
не выйдет: их же аж три штуки надо! - Eddy_Em(Вчера, 18:41)
- у мну на одном SPI 3 шт АЦП, на втором SPI - OLED, а на I2C вообще
свальный грех - еепром, датчик температуры, датчик атмосферного
давления, микросхема зарядки АКБ, микросхема счетчик
электроэнергии, короче картинка покажет Ralex(1 знак., Вчера, 17:47, картинка)
- А у меня элементарно нет идей, какое нужно придумать устройство,
чтобы к нему больше одного датчика с SPI нужно было подключить! Вот
I2C куда как чаще встречается. По SPI разве что экранчик или
угловой энкодер. Ну вот делал платку для телескопа, которая с двух
энкодеров в два интерфейса USB данные передает, посадил каждый
энкодер на свой SPI, чтобы не мешали друг другу и можно было
параллельно читать. - Eddy_Em(Вчера, 17:37)
- Макароны тоже по одной штуке варите? :D - Ralex(Вчера, 17:29)
- негатив слейв селект? вери гуд, беттер зан евер :-P - Ralex(Вчера, 16:39)
- Без понятия, я slaveselect никогда не использую, потому как больше
одной железки на SPI не вешаю, ибо нефиг тут! - Eddy_Em(Вчера, 17:18)
- С СПИ, особенно. Как там аппаратный НСС поживает? - mse homjak(Вчера, 16:30)
- Ну, ХЗ, где вы там баги находите. STM32F0 - все отлично,
контроллеры термодатчиков TSYS01 на БТА уже восемь лет работают (по
16 датчиков на контроллер). На F303 тоже никаких проблем.
Единственно, нужно питание всякой шушеры через p-канальный мосфет
вешать, т.к. бывают некоторые убогие датчики, которые SCL или DAT
подвешивают вусмерть. Eddy_Em(180 знак., Вчера, 15:54)
- НетЬ. У всех STM32 убогий I2C c теми или иными багами. Вообще у STM
нет ни одного прямого периферийного узла. UART, таймеры, SPI -
везде говнеца подложено. Но дешево и популярно, не отнять. - LightElf(Вчера, 15:15)