Троичный вариант SPI

Уравновешенная троичная система счисления - форум переехал с http://ternary.info

Moderator: haqreu

User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Троичный вариант SPI

Post by Shaos »

Пришла мне в голову идея троичного варианта шины SPI - на клоке будет последовательность NOPONOPO (в которую в прицнипе может превратиться синусоида будучи поданной на троичный вход), и далее по N данные будут писаться на сигнал даты (входной или выходной), а по P - читаться. Это можно использовать для отадки или прошивки троичных девайсов (по аналогии с тем как обычный двоичный SPI использяется для прошивки FPGA или отладки сложных девайсов через JTAG).
petrenko
Doomed
Posts: 598
Joined: 10 Mar 2012 16:21
Location: РФ

Post by petrenko »

Пока частота небольшая - ещё ничего, а на высоких скоростях - ?
Моё предложение несколько иное.
Известно, что двоичные сигналы передают в прямом и инверсном виде по двум микрополосковым линиям. Если не сильно задумываться, то можно данные с , допустим любой тристабильной ячейки потритно адресуемого регистра, передать по шести микрополосковым линиям. Но это если не сильно задумываться.
А вот если хорошенько подумать ( как это сделал один уважаемый человек, автор соответствующего изобретения, которое к нашему удовольствию можно свободно использовать "а-ля GPL" то есть..), то хватит всего трёх (!) микрополосковых линий, что опять таки, хоть какое, но преимущество перед двоичной последовательной передачей.
Надо будет написать тому человеку, спросить, как там устроены приёмники и драйверы-передатчики таких линий. Если дождусь ответа - "запостю" здесь.
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

SPI не задаёт лимита на скорость и реальные приложения могут работать до 10 мегабит в секунду и даже выше
Я тут за главного - если что шлите мыло на me собака shaos точка net
petrenko
Doomed
Posts: 598
Joined: 10 Mar 2012 16:21
Location: РФ

Post by petrenko »

SPI не предусматривает ограничения скорости, с этим не буду спорить.
А вот реальные провода для большой скорости должны быть выполнены определённым образом.
И учитывая, что я упомянул микрополосковые линии, странно, что Вы пишете про 10 Мегабит, а не про 1Гигабит.
Согласитесь, с меньшей скоростью данные по мпл передать можно, а вот с большей передать по несогласованным проводам - нет. Лучше сразу применить более продвинутое решение , чем потом наткнуться на ограничение, которого ... нет ... вроде бы формально.
Тем более если мы хотим длииинные данные передавать из/в , то для тактовой, допустим 20МГц и числа , ну допустим, длиной в 80 бит(с такими например уже 8087 работал) скорость будет ... :rotate:
По известным всем (надеюсь) соображениям полоса пропускания должна быть вдвое выше (ведь если проводочки нашего SPI "зарежут" полосу в районе даже 1000МГц, то мы не передадим ровным счётом никаких данных ), то есть всего-навсего 3200МГц нужна будет в этом примере.
Ну-с-с, присоединяемся также и к "адвентистам микрополосковых линий" ? :wink:
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Что-то у меня подозрение, что автор слегка темнит и хочет что-то странненькое учинить... :(

Как-то на материнских платах современных компьютеров с процессорами на
тактовых частотах 2 ГГц и выше я не наблюдал полосковых линий.

Поправьте меня, если я был невнимателен рассматривая их... :-?

Возможно, согласования на концах и предусмотрены, чтобы избежать отраженной
волны на таких частотах, но это и на более низких частотах не вредно...
Но вот чтобы микрополосковые линии...

Что-то смущают меня такие связки - микрополосковые линии, SPI и 1815вф3...
iLavr
petrenko
Doomed
Posts: 598
Joined: 10 Mar 2012 16:21
Location: РФ

Post by petrenko »

А разве там не только внутри CPU, но и на плате присутствуют все 2ГГц? :roll:
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

хоббистскими средствами до 1 гигабита не подняться...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

petrenko wrote:А разве там не только внутри CPU, но и на плате присутствуют все 2ГГц? :roll:
Май диар френд! (это не ругательство) :wink:
Проблемы начинаются куда как на более низких частотах!
2 ГГц - это нижний край диапазона СВЧ! И вдвойне удивительно и приятно,
что современные ЦПУ работают на этих частотах!
Поэтому я и привёл это в пример...

А вопросы, связанные с длинными линиями возникают куда как раньше!
Поскольку в цифровой технике нас волнует крутизна фронтов импульсов,
а это очень высокочастотный процесс, то проблемы согласования появляются
в казалсь бы совсем не в СВЧ конструкциях... :(

А полоски используются уже в ДМВ-диапазоне (сам делал конвертор на полосках,
причем чисто из интереса), а ДМВ-диапазон - всего лишь сотни МГц...
Но могут и не использоваться... и такие примеры есть.

Поэтому меня удивило предложение по применению полосков в микропроцессорных
конструкциях...


PS. У меня просто подозрение, что несколько спутаны понятия. Чтобы гнать по проводнику
ну пусть несколько сотен МГц - полосок как бы и вовсе не обязателен...
:-?
iLavr
petrenko
Doomed
Posts: 598
Joined: 10 Mar 2012 16:21
Location: РФ

Post by petrenko »

Lavr wrote: Поскольку в цифровой технике нас волнует крутизна фронтов импульсов,
а это очень высокочастотный процесс, то проблемы согласования появляются
в казалсь бы совсем не в СВЧ конструкциях...
...Поэтому меня удивило предложение по применению полосков в микропроцессорных
конструкциях...
Как раз наоборот должно оказаться совсем неудивительным.
Да и в учебнике напрямую рекомендуют применять мпл в таких конструкциях.
Shaos wrote:хоббистскими средствами до 1 гигабита не подняться...
Ну почему же, если некоторые из нас в виде хобби применяли :
Lavr wrote: ....полоски .... в ДМВ-диапазоне (сам делал конвертор на полосках,
причем чисто из интереса), а ДМВ-диапазон -.... сотни МГц...
Так что вполне любительскими средствами можно реализовать линии передачи данных и 1Гбит. Причём я так понимаю даже и 20 с лишним лет назад уже было возможно. А некоторые из радиолюбителей те же 20(+) лет назад успешно мастерили устройства на частоты до 3ГГц, но к сожалению не цифровые, впрочем для опытных радиолюбителей не составит труда нечто подобное и для цифровой передачи соорудить, особенно если не нужна большая мощность , как в радиотракте. А сдвиговые регистры на ~1Гбит если не удастся просто недорого купить, то можно и из отдельных триггеров, хотя это уже морока.
Но в Гигабитных сетевых карточках и свичах ведь используются компоненты с вполне доступной ценой, так что купить пожалуй всё же проще.
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

petrenko wrote:
Lavr wrote:...Поэтому меня удивило предложение по применению полосков в микропроцессорных
конструкциях...
Как раз наоборот должно оказаться совсем неудивительным.
Да и в учебнике напрямую рекомендуют применять мпл в таких конструкциях.
Я, честно говоря, не встречал в реале... ткни, если есть подходящая популярная
ссылка практического примера.
iLavr
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Троичный вариант SPI

Post by Shaos »

Недавно придумал несколько иной способ использования гибрида троичности и SPI - для управления SPI памятью (обычной двоичной) по 2 проводам от микроконтроллера (двоичного) вместо 4 - суть в том, что первый провод остаётся за MISO (вход), а MOSI, CLK и /SS склеиваются во втором проводе (т.к. они все выходы и это логично)! В спокойном состоянии на этом втором проводе сидит высокий уровень (+5В), как только нам надо что-то выдать, мы начинаем его дёргать туда сюда с частотой CLK - при этом простая RC схемка помогает нам получить /SS остающийся в "0" пока оно генерит, а амплитуда (помним, что двоичный микроконтроллер может выдавать троичный сигнал) - управляет тем, что же в конечном итоге идёт на MOSI - если импульс доходит только до половины диапазона питающего напряжения (+2.5В), то на MOSI идёт логический "0", а если до максимума (+5В), то логическая "1". Как идея? ;)
Я тут за главного - если что шлите мыло на me собака shaos точка net
DimkaM
Maniac
Posts: 261
Joined: 22 Jun 2005 04:35
Location: МО Россия

Re: Троичный вариант SPI

Post by DimkaM »

Ну CS и SS объеденить это я понимаю, т.к. три состояния, то это просто.
а вот MOSI туда как примешивать - что то не вкуриваю
ведь MOSI тоже троичный или нет? даже если mosi двоичный, то всё равно невкуриваю

может диаграмку нарисуешь ?
Shaos wrote: а если до максимума (+5В), то логическая "1"
если дойдёт до 5в, то CS пропадёт
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Троичный вариант SPI

Post by Shaos »

вот как-то так:

Code: Select all

+5.0V -------    --          ------
             |  |  |        |
+2.5V        |  |  |   --   |
             |  |  |  |  |  |
 0.0V         --    --    --
                 =1    =0
     _________                   __
/SS:          |_________________|
     _________    __    __    _____
CLK:          |__|  |__|  |__|  
     _________________        _____
MOSI:                 |______|
/SS можно на RC-цепочке получить, CLK с задержкой получать, ну и по уровням импульсов ставить либо 1 либо 0 на MOSI...
Я тут за главного - если что шлите мыло на me собака shaos точка net
viv-pm
Novelist
Posts: 31
Joined: 17 Mar 2015 21:54

Re: Троичный вариант SPI

Post by viv-pm »

Смотрим "Последовательный канал информационного обмена
по ГОСТ 18977-79 (ARINC-429)". Ничего не напоминает?
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Троичный вариант SPI

Post by Shaos »

viv-pm wrote:Смотрим "Последовательный канал информационного обмена
по ГОСТ 18977-79 (ARINC-429)". Ничего не напоминает?
Почитал: https://en.wikipedia.org/wiki/ARINC_429

Там единичка это положительный импульс, а нолик - отрицательный, причём в дифференциальной паре (эдакая троичность ; ) - кроме того протокол оперирует 32-битными словами, в которых есть хедер, данные, метки какие-то и т.д.

В моём же случае - высокий импульс это единичка, а низкий - нолик, и это просто другой способ передачи SPI по меньшему количеству проводов - т.е. реальный протокол зависит от SPI-устройства на том конце...
Я тут за главного - если что шлите мыло на me собака shaos точка net