Рейтинг
22.58
голосов: 21

О блоге

Описание интерфейсных решений. Примеры работы с железом со стороны компа.

Администраторы (1)

Модераторы (0)

Модераторов здесь не замечено

Читатели (170)

dcoder vvzvlad hexFF foxit Moocher XANDER WildCat kest hexanaft Vga Alatar mzw Reverb tda2030 mist grand1987 dievgen kvm labor neiver

Все читатели блога

Подключение микроконтроллера к локальной сети: TCP-клиент

В этой части мы поговорим про TCP и напишем небольшое приложение, использующее этот протокол.

Краткое содержание:

  • Введение в TCP
  • Программный интерфейс и простенький пример
  • Реализация
  • Пример побольше
  • Заключение


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

Подключение микроконтроллера к локальной сети: Широковещательные сообщения и DHCP

В этой части мы поговрим про широковещательные сообщения и, наконец-то, закончим с UDP.

Краткое содержание:

  • Широковещательные сообщения
  • Отправка и приём
  • DHCP
  • Заключение


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

Подключение микроконтроллера к локальной сети: UDP-клиент

В этой части мы продолжим писать наш стек протоколов. Добавим возможность отправлять UDP-пакеты на любой IP-адрес и научимся получать данные с удалённого сервера.

Краткое содержание:

  • Введение в роутинг
  • ARP-ресолвер
  • Отправка пакетов
  • Пример работы со стеком
  • Заключение


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

Подключение микроконтроллера к локальной сети: UDP-сервер

В этой части мы напишем простенький стек протоколов для работы с UDP в роли сервера и приложение, работающее с компом по UDP.

Краткое содержание:

  • Полезные штуки
  • Стек протоколов
  • Протокол Ethernet
  • ARP
  • IP
  • ICMP
  • UDP
  • Пишем приложение
  • Заключение


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

Подключение микроконтроллера к локальной сети: работаем с ENC28J60

Эта часть полностью посвящена работе с ENC28J60.

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

Но даташит всё равно может пригодится. А так же еррата.

Краткое содержание:

  • Включение ENC28J60
  • Архитектура ENC28J60
  • Обмен данными по SPI
  • Инициализация
  • Отправка пакетов
  • Приём пакетов
  • Заключение

Примеры кода написаны под AVR. Впрочем из платформенно-зависимых вещей тут только работа со SPI.



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

Подключение микроконтроллера к локальной сети

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

Тем более, существует микросхема, позволяющая микроконтроллеру прекрасно чувствовать себя в сети Ethernet. А именно, ENC28J60, разработка вражеской компании Microchip. Об её использовании мы и поговорим.

Вообще-то, Ethernet — достаточно обширная тема. В один пост явно не поместится. Так что частей будет несколько.

Эта первая часть, и как обычно, — вводная и обзорная.


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

Универсальный преобразователь UART-USB на основе FT232R

При изготовлении почти любого устройства с процессорным управлением встаёт необходимость обеспечить его связь с компьютером. Причём зачастую эта связь нужна только при отладке и в дальнейшей работе прибора совершенно не требуется. А порой и сам прибор в дальнейшем не требуется — так, один раз поиграл и засунул в дальний ящик. Лепить в каждом таком девайсе преобразователь интерфейса с обвязкой лень, да и жаба душит. А ведь ещё и разъём нужен… Что бы не возникало таких проблем нужно под рукой иметь внешний преобразователь интерфейса, легко подключаемый к тому девайсу, с которым сейчас работаешь.


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

Китайские адаптеры USB-COM

Купил на DX парочку адаптеров. Раз и два. Судя по комментариям — эти лоты та еще лотерея. Варианты:
  • PL2303+MAX211
  • PL2303
  • CH341+MAX211
  • CH341
Мне попались четные, т.е. уровни там не сильно RS-232 соответсвуют. Ндаааа. Удлинители в комплекте кстати дерьмо, через них даже сами адаптеры не всегда опознаются, а о чем-то более скоростном, вроде флешек, и говорить не приходится.

Применение. Оно таки нашлось) После того, как спаял дата-кабель к своему PV (древняя КПК-шка, наружу торчит вполне полноценный DTE-COM на MAX3243) — решил проверить совместимость с адаптерами. С CH341 фиг, а вот на PL2303 завелось. Уже хоть что-то, хотя передает иногда с ошибками :(
Уровни у донгла на PL2303 — TTL 0V и 5V. Решил сделать их хотя бы разнополярными, +-2.5V. Впихнул внутрь стабилизатор на 2.5В на TL431, подключил к его выходу сигнальную землю выходного разьема. Фиг его знает, стало ли лучше, но с КПК работает.

С пинбордом через адаптер на MAX232 тоже работает, позволяя отлаживать через жтаг и одновременно общаясь с контроллером по уарту. Но лишняя платка (которую к тому же неудобно подключать, т.к. питание и землю надо тянуть отдельно от сигнальных линий и одним шлейфом не отделаешься) как-то не радует. Ладно, проверим второй.
Втыкаем, врубаем терминал, любуемся абракадаброй. Тык мультиметром в TX модуля… 0В. Зараза, инвертирует. Так и не понял, фигли ж оно тогда не работает с КПК — вроде полярность та же, что и у RS-232. Возможно, неправильная полярность какого-то из управляющих сигналов. Воткнул инвертор — заработало. Запилил кабель с коннектором под пинборд, из хвостика от старой мыши. Отлично, можно дебажить девайс, управляемый только через UART, через JTAG.

Фоткать адаптеры смысла нет — на DX фото есть, а жуткий навесной монтаж через матовый корпус все равно не видно)

P.S. Как выяснилось, PL2303 в этих адаптерах поддельная. В WinXP работает нормально, а в Win7 выдает ошибку «код 10». Лечится более старой версией дров (1.0.13), которую, однако, не так легко найти. В аттаче лежат дрова этой версии (ахтунг, архив на самом деле 7z), плюс какой-то патченый вариант, поддерживающий скорости до 1625000 bps (а этот на самом деле rar).
  • +1
  • 13 марта 2011, 21:34
  • Vga
  • 2

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


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


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

RS232. Взгляд изнутри

Последовательный порт (далее ПП) удобный инструмент для общения между разными периферийными устройствами (как собранные самостоятельно на основе какого-нибудь МК, так и заводские: принтеры, осциллографы и т.д.) с одной стороны, и ПК с другой. На сегодняшний день наиболее популярные из всех ПП являются RS232 стандарт (переводится как «Recommended Standard») за его простоту и USB стандарт («Universal Serial BUS») за его резвость.


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