Pull to refresh
  • by relevance
  • by date
  • by rating

Делаем таймер или первый проект на ПЛИС

DIY
Начну свою первую статью с того, что сообщу: в предмете статьи я сам новичок, но выбрал именно такую тему. Объясню почему. Читаю хабр уже достаточно долго и мне всегда были интересны топики тех, кто сам в настоящий момент изучает то, о чем повествует. Такие статьи всегда понятны, всегда находят свою аудиторию и всегда предают читающему интерес и энтузиазм автора, который у новичков в любой области обычно зашкаливает!

Так вот, недавно я заинтересовался темой ПЛИС, столкнувшись с ними на учебе, прочитал много всяких доков и заказал себе Starter Kit для экспериментов. Теперь, получив полигон для экспериментов по почте и проведя первый эксперимент, я готов поделиться с хабраюзерами. Надеюсь будет интересно.
Читать дальше →
Total votes 93: ↑85 and ↓8 +77
Views 74K
Comments 117

Сравнение плат Arduino – Марсоход

Lumber room
Странным образом развивается человечество. Технический прогресс настолько стремительно изменил жизнь человека, что мы с вами как-то не представляем себе другую жизнь, без сотовых телефонов, компьютеров, ноутбуков, цифровых фоторамок и фотоаппаратов. Кажется все это было всегда. И кто все это придумывает и делает? У этих инженеров наверное супер-мозг? А знаете что? Вы и сами можете попробовать сделать что-нибудь электронное и удивительное. Может быть созданное вами «изделие» и не будет продаваться миллионными тиражами, но вот удивить знакомых Вы на самом деле сможете. Если Вы хоть немного в душе радиолюбитель, и не боитесь слова паяльник, и у Вас есть немного упорства – у Вас все получится.

С чего начать? Пожалуй есть две интересные возможности – это плата Arduino или плата Марсоход. Попробую объяснить, что же это такое.

Читать дальше →
Total votes 15: ↑13 and ↓2 +11
Views 3.2K
Comments 12

Реализация ядра микропроцессора AVR в ПЛИС Altera MAX-II

Lumber room
image

Хочу поделиться с Вами своим опытом разработки микропроцессора. Хотел сделать свой как можно более простой микроконтроллер с минимальной системой команд. Если делать свой микроконтроллер, то нужен и свой ассемблер…
После некоторых раздумий решил, что в этом смысле будет проще следовать какой-то известной системе команд. Остановился на AVR8.
Что из этого получилось можно прочитать здесь (Open Source Hardware Project).
Total votes 17: ↑15 and ↓2 +13
Views 2.2K
Comments 9

Как я делал USB устройство

Self Promo
Где-то когда-то я читал, что создатели первой спецификации USB намеревались сделать этот стандарт простым для реализации в железе за счет усложнения программного обеспечения. Таким образом цель была максимально удешевить производство и сделать USB устройства очень доступными. Сейчас можно сказать, что чипмейкерам это удалось, но так ли уж прост для реализации в железе этот стандарт? Боюсь, что ответ не очевиден.



Предположим мне нужно сделать свое простое USB устройство. Какие у меня есть варианты?
Читать дальше →
Total votes 173: ↑160 and ↓13 +147
Views 7K
Comments 51

Cхема > плата > ПЛИС

Website development *
На Хабре есть статьи для начинающих ПЛИСоводов, есть статьи с обзорами средств трассировки печатных плат. На некоторые из них я уже ссылался в своей первой статье о создании печатных плат. Во второй статье про SimBank в комментариях у меня состоялся диалог о сложности разработки ПЛИС и поддержки проектов с ней. Было высказано мнение, что легче собрать несколько простых устройств вместо одного сложного. Иногда так действительно проще. Когда речь идёт о двух, четырёх, восьми устройствах. Ряд можно продолжать с привычной вам кратностью. До преодоления порога комфорта. Два — это куча? А что делать, если есть желающие на 100 или 200 однотипных устройств?
Использовать или не использовать ПЛИС в той или другой задаче каждый решает сам (или с коллегами).
Сегодня хочу предложить вашему вниманию статью об особенностях создания печатной платы с ПЛИС. За основу возьмём инструмент «IO Designer» от компании Mentor Graphics.

Кому-то может материал оказаться полезным, кому-то просто интересным, а кто-то может и не согласиться со мной.
Читать дальше →
Total votes 27: ↑25 and ↓2 +23
Views 36K
Comments 16

CPLD-ретрокомпьютинг. Часть 1 — Доска для студента

FPGA *
Ретрокомпьютинг бывает разный. Кто-то собирает килограммы древних процессоров, кто-то восстанавливает советские ЕС ЭВМ, кто-то до сих пор разгоняет Celeron в жидком азоте, а мы же насладимся платой Altera University Programm Board UP1 1997 года c древней CPLD MAX7128S и даже поморгаем светодиодом (и не только).
Дальше
Total votes 14: ↑14 and ↓0 +14
Views 18K
Comments 3

Реализация стабильного UART, со скоростью 921600 baud и более, на языке Verilog под ПЛИС

FPGA *Programming microcontrollers *
Sandbox


Всем привет. Пару недель назад я начал потихоньку изучать программирование под ПЛИС. Для этих целей мною была заказана у китайцев самая дешевая плата на основе Altera Max II EPM240T100C5N чипа. Установив Quartus v15, стал изучать Verilog стандарта 2001 года. Наморгавшись светодиодами решил попробовать реализовать какой-нибудь протокол передачи данных. Естественно им стал UART :) Посмотрев на чужие примеры в сети, мне не очень понравилось излишнее нагромождение логики, множество дополнительных счетчиков, а главное, проблемы с синхронизацией в приемнике и, как следствие, не стабильность работы на высоких скоростях. Конечно можно найти и качественные реализации, полностью конфигурируемые, да и вообще, с «идеальным кодом», но так не будет ни какого спортивного интереса.
Читать дальше →
Total votes 22: ↑22 and ↓0 +22
Views 44K
Comments 30

Организация делителя частоты с дробным коэффициентом деления в объёме ПЛИС

FPGA *
Статья посвящена актуальной задаче деления тактовых частот, стоящей перед разработчиками широкого спектра цифровых устройств на основе ПЛИС. Предложенные технические решения могут оказаться полезными при проектировании заказных и серийных СБИС. Рассмотрены два примера технической реализации делителей частоты с дробными коэффициентами деления 3:2 и 5:2. Оба варианта делителей описаны в виде поведенческих моделей на языке Verilog, что позволяет реализовать данные функциональные узлы в объёме ПЛИС различных архитектур и производителей.
Читать дальше →
Total votes 14: ↑14 and ↓0 +14
Views 24K
Comments 16

Bus Blaster — универсальный скоростной bit-bang интерфейс для терпеливых энтузиастов

DIY
Recovery mode


Мне давно хотелось иметь какой-нибудь простой и универсальный аппаратный интерфейс с несколькими входными и выходными сигналами, функциональность которого определяется исключительно софтом, вроде достопамятного программатора PonyProg. И чтобы его можно было использовать не только как чтения/записи прошивок, но и для отладки программ через JTAG. При этом покупать что-либо промышленное, при моем нерегулярном баловстве с электроникой, избыточно и нерентабельно — требовалось что-то из серии «полуфабрикатов», на основе bit-bang.

Что такое bit bang и зачем он нужен
Кое-кто еще помнит, что в счастливые времена Windows 9x каждая системная плата и каждый ноутбук в обязательном порядке имели последовательный (COM) и параллельный (LPT) порты. В ту пору для организации интерфейса с микросхемой ППЗУ, служебными контактами мобильника или передней панели магнитолы достаточно было припаять к разъему порта несколько резисторов, диодов и транзисторов. Все остальное делали обычные пользовательские приложения, самостоятельно формировавшие сигналы нужного протокола путем выставления нулей или единиц на нужных выводах, и считывания сигналов на входах. У клятых буржуев это называлось bit-bang, а у нас — «дрыгоножество», «ногомашество» и т.п.

С переходом на 2k/XP возникли сложности с прямым доступом к портам ввода/вывода, но они успешно решались костылями вроде giveio. Гораздо сильнее портила жизнь более высокая фоновая активность в NT, из-за которой сложнее было выдержать стабильность передачи и приема.

Как известно, на современных компьютерах, тем более — ноутбуках, с аппаратными портами не густо, ибо большинству пользователей они не нужны. USB-адаптеры для подключения устройств с интерфейсами RS232 и Centronics (в просторечии — COM/LPT) хорошо работают лишь в рамках основного назначения, а делать на них «дрыгоножество» проблематично по целому ряду причин. Во-первых, большинство этих адаптеров умеет обрабатывать с хорошей скоростью только сигналы данных (те же Tx/Rx), а управляющие сигналы обрабатывает с большими задержками. Во-вторых, адаптеры различных производителей аппаратно несовместимы, а возможности нестандартного управления через драйвер производителя сильно ограничены. В-третьих, для передачи команд адаптеру почти все драйверы используют отдельные USB-пакеты, что ограничивает частоту смены состояний всего тысячей раз в секунду, чего для многих применений катастрофически мало.

К счастью, компания FTDI уже давно предлагает ряд решений для USB, ориентированных именно на скоростной обмен произвольными сигналами. Беглое изучение вопроса показало, что наиболее популярны в этом плане интерфейсы на микросхемах FT232H/FT2232H.
Читать дальше →
Total votes 26: ↑26 and ↓0 +26
Views 14K
Comments 10

Koyaanisqatsi: The WYSIWYG-style byte-code CPU

Creative Commons *FPGA *DIY
Draft diagram of core

SVG-File (actual draft)

Lyrics


Ancient times are known to everyone not with immortal works from Homer's only, but also with the Pythagorean multiplication table, Euclidean geometry and the Archimedes screw and the Pi, which we learned to use only relatively recently. In antiquity the art was not only to be able to write poetry and prose, but to design catapults or battering tools also, now there are rigid frameworks, when the discovering the new another beautiful formula is a formal words play only.
Mathematics rules the modern world completely, cynically intertwining with the world of art, intruding with calculations in all spheres of our recreation and everyday life, when the colors of masterpieces turning into poisonous colours.
Read more →
Total votes 2: ↑2 and ↓0 +2
Views 791
Comments 0