USB host ATMEL SAM mikrokontrolleren

Valaki csinált már ilyet? HUB mögött LS eszközöket sikerült működésre bírnia a beépített USBHS vezérlővel (host módban)?

 

A másik, hogy Atmelről STM-re vajon mennyire nehéz portolni?

Hozzászólások

Csak PIC32-re és USB HS device-t. Kész könyvtárat használtam, annak legfölső rétegében lévő állapotautomatát újraírtam. Mindezt C-ben. De host-ot még soha. Nem volt rá szükségem.

Ugyanakkor van olyan tapasztalatom, hogy újabb fordító - gcc egyébként - lefordítja ugyan a kódot, de az USB nem működik, de minden más igen. Viszont épp az USB az, amit kész libként használtam fel, és aligha vágyom pár ezer sor átnézésére úgy, hogy olyan rafinált hibát találjak meg, ami fordító verziótól függően korábban működött, most meg nem. Persze van olyan is, hogy korábban

#define NULL 0

később

#define NULL (void *) 0

lett, ha jól emlékszem. Workaround: a régi fordítóval fordítok továbbra is. :(

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Én is C-ben csinálom, de nekem úgy tűnik, hogy gyakorlatilag rossz a hardware, főleg low-speed módban nem működik megfelelően. Igaz, ez benne van az errataban is, az előző chip verzióra. De úgy tűnik, a mostaniban is maradt bug. Ezért érdekelne a gyakorlatban. Plusz PRE-PID küldéséről nincs semmi info sehol, félek, hogy nem is lehet.

Na, az szívás! I2C-t még meg lehet bit-bang, full software-esen írni, ha rossz a hardware, de az USB már nem ilyen állat. Akkor olvass fórumokat, support oldalakat, hátha más is elszomorodott, vagy van valami workaround rá. Ami a hardware-t illeti, az USB iszonyú érzékeny arra, hogy a PCB-n valóban 90 Ω hullámimpedanciájú legyen a hozzávezetés, valamint a D+ és D- erek között 50 milnél (1.27 mm) ne legyen nagyobb hosszkülönbség. Tapasztalatom szerint ez elsősorban high speed esetén érdekes, low speed és full speed esetén kevésbé izgalmas. Tudom, mert kellett emiatt nyákot újraterveznem.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Szívesen kipróbálnám, de fogalmam sincs mi lehet LS. Amikkel teszteltem (keyboard, mouse, smartcard- qr-code- bar-code reader, kb. 20 db) mind FS volt. Adj támpontot, hátha beugrik valami.

A gyári libek nem kezelik a HUB-ot, az ST külső libeket javasol, illetve a github-on is van implementáció.

„Az összeomlás elkerülhetetlen, a katasztrófa valószínű, a kihalás lehetséges.” (Jem Bendell)

Nalam pl most igy nez ki:

root@laptop:/sys/bus/usb/devices# cat */speed
1.5
1.5
480
480
12
12
12
480
5000

Ezekbol az 1.5-os eszkozok, igy konkretan:

093a:2510 Pixart Imaging, Inc. Optical Mouse

04d9:2013 Holtek Semiconductor, Inc. Keyboard [Das Keyboard]

Szoval tenyleg a HID-ek... Ami pl azert is vicces mert a Das Keyboard-ban is van egy HS hub :)