Перейти к содержанию
    

Помогите разобраться с протоколами и интерфейсами

Всем привет!

 

Я не так давно разобрался с самим PIC МК и честно сказать, он мне очень понравился. Хотелось бы теперь прояснить возможность коллективной работы МК с компом или компа с МК. Но у меня проблема, я не могу понять какой интерфейс/протокол мне использовать. И можно ли напрямую соеденить МК с компом и что для этого нужно? Или необходимо использовать специальные ИМС, которые с начало преобразуют твои данные под определенный стандарт, а потом в обратную сторону? :07:

 

Также, если у тебя есть диаграммы последовательности подачи сигналов (подать сигнал разрешения записи и т.п.), то чтобы сформировать эту последовательность, надо паясть схему или можно сделать програмку на компе, например на Си?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Всем привет!

 

Я не так давно разобрался с самим PIC МК и честно сказать, он мне очень понравился. Хотелось бы теперь прояснить возможность коллективной работы МК с компом или компа с МК. Но у меня проблема, я не могу понять какой интерфейс/протокол мне использовать. И можно ли напрямую соеденить МК с компом и что для этого нужно? Или необходимо использовать специальные ИМС, которые с начало преобразуют твои данные под определенный стандарт, а потом в обратную сторону? :07:

 

Также, если у тебя есть диаграммы последовательности подачи сигналов (подать сигнал разрешения записи и т.п.), то чтобы сформировать эту последовательность, надо паясть схему или можно сделать програмку на компе, например на Си?

 

С компьютером можно общаться например по COM порту. Для этого необходима 1 микросхемка - например MAX232, для преобразование физичексого уровня сигналов. Многия микроконтроллеры имеют на борту встроенный UART, т.е. аппаратную реализацию этого интерфейса, однако не все :). Что касается проектов - можно посмотрет на http://www.telesys.ru/projects.shtml

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вашу задачку можно разбить на три вопроса:

железная составляющая:

COMпорт работаетс уровнями +/-12 вольт, а контроллеру нужны 0/5. Есть как микросхемки-согласователи - выше советовали, так и простые варианты на двух транзисторах и пяти резисторах с кондером. Цена у второго варианта раз в 8-9 меньше.

низкоуровневый обмен - "обмен байтиками". Как уже сказали. подавляющее большинство контроллеров имеет модуль UART - читайте даташит на Ваш камень ... или же нужно использвать ег опрограммную эмуляцию - примеров в Сети тьма.

высокоуровневый обмен - "обмен данными". Для номального обмена, поддержки целостности и контроля применяют тоже тьму разных протоколов. Простой вариант, с поддержкой как со стороны компа так и контроллера - протокол WAKE -- поищите в Сети - красивое описание и идея.

 

Вот.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Удивительно что PIC вам понравился... Ну да ладно.

COM уже морально умер.

Советую мост USB-UART нападобие FT232RL. Подключаете к МК, в компе появляется новый виртуальный COM, ПО на компьютере работает как с COM портом. Плюс еще куча наворотов: ункальный ID микросхемы, Flash память, огромная скорость, возможность работать от питания USB.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Простите, но позвольте перефразировать:

"Хочешь научится ездить на велосипеде? Это устарело! К50 "Черная акула" крутая пушка, высокая скорость и хороший прицел! Да еще и винт соосный - никакой фигни на хвосте!"

 

Не стерпел :( грохните это, модераторы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Простите, но позвольте перефразировать:

"Хочешь научится ездить на велосипеде? Это устарело! К50 "Черная акула" крутая пушка, высокая скорость и хороший прицел! Да еще и винт соосный - никакой фигни на хвосте!"

 

Не стерпел :( грохните это, модераторы.

Абсолютно глупо. Большинство новых компьтеров не имеют COM порта, так что ориентироваться на него при разработке нового устройства мягко говоря нелогично. По обвязке FT232RL проще ваших конверторов уровней для RS-232. В плане написания программ также все абсолютно идентично, как со стороны МК, так и со стороны ПК. Не хотите использовать дополнительные функции - и не надо. Драйверы уже давно идут в комплекте с Windows. Единственный минус - цена 4$, но учитывая плюсы...

P.S. Я ведь не Ethernet или FireWire порекомендовал...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А если использовать PIC со встроенным USB или Ethernet, то можно обойтись и вовсе без внешних преобразователей :yeah: .

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Абсолютно глупо. Большинство новых компьтеров не имеют COM порта, так что ориентироваться на него при разработке нового устройства мягко говоря нелогично. По обвязке FT232RL проще ваших конверторов уровней для RS-232. В плане написания программ также все абсолютно идентично, как со стороны МК, так и со стороны ПК. Не хотите использовать дополнительные функции - и не надо. Драйверы уже давно идут в комплекте с Windows. Единственный минус - цена 4$, но учитывая плюсы...

P.S. Я ведь не Ethernet или FireWire порекомендовал...

Никакой принципиальной разницы в организации обмена данными МК с PC через COM-порт или посредством моста USB-COM нет. Так что программа, написанная для МК, будет одинаково работать как с обычным COM-портом, так и виртуальным. А вот в программе которая со стороны PC при использование моста USB-COM (в отличие от стандартного COM-порта) можно получить некоторый геморрой. Особенно, если конвертор на FT232R будет изготовлен не совсем схемотехнически корректно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Никакой принципиальной разницы в организации обмена данными МК с PC через COM-порт или посредством моста USB-COM нет. Так что программа, написанная для МК, будет одинаково работать как с обычным COM-портом, так и виртуальным. А вот в программе которая со стороны PC при использование моста USB-COM (в отличие от стандартного COM-порта) можно получить некоторый геморрой. Особенно, если конвертор на FT232R будет изготовлен не совсем схемотехнически корректно.

Опа! А вот с этого момента поподробней пожалуйста... Просто уже сделали не одну сотню устройств с FT232 и под несколько программ, а геморой не появлялся... Можно конкретнее где могут быть ошибки в схемотехнике и где могут появиться грабли в ПО?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Опа! А вот с этого момента поподробней пожалуйста... Просто уже сделали не одну сотню устройств с FT232 и под несколько программ, а геморой не появлялся... Можно конкретнее где могут быть ошибки в схемотехнике и где могут появиться грабли в ПО?

Я не сказал что будут, а что могут быть. Я раз за вас, что у вас все хорошо и гладко. Однако прочитайте как называется данный раздел форума? Прочитали? Совсем не обязательно, что абсолютно любой начинающий так же профессионально как вы сможет изготовить USB-устройство и написать программу. Не так ли? ;)

Я ничуть не агитирую против USB-COM или только за RS-232. Но и фанатизма по поводу USB не нужно. У начинающего должно остаться право осознанного выбора. А чтобы помочь сделать выбор не мешало бы описать все возможные варианты. Опять же без фанатизма ;)

P.S. если уж на то пошло, то почему бы вместо отдельной м/с моста USB-COM не предложить начинающему готовый Data-cable?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я не сказал что будут, а что могут быть. Я раз за вас, что у вас все хорошо и гладко. Однако прочитайте как называется данный раздел форума? Прочитали? Совсем не обязательно, что абсолютно любой начинающий так же профессионально как вы сможет изготовить USB-устройство и написать программу. Не так ли? ;)

Я ничуть не агитирую против USB-COM или только за RS-232. Но и фанатизма по поводу USB не нужно. У начинающего должно остаться право осознанного выбора. А чтобы помочь сделать выбор не мешало бы описать все возможные варианты. Опять же без фанатизма ;)

P.S. если уж на то пошло, то почему бы вместо отдельной м/с моста USB-COM не предложить начинающему готовый Data-cable?

 

Я тоже никак не агитирую USB, просто для начинающего будт проще обвязать FT232RL чем MAX232...

На обвязку из обязательного нужен 1 конденсатор на 100н. А удоволетворение тем более начинающий сможет получить больше от сознания того, что сделал что-то в ногу со временем, а не собрал ламповый приемник. (никоим образом не хочу обидеть любителей ламп).

А в готовом Data-cable стоит таже микросхема. Ну да ладно. Чего спорить. И то и то по сути одно и то же.

Из простых вариантов также можно предложить LPT. Но тут есть заковырка с софтом на компьютер, для Windows тут точно граблей накидано целое поле. Разве что есть опыт написания драйверов или опыт работы с чужими драйверами. А в остальном очень красиво - ножки на выход, ножки на вход - 0-5 В, с ограничением тока, с приличной скоростью. Но ИМХО устарело еще больше чем COM.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гы ,нашли о чем спорить :)

Чем по большому счету FT232 отличается от MAX232?

Тем что тыкается в разные дырки? :)

Обмен с МК останется ведь тотже.

 

Еще ,киньте ЮСБ кабель метров на 20 и тогда поймете где заканчиваются преимужества ЮСБ.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гы ,нашли о чем спорить :)

Чем по большому счету FT232 отличается от MAX232?

Тем что тыкается в разные дырки? :)

Обмен с МК останется ведь тотже.

 

Еще ,киньте ЮСБ кабель метров на 20 и тогда поймете где заканчиваются преимужества ЮСБ.

Тогда вам по пути RS-485, CAN, Ethernet.

С RS-485 все понятно, писать смысла нет.

CAN - рекомендую от Microchip трансиверы и от Atmela AVR со встроенным CAN контролером.

Ethernet - активно используем решение от Silicon Laboratories.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Еще ,киньте ЮСБ кабель метров на 20 и тогда поймете где заканчиваются преимужества ЮСБ.
Кидаться кабелем непрактично. Во-первых, кабель может обратно уже и не вернуться, а во-вторых, что ещё хуже, вернуться с приданным извне ускорением :) . Если серьёзно, то RS232 на 20-ти метрах, тоже, как-то не очень, а интерфейсы RS485 или RS422 присутствуют на ещё меньшем количестве сугубо специфичных компьютеров, что, тем не менее, не мешает эти интерфейсы активно использовать :) .

 

Если автора темы устраивают контроллеры Microchip, то он может посмотреть на примеры применения PIC18F4550 или PIC18F2550, которых на сайте производителя достаточно для начала работы и с USB, и с USART. Ещё информацию можно почерпнуть здесь: http://www.gamma.spb.ru/articles.php?i=29

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Господа, начинающему человеку с головой хватит RS232-UART . К USB перейдет потом на основе полученного опыта, и никуда RS232 не уходит, просто новые ноуты проектируют отнюдь не для промышленной автоматики. Но если очень припечет юзать такой бук - есть куча микрух или готовых переходников...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...