Освоение ПЛИС с использованием языка Verilog

Давненько мне приходили мысли о том, что засиделся я на платформе AVR и пора бы уже освоить что-то новое для себя. В качестве кандидатур рассматривались AVR32, ARM и FPGA. И вот, когда на горизонте замаячил новый проект, я стал думать, на чём бы его сделать. В принципе, проект этот можно реализовать на любой платформе, но желание расширить кругозор победило и было принято решение попробовать поработать с ПЛИС. Далее я с практически нулевыми знаниями в этой области погрузился в выбор камня для проекта. Почесав репу и прочесав инет я решил, что делать схему самому без опыта работы с этими штуками не стоит, а лучше найти подходящую стартёр плату.

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

Altera ByteBlaster MV совмещенный с LPT-программатором AVR

Когда начинаешь интересоваться ПЛИС, то в скором времени встает вопрос: А чем ее прошить?
Производители предлагают достаточно большой выбор устройств, но цена у них обычно кусачая. Так же попадаются простые схемы в даташитах, но их еще найти надо, а для этого надо знать что конкрено ищешь. Ну и в сети есть достаточное описание схем умельцев, например как программатор описанный в статье: USB-Blaster. Я хочу внести свои пять копеек и описать простой LPT-программатор, который собирается на коленке за один вечер и может шить как ПЛИС фирмы Altera, так и микроконтроллеры AVR.


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

PCB Board Wisard в Altium Designer

PCB Board Wisard в Altium Designer

Всем доброго времени суток! Сегодня я расскажу о комплексной системе автоматизированного проектирования (САПР) радиоэлектронных средств Altium Designer, бывш. Protel DXP. Установка очень простая. Единственное, на что стоит обратить внимание – это пункт «Install board-level libraries». Это установит обширные библиотеки компонентов.

После взлома регистрации программы можно приступить к созданию первого проекта.

Запустив Альтиум, обратим внимание на панельку слева, которая напоминает панельку в Windows. В этой панельке нам нужен последний пункт «PCB Board Wisard» – запуск мастера создания печатной платы.Рис.1. PCB Board Wisard

Кликнув на нём, можно смело нажимать «Next» в появившемся окне. Второе окно позволяет выбрать необходимую единицу измерения – милы или миллиметры. Мил (mil) – 1/1000 дюйма. Полезно помнить следующее соотношение между милами и миллиметрами:
40 mil = 1 mm

Рис. 2. Единица измерения
В этом окне выбираем привычную метрическую систему мер – «Metric» и нажимаем «Next».


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

Микроконтроллеры STM8. Порты ввода-вывода.

Микроконтроллеры STM8. Порты ввода-вывода.

Здравствуйте,
Сегодня мы с вами разберемся, как устроены порты ввода-вывода у STM8S.
Количество линий ввода-вывода, естественно, различно у разных моделей контролеров, и колеблется от 16 (в двадцатиногом корпусе) до 68 для микроконтроллеров в корпусе LQFP-80. При этом линии портов не одинаковы и имеют различную нагрузочную способность. Уточню на всякий случай, что порты у STM8 восьмибитные, каждую ножку порта можно настроить индивидуально.


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

Учебный курс. Микро Паскаль. Типы данных. Часть вторая.

AVR
Статья №3.
В прошлой статье мы ознакомились с предопределенными типами данных. Продолжаем.
В Паскале, вместе с предопределенными типы данных существуют и типы данных, определенные пользователем. Описание нового типа начинается с зарезервированного слова type. Несколько примеров объявлений новых типов.


Читать дальше
  • +1
  • 14 марта 2011, 21:20
  • Rom

UART приемник на VHDL

Все говорят что процессы в VHDL выполняются параллельно, а мне надо последовательно!
К примеру сварить кофе, на С это с начла в чашку насыпать кофе, потом залить кипяток. На VHDL кофе и кипяток одновременно, что ж так даже быстрее. А если мне надо пожарить картошку: почистить, порезать, пожарить. С C осталось все по-прежнему, а вот в VHDL появляются непонятки.

На помощь приходит конечный автомат.

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

Применение параметров при структурном описании проекта.

Представим, что у нас имеются следующая задача: Описать структурным стилем представленную на рисунке схему.



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

USB для AVR. Часть 2. HID Class на V-USB



Здравствуйте, в данной статье попытаюсь доступным языком описать USB HID Class устройство на микроконтроллере AVR, а также как общаться с таким девайсом программе написанной на Borland C++ Builder 6 под Windows. Рассмотрим основные настройки V-USB, откомпилируем прошивку для микроконтроллера, напишем простенькую программу пример для ПК, весь код хорошо комментирован. В качестве подопытного микроконтроллера — ATmega8 (можно смело брать любой другой, завалялась просто у меня старая ;) макетка Trashduino, эх ностальджи...) Также для ознакомления можно почитать: USB для AVR. Часть 1. Вводная


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

Прототипирование в домашних условиях. Вступление, часть 1

Прототипирование, или prototyping(от слова прототип — опытный образец) это процесс изготовление одного или крайне небольшой партии устройств(реально работающих, в отличии от макета).

При создании платы проблем возникает крайне мало — технологии многократно описаны, накоплен опыт, написаны статьи, руководства, даже видеоролики. Не получится даже свалить на кривость рук, максимум — придется сделать 5, 10 плат, перед тем, как начнет получаться.

А что касается механики и движущихся элементов — это уже сложнее. Все большее распространение получают 3D принтеры, но в настоящее время принтеры с высоким разрешением все еще слишком дороги, а изготовление самодельных требует знаний и понимания того, что ты делаешь. Иными словами, на коленке, без навыков и знаний его не сделать. Да и производительность оставляет желать лучшего.

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

Более того, при определенной сноровке, возможно создавать металлические детали, из сплавов и металлов с низкой температурой плавления. При использовании вторичных одноразовых форм(из гипса, например) возможно делать и медные или латунные детали.



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

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



Продолжение следует…

Кольцевой буфер на С++ для МК.

Кольцевой буфер (КБ)(Ring Buffer) — структура данных типа FIFO (First In First Out — первым вошел, первым вышел), находит очень широкое применение в том числе при программировании МК. Кольцевые буферы часто используют для организации различных очередей сообщений и буферов приёма-передачи различных коммуникационных интерфейсов. Популярность КБ обусловлена тем, что это один из самых простых и эффективных способов организовать FIFO без использования динамической памяти. Существует множество разновидностей КБ, о них можно почитать, например тут en.wikipedia.org/wiki/Circular_buffer Рассмотрим одну очень быструю и компактную реализацию КБ на С++.


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