Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: USB
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Интерфейсы
Dubov
У меня собственно два вопроса:

1) Разбираюсь с интересным модулем. Модуль выдаёт данные через USB. В описании протокола сказано: необходимо обеспечить безошибочную передачу данных или контроль ошибок соотвествтующим уровнем протокола.

Такое вообще бывает? Получается даже CRC не шлют? как тогда ошибки искать? Или есть варианты когда можно уверено сказать что ошибок передачи данных быть не может?

2) какие обычно протоколы передачи данных используют при SPI соединений? Мне пока ничего, кроме Modbus-подобного,только без адреса устройства, в голову не приходит (код функции+данные+контрольная сумма).
kovigor
Цитата(Dubov @ Jul 11 2012, 18:31) *
Такое вообще бывает? Получается даже CRC не шлют? как тогда ошибки искать? Или есть варианты когда можно уверено сказать что ошибок передачи данных быть не может?

Бывает, когда пытаются сделать USB LS на младших AVR без USB-движка, тогда на подсчет CRC времени попросту не остается. Естественно, это никуда не годится. А вообще, чередование пакетов и CRC - обязательные атрибуты USB. Конечно, можно поверх этого "аппаратного" контроля использовать какой-то протокол, который будет отвечать за безошибочность передачи. Но протокол этот к самой по себе USB имеет довольно посредственное отношение ...
Dubov
а как обычо с spi дела обстоят?
izerg
Цитата(Dubov @ Jul 11 2012, 20:35) *
а как обычо с spi дела обстоят?

SPI аппаратно выглядит как два сдвиговых регистра прием\передача (посмотрите структуру SPI в любом микроконтроллере).
Каких либо специальных схемотехнических коррекций ошибок в регистрах не предусматривают.
Назначение SPI - быстро передать данные между двумя (иногда больше) микросхемами на небольшом расстоянии. При такой передаче обычно принимается - что помех во время передачи нет и информация не искажается. На практике - помехи бывают, и приемник можент не успевать - в итоге - некоторые биты в посылке искажаются приемником.
В просетйшем случае отправляют данные в "собственном" формате - байты данных + байты CRC.
Приемная сторона начинает разбирать данные с проверки CRC, если приняли с ошибкой - корректируем или запрашиваем данные повторно.

Каким боком SPI появился в USB? Мост между протоколами?
Рекомендую почитать "Сетевая модель OSI", станет понятно об уровнях протоколов при передаче данных.
Konst_777
Цитата(izerg @ Jul 12 2012, 00:00) *
...Каким боком SPI появился в USB? Мост между протоколами?...


Цитата(Dubov @ Jul 11 2012, 18:31) *
...1) Разбираюсь с интересным модулем. ...

Похоже, что модуль является преобразователем USB<->SPI. Если бы ТС дал ссылку на описание модуля, то получил бы более конкретные ответы на свои вопросы.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.