Search
Write a publication
Pull to refresh
287
0.2
Владимир @32bit_me

Программист

Send message

К вопросу о включении питания

Reading time5 min
Views16K

И случилась со мной удивительная история, которая, будь она написана серебряными иглами в уголках глаз, послужила бы назиданием для поучающихся.


История эта началась с проектирования переносного устройства, в котором было желательно уменьшить потребление от аккумулятора в режиме отключения, но механический переключатель был неприемлем в силу конструктивных особенностей. Также было нежелательно использовать транзистор в качестве ключа ввиду значительных рабочих токов устройства (более 3А). Поэтому было принято распространенное решение о блокировке работы входящих в состав устройства источников питания (ИП) при помощи управления сигналом разрешения работы. Ничего нового и необычного, таких схем можно найти 12 на дюжину в устройствах с автономным питанием, однако совершенно неожиданно возникли определенные осложнения, которые привели к ряду поучительных выводов.
Но что то пошло не так

Практика освещения спальни светодиодными лентами

Reading time3 min
Views36K
На гиктаймсе снова подняли тему светодиодного освещения как основного в помещении, но не раскрыли её полностью, и у читателей возникли вопросы. Я хочу поделиться практическим опытом полного перехода на светодиоды. Данный способ подойдет почти для любого гика.

image

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

PINE64 — довольно мощный мини-ПК всего за $15

Reading time1 min
Views28K


Если бы несколько лет назад кто-то сказал, что за $35 можно получить функциональный персональный компьютер, над ним бы просто посмеялись бы. Тем не менее, уже сейчас мини-ПК продаются по цене в $5 или $9 — вспомним Raspberry Pi Zero and CHIP. Правда, эти системы никак нельзя назвать мощными.

Нельзя назвать мощным и новый миниатюрный ПК PINE64. Но его характеристики существенно лучше, чем у аналогов, которые продаются дешевле $20. Разработчики PINE64 оснастили свой девайс четырехъядерным процессором Allwinner 1.2 GHz 64-bit ARM Cortex-A53, 1 ГБ ОЗУ и прочими плюшками. Все это предлагается по цене в $15 за младшую модель или $19 за старшую. Вскоре кампанию по сбору средств на этот миниатюрный компьютер планируется запустить на Kickstarter.
Читать дальше →

Altera + OpenCL: вскрываем ядро

Reading time23 min
Views17K


Всем привет!

В прошлой статье я запустил простой OpenCL пример на FPGA фирмы Altera:
// ACL kernel for adding two input vectors
__kernel void vector_add( __global const uint *restrict x,  
                          __global const uint *restrict y,  
                          __global       uint *restrict z )
{
    // get index of the work item
    int index = get_global_id(0);
 
    // add the vector elements
    z[index] = x[index] + y[index];
}

Я намеренно не углублялся в детали и показал верхушку айсберга: процесс разработки, сборку проекта, запуск на системе.

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

В этой статье мы попробуем вскрыть ядро и найти ответы на следующие вопросы:
  • Какая у него архитектура?
  • Как происходит его настройка? Как попадают данные на обработку?
  • На какой частоте он работает? Чем это определяется?
  • Можно ли просимулировать только ядро в RTL-симуляторах?
  • Какие блоки занимают больше всего ресурсов? Можно ли как-то это соптимизировать?

Давайте взглянём на его внутренности! Добро пожаловать под кат!
Читать дальше →

Разработка торговых систем под FPGA: Плюсы, минусы и анализ архитектуры существующей библиотеки

Reading time7 min
Views16K


Многие торговые платформы для высокочастотного трейдинга часто работают на оборудовании с высокопроизводительными сетевыми адаптерами. Однако минусом таких систем является относительно высокая и непредсказуемая задержка — в итоге многие трейдеры обратили свой взгляд на гибридные архитектуры с аппаратным ускорением.

Эксперты компании Algo-Logic Systems Inc. Джон Локвуд (Jowhn W. Lockwood), Адвайт Гупте (Adwait Gupte) и Нишит Мехта (Nishit Mehta) опубликовали работу, в которой рассказали о том, как FPGA используются в онлайн-трейдинге для уменьшения задержек передачи данных. Мы представляем вашему вниманию основные моменты этой публикации.
Читать дальше →

«Глупые» часы на FPGA

Reading time10 min
Views24K
Привет всем!

Решил написать очередную статью, которая была бы полезна начинающим разработчикам в области ПЛИСоводства. Очень долго откладывал момент публикации, сам материал подготовил еще несколько месяцев назад, а вот сесть и написать всё это в целую статью как-то не доходили руки. Но вот наконец-то появилось свободное время, поэтому всех заинтересовавшихся приглашаю к прочтению.


Проект называется «глупые часы», поскольку он ничего не умеет, кроме как считать время и дату и выводить их на дисплей. В первую очередь проект рассчитан на студентов старших курсов и новичков. В нём нет никаких необычных блоков, не используются вендорные IP-ядра, и уж тем более нет сложных интерфейсов обмена (типа PCIe, Ethernet, USB и т.д.).
В этот раз проект на программируемых логических интегральных схемах (ПЛИС) будет примитивен и предельно прост, а я постараюсь рассказать обо всех трудностях, с которыми пришлось столкнуться при выполнении поставленной задачи.
Читать дальше →

Разработка power bank для ноутбука. От макета к готовому изделию. Часть первая

Reading time10 min
Views53K
Сделать себе внешний аккумулятор для ноутбука я хотел уже давно, 3-4 года назад для работы в парке. Хоть и мечта рисовать схемы и трассировать платы в парке Горького или Битцевском лесу так и не реализовались (пока), но внешний аккумулятор (назовем его по-современному — PowerBank) я таки сделал. О том как это устройство проходило путь от макета до конечного изделия и почему я делал то, что уже есть на рынке, под катом.


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

Эволюция карманных компьютеров

Reading time7 min
Views21K
Персональные компьютеры начали свой долгий и насыщенный путь примерно в конце 60-х начале 70-х годов. Первопроходцем в этой сфере был выдающийся американский математик и создатель объектно-ориентированного программирования Алан Кей.

Dynabook

Алан Кей работал в исследовательском центре Xerox Palo Alto Research Center (PARC). Там его и посетила идея концепта компьютера, очень напоминающего современные планшеты. Проект получил название Dynabook. Предполагалось, что компьютер будет довольно компактным (размерами с блокнот) с весом до 2 кг и сможет обрабатывать текст, графическую информацию, станет средством связи с удаленными базами данных. Разработчики смоделировали графический интерфейс Star GUI со знакомыми современникам элементами вроде окон, меню, пиктограмм. При этом Dynabook должен был продаваться по доступной цене (примерно 500$), что привлекло бы покупателей. По концепции персональный компьютер презентовали в качестве устройство для обучения.



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

Переходим с STM32 на российский микроконтроллер К1986ВЕ92QI. Опрашиваем клавиши, генерируем ШИМ. Часть вторая

Reading time30 min
Views23K

Вступление.

В предыдущей статье мы с вами повторили общую структуру таймера и детально рассмотрели ручной способ настройки ШИМ канала с использованием CMSIS. Но многим не нравится «копаться в регистрах» и они предпочитают принципиально другой уровень абстракции, позволяющий, как им кажется, упростить задачу. В этой статье я попытаюсь показать вам все плюсы и минусы данного подхода.
Читать дальше →

Онлайн-алгоритмы в высокочастотном трейдинге: проблемы конкуренции

Reading time14 min
Views17K


Высокочастотный трейдинг [англ. High-frequency trading, HFT-trading] сегодня оказывает большое влияние на современные финансовые рынки. Еще 20 лет назад большая часть торгов проходила на биржах, к примеру, на Нью-Йоркской фондовой бирже, где люди, одетые в яркие костюмы, активно жестикулировали и выкрикивали свои предложения о покупке или продаже ценных бумаг. Сегодня торговля, как правило, осуществляется с помощью электронных серверов в дата-центрах, где компьютеры обмениваются предложениями о покупке и продаже путем передачи сообщений по сети. Этот переход от торговли в операционном здании биржи к электронным платформам был особенно выгоден HFT-компаниям, которые инвестировали много средств в необходимую для торговли инфраструктуру.

Несмотря на то, что место и участники торговли внешне сильно изменились, цель трейдеров – как электронных, так и обычных – осталась неизменной – приобрести актив у одного предприятия/трейдера и продать его другому предприятию/трейдеру по более высокой цене. Основное отличие традиционного трейдера от HFT-трейдера состоит в том, что последний может торговать быстрее и чаще, и время удержания портфеля у такого трейдера очень низкое. Одна операция стандартного HFT-алгоритма занимает долю миллисекунды, с чем не могут сравниться традиционные трейдеры, так как человек моргает примерно раз в 300 миллисекунд. По мере того, как HFT-алгоритмы конкурируют между собой, они сталкиваются с двумя проблемами:

  • Каждую микросекунду они обрабатывают большой объем данных;
  • Им нужно уметь очень быстро реагировать на основе этих данных, потому что прибыль, которую они могут извлечь из принимаемых ими сигналов, снижается очень быстро.

Онлайн-алгоритмы представляют собой обычный класс алгоритмов, которые можно применять в HFT-трейдинге. В таких алгоритмах новые входные переменные поступают последовательно. После обработки каждой новой входной переменной алгоритм должен принять конкретное решение, например, выставлять ли заявку на покупку/продажу. В этом и состоит главное отличие онлайн-алгоритмов от офлайн-алгоритмов, в которых считается, что все входные данные доступны в момент принятия решения. Большинство задач практической оптимизации в таких областях, как информатика и методы исследования операций – это именно онлайн-задачи [1].
Читать дальше →

Передача видеоданных на частотах до 100МГц в ПК

Reading time5 min
Views13K

Передача видеоданных на частотах до 100МГц в ПК


Введение

Наш отдел занимается разработкой ПЗС матриц и линеек. Для каждого разработанного датчика необходимо создать фотоприемное устройство (ФПУ), которое позволит его тестировать, расчитывать параметры прибора — динамический диапазон, неравномерность выходного сигнала, уровень генерационно-рекомбинационного темнового тока и т.д.

ФПУ является своего рода видеокамерой но не такой, которую просто можно взять в руку и пойти в парк что-нибудь снимать (белочку например).

Фотоприемное устройство, обычно, состоит из нескольких плат. На одной плате располагаются стабилизаторы питания, фильтры, а на другой (или других) весь микросхемный фарш. В центре основной платы находится сам датчик, вокруг него — мощные быстрые ключи для подачи управляющих напряжений на электроды ПЗС. К выходу прибора подключен эмиттерный повторитель, потом идет видеопроцессор (умный АЦП для ПЗС) и завершает все ПЛИС. Она подает синхроимпульсы на ПЗС через ключи, тактирует видеопроцессор, забирает с него цифровой код и после необходимой обработки отправляет на выходной разъем. Помимо одного кода на выход идут синхроимпульсы — PCLK(синхронизация по пикселям), HSYNC(сигнал строчной синхронизации), VSYNC(кадровая синхронизация), которые необходимы для нормального получения информации на принимающей стороне.

Конечно же, ФПУ должно вносить в аналоговый сигнал с ПЗС как можно меньше помех, чтобы получить хорошие расчетные параметры прибора. Но статья ни о ФПУ и ни о ПЗС, а о том с помощью чего и как можно передать цифровой код на высоких частотах в ПК.
Читать дальше →

Статический анализ printf-like функций в Си при помощи libclang

Reading time11 min
Views8.5K
По сравнению со многими современными языками язык Си зачастую кажется крайне примитивным и небезопасным. И одной из частых претензий к языку является невозможность доступа из кода в его же внутреннее представление. В других языках это традиционно осуществляется механизмами, вроде reflections, и довольно удобно в применении.

Тем не менее, с появлением libclang, можно писать собственные анализаторы и генераторы кода прямо в compile time, устраняя достаточно большое множество проблем на ранних этапах работы. Сочетание инструментов статического анализа общего плана (coverity, clang-scan), инструментов анализа для конкретного проекта, а также дисциплины написания кода позволяет намного улучшить качество и безопасность кода, написанного на Си. Конечно, это не даст гарантий, каких дает haskell или даже rust, но позволяет существенно оптимизировать процесс разработки, особенно в случае, когда переписывать огромный проект на другом языке является нереальной задачей.

В данной статье я хотел бы поделиться опытом создания плагина статического анализа format argument для функций, похожих на printf. В ходе написания плагина, мне пришлось очень много рыться в исходниках и doxygen документации libclang, поэтому я счел полезным сделать некоторый обзор для тех, кто хочет ступить на этот тернистый путь, но пока еще не уверен в целесообразности траты времени на сбор информации. В статье не будет картинок, и даже картинок блюющих единорогов, простите.
Читать дальше →

Altera + OpenCL: программируем под FPGA без знания VHDL/Verilog

Reading time14 min
Views43K
image

Всем привет!

Altera SDK for OpenCL — это набор библиотек и приложений, который позволяет компилировать код, написанный на OpenCL, в прошивку для ПЛИС фирмы Altera. Это даёт возможность программисту использовать FPGA как ускоритель высокопроизводительных вычислений без знания HDL-языков, а писать на том, что он привык, когда это делает под GPU.

Я поигрался с этим инструментом на простом примере и хочу об этом вам рассказать.

План:

Добро пожаловать под кат! Осторожно, будут картинки!
Читать дальше →

Использование ASF и Atmel Start в IAR

Reading time3 min
Views6.5K


ASF и IAR


Библиотека для продуктов Atmel ASF имеет две версии: встроенную в Atmel Studio и так называемую stand-alone. Stand-alone версия может использоваться, например, в IAR. Так как сам по себе IAR несколько аскетичен с точки зрения различных фишек типа автозаполнения, то использование ASF как внешней библиотекой, не так интерактивно и удобно, как в Atmel Studio, но тем не менее, можно один раз все настроить и использовать новинку Atmel Start — WEB конфигуратор кода для удобства и ускорения разработки.
Читать дальше →

Установка Quartus II Web Edition для Linux

Reading time6 min
Views32K


В публикации рассказывается о том, как произвести установку САПР Altera Quartus II Web Edition (далее просто Quartus) в пакетном режиме на компьютер, работающий под управлением ОС Debian Linux amd64. Автор использует Quartus для работы с платами семейства Марсоход, так что в публикации также приведён небольшой обзор этого семейства, и то, какие версии Quartus для каких плат Марсоход годятся.
Материал будет полезен всем, кто начинает работать с Quartus под ОС GNU/Linux.

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

Эксперимент: Можно ли создать эффективную торговую стратегию с помощью машинного обучения и исторических данных

Reading time4 min
Views28K


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

Давид Монтаг (David Montaque), выпускник Стэнфордского университета и сотрудник компании Palantir Technologies, написал статью, в которой описал создание алгоритмических стратегий для торговли фьючерсами на основе исторических данных. Для предсказания будущей цены и волатильности Монтаг использовал техники машинного обучения. Мы представляем вашему вниманию описание эксперимента и выводы, к которым пришел исследователь.
Читать дальше →

Пять точек зрения на высокочастотный трейдинг. Часть 2

Reading time18 min
Views7.2K
Примечание переводчика: В блоге ITinvest на Хабре мы много пишем о технологиях, связанными с трейдингом на современных биржах. Сегодня мы представляем вашему вниманию вторую часть адаптированного перевода статьи лондонского финансиста и трейдера Бретта Скотта, в которой он подробно рассказывает о явлении высокочастотного трейдинга (HFT). Этот материал поможет лучше понять все плюсы и негативные моменты, возникающие вследствие деятельности таких высокочастотных торговцев. Первая часть доступна по ссылке.



Вы видите только то, что хотите видеть.

Мне в каком-то смысле все равно, «подрывают» HFT-алгоритмы деятельность рынков или нет. Отчасти это из-за того, что я не считаю рынки каким-то священным механизмом, который работает на благо всего человечества, и, следовательно, не может быть осквернен. Я к тому, что рынки уже долгое время являются предметом систематического злоупотребления, когда те, у кого больше власти, могут использовать акт обмена (очевидно, не имеющий никакого отношения к политике) для извлечения выгоды.

Но давайте на секунду представим, что рыночная инфраструктура и в самом деле обладает некой мистической силой, которая положительно влияет на общество. Что же тогда для этого делает HFT-трейдинг? Один из аргументов его сторонников состоит в том, что HFT-трейдинг способствует росту ликвидности на рынках различных финансовых инструментов. Это утверждение дополняется угрожающими известиями о том, что может произойти, если эта ликвидность упадет. Низкая ликвидность рынка сильно отразится на пенсии вашей бабушки!
Читать дальше →

Измерение электроэнергии. Часть 1. Измерение напряжения и тока

Reading time9 min
Views68K
image

Введение


Всем привет! После завершения цикла по датчикам были вопросы различного плана по измерению параметров потребления бытовых и не очень электроприборов. Кто сколько потребляет, как что подключать чтобы измерить, какие бывают тонкости и так далее. Пришло время раскрыть все карты в этой области.
В этом цикле статей мы рассмотрим тему измерения параметров электроэнергии. Этих параметров на самом деле очень даже большое количество, о которых я постараюсь постепенно рассказать небольшими сериями.
Пока в планах три серии:
  • Измерение электроэнергии.
  • Качество электроэнергии.
  • Устройства измерения параметров электроэнергии.

В процессе разбора будем решать те или иные практические задачи на микроконтроллерах до достижения результата. Разумеется, большая часть данного цикла будет посвящена измерению переменного напряжения и может пригодиться всем любителям контролировать электроприборы своего умного дома.
По итогам всего цикла мы изготовим некий умный электросчетчик с выходом в интернет. Совсем отъявленные любители контролировать электроприборы своего умного дома могут оказать посильную помощь в реализации коммуникационной части на базе, например MajorDomo. Сделаем OpenSource умный дом лучше, так сказать.
В этой серии в двух частях мы разберем следующие вопросы:
  • Подключение датчиков тока и напряжения в устройствах постоянного тока, а также однофазных и трехфазных цепей переменного тока;
  • Измерение действующих значений тока и напряжения;
  • Измерение коэффициента мощности;
  • Полная, активная и реактивная мощность;
  • Потребление электроэнергии;

Подкатом вы найдете ответы на первые два вопроса данного списка. Я намеренно не затрагиваю вопросы точности измерения показателей и с данной серии лишь радуюсь полученным результатам с точностью плюс-минус лапоть. Этому вопросу я обязательно посвящу отдельную статью в третьей серии.
Читать дальше →

Алгоритмический сюрреализм: Руководство по высокочастотному трейдингу за 900 миллионов микросекунд. Часть 1

Reading time15 min
Views11K


Примечание переводчика: В блоге ITinvest на Хабре мы много пишем о технологиях, связанными с трейдингом на современных биржах. Сегодня мы представляем вашему вниманию первую часть адаптированного перевода статьи лондонского финансиста и трейдера Бретта Скотта, в которой он подробно рассказывает о явлении высокочастотного трейдинга (HFT). Этот материал поможет лучше понять все плюсы и негативные моменты, возникающие вследствие деятельности таких высокочастотных торговцев.

Пока вы читаете это предложение, алгоритм для высокочастотного трейдинга (high-frequency trading, HFT), поддерживающий связь с фондовой биржей через трейдинговую инфраструктуру «с малыми задержками», возможно, смог бы провести 1000 сделок.

Я говорю «возможно», потому что это зависит от того, какую паузу вы делаете в местах, где расставлены запятые. Если при чтении вы предпочитаете останавливаться после каждой запятой, то вы даете алгоритму шанс выставить еще несколько сотен ордеров.

Попытаюсь прояснить ситуацию. Это значит, что расположенные в определенном месте компьютеры, которыми владеет (или которые арендует) компания, могут: 1) получить доступ к данным фондовой биржи; 2) обработать их с помощью закодированной системы последовательных операций (алгоритма) и принять решение о том, стоит ли торговать или нет; 3) отправить обратно на биржу сообщение с ордером на покупку/продажу акций компании – например, компании по производству детских игрушек; 4) подождать, пока ордер будет исполнен, и получить подтверждение; 5) повторять все эти шаги, скажем, 250 раз в секунду.

Честно говоря, это тоже не совсем точные цифры. Лишь немногие знают, насколько быстро на самом деле алгоритмические движки осуществляют торговые операции. Но даже если они совершают 50 или даже 10 сделок в секунду, это все-таки невероятно быстро.
Читать дальше →

Сайд-проекты — почему это важно для разработчика

Reading time4 min
Views29K


Мы в Alconost весьма любим и ценим сторонние проекты, и порой отвлекаемся на них прямо в рабочее время. Так родились бесшабашные и задорные видео о стобаксовой купюре в разных художественных стилях, о том, как сделать инфографику вирусной, об истинной цене ожидания в Интернете… У этих роликов не было заказчика — мы просто получили удовольствие, придумывая, рисуя и анимируя их. Для программистов сайд-проекты тоже имеют особое значение. Мы перевели целую статью шведского предпринимателя и разработчика Дэвида Эльбе об этом.

Я встречал сотни разработчиков. У лучших из них всегда были сторонние проекты, над которыми они колдовали по ночам. Как работодатель, я это всячески поддерживаю. Но существует немало компаний, которые запрещают подобную деятельность.

Давайте поговорим о том, почему я считаю сайд-проекты хорошей идеей, как использую их для саморазвития и на что вам стоит обращать внимание.
Читать дальше →

Information

Rating
5,151-st
Date of birth
Registered
Activity