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

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

Translate This Thread From Russian to

Threaded View
Re: простые последовательные
Hello Olga Nonova!

 AK>> Оленька, подскажите - вы где такую забористую траву достаёте ? ЖB}
 AK>> Hе, я понимаю : у меня "по жизни" *неправильные* тини, кои "делают
 AK>> неправильный мёд" (С) - но зачем же *так* тупить-то ? Ж%}}}}}}}}}
 AK>> Для подгонки частоты таймера менять *базовый* клок кристалла вовсе
 AK>> не обязательно ...

 ON> Алексаша!

"Сашенька", лапуля вы наша ! ЖB}

 ON> Расскажите сначала о частоте, на которой идет передача, о
 ON> таймере и его разрешающей способности в деле деления опорной
 ON> частоты кристалла. Прикиньте наименьший шаг коррекции частоты в
 ON> процентах.

Так вот, лапуля : ежели у вас таймер хотя бы восьмибитный и с аппаратным
output/compare - вы так-и имеете возможность задавать точность до 1/256
от внешнего на таймер (от прескалера, например ;-) Ежели у нас аппаратного
O/C нету - делаем программно, с перезагрузкой счётчика нужным значением
прямо внутри прерывания. Да, это добавляет существенный джиттер/уход по
частоте, но для *байтсинхронизирующихся* вещиц, вроде RS232 - сие пофиг.

 ON> Тогда и диспут продолжим, и травку выкурим спокойно, не напрягаясь.

ЖB} "ХРЕHОВАЯ ИЗ ДЕРЬМА ПУЛЯ !.." (C)


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

Fri Jan 05 2007 19:11, Aleksandr Konosevich wrote to Olga Nonova:

 ON>> Алексаша!
 AK> "Сашенька", лапуля вы наша ! ЖB}

Хорошо, пусть будет "Сашенька", хотя есть в этом что-то девичье.

 ON>> Расскажите сначала о частоте, на которой идет передача, о
 ON>> таймере и его разрешающей способности в деле деления опорной
 ON>> частоты кристалла. Прикиньте наименьший шаг коррекции частоты в
 ON>> процентах.

 AK> Так вот, лапуля : ежели у вас таймер хотя бы восьмибитный и с аппаратным
 AK> output/compare - вы так-и имеете возможность задавать точность до 1/256
 AK> от внешнего на таймер (от прескалера, например ;-) Ежели у нас
 AK> аппаратного
 AK> O/C нету - делаем программно, с перезагрузкой счётчика нужным значением
 AK> прямо внутри прерывания. Да, это добавляет существенный джиттер/уход по
 AK> частоте, но для *байтсинхронизирующихся* вещиц, вроде RS232 - сие пофиг.

Показываю на числовом примере, почему ничего не получится. Предположим, Вы
затеяли асинхронные передачи со скоростью 115200 на tiny- крситалле, у
которого встроенный RC-осцилятор 4MHz. Чтобы надежно распознавать Старт бит
Вам потребуется создать конечный автомат, работающий с частотой большей, чем
скорость приема/передачи. Обычно стандартно в 16 раз больше. Итого имеем
скорость квантования сигнала 115200*16 = 1,8432 MHz. Чтобы получить такую
частоту надо сделать делитель на 4.0/1,8432  = 2.17. Как видите, уже никакого
целого дивайдера на таймере для стандартной скорости не получается.
Предположим, Вы наплевали на стандарты и устроили деление частоты строго на 2
вместо положенных 2.17 и будете передавать на нестандартной скорости. И тут
Вас ждет сюрприз- из-за температурного дрейфа опорный RC-генератор уплыл
больше, чем допустимые 10% для асинхронных передач, т.е. стал, например, 4.4
MHz. Вам хочется скорректировать этот дрейф таймером- а не можете! Потому, что
требуемое значение делителя 2.2 нецелое! Вы в данной ситуации можете только
1,2,3 - вся Ваша коррекция частоты летит к чертям. Если Вы попробуете
поиграться с другими скростями и с другими опорными частотами, то увидите, что
на 256-бит таймере устроить приемлемую коррекцию 10% ухода частоты практически
невозможно.

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


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

Quoted text here. Click to load it

  А uart рассчитан на соединения точка-точка.

  Если у MCU есть набортные SPI или I2C (вариант: SMBUS) их и стоит
использовать. Если упирается в скорость, то SPI.


Re: простые последовательные
*** Ответ на письмо из carbonArea (carbonArea).

Привет, snipped-for-privacy@fk0.pp.ru !


 27 Dec 06 , 13:45  Kirill Frolov писал к Nickita A Startcev:

 >> Какие есть простые последовательные интерфейсы?
 >> Есть десяток-полтора мелких двигателей, хочется каждому
 >> задавать/отслеживать положение/скорость. и2ц вроде бы сложноват
 >> программно, СПИ требует сложной коммутации, что еще остается?

 KF>   А uart рассчитан на соединения точка-точка.

 KF>   Если у MCU есть набортные SPI или I2C (вариант: SMBUS) их и стоит
 KF> использовать. Если упирается в скорость, то SPI.

В (самых) дешевых тиньках ничего нет, нужно эмулировать программно и/или
аппаратно. Так что, наверное, нечто и2ц образное выйдет.
(недостаток СПИ - куча линий чип_селект.)

.                                                С уважением, Hикита.
... Hикого скромнее нет наашего Хасана..

Re: простые последовательные
NA>  >> Какие есть простые последовательные интерфейсы?
NA>  >> Есть десяток-полтора мелких двигателей, хочется каждому
NA>  >> задавать/отслеживать положение/скорость. и2ц вроде бы сложноват
NA>  >> программно, СПИ требует сложной коммутации, что еще остается?

KF>>   А uart рассчитан на соединения точка-точка.

KF>>   Если у MCU есть набортные SPI или I2C (вариант: SMBUS) их и стоит
KF>> использовать. Если упирается в скорость, то SPI.

NA> В (самых) дешевых тиньках ничего нет, нужно эмулировать программно
NA> и/или
NA> аппаратно. Так что, наверное, нечто и2ц образное выйдет.
NA> (недостаток СПИ - куча линий чип_селект.)

"вы просто не умеете их готовить". Можно и без чип-селекта работать.
Основный недостаток - малейший сбой на 1 бит синхронизации - по петле
ползет кака. А чтобы слейву передать мастеру, что он принял каку -
нужно принимать следующую посылку от мастера. Кака, в-общем.

I2C - много писали про его гемморойность в программной реализации
(тайминг и пр.). Попробуйте.
Проще и быстрее UART в виде 485го

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

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

27 Dec 06 16:18, Nickita A Startcev писал snipped-for-privacy@fk0.pp.ru:

 KF>>   А uart рассчитан на соединения точка-точка.

 KF>>  Если упирается в скорость, то SPI.

 NS>  (недостаток СПИ - куча линий чип_селект.)

    Можно устройства включать в кольцо, то есть вход от предыдущего, выход - к
следующему. Тогда для SPI достаточно одного провода на всех ("начало посылки"),
а для UART вообще ничего не надо.

    У нас таким образом к одному устройству модули расширения подключаются:
каждый может соединяться с двумя другими, а UART задействован только один.

Всего наилучшего,                                 [Team PCAD 2000]
Алексей М.
... Если долго думать одни и те же мысли, они становятся грязными.

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


 27 Dec 06 , 20:14  Alex Mogilnikov писал к Nickita A Startcev:

KF>>>   А uart рассчитан на соединения точка-точка.

KF>>>  Если упирается в скорость, то SPI.

NS>>  (недостаток СПИ - куча линий чип_селект.)

AM>     Можно устройства включать в кольцо, то есть вход от предыдущего,
AM> выход - к следующему.

Если в кольце N устройств, то для передачи байта последнему придется передать
N-2 байт шита всякого? А для обмена типа "устройство номер А, что у тебя в
регистре Б?" придется передавать не менее 2N байт и иметь секс с 'кто и где
потерял один бит (синхронизации)'.

AM> Тогда для SPI достаточно одного провода на всех
AM> ("начало посылки"),

плюс провод данных.

AM>  а для UART вообще ничего не надо.

но два провода данных.

AM>     У нас таким образом к одному устройству модули расширения
AM> подключаются: каждый может соединяться с двумя другими,

Rx налево, Tx направо, все в кольцо? :)

AM> а UART задействован только один.

.                                            С уважением, Hикита.
icq:240059686, lj-user:nicka_startcev
... Международная туристическая организация Аль-Каида

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

28 Dec 06 09:44, Nickita A Startcev писал Alex Mogilnikov:

 AM>>     Можно устройства включать в кольцо, то есть вход от
 AM>> предыдущего, выход - к следующему.

 NS> Если в кольце N устройств, то для передачи байта последнему придется
 NS> передать N-2 байт шита всякого?

    Если в каждом сеансе опрашивать все моторчики, то не надо.

 NS>  А для обмена типа "устройство номер А,
 NS> что у тебя в регистре Б?" придется передавать не менее 2N байт и иметь
 NS> секс с 'кто и где потерял один бит (синхронизации)'.

    ? Биты не должны теряться...

 AM>> Тогда для SPI достаточно одного провода на всех
 AM>> ("начало посылки"),
 NS> плюс провод данных.

    Да, конечно.

 AM>>  а для UART вообще ничего не надо.
 NS> но два провода данных.

    Один. Однонаправленное кольцо.

 AM>>     У нас таким образом к одному устройству модули расширения
 AM>> подключаются: каждый может соединяться с двумя другими,
 NS> Rx налево, Tx направо, все в кольцо? :)

    Именно так.

Всего наилучшего,                                 [Team PCAD 2000]
Алексей М.
... В системе возможно бесконечное число процессов - до 256.

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


 29 Dec 06 , 03:37  Alex Mogilnikov писал к Nickita A Startcev:

AM>>>     Можно устройства включать в кольцо, то есть вход от
AM>>> предыдущего, выход - к следующему.

NS>> Если в кольце N устройств, то для передачи байта последнему
NS>> придется передать N-2 байт шита всякого?

AM>     Если в каждом сеансе опрашивать все моторчики, то не надо.

обычное применение - бОльшая часть выключена (или включена, но игнорируется), а
двумя-тремя подгоняется какой-нибудь внешний параметр.

NS>>  А для обмена типа "устройство номер А,
NS>> что у тебя в регистре Б?" придется передавать не менее 2N байт и
NS>> иметь секс с 'кто и где потерял один бит (синхронизации)'.

AM>     ? Биты не должны теряться...

Помех в линии совсем не бывает?


.                                            С уважением, Hикита.
icq:240059686, lj-user:nicka_startcev
... "гастрономический осциллятор"

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


 29 Dec 06 , 13:14  Dmitry Orlov писал к Jurgis Armanavichius:

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

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

зато время доставки нулевое и (условно) независимое от программной исправности
всех промежуточных (если мы про кольцо).

Или деталек больше (что иногда тоже критично).

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

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

"токен-ринг" вместо шины с независимым подключением независимых устройств.

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

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

зависит от.
прерывания по фронту клока и даты не сложнее(не медленнее) чем прерывания по
таймеру строго синхронной с линией частоты.


.                                            С уважением, Hикита.
icq:240059686, lj-user:nicka_startcev
... 2B or not 2B = FFFFFFFF

Re: простые последовательные
Hello, Nickita!
You wrote to Dmitry Orlov on Sat, 30 Dec 2006 14:08:38 +0300:
 JA>>> решение с UART даже попроще чуток. Опасаюсь только, что без
 JA>>> аппаратного UART'а скорость будет невысокой.

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

 NA> зависит от.
 NA> прерывания по фронту клока и даты не сложнее(не медленнее) чем
 NA> прерывания по таймеру строго синхронной с линией частоты.

Только прерывания по таймеру могут и так априори присутствовать в системе,
независимо от коммуникации.


With best regards, Alexander Torres. 2:461/28,  E-mail: snipped-for-privacy@yahoo.com
[а ночью мы снова, уйдем эскадроном..]

http://altor.sytes.net



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

  Вот что Nickita A Startcev wrote to snipped-for-privacy@fk0.pp.ru:

 NS> выйдет. (недостаток СПИ - кyча линий чип_селект.)

  А если маненько подyмать и отказаться от
чип селекта в пользy некоего пpотокольчика
повеpх SPI, с адpесацией слэйвов, а? ;-)

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

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

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


 27 Dec 06 , 20:43  Michael Belousoff писал к Nickita A Startcev:

NS>> выйдет. (недостаток СПИ - кyча линий чип_селект.)

MB>   А если маненько подyмать и отказаться от
MB> чип селекта в пользy некоего пpотокольчика
MB> повеpх SPI, с адpесацией слэйвов, а? ;-)

А соединять слейвов последовательно или параллельно? :)
Может лучше взять аппаратный уровень не от СПИ, а от И2Ц? :)

.                                            С уважением, Hикита.
icq:240059686, lj-user:nicka_startcev
... Условно весёлые друзья

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

Hello,Michael!

MB>   А если маненько подyмать и отказаться от
MB> чип селекта в пользy некоего пpотокольчика
MB> повеpх SPI, с адpесацией слэйвов, а? ;-)

Я вот так когда-то сделал сдуру, а потом кусал себе эти
самые места. И был-то всего на шине 1 слейв, но когда туда
вламывался откуда-то лишний байт ( помеха, видимо ),
то продолжал гоняться в последующих пакетах.
Поменял процессор и межпроцессорный интерфейс ( пуганная
корова хвоста боится ). И только потом сообразил,
что CS очень даже к месту. По его срезу автомат слейва переводится из
исходного в режим начало приема, и этот мой лишний байт испортил
бы лишь один пакет, а последуюшие ходили бы нормально.

Каждый ходит по своим граблям...

WBR G.G.



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

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

  Вот что Arcady Schekochikhin wrote to Michael Belousoff:

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

 AS> Блин, инститyтка востоpженная, в натypе.

  Успокойся.

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

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

  Пpедлагаю об этом не здесь.

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

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

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

  Вот что Olga Nonova wrote to Michael Belousoff:

 KF>>>   Ага. Hа одной плате 5 контpоллеpов и к каждомy по кваpцy.

 MB>>   Хватит всем и одного кваpца, если на одной плате.

 ON> Скажите, "Мишyлик", шизофpенией не стpадаете? Очнитесь- тyт люди
 ON> каждый пpоводок междy мотоpчиками экономят! Да и для tiny yстановка
 ON> кваpца или внешнего генеpатоpа сpазy отожpет два пина. А их там всего
 ON> 6! Hе в теме Вы, голyбчик. Сильно не в теме.

  Hет, шизой не стpадаю. Стpадаю недосыпом
по объективной пpичине, о чём yже сказал.
Успокойтесь, "Ольга Hиколаевна".

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

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

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

Fri Dec 29 2006 21:23, Michael Belousoff wrote to Olga Nonova:

 MB> ... Стpадаю недосыпом
 MB> по объективной пpичине, о чём yже сказал.
 MB> Успокойтесь, "Ольга Hиколаевна".

Поздравляю Вас с Hовым Годом!

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


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

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

Hello, Nickita A Startcev!
You wrote in conference fido7.ru.embedded to snipped-for-privacy@fk0.pp.ru on Wed, 27 Dec
2006 16:18:16 +0300:


 NA> В (самых) дешевых тиньках ничего нет, нужно эмулировать программно
 NA> и/или аппаратно. Так что, наверное, нечто и2ц образное выйдет.
 NA> (недостаток СПИ - куча линий чип_селект.)

Реализовать программный iic можно фактически только используя прерывание по
изменению порта, а это часто вступает в конфликт с другим использованием
выводов этого порта. Адресация же устройств с таким образом написанным iic
ничем не проще чем при помощи UART, только с UART все гибче и аппаратно он
много где реализован. Сделать же на его базе шину - и вовсе тривиально,
причем достаточно одного (не считая общего) провода.

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



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

Wed Dec 27 2006 16:18, Nickita A Startcev wrote to snipped-for-privacy@fk0.pp.ru:

 NAS> (недостаток СПИ - куча линий чип_селект.)

Это не совсем так. Одного CS хватит на все slave. Просто, первым байтом в
пакете должен быть адрес моторчика и бит операции WR/RD. Hе свои пакеты
моторчик игнорирует.

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


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

Thu Dec 28 2006 09:26, Olga Nonova wrote to Nickita A Startcev:

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

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

А вообще такая задача проще всего решается по однопроводной линии
(типа 1-wire) или по двум проводам, вроде I2C или последовательного
интерфейса. Тем более, что автор сообщения говорил, что каких-то
сильных наводок не предполагается.

Юргис


Site Timeline