Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Помогите разобраться с протоколами и интерфейсами
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему
Sky Lord
Всем привет!

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

Также, если у тебя есть диаграммы последовательности подачи сигналов (подать сигнал разрешения записи и т.п.), то чтобы сформировать эту последовательность, надо паясть схему или можно сделать програмку на компе, например на Си?
rumit2000
Цитата(Sky Lord @ Jun 14 2007, 10:06) *
Всем привет!

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

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


С компьютером можно общаться например по COM порту. Для этого необходима 1 микросхемка - например MAX232, для преобразование физичексого уровня сигналов. Многия микроконтроллеры имеют на борту встроенный UART, т.е. аппаратную реализацию этого интерфейса, однако не все smile.gif. Что касается проектов - можно посмотрет на http://www.telesys.ru/projects.shtml
AndryG
Вашу задачку можно разбить на три вопроса:
железная составляющая:
COMпорт работаетс уровнями +/-12 вольт, а контроллеру нужны 0/5. Есть как микросхемки-согласователи - выше советовали, так и простые варианты на двух транзисторах и пяти резисторах с кондером. Цена у второго варианта раз в 8-9 меньше.
низкоуровневый обмен - "обмен байтиками". Как уже сказали. подавляющее большинство контроллеров имеет модуль UART - читайте даташит на Ваш камень ... или же нужно использвать ег опрограммную эмуляцию - примеров в Сети тьма.
высокоуровневый обмен - "обмен данными". Для номального обмена, поддержки целостности и контроля применяют тоже тьму разных протоколов. Простой вариант, с поддержкой как со стороны компа так и контроллера - протокол WAKE -- поищите в Сети - красивое описание и идея.

Вот.
SunnyDevil
Удивительно что PIC вам понравился... Ну да ладно.
COM уже морально умер.
Советую мост USB-UART нападобие FT232RL. Подключаете к МК, в компе появляется новый виртуальный COM, ПО на компьютере работает как с COM портом. Плюс еще куча наворотов: ункальный ID микросхемы, Flash память, огромная скорость, возможность работать от питания USB.
AndryG
Простите, но позвольте перефразировать:
"Хочешь научится ездить на велосипеде? Это устарело! К50 "Черная акула" крутая пушка, высокая скорость и хороший прицел! Да еще и винт соосный - никакой фигни на хвосте!"

Не стерпел sad.gif грохните это, модераторы.
SunnyDevil
Цитата(AndryG @ Jun 14 2007, 15:05) *
Простите, но позвольте перефразировать:
"Хочешь научится ездить на велосипеде? Это устарело! К50 "Черная акула" крутая пушка, высокая скорость и хороший прицел! Да еще и винт соосный - никакой фигни на хвосте!"

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

Абсолютно глупо. Большинство новых компьтеров не имеют COM порта, так что ориентироваться на него при разработке нового устройства мягко говоря нелогично. По обвязке FT232RL проще ваших конверторов уровней для RS-232. В плане написания программ также все абсолютно идентично, как со стороны МК, так и со стороны ПК. Не хотите использовать дополнительные функции - и не надо. Драйверы уже давно идут в комплекте с Windows. Единственный минус - цена 4$, но учитывая плюсы...
P.S. Я ведь не Ethernet или FireWire порекомендовал...
Mike18
А если использовать PIC со встроенным USB или Ethernet, то можно обойтись и вовсе без внешних преобразователей yeah.gif .
rezident
Цитата(SunnyDevil @ Jun 14 2007, 18:49) *
Абсолютно глупо. Большинство новых компьтеров не имеют COM порта, так что ориентироваться на него при разработке нового устройства мягко говоря нелогично. По обвязке FT232RL проще ваших конверторов уровней для RS-232. В плане написания программ также все абсолютно идентично, как со стороны МК, так и со стороны ПК. Не хотите использовать дополнительные функции - и не надо. Драйверы уже давно идут в комплекте с Windows. Единственный минус - цена 4$, но учитывая плюсы...
P.S. Я ведь не Ethernet или FireWire порекомендовал...

Никакой принципиальной разницы в организации обмена данными МК с PC через COM-порт или посредством моста USB-COM нет. Так что программа, написанная для МК, будет одинаково работать как с обычным COM-портом, так и виртуальным. А вот в программе которая со стороны PC при использование моста USB-COM (в отличие от стандартного COM-порта) можно получить некоторый геморрой. Особенно, если конвертор на FT232R будет изготовлен не совсем схемотехнически корректно.
SunnyDevil
Цитата(rezident @ Jun 14 2007, 19:38) *
Никакой принципиальной разницы в организации обмена данными МК с PC через COM-порт или посредством моста USB-COM нет. Так что программа, написанная для МК, будет одинаково работать как с обычным COM-портом, так и виртуальным. А вот в программе которая со стороны PC при использование моста USB-COM (в отличие от стандартного COM-порта) можно получить некоторый геморрой. Особенно, если конвертор на FT232R будет изготовлен не совсем схемотехнически корректно.

Опа! А вот с этого момента поподробней пожалуйста... Просто уже сделали не одну сотню устройств с FT232 и под несколько программ, а геморой не появлялся... Можно конкретнее где могут быть ошибки в схемотехнике и где могут появиться грабли в ПО?
rezident
Цитата(SunnyDevil @ Jun 14 2007, 23:21) *
Опа! А вот с этого момента поподробней пожалуйста... Просто уже сделали не одну сотню устройств с FT232 и под несколько программ, а геморой не появлялся... Можно конкретнее где могут быть ошибки в схемотехнике и где могут появиться грабли в ПО?

Я не сказал что будут, а что могут быть. Я раз за вас, что у вас все хорошо и гладко. Однако прочитайте как называется данный раздел форума? Прочитали? Совсем не обязательно, что абсолютно любой начинающий так же профессионально как вы сможет изготовить USB-устройство и написать программу. Не так ли? wink.gif
Я ничуть не агитирую против USB-COM или только за RS-232. Но и фанатизма по поводу USB не нужно. У начинающего должно остаться право осознанного выбора. А чтобы помочь сделать выбор не мешало бы описать все возможные варианты. Опять же без фанатизма wink.gif
P.S. если уж на то пошло, то почему бы вместо отдельной м/с моста USB-COM не предложить начинающему готовый Data-cable?
SunnyDevil
Цитата(rezident @ Jun 14 2007, 20:53) *
Я не сказал что будут, а что могут быть. Я раз за вас, что у вас все хорошо и гладко. Однако прочитайте как называется данный раздел форума? Прочитали? Совсем не обязательно, что абсолютно любой начинающий так же профессионально как вы сможет изготовить USB-устройство и написать программу. Не так ли? wink.gif
Я ничуть не агитирую против USB-COM или только за RS-232. Но и фанатизма по поводу USB не нужно. У начинающего должно остаться право осознанного выбора. А чтобы помочь сделать выбор не мешало бы описать все возможные варианты. Опять же без фанатизма wink.gif
P.S. если уж на то пошло, то почему бы вместо отдельной м/с моста USB-COM не предложить начинающему готовый Data-cable?


Я тоже никак не агитирую USB, просто для начинающего будт проще обвязать FT232RL чем MAX232...
На обвязку из обязательного нужен 1 конденсатор на 100н. А удоволетворение тем более начинающий сможет получить больше от сознания того, что сделал что-то в ногу со временем, а не собрал ламповый приемник. (никоим образом не хочу обидеть любителей ламп).
А в готовом Data-cable стоит таже микросхема. Ну да ладно. Чего спорить. И то и то по сути одно и то же.
Из простых вариантов также можно предложить LPT. Но тут есть заковырка с софтом на компьютер, для Windows тут точно граблей накидано целое поле. Разве что есть опыт написания драйверов или опыт работы с чужими драйверами. А в остальном очень красиво - ножки на выход, ножки на вход - 0-5 В, с ограничением тока, с приличной скоростью. Но ИМХО устарело еще больше чем COM.
bodja74
Гы ,нашли о чем спорить smile.gif
Чем по большому счету FT232 отличается от MAX232?
Тем что тыкается в разные дырки? smile.gif
Обмен с МК останется ведь тотже.

Еще ,киньте ЮСБ кабель метров на 20 и тогда поймете где заканчиваются преимужества ЮСБ.
SunnyDevil
Цитата(bodja74 @ Jun 14 2007, 23:19) *
Гы ,нашли о чем спорить smile.gif
Чем по большому счету FT232 отличается от MAX232?
Тем что тыкается в разные дырки? smile.gif
Обмен с МК останется ведь тотже.

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

Тогда вам по пути RS-485, CAN, Ethernet.
С RS-485 все понятно, писать смысла нет.
CAN - рекомендую от Microchip трансиверы и от Atmela AVR со встроенным CAN контролером.
Ethernet - активно используем решение от Silicon Laboratories.
Mike18
Цитата(bodja74 @ Jun 15 2007, 00:19) *
Еще ,киньте ЮСБ кабель метров на 20 и тогда поймете где заканчиваются преимужества ЮСБ.
Кидаться кабелем непрактично. Во-первых, кабель может обратно уже и не вернуться, а во-вторых, что ещё хуже, вернуться с приданным извне ускорением smile.gif . Если серьёзно, то RS232 на 20-ти метрах, тоже, как-то не очень, а интерфейсы RS485 или RS422 присутствуют на ещё меньшем количестве сугубо специфичных компьютеров, что, тем не менее, не мешает эти интерфейсы активно использовать smile.gif .

Если автора темы устраивают контроллеры Microchip, то он может посмотреть на примеры применения PIC18F4550 или PIC18F2550, которых на сайте производителя достаточно для начала работы и с USB, и с USART. Ещё информацию можно почерпнуть здесь: http://www.gamma.spb.ru/articles.php?i=29
DRUID3
Господа, начинающему человеку с головой хватит RS232-UART . К USB перейдет потом на основе полученного опыта, и никуда RS232 не уходит, просто новые ноуты проектируют отнюдь не для промышленной автоматики. Но если очень припечет юзать такой бук - есть куча микрух или готовых переходников...
NewMaestro
Цитата(SunnyDevil @ Jun 14 2007, 14:30) *
Удивительно что PIC вам понравился... Ну да ладно


А тем людям, которые сталкиваются с микроконтроллерами впервые, всегда нравится именно тот микроконтроллер, с которым столкнулись)) Все ж в сравнении познается.

В моем универе часть "устаревших" преподавателей до сих пор не знают, что есть другие микроконтроллеры , кроме PIC, и другие интерфейсы, кроме RS-232. smile.gif

У меня дипломный проект был по частотному регулированию асинхронных двигателей. Сделано было на Микрочиповском dsPIC30F4012 (Motor Control & Power Conversion Family). После того, как я 10 минут рассказывал комиссии о 30 мипсах, об аппаратной релизации комплементарных ШИМ-каналов, об быстродействующем АЦП, способном сэмплировать синхронно 4 канала, о CAN-контроллере, об аппаратном умножителе и делителе, о DSP-ядре с помощью которого можно выполнять не только операции ЦОС, но и просто считать интеграл... один из первых вопросов был таким: "А почему Вы не сделали все это на PIC16 ?"

Ответить было нечего. Я сказал, что на PIC16 дорого lol.gif
SunnyDevil
Цитата(NewMaestro @ Jun 17 2007, 01:29) *
У меня дипломный проект был по частотному регулированию асинхронных двигателей. Сделано было на Микрочиповском dsPIC30F4012 (Motor Control & Power Conversion Family). После того, как я 10 минут рассказывал комиссии о 30 мипсах, об аппаратной релизации комплементарных ШИМ-каналов, об быстродействующем АЦП, способном сэмплировать синхронно 4 канала, о CAN-контроллере, об аппаратном умножителе и делителе, о DSP-ядре с помощью которого можно выполнять не только операции ЦОС, но и просто считать интеграл... один из первых вопросов был таким: "А почему Вы не сделали все это на PIC16 ?"

Сочувствую. Мы такие задачи и вовсе аж на FPGA решаем... yeah.gif Еще дешевле получается yeah.gif
upc2
Цитата(NewMaestro @ Jun 17 2007, 01:29) *
А тем людям, которые сталкиваются с микроконтроллерами впервые, всегда нравится именно тот микроконтроллер, с которым столкнулись)) Все ж в сравнении познается.

В моем универе часть "устаревших" преподавателей до сих пор не знают, что есть другие микроконтроллеры , кроме PIC, и другие интерфейсы, кроме RS-232. smile.gif

У меня дипломный проект был по частотному регулированию асинхронных двигателей. Сделано было на Микрочиповском dsPIC30F4012 (Motor Control & Power Conversion Family). После того, как я 10 минут рассказывал комиссии о 30 мипсах, об аппаратной релизации комплементарных ШИМ-каналов, об быстродействующем АЦП, способном сэмплировать синхронно 4 канала, о CAN-контроллере, об аппаратном умножителе и делителе, о DSP-ядре с помощью которого можно выполнять не только операции ЦОС, но и просто считать интеграл... один из первых вопросов был таким: "А почему Вы не сделали все это на PIC16 ?"

Ответить было нечего. Я сказал, что на PIC16 дорого lol.gif


Наверно ваши преподаватели вас просто пожалели.Разработчик электронной аппаратуры прежде
всего должен думать об аппаратной избыточности.Вы использовали многозадачный микроконтроллер
для решения простой задачи.Очень много его функций вами не использовалось.Поэтому и был задан резонный вопрос о PIC16, а вы на этот вопрос не ответили.Цена должна быть на втором месте, а на
первом- целесобразность применения того или иного устройства при решении конкретной задачи.
SunnyDevil
Цитата(upc2 @ Jun 18 2007, 08:09) *
Наверно ваши преподаватели вас просто пожалели.Разработчик электронной аппаратуры прежде
всего должен думать об аппаратной избыточности.Вы использовали многозадачный микроконтроллер
для решения простой задачи.Очень много его функций вами не использовалось.Поэтому и был задан резонный вопрос о PIC16, а вы на этот вопрос не ответили.Цена должна быть на втором месте, а на
первом- целесобразность применения того или иного устройства при решении конкретной задачи.

ЧТО???
Этот процессор идеально подходит для управления двигателями. Если вы сделаете 3х фазное векторное управление с обратной связью по токам с расчетом магнитного потока и проскальзывания вала двигателя и с ШИМ'ом хотя бы на 20 кГц, с выходной частотой хотя бы на 100 Гц на PIC16, то вы можете смело требовать поставить себе памятник! Тем более что ответ на вопрос цены был шуткой, которую наверное преподователи даже не поняли.
SALOME
Цитата(SunnyDevil @ Jun 15 2007, 00:21) *
Можно конкретнее где могут быть ошибки в схемотехнике и где могут появиться грабли в ПО?

конкретно с последовательным FT232 в рассыпухе работать не приходилось (сразу перешли на параллельный FT245). Однако имеется негативный опыт использования готовых DATA кабелей с оными микросхемами. Как-то: не на каждом компе сразу устанавливается, просит драйвера. С виртуальными портами не каждая программа хочет работать, не говоря уже про DOS (извините за такую крамолу). У меня на компе был один СОМ порт, который постоянно использовался для одной старой DOS программы. Чтобы не перетыкать кабель модема (тоже через СОМ порт, уж извините) пришлось купить готовый переходник USB-COM на этой самой микрухе. Дык вот: каждый раз после включения компьютера XP удивлялся, что у него появилось новое устройство и вместе со мной начинал его устанавливать, а потом удивлялся, что к созданному им виртуальному порту подключен еще и модем и тоже радостно его устанавливали. Слава богу эта мать с одним СОМ портом сгорела и теперь у меня их два. А переходников валяется 3 штуки разных производителей и каждый со своими развлекалками.
alexander23
Цитата(SunnyDevil @ Jun 14 2007, 15:30) *
Удивительно что PIC вам понравился... Ну да ладно.
COM уже морально умер.
Советую мост USB-UART нападобие FT232RL. Подключаете к МК, в компе появляется новый виртуальный COM, ПО на компьютере работает как с COM портом. Плюс еще куча наворотов: ункальный ID микросхемы, Flash память, огромная скорость, возможность работать от питания USB.


Скажите с этим FT232 действительно так просто работать или Вы упростили до нуля ?
Как по пунктам сделать USB с этой мкс(com on pic-no problem for me)?
и со стороны компа просто com -программа?
спасибо


Цитата(SunnyDevil @ Jun 14 2007, 15:30) *
Удивительно что PIC вам понравился... Ну да ладно.
COM уже морально умер.
Советую мост USB-UART нападобие FT232RL. Подключаете к МК, в компе появляется новый виртуальный COM, ПО на компьютере работает как с COM портом. Плюс еще куча наворотов: ункальный ID микросхемы, Flash память, огромная скорость, возможность работать от питания USB.

Скажите с этим FT232 действительно так просто работать или Вы упростили до нуля ?
Как по пунктам сделать USB с этой мкс(com on pic-no problem for me)?
и со стороны компа просто com -программа?
спасибо
ALexx
Цитата(alexander23 @ Jul 13 2007, 11:50) *
Скажите с этим FT232 действительно так просто работать или Вы упростили до нуля ?
Как по пунктам сделать USB с этой мкс(com on pic-no problem for me)?
и со стороны компа просто com -программа?
спасибо


Это действительно так. Схема в приложении.
Если нет необходимости в полном наборе сигналов и преобразовании их в уровни 232-го, то выбрасываете DD2 со всей обвязкой, а линии TxD и RxD (ну и "землю", конечно) с DD1 кидаете непосредственно на PIC.
После установки драйверов и подключения (см. "CN-USB-232_UserManual.pdf") вы получаете СОМ-порт, не отличающийся от "стандарного"
И со стороны компа общаетесь с ним как с обычным портом, учитывая, конечно, особенности ОС, под которой работаете.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.