PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PIC oder AVR besser für SUB?



avoid
19.12.2006, 04:42
meine überschrift sagt es ja schon.
ich brauche eine entscheidungs hilfe zur frage welcher MC besser für USB anwendungen geeignet ist (eurer meinung nach).

ich suche einen MC der über USB an meinem PC eine gute figur macht, zum daten auslesen und reinschreiben.
also messwerte am PC sehen und wenn ich klicke dann schaltet er etwas.

wichtig: ich nutze für sowas meinen Laptop mit USB 2.0 unterstützung.
darum nutze ich für schaltungen nicht die spannung des USB-Port.
wäre schlecht wenn der MC wegen nem fehler den USB Port zerschießt.

also is für sowas besser ein PIC oder ein AVR geeignet?
gibt es evtl. sogar MCs die keinen extra Treiber IC brauchen wie den FTDI ?

danke schon mal.

Ratber
19.12.2006, 05:32
Also du wirfst da scheinbar einiges durcheinander.

Die FTDI-Chips (andere Hersteller bieten da auch genug an aber den FTDI nehme ich mal als Synonym) sind nix anderes als Schnittstellen.
Was du da dran hängst ist Latte.

anders ist es bei MC's mit interner USB.
Da ist allenfalls eine Pegelanpassung fällig oder ein kleiner Filter.
Das Ansteuern ist da allerdings eigenarbeit bzw. man nutzt evtl. vorhandene Resourcen des Herstellers.
Dabei zu prüfen ist ob da noch Folgekosten anstehen bzw. welche einschränkungen die freie Variante hat und ob man damit hin kommt.

Was die Sicherheit angeht (Thema: Zerschossener Port) so bist du da auf Eigenleistung verpflichtet.
Eine absicherung des USB ist da schon angeraten.
Meist reicht es das nur der MC am USB hängt und sämtliche Ein und auslaufende Signale galvansich getrennt werden (Koppler.Optisch,Induktiv usw.).
Man kann auch den Bus selber trennen.
Je nachdem was günstiger kommt.

Welche MC-Familie da besser geeignet ist kann ich dir aber nicht beantworten.
Da sag ich mal diplomatisch .........."Kommt auf die Anwendung an"

avoid
19.12.2006, 06:06
sorry da hab ich mich wohl schlecht ausgedrückt.

ich hab schon davon gehört das einige MC`s eine interne USB schnittstelle haben, sowas wäre mir am liebsten.
doch evtl. sind MC`s mit zusätzlichem IC wie z.b. einem FTDI, als USB schnittstelle einfacher zu verwenden,
günstiger in der anschaffung oder unkomplizierter in ein Programm ein zu binden.

in dem bereich, geht es mir um erfahrung und reinfälle.
das ich es mir erspare einen MC zu kaufen den ich dann doch nur rumliegen hab, weil er nix taugt.

eine konkrete anwendung habe ich noch nicht im kopf.
ich habe meistens einen MC im auge und entwerfe dann darum eine schaltung die möglichst viele funktionen nutzt.

konkrete probleme muß ich keine lösen, ist nur spielerei für mich.
ich spiele um zu lernen ;)

p.s. optokopplung für usb, ist ein guter tip, sollte ich gleich mal entwerfen :)

Ratber
19.12.2006, 06:51
Ja,wie gesagt,Sicherung tut not,egal ob jetzt für USB oder andere Schaltungsteile.

Daran solltest du "immer" denken.

Jakob L.
19.12.2006, 08:06
Hallo,

ich würde einen (aktiven) USB Hub zwischen das Notebook und die Schaltung stecken, um eine Beschädigung des Computers zu vermeiden. Im schlimmsten Fall ist dann der Hub kaputt. Zum testen würde ich auf jeden Fall ein externes Netzteil zur Stromversorgung nehmen. Wenn alles funktioniert und die Schaltung nicht zu viel Strom braucht, dann kann man die Stromversorgung auf USB umstellen.

Es gibt auch µC mit integriertem USB Bus (z.B. at91sam...). Allerdings ist da die Programmierung wesentlich aufwändiger.

Gruss
Jakob

SIGINT
19.12.2006, 16:33
Hallo avoid,
wenn du nur mit USB rumspielen möchtest, dann kannst dir auch mal die Soft-USB Lösungen anschauen:
http://www.cesko.host.sk/IgorPlugUSB/IgorPlug-USB%20(AVR)_eng.htm
http://www.obdev.at/products/avrusb/index.html
http://www.mindaugas.com/projects/MJoy/

Ich hab schon seit einigen Monaten einen MJoy-Derivat im einsatz und muss sagen, daß der super läuft. Das Problem bei den Softwarelösungen ist aber, daß man kaum Prozessorzeit über hat.

Gruß,
SIGINT

Mobius
19.12.2006, 19:46
Also, wie es mit HW-USB für AVRs aussieht, kann ich nicht viel sagen, ich hab noch nie einen solchen benutzt.

Da ich mich eher auf die PICs von Microchip spezialisiert habe, kann ich dir einiges über die PIC18F2(4)550 sagen. Bei Reichelt kosten die 7,70€, bei Conrad kann ich keine genauen Angaben machen, da ich sie auf die Schnelle nicht gefunden habe (sind aber 100% teurer :D). Das sind beide mit USB2.0 Client-Software zu haben, etweder in 28- oder in 40-Pinninger Ausführung.
Der Source-Code für den minimalen Firmware ist in C für den C18-COmpiler von Microchip geschrieben (Stundenteversion mit 30 Tage Beschränkung auf die Optimierung des scr kostenlos zu haben). Die Firmware arbeitet wahlweise als CDC-Schnittstelle (Windows errichtet eine virtuelle Serielle-Schnitstelle), als HID (zb Maus, Tastatur) oder als custom-driver (du hast eine DLL mit der du über den Treiber mit dem PIC "direkt" kommunizieren kannst).
Für das was du vorhast, wirst du aber um den custom-driver nicht herumkommen, also wirst du ebenfalls auf der Windows-Seite ein wenig programmieren müssen.

Naja, was die Fragilität der USB-Schnitstelle angeht :). Ich habe bei meinem ersten Design die D+ und D- Leitungen vertauscht (natürlich ging da nichts mehr), doch der HUB, der zwischen meinem PC und der Platine geschalten war, hat sich eigentlich überhaupt nicht beschwert (auch der USB an einem Schrott-Lappi, den ich mal von irgendwo aufgegabelt habe, hat den brute-Test, wieso das Ding net ging, heil überstanden).
Und an sich kannst du pro Stecker nach Vereinbarung mit der Host-Seite an die 500mA ziehen. Also eine Schaltung, die nicht viele Verbraucher angeschlossen hat (oder die per externe Stromversorgung versorgt werden), kann locker von der USB gespeißt werden, ist aber natürlich keine Pflicht ;).

Ach, ja, für nähere Infos, wie USB funktioniert und auch einige Beispiele für den 18F2550, kann ich dir sprut.de (http://sprut.de/electronic/interfaces/usb/usb.htm) empfehlen (auch wenn du es nicht mit den PICs machen wirst, es ist, wie ich finde lesenwert).
MfG
Mobius

avoid
19.12.2006, 23:45
danke @ all für die ersten tips.
ich werd mir mal alle links an kucken.

@Mobius
so wie du es beschrieben hast, ist es mit einem PIC aufwändiger und hardware näher (wie immer eben).
das hat mich aber auch bei meinem ersten PIC16F... nicht ab gehalten ;)

fluchtpunkt
20.12.2006, 02:57
falls es einfach werden soll wuerde ich dir den Controller mit dem du dich am besten auskennst empfehlen und einen FTDIxxx. Da brauchst du nur ein bisschen Serielle Kommunikation machen, sowohl auf dem Controller als auch auf dem PC.
Das ist imho bedeutend einfacher als sich um das ganze USB-Handling und den Treiber selbst zu kuemmern. Aber man lernt natuerlich auch weniger :)



Und an sich kannst du pro Stecker nach Vereinbarung mit der Host-Seite an die 500mA ziehen.
Meist geht auch mehr, und meist auch ohne Anmeldung. Und falls es doch zu viel Ampere werden, so das es fuer den PC gefaehrlich werden kann, haben anstaendige USB Controller eine Strombegrenzung. Aber ob der Computer natuerlich 230V auf den Datenleitungen mitmacht ist fraglich...