LedBoard Отладочная плата. Часть 1

LedBoard Отладочная плата. Часть 1


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

Посидев и подумав пол ночи, я сделал для себя несколько пунктиков:

1. Камень — atmega8
2. Обвязка для V-USB
3. Внешний кварц на 12МГц
4. Линейка из 8-ми светодиодов
5. Матричная клавиатура 3х3
6. На 1-ый таймер просто светодиод, на 2-ой таймер светодиод через RC фильтр
7. Кнопка на Reset
8. Индикация питания
9. Кнопка внешнего прерывания

Вот, то что мне от неё нужно что бы ставить свои опыты=)
В следующей части мы вами продвинемся чуть дальше, а я пока развожу платку в SLayout=)
Продолжение следует))

Сжатие звука в IMA ADPCM

Есть такой аудиокодек — IMA ADPCM. Сжимает аудио в 4 бита на сэмпл (250 кбит/с при частоте дискретизации 32 кГц, стерео), после чего, достаточно достоверно восстанавливает. А главное, очень быстро. Около 100 тактов на сэмпл на ядре AVR.

Как это работает?


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

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

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


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

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



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


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

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

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


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

USB для AVR. Часть 1. Вводная


Здравствуйте, решился я испытать свои творческие таланты :) Речь пойдет об популярном интерфейсе USB, а именно как заюзать этот самый USB на простых микроконтроллерах AVR. Планирую написать несколько топиков с примерами кода и разъяснениями как со стороны микроконтроллера, так и со стороны компьютера. Конечно на просторах интернета полно всяческих примеров на данную тематику, но как писал DI HALT в правилах конкурса: «в лучшем случае это исходник в котором сам черт ногу сломит, да краткое, на страничку, его описание.»


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

Использование различных GCC тулчейнов для AVR

AVR
Написал давно, но что-то как-то не мог собраться и дописать. На фоне этого сообщения решил запостить, в общем выкладываю как есть.
Самый популярный gcc тулчейн для AVR микроконтроллеров является WinAVR. Но отнюдь не единственный в своем роде.


Итак:


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

Notepad++ и avr gcc

    Из толп просто редакторов кода, не IDE, лучшим, на мой взгляд, является Notepad++.
image
Он простой, имеет качественную подсветку синтаксиса с подключением стилей, а также русскую локализацию и много различных плагинов.

Для использования с AVR gcc тулчейном его надо немного допилить.



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

Ассемблерные вставки в AVR-GCC

AVR
Практически всегда, когда в проекте задействованы АЦП, встаёт необходимость провести математическую обработку того, что там нацифровалось. Мат. обработка, в зависимости от задачи, может варьироваться от примитивного «сложить два измерения и поделить пополам (ака сдвинуть на разряд вправо)» до всяких там БПФ, цифровых фильтров и далее по списку. Если математика чуть сложнее, чем «найти максимум за период», а измерения непрерывные, то частенько встаёт вопрос в скорости обработки. Собственно говоря, это вообще-то отправная точка для выбора платформы, на которую будет опираться проект, тут надо здраво оценить потребности задачи и возможности различных платформ. Конечно, для ядрёной числодробилки лучше взять какой-нибудь DSP, а может даже и FPGA. А если наша числодробилка не особо ядрёная, зато требуется минимизировать энергопотребление этой фигни, да и конечная стоимость должна быть не как у самолёта? А ещё есть такие факторы, как опыт разработчика, доступность комплектухи и т.д. Короче если мы решили, что мозгами в нашем проекте должна работать старая добрая AVR, но мозга у неё не хватает, на то что бы осмыслить наш алгоритм, объяснённый ей на языке C, придётся объяснять на Assembler`е.


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