Модераторы: ZeeLax, powerfox
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Аппаратная реализация CAN-протокола в ядре 2.6.27. 
:(
    Опции темы
Severyanin
Дата 23.3.2009, 06:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Исследователь
**


Профиль
Группа: Участник
Сообщений: 554
Регистрация: 31.7.2007
Где: Россия, Омск

Репутация: нет
Всего: 9



Добрый день. Прошу прощения, если мой вопрос покажется глупым. В процессе сборуи ядра 2.6.27.7 наткнулся на то, что в нем присутствуют модули, написанные русскими разработчиками, для работы с промышленными протоколами - CAN, I2C, 1-wire. У меня возник вопрос, как реализованы аппаратно эти протоколы? По исходникам сам не разобрался, я достаточно слабо знаю архитектуру Линукса. Не могли бы вы объяснить, каким образом аппаратно реализованы CAN и 1-wire, через какие порты работают. Заранее спасибо


--------------------
"Звонким вереском скроются наши следы, и не вспомнят о них. Кто поверит нам, рыцарям павшей звезды из отвергнутых книг? Пусть в узоре времен ни стихов. ни имен, но напомнит забывшим их полуночный крик." Тэм Гринхилл
"Ужели суслик твоего коварства нагадит в плов доверья моего?". Л.Филатов 
PM MAIL WWW ICQ   Вверх
rsm
Дата 29.3.2009, 21:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 999
Регистрация: 16.3.2005

Репутация: 1
Всего: 62



Заглавие треда срубает наповал своей бессмысленностью smile Давай все-таки отделим теплое от мягкого, сиречь аппаратную часть от программной smile

Цитата(Severyanin @  23.3.2009,  08:10 Найти цитируемый пост)
У меня возник вопрос, как реализованы аппаратно эти протоколы

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

Цитата(Severyanin @  23.3.2009,  08:10 Найти цитируемый пост)
через какие порты работают

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

Надеюсь, теперь стало немного яснее и ты сможешь сформировать вопрос более точно и корректно smile
PM MAIL   Вверх
Severyanin
Дата 1.4.2009, 08:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Исследователь
**


Профиль
Группа: Участник
Сообщений: 554
Регистрация: 31.7.2007
Где: Россия, Омск

Репутация: нет
Всего: 9



я вполне ясно и четко представляю себе аппаратную и программную реализацию этих протоколов на промышленных контроллерах, не раз соединял по нему железки. Теперь переформулированный вопрос)))). В ядре Линукса есть модуль для работы с CAN и 1-wire. Так вот, каким образом этот протокол реализован на стандартной материнской плате с камнем 86 архитектуры, который в принципе не предназначен для управления в режиме реального времени?

Добавлено через 57 секунд
Вернее, не как реализован, а как может быть реализован


--------------------
"Звонким вереском скроются наши следы, и не вспомнят о них. Кто поверит нам, рыцарям павшей звезды из отвергнутых книг? Пусть в узоре времен ни стихов. ни имен, но напомнит забывшим их полуночный крик." Тэм Гринхилл
"Ужели суслик твоего коварства нагадит в плов доверья моего?". Л.Филатов 
PM MAIL WWW ICQ   Вверх
rsm
Дата 2.4.2009, 01:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 999
Регистрация: 16.3.2005

Репутация: 1
Всего: 62



Цитата(Severyanin @  1.4.2009,  10:19 Найти цитируемый пост)
каким образом этот протокол реализован на стандартной материнской плате с камнем 86 архитектуры

Почему же обязательно х86? Linux поддерживает изрядное количество всеразличных аппаратных платформ.

Цитата(Severyanin @  1.4.2009,  10:19 Найти цитируемый пост)
не как реализован, а как может быть реализован

В теории ядро чуть-чуть поддерживает "мягкое" планирование реального времени. Есть возможность сделать его немного жестче, применив RTAI. Выкинуть из ядра все лишнее (особенно USB!), добавить в ядро RTAI и "допилить" драйвер конкретного девайса чтобы он работал с использованием RTAI. Что же касается железа (платформа x86), то здесь все действительно грустно - время сильно "плавает" даже на целиком и полностью RT-шной QNX.
PM MAIL   Вверх
Severyanin
Дата 8.4.2009, 07:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Исследователь
**


Профиль
Группа: Участник
Сообщений: 554
Регистрация: 31.7.2007
Где: Россия, Омск

Репутация: нет
Всего: 9



Цитата

В теории ядро чуть-чуть поддерживает 

Как я понимаю, тут ключевое слово - чуть-чуть?))))
Спасибо за подробное разъяснение и ссылку


--------------------
"Звонким вереском скроются наши следы, и не вспомнят о них. Кто поверит нам, рыцарям павшей звезды из отвергнутых книг? Пусть в узоре времен ни стихов. ни имен, но напомнит забывшим их полуночный крик." Тэм Гринхилл
"Ужели суслик твоего коварства нагадит в плов доверья моего?". Л.Филатов 
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Linux/UNIX: Hardware"
Imple
ZeeLax
nickless

В этом форуме предпочтительны вопросы на следующие темы:

  • Поиск и установка драйверов для *n?x-систем.
  • Настройка различных устройств (например звука или аппаратного ускорения видео).
  • Выбор *n?x совместимого железа, обмен опытом и.т.д.


Вопросы мобильной разработки тут

Вопросы о настройке системы (например разбивка и форматирование диска, настройка сети) сюда не относятся.


Чтобы получить наибольшую пользу от данного раздела, убедитесь, что вы четко сформулировали свой вопрос и привели точные данные о конфигурации компьютера, а так же указали версию драйвера, версию ОС и версию ядра.
При проблемах с железом желательно указывать вывод комманд lspci, lsusb и dmesg (запускать под root-ом), содержимое соответствующих логов (лежат в /var/log) и конфигурационных файлов (лежат в /etc). Чем больше информации мы получим, тем быстрее сможем помочь Вам.


  • Вы должны соблюдать правила форума.
  • Помните: какой вопрос, такой и ответ. Прежде чем задать вопрос прочитайте вот эту статью на форуме CIT.
  • Оскорблять запрещается.
  • Религиозные войны в Религиозных войнах.
  • Общение "просто так" в Клубе юнуксоидов. В отличие от многих других разделов, здесь разрешается сдержанно оффтопить и юморить в тему.

За интересные статьи, находки, решения, программы и просто реальную помощь будут ставиться + в репу).


В данный момент этот раздел модерируют nerezus, nickless, powerfox, pythonwin, Imple и ZeeLax. Если вы хотите помочь нам, пишите в ПМ и мы обсудим.


Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | *NIX и Hardware | Следующая тема »


 




[ Время генерации скрипта: 0.0457 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.