Bonjour a tous.
Je souhaite faire un shield RS232 au format Mega/Due embarquant egalement un DS1307 sur le port i²c
Le Mega fonctionne en TTL ( 5v ), pas de Pb avec lui ....
Mais le Due lui cause en 3v3 ....
Donc il faut faire un shield compatible 3v3 et 5v
Par contre un truc me chagrine sur avec l'Arduino Due
Le Serial0 est sur l'ATmega16U2 ( qui tourne en 5V ) les 3 autres sur le Atmel SAM3X8E ARM Cortex-M3 CPU ( donc en 3V3 )
La Premiere Question est donc : Serial0 en 5v ou 3v3 ?
Quand au DS1307 qui tourne lui sous 5V, j'ai lu ca et la que L'arduino Due était compatible ( je sais tres bien que le DUE possede un RTC interne )
Mais les 2 bus i²c entre sur le SAM3X8E ( donc en 3V3 )
Mais quand on lit le datasheet => http://datasheets.maximintegrated.com/en/ds/DS1307.pdf
on trouve les niveaux suivant :
Supply Voltage VCC Min 4.5 - Typique 5 - Max 5.5V
Logic 1 Input VIH Min 2.2 - Max VCC+0.3V
Logic 0 Input VIL Min -0.3 Max +0.8V
Logic 0 Output (IOL = 5mA) VOL Max 0.4V
Mais rien sur VOH qui devrait correspondre a Logic 1 Output
Donc j'imagine qu'il faut mettre les resistances de tirage ( voir le datasheet TYPICAL OPERATING CIRCUIT => Resistance RPU ) a 3v3 et non au 5V, sinon le Due ne va pas aimer
Meme si sur cette page http://www.adrirobot.it/rtc_module/rtc_module_arduino-due.htm il n'y a pas de resistance sur le module !
La seconde question est donc : Comment faite vous pour cabler un DS1307 a un Due ???
Reponse =>
Resistances de tirage au 3v3 sur les SCL et SDA.
Merci d'avance pour vos lumieres !