простые последовательные - Page 6

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From Russian to

Threaded View
Re: простые последовательные
JA>  NAS>> (недостаток СПИ - куча линий чип_селект.)
ON>> Это не совсем так. Одного CS хватит на все slave. Просто, первым
ON>> байтом в пакете должен быть адрес моторчика и бит операции WR/RD.
ON>> Hе свои пакеты моторчик игнорирует.

JA> Т.е. вы описываете интерфейс I2C :-) Там как раз и есть: "первым
JA> байтом в пакете должен быть адрес моторчика и бит операции WR/RD".
JA> Если же говорить о SPI, то там каждое устройство должно иметь свою
JA> линию CS/, т.к. никаких "адресов" там нет :-) Кстати, в этой шине
JA> есть один интересный момент: некоторые операции выполняются когда
JA> линия CS/ выключается.

На пике 8720 работаю без чип-селектов, именно с адресом в преамбуле.
Именно по SPI. Все работает как надо

--
Rifkat < Team /Grave\ >
Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru

Re: простые последовательные
Привет!

Thu Dec 28 2006 11:49, Rifkat Abdulin wrote to Jurgis Armanavichius:

 JA>> Т.е. вы описываете интерфейс I2C :-) Там как раз и есть: "первым
 JA>> байтом в пакете должен быть адрес моторчика и бит операции WR/RD".
 JA>> Если же говорить о SPI, то там каждое устройство должно иметь свою
 JA>> линию CS/, т.к. никаких "адресов" там нет :-) Кстати, в этой шине
 JA>> есть один интересный момент: некоторые операции выполняются когда
 JA>> линия CS/ выключается.
 RA> Hа пике 8720 работаю без чип-селектов, именно с адресом в преамбуле.
 RA> Именно по SPI. Все работает как надо

Хм... А если этот адрес совпадёт с какой-нибудь из SPI-команд? Или ты
тоже, как коллектив авторов, применяешь нестандартное решение собственного
сочинения? Тогда другое дело. Hо в этом случае I2C все-равно рулит, т.к.
требует на один провод меньше :-)

Юргис


Re: простые последовательные
JA>>> Т.е. вы описываете интерфейс I2C :-) Там как раз и есть: "первым
JA>>> байтом в пакете должен быть адрес моторчика и бит операции WR/RD".
JA>>> Если же говорить о SPI, то там каждое устройство должно иметь свою
JA>>> линию CS/, т.к. никаких "адресов" там нет :-) Кстати, в этой шине
JA>>> есть один интересный момент: некоторые операции выполняются когда
JA>>> линия CS/ выключается.
RA>> Hа пике 8720 работаю без чип-селектов, именно с адресом в
преамбуле.
RA>> Именно по SPI. Все работает как надо

JA> Хм... А если этот адрес совпадёт с какой-нибудь из SPI-команд? Или
JA> ты
JA> тоже, как коллектив авторов, применяешь нестандартное решение
JA> собственного
JA> сочинения? Тогда другое дело. Hо в этом случае I2C все-равно рулит,
JA> т.к.
JA> требует на один провод меньше :-)

Что значит команды SPI? Протокол обмена я сам регламентирую.
UART еще более рулит - геммороя меньше ;-)

--
Rifkat < Team /Grave\ >
Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru

Re: простые последовательные
Привет!

Thu Dec 28 2006 13:36, Rifkat Abdulin wrote to Jurgis Armanavichius:

 JA>> Хм... А если этот адрес совпадёт с какой-нибудь из SPI-команд?
 JA>> Или ты тоже, как коллектив авторов, применяешь нестандартное
 JA>> решение собственного сочинения? Тогда другое дело. Hо в этом
 JA>> случае I2C все-равно рулит, т.к. требует на один провод меньше :-)
 RA> Что значит команды SPI? Протокол обмена я сам регламентирую.

Hе скажи, не скажи. А ну посадишь ты на шину стандартную SPI-флэшку?
И полетит твой протокол...

 RA> UART еще более рулит - геммороя меньше ;-)

Точка-точка - несомненно. А для нескольких устройств - I2C со своими
всего лишь 2-я проводами :-)

Юргис


Re: простые последовательные

X-Virus-Scanned: amavisd-new at bezeqint.net

Hello, Jurgis Armanavichius!
You wrote in conference fido7.ru.embedded to Rifkat Abdulin on Thu, 28 Dec
2006 18:28:21 +0300:


 RA>> UART еще более рулит - геммороя меньше ;-)

 JA> Точка-точка - несомненно. А для нескольких устройств - I2C со своими
 JA> всего лишь 2-я проводами :-)


А с UART достаточно одного...

dima
http://www.dorlov.no-ip.com
http://dimorlus.dynalias.com



Re: простые последовательные

X-Virus-Scanned: amavisd-new at bezeqint.net


Hello, Olga Nonova!
You wrote in conference fido7.ru.embedded to Dmitry Orlov on Thu, 28 Dec
2006 09:07:12 +0000 (UTC):

 ON>>> Для связи узлов _внутри _одного _корпуса самое простое- это SPI или
 ON>>> I2C. Они, собственно, для этого и были созданы. Вот, если выходить
 ON>>> наружу ящика, то Вы правы.

 DO>> Это так, когда iic slave или spi реализованы аппаратно. UART в
 DO>> мелких  контроллерах встречается чаще, чем iic, а когда его нет,
 DO>> реализуется проще.

 ON> Если нет аппаратных i2c но есть uart, то Вы правы. Однако, если нет
 ON> и аппаратного uart, то из трех вариантов программной реализации:
 ON> i2c,spi,uart -,мне представляется, меньше сил и времени уйдет на
 ON> spi. Да и стабильность с воспроизводимостью окажется выше.

Для программного spi или iic необходимы внешние прерывания. Для spi - одно,
по фронту (спаду) на clk, для iic - и по scl и по sda (или по изменению
всего порта). UART программный на небольшие скорости (а для этой задачи
большие явно не нужны) делается исключительно на таймерном прерывнии. Кроме
того, на UART тривиально (в соседнем письме описано как) реализуется
однопроводная двунаправленная шина. То есть тянуть (не считая уже
протянутого общего) нужно только один провод.

dima
http://www.dorlov.no-ip.com
http://dimorlus.dynalias.com



Re: простые последовательные
Здравствуйте, Уважаемый Dmitry!

Thu Dec 28 2006 20:42, Dmitry Orlov wrote to Dmitry Orlov:


 ON>> .... из трех вариантов программной реализации:
 ON>> i2c,spi,uart -,мне представляется, меньше сил и времени уйдет на
 ON>> spi. Да и стабильность с воспроизводимостью окажется выше.

 DO> Для программного spi или iic необходимы внешние прерывания. Для spi -
 DO> одно,
 DO> по фронту (спаду) на clk, для iic - и по scl и по sda (или по изменению
 DO> всего порта). UART программный на небольшие скорости (а для этой задачи
 DO> большие явно не нужны) делается исключительно на таймерном прерывнии.
 DO> Кроме того, на UART тривиально (в соседнем письме описано как)
 DO> реализуется однопроводная двунаправленная шина. То есть тянуть (не считая
 DO> уже протянутого общего) нужно только один провод.

Да, наверное все так. Hо есть одна проблема- стабильность частоты для таймера,
который будет рулить uart-ом. Я далеко не уверена, что температурная
стабильность встроенных в tiny RC-осциляторов обеспечит надежную ассинхронную
связь, не говоря уже о воспроизводимости номинала частоты. Кварц люди ставить
не хотят!

Если Вы ведете речь о низких скоростях обмена, то программно реализованные i2c
или spi вообще не требуют использования никаких прерываний - все решается
примитивным опросом линий. Причем, без особых требований к номиналу и
стабильности частоты опроса.

Всего Вам Хорошего
Ольга


Re: простые последовательные
Привет!

Thu Dec 28 2006 20:39, Dmitry Orlov wrote to Jurgis Armanavichius:

 RA>>> UART еще более рулит - геммороя меньше ;-)
 JA>> Точка-точка - несомненно. А для нескольких устройств - I2C со своими
 JA>> всего лишь 2-я проводами :-)
 DO> А с UART достаточно одного...

Это если только "туда" :-) А "обратно"? IMHO, 1-wire (или его клоны) -
единственная альтернатива. Hо больно уж спартанским выглядит подобное
решение...

Юргис


Re: простые последовательные

X-Virus-Scanned: amavisd-new at bezeqint.net

Hello, Jurgis Armanavichius!
You wrote in conference fido7.ru.embedded to Dmitry Orlov on Thu, 28 Dec
2006 21:56:38 +0300:



 RA>>>> UART еще более рулит - геммороя меньше ;-)
 JA>>> Точка-точка - несомненно. А для нескольких устройств - I2C со
 JA>>> своими всего лишь 2-я проводами :-)
 DO>> А с UART достаточно одного...

 JA> Это если только "туда" :-) А "обратно"? IMHO, 1-wire (или его клоны)

И туда, и обратно, просто неодновременно. Так и в iic - тоже неодновременно.
Передаешь пакет, скажем из 4 байт, содержащий адрес устройства, команду,
данные, контрольную сумму (можно и без, если помех нет). Все принимают,
отвечает только тот, чей адрес совпал. От iic это по сути отличается только
тем, что интерфейс асинхронный.


 JA> единственная альтернатива. Hо больно уж спартанским выглядит
 JA> подобное решение...


Решение с UART удобно тем, что это по-прежнему самый распространенный
интерфейс. Для отладки вполне можно в качестве мастера (или слейва) обычный
комп использовать. Однопроводным он делается тривиально - хоть диод (лучше
шоттки) катодом к tx, на анод - rx, и в линию. Линию подтягиваешь резистором
(или лучше источником тока) к плюсу. Все. Или более честное решение с
транзистором (я его уже описывал).


dima
http://www.dorlov.no-ip.com
http://dimorlus.dynalias.com



Re: простые последовательные
Привет!

Fri Dec 29 2006 01:11, Dmitry Orlov wrote to Jurgis Armanavichius:

 DO>>> А с UART достаточно одного...
 JA>> Это если только "туда" :-) А "обратно"? IMHO, 1-wire (или его клоны)
 DO> И туда, и обратно, просто неодновременно. Так и в iic - тоже
 DO> неодновременно.  Передаешь пакет, скажем из 4 байт, содержащий адрес
 DO> устройства, команду,  данные, контрольную сумму (можно и без, если помех
 DO> нет). Все принимают,  отвечает только тот, чей адрес совпал. От iic это
 DO> по сути отличается только  тем, что интерфейс асинхронный.

Да, вполне логично. В общем-то I2C в данной конкретной задаче выигрывает
только дешевизной, т.к. достаточно всего двух резисторов на всю систему.

 JA>> единственная альтернатива. Hо больно уж спартанским выглядит
 JA>> подобное решение...
 DO> Решение с UART удобно тем, что это по-прежнему самый распространенный
 DO> интерфейс. Для отладки вполне можно в качестве мастера (или слейва)
 DO> обычный  комп использовать. Однопроводным он делается тривиально - хоть
 DO> диод (лучше  шоттки) катодом к tx, на анод - rx, и в линию. Линию
 DO> подтягиваешь резистором  (или лучше источником тока) к плюсу. Все.
 DO> Или более честное решение с  транзистором (я его уже описывал).

Да, согласен. Если смириться с некоторым усложнением соединений, то
решение с UART даже попроще чуток. Опасаюсь только, что без аппаратного
UART'а скорость будет невысокой. Впрочем, для моторчиков высокой скорости
и не нужно... А если еще выходы соединить монтажным ИЛИ, то и резисторов
дополнительных (или там диодов каких) не понадобится :-)

Юргис


Re: простые последовательные

X-Virus-Scanned: amavisd-new at bezeqint.net

Hello, Jurgis Armanavichius!
You wrote in conference fido7.ru.embedded to Dmitry Orlov on Fri, 29 Dec
2006 10:46:35 +0300:

 J
 DO>>>> А с UART достаточно одного...
 JA>>> Это если только "туда" :-) А "обратно"? IMHO, 1-wire (или его
 JA>>> клоны)
 DO>> И туда, и обратно, просто неодновременно. Так и в iic - тоже
 DO>> неодновременно.  Передаешь пакет, скажем из 4 байт, содержащий
 DO>> адрес устройства, команду,  данные, контрольную сумму (можно и без,
 DO>> если помех нет). Все принимают,  отвечает только тот, чей адрес
 DO>> совпал. От iic это по сути отличается только  тем, что интерфейс
 DO>> асинхронный.

 JA> Да, вполне логично. В общем-то I2C в данной конкретной задаче
 JA> выигрывает только дешевизной, т.к. достаточно всего двух резисторов
 JA> на всю систему.

Только не выигрывает, а проигрывает. Два провода вместо одного и более
сложная реализация софта.

 JA>>> единственная альтернатива. Hо больно уж спартанским выглядит
 JA>>> подобное решение...

 DO>> Решение с UART удобно тем, что это по-прежнему самый
 DO>> распространенный  интерфейс. Для отладки вполне можно в качестве
 DO>> мастера (или слейва)
 DO>> обычный  комп использовать. Однопроводным он делается тривиально -
 DO>> хоть диод (лучше  шоттки) катодом к tx, на анод - rx, и в линию.
 DO>> Линию подтягиваешь резистором  (или лучше источником тока) к плюсу.
 DO>> Все. Или более честное решение с  транзистором (я его уже описывал).

 JA> Да, согласен. Если смириться с некоторым усложнением соединений, то

В чем же усложнение?

 JA> решение с UART даже попроще чуток. Опасаюсь только, что без аппаратного
 JA> UART'а скорость будет невысокой.

Типа с программным iic она высокой будет...

 JA>  Впрочем, для моторчиков высокой скорости и не нужно... А если еще
 JA> выходы соединить монтажным ИЛИ, то и резисторов дополнительных (или там
 JA> диодов каких) не понадобится :-)

Если uart аппаратный, у него Tx обычно активный, если он программный, то
достаточно вообще одной ноги и на rx и на tx.

dima
http://www.dorlov.no-ip.com
http://dimorlus.dynalias.com



Re: простые последовательные
Quoted text here. Click to load it

[skipped]

Quoted text here. Click to load it

 А  вот  это  как раз не верно. Если ты всё на UART делаешь -- то
да, у тебя UART  --  самый  распространённый  интэрфейс.  А  Если
какие-нибудь   телевизоры   ковыряешь   (ну   это   я  как  самый
распространённый пример) -- то  у  тебя  есть  шанс  не  найти  в
окрестностях свободного UARTа, в отличие от отладчика i2c.





Re: простые последовательные

X-Virus-Scanned: amavisd-new at bezeqint.net

Hello, Ilya Anfimov!
You wrote in conference fido7.ru.embedded to Dmitry Orlov on Fri, 29 Dec
2006 08:57:37 +0000 (UTC):

 >> Решение с UART удобно тем, что это по-прежнему самый распространенный
 >> интерфейс. Для отладки вполне можно в качестве мастера (или слейва)
 >> обычный

 IA>  А  вот  это  как раз не верно. Если ты всё на UART делаешь -- то
 IA> да, у тебя UART  --  самый  распространённый  интэрфейс.  А  Если

Он не только у меня, он в мире восьмиразрядных контроллеров такой.

 IA> какие-нибудь   телевизоры   ковыряешь   (ну   это   я  как  самый
 IA> распространённый пример) -- то  у  тебя  есть  шанс  не  найти  в
 IA> окрестностях свободного UARTа, в отличие от отладчика i2c.

Свободный UART втыкаемый в usb в любой приличной компьютерной лавке
продается, в отличие от iic отладчика. И даже не со всех лэптопов до сих пор
исчез, не говоря уж о десктопах. Преобразование rs232 в ttl-uart тривиально
и не рассматривается.


dima
http://www.dorlov.no-ip.com
http://dimorlus.dynalias.com



Re: простые последовательные
Quoted text here. Click to load it

 Значит, мне просто везло -- что почти везде было i2c и только
в половине случаев -- UART.

Quoted text here. Click to load it

 Ну, а в десктопах сейчас штуки по три их стоит. И ничего это не значит
-- если i2c привычнее.






Re: простые последовательные

X-Virus-Scanned: amavisd-new at bezeqint.net

Hello, Илья Анфимов!
You wrote in conference fido7.ru.embedded to Dmitry Orlov on Fri, 29 Dec
2006 18:42:15 +0000 (UTC):

 >>>> Решение с UART удобно тем, что это по-прежнему самый
 >>>> распространенный интерфейс.

 IA>>>  А  вот  это  как раз не верно. Если ты всё на UART делаешь -- то
 IA>>> да, у тебя UART  --  самый  распространённый  интэрфейс.  А  Если

 >> Он не только у меня, он в мире восьмиразрядных контроллеров такой.

 ИА>  Значит, мне просто везло -- что почти везде было i2c и только в
 ИА> половине случаев -- UART.


Зачем спорить о везениях? Посмотри просто по номенклатуре контроллеров с iic
slave и uart и каких больше.

 IA>>> какие-нибудь   телевизоры   ковыряешь   (ну   это   я  как  самый
 IA>>> распространённый пример) -- то  у  тебя  есть  шанс  не  найти  в
 IA>>> окрестностях свободного UARTа, в отличие от отладчика i2c.

 >> Свободный UART втыкаемый в usb в любой приличной компьютерной лавке
 >> продается, в отличие от iic отладчика. И даже не со всех лэптопов до
 >> сих пор  исчез, не говоря уж о десктопах. Преобразование rs232 в
 >> ttl-uart тривиально  и не рассматривается.

 ИА>  Ну, а в десктопах сейчас штуки по три их стоит. И ничего это не
 ИА> значит -- если i2c привычнее.

Твои привычки - не основание для утверждений в начале квотинга.



dima
http://www.dorlov.no-ip.com
http://dimorlus.dynalias.com



Re: простые последовательные
Quoted text here. Click to load it

[skipped]

Quoted text here. Click to load it

 Спецыально оставил, чтобы народ над тобой посмеялся.

Quoted text here. Click to load it






пpостые последовательные
  Пpивет, Jurgis.

  Вот что Jurgis Armanavichius wrote to Dmitry Orlov:



 JA> Пpивет!

 JA> Thu Dec 28 2006 20:39, Dmitry Orlov wrote to Jurgis Armanavichius:

 RA>>>> UART еще более pyлит - геммоpоя меньше ;-)
 JA>>> Точка-точка - несомненно. А для нескольких yстpойств - I2C со
 JA>>> своими
 JA>>> всего лишь 2-я пpоводами :-)
 DO>> А с UART достаточно одного...

 JA> Это если только "тyда" :-) А "обpатно"?

  Это если и тyда, и обpатно. Соединяешь вместе
линии TxD и RxD y всех yстpойств в однy линию
(если выходы TxD типа ОК - пpямо, иначе - хотя
бы чеpез диод, чтобы не бодались дpyг с дpyгом)
и гоняешь инфоpмацию в любом напpавлении. Это
назовём "1-wire over uart" и тоже бyдем
патентовать. ;-)))

 JA> IMHO, 1-wire (или его клоны) -
 JA> единственная альтеpнатива. Hо больно yж спаpтанским выглядит подобное
 JA> pешение...

  Очень часто более пpостые pешения выглядят
кyда кpасивее навоpоченных.

--Michael G. Belousoff--
Yekaterinburg city
mickbell(dog)mail(dot)ru
http://web.ur.ru/mickbell

... ==== Пpоблемy надо pешать до того, как она появится. ====

пpостые последовательные
Привет!

Fri Dec 29 2006 09:31, Michael Belousoff wrote to Jurgis Armanavichius:

 DO>>> А с UART достаточно одного...
 JA>> Это если только "тyда" :-) А "обpатно"?
 MB>   Это если и тyда, и обpатно. Соединяешь вместе линии TxD и RxD
 MB> y всех yстpойств в однy линию (если выходы TxD типа ОК - пpямо,
 MB> иначе - хотя бы чеpез диод, чтобы не бодались дpyг с дpyгом)
 MB> и гоняешь инфоpмацию в любом напpавлении. Это назовём "1-wire
 MB> over uart" и тоже бyдем патентовать. ;-)))

Да, логично. Если так сделать, то при наличии аппаратного UART'а или
воспользовавшись предложением коллеги Орлова, на самом деле можно
сделать наипростейшим образом. Правда на модернизации, добавлении
стандартных микросхем придется поставить крест. Впрочем, может этого
и не нужно.

 JA>> IMHO, 1-wire (или его клоны) -
 JA>> единственная альтеpнатива. Hо больно yж спаpтанским выглядит подобное
 JA>> pешение...
 MB> Очень часто более пpостые pешения выглядят кyда кpасивее навоpоченных.

Это ты очень верно подметил! Точно! Это как в поговорке: "Все гениальное -
просто. (Hо не все простое гениально.)" :-)

Юргис


пpостые последовательные
  Пpивет, Jurgis.

  Вот что Jurgis Armanavichius wrote to Michael Belousoff:

 DO>>>> А с UART достаточно одного...
 JA>>> Это если только "тyда" :-) А "обpатно"?
 MB>>   Это если и тyда, и обpатно. Соединяешь вместе линии TxD и RxD
 MB>> y всех yстpойств в однy линию (если выходы TxD типа ОК - пpямо,
 MB>> иначе - хотя бы чеpез диод, чтобы не бодались дpyг с дpyгом)
 MB>> и гоняешь инфоpмацию в любом напpавлении. Это назовём "1-wire
 MB>> over uart" и тоже бyдем патентовать. ;-)))

 JA> Да, логично. Если так сделать, то пpи наличии аппаpатного UART'а или
 JA> воспользовавшись пpедложением коллеги Оpлова, на самом деле можно
 JA> сделать наипpостейшим обpазом. Пpавда на модеpнизации, добавлении
 JA> стандаpтных микpосхем пpидется поставить кpест. Впpочем, может этого
 JA> и не нyжно.

  Если сильно пpиспичит модеpнизиpовать, есть
возможность добавлять на этy линию не некие
"стандаpтные" микpосхемы, а мелкие контpоллеpы.
Hy и, pазyмеется, никто не мешает вывести
кyда-нибyдь с кpаю и I2C, и SPI, и чего там ещё
дyшенька пожелает.

 JA>>> IMHO, 1-wire (или его клоны) -
 JA>>> единственная альтеpнатива. Hо больно yж спаpтанским выглядит
 JA>>> подобное pешение...
 MB>> Очень часто более пpостые pешения выглядят кyда кpасивее
 MB>> навоpоченных.

 JA> Это ты очень веpно подметил! Точно! Это как в поговоpке: "Все
 JA> гениальное - пpосто. (Hо не все пpостое гениально.)" :-)

  Да yж. Hедавно в Е-бypге откpылся магазин IKEA.
Вот yж точно говоpят: пpостота хyже воpовства!
(Это я пpо ассоpтимент. Дyбовее мебели, чем там,
я не видел отpодясь.)

--Michael G. Belousoff--
Yekaterinburg city
mickbell(dog)mail(dot)ru
http://web.ur.ru/mickbell

... ==== Пpоблемy надо pешать до того, как она появится. ====

Re: пpостые последовательные

Quoted text here. Click to load it

Блин, институтка восторженная, в натуре.

Quoted text here. Click to load it

А много ли ты другой мебели видал? А каталог IKEA ты смотрел? А то ведь там
тысячи моделей
- в том числе и вполне красивые и функциональные. Конечно, дворцы той мебелью не
обставить, но квартиры обычные - вполне - вот только цены все равно кусучие
будут.

Site Timeline