Forum: Mikrocontroller und Digitale Elektronik Suche µC mit USB und 5V Versorgungsspannung


von sebi707 (Gast)


Lesenswert?

Hallo,

ich beschäftige mich erst seit kurzer Zeit mit Mikrocontrollern und 
bisher nur mit AVR (ATmega und ATxmega) Controllern. Für ein aktuelles 
Projekt finde ich allerdings keinen µC von Atmel, der alle meine 
Anforderungen erfüllt und über das Sortiment der anderen Hersteller habe 
ich keinen Überblick.

Gesucht wird ein µC mit mindestens 30 IO Pins, integriertem USB 
Controller und am besten 5V Versorgungsspannung oder wenigstens 5V 
tolerante Eingänge. Die 5V Geschichte lässt sich leider nicht vermeiden, 
da ich mit alter Hardware (Gameboy Cartridge) kommunizieren möchte. 
Einigermaßen passen würden die USB fähigen ATmega allerdings sind diese 
auch recht teuer. Geschwindigkeit und Speicher werden nur sehr wenig 
benötigt (8KB Flash reichen völlig aus). Sehr von Vorteil wäre natürlich 
ein vorinstallierter USB Bootloader, damit ich keinen extra Programmer 
anschaffen muss. Das Ganze im kleinen TQFP Gehäuse.

Da ich gerade schon am Fragen bin. Weiß jemand ob die Chips, die vor ca. 
20-25 Jahren hergestellt wurden, üblicherweise eine Spannung von 3,3V 
als High erkennen? Zumindest für den in Gameboy Cartridges verbauten RAM 
konnte ich feststellen, dass dieser bereits 2,2V als High erkennt. Für 
den verwendeten ROM und Nintendo eigenen Memory Bank Controller konnte 
ich leider kein Datenblatt finden.

von Lothar (Gast)


Lesenswert?

Alle uC von NXP sind 5V tolerant (die Versorgung ist aber 3.3V). Der 
USB-Bootloader läßt den Flash unter Windows/Linux als Memory Stick 
erscheinen, worauf man das Binary ziehen kann.

Der billigste: LPC11U12 TQFP48 16K Flash 2 EUR

von Olaf (Gast)


Lesenswert?

Renesas hat ein paar aus der M16C Familie mit integriertem USB. Die 
koennten auch noch mit 5V laufen und haben natuerlich einen Bootloader. 
Vermutlich sogar mehrere.

Olaf

von Jim M. (turboj)


Lesenswert?

sebi707 schrieb:
>  integriertem USB Controller und am besten 5V Versorgungsspannung [...]
> (8KB Flash reichen völlig aus).

Für USB wird das knapp. Ich würde nix unter 32KB Flash empfehlen, damit 
man noch etwas Platz im Flash übrig hat. Die 3,3 Volt werden von 
normalem TTL AFAIK sicher als High erkannt.

> Sehr von Vorteil wäre natürlich ein vorinstallierter USB Bootloader

Da würde mir sponten LPC1343 einfallen, gibt es auch preiswert als 
LPCExpresso mit Debugger dran.

Nuvoton hat Cortex M0 MCUs im Angebot, die Versorgung mit 5 Volt und USB 
direkt unterstützen.

von Max H. (hartl192)


Lesenswert?

sebi707 schrieb:
> esucht wird ein µC mit mindestens 30 IO Pins, integriertem USB
> Controller und am besten 5V Versorgungsspannung

http://www.microchip.com/wwwproducts/Devices.aspx?product=PIC18F45K50
- 1.8V - 5.5V
- 35 IOs
- 32kB Flash

von Frank K. (fchk)


Lesenswert?

sebi707 schrieb:

> Da ich gerade schon am Fragen bin. Weiß jemand ob die Chips, die vor ca.
> 20-25 Jahren hergestellt wurden, üblicherweise eine Spannung von 3,3V
> als High erkennen? Zumindest für den in Gameboy Cartridges verbauten RAM
> konnte ich feststellen, dass dieser bereits 2,2V als High erkennt. Für
> den verwendeten ROM und Nintendo eigenen Memory Bank Controller konnte
> ich leider kein Datenblatt finden.

Das kommt drauf an. Bei TTL hast Du ab 2.4V high, bei CMOS ist die 
Schwelle üblicherweise Vcc/2. Ansonsten nimm 74HCT541 Buffer mit 5V 
versorgt, die sind am EIngang 3.3V CMOS kompatibel.

fchk

von sebi707 (Gast)


Lesenswert?

Ich hab keine Ahnung ob die Chips TTL oder CMOS sind. Ich weiß nur, dass 
alle Chips in der Cartridge eine Versorgungsspannung von 5V haben. Das 
ich einen 74HCT541 nehmen kann ist mir schon klar allerdings brauch ich 
dann 3 Stück davon + irgendwas bidirektionales und dann bin ich schon 
~2€ fürs Pegel wandeln los. Ist zwar nur ein Hobby Projekt aber wenn ich 
für 2€ einen µC finde, der alles kann was ich benötige dann nehm ich 
doch lieber diesen.

Von den bisher genannten Controllern sehen die LPC einigermaßen 
Interessant aus. Vor allem der integrierte Bootloader gefällt mir. Wenn 
ich für 25€ noch einen Programmer kaufen muss kann ich auch für 8€ beim 
Atmel Controller bleiben.

von Dirk K. (dekoepi)


Lesenswert?


von sebi707 (Gast)


Lesenswert?

Ja prinzipiell schon allerdings würde ich gerne meine eigene kleine 
Platine erstellen. Mir ist gerade auch mal aufgefallen, dass ich die 
nötige Anzahl Output Pins auch durch ein Latch/Schieberegister 
vergrößern kann. Eventuell bietet sich dann ein ATMEGA16U2 an. Mit ca. 
3€ auch noch relativ günstig und ich kann in meiner bekannten Atmel 
Umgebung bleiben. Ich muss mir nur mal vorher anschauen ob 16KB Flash 
für mein Programm und virtuellen COM Port ausreichen.

von Dirk K. (dekoepi)


Lesenswert?

Ein Schieberegister hat jedoch entweder Eingänge oder Ausgänge. Du 
schrubst: 30 IOs Minimum. Vielleicht solltest du das alles mal etwas 
präzisieren. Schieberegister sind mein derzeitiges "Wow"-Bauteil, damit 
geht schon eine Menge. Aber nur, wenn man nicht so straffes Timing 
braucht (ATmega liefert maximal 8 MHz, wodurch dann am Ende am 
Parallelausgang eines Schieberegisters effektiv maximal 500kHz 
überbleiben - wenn du die Daten so schnell durchgeschaufelt bekommst 
...)

Alternative wäre natürlich noch, ohne Platine selber zu stricken, ein 
billiges STM32F103-Minimum-Board zu rund 6 Euro; IOs bis zum Umfallen, 
verdammt schnell. Das steuere ich über einen billigen <2Eur 
USB-2-RS232-Wandler an, lässt sich darüber programmieren. Vorteil: Man 
lernt dazu :) Wahrscheinlich aber völlig überdimensioniert für dein 
Projekt.

von sebi707 (Gast)


Lesenswert?

Von den 30 IOs sind tatsächlich nur 8 bidirektional und der Rest sind 
nur Outputs. Das Timing ist ziemlich egal. Die Cartridge wird ohne 
Gameboy  gelesen/beschrieben, daher kann ich die Geschwindigkeit 
vorgeben.

Momentan würde ich ein Latch allerdings einem Schieberegister vorziehen. 
Solange /WR oder /RD nicht auf Low sind ist der Cartridge ziemlich egal 
was auf dem Adressbus vor sich geht. Wenn man das Latch für die oberen 
8Bit des 16Bit Adressbusses benutzt muss man den Wert nur alle 256 Byte 
aktualisieren und man spart sich den seriellen Kram mit dem 
Schieberegister.

von Anja (Gast)


Lesenswert?

Frank K. schrieb:
> Das kommt drauf an. Bei TTL hast Du ab 2.4V high,

Das gilt für den Sender. Der Empfänger sollte ab 2.0V sicher high 
erkennen.

Zum Prozessor: eine mögliche Alternative wäre z.B. ein PIC18F4550


Gruß Anja

von MCUA (Gast)


Lesenswert?

>Zum Prozessor: eine mögliche Alternative wäre z.B. ein PIC18F4550
Es kommen von PIC33 zukünftig wohl auch 5V-Versionen (auch mit PPS) 
heraus.

von Arc N. (arc)


Lesenswert?

sebi707 schrieb:
> Gesucht wird ein µC mit mindestens 30 IO Pins, integriertem USB
> Controller und am besten 5V Versorgungsspannung oder wenigstens 5V
> tolerante Eingänge. Die 5V Geschichte lässt sich leider nicht vermeiden,
> da ich mit alter Hardware (Gameboy Cartridge) kommunizieren möchte.
> Einigermaßen passen würden die USB fähigen ATmega allerdings sind diese
> auch recht teuer. Geschwindigkeit und Speicher werden nur sehr wenig
> benötigt (8KB Flash reichen völlig aus). Sehr von Vorteil wäre natürlich
> ein vorinstallierter USB Bootloader, damit ich keinen extra Programmer
> anschaffen muss. Das Ganze im kleinen TQFP Gehäuse.

SiLabs SiM3U
5V -> 3.3V LDO integriert, kein externer Quarz/Takt für USB nötig, bis 
zu 12 x 5V tolerante Eingänge und zusätzlich ein Port der mit bis zu 6V 
laufen darf und bis zu 300 mA sink bzw. 150 mA source schafft...

http://www.silabs.com/products/mcu/usb/Pages/SiM3U1xx.aspx

Ansonsten diverse PSoC5LP von Cypress, da kann pro Port die IO-Spannung 
zw. 1.2V und 5.5V eingestellt werden

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.