mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Projekt Radio mit SI4735 (3,3V) und Grafikdisplay (5V)


Autor: C. S. (chrisdask8)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo an Alle,

habe eine Frage.

Ich plane ein ein Radio zu bauen mit dem Si4735:
http://www.ak-modul-bus.de/cgi-bin/iboshop.cgi?sho...

Als Anzeige soll ein Grafikdisplay zum Einsatz kommen:
http://www.reichelt.de/?;ACTION=3;LA=5;GROUP=A523;...

Zur Steuerung soll ein Atmega644p verwendet werden.


Das Grafikdisplay benötigt als Versorgungsspannung +5V, das Radiomodul 
verträgt aber keine 5V an den Eingängen und am Takt, muss also mit 3,3V 
versorgt werden.

Das Radiomodul soll per I²C angesteuert werden, wo wir schon beim 
Problem sind.

Läuft der mega644p mit 5V, kann ich das Radiomodul (3,3V) nicht direkt 
an den I²C-Bus hängen. (?!)
Hier ein Beispiel wo dies trotzdem gemacht wurde (Soft- I²C):
http://www.stefan-lehnert.de/wortpresse/wp-content...

ist hier kein "Pegelwandler" etc nötig? Bzw. wie funktioniert das in dem 
Beispiel, dass ein 3,3V Modul am 5V Bus hängt?

Pegelwandler kommen als Lösung auch nicht in Frage, "Knacken im 
Lautsprecher" vgl. in diesem Beitrag
Beitrag "Radio Chip Si4735 / Knacken im Lautsprecher"
den letzten Beitrag.
(Hier wurde zur Ansteuerung des Radiomoduls SPI statt I²C verwendet, 
aber ich denke das Problem bleibt).

Alternative:
Läuft der Mega644p mit 3,3V klappt die I²C Kommunikation zum si4735, 
aber nicht der 8bit Datenbus zum Grafikdisplay (5V) oder?

Ich habe leider noch keine Erfahrung wie ich dieses Problem lösen 
könnte.
Würden evtl Zener-dioden 3,6V abhilfe schaffen?

Das Display würde 3,3V als "high" erkennen laut Datenblatt.


Wäre dankbar für jede Antwort!

Gruß Christian

Autor: Zwirbeljupp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Christian,

Du könntest folgendes Display verwenden:
http://www.reichelt.de/?ACTION=3;GROUP=A5213;GROUP...
und dann einfach die komplette Schaltung mit 3.3V betreiben. Der Mega 
läuft dann allerdings nur mit reduziertem Takt.

In der Schaltung von Stefan Lehnert wird übrigens eine (nicht ganz so 
elegante) Pegelwandlung verwendet (über die Widerstände in den 
Datenleitungen). Die Pegelwandlung wird auf jeden Fall benötigt, denn 
leider kann man den si4735 zwar mit 5V speisen, die Supplyspannung muss 
aber <= 3.6V liegen.

Gruß
Daniel

Autor: Modellbauer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn am Si4735 keine Pegelwandler erwünscht sind, dann betreibe den 
mega644p doch einfach auch mit 3V3.

Dann muss halt ein Pegelwandler an das Display.
Oder man lässt auch diesen weg, wenn das Display 3V3 als high annimmt 
(wie ich in der schnelle gerade gesehn hab, ist am display alles nur 
eingang..)

Mfg

Modellbauer

Autor: SandboxGangster (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja das Display ist nicht schnell das kannst recht leicht entkoppeln im 
Wiki sind auch Beiträge dazu Thema LevelShifter

Autor: Alex22 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

kannst du, falls vorhanden, bitte mal Datenblatt des SI4735 hier 
hochladen? Im Netz gibt's das scheinbar nur auf Anfrage bei Silabs...

Autor: C. S. (chrisdask8)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
danke für die schnellen Antworten!!!

@Zwirbeljupp

wie funktioniert die Pegelwandlung über die Widerstände in den 
Datenleitungen? sorry ich kann das grad dem Schaltplan nicht entnehmen

@ Modellbauer
woran siehst du, dass am Display alles nur Eingang ist?

@ SandboxGangster
welche Methode würdest du vorschlagen?
Evtl. die "MOSFET Methode" von hier??:
http://ics.nxp.com/support/documents/interface/pdf...

Einen bidirektionalen Pegelwandler 3,3V <-> 5V kann ich bei reichelt 
nicht finden :/

@ Alex22
das Datenblatt gibts hier:
http://www.silabs.com/pages/DownloadDoc.aspx?FILEU...

oder meinst du den "programming guide" der Infos zur Ansteuerung 
enthält?


Gruß Christian

Autor: Zwirbeljupp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> wie funktioniert die Pegelwandlung über die Widerstände in den
> Datenleitungen? sorry ich kann das grad dem Schaltplan nicht entnehmen
Ufff...noch nichts von einem Spannungsteiler gehört???
Dann wird es aber Zeit: 
http://www.mikrocontroller.net/articles/Spannungsteiler

> woran siehst du, dass am Display alles nur Eingang ist?
Nirgends, ist ja auch Quatsch. Der Datenbus des Displays ist 
bidirektional.

Autor: faustian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"woran siehst du, dass am Display alles nur Eingang ist?"

"Nirgends, ist ja auch Quatsch. Der Datenbus des Displays ist
bidirektional."

Bei den DOGM hast Du nen effektiv unidirektionalen SPI und basta. Selbst 
wenn der bi waere koenntest Du bei dem Protokoll MISO ignorieren.

Autor: Zwirbeljupp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Bei den DOGM hast Du nen effektiv unidirektionalen SPI und basta. Selbst
> wenn der bi waere koenntest Du bei dem Protokoll MISO ignorieren.
Das weiß ich auch und deshalb habe ich das Display ganz zu Anfang auch 
empfohlen. Der TO hat diese Empfehlung aber ignoriert und daher geht es 
wohl nach wie vor nicht um das DOGM, sondern um das DIP-LCD-Modul mit 
bidirektionalem 8-Bit-Bus!

Autor: Michael X. (Firma: vyuxc) (der-michl)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
I2C ist Open Collector. Wenn man die Pullups an 3,3V hängt bekommt man 
auch mit einem 5V-µC keinen Ärger. 3,3V als high sollte jeder Controller 
erkennen.

Autor: C. S. (chrisdask8)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Michael X. schrieb:
> I2C ist Open Collector. Wenn man die Pullups an 3,3V hängt bekommt man
> auch mit einem 5V-µC keinen Ärger. 3,3V als high sollte jeder Controller
> erkennen.


sehr gut, danke !!!
Jetzt hab ichs verstanden.
Das "high" auf dem I²C Bus kommt ja nur vom Pul-up Widerstand.
Lege ich diesen Pullup an 3,3V können auch keine 5V am Bus entstehen.

Daran habe ich nicht gedacht.

Das ist für mich die Lösung des Problems erstmal!

Vielen Dank!!!

Autor: sf1 (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

hab inzwischen auch etwas mit dem Si4735 getestet. I2C mit 
PullUp-Widerständen an +3,3V funktioniert soweit ganz gut. Ich habe die 
PullUps etwas größer gewählt (20KOhm) als allgemein üblich, weil sonst 
die Pulse des I2C-Bus auf dem NF-Ausgang hörbar sind. Das kann aber auch 
an der ungünstigen Leitungsführung auf den Steckboard liegen.

Gruß sf1

Autor: LEE (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry, die Frage in diesem Forum.
Um die si4735 ic haeboryeo Codierung verwenden ...
POWER-UP ausgelegt ist.
Haben Sie jemals Können Sie den Quellcode zu teilen?

Autor: LEE (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
LEE schrieb:
> Sorry, die Frage in diesem Forum.
> Um die si4735 ic haeboryeo Codierung verwenden ...
> POWER-UP ausgelegt ist.
> Haben Sie jemals Können Sie den Quellcode zu teilen?
> Die E-Mail ist Krake 101@naver.com.
> Vielen Dank ~

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.