Отговори на тема  [ 22 мнения ]  Отиди на страница Предишна  1, 2
Атмел - софтуерен пакет за SAM3S 
Автор Съобщение
Ранг: Ориентиран
Ранг: Ориентиран

Регистриран на: Пет Авг 07, 2009 4:58 pm
Мнения: 273
Мнение Re: Атмел - софтуерен пакет за SAM3S
Благодаря за помощта! Преди малко говорих с началника и се оказа, че тази платка ще е само за проби и може да се използва RS232 -> USB преобразувател и не трябва да й се отделя повече време. Подобна концепция ще трябва да се направи с PIC18F. Тогава ще опитам да пусна USB и каквото сабя или WireShark покажaт. Дано примерите на Microchip да тръгнат при мен.


Чет Окт 02, 2014 8:58 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 6:52 pm
Мнения: 11266
Местоположение: Добрич
Мнение Re: Атмел - софтуерен пакет за SAM3S
Е ти по-трудната част си я подкарал щом енумерацията минава... Това е на нулевия ендпоинт, виж другите ендпоинти. Първо може да провериш дали няма разминаване между дескрипторите, които връщаш и конфигурацията на стека. Щото имам някакви спомени, че в дескрипторите може да подадеш едни номера на ендпоинти, а софтуера да го конфигурираш да бачка с други и съответно няма да тръгне.
Другото е, че при заявките дето са серийната в примерите често оставят кухи callback функции, дето ти трябва да пренапишеш. Примерно при смяна на baudrate ти трябва да решиш какво ще правиш. Ако ще правиш rs232-usb конвертор при тая заявка трябва да смениш baudrate-a на съответния UART към който пренасочваш. Или поне да потвърдиш заявката, т.е. да отговориш за да не си мисли хостта че си се отвял...
Но пък от друга страна слушай и началството, за да не си помисли то че ти си се отвял ;-)


Чет Окт 02, 2014 9:24 am
Профил
Ранг: Ориентиран
Ранг: Ориентиран

Регистриран на: Пет Авг 07, 2009 4:58 pm
Мнения: 273
Мнение Re: Атмел - софтуерен пакет за SAM3S
Благодаря за поясненията. За сега нямам време да се задълбочавам в нещата. Трябваше ми да го билдна, да го програмирам и да тръгне. При нужда, ще го боря.


Чет Окт 02, 2014 9:35 am
Профил
Ранг: Ориентиран
Ранг: Ориентиран

Регистриран на: Пет Авг 07, 2009 4:58 pm
Мнения: 273
Мнение Re: Атмел - софтуерен пакет за SAM3S
miro_atc написа:
Е ти по-трудната част си я подкарал щом енумерацията минава... Това е на нулевия ендпоинт, виж другите ендпоинти. Първо може да провериш дали няма разминаване между дескрипторите, които връщаш и конфигурацията на стека. Щото имам някакви спомени, че в дескрипторите може да подадеш едни номера на ендпоинти, а софтуера да го конфигурираш да бачка с други и съответно няма да тръгне.


Здрасти, отново! Мислех си, дали не можеш да ми кажеш някой документ, в който са описани ясно и сбито тези неща? Като се наложи след време да пускам USB, да се позапозная набързо какво става?


Пон Окт 13, 2014 9:30 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 6:52 pm
Мнения: 11266
Местоположение: Добрич
Мнение Re: Атмел - софтуерен пакет за SAM3S
Има разни книжки, но проблемът е че самото USB е изключително ЗЛЕ измислено... към това добави, че и тия дето проектират перифериите не са наясно какво правят, добави и че тия дето пишат стековете са индийци и ще получиш някаква бегла представа колко зле са всъщност нещата.

В това число и аз не съм изключение, дотук съм написал стекове за device на 3 производителя и хост на 2 от тях и не мога да кажа че знам всичко :D
Иначе накратко, като ръчнеш кабела първо устройството вижда 5-те волта. Като ги види може да реши да си побъбри, за целта прави "session request". Ако контролера е с вградени пулъпи обикновено има битче дето го сетваш. Ако е с външен пулът просто го активираш с gpio или както там е схемата. В зависимост на коя линия е пулъпа (D+/D-) хоста разбира дали си има работа с бързо или бавно устройство. И след като види заявката за сесия, хостът пъро прави ресет на бъса (при девайса идва интеръпт, при който трябва да се ресетне). След ресета хоста почва по контролния ендпоинт (ендпоинт 0) да си говори. Това става с размяна на едни пакетчета напред-назад. Едно от първите неща е да сетне адрес. Това е стандартна завка, след ресет устройствата са на адрес 0 и могат да имат само минимална функционалност, затова хоста им задава някакви адреси (ако имаш хъб може да имаш много устройства).
И те така... после чете device descriptor (може и преди адреса да се прочете) там пише колко конфигурации има, обикновено е една. След това се чете configuration descriptor-a там пише евентуално какъв е класа на устройството и колко интерфейса има. Често обаче в конфигурацията се казва, че класът е дефиниран в интерфейсите. Но дескрипторите за интерфейсите, както и за това какви ендпоинти има също в конфигурационния дескриптор. Та хоста чете, анализира, вижда какво е устройството след това ако иска го пуска. За целта му сет-ва конфигурация и интерфейс и това е на глобално ниво.
В зависимост от класа, може да се пуснат още ендпоинт. Примерно за CDC (серийни) имаш един ендоинт за TX, един за RX и един контролен. По Rx/Tx си текат данните на серийния порт, няма нищо особено. А по контролния на CDC-то хоста може да ти праща заявки да смениш баудрейт, да клати хендшейкове и разни такива...

Те това е накратко... тук има повече:
http://www.usbmadesimple.co.uk/index.html
http://www.beyondlogic.org/usbnutshell/usb1.shtml


Пон Окт 13, 2014 10:08 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пет Фев 04, 2005 9:59 pm
Мнения: 6019
Местоположение: София
Мнение Re: Атмел - софтуерен пакет за SAM3S
miro_atc явно не е толкова зле, щом толкова си го разчовъркал. Доста USB книги съм чел, никъде не съм видял така ясно и сбито описание на УСБ, като твоето.

_________________
Warriors of the Night, ASSEMBLER!!!


Пон Окт 13, 2014 6:39 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 6:52 pm
Мнения: 11266
Местоположение: Добрич
Мнение Re: Атмел - софтуерен пакет за SAM3S
Изглежда ти ясно и сбито вероятно щото си чел книги, ако не беше едва ли щеше да ти е толкова ясно...
За съжаление не мога да заместя книгите, но пък мога да напиша една за мъките покрай усб, само дето се притеснявам, че никак няма да е кратка :D


Пон Окт 13, 2014 7:42 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 22 мнения ]  Отиди на страница Предишна  1, 2

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 2 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни