четверг, 19 октября 2017 г.

Разработка табло "электронная очередь".

Разработка табло "электронная очередь".

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

понедельник, 16 октября 2017 г.

Flappy Bird на FPGA.

Flappy Bird на FPGA.

Flappy Bird — игра для мобильных устройств, разработанная вьетнамским разработчиком Донгом Нгуеном, в которой игрок с помощью касаний экрана должен контролировать полёт птицы между рядами зелёных труб, не задевая их. Была реализована на платформах iOS и Android.



Игра была выпущена 24 мая 2013 года и получила внезапный рост популярности в начале 2014 года. Была подвергнута критике за сложный игровой процесс, плагиат графики и игровой механики, другие обозреватели посчитали, что она вызывает привыкание. В конце января 2014 стала самой скачиваемой бесплатной игрой в App Store. В течение этого времени разработчик зарабатывал $50 000 в день за рекламу внутри приложения.

Клон игры Super Hexagon на FPGA.

Клон игры Super Hexagon на FPGA.

Super Hexagon — инди-игра в жанре Action, разработанная Терри Кавана. В Super Hexagon игроку предстоит управлять небольшим треугольником, который может вращаться вокруг центрального шестиугольника (англ. Hexagon). Целью игры является избежания контакта треугольника с надвигающимися «стенами». Если игрок сталкивается с передней стороной одной из этих стен (касания боковых сторон разрешены), то игра заканчивается. После того, как игрок проиграет, ему покажут его время выживания за последнюю попытку, а также его лучшее время на этом уровне. Все рекорды отслеживаются на доске лидеров, на которой игроки могут просматривать рекорды своих друзей и мировые рекорды. У игры есть шесть уровней сложности: набор «нормальных» режимов — Hexagon, Hexagoner и Hexagonest — и набор «гипер»-версий предыдущих уровней, которые открываются после 60 секунд выживания в «нормальных» режимах.

О видах присваиваний в Verilog.

О видах присваиваний в Verilog.

Verilog имеет три вида оператора присваивания: непрерывное, блокирующее и неблокирующее. Если с непрерывным, или постоянным присваиванием все более-менее понятно, то разница между блокирующим и неблокирующим присваиваниями не столь отчетлива и во многих руководствах она остается за кадром. К сожалению, нередко встречаются утверждения о том, что блокирующие присваивания «выполняются последовательно». Некоторые же идут настолько далеко, что дают советы использовать неблокирующие присваивания тем, кто хочет, чтобы их код исполнялся побыстрее. Цель этой статьи — развеять туман и помочь начинающим составить представление о том, что же именно представляют из себя различные виды присваиваний в синтезируемом подмножестве Verilog.

Нововведения языка SystemVerilog.

Нововведения языка SystemVerilog.

В данной статье показаны некоторые нововведения языка SystemVerilog в области организации данных по сравнению с Verilog-2001 для синтезируемого подмножества языка.



История SystemVerilog довольна длина и туманна. Начавшись после принятия стандарта Verilog-95, она вылилась в Verilog-2001. Однако язык не слишком подходил для верификации, инженеры использовании языки семейства «E» — VERA, Testbuider. В современном виде SystemVerilog появился после 2005 года. Сейчас средства синтеза и моделирование такие как Quartus II, ISE, ModelSim/QuestaSim уверенно поддерживают SystemVerilog. Стандарт называется IEEE 1800-2012.

Игра Frogger.

Игра Frogger.

Frogger (яп. フロッガー Фроггeр:) — видеоигра жанра аркада-головоломка, разработанная компанией Konamiи выпущенная компаниями Sega и Gremlin Industries для аркадных автоматов в июне 1981 года в Японии и в октябре того же года в Европе[1][2]. Игра стала очень популярной и продолжает переиздаваться для многих игровых систем и компьютеров[3]. Мы с удовольствием взялись за портирование этой замечательной игры на нашу плату VE-EP4CE10E.

Игра сапер на FPGA.

Игра сапер на FPGA.

На сайте habrhabr.ru мы натолкнулись на статью Minesweeper на FPGA, в которой рассказывается о создании игры сапер для FPGA фирмы Xilinx. Думаю найдется мало людей, которые не знакомы с этой игрой. Для тех кто по какой то причине прошел мимо этой игры, напомню ее суть. Плоское или объёмное игровое поле разделено на смежные ячейки (квадраты, шестиугольники, кубы и т. п.), некоторые из которых «заминированы»; количество «заминированных» ячеек известно. Целью игры является открытие всех ячеек, не содержащих мины.

Множество Мандельброта средствами FPGA.

Множество Мандельброта средствами FPGA.

Понятия фрактал и фрактальная геометрия, появившиеся в конце 70-х, с середины 80-х прочно вошли в обиход математиков и программистов. Слово фрактал образовано от латинского fractus и в переводе означает состоящий из фрагментов. Оно было предложено Бенуа Мандельбротом в 1975 году для обозначения нерегулярных, но самоподобных структур, которыми он занимался. Рождение фрактальной геометрии принято связывать с выходом в 1977 году книги Мандельброта `The Fractal Geometry of Nature'. В его работах использованы научные результаты других ученых, работавших в период 1875-1925 годов в той же области (Пуанкаре, Фату, Жюлиа, Кантор, Хаусдорф). Но только в наше время удалось объединить их работы в единую систему.

Тетрис - возвращение легенды!

Тетрис - возвращение легенды!

Те́трис (производное от «тетрамино» и «теннис»[2]) — компьютерная игра, изобретённая в СССР Алексеем Пажитновым и представленная общественности 6 июня 1984 года[1]. Идею «Тетриса» ему подсказала купленная им игра в пентамино.



Но по-моему объяснения тут излишни, наврядли найдется человек, который не знает, что такое Тетрис! Как только я увидел статью на habrahabr.ru, решил портировать проект на нашу плату VE-EP4CE10E.

Начато производство лифтовой электроники.

Начато производство лифтовой электроники.

Специалисты нашей компании разработали, и начали выпуск оборудования для производства лифтов. Программное обеспечение разработано Российскими специалистами, и может оперативно меняться по техническим требованиям заказчика. Все оборудование производится на заводах в странах Юго-Восточной Азии, и проходит строжайший выходной контроль. В данный момент запущена линейка оборудования включающая в себя следущие виды:

Первый проект для VE-LCMXO27000HC. Часть 3.

Первый проект для VE-LCMXO27000HC. Часть 3.

По доброй традиции, в третьей части проекта для нашей платы VE-LCMXO27000HC мы создадим видео игру. За основу возьмем проект PONG game on Nexys3, in Verilog. В основу этого дизайна заложена идея знаменитой игры PONG. Которая является одной из самых ранних аркадных видео игр, это теннисная спортивная игра с использованием простой двухмерной графики. До него были и другие видео игры, такие как Computer Space, однако PONG стал первой достаточно популярной видео игрой. В состав проекта входят следующие файлы:

Первый проект для VE-LCMXO27000HC. Часть 2.

Первый проект для VE-LCMXO27000HC. Часть 2.

Ну вот и закончились Новогодние праздники! А это значит, что пришло время продолжить рассказ про создание электронных устройств на основе ПЛИС. Сегодня мы создадим проект для микросхемы FPGA LCMXO27000HC. Она является основной микросхемой нашей отладочной платы VE-LCMXO27000HC. Для создания проекта нам понадобится  среда разработки от Lattice semiconductor, назваемая Diamond. Скачать ее можно по этой ссылке: Lattice Diamond software.

Первый проект для VE-LCMXO27000HC. Часть 1.

Первый проект для VE-LCMXO27000HC. Часть 1.

Наконец то у нас дошли руки до нашей отладочной платы VE-LCMXO27000HC. По традиции в первой части проекта мы создадим USB CDC устройство на основе микроконтроллера MK20DN32 компании NXP. Когда мы задумывали проект по продвижению отладочных плат с FPGA и ARM процессором на борту, данный контроллер производился компанией FreeScale. Кто бы мог подумать что и она, вслед за Motorola перестанет существовать?

Новогдняя гирлянда.

Новогдняя гирлянда.

Для наших Азиатских заказчиков, в преддверии Нового года был разработан контроллер 8 канальной полноцветной гирлянды, на управляемых RGB светодиодах WS2812B. Контроллер позволяет управлять цветом каждого светодиода в гирлянде размером до 256*8. Программа контроллер включает 24 различных эффекта, управляемых по Bluetooth BLE каналу. В проекте используются следующие технологии:

Игра River Raid.

Игра River Raid.

Увидел старую, добрую игру River Raid на хабре: https://habrahabr.ru/post/313092/ и очень она мне понравилась. К плате с FPGA подключен монитор и клавиатура PS/2. На мониторе видно движущееся сверху вниз игровое поле, которое изображает реку над которой летит самолет. По реке плавают корабли. Самолетом можно управлять с клавиатуры: стрелки влево/вправо для маневрирования и стрелка вперед - это стрельба ракетами.

Игра реализована автором ef_end_y для какой-то китайской платы с Cyclone IV. Спасибо ему.

USB диск с картой MicroSDHC.

USB диск с картой MicroSDHC.

Для продолжения знакомства с контроллерами LPC13xx, установленными на плате VE-XC6SLX9 на сей раз изучим пример использования встроенного класса USB mass storage (или попросту USB-флешки). В контроллер LPC13xx встроен драйвер для USB-MSC класса. Этот драйвер используется USB загрузчиком, но и вы его можете использовать в своих целях.

Разработка умных часов.

Разработка умных часов.

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

Первый проект для VE-XC6SLX9. Часть 3.

Первый проект для VE-XC6SLX9. Часть 3.

В третьей части проекта для нашей платы VE-XC6SLX9 мы создадим видеоигру. За основу возьмем проект VGA sprites, уже упоминавшегося Arlet`a. В основу этого дизайна заложена идея генрации меняющихся спрайтов, в зависимости от положения счетчиков VGA разввертки по горизонтали и вертикали. В состав проекта входят следующие файлы:

Первый проект для VE-XC6SLX9. Часть 2.

Первый проект для VE-XC6SLX9. Часть 2.

Поступление партии универсальных загрузчиков FPGA сподвигло нас на написание второй части статьи, посвященной отладочной плате VE-XC6SLX9. В этой статье мы создадим проект для FPGA XC6SLX9 фирмы Xilinx в среде ISE Design Suite 14.7.

Первый проект для VE-XC6SLX9. Часть 1.

Первый проект для VE-XC6SLX9. Часть 1.

В первом проекте для VE-XC6SLX9, мы реализуем USB HID устройство для процессора LPC1343FBD48. Данные контроллеры содержат встроенный драйвер USB устройств, что существенно облегчает разработку. Наш проект основывается на документации AN10904: USB HID with the LPC1300 on-chip driver которую можно свободно скачать с сайта www.lpcware.com.

Фоторамка с интерфейсом USB.

Фоторамка с интерфейсом USB.

В качестве заключительного проекта для нашей платы VE-EP4CE10E я решил создать фоторамку с интерфейсом USB. В этом проекте мы пройдем весь путь передачи данных: от компьютера через USB в ARM. От ARM через SPI в FPGA. Отображение содержимое RAM на VGA мониторе средствами ПЛИС. Приступим к созданию нашей фоторамки:

Процессор Nios II для VE-EP4CE10E.

Процессор Nios II для VE-EP4CE10E.

Весомым конкурентным преимуществом FPGA является возможность создания устройства на одном кристалле. Представьте только- вместо того что бы паять микроконтроллер, spi память, часы реального времени, счетчики событий и прочую перефирию, вы можете все это синтезировать внутри всего лишь одной микросхемы! Самая основная проблема этой идей- это реализация процессора. В этой статье мы покажем, как реализовать Soft-микропроцессор (также «микропроцессор с программным ядром») для FPGA Altera.

Частотомер с VGA выходом.

Частотомер с VGA выходом.

Одному из наших заказчиков понадобилось измерить частоту сигнала в полевых условиях. Весь процесс происходил на Крайнем Севере, поэтому кроме мультиметра и индикаторной отвертки мы ничего не нашли. Под рукой была только наша плата VE-EP4CE10E и VGA монитор. Пришла идея сделать простенький частотомер с VGA выходом. Напомню, что частотоме́р это радиоизмерительный прибор для определения частоты периодического процесса или частот гармонических составляющих спектра сигнала.

Установка Qt5 на Raspberry Pi.

Установка Qt5 на Raspberry Pi.

При создании "Умной остановки" нам пришла мысль использовать небольшой, дешевый одноплатный компьютер для запуска нашей системы. Для экспиримента была выбрана Raspberry Pi B+ лежавшая под рукой... К сожалению из официальных репозиториев Raspbian'а сборка Qt5 (кстати весьма глючная)  была выпилена. К счастью, Бельгиийский товарищ Sébastien Noel сделал свой репозиторий,  в котором представлена самая полная сборка Qt5 со всеми возможными модулями.

Разработка системы вибродиагностики турбогенераторов.

Разработка системы вибродиагностики турбогенераторов.

Закончены работы по разработке электроники для системы вибродиагностики турбогенераторов. Разработанное оборудование позволяет:



Принимать сигналы от датчиков угла индуктивных.

Принимать сигналы от датчиков угла оптических.

Вычислять время между отсчетами с точностью 0.0001 ppm.

Передавать результаты измерений по протоколу Modbus TCP.

Выдавать диагностическую информацию, и принимать команды управления по USB.

Красивые демо эффекты.

Красивые демо эффекты.

Недавно натолкнулся на проект Pipelined fixed point elementary functions. Суть проекта, вычисление элементарных математических функций с помощью конвейера для чисел с фиксированной точкой.  Побочным результатом являются красивые визуальные эффекты.

Немного психоделики :)

Немного психоделики :)

Совершенно случайно, на просторах интернета был запеленгован блог товарища Arlet`а. В данном блоге меня заинтересовала генерация с помощью FPGA динамических, вращающихся плоскостей. Эффект достаточно интересный, в оригинале тип эффекта упраляется с помощью переключателей. У нас никаких переключателей нет, поэтому мы будем управлять всем происходящим с помощью нашего ARM контроллера по USB. Для этого изменим код нашей статьи Первый проект для VE-EP4CE10E. Если в первом примере по нажатию кнопки '1' в USB терминале pin B.12 сбрасывался в состояние логического нуля, а по нажатию клавиши '2' устанавливался в состояние логической единицы, то теперь нам нужно сделать управление по четырем линиям. Для этого изменим код файла "main.c":

Apple ][- компьютер с которого началась империя.

Apple ][- компьютер с которого началась империя.

В этой статье мы воссоздадим легендарный яблочный компьютер. Вот что про этот компьютер говорит wikipedia: Apple II (в наименовании различных моделей использовалось также написание «Apple ][» и«Apple //») — первый компьютер, серийно выпускавшийся компанией Apple Computer. Это прямой наследник компьютера для энтузиастов Apple I, никогда не производившегося в больших количествах, но уже содержавшего многие идеи, которые обеспечили успех Apple II.

Еще одна легенда- commodore C64!

Еще одна легенда- commodore C64!

Пришло время воссоздать еще одну легенду 80х! На этот раз это будет commodore C64. Commodore 64 — домашний компьютер с 64 КБ оперативной памяти. Выпущен на рынок компанией Commodore International в августе 1982 года по цене 595 долларов. За всё время выпуска Commodore 64 (1982—1994) было продано более 30 млн компьютеров[1]. Согласно книге рекордов Гиннесса, Commodore 64 до сих пор остаётся лидером продаж среди моделей компьютеров. Так об этом компьютере говорится в википедии.

Speccy- живее всех живых!

Speccy- живее всех живых!

Для многих компьютерных энтузиастов постсоветского пространства ZX Spectrum стал первым домашним компьютером. А для некоторых и вовсе отправной точкой в программировании. Не стал исключением и автор данных строк. Заполучив в свои руки отладочную плату, способную воспроизвести speccy, было решено незамедлительно этим заняться!

Первый проект для VE-EP4CE10E. Часть 3.

Первый проект для VE-EP4CE10E. Часть 3.

еперь, когда наш контроллер умеет управлять выводом по командам, поступающим по USB. Мы можем создать проект где микроконтроллер и плис будут взаимодействовать. Сам процесс создания проекта для плис я опущу, он подробно описан в нашей статье Первый проект для VE-EP4CE10E. Часть 2.. Расскажу только об используемых модулях. Схема проекта представлена ниже:

Первый проект для VE-EP4CE10E. Часть 2.

Первый проект для VE-EP4CE10E. Часть 2.

Как и обещал рассказываю о создании тестового проекта, для проверки ПЛИС EP4CE10E. Для начала нам нужно установить среду разработки Altera QUARTUS II. Для этого переходим на сайт Altera по ссылке https://www.altera.com/downloads/download-center.html. Выбираем для скачивания Quartus II Web Edition. По правилам Altera скачивание возможно только после регистрации. В принципе ничего сложного там нет. Поэтому будем считать что Quartus II Вы скачали. Запускаем Quartus II:

Первый проект для VE-EP4CE10E. Часть 1.

Первый проект для VE-EP4CE10E. Часть 1.

Для одной из наших разработок понадобилось использовать программируемую интегральную схему, сокращенно ПЛИС. Если быть точнее FPGA (field-programmable gate array). Чтоб не решать задачу “в лоб”, было принято решение изготовить отладочные платы для экспериментов. На первой плате решено было применить микросхему FPGA Altera EP4CE10E22I7N. Чтобы она не чувствовала себя одиноко, было решено установить ARM микроконтроллер STM32F102C8T6, SRAM 512 Кбайт, держатель uSD карты, разъем USB, 12 битный R2R VGA цап, и 2 разъема PS/2. В первой стать я поделюсь следующим опытом:



Установка свободного компилятоа GCC для архитектуры ARM

Установка и настройка среды разработки Eclipse.

Установка генератора стартового кода STM32CubeMx и создание проекта CDC USB.

Отладка проекта в Eclipse с помощью J-link.

Новая услуга. Разработка программ для смартфонов.

Новая услуга. Разработка программ для смартфонов.

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



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

Разработка программы для компании ООО "АК СНАБ"

Разработка программы для компании ООО "АК СНАБ"

Закончена разработка программного обеспечения для компании ООО "АК СНАБ". Программа предназначена для загрузки системной информации по беспроводным и проводным каналам, в устройства фирмы ООО "АК СНАБ". Фирма "АК СНАБ" занимается выпуском систем обеспечения безопасности для компаний горнодобывающей промышленности. Разрабатывает системы: КОНТРОЛЬ ПАРАМЕТРОВ ВОЗДУШНОЙ СРЕДЫ, АВАРИЙНОЕ ОПОВЕЩЕНИЕ и СЕЛЕКТИВНЫЙ ВЫЗОВ, ПОЗИЦИОНИРОВАНИЕ.

Начато производство автомобильных бегущих строк

Начато производство автомобильных бегущих строк

Наша компания начала выпуск автомобильных бегущих строк с интерфейсом 4G LTE. Питание от источника постоянного тока 9-18 В. Применение ярких светодиодов позволяет оставаться рекламе заметной даже в солнечный день. Автоматическая подстройка яркости уменьшает потребление электроэнергии.

Плата Sipeed Longan Nano - RISC-V GD32VF103CBT6, инструкция по разработке. Часть 2.

Плата Sipeed Longan Nano - RISC-V GD32VF103CBT6, инструкция по разработке. Часть 2. После того, как мы ознакомились с платой  Sipeed Longan...