Всім привіт!

Напередодні 8 березня вирішив зробити своїй коханій невеликий подарунок з використанням тих інструментів, якими найчастіше доводиться користуватися на роботі. Маючи трохи вільного часу, я подумав, а чому б не написати невелику статтю на хабре з цього приводу. Це відмінна можливість привітати всіх жінок і, зокрема, нечисленний жіночий склад співтовариства хабрахабр. Стаття написана "just for fun" і не має ніякого наукового внеску, не несе великого смислового навантаження, але може бути корисна початківцям розробникам в області ПЛІС. Я розповім які кошти використані для отримання кінцевого результату і що з цього взагалі вийшло. У статті ви побачите мерехтливі сердечка і біжить текст на світлодіодної матриці 8x8, яка управляється невеликий старенької ПЛІС. В кінці статті ви знайдете відео-демонстрацію спільної роботи ПЛІС і матриці світлодіодів.



Читати далі →

Доброго дня! Ми одні з переможців хакатона MIPfpga, у цій статті розповімо, як підключати модулі в систему на кристалі на основі MIPSfpga на прикладі клавіатури Pmod KYPD. Також ознайомимо з написанням програми для управління підключених модулів.
image
→ Опис клавіатури знайдете тут

Pmod KYPD — 16-кнопкова клавіатура з цифрами в шістнадцятковому форматі (0-F). Опитування відбувається способом почергової подачі логічного 0 на кожен стовпчик і зчитування стану рядків. Якщо в момент опитування стовпця одна з кнопок у ньому натиснута, відповідний рядок видасть логічну 1.

Читати далі →


Передмова
Мене давно цікавила тема обробки відео, ось тільки на налагоджувальних хустках 7-х та 9-х ARM-ів це виходило дуже повільно і від цього ставало не цікаво.

В даний час повним-повно потужного багатоядерного заліза і створено багато бібліотек для роботи з відео, але мій вибір припав на ПЛІС.

Читати далі →

Доброго часу доби! Сьогодні я поділюся досвідом розробки програми для контролера ROBO TX від німецької фірми Fischertechnik. Можливо, на даний момент він не є топовою моделлю, однак базові принципи, які я збираюся описати далі, можуть бути корисні юним розробникам, які зіткнуться з контролерами цього виробника.

Контролер ROBO TXimage

Даний контролер в основному призначений для конструювання простих роботів з метою навчання. У комплекті йде графічна середовище програмування, яка допомагає закласти в нього прості алгоритми. Також хлопці з російського представництва Fischertechnik підказали, що є динамічна бібліотека c API від творців, яка надає повний контроль і дозволяє вирішувати необхідні завдання більш гнучко вже шляхом розробки власного софта, що як раз і сталося в моєму випадку.

Читати далі →

Всім привіт! У цій статті мова піде про реалізації швидкого перетворення Фур'є в форматі з плаваючою точкою на ПЛІС. Будуть показані основні особливості розробки ядра від першої стадії до готового конфигурируемого IP-ядра. Зокрема, буде проведено порівняння з готовими ядрами фірми Xilinx, показано переваги та недоліки тих чи інших варіантів реалізації. У статті буде розказано про головну особливості ядра ШПФ і ОБПФ — про відсутність необхідності переводити дані в натуральний порядок після ШПФ і ОБПФ для їх спільної зв'язки. У цій статті я постараюся відобразити всі тонкощі реалізації проекту під назвою FP23FFTK, наведу реальні приклади використання готового ядра. Проект написаний на мові VHDL і заточений під FPGA фірми Xilinx останніх колекцій.



Читати далі →

Наступну статтю я хочу присвятити роботі з поширеним інтерфейсом i2c, досить часто використовується в різноманітних мікросхемах, що підключаються до мікроконтролера.

I2C являє собою шину працюючу по двом фізичним з'єднанням (крім загального проводу). Досить багато про неї розписано в Інтернеті, непогані статті є Вікіпедії. Крім того алгоритм роботи шини дуже зрозуміло описаний тут. Коротко, шина представлять собою двопровідну синхронну шину. На шыне може одночасно перебуває до 127 пристроїв (адресу пристрою 7-бітний, до цього повернемось далі). Нижче наведена типова схема підключення пристроїв до шині i2c, з МК в якості ведучого пристрою.



Читати далі →

Засоби програмування PIC-контролерів

Введення
PIC-контролерів залишаються популярними в тих випадках, коли потрібно створити недорогу компактну систему з низьким енергоспоживанням, не предъявляющую високих вимог щодо її управління. Ці контролери дозволяють замінити апаратну логіку гнучкими програмними засобами, які взаємодіють із зовнішніми пристроями через хороші порти.

Мініатюрні PIC контролери гарні для побудови перетворювачів інтерфейсів послідовної передачі даних для реалізації функцій «прийом – обробка – передача даних» і нескладних регуляторів систем автоматичного управління.

Компанія Microchip поширює MPLAB — безкоштовну інтегровану середу редагування і відладки програм, яка записує двійкові файли у мікроконтролери PIC через програматори.

Взаємодія MPLAB і Matlab/Simulink дозволяє розробляти програми для PIC-контролерів в середовищі Simulink — графічного моделювання й аналізу динамічних систем. У цій роботі розглядаються засоби програмування PIC контролерів: MPLAB, Matlab/Simulink і програматор PIC-KIT3 в наступних розділах.

• Характеристики мініатюрного PIC контролера PIC12F629
• Інтегрована середовище розробки MPLAB IDE
• Підключення Matlab/Simulink до MPLAB
• Підключення програматора PIC-KIT3

Читати далі →

MIPSfpga і SDRAM. Частина 1

На цьому тижні я закінчив роботу по додаванню підтримки SDRAM в проект MIPSfpga-plus. Тепер при роботі з MIPSFpga крім блокової пам'яті, обмеженою ресурсами ПЛІС, доступний ще й зовнішнє ОЗП.
Дана стаття складається з 2 частин:
Частина 1. Короткий опис модуля доступу до SDRAM. Приклад використання.
Частина 2. Докладний опис роботи з пам'яттю, достатню для того, щоб у роботі модуля зміг розібратися осіб, раніше не мав справи з мікросхемами ПАМ'ЯТІ. Список літератури.
Передбачається, що читач як мінімум:
  • знайомий з предметною областю в обсязі підручника Харріс-енд-Харріс [1];
  • має досвід програмування на C, асемблері, використання gcc;
  • має мінімальний досвід роботи з MIPSfpga. Не маючи такого досвіду, буде логічним почати з більш простих речей, і лише потім думати про те, як використовувати ОЗП в своїй системі.
Якщо ви вже досвідчений розробник, то Частина 1 варто пробігти очима по діагоналі, Частина 2 — не містить для вас нічого нового. При цьому ви можете принести безперечну користь суспільству, якщо додасте підтримку SDRAM для ще однієї налагоджувальної плати. На поточний момент вона реалізована тільки для Terasic DE10-Lite — однієї з 9 плат, на які в рамках проекту MIPSfpga-plus було портировано ядро MIPSfpga.
Читати далі →

MIPSfpga і SDRAM. Частина 2

Посилання першу частину
Розглянута нами конфігурація складається з наступних елементів:
image
Шина AHB-Lite
Є основним інструментом для спілкування ядра MIPSfpga з зовнішнім світом. З неї в модуль доступу до SDRAM надходять команди на читання і запис інформації, за нею ж передаються зчитуються і записувані дані. Основна особливість: фаза адреси наступної команди збігається за часом з фазою даних поточної команди. Найкраще це видно на наступній діаграмі:
image
Короткий опис зображених сигналів: HCLK — тактовий сигнал; HADDR — адресу, дані по якому ми хочемо записати або прочитати на наступній фазі, задається майстром; HWRITE — при високому рівні на наступній фазі повинна бути проведена операція запису, виставляється майстром; HRDATA — прочитані дані; HREADY — прапор завершення поточної операції; HWDATA — записувані дані, виставляються майстром. Документація на шину, включаючи опис всіх сигналів та їх можливих комбінацій входить до складу пакету MIPSfpga.
Читати далі →

Управління світлодіодною стрічкою WS2801 з використанням Raspberry Pi і iOS

Всім привіт!
Ця стаття містить вихідні коди програми для операційної системи iOS, мета якого управління світлодіодною стрічкою WS2801, підключеної до Raspberry PI.

Читати далі →