связь двух мк по одной линии

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить
vovik15
Опытный кот
Сообщения: 768
Зарегистрирован: Сб ноя 08, 2008 18:32:36
Контактная информация:

связь двух мк по одной линии

Сообщение vovik15 »

Здравствуйте! Возникла такая проблема : есть pic12f675 у которого задействованны все выводы,кроме одного. Это двунаправленная линия ввода - вывода, с возможностью задействовать прерывание по фронту или спаду сигнала (на выбор). Так вот,другой(главный мк) будет передавать команды (требуется передать числа 1,2,3 старт и стоп). Линия связи будет проходить через весь автомобиль из одной двери к другой. Вопрос,как реализовать передачу данных програмно? .Будут ли наводки,помехи,сбои во время передачи?
Реклама
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: связь двух мк по одной линии

Сообщение pyzhman »

vovik15 писал(а):как реализовать передачу данных програмно?
Усечённый до 3-х бит UART спасёт отца русской демократии.
vovik15 писал(а):Будут ли наводки,помехи,сбои во время передачи?
Будут. Предвидя следующий вопрос - бороться железом и контрольной суммой.
Docendo discimus
Реклама
vovik15
Опытный кот
Сообщения: 768
Зарегистрирован: Сб ноя 08, 2008 18:32:36
Контактная информация:

Re: связь двух мк по одной линии

Сообщение vovik15 »

а раскажите побнее про этот усеченный юарт,ато я несовсем понимаю как это сделать
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: связь двух мк по одной линии

Сообщение pyzhman »

UART работает с 8-мью битами. Никто не мешает сделать 3. Как вариант:
1 - это будет посылка 000
2 - посылка 001
3 - 010
старт - 011
стоп - 100
(если под стартом и стопом вы подразумеваете команды.)
Программно может быть так: ждете спада (это будет начало посылки, т.е. старт-бит), далее через определенное время считывате первый бит, далее второй, потом третий, четвертым битом должна появиться 1, т.е. стоп-бит. Следующей посылкой можно отправить от мастер-контроллера контрольную сумму, ну, скажем, число, дополняющее предыдущую посылку до 111. При совпадении приёма принимается решение о верности и результат отправляется на исполнение. Желательно сделать ещё и ответ мастеру, но это потребует доп.вложений.
Docendo discimus
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: связь двух мк по одной линии

Сообщение Аlex »

vovik15 писал(а):Линия связи будет проходить через весь автомобиль из одной двери к другой
Не пройдёт UART, если напрямую с ноги на ногу подключать. Загнётся...
RS-485. По 1 микросхеме с обоих сторон + программный UART на обоих камнях = спасение.
Реклама
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: связь двух мк по одной линии

Сообщение pyzhman »

UART имеется ввиду программный интерфейс, а не железный.
Docendo discimus
Реклама
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: связь двух мк по одной линии

Сообщение Аlex »

Ну это не к Вашему сообщению относилось :)
Я имел в виду, что нельзя на такую длину вести провода без всяких вспомогательных интерфейсов. Ибо был задан вопрос:
Будут ли наводки,помехи,сбои во время передачи?
А по поводу :
как реализовать передачу данных програмно?
конечно же, UART напрашивается. Тут без вопросов...
vovik15
Опытный кот
Сообщения: 768
Зарегистрирован: Сб ноя 08, 2008 18:32:36
Контактная информация:

Re: связь двух мк по одной линии

Сообщение vovik15 »

Аlex писал(а):
vovik15 писал(а):Линия связи будет проходить через весь автомобиль из одной двери к другой
Не пройдёт UART, если напрямую с ноги на ногу подключать. Загнётся...
RS-485. По 1 микросхеме с обоих сторон + программный UART на обоих камнях = спасение.
а название этой микросхемы не подскажете? можно ли для защиты от помех использовать мах232 с двух сторон?
Если есть такая возможность,кинте кусочек кода програмного uart,для ознакомления. Я так пологаю программа должна отследить прерывание по спаду,далее запретить прерывание и ожидать приема следующих восьми бит в цикле с определенной временной задержкой. Далее вновь разрешить прерывание. Так?
Morroc
Друг Кота
Сообщения: 19495
Зарегистрирован: Чт фев 20, 2014 18:57:55

Re: связь двух мк по одной линии

Сообщение Morroc »

поищите в чипдипе RS-485

типа такого например http://www.chipdip.ru/product/adm485anz/
"Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: связь двух мк по одной линии

Сообщение Аlex »

vovik15 писал(а):Я так пологаю программа должна отследить прерывание по спаду,далее запретить прерывание и ожидать приема следующих восьми бит в цикле с определенной временной задержкой. Далее вновь разрешить прерывание. Так?
Совершенно верно.
По RS-232. Тоже не лучший вариант. Ибо также непомехозащищённый. Делайте лучше 485-ый, всё равно микросхемы ставить.
Аватара пользователя
Jack_A
Друг Кота
Сообщения: 6312
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Re: связь двух мк по одной линии

Сообщение Jack_A »

Как на мою скромную думку, передавать 3 бита на 1,5м через 485 ( напомню, он до 4км )- это по воробьям даже не из пушки, а из системы "Град" . Банальная 20мА токовая петля по витой паре да еще в экране - думается, больше, чем достаточно. Тем боле в одну сторону. А если еще дублирование и мажоритарный выбор - полный зупер.
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: связь двух мк по одной линии

Сообщение pyzhman »

Толстый и жирный плюс.
Docendo discimus
Ответить

Вернуться в «Разные вопросы по МК»