I2C <=> RS232

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From French to

Threaded View
'soir,
J'ai deux cartes qui doivent discuter ensemble,
l'une est en I2C et l'autre en RS232 et je
voudrais E9%viter d'utiliser un uC juste pour ca :
connaissez-vous un chip qui translate de l'I2C
vers du RS485 ? (dans les deux sens bien entendu)

Re: I2C <=> RS232

snipped-for-privacy@h12g2000vbf.googlegroups.com...
Quoted text here. Click to load it

Voir chez NXP, par exemple SC16IS740 (disponible par exemple chez Digikey).
Mais la mise en oeuvre de ce type de produits n'est pas si transparente que
çà...
Cordialement,


--
Robert Lacoste
ALCIOM - The mixed signal experts
We've slightly trimmed the long signature. Click to see the full one.
Re: I2C <=> RS232
"Robert Lacoste"

Quoted text here. Click to load it

Correction : (...) vers du RS232 ? (dans les deux sens)

Quoted text here. Click to load it

Merci Robert : je DL la datasheet pour investiguer.
( mais à première vue, s'il faut le paramétrer, autant
utiliser un petit PIC à 8 pattes déja dans les tiroirs )



Re: I2C <=> RS232
Quoted text here. Click to load it

Bit banging coté RS232 => pas besoin de hard (pourquoi payer pour un
composant quand on peux faire sans ?).

--
 >o_/ DEMAINE Benoit-Pierre (aka DoubleHP) http://benoit.demaine.info /
If computing were an exact science, IT engineers would'nt have work \_o<

We've slightly trimmed the long signature. Click to see the full one.
Re: I2C <=> RS232
On 11 nov, 05:05, DEMAINE Benoit-Pierre

| "Jean-Christophe" a crit  :
| J'ai deux cartes qui doivent discuter ensemble,
| une est en I2C et l'autre en RS232 et je
| voudrais viter d'utiliser un uC juste pour ca :
| connaissez-vous un chip qui translate de l'I2C
| vers du RS232 ? (dans les deux sens bien entendu)


Quoted text here. Click to load it

La transmission s'effectue dans les deux sens ;
l' I2C tourne E0% 100 kbps et le RS232 E0% 9,6 kbps ;
et de plus les signaux I2C (SCL & SDA) ne sont pas
directement mappables sur les signaux RS232 (TX & RX)
Ce n'est donc pas une solution, sinon je l'aurais dE9%ja fait.


Quoted text here. Click to load it

Dans un cas comme celui-ci on ne peut faire sans,
un minimum de rE9%flection l'aurait montrE9%.


Quoted text here. Click to load it

Re: I2C <=> RS232
Quoted text here. Click to load it

Si tu avais regardé ce qu'est le bit banging ... tu n'aurais pas pu
objecter que c'est incompatible avec le RS232 pour la raison que tu invoque.

Puisque tu dis que tu n'es pas sur un PC, c'est encore plus simple que je
pensais: tu n'as donc aucun problème de scheduling. Et tu as donc la
maitrise totale des signaux qui sortent de ton port. Tu déconfigure le
RS232, et tu ... fais du bit banging à l'ancienne.

Sur un PC, il est */EVIDEMENT/* "utopiste" d'utiliser les pattes Tx et Rx:
le bit banging se fait avec les autres pins; les 6 autres pins que tout le
monde oublie ...

Sur un "pas PC", tu repasse ton port en TTL, et l'I2C se fait en bit
banging les yeux fermés.

La méthode simple utilise 3 pins, ou, deux pins si tu en as une en
bi-directive. Je ne sais pas si c'est possible de le faire avec seulement
2 pins unidirectives (une dans chaque sens).

Quand au débit, ce n'est pas un problème. Quand tu aura écrit tes unités
correctement, tu aura remarqué que tes débits sont identiques:
- ton I2C est à 100kbps
- un RS232 CLASSIQUE tourne à 9.6kBps, ou B ne se lit pas Byte, mais BAUD.
En comptant le bit de latence, ça fait 96kbps. Parce que si ton RS232
tourne à 9.6kbps, soit 960 BAUD, à ta place, je m'inquiéterais, car les
modems à 1.4 k BAUD sont plus vieux que moi ... alors un PC qui ne
pourrait faire que 960 BAUDs ...

=> 100 / 96 ... moins de 4% entre les deux.

Et de toute façon, la question ne se pose pas, pour deux raisons:
- un vrai bon RS232 monte à 54kB (soit 500 kbps)
- le bit banging, si tu avais cherché, ne se fait pas avec les lignes Tx
Rx, mais RTS CTS. Et ton débit peut dépasser les 500kbps de très loin: tu
es limité par la vitesse du CPU, pas celle du hard.

Enfin, peut être que TON I2C tourne à 100kbps, mais le protocole monte à
4M ... alors, oui, si tu bossais à 4M là j'avoue qu'un port RS232 peut se
coucher, mais puisque tu n'es qu'à 100k, ça passe sans problème.

Donc, le bit banging est envisageable. Des milliers de gens l'ont fait
avant moi (je ne suis pas assez malin pour ré-inventer la roue: je ne peux
qu'améliorer e travail des autres, je suis incapable de créer une bonne idée).

--
 >o_/ DEMAINE Benoit-Pierre (aka DoubleHP) http://benoit.demaine.info /
If computing were an exact science, IT engineers would'nt have work \_o<

We've slightly trimmed the long signature. Click to see the full one.
Re: I2C <=> RS232
On 11 nov, 12:33, DEMAINE Benoit-Pierre

Quoted text here. Click to load it

J'ai implE9%mentE9% en ASM du bitbang sur des
uP qui n'avaient pas du tout de port sE9%rie,
E0% une E9%poque oF9% tu salissais encore tes couches.


Quoted text here. Click to load it

Les vitesses des deux ports sont imposE9%es, diffE9%rentes et fixes :
il est hors de question d'agir en amont pour changer ces vitesses.
De plus la gestion de SCL & SDA de l' I2C ne peut se faire E0% partir
des seuls *signaux* TX & RX du RS232 sans ajouter un chip
d'interfaE7%age.


Quoted text here. Click to load it

Non, absolument pas. Ce ne sont pas les donnE9%es du problE8%me
que j'ai posE9%, mais tu t'obstines E0% rE9%pondre E0% cF4%tE9%.
Les cartes sont comme elles sont et il est hors de question
d'y changer quoi que ce soit. La question posE9%e est
d'interfacer des *signaux* I2C avec des *signaux* RS232,
pas de changer les ports, ni les vitesses, ni le code.


Quoted text here. Click to load it

Alors autant dropper le port RS232 pour utiliser
directement un port I2C et j'aurais directement
deux ports I2C donc plus aucun problE8%me d'adaptation !
Tu es tEA%tu, E0% vouloir changer les donnE9%es du problE8%me
posE9% pour y apporter une solution qui n'y rE9%pond pas.


Quoted text here. Click to load it

DE9%ja dit : pas de PC ici.


Quoted text here. Click to load it

DE9%ja dit : pas d'action en amont.
Un port I2C, un port RS232, et l'interface au milieu.
Je ne vois pas ce qu'il y a de si difficile E0% comprendre.


Quoted text here. Click to load it

Je n'ai pas parlE9% de byte : ca c'est toi qui en parles.
Quand aux unitE9%s, le Baud mesure le nombre de *symboles*
par seconde et dans mon cas le symbole est un bit ;
alors 9,6 kbps ca veut dire 9600 bits par seconde,
c'est comme ca ... sauf pour toi, apparament.


Quoted text here. Click to load it

9,6 ca veut dire 9,6 et non pas 96.
Si pour toi une vitesse de 9,6 k correspond E0% 96 k
alors 1 3D% 10 et il y a de quoi se poser des questions.


Quoted text here. Click to load it

Oh que oui, je suis inquiet : mais pas pour moi :o)


Quoted text here. Click to load it

DE9%ja dit : pas de PC ici.


Quoted text here. Click to load it

100 / 9,6 ca fait 1041 % ...
C'est plus une paille, c'est une poutre.


Quoted text here. Click to load it

Une fois pour toutes : les vitesses sont fixes et inchangeables.
Tu changes les donnE9%es du problE8%me, donc ta rE9%ponse ne s'y rapporte
pas.


Quoted text here. Click to load it

Sur un uC on bitbang via des ports I/O *quelconques*
il n'est donc mEA%me plus question de dE9%nominations
telles que CTS/RTS. Encore une fois tu parles de PC
alors qu'il n'en est pas question ici. C'est lourd.


Quoted text here. Click to load it

Les vitesses sont fixE9%es et inchangeables, c'est une des donnE9%es
du problE8%me : si tu tiens absolument E0% faire l'impasse lE0%-dessus,
tu ne rE9%pond pas la question posE9%e, alors inutile de t'obstiner.


Quoted text here. Click to load it

Non, et encore moins pour la gestion des signaux SCL & SDA de l' I2C.
Ca aussi je l'ai dE9%ja rE9%pE9%tE9%, mais tu sembles sourd et aveugle.


Quoted text here. Click to load it

PrE9%tendre apporter une solution E0% un problE8%me posE9% en changeant
les donnE9%es dudit problE8%me, ca s'appelle rE9%pondre E0% cF4%tE9%.
Et vu que tu fais la mEA%me chose sur d'autres threads de fse,
quelque chose me dit que tu ne le fais mEA%me pas exprE8%s.


Quoted text here. Click to load it

Si tu tiens vraiment E0% raconter que tu as fait du bitbang
via CTS/RTS sur un PC sous Linux, ouvre un nouveau thread
mais n'essaie pas dE9%risoirement d'imposer cela E0% tout prix
dans un thread oF9% c'est hors-sujet avec la question posE9%e.

Re: I2C <=> RS232
Le Fri, 11 Nov 2011 05:03:03 -0800, Jean-Christophe a écrit :

Quoted text here. Click to load it

avec des boucles de temps logicielles ...

Re: I2C <=> RS232
Jean-Christophe a tapoté du bout de ses petites papattes :
Quoted text here. Click to load it

Vas-y, mords-le ! ;)

--
LeLapin



Re: I2C <=> RS232
On 11 nov, 14:58, LeLapin

Quoted text here. Click to load it

:o)

Re: I2C <=> RS232

Quoted text here. Click to load it

    J'ai vraiment l'impression que tu racontes n'importe quoi, là.

--

              Nous vivons dans un monde étrange/
              http://foo.bar.quux.over-blog.com /

Re: I2C <=> RS232
Quoted text here. Click to load it

Oui, je me suis trompé; mais j'ai quand même certains PC avec des ports à
112kbps.

Je me suis trompé à cause de certains projets avec des BAUDs de 4 et/ou 8
bits, ou je case un Byte par BAUD.

par ailleurs: 9600 BAUDS, ça fait à peine 8000 bits par seconde ...

--
 >o_/ DEMAINE Benoit-Pierre (aka DoubleHP) http://benoit.demaine.info /
If computing were an exact science, IT engineers would'nt have work \_o<

We've slightly trimmed the long signature. Click to see the full one.
Re: I2C <=> RS232
DEMAINE Benoit-Pierre a tapoté du bout de ses petites papattes :
Quoted text here. Click to load it

D'abord un mot de 4 bits ça s'appelle pas un byte mais un nibble,
ensuite si le baudrate est différent du bitrate c'est soit que tu
modules, soit que tu utilises plusieurs fils, et encore, dans ce
dernier cas je ne suis pas certain que ce soit le bon terme.

--
LeLapin



Re: I2C <=> RS232
Dans son message précédent, LeLapin a écrit :
Quoted text here. Click to load it

Ça vient aussi tout simplement des bits de start et stop qui ne
transmettent aucun signal, à la différence des bits codant les
quartets.



Re: I2C <=> RS232
val a tapoté du bout de ses petites papattes :
Quoted text here. Click to load it

Les bits de start, de stop et de parité comptent.

--
LeLapin



Re: I2C <=> RS232
Après mûre réflexion, LeLapin a écrit :
Quoted text here. Click to load it

Il n'y a pas de règle, c'est toi qui décide : raw bit rate, net bit
rate...



Re: I2C <=> RS232
val a tapoté du bout de ses petites papattes :
Quoted text here. Click to load it

Classiquement, quand on ne précise pas, c'est inclus. Quand on dit
vulgairement 9600 bauds par exemple.

--
LeLapin



Re: I2C <=> RS232
On 11 nov, 18:41, DEMAINE Benoit-Pierre :

Quoted text here. Click to load it

Sur un PC le port RS232 peut EA%tre initialisE9% E0%
diverses vitesses; aussi bien 150 bps que 115,2 kbps.
Alors je ne vois pas l'utilitE9% de ta remarque,
sauf E0% essayer de te raccrocher aux branches.


Quoted text here. Click to load it

Je me demande sur quel genre de projet tu
pourrais bosser, ca fait froid dans le dos.


|  On 11/11/2011 12:33 PM, DEMAINE Benoit-Pierre :
|  un RS232 CLASSIQUE tourne E0% 9.6kBps,
|  ou B ne se lit pas Byte, mais BAUD

Un AB% Baud BB% E9%tant un AB% symbole par seconde BB%
ton affirmation AB% Bps 3D% Baud par seconde BB%
E9%quivaut E0% AB% Bps 3D% symbole par seconde par seconde BB%
ce qui ne veut rien dire pour la plupart
des Etres Humains normalement constituE9%s.


Quoted text here. Click to load it

And heavy, too.


Re: I2C <=> RS232
Jean-Christophe a tapoté du bout de ses petites papattes :
Quoted text here. Click to load it

Si, ça veut dire que le baudrate accélère. ;)

--
LeLapin



Re: I2C <=> RS232
On 11 nov, 20:15, LeLapin

Quoted text here. Click to load it

| Si, E7%a veut dire que le baudrate accE9%lE8%re. ;)

Tu veux dire que le *symbole* accE9%lE8%re :o)

Bps ( Baud par seconde ) : mesure d'accE9%lE9%ration
en AB% symbole par seconde carrE9%e BB%
( c'est donc pour ca que les fils chauffent ! )

Bref, l'interface pour passer de l'I2C au RS232 se fera via
un PC E0% 2 GHz sous Linux avec noyau propriE9%taire recompilE9%,
support NFS par Firewall IP de masquerading Ethernet
en double filtrage coaxial sur ICMP modifiE9% 42.3 bis,
un trombonne, une clE9% E0% molette, un sac de couchage,
un faux nez lumineux et une perruque tournante.

------------------------------------------------------------------
 3733T tEcHnOLOgY wiZaRd hAcK3Rz GuRu
 Intel double Core 4 GHz 64 Go SDRAM
 DD 512 Go Quantum SCSI CdRom 128X
 Ecran 17' Sony Trinitron (pitch 0.25)
 Souris Logitech, clavier Mitsumi
 OS : Win7, Linux (Ru73 dA wOrLdZ)
 Peugeot 406 diesel aileron arriere
 Autoradio SuperMegaBass 2x200 Watt
 Sexe : 32 centimE8%tres
-------------------------------------------------------------------


Site Timeline