реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> USB - NRZI, кодировка NRZI
Женек_84
сообщение Jan 14 2009, 11:22
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 31
Регистрация: 31-03-08
Пользователь №: 36 351



Подскажите начинающему по USB
Смотрю спецификацию на USB 2.0 и не пойму все данные пакетов уже в NRZI-кодировке представлены?
И еще для full speed-режима частота - 12 (МГц)?
Go to the top of the page
 
+Quote Post
vvvv
сообщение Jan 14 2009, 11:31
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 256
Регистрация: 3-05-05
Из: г. Волжский
Пользователь №: 4 714



Нет, NRZI это протокол физического уровня, данные в пакете обычные нули и единицы, никто их в пакете не кодирует, кодировка происходит аппаратно прямо перед выдачей на провода.На самой шине, на проводах DP и DN, они превращаются в серию импульсов по протоколу NRZI. Точно также на приемном конце,
NRZI также аппаратно превращает импульсы в обычный пакет. Кодировка и декодировка не имеет отношения к данным в пакете, все делается аппаратно.
Full Speed 12MHz. Да.

Сообщение отредактировал vvvv - Jan 14 2009, 11:34
Go to the top of the page
 
+Quote Post
Женек_84
сообщение Jan 19 2009, 16:32
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 31
Регистрация: 31-03-08
Пользователь №: 36 351



Цитата(vvvv @ Jan 14 2009, 14:31) *
Нет, NRZI это протокол физического уровня, данные в пакете обычные нули и единицы, никто их в пакете не кодирует, кодировка происходит аппаратно прямо перед выдачей на провода.На самой шине, на проводах DP и DN, они превращаются в серию импульсов по протоколу NRZI. Точно также на приемном конце,
NRZI также аппаратно превращает импульсы в обычный пакет. Кодировка и декодировка не имеет отношения к данным в пакете, все делается аппаратно.
Full Speed 12MHz. Да.

Спасибо!
А вот еще с адресной частью подскажите плиз, непонятно....встала необходимость преобразование усб в один из интерфейсов типа иса, вме и т.п., где есть физические адреса ячеек памяти, портов В/В. В усб я так понимаю чисто программный интерфейс, т.е. адреса тех же портов организуются в полях пакета данных усб или по-другому?
И второе, какие микросхемы-преобразователи из послед. усб а парал. интерфейс самые нормальные и стоит ли их использовать?
Спасибо.
Go to the top of the page
 
+Quote Post
rezident
сообщение Jan 19 2009, 16:53
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(Женек_84 @ Jan 19 2009, 21:32) *
А вот еще с адресной частью подскажите плиз, непонятно....встала необходимость преобразование усб в один из интерфейсов типа иса, вме и т.п., где есть физические адреса ячеек памяти, портов В/В. В усб я так понимаю чисто программный интерфейс, т.е. адреса тех же портов организуются в полях пакета данных усб или по-другому?
Вы видимо не совсем полно представляете себе устройство USB. Вы хотите работать с USB-host или с USB-device контроллером на уровне его регистров? И желаете сами писать драйвер для вашего USB-контроллера? И соответственно уровень приложения для USB тоже самостоятельно писать?
Go to the top of the page
 
+Quote Post
vvvv
сообщение Jan 19 2009, 18:24
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 256
Регистрация: 3-05-05
Из: г. Волжский
Пользователь №: 4 714



Цитата(Женек_84 @ Jan 19 2009, 19:32) *
А вот еще с адресной частью подскажите плиз, непонятно....встала необходимость преобразование усб в один из интерфейсов типа иса, вме и т.п., где есть физические адреса ячеек памяти, портов В/В. В усб я так понимаю чисто программный интерфейс, т.е. адреса тех же портов организуются в полях пакета данных усб или по-другому?
И второе, какие микросхемы-преобразователи из послед. усб а парал. интерфейс самые нормальные и стоит ли их использовать?


У нас широко используют FT245R преобразует USB в параллельный интерфейс http://www.ftdichip.com/FTProducts.htm#FT245R
Из USB сделать шину ISA, честно говоря даже не представляю себе, как это делать. Если только писать низкоуровневый драйвер на Windows,
который будет перехватывать обращения к шине ISA и перенаправлять на Ваш самодельный драйвер USB устройства, ну или не совсем самодельный.
Тогда да, получится выносная шина ISA, но текущие разработки в интернете показали что это очень неэффективный путь, и пока нет ни одного
устройства, которое бы доказало, что USB годится для расширения стандартов материнки наружу. На каждый чих по такой схеме будет тратиться до 0.1сек. времени,WinXP ничего не гарантирует по времени.

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

Сообщение отредактировал vvvv - Jan 19 2009, 18:26
Go to the top of the page
 
+Quote Post
Женек_84
сообщение Jan 19 2009, 20:21
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 31
Регистрация: 31-03-08
Пользователь №: 36 351



Цитата(rezident @ Jan 19 2009, 19:53) *
Вы видимо не совсем полно представляете себе устройство USB. Вы хотите работать с USB-host или с USB-device контроллером на уровне его регистров? И желаете сами писать драйвер для вашего USB-контроллера? И соответственно уровень приложения для USB тоже самостоятельно писать?

Да Вы правы - усб для нашей фирмы в новинку и поэтому сейчас у нас и решается вопрос возможно ли и вообще нужно ли использовать усб для таких целей.
Я занимаюсь чисто аппаратной частью, у нас с одной стороны готовый усб-хост на контроллере, а с другой устройства, работающие по вме-шине. Необходима стыковка.
Хотя на этом контроллере есть спец. шина lpc, как замена isa, как никто лучше подходящая для этих целей. Поэтому в раздумьях.

Цитата(vvvv @ Jan 19 2009, 21:24) *
У нас широко используют FT245R преобразует USB в параллельный интерфейс http://www.ftdichip.com/FTProducts.htm#FT245R
Из USB сделать шину ISA, честно говоря даже не представляю себе, как это делать. Если только писать низкоуровневый драйвер на Windows,
который будет перехватывать обращения к шине ISA и перенаправлять на Ваш самодельный драйвер USB устройства, ну или не совсем самодельный.
Тогда да, получится выносная шина ISA, но текущие разработки в интернете показали что это очень неэффективный путь, и пока нет ни одного
устройства, которое бы доказало, что USB годится для расширения стандартов материнки наружу. На каждый чих по такой схеме будет тратиться до 0.1сек. времени,WinXP ничего не гарантирует по времени.

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

Спасибо.
Я с Вами полностью согласен, на используемом нами контроллере есть спец. шина lpc, которая, я думаю, как никто лучше подходит для этих целей.
Хотя может быть все-таки придется использовать, каким-нить образом усб.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 10:42
Рейтинг@Mail.ru


Страница сгенерированна за 0.01393 секунд с 7
ELECTRONIX ©2004-2016