Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры Atmega AVR
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.98/100: Рейтинг темы: голосов - 100, средняя оценка - 4.98
whytimit
0 / 0 / 0
Регистрация: 30.09.2012
Сообщений: 13
1

Как подружить AVR+AVR?

16.10.2012, 22:45. Просмотров 18214. Ответов 41
Метки нет (Все метки)

Приветствую Вас уважаемые форумчане!

Требуется связать 2 AVR-ки, по классической схеме Master -> Slave.
Проштудировал топики на эту тему, но к однозначному выводу не пришел.
Прошу подсказать, какой протокол лучше использовать при условии что:
- Сессия инициироваться мастером, после чего выполняется последовательный обмен данными.
- Ведомое устройство - одно.
- SPI остается доступен для программатора.
- Среда разработки WinAvr.
- Master (Atmega8).
- Slave (Atmega8/AttinyXXXX).

Спасибо!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.10.2012, 22:45
Ответы с готовыми решениями:

Подружить AVR и камеру.
Цель - правдами и неправдами получить 1 кадр с камеры. Тут я вижу 2 варианта: использовать обыную...

AVR подружить с пультом KEELOQ
Подскажите, мож кто реализовывал работу с радиобрелками с шифрацией KEELOQ. Я тут на тиньке 13-й...

Нужно подружить AVR & TSOP & MikroPascal
Хочу подружить ИК-ПДУ и свою мегу. нашел только это...

JTAG ICE никак не подружить с AVR Studio 5?
Привет. Прикупил тут на ебее JTAG ICE http://www.ebay.com/itm/221168829974?ss ... 1439.l2649 И,...

AVR AVRISP STK500 V3.0 USB ISP Programmer for AVR IC
Люди помогите плз. не могу разобраться. приобрел этот чудный девайс (AVR AVRISP STK500 V3.0 USB...

41
drvtos
1 / 1 / 0
Регистрация: 25.05.2010
Сообщений: 3,610
16.10.2012, 22:56 2
Цитата Сообщение от whytimit
SPI остается доступен для программатора.
А программатор и не претендует на него, когда не программирует. Так что вполне можно юзать его и для программирования, и для работы.
0
whytimit
0 / 0 / 0
Регистрация: 30.09.2012
Сообщений: 13
16.10.2012, 23:01 3
Цитата Сообщение от drvtos
Цитата Сообщение от whytimit
SPI остается доступен для программатора.
А программатор и не претендует на него, когда не программирует. Так что вполне можно юзать его и для программирования, и для работы.

Немного туплю, но программатор шьет по SPI, в этом случае получается что к SPI на Мастере будет подключен программатор + ведомый AVR и при этом конфликтов не будет (прошивать же как-то нужно)?
0
drvtos
1 / 1 / 0
Регистрация: 25.05.2010
Сообщений: 3,610
16.10.2012, 23:16 4
Шьется при активном сбросе. В это время ничего МК не делает. Потом программатор кончил сделал свое дело, отключился от информационных линий, ресет освободился - и работай себе! Или просто отключи программатор физически
0
whytimit
0 / 0 / 0
Регистрация: 30.09.2012
Сообщений: 13
17.10.2012, 00:33 5
Итак, SPI использовать не получается, т.к. на нем будет висеть другая микруха.
Хотелось бы заюзать протокол 1-wire, с реализацией Ведущего тут проблем быть не должно.
Я уже использовал 1-wire для работы с 74HC595
А вот как реализовать Ведомого - весьма смутно представляю.
Посоветуете использовать 1-wire или другие протоколы..?
0
PRS
0 / 0 / 0
Регистрация: 12.07.2011
Сообщений: 3
17.10.2012, 01:11 6
А расстояние между м/с какое?
Вблизи уарт, на расстоянии 485.
0
whytimit
0 / 0 / 0
Регистрация: 30.09.2012
Сообщений: 13
17.10.2012, 01:52 7
Цитата Сообщение от PRS
А расстояние между м/с какое?
Вблизи уарт, на расстоянии 485.
Расстояние короткое (макс. 200 мм).
Uart не юзал, какие имеет преимущества/недостатки?
0
drvtos
1 / 1 / 0
Регистрация: 25.05.2010
Сообщений: 3,610
17.10.2012, 07:18 8
Цитата Сообщение от whytimit
Посоветуете использовать 1-wire или другие протоколы..?
Что тебе советовать, друг... Тебе шашечки или ехать?

Еще раз говорю, SPI решает задачу. И на 200 мм тем более. Твои сомнения уже отвечены: программатор не мешает работать, слейвы не мешают шить. Много микрух на одном порту - для того есть SS вывод, выбирай, если хочешь. Что еще сказать, что бы не подумал, будто я агитатор SPI? Я просто говорю, что не вижу препятствий.
Но если очень
Цитата Сообщение от whytimit
Хотелось бы заюзать протокол 1-wire
- ну, юзай. Что мешает?
0
PRS
0 / 0 / 0
Регистрация: 12.07.2011
Сообщений: 3
17.10.2012, 11:09 9
Цитата Сообщение от whytimit
Расстояние короткое (макс. 200 мм).
Uart не юзал, какие имеет преимущества/недостатки?
Тогда юарт. Он аппаратный, двухнаправленный и простой.
0
otiko1988
0 / 0 / 0
Регистрация: 24.02.2011
Сообщений: 88
17.10.2012, 11:39 10
Скоко гигабит фильмов в секунду будем передавать? Если мало тогда катит 1-ware .

#define 1ware portb/1

send(byte) ;

byte=resive();
0
Stiit.mi
0 / 0 / 0
Регистрация: 26.04.2010
Сообщений: 1,445
17.10.2012, 12:08 11
рекомендую со страшной силой - используй то, что есть аппаратное
В порядке убывания приоритетов:
SPI - бест оф зе бест. Дуплексный, прост для понимания и программной реализации (если вдруг у слейва нет его в аппаратном виде). Еще один огромный плюс - синхронный протокол. То есть ему до фени уплывания частот и подбор кварцев
I2C - полудуплекс, поэтому чуть более сложный арбитраж. Но есть в аппаратной реализации и есть внятная статья DiHalta
USORT - универсальный, дуплексный, но требует тщательной подгонки скоростей. На RC на больших скоростях может лажать
1-wire через аппаратный USORT - реализация мастера проста, со слейвом придется возиться. Главная проблема - точный отсчет микросекундных промежутков.

Ну а в софте можно сваять все что угодно, начиная от манчестера и заканчивая Ethernet-over-200mm )
0
PRS
0 / 0 / 0
Регистрация: 12.07.2011
Сообщений: 3
17.10.2012, 12:18 12
Если данных не много, то скорость большая не нужна. А на скоростях порядка 9600 точности RC хватит за глаза. I2C я бы использовал в последнюю очередь - у него слейв геморойный.
0
VyvotzorD
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 2,309
17.10.2012, 12:29 13
2 whytimit
Для двух девайсов лично я рекомендую UART. Ибо I2C имеет смысл пользовать только в случае кучи девайсов, 1-wire - только полу-дуплекс. SPI пошел бы, но раз юзается для других целей, то отпадает.

А в UART-е даже не надо делить на Master/Slave. UART демократичен и БДСМ не приветствует :-) Потому соединяй RxD первого контроллера с TxD другого, и TxD первого с RxD второго. И вот тебе дуплексный двунаправленный порт. Да и скорость (при хорошей частоте кварца) можно сделать приличную.

Еще вариант: колхозить параллельную передачу данных по прерыванию. К примеру брать 4(8,16,32 - нужное подчеркнуть) бита от любого порта первого МК, и завести их на 4(8,16,32 и т.д.) бита порта второго МК. От первого МК довести сигнал на вход прерывания второго МК. При посылке данных - выставить данные на заюзанные ноги порта, дернуть ногой прерывания. В ответ второй МК словит прерывание и возьмет данные из порта. Колхоз конечно, но работает. Проверено. И скорость можно задать бешеную. Единственный минус - проводов на плате много тянуть...

А так, мой совет: UART! Кстати если разобраться, то можно протянуть USORT - он круче по скорости, ибо синхронный.
0
otiko1988
0 / 0 / 0
Регистрация: 24.02.2011
Сообщений: 88
17.10.2012, 12:47 14
Гемор какойто советуете, може человеку надо событие какоето раз в сутки передавать. Пусть назовет задачу какаой нада.
0
VyvotzorD
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 2,309
17.10.2012, 13:02 15
2 otiko1988
А чем UART геморной?
0
PRS
0 / 0 / 0
Регистрация: 12.07.2011
Сообщений: 3
17.10.2012, 13:07 16
И чем аппаратный уарт хуже софтового 1-вире?
0
drvtos
1 / 1 / 0
Регистрация: 25.05.2010
Сообщений: 3,610
17.10.2012, 13:19 17
Вот, заладили...

Читайте впрос, коллеги:
Цитата Сообщение от whytimit
Требуется связать 2 AVR-ки, по классической схеме Master -> Slave.
SPI - то что доктор прописал. Выяснилось, что все в пределах платки - громадные возможности УАРТа не востребованы. Выяснилось, что автор просто не знает, что по SPI МК может обращаться не только к одной микрухе, и вообще, "микруха" - это программатор, скорее всего. Автор спрятался от нашей бурной дискуссии.
Скорости согласовывать не надо, кварцы не нужны. Ну, будут - не помешают. Но ведь не нужны в SPI.
Так какие аргументы против?
0
otiko1988
0 / 0 / 0
Регистрация: 24.02.2011
Сообщений: 88
17.10.2012, 13:23 18
Цитата Сообщение от PRS
И чем аппаратный уарт хуже софтового 1-вире?
Таки я том же, дета ртос ставили на арм8 чтоб фонариком поблымать, пусть клиент опишет задачу, приоритет там действий.
0
YTYOUT
0 / 0 / 0
Регистрация: 02.10.2012
Сообщений: 1,946
17.10.2012, 16:24 19
Цитата Сообщение от drvtos
Так какие аргументы против?
Есть плюс - USORT во многих микросхемах может работать как полноценный SPI
0
whytimit
0 / 0 / 0
Регистрация: 30.09.2012
Сообщений: 13
17.10.2012, 17:10 20
Задача устройства - управление различными (примитивными) периферийными устройствами через драйверы.
От Слейв-а требуется выполнять: вкл./выкл., хардварный ШИМ, обрабатывать сенсоры.
Схема работы такая - Мастер (по таймеру) шлет Слейву команды, Слейв возвращает отвечает о их выполнении.
Скорость обмена данными не критична, объем - копейки (макс. 64 бита).

SPI - не имею ничего против, но хочу спросить - будет ли он работать если на SPI Мастер-а будет подвешены и 2 одновременно используемые микрухи (программатор естественно дополнительно)?
Может ли SPI выбирать нужное устройство?
1-WIRE - хороший протокол, но нужно очень точно реализовать на слейве временные задержки.
В прочим, к этому протоколу еще вернусь и попрошу вашей помощи в подключении CP-Z2L к AVR-ке.
USORT - мне приглянулся простотой реализации и дальнейшей совместимостью с другими контроллерами.
На USORT можно коммуницировать с несколькими устройствами?

Всем спасибо!
0
17.10.2012, 17:10
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.10.2012, 17:10

Анализ стека AVR / AVR stack analysis
Привет! Уперся я в стек, и решил понять что почем. Нашел вот такой вот скриптик:...

AVR Atmega324PU не прошивается AVR ISP Mk2
Добрый день. На плату впаян данный микроконтроллер в корпусе tqfp. При подключении программатора...

AVR Studio 6 и AVR Toolchain вопросы!
Всем доброго времени суток. Решил я написать софтинку в новой студии от Атмела AVR Studyo 6. Все...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru