воскресенье, 19 октября 2008 г.

Atmega8: hello led!

Итак.. продолжим :) В самосборном программаторе для контроллера atmega8 обнаружились сгоревшие детали. После замены все чудесным образом заработало! Простая тестовая прога мигания светодиодом была зашита в чип и вот результат:

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

По умолчанию atmega работает от внутреннего генератора тактовых импульсов - 1 mHz. Для простых программ этого вполне достаточно. Но если потребуется большая производительность и стабильность частоты, то нужно будет подключить к ножкам контроллера (к каким именно - смотри доку на atmega8) кварцевый резонатор на 8 mHz или 16 mHz.

Ну вот... Теперь можно приступать к более серьезным экспериментам!

четверг, 16 октября 2008 г.

Запускаем atmega8

На досуге решил поэкспериментировать с микроконтроллером Atmega8 :) Штуковина заманчивая и по цене (в районе 50 рублей) и по характеристикам (8 килобайт FLASH, 1 килобайт ОЗУ, 512 байт EEPROM). В частности хочется попробывать такой чип в роли миниатюрного синтезатора.
Для начала закупился деталями: пара контроллеров и компоненты для программатора, схему которого взял вот отсюда.

Программатор спаял на коленке за несколько дней :)
Далее установил на комп очень удобныю прогу-прошивалку контроллеров - PonyProg2000. Она доступна как для Windows, так и для Linux. Пользователи Linux должны запускать PonyProg под рутом! т.к. иначе не будет доступа к LPT-порту.
Ок. Включаю программатор, запускаю прошивалку. Выбираю в свойствах тип контроллера и интерфейс программатора. Там же нажимаю кнопку калибровки. Далее через меню выбираю пункт "прочитать девайс" и операция успешно проходит! Вижу на экране кучу FF. Это правильно - контроллер чистый.



Замечательно :) Теперь неплохо бы написать простую программку мигания светодиодом и залить её в контроллер. Что для этого нужно? Компилятор GCC и binutils, скомпиленые для поддержки контроллеров AVR - в параметрах configure прописывается "--target=avr". Кроме того понадобится набор библиотек AVR Libc, который заметно упростит написание программ.
Залить прогу в контроллер, увы, с первого раза не удалось :( Получаю ошибку "write failed". Ну чтож... Буду разбираться. Как только решу проблему - отпишусь.

среда, 1 октября 2008 г.

Факты о графическом процессоре будущего

(Материал из Википедии)

Larrabee — кодовое обозначение графического процессора, разрабатываемого компанией Intel. Чип создаётся как новое, ранее не встречавшееся решение, которое заменит собой видеопроцессоры Intel GMA. Видеокарты, основанные на чипах Larrabee будут конкурировать с решениями nVidia GeForce и AMD Radeon от компаний nVidia и AMD, соответственно. Intel планирует получить инженерные образцы Larrabe в 2008 году, а первые продукты на базе этого чипа выйдут в 2009/2010 годах.

В чем фишка такого "ускорителя"? В основе larrabee - несколько десятков ядер с набором инструкций x86 + специальные расширения. Все ядра имеют доступ к одному общему адресному пространству памяти. То есть, теоретически после некоторых изменений на таком процессоре можно запустить обычный PC-шный софт (ту же операционку, к примеру). А главное - larrabee почти не имеет железа, предназначенного только для ускорения графики, как в обычных видео-картах. Предпологается, что такие задачи как z-буффер, обрезание, смешивание цветов и прозрачность будут выполняться на программном уровне. Это даст возможность программистам использовать их собственные алгоритмы рисования, не ограничиваясь набившими оскомину треугольниками. Из числа особо интересных применений можно отметить реалтайм трассировку лучей и физику.

Иными словами, пошел очередной виток спирали: компы превращаются в терминалы, а рендеринг опять становится программным :)