roboforum.ru

Технический форум по робототехнике.

Обмен данными через STK200 используя SPI

Обмен данными через STK200 используя SPI

YanTsys » 09 май 2010, 21:54

Не могу понять такую вещь, AVR поддерживает обмен данными через SPI и при программировании
используется кабель для прошивки 5 проводков и 4 резистора (если я правильно понял такой программатор называется STK200)
почему WinAVR может заливать данные используя SPI через эти проводки а во всех учебных курсах которые я нашел
как только речь заходит об обмене данными с ПК тут же предлагается купить MAX232 и подключаться к COM порту используя UART.

Существует ли простой пример обмена данными с микросхемой во время исполнения своей программы через LPT с использованием SPI при помощи обычных 5 проводков (STK200?)?
Если еще проводки не придется перекоммутировать так совсем сказка...

Re: Обмен данными через STK200 используя SPI

Vooon » 09 май 2010, 23:56

Все просто: LPT — зомби :)

Re: Обмен данными через STK200 используя SPI

YanTsys » 10 май 2010, 01:00

Все просто: LPT — зомби


В смысле умер? Но STK200 во всех пособиях...
К тому же пока он был еще жив должны же были какие-то разработки на эту тему появиться?

Re: Обмен данными через STK200 используя SPI

ALHIMIK » 10 май 2010, 12:21

у лпт входы и выходы на разных физических пинах(вроде)
также 9( 8 входов + 1 готов )ног против 2х...

Re: Обмен данными через STK200 используя SPI

galex1981 » 10 май 2010, 13:45

По любому- COM порт проще

Re: Обмен данными через STK200 используя SPI

YanTsys » 11 май 2010, 12:43

ALHIMIK писал(а):у лпт входы и выходы на разных физических пинах(вроде)
также 9( 8 входов + 1 готов )ног против 2х...


Но ведь WinAVR используя эти 5 проводков программирует контроллер через SPI без всяких проблем?
Или вы хотите сказать что WinAVR использует в данном случае однонаправленную связь?
Ну так даже с однонаправленной связью через LPT было бы интересно разобраться...

Re: Обмен данными через STK200 используя SPI

galex1981 » 11 май 2010, 13:32

Передача данных по SPI двунаправленная, то есть по односу проводу из 4х принимаются данные, по второму отправляются данные, провод синхронизации и провод выбора кристалла. Просто смысл городить огород шиной SPI, если есть более простые интерфейсы? Ведь времени больше убьешь на программиирование передачи данных, вместо того чтобы в других направлениях программу писать

Re: Обмен данными через STK200 используя SPI

boez » 11 май 2010, 13:35

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

В общем, обмен существует, но он не простой :) Возьми исходники любого опенсурсного порграмматора, того же avrdude или uisp, и посмотри как он организован, если есть такое желание. С ком портом проще с точки зрения программирования на стороне ПК - открыл порт как файл и пиши-читай, всю работу с регистрами железяки за тебя выполнят драйвер и API.

Re: Обмен данными через STK200 используя SPI

-= Александр =- » 12 май 2010, 00:54

Когда компьютер - мастер SPI - никаких проблем. Он сам генерит клоки и шлет данные, ему неважно сколько времени будет тупить драйвер - без клоков данные никуда не уплывут. А вот если мастер МК - комп имеет все шансы пропустить клок и потерять данные, т.к. время реакции драйвера неизвестно, а аппаратной защелки в LPT нету...

Re: Обмен данными через STK200 используя SPI

boez » 12 май 2010, 10:55

Ну про SPI Slave на LPT под виндой никто и не заикался, это ненаучная фантастика :) Человеку хочется пообщаться с контроллером по SPI и не хочется паять уартовый шнурок. Теоретически это возможно, практически для новичка сложно, могут быть подводные грабли, потому во всех руководствах и рекомендуют через уарт.


Rambler\'s Top100 Mail.ru counter