Необходим совет по работе с AVR и proteus

Есть следующая задача — нужен коммутатор UART (1 ком порт раскидать на 11 портов).
Использую Atmega16 + max232 (1 на входе и 6 на выходе).
Выбрал atmega16 потому, что необходимо 24 пина под I/O — 2 пина (RX TX ком порта) и 22 пина (11-RX и 11-TX ) для подключения периферии (сервера с консолью по ком порту).
Итак цель — получить возможность коммутировать один COM порт на 11 COM потребителей.
Первое что пришло в голову — просто соединить передающие пины с принимающими портами. По i2c приходит команда переключить порт
и вызывается макрос который в зависимости от состояния пина ставит требуемый порт. Библиотека для работы с i2c — сторонняя (Pascal Stang — Copyright (C) 2002-2003).


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

Управление GSM модулем с AVR (часть 2)

AVR
В предыдущей части мы отправляли команды на модуль.



Теперь о получении команд с модуля.


Читать дальше
  • +2
  • 23 сентября 2013, 17:00
  • ilus
  • 4

Управление GSM модулем с AVR (часть 1)

AVR
Идея проекта: спроектировать устройство на базе микроконтроллера AVR для управления готовым GSM модулем (я выбрал модуль TC35 от SIEMENS, но можно использовать любой другой, если используется связь через последовательный порт RS232). Устройство должно быть компактным, минимально простым и надёжным.

Отправка заранее записанного в память сообщения на указанный номер должна выполняться после нажатия кнопки. Всего нужно было 6 кнопок для отправки на 6 различных номеров. Для индикации процессов были выбраны 3 светодиода (Ready, Send, Error), но в последствии был добавлен алфавитно цифровой LCD 16x2 (скорее, для отладки устройства, чем для обычного использования).

Проектировалось всё дело на плате Pinboard II (Rev 2) со стандартным процессорным модулем на ATmega16. На готовом устройстве схема была немного другой (и микроконтроллер использовался ATmega8). Программа писалась в AVR Studio 4.19. В проекте были использованы различные заголовочные файлы (#include) для переключения между Pinboard и готовым устройством.

Общая схема системы:



Читать дальше
  • +6
  • 23 сентября 2013, 15:10
  • ilus
  • 1

Кросс-платформенный терминал

На написание сподвигло отсутствие вменяемых альтернатив с embedded-направленностью (работа на уровне байтов и т.д.) под Linux.



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

Доступ к последовательным портам из браузера через сервер

Преимущества такого решения:

  1. кросс-платформенность — Windows/Linux/MacOS/Android;
  2. удаленный доступ с разных компьютеров/планшетов/смартфонов;
  3. для внесения изменений не нужна перекомпиляция — достаточно перегрузить страницу;
  4. простота создания интерфейса, особенно при использовании библиотек типа jQuery.

    Например, полноценный терминал в 200 строк HTML+JS:


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

Управляем устройством с Андроида по DTMF




По работе (SIP телефония) переодически бывает нужен DTMF бипер.Недавно старый китайский сломался, а новых на Митьке не нашел.Похоже эра «АОН» и разных «причиндалов» закатилась :)Решил написать для своего мобильника Samsung Galaxy S бипер, а заодно реализовать управление разными железками по DTMF через аудио выход.Создатели Андроида вообще постарались оградить пользователей от «железа», но аудио выход к счастью ограничеть по понятным причинам не могут.Схема подключения к аудио выходу проста как правда.Это микросхема DTMF декодера, стоит порядка 20руб.Если набираем на клавиатуре 1,2,4,8 и нажимаем SEND то получаем «бегущий огонь».Можно включать выключать нагрузки по отдельности.Есть возможность вводить паузу между переключениями.Можно прикрутить чтение данных по переключениям из файла или скриптовый язык.Но это может быть, позднее.Много работы.Может кому-то пригодится.Андроиды стремительно дешевеют, а как база для автоматизации вполне не плохи.В следущий раз напишу как в AUDIO выход выдавать RS232 данные, там можно что-то посерьезнее поавтоматизировать. :)
  • 0
  • 08 октября 2012, 09:47
  • alexhi
  • 1

Выбор преобразователя RS-232 to Ethernet

Всем привет!

Такое вот дело, есть дельце одно, короче для него нужны преобразователи RS232 to Ethernet. Для начала нужна партия 38 штук. Смотрел разные варианты, Moxa Слишком дорогие, заказчик не тянет, нашёл вполне подходящий вариант — это WIZ110SR По цене вроде не плохо, но интересен вопрос, работал с ними кто нибудь? Как они себя показывают? И заказывал кто нибудь их из кореи? Как там с этим делом, или проще поискать в местных магазинах?

Может кто то ещё знает неплохие преобразователи?

Заранее спасибо!

PIC10F222 + Soft UART

Наконец то я осилил программный UART на PIC10F222!
Работает на 1200 бод при цастоте микроконтроллера 8МГц, не принимает быстрый поток, но посимвольно с малюсенькой задержкой (для явно выраженных start и stop битов) работает отлично.

Схема:


Исходник

Еще немного о 1-wire + UART

Доделал софтину для ручной работы с 1-wire устройствами через UART.
1w_on_com.PNG



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

Китайские адаптеры 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