ЗАО «ЗЭО»

Пожалуйста, войдите или зарегистрируйтесь.

Расширенный поиск  

Новости:

Автор Тема: Есть а ТИОНе I2C ?  (Прочитано 10292 раз)

0 Пользователей и 1 Гость просматривают эту тему.

atsys

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 4
Есть а ТИОНе I2C ?
« : 27 Мая, 2009, 00:06:28 »

Хотелось бы знать реслизована ли в ТИОНе шина I2C (это основное требование для использования ТИОНа в разработках моей фирмы). Если есть, то как шина реализована? Какова скорость (100 или 400)? де прочесть про это?
Записан

Danila

  • Administrator
  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 703
Re: Есть а ТИОНе I2C ?
« Ответ #1 : 27 Мая, 2009, 11:29:15 »

Добрый день. Аппаратного интерфейса I2C на Тионе нету.
Его можно реализовать программно, либо из других имеющихся интерфейсов, например, с помощью преобразователя USB-I2C http://www.robot-electronics.co.uk/htm/usb_i2c_tech.htm.
Либо использовать изделия на базе PXA270 (Тион270, Тион-Про270). Они имеют аппаратный I2C.
« Последнее редактирование: 27 Мая, 2009, 22:48:56 от Danila »
Записан

faa

  • Jr. Member
  • **
  • Оффлайн Оффлайн
  • Сообщений: 72
Re: Есть а ТИОНе I2C ?
« Ответ #2 : 27 Мая, 2009, 16:14:59 »

Аппаратного интерфейса I2C на Тионе нету.
Как это нет? А как же тогда мне удалось подключить RTC Isl1208?
Есть там I2C, только он выведен на разъем X2 с джамперами (сигналы EEDAT и EECLK).
И в доке явно не прописано, что это I2C.
В linux есть драйвер для поддержки I2C /linux-2.6.21.5/drivers/i2c/bussesi2c-ep93xx.c
Все работает.
Записан

atsys

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 4
Re: Есть а ТИОНе I2C ?
« Ответ #3 : 27 Мая, 2009, 16:43:42 »

Аппаратного интерфейса I2C на Тионе нету.
Как это нет? А как же тогда мне удалось подключить RTC Isl1208?
Есть там I2C, только он выведен на разъем X2 с джамперами (сигналы EEDAT и EECLK).
И в доке явно не прописано, что это I2C.
В linux есть драйвер для поддержки I2C /linux-2.6.21.5/drivers/i2c/bussesi2c-ep93xx.c
Все работает.

Интересно. Врядли разработчики ТИОНа не знают про Х2. Зачем тогда скрывать это? А вот то, что в ТИОНе изначально нет RTC это плохо.
Записан

Danila

  • Administrator
  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 703
Re: Есть а ТИОНе I2C ?
« Ответ #4 : 27 Мая, 2009, 18:03:55 »

Интерфейс I2C возможно реализавать программно, тоесть дергать ножками GPIO, на любом процессоре. Именно это и сделано в драйвере I2C под Linux.
При программной реализации интерфейса не гарантируется определенная скорость передачи по интерфейсу и время реакции на полученные прерывания, т.к. ОС Linux - не ОС реального времени. Если в Вашей системе скорость передачи по интерфейсу не является критичным параметром, то вариант Тион+драйвер под Linux (или под WinCE, там тоже есть аналогичный драйвер) Вам подойдет.

« Последнее редактирование: 11 Июня, 2009, 01:30:17 от Danila »
Записан

faa

  • Jr. Member
  • **
  • Оффлайн Оффлайн
  • Сообщений: 72
Re: Есть а ТИОНе I2C ?
« Ответ #5 : 27 Мая, 2009, 21:16:26 »

Интерфейс I2C возможно реализавать программно, тоесть дергать ножками GPIO, на любом процессоре. Именно это и сделано в драйвере I2C под Linux.

Был вопрос: есть I2C или нет? В ер93хх и, соответственно, в Тион есть поддержка этого интерфейса.

Еще раз - поддержка интерфейса есть. Под эти две ножки выделен отдельный регистр (см. datasheet и user guide на ер93хх) и cirrus-ы его обзывают EEDRIVE (интерфейс EEPROM). Это не спроста :)
Через этот регистр все и происходит. Причем регистр R/W. Но это уже детали :)
Интерфейс есть, программная поддержка есть (драйвер в ядре), на 400кГц может работать. И под такую скорость на таком процессоре городить аппаратную реализацию медленного фейса нет смысла - он программно успевает обеспечить максимально допустимую скорость для I2C (даже под ОС).
Можно пристегивать девайс и смотреть - "признает-не признает". Если нет - придется писать модуль для ядра под конкретную микросхему, подключенную к этому интерфейсу (что-то мне пришлось подковырять - но совсем малость). Правда, все это под linux - под винду вопросы к БГ :)

Рекомендую ознакомиться с исходниками драйвера I2C под Linux, нак который Вы ссылаетесь выше. I2C реализован программно (то есть дерганием ножек GPIO) Регистром  EEDRIVE задается только тип выхода (открытый коллектори или CMOS), больше ничего данным регистром сделать нельзя. Ножки EECLK и EEDATA используются из-за того, что на них возможно установить тип выхода "открытый коллектор", т.к для I2C необходим данный тип.
Danila


Никто и не говорил, что I2C реализован аппаратно. Но аппаратная поддержка есть (в т.ч. возможность установить тип выхода ОК).

Топикстартер интересовался, реализован ли I2C в Тионе. ИМХО, реализован и работает.
« Последнее редактирование: 28 Мая, 2009, 10:52:06 от faa »
Записан

atsys

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 4
Re: Есть а ТИОНе I2C ?
« Ответ #6 : 27 Мая, 2009, 22:11:29 »

Спасибо за разъяснения. :) Успокоили. RTC ведь видимо самому подключать придется и скорее свего именно по i2c. Может у кого примеры или ссылка есть как сие действие сделать. Конечно все под linux.
Записан

faa

  • Jr. Member
  • **
  • Оффлайн Оффлайн
  • Сообщений: 72
Re: Есть а ТИОНе I2C ?
« Ответ #7 : 28 Мая, 2009, 09:55:41 »

Спасибо за разъяснения. :) Успокоили. RTC ведь видимо самому подключать придется и скорее свего именно по i2c. Может у кого примеры или ссылка есть как сие действие сделать. Конечно все под linux.

Примеры для Isl1208 есть в референс дизайне от циррусов на EDB9307A. Только там ошибочка (или описочка - вроде все по референсу, а не работает :). Питание Isl1208 должно быть 3.3В, а не 5В (как указано на их схеме). При 5В проц не дотягивает вверх, соответственно, RTC не программируется.
С ядерной поддержкой проблем нет - у меня на 2.6.21.5 все работает . Патч выкладывал на ftp://ftp.ntcsm.ru/pub/tion9315/fpga/kernel-2.6.21.5/2.6.21.5.patch.bz2.
« Последнее редактирование: 28 Мая, 2009, 10:51:05 от faa »
Записан

Danila

  • Administrator
  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 703
Re: Есть а ТИОНе I2C ?
« Ответ #8 : 28 Мая, 2009, 12:11:37 »

Спасибо за разъяснения. :) Успокоили. RTC ведь видимо самому подключать придется и скорее свего именно по i2c. Может у кого примеры или ссылка есть как сие действие сделать. Конечно все под linux.

Встроенный RTC есть на платах Тион-Про v2. Процессор там тот же - EP9315.
Записан

atsys

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 4
Re: Есть а ТИОНе I2C ?
« Ответ #9 : 28 Мая, 2009, 15:32:31 »

Но Тион-Про v2 это одноплатный компьютер со своим форм-фактором и распаяными интерфейсными разъемами. А есть ли процессорный модуль с RTC?
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: Есть а ТИОНе I2C ?
« Ответ #10 : 28 Мая, 2009, 20:46:38 »

Нет
Записан

SAVRU

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 3
Re: Есть а ТИОНе I2C ?
« Ответ #11 : 30 Марта, 2011, 16:53:43 »

Здравствуйте.
Вот ни как не можем найти где можно скачать "Библиотеку для работы с шиной I2C" упоминающуюся на странице http://www.zao-zeo.ru/soft внизу в разделе "Без операционной системы".
Спасибо
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: Есть а ТИОНе I2C ?
« Ответ #12 : 30 Марта, 2011, 17:16:21 »

Видимо безвозвратно утеряно.
Записан