Franchement ... 5 euros ... si je calcule en combien de temps je dois le faire pour que cela revienne moins cher ... c'est tout vu ...Envoyé par Jack
Par contre : pas dispo ... je verrais ça à la rentrée ...
Encore merci à toi pour toutes ces infos !!!
NB: Si ça continu, je vais devoir nommer mon proto "Big Jack v0.2b"
Allez, je file au soleil !!!
Bonnes vacances à tous ceux qui ont la chance d'y être ... et dommage pour les autres ...
@++
Et merci Jack ... j'espère qu'un jour tu auras un gros souci en C/C++ ou C# que je puisse te renvoyer la balle ...
Seb.
Hello !
Me voici de retour tout reposé ...
Pour mon problème, j'ai trouvé ceci :
( Code 2509262128 chez Radiospares )
DG303BDJ chez Vishay ...
"Analog Switch; SPDT; 14-Pin PDIP; 30 Ohms (Typ.); 44V; 100mA Supply; -40"
Shéma :
Je pensais "coller" IN1 et IN2 ensemble de façon à avoir un double-double switch ...
Et en plus, c'est dans un boitier DIP ... le bonheur total quoi ?!
Vous en pensez quoi ?!
Ca n'a pas l'air mal.
Il faudra juste faire attention aux alims.
A+
Salut Jack !
Quand tu dis attention aux alim, tu pense à quoi ?
à ton avis, est ce que je peux alimenter le CI en single supply : 0 .. +10v ??? ... voir 0 .. 5v ?
J'ai cru comprendre que le CI ne pouvais commuter qu'un signal "inclu" dans les tensions d'alim ...
Ou alors, je vais devoir utiliser un truc pour avoir du +15 avec mon 5v ???
c'est donné dans la doc (ici une doc MAWIM du DG303:
All DG300 family switches will operate with ±5V to ±15V
power supplies. They can also be used with single-ended
power supplies ranging from +10V to +30V where the Vterminal
is connected to ground. In either case, analog
signals ranging from V+ to V- can be switched.
En récupérant le 10V du MAX232, ça devrait aller.
A+
OK, merci ...
Je ne savais pas si ça voulait dire que je pouvais switcher du 0v/+5 avec 0v et +5v comme supply ...
J'en ai commandé un peu, je recevrais tout ça lundi ... Je prendrais le +10v du MAX232.
Merci Jack !
@++
Seb.
Visiblement 0 / +5V n'est pas prévu comme alim.
A+
Bonjour.
Pourquoi prendre des luxueux et (coûteux) DG prévus pour du haut de gamme en commutation analogique, réservés plutot aux cartes d'acquisition analogiques et aux sélecteurs d'entrées audio/vidéo haut de gamme, alors que qu'un simple CD4053 (triple multiplexeur/démultiplexeur 2 canaux) ou CD4052 (double multiplexeur/démultiplexeur 4 canaux) - donc possibilité de 4 périphériques commutés - suffisent au besoin et se contentent d'une alim. 0V/+5V/-0V. Leur approvisionnement est aussi plus facile et à un prix nettement inférieur aux DG d'Analog Devices tout en ayant déjà les interconnexions. Une entrée de validation permet même de ne pas sélectionner de canal (dans ce cas, prévoir des résistances de pull-up si nécessaire).
Ces circuits sont disponibles en plusieurs boitiers (DIL16/SOIC16/...) et consomment très peu par rapport à un relais 5V 2RT.
C'est trop tard pour Seb.26 qui a déjà commandé ses composants mais celà interessera les futurs lecteurs.
Cordialement.
berdec25
J'ai pensé à une solution comme celle ci :
P1 et P2 sont mes 2 periheriques
Et evidement Bit 0 et Bit 1 ne sont jamais à 1 en même temps ...
Pensez vous que des portes logiques puissent suivre le rythme d'une laison serie à 115200bps ( je pense que oui, largement même, mais on sait jamais ... )
Et si c'est une bonne idée, vous auriez une réference pour un petit Circuit integré avec 4 porte logique ET en 5v ??? ( un truc connu, dispo chez RadioSpares ... )
Merci d'avance.
Seb
Hello, j'ai peut-être raté un épisode mais pourquoi ne pas faire gérer au PIC deux liaisons série ?
une hard par TX et RX si ton PIC a un UART intégré, et une soft par les pins Bit0 et Bit1.
certains PIC ont même deux UART.
l'inconvénient d'une commutation analogique, outre les composants supplémentaires, et que certaines transmission de P1 ou P2 peuvent être perdues car il n'y aura plus qu'un canal de transmission pour deux périphériques (sauf si tu gère le contrôle de flux par soft ou par hard).
Si tu commute par switch, il faut aussi penser de ne pas laisser les entrées RX flottantes.
A+,
Bruno
Mon PIC est codé en C, et j'ai pas reussi à obtenir une vraie liaison serie @ 115KBps en soft ... surtout que ça ne doit occuper qu'une IT ... pour le moment, j'arrive à emuler 4 UART @9600Bps ...Hello, j'ai peut-être raté un épisode mais pourquoi ne pas faire gérer au PIC deux liaisons série ?
une hard par TX et RX si ton PIC a un UART intégré, et une soft par les pins Bit0 et Bit1.
certains PIC ont même deux UART.
l'inconvénient d'une commutation analogique, outre les composants supplémentaires, et que certaines transmission de P1 ou P2 peuvent être perdues car il n'y aura plus qu'un canal de transmission pour deux périphériques (sauf si tu gère le contrôle de flux par soft ou par hard).
Si tu commute par switch, il faut aussi penser de ne pas laisser les entrées RX flottantes.
A+,
Bruno
Le soft de mon PIC est un genre de mini OS multi tache temps reel, les liaison serie remplissent des FIFO qui sont concommées par des drivers ...ect... Je pense qu'avec un PIC dedié codé en ASM, ça devrait passer ...
Et puis de toute façon, je ne vais utiliser qu'un seul des 2 periphériques à la fois ... donc ce n'est pas genant ...
Par contre, j'avais pas pensé au Rx des periph. en l'air ...
Je compte cabler ceci :
Est ce que je peux utiliser des Pull up ?
( Je vais commuter des niveaux TTL, sans MAX entre mes periphs ... )
Merci à toi
Seb.
je n'ai jamais utilisé des switchs analogiques pour commuter une liaison série, quelqu'un a-t'il déjà fait ça ici :? ??
je pense aux problèmes de faux départ sur les modules lors des commutations (surtout si les liaisons sont gérées par interruption sur le module), au comportement du module qui emettra dans le vide, ou du switch sur un module en cours de transmission.
je n'ai pas bien compris quel est le débit retenu ?
les modules gerent-ils le contrôle de flux ?
n'y a-t'il pas tout simplement une ligne ENABLE sur les modules ?
si cela fonctionne en TTL, qu'est-ce qui empèche de mettre une logique cablée pour effectuer le multiplexage ?
il y a t'il une relation maitre/esclave entre le pic et les modules ?
A+,
Bruno
Tu as raison, mais seb.26 voulait que ça tienne en un seul boîtier à l'origine.si cela fonctionne en TTL, qu'est-ce qui empèche de mettre une logique cablée pour effectuer le multiplexage ?
A+
Bonjour
@Seb.26 :
C'est recommandé surtout si un périphérique n'est pas connecté, mais le PIC en a peut être déjà.Est ce que je peux utiliser des Pull up ?
( Je vais commuter des niveaux TTL, sans MAX entre mes periphs ... )
ATTENTION: Vous avez inversé TX ou RX sur les périphériques ! Est-ce voulu ?
@brunog :
Les multiplexeurs/démultiplexeurs permettent de n'utiliser qu'un seul circuit et les caractéristiques sont amplement suffisantes même à 115200 bauds. Pourquoi s'obstiner ?
Concernant les erreurs de transmissions, il faudra une solide gestion de flux logicielle pour éviter de perdre de la bande-passante.
Bonne réussite.
Cordialement.
berdec25
Ok, merci !
[Edit] Mais les Rx des peripheriques ne sont pas reliés au PIC quand le switch est ouvert ?! ... je dois poser une pullup sur les 2 Rx, non ?
Oui, c'est voulu : cela ne doit sans doute pas s'ecrire comme cela ( ), mais on envoie la sortie d'une uart sur l'entrée de l'autre, alors, j'ai ecris comme cela ... lol
???
En fait, seul un des 2 periphériques sera sous tension à la fois ( d'ailleurs je ne sais pas encore comment faire ... lol ... )
L'idée n'est pas de transformer une UART en 2 UART en switchant de l'une à l'autre, mais d'utiliser un periphérique ou un autre selon les cas ...
En tout cas, merci à tous, et j'éspère que ça va marcher tout ce bazard ... lol ...
Dernière modification par Seb.26 ; 20/09/2006 à 10h34.
Hello,
@jack : c'est effectivement l'épisode que j'ai du rater
@berdec25 : il ne s'agit pas d'obstination, mais en l'absence de connaissances précises sur les modes de transmission entre les modules auxiliaires et le module principal, il est plus honnête d'attirer l'attention de l'opérateur sur les inconvénients de la commutation analogique de canaux de transmissions numériques, car il s'agit non pas de perte de bande passante mais de perte ou d'altération de données.
le problème des entrées flottantes concerne non pas le pic mais les cartes auxiliaires dont les entrées Rx peuvent être placées en l'air par les switchs analogiques, c'est ici qu'il faudra placer les pull-up.
Tx et Rx sont croisés entre le module principal et les modules auxiliaires, ça me semble normal.
A+,
Bruno
Ok, c'est ce qu'il me semblait ...
... Une idée sur la valeur des Resitances a utiliser ?
@+
Il faut commencer par là !Ok, merci !
En fait, seul un des 2 periphériques sera sous tension à la fois ( d'ailleurs je ne sais pas encore comment faire ... lol ... )
L'idée n'est pas de transformer une UART en 2 UART en switchant de l'une à l'autre, mais d'utiliser un periphérique ou un autre selon les cas ...
ça peut rendre inutile la commutation des canaux série, ou au contraire demander des précautions supplémentaires, si aucun potentiel ne doit être appliqué aux entrées des modules en l'absence de tension d'alimentation.
Il faut te référer à la documentation de tes modules.
A+,
Bruno
Bonjour
Si vous utilisez un seul canal à la fois
Une sortie PIC par canal sur le PIC (pilotée par un stream différent avec le compilateur CCS par ex)
Une entreée PIC sur IT pour Rx
Le choix du canal entrée sur Rx nécessite une sortie PIC d'aiguillage et le tout nouveau 7400
bonjour,
un petit relais, c'est bien et ca te permet en plus de le brancher derriere le convertiseur rs 232
si tu veux traiter cela du coté logique tu peux mettre un petit pal quelqonque. en plus il poura remplir d'autres fonctions.
tu peux aussi faire ca pour moins cher et avec moins d'emcombrement en utilisant un pic 12fxxx. le programe corespondant devrait tenir en quelques lignes... C'est un peu une masse pour casser une noisette, mais au prix de la masse..
fred
Bonsoir
Le tout nouveau 7400 est en fait la quadruple porte NAND qui aura bientôt 50 ans
Cette solution est sans doute un peu comme de donner de la confiture de figues blanches à des cochons
Mais ça a l'air de marcher ... j'ai monté le composant hier, et alimenté en 0..+8.5, il semblait aiguiller correctement un signal sinusoidale 0-5v ...
Concernant le prix, je prefère acheter un composant à 4euros que d'y passer 2 jours ... Surtout pour un proto ... Ce serait de la grande serie c'est clair que ça serait different ...
Par contre, vos reponses m'interpellent : un PIC serait il cappable de gerer plusieurs liaisons serie simultanement ?
Combien par exemple ?
Ca dépend ce que tu entends par "gérer" :
selon les modèles, les PIC ont entre 0 et 2 UART pour faire de la transmission de série par HARD.
par contre, n'importe quel PIC peut faire de la communication série par soft, sur autant de liaisons qu'il dispose de paires d'I/O disponibles, avec les restrictions suivantes pour la gestion soft :
- les hauts débits ne seront pas disponibles
- seul le mode scrutation sera disponible (pas d'interruption)
autrement dit :
si c'est ton PIC qui commande (mode maitre) des modules séries en mode esclave (les esclaves n'initient pas de communication), avec des débits faibles ou moyens, tu peux gérer autant de liaisons qu'il te reste des paires d'I/O disponibles. ce sera en half duplex : chaque entité doit attendre la fin de transmssion de l'autre pour commencer à transmettre.
si par contre ton PIC est esclave (les autres dispositifs peuvent initier une communication à tout instant), tu ne pourras pas gérer plus de liaisons que le PIC n'a d'UART, sous peine de perdre des données.
il faut tenir compte également que les transmissions soft sont bloquantes : le PIC ne peut pas faire autre chose pendant une transmission ou une réception, et il faut proscrire les traitements interruptifs qui pourraient désynchroniser les timings de transmission.
A+,
Bruno
OK, donc esperer emuler 4 port full duplex @115Kbps par un pic qui serait esclave I2C pour retransmettre les données reçues ... est utopique ... même en ASM ...
Perso, en C, j'ai pas pu voir mieux que 4 ports full duplex @9600bps ... en non bloquant pour le reste du code ( tout sur une IT timer ) ... moralité : ça bouffe environ 40% d'un PIC @48MHz ... lol
Bonjour.
Je reprend cette discution un peu tardivement.
Réponse à Seb.26 (post #45)
Le PIC (entrée RX) dispose en interne de son pull-up.
Vous aurez peut être à placer des pull-up sur les RX de vos périphériques au plus proche des entrées de vos périphériques, pas sur votre carte PIC (dépend des caractéristique de vos périphériques, sur lesquels vous n'avez encore rien dévoilé de très précis). J'espère que vos périphériques sont en niveaux TTL et non RS-232 !
Lorsqu'un périphérique est sélectionné, vous n'avez pas TX ET RX de ce périphérique raccordé au PIC ! reprenez votre schéma. Il est clair que TX du périphérique va sur RX du PIC mais RX du PIC n'est pas raccordé au périphérique sélectionné mais à l'autre périphérique !
Les multiplexeurs / démultiplexeurs introduisent une résistance de quelques centaines d'Ohms qui peuvent, associées aux capacités des entrées limiter la fréquence, mais 115200 bauds reste faible.
En fait, vous souhaitez simplement réinventer une sorte de switch manuel sans les galettes de contacts mécaniques.
Cordialement.
berdec25
Bonjour.
Réponse à brunog (post #46)
Les sélecteurs analogiques ne vont en fait laisser passer que des niveaux logiques. Il n'est pas question de conversion du numérique en analogique pour reconversion... C'est seulement utilisé pour la fonction multiplexeur/démultiplexeur, même si cela permet aussi de faire passer des signaux analogiques.@berdec25 : il ne s'agit pas d'obstination, mais en l'absence de connaissances précises sur les modes de transmission entre les modules auxiliaires et le module principal, il est plus honnête d'attirer l'attention de l'opérateur sur les inconvénients de la commutation analogique de canaux de transmissions numériques, car il s'agit non pas de perte de bande passante mais de perte ou d'altération de données.
Croisement TX et RX : voir ma réponse précédente qui parle d'un croisement de périphérique ! et non pas de TX et RX.
Cordialement.
berdec25
Rebonjour.
Réponse à Seb.26 (post #47)
Voir les entrées de vos circuits sur les périphérique ont besoin de pull-up. Les choisir en conséquence (généralement, de 4.7K à 47K fera l'affaire).
La réponse de brunog (post #48) insiste sur le risque de destruction des entrées des périphériques en l'absence de tension d'alimentation de leur étages d'entrée (une résistance en série suffira pour résoudre le problème).
Cordialement.
berdec25
Rebonjour.
Réponse à Verdifre (post #50)
Un relais coûte plus cher que le 4051, consomme plus et reste moins fiable. Ces contacts produisent des rebonds lors des commutations.un petit relais, c'est bien et ca te permet en plus de le brancher derriere le convertiseur rs 232
si tu veux traiter cela du coté logique tu peux mettre un petit pal quelqonque. en plus il poura remplir d'autres fonctions.
tu peux aussi faire ca pour moins cher et avec moins d'emcombrement en utilisant un pic 12fxxx. le programe corespondant devrait tenir en quelques lignes... C'est un peu une masse pour casser une noisette, mais au prix de la masse..
Un pal (réseau logique programmable), tout comme un PIC12Fxxx d'ailleurs, est aussi plus cher et plus gourmand que le 4051, et nécessite d'être programmé (matériel et temps de développement accru). Ca n'est plus une masse mais un rouleau compresseur !
Cordialement.
berdec25
Rebonjour.
Si vous souhaitez gérer efficacement et simultanément plusieurs liaisons série, tournez vous vers d'autres microcontrôleurs sachant le faire avec suffisament d'entrées interruptives et d'UART.
Pour commuter un signal analogique ou numérique TTL ou CMOS de 0 à +5V, une alim. 0/+5V du 4051 suffit.
Vos périphériques sont ils bien en niveau 0..+5V, TTL ou CMOS ?
Attention à la coupure des alims si des entrées restent sous tension !
Placez des résistances en série sur chaque entrée RX de façon à ne pas les détruire si c'est des CMOS.
Cordialement.
berdec25