Частотомер на STM32F10x

How it all began…

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

Дано:
  • Cигнал прямоугольной формы
  • Меандр
  • Приведен к логическим уровням микроконтроллера
  • Выходная частота не более 6МГц
  • Погрешность измерений 1Гц


Последний пункт был прописан в ТЗ. Заказчик, как выяснилось позднее, ляпнул его туда с мыслью “лучше – не хуже, авось сделают и так”. Об этом я узнал позднее, а до того момента пришлось откинуть разные варианты реализации, погрешность которых выходила больше – например с делителями входного сигнала.
Сходу ничего готового не нашлось, хотя я был уверен по дороге домой, что на запрос “Частотомер STM32” Google поделится со мною массой готовых устройств – мне лишь останется только залить прошивку и отзвонить заказчику о работоспособном макете.
Не тут то было. Я не нашел практически ничего полезного, но благодаря этому чуть лучше разобрался в работе таймеров STM32, и теперь могу поделится этим с другими!


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

Криптография для эмбеддера. Введение в ассиметричные алгоритмы.



У меня в черновиках «завалялась» небольшая статья по ассиметричной криптографии. Статья коллеги a9d приводит пример использования «модульной арифметики», (правда в другом ключе) но не объясняет «как это работает». Т. к. коллега запретил комментарии к своей статье (ИМХО, зря, в комментариях самое вкусное), я позволю себе опубликовать данную недоработанную статью.


В последнее время в сообществе возрос интерес к вопросам криптографической защиты информации и я решил написать небольшую статью (вернее продолжить предыдущую).



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

Охотничий инстинкт против лени. Дисплей от Nokia 5300 XpressMusic.

Есть у меня один замечательный коллега. Замечателен он, прежде всего, своим добродушным нравом, но есть у него и еще одна замечательная черта: любит он погулять как следует, да в порыве страсти посеять телефон, реже – разбить. Благодаря ему у меня практически постоянно появлялись какие-то новые штучки и мобильные финтифлюшки навроде камер, дисплеев и прочих веселых яркоперделок, шморгалок и сопелок.
Однажды он, как обычно, весело катился на велосипеде с горки, да и упал на ровном месте. Ловко разбил коленку и телефон. Да так удачно, что корпус у телефона рассыпался в прах, а кишочки – нет. Коллега пытался склеить эту моргающую и цвиринькающую кучку металлопластика в телефон «Nokia 5300 XpressMusic», которым она, кучка, была прежде, да в итоге махнул рукой, и всю эту кучку отдал мне. Дел тогда у меня было много, да я и смахнул весь этот хламец в дальний ящик – до поры, до времени. И забыл напрочь.
Как тут понадобилось мне сварганить что-то вроде отладочного терминала с дисплеем – нужно было отладить один простенький полу учебный проект на простенькой ПЛИСине. Дисплей от Nokia6100 130x130 – мелко и не солидно, монстр на SSD1289 – Боже упаси; и тут вспомнил я о задаренной мне два месяца назад горке пластикового гомна мобильных ништяков. Вообще, по опыту, затея удачно заставить работать неизвестный ништяк мобильного происхождения в 70% случаев заканчивается неудачей

Читать дальше
  • +12
  • 02 ноября 2012, 03:53
  • SubDia
  • 1

Приехала RaspberryPi

Пришла давно заказанная Raspberry Pi. Заказывал в Фарнелле, обошлось все удовольствие в 45 евро. Дошло на удивление быстро, 11 июня выслали, 23 июня приехала посылка в мое почтовое отделение, 26 я ее получил. Заранее купил HDMI-HDMI кабель, зарядку с микроUSB на 5В 1А (рекомендуют 700 мА или 300 мА если не пользоваться сетью и USB).




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

Используем CMake и GCC для программирования uC STM32 в линуксе.

Всё у армов хорошо, одна беда — все рассчитано на работу в определенных пропиетарных м платных IDE, которые, естественно, никто портировать на linux не собирается. Для линукса есть такая хорошая вещь — ODeV Idea используются make + gcc + eclipse + openocd. Однако, я решил пойти немного другим путем — разобратся, из чего состоит проект для stm32 и использовать cmake для сборки проектов.
UPD: Теперь всё лежит на github'е — https://github.com/ObKo/stm32-cmake
UPD2: Данный текст слегка устарел (но общий принцип сохранился), актуальные доки на github'е


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

Что такое VHDL. Простейший пример создания логического элемента в ПЛИС

Вот вокруг говорят ПЛИС, ПЛИС… Понятно что это микросхема такая… А как в нее электрическую схему заталкивать? Для этого существует несколько способов, один из которых это описание схемы устройства на специальном языке описания аппаратуры. Таких языков существует несколько: Verilog, AHDL, VHDL и наверное еще есть, но мне не попадались. Эти три вроде самые распространенные. Вот о VHDL я и попробую рассказать.



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