Страница 1 из 1

Интерфейс контроллера

Добавлено: Сб ноя 29, 2008 13:16:43
-=PluS=-
Доброго времени суток!
Подскажите пожалуйста чем отличаеться SPI интерфейс (MOSI, MISO, SCK в некоторых случаях еще и SS) от UART Интерфейса (RxD, TxD асинхронный, а вместе с XCK синхронный) от TWI интерфейса (SDA, SCL)?

Добавлено: Сб ноя 29, 2008 14:58:53
Aheir
Тем, что это разные интерфейсы. Они все предназначены для передачи данных, все последовательные, все двунаправленные, но отличаются форматом передаваемых данных, скоростями и т.д.
Подробнее - см. даташит, там все расписано, или используйте поиск по форуму, по отдельности все они уже обсуждались.

Добавлено: Сб ноя 29, 2008 15:49:37
ARV
наибольшая разница в достижимых скоростях обмена информацией. для UART и I2C они ограничиваются стандартным рядом, для SPI - практически не ограничиваются (десятки мегабит в секунду - реальность).

с другой стороны, UART и I2C это самодостаточные интерфейсы, протокол обмена информацией для которых четко определен (стандартизирован), а для SPI оговорен только физический уровень, а логически существует ненулевая вероятность рассинхронизации, которая требует порой не слабых мер по восстановлению ее, т.е. протокол обмена может быть более сложным. или потребуется дополнительная линия для сброса и т.п.

Добавлено: Сб ноя 29, 2008 16:55:51
-=PluS=-
Значит программатор с SPI интерфейсом скоростной, но не полноценный, а с UART более медлительный, но надежнее?

Добавлено: Сб ноя 29, 2008 17:37:37
smac
-=PluS=- писал(а):Значит программатор с SPI интерфейсом скоростной, но не полноценный, а с UART более медлительный, но надежнее?
Не обязательно, все зависит от конкретного программатора и контроллера. Контроллер обычно программируется по одному из последовательных интерфесов (например AVR по SPI) или параллельно. Так вот программатор может программировать контроллер только по поддерживаемому контроллером интерфейсу. Обмен же программатора с компьютером может вестись по любому интерфейсу (например USB, RS232, параллельный порт). Поэтому не стоит путать интерфейс программирования и интерфейс программатора с компьютером.
Еще один путь - самопрограммирование контроллера бутлоадером - специальной прошивкой, расположенной в определенной области ПЗУ контроллера. Бутлоадер может использовать практически любой доступный интерфейс (UART, SPI, I2C), однако обычно бутлоадер нужно еще как-то прошить в контроллер.

Добавлено: Сб ноя 29, 2008 18:54:01
ARV
любое изделие может применять любой интерфейс и быть при этом надежным или ненадежным - тут не от интерфейса, а от кривости рук разработчика зависит :)

Добавлено: Вс ноя 30, 2008 00:55:49
bsyomov
Без бутлоадера(который кстати обычно надо ещё как-то в девайс зашить), Вы ограничены спецификациями производителя контроллера... Достоинства и недостатки различных интерфейсов при этом не имеют значения.