Fabriquez ou achetez tout fait un double tuner USB 144MHz-2450MHz avec très bas débit possible
Schéma - Test - modifications - problèmes rencontrés

probleme I2C pour piloter affichage OLED

Messagede F6DZP » Mer 2 Aoû 2017 08:25

Bonjour,

Voici un problème sur lequel je butte: la commande via I2C d'un OLED ( avec mon propre soft pour MiniTiounerPro, je dois tout faire car il n'y a pas de bibliothèque)

si je commande un LCD 4 lignes classique (driver PCF8574 / Adresse 4Eh) ça marche et on voit bien que je reçois l'ACK
instruction_I2C_minitiouner_vers_LCD.jpg
instruction_I2C_minitiouner_vers_LCD.jpg (87.4 Kio) Vu 35280 fois


si je commande un OLED (driver SSD1306 / adresse 78h) je ne reçois pas l' ACK ( au 9eme clock de SCL j'ai SDA à l' état haut au lieu de état bas)
instruction_I2C_minitiouner_vers_OLED.jpg
instruction_I2C_minitiouner_vers_OLED.jpg (84.77 Kio) Vu 35280 fois


si je commande cet OLED (driver SSD1306 / adresse 78h) avec un Arduino et la bibliothèque SSD1306 toute prête, ça marche, je reçois bien le ACK ( et il enchaine les autres octets de la commande)
instruction_I2C_Arduino_vers_OLED.jpg
instruction_I2C_Arduino_vers_OLED.jpg (88.72 Kio) Vu 35280 fois


A l'oscillo, je ne vois pas pourtant la différence avec ce que j'envoie avec mon soft via MiniTiounerpro.
ici je suis à 100kHz, j'ai essayé à 200 kHz ==> même résultat
ici j'alimente en 3.3v l'OLED, j'ai essayé à 5V, ==> même résultat

Je tourne en rond, c'est peut être évident, mais j'ai trop le nez dessus.

Quelqu'un a t-il une piste?

doc SSD1306:
SSD1306.zip
(1.36 Mio) Téléchargé 1714 fois

OLED Specification.zip
(987.73 Kio) Téléchargé 1725 fois


Merci

Jean-Pierre F6DZP
F6DZP
 
Messages: 1129
Inscription: 24 Déc 2010

Re: probleme I2C pour piloter affichage OLED

Messagede F6DZP » Mer 2 Aoû 2017 09:06

La réponse est peut-être page 19 paragraphe 8.1.5 b) de la doc pdf du SSD1306 ???
"... as a result, the acknowledgement would not be possible to attain a valid 0 level in SDA"

il faut aller voir dans les sources de la librairie arduino si ils tiennent compte de l'ACK ou si il est juste simulé?

Jean-Pierre F6DZP
F6DZP
 
Messages: 1129
Inscription: 24 Déc 2010

Re: probleme I2C pour piloter affichage OLED

Messagede F6GWE » Mer 2 Aoû 2017 09:54

F6DZP a écrit:Bonjour,

Voici un problème sur lequel je butte: la commande via I2C d'un OLED ( avec mon propre soft pour MiniTiounerPro, je dois tout faire car il n'y a pas de bibliothèque)

si je commande un LCD 4 lignes classique (driver PCF8574 / Adresse 4Eh) ça marche et on voit bien que je reçois l'ACK
instruction_I2C_minitiouner_vers_LCD.jpg


si je commande un OLED (driver SSD1306 / adresse 78h) je ne reçois pas l' ACK ( au 9eme clock de SCL j'ai SDA à l' état haut au lieu de état bas)
instruction_I2C_minitiouner_vers_OLED.jpg


si je commande cet OLED (driver SSD1306 / adresse 78h) avec un Arduino et la bibliothèque SSD1306 toute prête, ça marche, je reçois bien le ACK ( et il enchaine les autres octets de la commande)
instruction_I2C_Arduino_vers_OLED.jpg


A l'oscillo, je ne vois pas pourtant la différence avec ce que j'envoie avec mon soft via MiniTiounerpro.
ici je suis à 100kHz, j'ai essayé à 200 kHz ==> même résultat
ici j'alimente en 3.3v l'OLED, j'ai essayé à 5V, ==> même résultat

Je tourne en rond, c'est peut être évident, mais j'ai trop le nez dessus.

Quelqu'un a t-il une piste?

doc SSD1306:
SSD1306.zip

OLED Specification.zip


Merci

Jean-Pierre F6DZP


Bonjour Jean-pierre

Je vais peut-être et surement dire une bêtise
Il semble que l'Oled nécessite deux tensions 3,3 V pour la logique et 12v pour le panneau

73
Patrick
F6GWE
 
Messages: 29
Inscription: 16 Fév 2017

Re: probleme I2C pour piloter affichage OLED

Messagede F6DZP » Mer 2 Aoû 2017 10:12

l'OLED fonctionne bien avec l'arduino en branchant seulement 4 fils : 3.3v, masse, SDA et SCL.
Il y a peut-être une initialisation à faire qui est faite avec le soft init SSD1306 de l'Arduino ?

Merci de réfléchir avec moi.

Jean-Pierre F6DZP
F6DZP
 
Messages: 1129
Inscription: 24 Déc 2010

Re: probleme I2C pour piloter affichage OLED

Messagede F5LGJ » Mer 2 Aoû 2017 10:23

Bonjour,

>La réponse est peut-être page 19 paragraphe 8.1.5 b) de la doc pdf du SSD1306 ???
>"... as a result, the acknowledgement would not be possible to attain a valid 0 level in SDA"

>il faut aller voir dans les sources de la librairie arduino si ils tiennent compte de l'ACK ou si il est juste simulé?

>Jean-Pierre F6DZP


Pour moi, cette info vient plutôt du choix de la valeur de la résistance de pull up. Si la valeur est trop faible, le circuit pourrait ne pas arriver à tirer le courant nécessaire pour atteindre le 0 V. En regardant a l'oscillo lorsque que l'on debuggue, on voit d'ailleurs deux tensions différentes de l’état bas ce qui permet de savoir qui parle, entre le master ou le slave.

Alors regarder la librairie arduino peut apporter une réponse car on ne voit pas le glitch à la fin de l'adresse, c'est une piste.

Quelles sont les valeurs de resistance de pull up ?
Quelle est la valeur de capa a la masse ?
As tu essayé sur l'autre adresse I2C ?

73 Olivier F5LGJ
F5LGJ
 
Messages: 7
Inscription: 28 Déc 2010

Re: probleme I2C pour piloter affichage OLED

Messagede F6DZP » Mer 2 Aoû 2017 10:26

A premières lectures des soft pour arduino ou STM32 ou C51, tous ont l'air de ne pas tenir compte du ACK

j'ai p'tete été plus royaliste que le roi...

Jean-Pierre F6DZP
F6DZP
 
Messages: 1129
Inscription: 24 Déc 2010

Re: probleme I2C pour piloter affichage OLED

Messagede F6DZP » Mer 2 Aoû 2017 11:53

pour Olivier, j'ai essayé l'autre adresse.
de toute façon 78h est OK car ça marche avec l'arduino
y a pas grande différence entre ce que j'envoie et ce qu'envoie l'arduino.
je crois de plus en plus qu'il ne regarde pas l'ACK et rajoute juste un timing...

mon soft marche pour commander un LCD via un PCF8574 ( c'est lui aussi qui commande le NIM via l'autre canal I2C) donc à priori n'est pas en cause

Je vais modifier le soft pour m' assoir sur l'ACK

Jean-Pierre F6DZP
F6DZP
 
Messages: 1129
Inscription: 24 Déc 2010

Re: probleme I2C pour piloter affichage OLED

Messagede F6DZP » Dim 6 Aoû 2017 07:00

toujours pas réussi à faire marcher cet OLED via I2C en provenance du FT2232H.
Résumé:
-mes lignes I2C venant du FT2232H ont 2 résistances de tirage de 10k et pas de capa. ( voir sheet 2 http://www.vivadatv.org/viewtopic.php?f=82&t=409&start=30 )
- j'ai fait les essais à 100kHz, 200kHZ et 400 kHZ, en mode 3.3v ou 5v
- ces signaux I2C commandent sans problème un LCD via PCF8574 (mode 5v)
- j'ai utilisé mes propres procédures de création des signaux utilisés pour commander le NIM et j'ai aussi utilisé la librairie I2C fournie par FTDI , même type d'oscillogramme, même échec avec l'OLED et même succès avec le LCD
- l' OLED fonctionne si je le commande avec un Arduino ou avec un PIC (testé par Jean Louis F5DJL) qui donnent le même type de chronogramme , à part que sur le 9eme clock l'OLED qui ne me donne pas ce dernier bit d'ACK si je commande avec le FT2232H.
- les signaux de la commande avec le FT2232H ou l 'Arduino sont quasi identiques, à part que ceux de l'Arduino ont plus de bruit. ( voir début de ce post http://www.vivadatv.org/viewtopic.php?f=82&t=437 )

drôle de mystère.

Si vous avez un OLED sous la main et un FT2232H, pouvez-vous essayer?

Jean-Pierre F6DZP
F6DZP
 
Messages: 1129
Inscription: 24 Déc 2010

Re: probleme I2C pour piloter affichage OLED

Messagede F6DZP » Dim 6 Aoû 2017 20:12

J'ai reçu un nouveau module OLED de 1.3" (driver SH1106)
mon soft marche impeccable avec.

Donc je ne sais toujours pas pourquoi l'autre OLED (0.96" driver SSD1306) ne réagit pas mais au moins celui-ci réagit bien.

Je vais avoir l'esprit plus libre pour tester le nouveau proto du MiniTiouner Pro

Jean-Pierre F6DZP
F6DZP
 
Messages: 1129
Inscription: 24 Déc 2010

Re: probleme I2C pour piloter affichage OLED

Messagede rapsut » Sam 17 Fév 2018 10:26

bonjour
je vient de recevoir mon modul OLED apparemment il manque le condensateur C2 est ce que vous pourriez me donner ça valeur?
merci
cordialement
F5JCC
rapsut
 
Messages: 7
Inscription: 07 Déc 2017

Forums Statistiques

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 12 invités

Options

Retourner vers MiniTiounerPro

cron