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

 
 
> USB, необычный протокол
Dubov
сообщение Jul 11 2012, 15:31
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 408
Регистрация: 28-05-12
Пользователь №: 72 052



У меня собственно два вопроса:

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

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

2) какие обычно протоколы передачи данных используют при SPI соединений? Мне пока ничего, кроме Modbus-подобного,только без адреса устройства, в голову не приходит (код функции+данные+контрольная сумма).
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 4)
kovigor
сообщение Jul 11 2012, 17:27
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



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

Бывает, когда пытаются сделать USB LS на младших AVR без USB-движка, тогда на подсчет CRC времени попросту не остается. Естественно, это никуда не годится. А вообще, чередование пакетов и CRC - обязательные атрибуты USB. Конечно, можно поверх этого "аппаратного" контроля использовать какой-то протокол, который будет отвечать за безошибочность передачи. Но протокол этот к самой по себе USB имеет довольно посредственное отношение ...
Go to the top of the page
 
+Quote Post
Dubov
сообщение Jul 11 2012, 17:35
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 408
Регистрация: 28-05-12
Пользователь №: 72 052



а как обычо с spi дела обстоят?
Go to the top of the page
 
+Quote Post
izerg
сообщение Jul 11 2012, 21:00
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 531
Регистрация: 1-02-05
Из: Украина, Киев
Пользователь №: 2 342



Цитата(Dubov @ Jul 11 2012, 20:35) *
а как обычо с spi дела обстоят?

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

Каким боком SPI появился в USB? Мост между протоколами?
Рекомендую почитать "Сетевая модель OSI", станет понятно об уровнях протоколов при передаче данных.
Go to the top of the page
 
+Quote Post
Konst_777
сообщение Jul 12 2012, 07:00
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 549
Регистрация: 1-06-05
Пользователь №: 5 644



Цитата(izerg @ Jul 12 2012, 00:00) *
...Каким боком SPI появился в USB? Мост между протоколами?...


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

Похоже, что модуль является преобразователем USB<->SPI. Если бы ТС дал ссылку на описание модуля, то получил бы более конкретные ответы на свои вопросы.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 20:58
Рейтинг@Mail.ru


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