реклама на сайте
подробности

 
 
> Первые шаги с AVR, Есть идея и желание, но нет опыта
namelos
сообщение Jul 3 2007, 12:55
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 77
Регистрация: 4-08-06
Пользователь №: 19 324



Всем доброе время суток. Есть идея разработать девайс на базе контроллера AVR, который снимает данные 8 (и более) температурных датчиков. Программировать умею, но с контроллерами еще дело не имел. С чего начать? Стоит ли покупать Starter-Kit AVR STK 500 для лучшего понятия? Что надо покупать для начала?
С выбором контроллера еще не опредилился. Может что подскажете. 3aранее спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
GDI
сообщение Jul 6 2007, 13:57
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 235
Регистрация: 14-05-05
Из: Санкт-Петербург
Пользователь №: 5 008



Цитата
RS232, I2C, SPI

Вот по скорости они так и располагаются, а по надежности, имхо зависит от условий, помех, разводки, мне кажется что тут они примерно равны, только не RS232, а UART с уровнями сигналов 5в.
UART в принципе не рассчитан на много точечное соединение
I2C - топология типа шина, с передачей адреса устройства
SPI - все включаются параллельно на шину, но выбор устройства производится сигналом CS и потом обмен идет как будто никого больше на шине нет.
Последний мне кажется наиболее прост в реализации, особенно с использованием аппаратных SPI.


--------------------
http://www.embedders.org Блоги разработчиков электроники.
Go to the top of the page
 
+Quote Post
defunct
сообщение Jul 18 2007, 11:44
Сообщение #3


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(GDI @ Jul 6 2007, 16:57) *
RS232, I2C, SPI
Вот по скорости они так и располагаются,


В контексте AVR насчет "по скорости они так и располагаются" требует поправки:

SPI в силу своей простоты и синхронности - самый скоростной (до 8Mbod/s на 16Mhz)
UART - ограничен цифрой 16, в скоростном режиме цифрой 8. (тобиш максимум можно выжать 2Mbod/s)
I2C - не более 400Kbod/s.

Но в силу того, что I2C аппаратно поддерживает адресацию устройств, и использует шину всего из 2-х проводков, эффективность системы построенная на этом интерфейсе будет наиболее высокая, по следующим критериям:
1. Гибкость масштабирования системы (легко можно добавить новый модуль(и)).
2. Простота разводки интерфейса на плате (всего два провода)
3. Минимальные затраты процессорного времени на обслуживание протокола связи.
Go to the top of the page
 
+Quote Post
=GM=
сообщение Jul 18 2007, 15:56
Сообщение #4


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(defunct @ Jul 18 2007, 10:44) *
1. Гибкость масштабирования системы (легко можно добавить новый модуль(и)).
2. Простота разводки интерфейса на плате (всего два провода)

Насчёт гибкости. И к SPI точно также можно подключить хоть 150 устройств. Да и 3 провода вместо двух не столь принципиально.


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
defunct
сообщение Jul 18 2007, 16:03
Сообщение #5


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(=GM= @ Jul 18 2007, 18:56) *
Насчёт гибкости. И к SPI точно также можно подключить хоть 150 устройств.

Да? И можно полюбопытствовать как?
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Jul 18 2007, 17:43
Сообщение #6


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Цитата(defunct @ Jul 18 2007, 19:03) *
Да? И можно полюбопытствовать как?

Применив 150 линий chip select. cool.gif
Go to the top of the page
 
+Quote Post
defunct
сообщение Jul 18 2007, 22:07
Сообщение #7


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(IgorKossak @ Jul 18 2007, 20:43) *
Применив 150 линий chip select. cool.gif

Цитата
Если постараться , может хватить 8.

Ключевое слово "постараться" ;>
Вот вот.. И вся "гибкость" масштабирования летит в тар-тарары.

Может GM что-то другое имел в виду.. С интересом жду что он скажет.
Go to the top of the page
 
+Quote Post
=GM=
сообщение Jul 19 2007, 21:22
Сообщение #8


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(defunct @ Jul 18 2007, 22:07) *
Может GM что-то другое имел в виду.. С интересом жду что он скажет.

Ого, сколько понаписали, сегодня целый день в разъездах был, не было возможности ответить.

Well to the question. Для начала, например, можно соединить SPI выход первого слейва со входом второго, а его выход с входом третьего, ну и так далее...Очень просто, как говорит мой босс, но проблемо(:-).


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
defunct
сообщение Jul 19 2007, 22:20
Сообщение #9


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(=GM= @ Jul 20 2007, 00:22) *
Для начала, например, можно соединить SPI выход первого слейва со входом второго, а его выход с входом третьего, ну и так далее...Очень просто, как говорит мой босс, но проблемо(:-).

Как всегда очень оригинально ;> но действительно проблемно.. smile.gif
Клок как передавать? CS?
И проводов не три а хм.. 150 + 1 (это если клок "расшарить").
Go to the top of the page
 
+Quote Post
=GM=
сообщение Jul 20 2007, 09:45
Сообщение #10


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(defunct @ Jul 19 2007, 21:20) *
Как всегда очень оригинально ;> но действительно проблемно.. smile.gif Клок как передавать? CS? И проводов не три а хм.. 150 + 1 (это если клок "расшарить").

Ну, не очень это и оригинально, всё до меня уже сделали и все пользуются, в частности, вы, только не задумываетесь об этом. Грубо говоря, у многих коллег шоры на глазах, находятся в плену, так сказать, имбеддерских предрассудков(:-)...

Клок надо передавать всем одновременно, т.е. параллельное подключение. А CS вообще не нужен по большому счёту.

И, если только передавать, то нужно всего два провода.

Что касается "проблемно" - сможете подключить 150 иис устройств к одной шине? Получите ба-а-а-льшую проблему...


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
defunct
сообщение Jul 20 2007, 11:54
Сообщение #11


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(=GM= @ Jul 20 2007, 12:45) *
И, если только передавать, то нужно всего два провода.

Давайте не будем урезать функциональность, ок?
Вы ж решили оспорить простоту масштабирования I2C, а значит ваше решение должно быть не хуже по функциональности.

Для полноценного обмена вашим методом надо построить кольцо.
1->2->3->4 ..... ->N -> 1
Это накладно как с т.з. железа так и т.з. протокола.

Цитата
Что касается "проблемно" - сможете подключить 150 иис устройств к одной шине?

К I2C 150-нет, а 128 запросто, она для этого и создана.

Цитата
Получите ба-а-а-льшую проблему...

Если добавить еще одну шину и мост - 254 устройства к вашим услугам.
Проблем с обменом - никаких. Арбитраж выполняется аппаратно.
Go to the top of the page
 
+Quote Post
=GM=
сообщение Jul 20 2007, 16:14
Сообщение #12


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(defunct @ Jul 20 2007, 10:54) *
Давайте не будем урезать функциональность, ок? Вы ж решили оспорить простоту масштабирования I2C, а значит ваше решение должно быть не хуже по функциональности.

Не то, чтобы очень хотел, просто надо по справедливости. Если вы говорите, что дополнительное I2C-устройство легко подключить к двум проводам, то я говорю, что в этом смысле так же легко подключить дополнительное SPI устройство к 3 проводам. Нету разницы большой в подключении двух проводов или трёх, надеюсь вы с этим согласитесь?

В вашем посте мысль о гибкости масштабирования системы, т.е. то, что можно получить с помощью I2C, вы возвели в ранг чего-то недосягаемого для SPI
Цитата(defunct @ Jul 20 2007, 10:54) *
1) Гибкость масштабирования системы (легко можно добавить новый модуль(и)).

А это, по большому счёту, не так.

Если уж говорить о гибкости, из SPI модуля МК можно легко соорудить I2C-протокол, а вот наоборот - вряд ли получится! И это будет настоящая гибкость, а не высосанная из пальца. Я уж не говорю про скорость обмена, которая будет в ДЕСЯТЬ раз выше!
Цитата(defunct @ Jul 20 2007, 10:54) *
Для полноценного обмена вашим методом надо построить кольцо. 1->2->3->4 ..... ->N -> 1
Это накладно как с т.з. железа так и т.з. протокола.

Да ну ладно вам. SPI спокойно можно включать звездой, никаких проблем! Снимите наконец розовые очки: SPI - это вещь! Правда, для многих это вещь в себе(:-).

Цитата(defunct @ Jul 20 2007, 10:54) *
К I2C 150-нет, а 128 запросто, она для этого и создана. Если добавить еще одну шину и мост - 254 устройства к вашим услугам. Проблем с обменом - никаких. Арбитраж выполняется аппаратно.

Положим, это уже не так просто осуществить, поскольку нужны дополнительные чипы, и вся гибкость исчезнет. Хотя, справедливости ради, на 100 бодах вполне можно будет обмениваться.


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jul 20 2007, 17:40
Сообщение #13


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(=GM= @ Jul 20 2007, 19:14) *
Да ну ладно вам. SPI спокойно можно включать звездой, никаких проблем!
Можно подробнее - как при включении "звездой" без CS раздать нескольким (пусь будет двум для простоты) SPI-слейвам разную информацию. И главное, как при подключении звездой без CS или при соединении их последовательно (ваше первое предложение) получить ответ от всех устройств?
Цитата(=GM= @ Jul 20 2007, 19:14) *
Снимите наконец розовые очки: SPI - это вещь!
С этим никто не спорит, только эта вещь для несколько, гм, другого.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
=GM=
сообщение Jul 20 2007, 21:53
Сообщение #14


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(Сергей Борщ @ Jul 20 2007, 17:40) *
Можно подробнее - как при включении "звездой" без CS раздать нескольким (пусь будет двум для простоты) SPI-слейвам разную информацию. И главное, как при подключении звездой без CS или при соединении их последовательно (ваше первое предложение) получить ответ от всех устройств?

1) Последовательное соединение мастера и двух слейвов. Посылаете два байта, возникают два прерывания в обоих слейвах. Первое игнорируется, по второму забирается информация обоими слейвами и заносится два ответа. Далее варианты такие, либо мастер получает ответ при следующем цикле обмена, либо посылает два пустых байта и забирает ответ.

2) Параллельное соединение мастера и двух слейвов. Посылаете два байта, первый - адрес, второй - данные. Слейв с соответствующим адресом отвечает, другой слейв молчит.


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jul 23 2007, 09:56
Сообщение #15


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(=GM= @ Jul 21 2007, 00:53) *
1) Последовательное соединение мастера и двух слейвов. Посылаете два байта, возникают два прерывания в обоих слейвах. Первое игнорируется, по второму забирается информация обоими слейвами и заносится два ответа. Далее варианты такие, либо мастер получает ответ при следующем цикле обмена, либо посылает два пустых байта и забирает ответ.
Мда... И как они будут разбираться какое прерывание "первое", какое "второе" и главное - когда сдвигаются данные а когда ответы слейвов. Вот уж точно от безысходности такое городить. "Альтернатива - утки!". Уж если соединяем много учтройств, то мое решение было бы таким - если есть устройства которые умеют только I2C и все они находятся в пределах одной платы - I2C, если таких устройств нет или они разнесены - 485.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- namelos   Первые шаги с AVR   Jul 3 2007, 12:55
- - Tcom   Всё зависит от того, насколько интенсивно хочешь з...   Jul 3 2007, 13:07
|- - muravei   Я бы посоветовал обратиь внимание на h__p://algrom...   Jul 3 2007, 13:15
- - namelos   Спасибо. Посмотрел AVR ISP. Я в принципе могу и че...   Jul 3 2007, 13:37
|- - Tcom   Цитата(namelos @ Jul 3 2007, 16:37) JTAGI...   Jul 3 2007, 13:43
|- - defunct   Цитата(namelos @ Jul 3 2007, 16:37) Я в п...   Jul 3 2007, 15:38
- - GDI   Порекомендую в который раз КИТ AVR Butterfly, деше...   Jul 3 2007, 14:51
- - mdmitry   Посмотрите акцию Atmel на www.efo.ru. Там два вар...   Jul 3 2007, 18:36
|- - VAHOO   Цитата(mdmitry @ Jul 3 2007, 21:36) Посмо...   Jul 5 2007, 05:40
- - ZoonMan   Я бы вам посоветовал Altera Byte Blaster. Это недо...   Jul 4 2007, 10:28
|- - pokos   Ну, я начинал с "пяти проводочков" и avr...   Jul 4 2007, 11:01
|- - олесь   Цитата(pokos @ Jul 4 2007, 14:01) Ну, я н...   Jul 18 2007, 18:23
- - day177   согласен с pokos - CodeVision сильно жизнь облегча...   Jul 4 2007, 12:45
- - namelos   Цитата(day177 @ Jul 4 2007, 16:45) А вот ...   Jul 4 2007, 14:13
- - vesago   По 1 варе на одном проводе можно посадить сенсоров...   Jul 4 2007, 14:17
- - namelos   Цитата(vesago @ Jul 4 2007, 18:17) По 1 в...   Jul 4 2007, 14:27
|- - Сергей Борщ   Цитата(namelos @ Jul 4 2007, 17:27) sorry...   Jul 4 2007, 15:41
|- - gm1957   Цитата(Сергей Борщ @ Jul 5 2007, 00:41) К...   Jul 10 2007, 03:47
- - AndryG   Ну добавлю и я сюда свои мысли. Если стоит одна з...   Jul 4 2007, 16:29
- - namelos   Сергей Борщ , спасибо за подробное разъяснение. Де...   Jul 4 2007, 21:12
|- - Сергей Борщ   Цитата(namelos @ Jul 5 2007, 00:12) Девай...   Jul 5 2007, 00:16
- - Igor26   Цитатаоб отдельном контроллере у каждого датчика ....   Jul 5 2007, 05:13
- - Igor26   http://www.efo.ru/doc/Atmel/Atmel.pl?212 Объявлени...   Jul 5 2007, 05:51
- - GDI   DS18B20 дает точность 0,5 градуса безо всякой кали...   Jul 5 2007, 07:42
- - namelos   Цитата(Сергей Борщ @ Jul 5 2007, 04:16) Н...   Jul 5 2007, 08:53
- - AndryG   Цитата0.7с, при 12 сенсорах это почти 8 секунд Есл...   Jul 5 2007, 10:10
- - GDI   Время преобразования зависит от разрядности преобр...   Jul 5 2007, 10:38
- - namelos   GDI , еще спасибо за информацию. Если не секрет, н...   Jul 5 2007, 15:15
- - GDI   Я делал на мега16, 8 каналов. Ну а контроллер для ...   Jul 5 2007, 15:33
|- - Igor26   Цитата(GDI @ Jul 5 2007, 19:33) Я делал н...   Jul 5 2007, 17:19
- - GDI   Igor26 вы про что? про мега16 и 8 каналов? Вот моя...   Jul 6 2007, 07:18
- - Igor26   Извиняюсь. Наверное пропустил выделенные цитаты. ...   Jul 6 2007, 09:26
- - GDI   Меня то не пугает, просто хотелось оградить заказч...   Jul 6 2007, 10:32
- - Igor26   Теперь ясно.   Jul 6 2007, 12:16
- - namelos   ЦитатаGDI...и связь по SPI на какой то центральный...   Jul 6 2007, 12:27
|- - AndreyKeil   [quote name='namelos' date='Jul 6 2007...   Jul 22 2007, 21:38
|- - IgorKossak   Цитата(GDI @ Jul 6 2007, 16:57) UART в пр...   Jul 8 2007, 21:12
||- - muravei   Цитата(IgorKossak @ Jul 18 2007, 21:43) П...   Jul 18 2007, 18:34
||||- - defunct   Цитата(=GM= @ Jul 21 2007, 00:53) 1) Посл...   Jul 21 2007, 00:09
|||- - defunct   Цитата(=GM= @ Jul 20 2007, 19:14) Не то, ...   Jul 20 2007, 18:50
||- - =GM=   Цитата(defunct @ Jul 20 2007, 11:54) Для ...   Jul 22 2007, 21:41
||- - defunct   Цитата(=GM= @ Jul 23 2007, 00:41) Не смеш...   Jul 22 2007, 21:58
||- - =GM=   Цитата(defunct @ Jul 22 2007, 21:58) Вы ч...   Jul 22 2007, 22:24
||- - defunct   Цитата(=GM= @ Jul 23 2007, 01:24) Во-перв...   Jul 23 2007, 07:29
||- - =GM=   Цитата(defunct @ Jul 23 2007, 06:29) Торм...   Jul 23 2007, 09:21
||- - defunct   Цитата(=GM= @ Jul 23 2007, 12:21) Объясни...   Jul 23 2007, 10:13
||- - =GM=   Цитата(defunct @ Jul 23 2007, 09:13) Вклю...   Jul 23 2007, 11:56
||- - defunct   Цитата(=GM= @ Jul 23 2007, 14:56) Расскаж...   Jul 23 2007, 12:25
||- - =GM=   Цитата(defunct @ Jul 23 2007, 11:25) А те...   Jul 23 2007, 12:47
||- - µµC   Цитата(=GM= @ Jul 23 2007, 16:47) Ничего ...   Jul 23 2007, 13:19
||- - SasaVitebsk   Цитата(µµC @ Jul 23 2007, 16:19) То, что ...   Jul 23 2007, 14:18
|||- - µµC   Цитата(SasaVitebsk @ Jul 23 2007, 18:18) ...   Jul 23 2007, 15:47
||- - =GM=   Цитата(µµC @ Jul 23 2007, 12:19) То, что ...   Jul 24 2007, 13:43
||- - defunct   Цитата(=GM= @ Jul 24 2007, 16:43) А тепер...   Jul 24 2007, 20:05
||- - =GM=   Цитата(defunct @ Jul 24 2007, 20:05) Вооб...   Jul 24 2007, 20:10
|- - singlskv   2 defunct А я вот, как раз бы поспорил с вот этим ...   Jul 22 2007, 23:31
- - namelos   GDI, спасибо и хороших выходных.   Jul 6 2007, 14:45
- - alexander tom   Привет! А возможно ли склонировать чип mega16...   Jul 17 2007, 13:25
- - SpyBot   А если сначало передавать адрес нужного устройства...   Jul 18 2007, 17:57
|- - IgorKossak   Цитата(SpyBot @ Jul 18 2007, 20:57) А есл...   Jul 18 2007, 19:02
|- - WHALE   Цитата(IgorKossak @ Jul 18 2007, 23:02) В...   Jul 18 2007, 19:55
- - SasaVitebsk   В Вашем споре поддержу GM. Причины просты. Если ра...   Jul 21 2007, 00:38
- - SpyBot   А если использовать мультиплексоры/демультиплексор...   Jul 23 2007, 09:13
- - SasaVitebsk   Ребята давайте не вводить в заблуждение друг друга...   Jul 23 2007, 12:37
- - defunct   ЦитатаРебята давайте не вводить в заблуждение друг...   Jul 23 2007, 12:58
- - SpyBot   Не, ну с I2C проще - берем ещё 2 провода и получае...   Jul 24 2007, 13:50
- - =GM=   Цитата(SpyBot @ Jul 24 2007, 12:50) Не, н...   Jul 24 2007, 14:29


Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th July 2025 - 01:12
Рейтинг@Mail.ru


Страница сгенерированна за 0.01645 секунд с 7
ELECTRONIX ©2004-2016