Fórum témák

» Több friss téma
Fórum » Digispark 3,3V-on, USB2412 HUB-on át
Lapozás: OK   1 / 1
(#) vtsoftware hozzászólása Márc 2, 2021 /
 
Sziasztok!

Tervem egy eszköz, mely USB porton PC-re kötve I2C parancsokkal IC-ket vezérel, egy KT0803-at és egy RDA5807-et.
Az AVR-en kívül egy plusz PCM2902 van a panelen, ami szintén USB-s.

Ezért az egész panel kezdete egy USB2412; 2 portos USB hub, ami 3,3V-os tápfeszültségen működik.

A vezérlést Digispark alapú AVR-el akarom megoldani, ATtiny85V kontrollerrel.
A két célpont - KT0803 és RDA5807 - I2C-n keresztüli vezérlése SoftI2C alapokon rendben működik.

Külön alappanelen, a Digispark panel közvetlen USB-re kötve működik, nincs gond.
Ugyanakkor az USB2412-n keresztül kerül PC-re, a PCM2902-t felismeri a gép, a Digispark firmware alapú AVR-t viszont nem.
A fő különbség ott van, hogy a Digispark panelen az AVR 5V-on üzemel, míg az Én panelemen 3,3V-ot kap.
Első terveim szerint. De meggondoltam magam, s úgy határoztam 5V-ra kötöm át.
A Digispark panelen a rajzon a D1, D2 valamint R1, R2 és R3 az USB jel 3V-ra alakításáról gondoskodik.
Nekem viszont szükségem erre nincs, mert az USB2412 ezt elvégzi. Vagy rosszul gondolom?
(Lehetséges...)

Kipróbáltam R1-et és R2-t 66,5Ω-ról 0Ω-ra módosítva. Zenerek hiánya, megléte semmilyen változást nem okozott.
66,5Ω-al nem ismerte fel a PC az AVR-t, 0Ω-al pedig semmi hatása nincs a gépre csatlakoztatásnak.
A PCM2902 minden esetben sikeresen csatlakoztatásra kerül, míg az AVR 66,5Ω-os ellenállásokkal ismeretlenként jelenik meg; míg 0Ω-ra cserélve R1-et és R2-t az eszközkezelőben semmi sem történik.
Sem mint eszköz, sem mint ismeretlen eszköz. Egyáltalán semmilyen formában nem látni az eszközkezelőben (Win7 x64). (Linuxon még nem néztem, de nem gondolom, hogy másképp lenne...)
Hozzáteszem az USB2412 TT támogatással bír, így ugyebár látni az USB HUB portjaira csatlakoztatott eszközök áramfelvételét.
Ott is csak a PCM megléte jelenik meg, a másik portot szabadnak jelzi 0mA áramfelvétellel; mintha ott sem lenne.


Utánajárva a kérdésnek rátaláltam egy lehetséges problémára, s az adatlap is megerősített.
Speed Grade
- ATtiny25V/45V/85V: 0-4 MHz @ 1.8-5.5V, 0-10 MHz @ 2.7-5.5V
- ATtiny25/45/85: 0-10 MHz @ 2.7-.5V, 0 - 20 MHz @ 4.5-5.5V
Ezért megpróbáltam 8MHz-re írni a firmware-t, mely rendben is van, de a helyzet mit sem változott.
Persze felmerült a kérdés bennem, valóban sikerült-e 8MHz-re állítanom az órajelet.

A lényeg.
Szeretnék kérni egy-két ötletet a kapcsolást illetően.
Fenntartom a lehetőségét, hogy nem a fenti értékekkel kellene a két IC-t összekapcsolnom.
Erre kérnék tőletek javaslatokat, ötleteket.

Szerintetek Digispark package-ben az F_CPU átírása a boards.txt fájljában elégséges-e az órajel módosítására?
  1. digispark-tiny-16-5mhz.name=Digispark (Default - 16.5mhz)
  2. digispark-tiny-16-5mhz.upload.using=micronucleusprog
  3. digispark-tiny-16-5mhz.upload.protocol=usb
  4. digispark-tiny-16-5mhz.upload.tool=micronucleus
  5. digispark-tiny-16-5mhz.upload.maximum_size=6012
  6. digispark-tiny-16-5mhz.build.mcu=attiny85
  7. digispark-tiny-16-5mhz.build.f_cpu=16500000L
  8. digispark-tiny-16-5mhz.build.board=AVR_DIGISPARK
  9. digispark-tiny-16-5mhz.build.core=tiny
  10. digispark-tiny-16-5mhz.build.variant=digispark
  11. digispark-tiny-16-5mhz.upload.wait_for_upload_port = false
  12. digispark-tiny-16-5mhz.upload.use_1200bps_touch = false
  13. digispark-tiny-16-5mhz.upload.disable_flushing = false
  14.  
  15. -- Ezt a pár sort adtam hozzá; f_cpu a lényegi különbség.
  16. digispark-tiny-8mhz.name=Digispark (Default - 8mhz)
  17. digispark-tiny-8mhz.upload.using=micronucleusprog
  18. digispark-tiny-8mhz.upload.protocol=usb
  19. digispark-tiny-8mhz.upload.tool=micronucleus
  20. digispark-tiny-8mhz.upload.maximum_size=6012
  21. digispark-tiny-8mhz.build.mcu=attiny85
  22. digispark-tiny-8mhz.build.f_cpu=8000000L
  23. digispark-tiny-8mhz.build.board=AVR_DIGISPARK
  24. digispark-tiny-8mhz.build.core=tiny
  25. digispark-tiny-8mhz.build.variant=digispark
  26. digispark-tiny-8mhz.upload.wait_for_upload_port = false
  27. digispark-tiny-8mhz.upload.use_1200bps_touch = false
  28. digispark-tiny-8mhz.upload.disable_flushing = false


Felmerül a kérdés még, hogy az USB kommunikációra vajon alkalmas az ATtiny85V 8MHz-s órajelen?
Nem tűnik hasraütésszerűnek a 16,5MHz alapbeállítás és az, hogy a 16,5MHz-n kívüli órajelekkel beállított lehetőségek egyike sem támogat USB-t. Persze ez csak következtetés.

Előre is nagyon köszönöm,
Tamás
(#) Pethical válasza vtsoftware hozzászólására (») Márc 3, 2021 /
 
Szia!

Ha jól tudom, akkor kell neki legalább 12MHz, legalábbis a v-usbnek igen, ez meg, ha jól tudom abból fejlődött ki, viszont, ha ennek ellenére látja a Windows, mint ismeretlen eszköz, akkor lehet, hogy mégiscsak boldogul 8MHz-n is es csak a driver hiányzik neki.

Igen, ha 3.3V-ról megy, akkor nem kell zener, 3.3-3.6V ok az usbnek.
(#) vtsoftware válasza Pethical hozzászólására (») Márc 3, 2021 /
 
Ha a VID és PID nem 0000 lenne, akkor legalább Zadig-al tudnék WinUSB drivert tenni az AVR-hez, de sajna az azonosító sem megy át.
Tehát valami nem igen jó; csak azt nem tudom hol lehet a gond.

Az, hogy semmi sem történik mikor 0Ω-al próbálom, arra enged következtetni, hogy a kapcsolat még jó lenne, de valamiért próbálkozásnál magáll a történet.
Ma kipróbálom linux alatt, hátha a logokból kiderül valami.

Hirtelen nézve a V-USB valóban csak 12 MHz, 12.8 MHz, 15 MHz, 16 MHz, 16.5 MHz, 18 MHz és 20 MHz-n működőképes.
De ezesetben ugyebár ezekhez az órajelekhez a 3,3V ATtiny85V-n kevés...
Mondjuk biztató, hogy:
Idézet:
„Is the AVR powered at low voltage? Then we recommend 12 MHz for reliable operation.”
(#) vtsoftware hozzászólása Márc 4, 2021 /
 
Ha csak leírom s megmarad is megéri...

Szóval, továbbmentem a Digispark mellől, úgy tűnik nem ez kell nekem pontosan.

A következő tesztalany az Adafruit Trinket.
Ennek két kiadása készült, 5V és 3,3V-os kiadásai vannak.

Nos, odaáig eljut a történet, hogy a bootloader az AVR-be kerül, de ahogy firmware-t akarok rátenni, ha az égetés előtti pillanatban csatlakoztatom, megkezdi; de 3% környéke után ráhagyja...
Ha eleve csatlakoztatva indul meg az égetés, azonnal hibát jelez; az eszköz nem ismeri a parancsot, eszköz nem található, stb.

A bootloader visszajelző LED-je is pár másodpercig villog csak, azaz úgy tűnik valamiért leáll a bootloader...

Úgyhogy ennek szintén neki kell ülni, de egész jó alternatíva a 3,3V-on működő ATtiny85 USB eszközként használatára.
Ugyanakkor az egész alapja a micronucleus, arról is jöhetnek tapasztalatok ATtiny85@3,3V&USB témakörben.
Következő: »»   1 / 1
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem