12.07.2013, 11:13
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от dosikus
|
А что кроме битбанга и ручного задрочества так уж ни как порты и не доступны ?
DMA не в счет уже ?
|
При программном МНОГОканальном ШИМе необходим атомарный доступ к битовому полю для проверки условий для каждого канала. BSRR на портах конечно выручает, но для него слово данных тоже удобней собирать побитово в регистре. Поэтому как бы АРМы не тужились, но из ногодрыгательных применений они АВР вытеснят нескоро. Особенно при стоимости мега48 ниже самого дешевого СТМ32ф05 (ф03 пока не трогаем, они только в анонсах)
|
|
|
|
12.07.2013, 11:28
|
|
Почётный гражданин KAZUS.RU
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,627
Сказал спасибо: 115
Сказали Спасибо 814 раз(а) в 591 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от niXto
|
При программном МНОГОканальном ШИМе необходим атомарный доступ к битовому полю для проверки условий для каждого канала.
|
Что-то я вообще запутался! Как вы этот многоканальный ШИМ программно реализуете? Нифига не понимаю!
Я бы сделал так: два массива из N переменных (N — количество каналов) — количество "тиков" в состоянии "выкл" и состоянии "вкл"; еще два массива — текущие значения + флаги (из какого массива обновлять при достижении нуля). По прерыванию от таймера заносим во временную переменную содержимое "ногодрыгательного" регистра; декрементируем все текущие значения; проверяем: если где-то находим отрицательное значение, обновляем его из нужного массива "тиков", делаем !flag, делаем !bit для данного бита во временной переменной; по окончании проверки всего копируем временную переменную в "ногодрыгательный" регистр.
Доступ к отдельным битам "ногодрыгательного" регистра при этом не нужен! Эксклюзивный атомарный доступ — тоже!
Но я бы все-таки выбрал другую схему, или контроллер более подходящий поискал бы: ну не дело ШИМ программно эмулировать! Это же если у вас МКшка занимается не только ШИМом, но и еще чем-то, то другие прерывания будут вам периодически скважность менять. Если это — реклама, то пофиг, конечно, но если вам нужно очень точно поддерживать постоянное напряжение на ЦАПе, то фигвам получается!
__________________
Союз Советских Социалистических Округов Северной Америки
|
|
|
|
12.07.2013, 11:33
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от eddy
|
Но я бы все-таки выбрал другую схему, или контроллер более подходящий поискал бы: ну не дело ШИМ программно эмулировать!
|
Дык здесь же дело то не в ШИМе, как таковом .
nixto, упорно не хочет некролог AVR подписывать ...
__________________
Осторожно , злой кот
|
|
|
|
12.07.2013, 11:39
|
|
Почётный гражданин KAZUS.RU
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,627
Сказал спасибо: 115
Сказали Спасибо 814 раз(а) в 591 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от dosikus
|
Дык здесь же дело то не в ШИМе, как таковом .![Валяюсь от смеха](images/smilies/icon_biggrin.gif)
nixto, упорно не хочет некролог AVR подписывать ...
|
☺
А я, к стыду своему, ни разу AVR так и не пощупал: сначала всякую простую фигню на PIC'ах делал, а потом сразу решил на STM32 перейти. Один наш электронщик много лет AVR'ками занимался, сам недавно интересовался у меня, нет ли чего более приличного. Я ему тоже посоветовал на ARM посмотреть: и недорого, и моща хорошая.
По крайней мере, теперь не нужно присобачивать компьютер к железяке только ради того, чтобы по ethernet до нее добраться! Поднимаем TCP/IP на МКшке — и вперед! (заказал на днях макетку с 407-мым, как придет — потыкаюсь, выложу статейку; думаю пока, как проще сделать: поднять обычный сокет, а на сервере сделать обертку, или же поднять вебсокет и напрямую с браузера работать с железякой).
__________________
Союз Советских Социалистических Округов Северной Америки
|
|
|
|
12.07.2013, 11:42
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Не не подумайте что я против AVR . Использовал и пока еще осталось несколько экземпляров. Но это только из за того , что жалко выкинуть. ![Валяюсь от смеха](images/smilies/icon_biggrin.gif)
А так , AVR кирдык ...
__________________
Осторожно , злой кот
|
|
|
|
12.07.2013, 11:44
|
|
Заблокирован
Регистрация: 25.04.2013
Сообщений: 1,431
Сказал спасибо: 0
Сказали Спасибо 385 раз(а) в 254 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от niXto
|
При программном МНОГОканальном ШИМе необходим атомарный доступ к битовому полю для проверки условий для каждого канала. BSRR на портах конечно выручает, но для него слово данных тоже удобней собирать побитово в регистре. Поэтому как бы АРМы не тужились, но из ногодрыгательных применений они АВР вытеснят нескоро.
|
При программном МНОГОканальном ШИМе 32-ух разрядник предпочтительнее, на тягомотине с байтами больше теряется. Операции с битами, сдвиги, реверс бит, байт и полуслов у STM32 более развитый, такшта весь этот звон по поводу Меги незачётный. Учите матчасть!
Цитата:
|
Особенно при стоимости мега48 ниже самого дешевого СТМ32ф05 (ф03 пока не трогаем, они только в анонсах)
|
Меги валяются, их уже никто не берёт, STM8 и то, и дешевле, и лучше, а QFN'ы F0 смели все, нах, подчистую!
|
|
|
|
12.07.2013, 12:11
|
|
Прописка
Регистрация: 09.02.2011
Сообщений: 164
Сказал спасибо: 1
Сказали Спасибо 27 раз(а) в 22 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Для управления светодиодами в табло не выгодно использовать обычный ШИМ.
А тем более при программной генерации.
Для этого применяют "non-consecutive" ШИМ.
|
|
|
|
12.07.2013, 12:32
|
|
Почётный гражданин KAZUS.RU
Регистрация: 22.06.2004
Адрес: Харьков
Сообщений: 1,488
Сказал спасибо: 3,207
Сказали Спасибо 3,010 раз(а) в 686 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от dosikus
|
А так , AVR кирдык ...
|
Вот просматриваю тему про STM32 и постоянно вижу перепалку про кирдык авру. А заводы в Азии про это не знают. Не знают, что ту сотню чипов за прошлый год отправленную в СНГ уже в этом году не купят. И как теперь им после этого жить? ![Бьюсь об стену](images/smilies/icon_obstenu.gif)
Участники Казуса перешли на СТМ и производство АВР упало на 0,01ххх%!!!!
---------
Самое плохое в этом - мы сами же стаем адептами СТМ. Это наваждение какое сейчас в обществе? Нормальный эмбедер должен применять то, что подходит под задачу (цена/возможности/доступность). Негоже кучковаться и возводить на трон чужие технологии без возможности перейти на более подходящую технологию.
|
|
|
|
12.07.2013, 13:28
|
|
Прописка
Регистрация: 19.04.2010
Адрес: Украина
Сообщений: 159
Сказал спасибо: 13
Сказали Спасибо 58 раз(а) в 39 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от Impartial
|
Для управления светодиодами в табло не выгодно использовать обычный ШИМ.
А тем более при программной генерации.
Для этого применяют "non-consecutive" ШИМ.
|
до использования специализированных 16-48 канальных шим контроллеров совсем не догадались? ![Подмигивание](images/smilies/icon_wink.gif) подсказываю, есть к примеру такой недорогой камушек камушек lt8500. вполне можно и ещё дешевле сделать, есть использовать 16-ти и 24-х канальные.
Последний раз редактировалось Angel71; 12.07.2013 в 13:39.
|
|
|
|
12.07.2013, 13:40
|
|
Гражданин KAZUS.RU
Регистрация: 05.04.2009
Сообщений: 976
Сказал спасибо: 35
Сказали Спасибо 155 раз(а) в 134 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от lsa
|
Вот просматриваю тему про STM32 и постоянно вижу перепалку про кирдык авру
|
Поддерживанию земляка - микроконтроллер выбирается под задачу:
надо дешевле - бери стм8
надо быстро считать или графика - бери арм (не обязательно стм32), дспик, пик32, авр32 и т.д.
надо аналоговая обработка - бери псок, силабс
надо быстро оцифровать - бери сайпресс
и для мег и тинек и пиков16 задачи найдутся
|
|
|
Эти 2 пользователя(ей) сказали Спасибо oleg110592 за это сообщение:
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 19:20.
|
|