Источник тока для гальваники. Часть II - еще одна теория

Часть 1
Часть 2
Часть 3
Часть 4

Понятно, что многим (включая меня самого) не терпится добраться до готовой схемы, но прежде чем смотреть готовое решение я, все-таки, хочу описать почему было выбрано именно такое решение и какие вообще есть варианты. Так что снова, осторожно, многабукаф.


Читать дальше
  • +10
  • 16 мая 2013, 15:57
  • evsi

Источник тока для гальваники. Часть I - типа теория

Часть 1
Часть 2
Часть 3
Часть 4

Прошло много времени после моей последней публикации на эту тему. Исходные подходы к решению этой задачи претерпели заметные изменения, я перерыл огромное количество информации и сжег десятки (буквально) прототипов в процессе отладки и доводки. Все оказалось отнюдь не так просто, как казалось в самом начале (и не только в самом начале), да и обстоятельства не способствовали быстрому завершению процесса. Тем не менее силовая часть, наконец-то, получилась такой, как я хотел — со встроенной стабилизацией и уходом вниз по частоте под нагрузкой, так что, я надеюсь, есть смысл описывать то, что получилось. В процессе работы над проектом накопилось изрядное количество полезной информации, которую я тоже постараюсь изложить. В связи с этим осторожно, многабукаф.


Читать дальше
  • +16
  • 14 мая 2013, 15:44
  • evsi

Гравитационные и гидродинамические модели PN-перехода и Полупроводниковых приборов (водная-канализация)

Навеяно «зонной теорией проводимости твердых тел», которая не всё объясняет...

«Водная-канализация» и подобные «комиксы» — это эффективный метод наглядного и образного представления всяких нудных вещей, чтобы их легче понять и лучше запомнить.

Данный топик является экспериментальным (мне интересно как его встретят читатели). Все представленные рисунки и модели придумал я сам, и на 100% верность не претендую — высказывайте ваши отзывы и замечания.

Извините, что картинки представлены в черновом виде: с рукописным текстом и кривыми линиями. Рисовал от руки, чтобы компьютер не мешал мыслить. Затем, решил опубликовать это в оригинальном виде (чтобы сохранить авторский стиль и образ мысли).


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

Преобразуем в строку. Часть 2. Числа с фиксированной и плавающей точкой.

Продолжаем преобразовывать всё, что можно в строки.
В предыдущей статье были целые числа, теперь очередь чисел с фиксированной и плавающей точкой.
Все рассмотренные примеры с фиксированной точкой используют формат с 16-ю битами для дробной части и 16-ю битами для целой части, так называемый формат Q16, однако легко могут быть адаптированы для других форматов.

В качестве чисел с плавающей точкой использован 32-х разрядный float.



Читать дальше
  • +14
  • 07 января 2013, 13:08
  • neiver
  • 1

Преобразуем в строку. Часть 1. Целые числа.

Задача преобразования числа в строку стоит всегда, когда нужно отобразить числовые результаты работы программы. Процессоры у нас оперируют двоичными данными, человеку-же подавай десятичные числа. Собственно задача состоит в преобразовании базы числа. Какие для этого есть способы? Целью данной статьи является описание и сравнение максимального количества способов преобразования числа в строку. Задачу, естественно, рассматриваем с точки зрения реализации на микроконтроллерах, по этому размер и скорость имеют значение. Для простоты рассматриваем только без-знаковые 32-х и 16-ти разрядные числа (со знаком не намного сложнее).


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

Интересная функция в avr-gcc 4.7

AVR
Недавно обнаружил в avr-gcc 4.7 новую встроенную функцию __builtin_avr_insert_bits.
В заголовок <avr/builtins.h>, где находятся остальные встроенные функции, эту функцию пока не включили и объявлять ее прототип придётся самостоятельно:
unsigned char __builtin_avr_insert_bits (unsigned long map, unsigned char bits, unsigned char val);

Эта функция делает вставку отдельных бит из параметра bits в значение val, при этом параметр map задаёт способ вставки бит. Каждые 4 бита в map отвечают за отображение одного бита:
  • Если значение тетрады 0xf, то в соответствующий выходной бит копируется значение соответствующего бита из val
  • Если значение тетрады в диапазоне 0-7, то в соответствующий выходной бит копируется значение бита с номером равном этой тетраде из bits
  • Для остальных значений выход не определен.

Основное назначение этой функции — работа с несмежными линиями ввода-вывода. То есть то, что я делал тут и тут.
Достоинства:
  • Предельно эффективный генерируемый машинный код. Используются инструкции, которые нельзя сгенерировать с помощью стандартного Си кода, например, BST и BLD.
  • Способ отображения бит хранится в целочисленной 32-х битной константе, которую можно вынести из места использования куда-нибудь в заголовок.
Недостатки:
  • Только 8-ми битные значения.
  • Совершенно непереносимо — поддерживается только в одном компиляторе — avr-gcc 4.7.
Искать эту функцию в WinAVR или в AVR Toolchain от Atmel не стоит — там используется avr-gcc 4.5.x.
Достать avr-gcc 4.7. собранный под Windows можно тут.

STM32 - организация виртуального COM-порта

Раз у камня есть аппаратный USB, то грех им не пользоваться. Один из способов плюнуть байтом в компьютер и чтобы он при этом не очень обиделся — это организация виртуального COM-порта.
Все в железе пробовалось на камне STM32F103ZE, на аналогах тоже должно взлететь.


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

USB микрофон на ATmega8 и V-USB. Беглый экскурс и рабочая железка

AVR
Как то давно я обещал статейку про реализацию USB микрофона на библиотеке V-USB. Время шло, а статья, как и само устройство не хотели приобретать конечную форму. То время нет, то желание, то возможности. Но на днях выдались пару вечеров (плавно перетекающих в ночь), и работа «пошла». В статье не густо фоток и всеми любимого видео, но зато я постарался раскрыть некоторые возможности библиотеки и пройтись по спецификации USB. Не претендую на большую публику (так как реализовать это можно за 5 секунд на аппаратном USB), но раз обещал…

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

STM32 + FreeRTOS

Про использование FreeRTOS есть достаточно много материалов, подробно описывающих работу с задачами, семафорами и очередями. Поскольку у нас блог посвящен STM32, то расскажу про минимально необходимые телодвижения, чтобы запустить эту ОС.


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

Работа с группами линий ввода-вывода на Си (без плюсов)

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



Здесь начинается препроцессорная жесть