Kiber

Почти свой
Регистрация
12 Май 2011
Сообщения
12,883
Реакции
5,483
Адрес
Смоленск
Попавшая в ремонт плата NICE RBA3/A была изучена на элементарном уровне для попытки анализа шины БлюБас.
Присутствуют следующие микросхемы: LM324- операционный усилитель , HCF4021 - регистр рядом с кнопочками, назначение понятно, 063AC,процессор PIC 18F452 и наконец
24LCO1B. Эта последняя микросхема ответственна за связь, реализует двухпроводный протокол I2C.
Вот что описывается в Википедии по поводу протокола:

I²C использует две двунаправленные линии, подтянутые к напряжению питания и управляемые через открытый коллектор или открытый сток — последовательная линия данных (SDA, англ. Serial DAta) и последовательная линия тактирования (SCL, англ. Serial CLock). Стандартные напряжения +5 В или +3,3 В, однако допускаются и другие.

Классическая адресация включает 7-битное адресное пространство с 16 зарезервированными адресами. Это означает до 112 свободных адресов для подключения периферии на одну шину.

Основной режим работы — 100 кбит/с; 10 кбит/с в режиме работы с пониженной скоростью. Заметим, что стандарт допускает приостановку тактирования для работы с медленными устройствами.

После пересмотра стандарта в 1992 году становится возможным подключение ещё большего количества устройств на одну шину (за счёт возможности 10-битной адресации), а также увеличивается скорость до 400 кбит/с в скоростном режиме. Соответственно, доступное количество свободных узлов выросло до 1008. Максимальное допустимое количество микросхем, подсоединенных к одной шине, ограничивается максимальной емкостью шины в 400 пФ.

Версия стандарта 2.0, выпущенная в 1998 году представила высокоскоростной режим работы со скоростью до 3,4 Мбит/с с пониженным энергопотреблением. Версия 2.1 2001 года включила лишь незначительные доработки.


Тактировка последовательности передачи данных[править] Принцип работы[править] Состояние СТАРТ и СТОППроцедура обмена начинается с того, что ведущий формирует состояние СТАРТ: генерирует переход сигнала линии SDA из ВЫСОКОГО состояния в НИЗКОЕ при ВЫСОКОМ уровне на линии SCL. Этот переход воспринимается всеми устройствами, подключенными к шине, как признак начала процедуры обмена. Генерация синхросигнала — это всегда обязанность ведущего; каждый ведущий генерирует свой собственный сигнал синхронизации при пересылке данных по шине. Процедура обмена завершается тем, что ведущий формирует состояние СТОП — переход состояния линии SDA из низкого состояния в ВЫСОКОЕ при ВЫСОКОМ состоянии линии SCL. Состояния СТАРТ и СТОП всегда вырабатываются ведущим. Считается, что шина занята после фиксации состояния СТАРТ. Шина считается освободившейся через некоторое время после фиксации состояния СТОП. При передаче посылок по шине I2C каждый ведущий генерирует свой синхросигнал на линии SCL. После формирования состояния СТАРТ, ведущий опускает состояние линии SCL в НИЗКОЕ состояние и выставляет на линию SDA старший бит первого байта сообщения. Количество байт в сообщении не ограничено. Спецификация шины I2C разрешает изменения на линии SDA только при НИЗКОМ уровне сигнала на линии SCL. Данные действительны и должны оставаться стабильными только во время ВЫСОКОГО состояния синхроимпульса. Для подтверждения приема байта от ведущего-передатчика ведомым-приемником в спецификации протокола обмена по шине I2C вводится специальный бит подтверждения, выставляемый на шину SDA после приема 8 бита данных.

[править] ПодтверждениеТаким образом передача 8 бит данных от передатчика к приемнику завершаются дополнительным циклом (формированием 9-го тактового импульса линии SCL), при котором приемник выставляет низкий уровень сигнала на линии SDA, как признак успешного приема байта.

Подтверждение при передаче данных обязательно, кроме случаев окончания передачи ведомой стороной. Соответствующий импульс синхронизации генерируется ведущим. Передатчик отпускает (ВЫСОКОЕ) линию SDA на время синхроимпульса подтверждения. Приёмник должен удерживать линию SDA в течение ВЫСОКОГО состояния синхроимпульса подтверждения в стабильном НИЗКОМ состоянии.

В том случае, когда ведомый-приёмник не может подтвердить свой адрес (например, когда он выполняет в данный момент какие-либо функции реального времени), линия данных должна быть оставлена в ВЫСОКОМ состоянии. После этого ведущий может выдать сигнал СТОП для прерывания пересылки данных. Если в пересылке участвует ведущий-приёмник, то он должен сообщить об окончании передачи ведомому-передатчику путем не подтверждения последнего байта. Ведомый-передатчик должен освободить линию данных для того, чтобы позволить ведущему выдать сигнал СТОП или повторить сигнал СТАРТ.

[править] СинхронизацияСинхронизация выполняется с использованием подключения к линии SCL по правилу монтажного И. Это означает, что ведущий не имеет монопольного права на управление переходом линии SCL из НИЗКОГО состояния в ВЫСОКОЕ. В том случае, когда ведомому необходимо дополнительное время на обработку принятого бита, он имеет возможность удерживать линию SCL в низком состоянии до момента готовности к приему следующего бита. Таким образом, линия SCL будет находиться в НИЗКОМ состоянии на протяжении самого длинного НИЗКОГО периода синхросигналов.

Устройства с более коротким НИЗКИМ периодом будут входить в состояние ожидания на время, пока не кончится длинный период. Когда у всех задействованных устройств кончится НИЗКИЙ период синхросигнала, линия SCL перейдет в ВЫСОКОЕ состояние. Все устройства начнут проходить ВЫСОКИЙ период своих синхросигналов. Первое устройство, у которого кончится этот период, снова установит линию SCL в НИЗКОЕ состояние. Таким образом, НИЗКИЙ период синхролинии SCL определяется наидлиннейшим периодом синхронизации из всех задействованных устройств, а ВЫСОКИЙ период определяется самым коротким периодом синхронизации устройств.

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

На уровне байта, если устройство может принимать байты данных с большой скоростью, но требует определенное время для сохранения принятого байта или подготовки к приему следующего, то оно может удерживать линию SCL в НИЗКОМ состоянии после приема и подтверждения байта, переводя таким образом передатчик в состояние ожидания.

На уровне битов, устройство, такое как микроконтроллер без встроенных аппаратных цепей I2C или с ограниченными цепями, может замедлить частоту синхроимпульсов путем продления их НИЗКОГО периода. Таким образом скорость передачи любого ведущего адаптируется к скорости медленного устройства.

[править] Адресация в шине I2CКаждое устройство, подключённое к шине, может быть программно адресовано по уникальному адресу. Для выбора приемника сообщения ведущий использует уникальную адресную компоненту в формате посылки. При использовании однотипных устройств, ИС часто имеют дополнительный селектор адреса, который может быть реализован как в виде дополнительных цифровых входов селектора адреса, так и в виде аналогового входа. При этом адреса таких однотипных устройств оказываются разнесены в адресном пространстве устройств, подключенных к шине.

В обычном режиме используется 7-битная адресация.

Процедура адресации на шине I2C заключается в том, что первый байт после сигнала СТАРТ определяет, какой ведомый адресуется ведущим для проведения цикла обмена. Исключение составляет адрес «Общего вызова», который адресует все устройства на шине. Когда используется этот адрес, все устройства в теории должны послать сигнал подтверждения. Однако, устройства, которые могут обрабатывать «общий вызов», на практике встречаются редко.

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

После того, как адрес послан, каждое устройство в системе сравнивает первые семь бит после сигнала СТАРТ со своим адресом. При совпадении устройство полагает себя выбранным как ведомый-приёмник или как ведомый-передатчик, в зависимости от бита направления.

Адрес ведомого может состоять из фиксированной и программируемой части. Часто случается, что в системе будет несколько однотипных устройств (к примеру ИМС памяти, или драйверов светодиодных индикаторов), поэтому при помощи программируемой части адреса становится возможным подключить к шине максимально возможное количество таких устройств. Количество программируемых бит в адресе зависит от количества свободных выводов микросхемы. Иногда используется один вывод с аналоговой установкой программируемого диапазона адресов[1]. При этом в зависимости от потенциала на этом адресном выводе ИМС, возможно смещение адресного пространства драйвера так, чтобы однотипные ИМС не конфликтовали между собой на общей шине.

Все специализированные ИМС, поддерживающие работу в стандарте шины I2C, имеют набор фиксированных адресов, перечень которых указан производителем в описаниях контроллеров.

Комбинация бит 11110ХХ адреса зарезервирована для 10-битной адресации.

Как следует из спецификации шины, допускаются как простые форматы обмена, так и комбинированные, когда в промежутке от состояния СТАРТ до состояния СТОП ведущий и ведомый могут выступать и как приемник, и как передатчик данных. Комбинированные форматы могут быть использованы, например, для управления последовательной памятью.

Во время первого байта данных можно передавать адрес в памяти, который записывается во внутренний регистр-защелку. После повторения сигнала СТАРТа и адреса ведомого выдаются данные из памяти. Все решения об авто-инкременте или декременте адреса, к которому произошел предыдущий доступ, принимаются конструктором конкретного устройства. Поэтому, в любом случае лучший способ избежать неконтролируемой ситуации на шине перед использованием новой (или ранее не используемой) ИМС следует тщательно изучить ее описание (datasheet или reference manual), получив его с сайта производителя. Более того, производители часто размещают рядом более подробные инструкции по применению.

В любом случае, по спецификации шины все разрабатываемые устройства должны сбрасывать логику шины при получении сигнала СТАРТ или повторный СТАРТ и подготавливаться к приему адреса.

Тем не менее основные проблемы с использованием I2C шины возникают именно из-за того, что разработчики, «начинающие» работать с I2C шиной не учитывают того факта, что ведущий (часто — микропроцессор) не имеет монопольного права ни на одну из линий шины.

[править] ПрименениеI²C находит применение в устройствах, предусматривающих простоту разработки и низкую себестоимость изготовления при относительно неплохой скорости работы.

Список возможных применений:

доступ к модулям памяти NVRAM;
доступ к низкоскоростным ЦАП/АЦП;
регулировка контрастности, насыщенности и цветового баланса мониторов;
регулировка звука в динамиках;
управление светодиодами, в том числе в мобильных телефонах;
чтение информации с датчиков мониторинга и диагностики оборудования, например, термостат центрального процессора или скорость вращения вентилятора охлаждения;
чтение информации с часов реального времени (кварцевых генераторов);
управление включением/выключением питания системных компонент;
информационный обмен между микроконтроллерами;
[править] РазработкаКаждая электронная система включает в себя 3 различных типа узлов:

Узел управления
Узлы общего назначения, такие как буферы ЖКИ, порты ввода/вывода, ОЗУ, ЭСПЗУ или преобразователи данных.
Специфические узлы, такие как схемы цифровой настройки и обработки сигнала для радио- и видео- систем, или генераторы тонального набора для телефонии.
В настоящее время ассортимент продукции Philips включает более 150 КМОП и биполярных I²C-совместимых устройств, функционально предназначенных для работы во всех трех вышеперечисленных категориях электронного оборудования. Все I²C-совместимые устройства имеют встроенный интерфейс, который позволяет им связываться друг с другом по шине I²C. Это конструкторское решение разрешает множество проблем сопряжения различных устройств, которые обычно возникают при разработке цифровых систем.

На дешевых устройствах часто I²C эмулируется программно с использованием технологии Bit-banging.

[править] Преимуществанеобходим всего один микроконтроллер для управления набором устройств;
используется всего две линии ввода-вывода общего назначения;
стандарт предусматривает «горячее» подключение и отключение устройств в процессе работы системы
встроенный в микросхемы фильтр подавляет всплески, обеспечивая целостность данных.

Так же в Инете найден следующий документ по Блю Бас, но переводить врядли буду, ввиду отсутствия желания:
http://www.e.kth.se/~e92_aan/misc/Bluebus.pdf

Если есть дополнения или исправления пишите по Блю Бас в эту тему.
 

Budovnik

Гость
Регистрация
15 Июн 2010
Сообщения
16
Реакции
5
Адрес
Санкт-Петербург
Всем здрасьте… У меня вопрос по автоматике Nice. Слышал, что там используется технология подключения фотоэлементов BlueBUS. А что это из себя представляет? Может кто знает.
 

ДмитрийSPb

Эксперт
Регистрация
17 Апр 2010
Сообщения
7,166
Реакции
4,990
Адрес
Санкт-Петербург
Re: Автоматика: Технология BlueBUS

На каждое устройство нужно только две жилы в проводе, нет полярности , подключается всё параллельно
 

Niro

Почти свой
Регистрация
4 Ноя 2009
Сообщения
1,842
Реакции
252
Адрес
Москва
Re: Автоматика: Технология BlueBUS

BlueBUS - это технология, которая позволяет подавать питание и передавать сигналы управления по одним и тем же двум проводам.
Сделана была для простоты подключения нескольких устройств на одну пару клемм.
Пока туда можно подключить только фотоэлементы.
 

DeeptriX

Новичок
Регистрация
1 Июл 2010
Сообщения
22
Реакции
7
Адрес
Санкт-Петербург
Re: Автоматика: Технология BlueBUS

Кину схемку для наглядности
31_2.png


И еще добавлю, что синхронизация фотоэлементов производится автоматически, после того, как будут установлены перемычки в соответствующие пары фотоэлементов.
Этот способ значительно экономит время монтажа, количество проводов, упрощает процесс подключения и синхронизации фотоэлементов.
 

MobyDick

Эксперт
Регистрация
15 Ноя 2011
Сообщения
3,838
Реакции
5,637
Адрес
Уфа
Ну, наверно, kibermatik, как консультант, должен перевести "многабукаф" в короткую и понятную для большинства информацию...:wink:
 

Dialog

Регистрация
27 Дек 2011
Сообщения
8,142
Реакции
8,740
Адрес
СССР
Ну, наверно, kibermatik, как консультант, должен перевести "многабукаф" в короткую и понятную для большинства информацию...:wink:
Согласен. Т.к. знание протокола, формата обмена данными не дает нам ничего. Мне. Кроме расширения "кругозора".
 

Kiber

Почти свой
Регистрация
12 Май 2011
Сообщения
12,883
Реакции
5,483
Адрес
Смоленск
Идентификация шины, возможно позволит создать диагностический микроконтроллер к ноутбуку, к тому же его можно использовать для настройки привода без помощи кнопочек, через ноутбук, воткнувшись в блю бас. Можно сохранять различные конфигурации привода в компе и в течении минуты менять прошивку. Например при переходе Зима- Лето, День-Ночь, ну видимо еще много применений можно найти.
Так же из текста:
1) чтение информации с датчиков мониторинга и диагностики оборудования, например, термостат.
2) информационный обмен между микроконтроллерами (удаленное централизованное управление воротами или каскадом ворот, шлюзами, загрузочными терминалами, уравнительными платформами).
Так же обратите внимание, что очень сильная элементная поддержка, поле для творчества огромное:
3) В настоящее время ассортимент продукции Philips включает более 150 КМОП и биполярных I²C-совместимых устройств, функционально предназначенных для работы во всех трех вышеперечисленных категориях электронного оборудования. Все I²C-совместимые устройства имеют встроенный интерфейс, который позволяет им связываться друг с другом по шине I²C. Это конструкторское решение разрешает множество проблем сопряжения различных устройств, которые обычно возникают при разработке цифровых систем.
В переводе это означает что привод легко можно обьединить по блютуз, Вайфай.
На экране ноутбука, подсоединившись к шине , можно увидеть всю подключенную периферию и даже протестировать ее.
 

Dialog

Регистрация
27 Дек 2011
Сообщения
8,142
Реакции
8,740
Адрес
СССР
Идентификация шины, возможно позволит создать диагностический микроконтроллер к ноутбуку,
Не хочу к ноутбуку, он большой. Хочу к Андроиду. Когда начнется поставка плат расширения и программного обеспечения?
Если серьезно, спасибо за обзор и за указанные направления в которых можно помечтать.
 

Kiber

Почти свой
Регистрация
12 Май 2011
Сообщения
12,883
Реакции
5,483
Адрес
Смоленск
Не хочу к ноутбуку, он большой. Хочу к Андроиду. Когда начнется поставка плат расширения и программного обеспечения?
Если серьезно, спасибо за обзор и за указанные направления в которых можно помечтать.

Приближу Вашу мечту этой ссылкой. Покопаться и программки найти можно.

http://www.harbaum.org/till/i2c_tiny_usb/index.shtml
 

Вложения

  • I2c-USB.gif
    I2c-USB.gif
    10.8 KB · Просмотры: 139

Спецтех

Эксперт
Регистрация
11 Окт 2012
Сообщения
3,891
Реакции
2,069
Адрес
Одинцово
По поводу RBA3/A, покопался в старом ноуте и нашёл электрическую схему этой платы.
Только сразу не соображу, как его выложить на сайт попроще. Если нужна схема, то плиз, хелп ми.))))
 

Kiber

Почти свой
Регистрация
12 Май 2011
Сообщения
12,883
Реакции
5,483
Адрес
Смоленск
По поводу RBA3/A , покопался в старом ноуте и нашёл электрическую схему этой платы.
Только сразу не соображу, как его выложить на сайт попроще. Если нужна схема, то плиз, хелп ми.))))

При ответе с цитированием есть управление вложениями, загружаете картинку с компа, потом внизу кнопочка загрузить.
 

Спецтех

Эксперт
Регистрация
11 Окт 2012
Сообщения
3,891
Реакции
2,069
Адрес
Одинцово

Вложения

  • 174-C (RBA3-A).pdf
    108.7 KB · Просмотры: 148

Спецтех

Эксперт
Регистрация
11 Окт 2012
Сообщения
3,891
Реакции
2,069
Адрес
Одинцово
Схемы немного устаревшие, есть 3 модификации А, В, С. Принцип работы тот же с небольшими изменениями элементной базы. Нашёл вот такую схему, теперь можно легко ремонтировать, все элементы на виду.
 

Вложения

  • pianta 174-A.pdf
    78.3 KB · Просмотры: 151

Спецтех

Эксперт
Регистрация
11 Окт 2012
Сообщения
3,891
Реакции
2,069
Адрес
Одинцово
Этих 2х схем вполне достаточно, чтобы произвести ремонт блоков управления с BlueBus, принцип работы у них одинаковый, правда есть небольшие изменения в новых модификациях, но это уже не принципиально.
Хотелось бы, услышать объяснения Kibermatika уже со схемой в руках, чтобы народ лучше усвоил урок по BlueBus...
P.S. Попробую поискать ещё схемки и создать архив.:yes3:
 

Dialog

Регистрация
27 Дек 2011
Сообщения
8,142
Реакции
8,740
Адрес
СССР
Этих 2х схем вполне достаточно, чтобы произвести ремонт блоков управления с BlueBus, принцип работы у них одинаковый, правда есть небольшие изменения в новых модификациях, но это уже не принципиально.
Хотелось бы, услышать объяснения Kibermatika уже со схемой в руках, чтобы народ лучше усвоил урок по BlueBus...
P.S. Попробую поискать ещё схемки и создать архив.:yes3:
Да, очень бы хотелось пояснений Kibermatika.
Схемы и пр. я на сайте выкладываю, что попадется, для всеобщего доступа.
 

Kiber

Почти свой
Регистрация
12 Май 2011
Сообщения
12,883
Реакции
5,483
Адрес
Смоленск
Да, очень бы хотелось пояснений Kibermatika.
Схемы и пр. я на сайте выкладываю, что попадется, для всеобщего доступа.

1) Не претендуя на роль знатока, все же просмотрел Даташит на микроконтроллер. Первое, что понятно, - плата с индексом "В" круче "А", скорее всего для западного рынка. В ней присутствует м/схема 2551, обеспечивающая дополнительный интерфейс СUN BUS разьем "J8 plug". Этот интерфейс разработан изначально Бошем для управления автоэлектроникой и получил дальнейшее распространение для различных, в основном общеупотребляемых, приборов.

2) Для программирования данного контроллера можно использовать программатор "Phyton ChipProg2"

3) Теперь стало понятно, почему применено такое программирование тремя кнопками, что неудобно для монтажника. Это минимально необходимый аппаратный способ изменения конфигурации для микроконтроллера, способ войти в дерево программы и направлять микропрограммы по тому или иному пути. Нажимая кнопочку Set, вы устанавливаете определенный код в регистре HSF4021, этот код попадая на микроконтроллер, вызывает прерывание основной программы и вход в редактирование конфигурации, далее перемещая верхней и нижней кнопкой курсор, заносите необходимые кода в конфигурацию, каждый раз нажимая SET, после каждой операции. И таким образом выстраиваете дерево необходимой вам программы поведения привода. Любой другой способ ввода данных, означал бы для разработчика дополнительные аппаратные средства, и просто было бы дорого.

4) Теперь о входах RA1, RA2 микроконтроллера. Это и есть наша дорогая токовая защита. Это входы 10 разрядного АЦП, который переводит в цифру ток обмотки мотора и напряжение. Об этих входах писал как-то в разделе ППВ Николаю Иванычу, что их можно применить в его контроллере вместо используемого в его плате интегрирующего преобразователя, который там выполняет такую же фактически функцию. В программе процессора Вы закладываете максимально допустимые пороги срабатывания, и каждую секунду процессор сотни раз сравнивает эти данные с мотора со своей программой и if уровень 1= уровень max go to stop.

5) bubasl построен на принципе передачи цифрового потока широтно - ипульсной модуляцией, этот способ уже встроен внутрь контроллера, цифровой поток формирует 24LCO1b, как уже писалось в первом посте.

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

7) Я, ...дь, на это весь вечер убил, а мне еще отчет за месяц писать, так что если что дополнительно интересует, будем обмениваться, а так пока все.

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

П.П.С. Что же может означать разъем с надписью J8 Plug, куда он подключается, кто знает?
 
Сверху Снизу