Winner Micro W806 - I2C.


Продолжаем трогать за регистры китайский микроконтроллер W806. В этой заметке найдем еще одну неточность в RM и разберемся с работой модуля I2C.


Читать дальше

W806 - GPIO и таймеры. часть 2.

В этом эпизоде рассмотрим работу внешних прерываний, прикрутим к процессору инфракрасный приемник, а также попробуем изобразить извращенский софтовый ШИМ на таймерах.
Прикинув, как на практике изобразить работу внешних прерываний, решил подружить W806 с инфракрасным приемником TSOP и помигать светодиодиками при помощи пульта ДУ. Т.к. абсолютное большинство пультов в моем доме работают по протоколу NEC, то его декодирование и будем реализовывать. Вернее, портировать алгоритм, который отлично себя показал в работе на контроллерах STM8. Интересности — под катом.


Читать дальше

W806 - GPIO и таймеры. часть 1.

Продолжаем знакомство с китайским микроконтроллером Winner Micro W806. А с чего обычно эмбеддер начинает осваивать новый для него микроконтроллер? Правильно, мигает светодиодиком. Не будем нарушать эту славную традицию. На отладочной плате распаяны три синих светодиода, подключенные к выводам PB0 — PB2. Писать будем без использования HAL, напрямую в регистры.
Кому интересно — приглашаю под кат.


Читать дальше

Winner Micro W806 - краткий обзор.

С недавних пор на одной интернет-барахолке начали появляться в продаже отладочные платы на микроконтролллере W806, от компании Winner Micro. В заголовке и описании товара иногда указано «W806 микроконтроллер 240 МГц 5-8Bit STM32 макетная плата CH340 IoT MCU чип CDK окружающая среда низкая мощность IOT». Но все мы знаем хитрых продавцов на Али — напишут что угодно, лишь бы продать. Вот и я заинтересовался этой платой, и как только она была доставлена, с головой окунулся в reference manual (RM) на этот продукт. Давайте же разбираться, что в этом чипе интересного, каким боком тут STM32, и станет ли он «убийцей blue pill» или же его судбьа — немногие любительские самоделки.


Читать дальше

Считаем синус быстро и точно: ч.3 - Практика

Наконец-то переходим к самой важной части — как это вот всё использовать. Здесь я расскажу, как выбрать подходящую комбинацию длины таблицы и степени полинома, как создать эти таблицы и приведу примеры, как посчитать быстро (ну или относительно быстро).
Картинки не будет, не нашёл подходящей…


Читать дальше
  • +6
  • 08 октября 2021, 14:49
  • vix

Считаем синус быстро и точно: ч.2 - Точность вычислений

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




Читать дальше
  • +8
  • 08 октября 2021, 14:43
  • vix

Считаем синус быстро и точно: ч.1 - Теория

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

Если нужно найти синус, или другую тригонометрическую функцию на ПК, это делается просто — в большинство современных процессоров встроен блок для работы с числами с плавающей точкой, который довольно шустро (что совсем не факт) это посчитает.
Если это надо сделать это на МК без плавающей точки — то возникают проблемы. Можно использовать функцию из поставляемой вместе с компилятором библиотеки, будет точно, но очень медленно. Если надо быстрее — то первое, что приходит в голову, заранее посчитать таблицу со значениями, но точность при этом сильно упадёт, и будет зависеть от шага аргумента между смежными значениями. Следующий интуитивно понятный шаг — использовать кусочно-линейную аппроксимацию. Это поможет поднять точность, но несильно. Иногда для достижения нужной точности размер таблицы всё равно превосходит разумные пределы.
Что же тогда делать? Увеличивать степень аппроксимации. Это позволит увеличить точность вычислений и (или) уменьшить размер таблиц. И сделать это совсем несложно.


Читать дальше
  • +2
  • 08 октября 2021, 14:39
  • vix

Практический вебинар «Работа с внешней памятью в STM32H7» (16.09.2021)

Вебинар посвящен особенностям работы высокопроизводительных микроконтроллеров семейства STM32H7.
На вебинаре разберем ключевые особенности линеек STM32H72/3 и проведем практическую работу с оценкой производительности с использованием ускорителей и кэш-буфера при чтении инструкций из внутренней и из зашифрованной внешней памяти. Для отображения результатов будет использоваться программная среда STM32CubeMonitor. Подробнее >>>

Фоторезист, лазерный принтер и статика (или как извести на говно стопку годной пленки)


Спойлер: нет, речь не про очередной уплотнитель тонера!
Так уж сложилось, что для фоторезиста у меня используется лазерный принтер. Да, немного убегают размеры. Да, изготовление двуслойных плат нередко превращается в квест «совмести несовместимые переходки на отпечатках». Но это всё решаемо, взамен же мы получаем гораздо больший ресурс печати, головки не сохнут, а отпечатки хранятся гораздо дольше (не в пример пленкам с желатиновым слоем для струйных принтеров). Врочем, мы здесь не ради холивора лазерный/струйный принтер, а скорее вот за этим (см. КДПВ ниже).



Знакомо? Тогда добро пожаловать под кат.

Читать дальше

Преобразователь 7-сегментного индикаторного кода в BCD-DEC на GAL16V8. Одинарная и сдвоенная версии.

  В номенклатуре TTL микросхем существует готовый преобразователь с такой функциональностью, это 74915 — 7 Segment to BCD converter. К сожалению это такая редкость, что найти и купить этот чип сложно и дорого.


Читать дальше
  • +3
  • 01 сентября 2021, 18:19
  • anakost
  • 1