Site des Oraux

Electronique numérique (28) :: post
Années :: 2005 :: 2006 :: 2007 :: 2008 :: 2009 :: Toutes

Post nº28 (id3921) envoyé par Fish Stick  le 23 Jan 2009, 16:43
Q1 (/5pts)
----------
On a 3 bistables D-flipflop (j'appelle leurs entrées D0,D1,D2 et sorties Q0,Q1,Q2).
Ils sont tous trois reliés à CLK (=> logique synchrone).
Ils sont branchés:
Q0 -> D1 ; Q1->D2
NAND(Q1,Q2)-> D0
(Donc on a une porte NAND qui prend Q1 et Q2 en entrée et se rapporte sur D0)

On trace le chronogramme en partant de Q0=Q1=Q2=0 (=> obligé D0=1)
On voit que ça boucle sur une séquence de 5 états différents.

Ce que Mathys aime:
* Qu'on lui dise que c'est en synchrone => pas de glitch,...
* c'est un registre à décalage (un peu particulier)
* C'est un bidule en Modulo 5
* Quel que soit l'état initial des Qi (meme un état qu'est pas dans la séquence), on retombe toujours sur la meme séquence (on peut le montrer en prenant une condition initiale qu'est pas dans la séquence , genre 0,1,0)


Ce que Mathys aime pas:
* Qu'on ait pas encore réfléchi à la fréquence max pour la CLK!
=> Il va d'office demander à quelle fréquence max on peut monter.
Faut lui parler de setup time & hold time + définir. La solution pour cet exo, c'est: période minimum de CLK = Tprop_bistable + Tprop_porteNAND


Q2 (/15pts)
----------
a)
---
Faire le schéma bloc + architecture software d'un chronomètre précis à 1/100e de seconde. Il faut pouvoir prendre 32 temps intermédiaires et faire un affichage avec 5 afficheurs 7 segments. Utiliser le moins de composants possible! C'est avec un 83Cxx.

On met:
* 1µC : Attention série 83Cxx=> pas besoin de ROM ou RAM externe, car il contient déjà une MaskROM en interne + la RAM interne.

* Des boutons de commande.
J'ai mis Un bouton Start/stop sur l'interruption INT1; 1 bouton remise à 0 du compteur sur INT0; 1 bouton pour prendre les temps intermédiaires, sur P1.0 (j'explique pourquoi après). Tous les boutons sont montés avec pull-down.

* le dispositif d'affichage:
On a 5 afficheurs. Je détaille le montage pour 1 d'entre eux. :
On balance les données par le bus data (AD7->AD0), par l'intermédiaire d'un latch (pas oublier!) pour que la valeur soit maintenue, m^eme après la disparition de la valeur sur le bus.
Pour faire joli, on met une série de buffers et de résistances entre le latch et l'afficheur.
On commande le latch avec LE connecté à un fil du bus d'adresse (par exemple A15). => pour écrire un chiffre dans le code C, on écrit dans une variable à l'adresse 1000 0000 0000 0000 (A15=1, les autres=0)
Attention il faut aussi que le signal WR# soit activé => on utilise une porte AND: LE = AND(NOT(WR#), A15)
Idem pour les autres afficheurs, mais avec d'autres pistes A14, A13, A12, A11.


Concrètement, on va utiliser le Timer2 en mode Capture (voir Chap16).
Ce mode permet :
* d'avoir un compteur bits
* Quand on met un flanc descendant sur P1.0, il sauve la valeur du compteur et lance une interruption
* Quand le compteur déborde, il lance une interruption.


b)
---
Y a-t-il une fréquence d'horloge idéale?

Il faut juste s'arranger pour tomber juste sur des multiples de 1/100s.


c)
---
Donner les grandes étapes du code en C


Ici, pas besoin de détailler les initialisations,...
En gros, on dit:

//Variables globales:
*Nombre de débordements du timer
* historique des 32 temps

_interrupt(débordement du timer2) ... {
* remetre compteur à 0
* afficher le temps sur les afficheurs (par exemple...)
}

_interrupt(clik sur P1.0) ... {
* retenir le temps
}

_interrupt(INT0) ... {
*remettre à 0 le compteur et le nombre de débordements
}

_interrupt(INT1) ... {
if(en marche)
arr^ter timer + désactiver interruptions
else
lancer timer + activer interruptions
}

main(){
*initialisations
*activer interruptions

while infini
}


En fait jme suis rendu compte que l'exo est proposé au bas d'un des slides du Chap 16, sur le Timer2... Mais qui fait les exos??!!
Good luck

Post nº27 (id3920) envoyé par Shayan  le 23 Jan 2009, 15:19
Bon, à mon tour:

Q.1 (5pts)---------------------------------------
Un bistable JK, en toggle (J=K=Vdd) + Une CLK (normale).
A la sortie de JK, on prend Q avec la CLK, on les fait passer par une porte AND, ca nous donne notre sortie A. On fait la même chose avec Q'->sortie B.

a) Donner la fonction en negligeant les temps de propagation:
En gros, après avoir fait le chronogramme, on constate que CLK=A+B, ou encore que A et B représentent (en alternance) une impulsion sur deux de la CLK.

b) Montrer que le fonctionnement n'est plus correct si on prend compte des t_prop:
En effet, il suffit de faire les chronogrammes pour remarquer qu'il y a des impulsions parasites (une impulsion sur deux plus précisément).

c) Remédiez à ce problème:
A ce qui parait il y a plusieurs solutions, moi j'ai proposé de faire retarder les impulsions de CLK qui sont juste avant chaque porte AND, pour que ces signaux changent d'état EN MEME TEMPS QUE Q (et Q') ( en effet, c'est de là que vient le problème).
On les fait retarder avec des monostables, en choisissant bien les valeurs de RC. Attention, RC des deux portes est different car les t_prop de Q' est plus grand que t_prop de Q.




Q.2 (15pts)---------------------------------------
On souhaite connecter 6 périphériques identiques à un 83C. On suppose que chaque périphérique est compatible avec le bus multiplexé. Ils contiennent chacun 126 registres de 8 bits, dont les 45 premiers sont en lecture, et le reste en lecture et écriture.

a)faites le schéma LE PLUS SIMPLE
8 bits--> 8 données --> P0=> D7..D0
126 adresses--> 7 bits nécessaires (2^7=128) --> P0=> A6..A0 .
6 périphériques --> 6 bits --> P2=> A13..18

On connectera P2 sur les chip select de chaque boitier, et sera actif lorsque le bit correspondant vaut 1 (par ex).
Le decodeur d'adresse sera donc inutile.

Cmt ca marche: On met les adresses sur P0 et P2. Le bit est donc désigné. Ensuite, pour écrire ou lire la donnée, on la fait transférer par P0. Nous n'avons donc pas besoin de latch/démultiplexage temporel car les périphériques sont compatibles (Il se souviendra de l'adresse grâce à un bon code).

Attention, il faut un WR' et RD' connecté à WR' et OE' de chaque périphérique.

Il faut aussi que le périphérique sache à quel moment il travaille avec des adresses, et à quel moment ce sont des données (à fournir ou à écrire). Pour lui dire que l'on veut écrire sur le registre/bit, il suffit d'activer notre WR', une fois que les données sont stables. Pour lui dire qu'il peut envoyer la donnée nécessaire, on connecte ALE à LE chaque périphérique en supposant qu'ils possèdent des espèces de latchs internes.

b) donner le code pour lire et écrire le 78e bit du registre 2:

78e bit: 01001110 (de P0)
2e périphérique xx000010 (de P2) (xx=00 arbitraire)
--> DPTR= 00000010 01001110 qu'il faudra le mettre en HEXADECIMAL!

et ensuite voir ch. XII. avec mémoires XDATA: MOVX A,@DPTR etc...







Post nº26 (id3902) envoyé par Rob  le 21 Jan 2009, 11:41
1) Une paire NMOS et PMOS de inverseur (en gros le montage CMOS de base), on veut allumer une LED (<=> diode) lorsque l'entree est a l'etat HI (la question duale est deja sortie où c'est pour l'etat LO). Proposer un montage avec un resistance. A quoi sert la resistance? En gros on met le montage avec les MOS, et met en serie la resistance et la LED entre l'alimentation et le point de sortie (entre les deux MOS). On voit que quand on est a l'etat HI, le NMOS est passant, on a donc 9V - R*I - Vled - VNmos = 0.

Il demande ensuite de donner la valeur de la resistance max pour avoir 12mA passant pas la LED (les caracteristiques de la LED, du PMOS (inutile ici) et du NMOS sont donnees). Attention il y a deux courbes par caract, il faut choisir la plus defavorable (prend en compte dispersion etc...)

2) Je crois que la question est deja sortie les annees precedentes. Interfacage d'un ecran LCD avec un 8051. En gros relie comme d'hab mais le LCD n'a que 4 registres des tailles 4 bits donc pas besoin de multiplexage du bus de donnees (il n'y a que 8 bits d'adresse aussi). J'ai mis des D latch aux entrees donnees du LCD parce que ce dernier a besoin d'un certain temps pour echantillonner les donnees (1,9µs), le LE etant active par le signal WR#. Penser aussi au chip select. En gros tant que tout est bien justifie, on a quand meme certains degres de liberte (notamment au niveau de l'equation du CS, j'ai juste mis CS# = NOT(A15))
Il faut aussi ecrire un peu de code (C ou assembleur pour les plus motives), le chapitre 12 (je crois, sur les instructions propres au 8051) est utile (surtout pour ceux, genre moi, qui croyait qu'il etait un peu inutile a lire). En particulier l'instruction "noop" pour faire passer un peu de temps.

Mr Mathys est vraiment cool, il ne m'a jamais regarde genre "mec, t'es trop un con" et vous suit dans votre raisonnement en vous expliquant exactement ce qu'on aurait du faire pour ameliorer. Un oral astucieux et intelligent, a passer.
(ca change des oraux "clashe moi un peu au tableau la demo n°146 bis et son corollaire 3")

Post nº25 (id3895) envoyé par alex  le 19 Jan 2009, 23:57
(suite du post précédent)
b) Cas le plus défavorable: Vbatterie minimale (3V) et Vds maximale (2,5V sur le graphe)
Le courant minimal de 9mA correspond sur la caractéristique à une tension Vak=1,95V.
Rmax.0,009 = 3 - 1,95 - 2,5 ==> Rmax

Post nº24 (id3894) envoyé par alex  le 19 Jan 2009, 23:55
Salut à toi qui fait partie de la majorité pétée de l'auditoire ^^

Rdv oral à 14h, mr mathys arrive 20min en retard (bon c'était le premier jour d'oral...)

Un énoncé parmi d'autres est tiré au sort, et tout le monde cravache sur les mêmes questions donc.

Deux questions:

QUESTION 1 (sur 5 points)
------------------------------------------
"On désire allumer une LED par la sortie d'un inverseur en technologie CMOS, alimenté par une batterie NiMH dont la tension est comprise entre 3V et 4,5V.
La LED est une diode qui émet de la lumière lorsqu'elle est traversée par un courant direct. Sa caractéristique (Id,Vak) est donnée ci-dessous, ainsi que celles des deux transistors de sortie de l'inverseur, le dédoublement des courbes tient compte de la dispersion de fabrication.

a) Proposer un schéma de connexion comprenant l'inverseur, la LED et une résistance R et qui allume la LED lorsque l'entrée de l'inverseur est LO. Justifier la présence de R.
b) Déterminez la valeur max de R pour que le courant circulant dans la diode allumée soit au minimum de 9mA, dans le cas le plus défavorable."
------------------------------------------
Ca ressemble énormément à une question de 2008, voire tout-à-fait la même chose. Faut pas s'embrouiller avec les caractéristiques de la LED, du NMOS et du PMOS qui sont fournies. J'avais fait une inversion de signe et hop un point en moins au final.
a)On fout donc l'entrée LO sur les deux transistors. NMOS sera bloquant, PMOS passant. Le courant Id part donc de la tension de la batterie, passe dans le PMOS, dans R et finalement dans la LED avant de finir dans la masse. Vbatterie = Vak + Vr - Vds où Vds est la tension drain-source du PMOS. Vue l'allure exponentielle il faut R sinon le courant serait énorme.
b) Cas le plus défavorable: Vbatterie minimale (3V) et Vds maximale (2,5V sur le graphe)
Le courant minimal de 9mA correspond sur la caractéristique à une tension Vak=1,95V.
Rmax.0,009 = 3 - 1,95 - 2,5 ==> Rmax

Post nº23 (id3415) envoyé par Do  le 27 Jan 2008, 02:49
Ayant eu les mêmes questions que notre camarade ci-dessous je n'ai pas grand chose à dire, si ce n'est qu'effectivement il est intéressant de savoir définir précisément et du tac au tac le hold time et setup time. L'exercice avec les 4 toggles converge vers une série 5 10 5 10 5 10 etc, il semble bien vu de lui dire " Ahiiiin j'ai trop de feeling je suis un fou, je me demande si ça converge vers cette série quelle que soit la situation de départ" (c'est le cas).

Pour l'autre question , il faut effectivement câbler directement le AD0-7 aux periphs, le ALE allant directement dans le periph lui-même. en gros, au lieu d'avoir un latch à l'extérieur, ce sera une sorte de latch interne au periph qui effectuera le multiplexage du bus lui meme.
Pour les CS on peut se passer du décodeur d'adresse en mettant directement un bit A13...A8 (pas les deux derniers puisqu'on a que 6 periph)à l'entrée #CS.
S'il demande comment on lit le registre 67 du 6eme periph, son adresse est 0001111101000011 (A15 A14 arbitraires, A13=0 car on sélectionne periph 6 actif à l'état bas, A12...8 à 1 car on ne selectionne pas les autres periph, et puis 01000011 pour faire 67)
Il faut savoir donner ca en assembleur ou en C, avec les MOV @DPTR etc

Comme d'hab, très sympa et cote tranquille (j'ai trouvé). Pensez au ravitaillement, à moins de bien gérer (et de n'avoir rien à faire là en fait), un oral de mathys c'est 3h au moins, le temps de lire et découvrir des choses dans le cours et d'oser lui montrer ce qu'on pense être la réponse...

Do

Post nº22 (id3414) envoyé par popol  le 27 Jan 2008, 01:55
1ere question:

On a 4 toggle qui sont en "série" (output de l'un connecté au enable du suivant) mais avec entre chaque une porte nand dont l'entrée comprend la sortie du toggle précédent ET les sorties des toggles suivants. Le premier toggle a son enable actif tout le temps. Tous les T sont mis sur l'horloge (logique synchrone). On demande de tracer le chrono.
Bon bah cest pas compliqué, peu importe l'état de départ des sorties, on arrive après un moment à une situation de régime où Q0=Q2=not(Q1)=not(Q3) et l'état des 4 change à chaque flanc montant.
Question annexe: fréquence max du système (cf slides à la fin du chapitre sur les bistables, dans les applications, ya la formule)+définir setup time.

2eme question:
On a un 83mu, et faut brancher 6 périph avec le moins de constituants possible. Les périph ont une septantaine de registre de 8 bits, les 16 premiers sont en lecture seule, les autres en read or write. Donner le shéma de cablage. Bon donc pas de flash, rom, etc. J'ai tapé un décodeur dadresse et un registre d'adresse, mais ya moyen de faire encore plus simple et se passer du décodeur. Chaque périph doit avoir une entrée cs, write, read, et une pour lui dire de retenir la mémoire de loctet sur lequel on veut travailler (j'avais oublié cette pin là). Le bus A15-A8 est utilisé alors.

Franchement l'oral le plus agréable qu'il m'ait été donné de passé (surtout après notay et hanus...). Il est sympa, il vous met à l'aise et vous remet sur la piste quand vous dérayer. Quand vous avez juste, il le dit. Bonne chance pour les 2009 :-)

Post nº21 (id3392) envoyé par Val  le 24 Jan 2008, 14:15
Questionnaire N°4:

1/ On à un JK avec ses 2 pattes d'entrées(J et K) sur Vcc. En aval de ce JK, on a une porte AND (A)qui reçoit en entrée la sortie Q du JK et la clock. On a également une autre porte AND (B) qui reçoit en entrée la sortie Qbar du JK et également la clock.
A/ Fonction du circuit : pas grand chose à dire, A et B sont donc à l'etat haut avec une frequence clock/2. A et B sont également en quadrature.
B/ Chronogramme et repèré un probleme possible du au delais : en fct normal A et B oscillent à clock/2. A cause des delais, Il peut survenir un moment ou Q n'a pas encore basculé et Clk ou -> appartition d'une impulsion parasite et donc signal de sortie A et B à frequence clock (et forme bizare de A et B)
... tout ce que je viens d'ecrire se voit bcp mieux sur le chronogramme
C/ un solution pour contrer ce probleme.
D/ Fmax du circuit

2/ Faire une interface la PLUS SIMPLE possible entre un microP 83C552 et 5 peripheriques ayant chacun 128 registre (en gros des memoires, en lecture et ecriture).
Le truc ici c'est que du fait que ça soit un microP 83c et non 80c -> Ram en flash à bord !!! On dessine juste le microP, les 5 periph et les fils, rien de plus (pas besoin de decodeur d'adresses pour seulement 5 periph)

Voila ...

REM :
1/ c'est long ! (4H30 dans le labo pour moi, prevoyer du ravitaillement)
2/ n'hesiter pas à le passer, il est vraiment cool et on a tout le temps de trouver tout ce qui faut dans le cours pour chaques questions (meme en premiere lecture ^^)
3/ un certain "me" à eu +- les meme questions que moi il y a qq années -> sur oraux.be

Post nº20 (id3381) envoyé par anonyme  le 23 Jan 2008, 10:14
La question est déjà dans les pompes (les numéros de questions changent et les questions disparaissent au fur et à mesure):

1-circuit CMOS inverseur avec une avec courant min 12mA au pire sur une LED quand l'entrée est LO. On donne les caract des PMOS & NMOS, faut expliquer pq faut une resistance et la dimensionner. L'alim est au mieux 8.4V et au pire 7V. Les carac permettent de trouver les chutes de tension au niveau du PMOS (puisque c'est lui qui conduit pour Vin=LO). Il y a la chute de tension dans la résistance, et il faut égaler ça à la tension correspondante à 12mA sur la caractéristique de la LED pour trouver la valeur de la résistance. 7V-PMOS-RI=2V => R.

2-on demande d'ébaucher le schéma bloc d'un systeme avec un uC pour ouverture d'une porte avec un MCC. L'ouverture ou la fermeture s'effectue dès qu'on appuie sur un bouton poussoir ou bien par un contrôle radar. Il ya deux relais (ce sont des bobines qui vont permettre le contact dans la MCC grâce à une force électromagnétique). On ne peut pas les allumer en même temps. Il faut faire comme au labo et rajouter des latch supplementaires après les CS (parce que les CS n'ont pas une durée suffisante pour pouvoir ouvrir la porte - un CS ça a une période inversément proportionnelle à la fréquence du uP, ça je ne le savais pas). Et puis ne pas oublier de câbler en wired-or, l'IRQ est active à l'état LO parce que le radar possède une sortie à drain ouvert. Pas oublier que le bus des données DOIT servir (pour savoir qui a généré l'interruption), donc faut tout cabler en standard comme au labo, juste remplacer les blocs.
Il fallait aussi préciser le type de mémoire nécessaire dans le uC. Forcément, y a pas besoin de grand chose : une ROM en EEPROM ou Flash fera l'affaire.
Les questions subsidiaires ne sont pas spécialement de réflexion : "donne moi l'instruction C pour pouvoir lire sur le bus des données" (_xdat unsigned int nom_var _at (0xadresse) - c'est assez fou de se souvenir d'un truc pareil quand on demande de la réflexion et qu'on s'en balance de la programmation). Donc revoyez bien vos labos parce que ça ne lui fait pas plaisir qu'on ne se souvienne pas de ces petits trucs :
-cabler un latch
-connaître le temps d'un CS
-connaître la programmation en C

Post nº19 (id2661) envoyé par Coch  le 24 Jan 2007, 13:59
Nous avons eu le questionnaire 1 ce matin.

Q1) Quelle est la sortance d'un inverseur CMOS connecté à des LS-TTL? On nous donne la caractéristique I_D(V_DS) du NMOS et on nous dis que le PMOS a une caractéristique symétrique.

Etant donné que les LS-TTL ne sont pas symétriques au niveau des courant I_IH et I_IL la sortance n'est PAS symétrique.
Le cas le plus critique est à l'état bas (V_OL de l'inverseur).

Pour déterminer I_OL on trace la caractéristique d'un LS-TTL sur la caractéristique du CMOS. L'intersection des deux courbes nous donne I_OL et par report sur l'axe des abscisses, nous avons V_OL. Il faut prendre la courbe caractéristique du CMOS avec les valeurs minimales car c'est le cas le plus défavorable.

Nous obtenons V_OH ~= 0,5 V. Or le V_IL du LS-TTL ~= 0,4 V (la même que pour le TTL). La sortance est donc de 1 environ.

2) Système E/S parallèle au standard ISA. On connecte un périphérique constitué de 10 cartes ISA chacune équipées de leur buffer propre et connecté au port périphérique ISA du PC (équipé uniquement des buffers) via un câble plat. On a 16bits de données, 24bits d'adresses + des signaux de contrôles sur un bus cadencé à 8MHz.

a)Débit maximum de données sur le bus sachant qu'une lecture ou écriture prend 2cycles d'horloge.

1 cycle à 8MHz a une période T= 125 ns. Donc 2 cycles prennent 250 ns. Au maximum, 16bits parcourent le bus pendant cette période. Nous avons donc un débit maximum de 8Mo/s ce qui est cohérent avec le maximum pour ISA qui est de 16Mo/s.

b)Exemples de signaux de contrôles pouvant intervenir.

CS# commandé par les bits d'adresses pour sélectionné la carte.
WR# pour commandé l'écriture
RD# pour commander la lecture
RDY pour éviter que le µP du PC et le µC de la carte (exemple carte graphique) puissent commander les buffers en même temps. (il n'avait pas l'air très convaincu, mais quand j'ai parlé de la carte graphique il m'a dit que j'avais raison)

c)Définition des buffers et leur utilité.

Ici, le terme buffer est à employé au sens de circuit à sortance élevée. Et les utilités se trouvent dans le cours.

d)Problèmes pouvant être liés avec ce type d'interconnexion.

-Contention de bus, évité grâce à des CS# bien construits.
-Si le système est synchrone et que le signal d'horloge vient du µP, le flanc montant de l'horloge peut ne plus apparaitre au même moment pour toutes les cartes => désynchronisation.
-Capacités parasite du câble plat provoquent des oscillations (amorties par les résistances d'adaptation), le temps de transition est alors abimé.
-Problèmes de réflexions.

e)Est-ce que les buffers peuvent être fabriqués en HC-MOS?

Un problème pourrait avoir lieu si le délai introduit par le câble plat de 30cm était plus long que la moitié du temps de transition des buffers.
t_d < t_t/2.

Or nous avons t_d ~= 1,5 ns.
et t_t dépend de la capacité à charger.
Cependant, puisque nous voyons que la notice du HC-MOS fournit t_t pour 50pF = 6 ns, et que la capacité a charger est plus importante. Nous avons t_t > 6 ns .

Nous avons donc bien rempli la condition. Il n'y a pas de phénomène de réflexion.

Voilà, c'en est tout, il ne m'a pas demandé beaucoup plus sinon de définir le temps d'accès à la carte.

Bonne m....


Post nº18 (id2630) envoyé par dim  le 22 Jan 2007, 12:36
voila on etait 5 ce matin
qqn du groupe tire un numero (le 6 ds notre cas), et puis on fait la prepa
la prepa se fait a cours ouvert, les questions etaient :

1-circuit CMOS inverseur avec une avec tension sortie sur la diode, on donne les caract, faut expliquer pq faut une resistance et la dimensionner
j etait bien concent d avoir fait une micro synthese du cours de robert, sans ca j aurais pas pu repondre !

2-on demande d expliquer cmt on pourrait faire un systeme avec un uC pour ouverture d une porte avec un MCC (l enonce fout deja les boules...) suffisait de faire comme au labo et rajouter des latch supplementaires pour le bouton ouverture de la porte, la detection avec un radar, detection d un surplus de courrant dans le MCC au cas ou qqch bloque la porte, une alarme si la porte reste ouverte pdt plus de 5min, et encore qqs autres trucs

puis il vous invite de vous assoir juste a cote de lui et de tout lui expliquer. il fait des commentaires sur sa feuille et met un plus qd c bon, un moins qd c pas bon et un carre qd c moyen
attention parfois il pose des questions de comprehension generale du cours, donc revoyez bien !
apres il fait la moyenne avec votre ecrit, si ca ne depasse pas les bornes, il met ce k vous meritez
voila, il a pas ete tres genereux avec moi (13), ms ca va, j ai eu mon +3 et ca m suffit

Post nº17 (id2629) envoyé par Boris  le 22 Jan 2007, 12:35
Fiche 6:
Question 1 : on veut allumer une diode avec un inverseur et une batterie.
On doit faire le schéma avec une résistance (expliquer l'intérêt de la résistance (à placer après l'inverseur pour limiter le courant dans la diode).
Quelle est la valeur max de cette résistance si on veut x Ampère (on a les courbes de i en fct de V pour la diode et i en fonction de Vds pour les deux transistors).

Question 2 : faire le schéma bloc d'un système pour controler une porte de frigo commandé par un bouton poussoir, un récepteur radio sur une entrée à drain ouvert et le moteur de la porte commandé par un moteur à courant continu avec deux bobines commandé par un relai qui consomme 50 mA.
Expliquer tout les types de mémoires nécessaires.
Plus plein de condition à remplir
(genre alarme apèrs 5 minutes d'ouverture
arret si courant trop élevé dans moteur
arret quand fin de course
Quand on appuie : arret si en marche, ferm si ouvert et inversément)

Désolé si c'est pas très clair, mais je suis un peu crevé...


Post nº16 (id2611) envoyé par Gavroche  le 20 Jan 2007, 16:47
Question 1 - conversion parallèle (8 bits) vers série, à l'aide d'un multiplexeur: proposer un schéma

Tentative de réponse:
Alors, tout d'abord, le multiplexeur: 8 entrées (D0...D7), une sortie (Q) et 3 bits de sélections (S0...S2) (tel quel dans le cours)
Il s'agit de sélectionner un à un les 8 bits d'entrée (dans l'ordre...) pour les refléter à la sortie; pour ça j'ai mis un simple compteur synchrone avec 3 toogles (comme ds le cours de nouveau), qui permet de compter de 000 à 111 (0 à 7). La fréquence max de ce compteur est renseignée dans le cours également.

Question supplémentaire: comment le connecteur à un µP
Entrées D0...D7 du multiplexeur venant du bus des données.
Ajout d'un Chip Select CS# venant du décodeur d'adresse, pour activer la conversion.
A l'intérieur du multiplexeur, un D-latch par entrée Di avec les LE activés par NOT(CS#), pour mémoriser les entrées.
Il ne faut envoyer qu'une fois la séquence: couper l'horloge quand le compteur est à 7 (111), l'activation du CS# activant le CLR des toogles et donc la conversion.
Pour l'horloge du compteur, peut-on utiliser celle du µP? Oui, on a vu ~12MHz comme fréquence pour le µP, 12Mbits/s est acceptable pour une transmission série
Comment éviter que le µP n'écrive une nouvelle donnée avant que la donnée courante soit convertie? Le prévenir lorsqu'on a fini, par exemple par interruption -> on peut partager la ligne d'interruption avec les autres périphériques, pour peu qu'on ajoute un drapeau qui indiquera au µP que le multiplexeur a demandé l'interruption.

Je pense que c'est à peu près tout...

Question 2 - comparer l'utilisation d'un D-LATCH (actif HI) et d'un D FLIP-FLOP (actif sur flanc descendant) sur base du chronogramme de temps d'accès à la mémoire du 8051

Tentative de réponse:
Alors, pour le chronogramme: voir cours (Chronogramme de lecture - temps d'accès)
Le D-latch est transparent pour un LE = HI; le D flip-flop quand à lui échantillonne à chaque flanc descendant de son horloge.
On éfinit le temps d'accès en lecture comme le délai entre le moment où l'adresse est stable sur le bus *et* le CS actif, et le moment où la mémoire place les données sur le bus. Le 8051 garantit un setup time et un hold time qui permettent dans les deux cas de transférer les données du bus à la sortie du bistable; cependant, dans le cas du d-latch, il est déjà transparent au moment où les adresses apparaissent et le décodage peut commencer immédiatement; dans le cas du flip-flop, ce décodage ne commence qu'à la désactivation d'ALE.
Parmi les contraintes mises par le 8051, il y en a une qui porte sur le temps de lecture au plus tard après la désactivation de ALE; sur base de cette contrainte on en déduite que le temps d'accès de la mémoire ds le cas du D-latch est de maximum 233 + t_s - t_décodage [texto dans le cours]; dans le cas du flip-flop par contre, on arrive à un temps maximum de 233 + t_decod (les adresses arrivant au décodeur après un délai supplémentaire de t_s). L'utilisation d'un tel bistable exigerait donc des mémoires plus rapide.
Je n'ai pas du dire grand chose sur cette question, il semblait satisfait de savoir qu'il n'y avait aucun avantage à utiliser un D flip-flop - raison pour laquelle il n'y a que des D-latch dans le cours. Il en avait peut-être un peu marre de me tirer les vers du nez, aussi.

Au final, 14 pour l'oral, malgré beaucoup d'énormités de ma part et un temps de réponse assez aléatoire...

Post nº15 (id2580) envoyé par Raph  le 19 Jan 2007, 16:11
Bon ben je vais inaugurer le post pour cette année.

Je suis passé ce matin : RDV 8h au UA2 et puis vu qu'on était 3, on a été au UA5.

Il demande à l'un d'entre nous de donner un chiffre entre 1 et 4 et hop deux questions apparaissent :

Dans notre cas, il s'agissait :
1)
d'un bistable J-K maitre-esclave.
Il fallait prendre en défaut sa table de vérité dans le cas d'une
clock à HI et d'une perturbation sur le signal d'entrée. puis
d'expliquer les setup time et hold time.

Il fallait donc prendre un cas d'entrée quelconque avec une des entrées parasitée et puis faire toutes les étapes qui montrent que on obtient pas ce qu'on voulait comme résulat.Moi je voulais faire un memory (J=0=K) et vu une perturbation sur 1, je me retrouvais à imposer un état. Puis lorsque l'impulsion était terminée, on recopiais sur l'esclave.

Au coup d'horloge suivant, il fallait faire un basculement (cf énoncé)
Et ce basculement ne se produit pas par rapport aux conditions de départ mais par rapport à l'imposition de l'état précédent.



2)
On a un micro-ordi avec un périphérique avec connecteur parallèle.
Comme on est mauvais fabricant, on a bcp de retour des pièces pour cause de :
- fonctionnement erratique du micro ordi quand le périph est pas branché
- fonctionnement impossible quand le périph est branché.

Diagnostic matériel: buffer d'entrée du micro-ordi et buffer de sortie du périph détruits

tout a été réalisé en CMOS: donnez 3 causes possibles des problemes et proposez une solution.

ça il fallait aller voir dans les derniers slides sur les CMOS et les derniers slides du dernier chapitre logiques actuelles


Voilà, c'était pas très long, ça a pris environ 2h de préparer et une demi-heure de présenter.
Il est hyper sympa, il explique certains trucs si on a un probleme et n'hésitez pas à aller lui poser des questions sur vos questions ;)

Bonne m.... à ceux qui doivent le passer ça vaut vraiment la peine

Raph

Post nº14 (id1885) envoyé par me  le 29 Jan 2006, 22:35
samedi matin:

1) on avait 3 bistables D flip-flop reliés, avec le signal clk et une porte nand entre les sorties des 2 derniers bistables, vers l'entrée du 1er. Il fallait déterminer la séquence de sortie de la chose: c'était un registre à décalage. Comme petites questions orales, il m'a demandé de définir hold time et setup time, et de montrer sur mon schéma, en introduisant des délais, de quelles contraintes temporelles il fallait tenir compte.

2) Il demandait de donner un schéma bloc d'un chronomètre à 5 digits, précision au 1/100 de seconde, avec le moins d'éléments possibles, en utilisant un 83µ552 (ou qqchose comme ça). là, il fallait déjà voir que comme c'était un 83 machin truc, il ne fallait pas mettre de mémoire flash dans le schéma bloc. Il faut donc mettre: le µC, 5 afficheurs à 7 segments (avec 5 latch pour les CS des différents afficheurs), 2 interrupteurs (marche-arrêt et remise à zéro), et il me semble que c'est tout! (tout le reste: ram, décodeur d'adresse, ... était superflu.)
Il demande aussi la fréquence idéale du quartz, et une ébauche de programme. Perso, j'ai juste utilisé un timer (timer 2 en capture).

En général, ça a l'air de bien se passer, mais il faut paraître sûr de soi quand on lui dit qqchose: quasi tout ce que j'ai dit était correct mais il m'a reproché un manque de confiance en ce que je disais (bon, après 2 nuits blanches...:$). Il m'a dit qu'un oral doit être impersonnel (se passer de toute réflexion, etc). Il m'a aussi reproché le français peu châtié dans lequel je lui ai défini hold time et setup time, même si mes définitions étaient correctes... il faut que ça sorte sans réflexion, dans la seconde qui suit sa question, dans un beau français...
Voilà. En gros il est sympa, mais il ne cote quand même pas très large je trouve...

Post nº13 (id1884) envoyé par Ce samedi 29 PM  le 29 Jan 2006, 17:58

Première question :

1) Réaliser une porte NAND avec des transistors bipolaires à deux entrées selon des spécifications bien définies :
a) VIL = 5.6 V
b) Temps de montée de 6.6 micro seconde
( attention temps de montée pas de propation )
c) Iol = 120 mA

Le schéma de départ est celui vu dans les slides. On met 10 diodes de 0.5V à la base, remplacer la masse par une tension de 5V posant des problèmes en niveau LO. On calcule RC avec la loi de la charge d'une capacité dont la valeur est donnée dans l'énoncé. Rb se calcule à l'aide de la troisième conditions. Le courant du collecteur est une somme de courant.

2) Calculer l'immunité au bruit ( marge statique )
3) Calculer la sortance.

Mes principales erreurs étaient des simplifications 'abusives' et le fait que j'ai eu du mal à calculer le courant de base ( en saturation ) à l'aide du graphe ic(Vce) pour différents ib qui était proposé.

Deuxième question :

Réaliser le chronogramme d'un ensemble de 3 bistables D flip flop ( 0, 1, 2 ) reliés par leur borne Q-D et une porte NAND reliant Q1 et Q2 à D0. La séquence est assez bizarre : 1,3,7,4,6,1,3,7,4,6... ou qqch dans le genre. Ne vous inquiétez donc pas. Il m'a demandé si une valeur était préchargée, qu'est-ce qu'il se passait, comment cela évoluait. J'étais parti de zéro et j'avais pu observer qu'on finissait tjs par retomber sur nos séquences. Je lui ai montré avec le cas ou la séaquence de départ était 2 (010). On a parlé des temps de propagation. Attention, la fréquence maximale est déterminée par les temps de propagation d'un bistable de la porte NAND et du 'setup time' par sa définition ( pas le 'hold time' ).

Mr Mathys est tjs aussi sympathique et son système d'interrogation n'est pas mal du tout.

Bonnes vacances.

Post nº12 (id1874) envoyé par Dave  le 26 Jan 2006, 22:43
Q1:
un montage avec 3 bistables JK "en série" synchronisés par un signal d'horloge. Les signaux J et K de chacun des bistables étaient fonction de certaines sorties des autres bistalbles; Par exemple pour le premier bistable d'idince "0": J0=XOR(Q1,NOT(Q2)) et K0=XOR(Q1,Q2);
pour le bistable "1": J1=AND(NOT(Q0,Q2) et K1=...
J2=... K2=...

On écrit la table de vérité pour chaque signal d'entrée de chaque bistable (Ji et Ki) en fonction des signaux Q0, Q1, Q2, NOT(Q0), NOT(Q1), NOT(Q2).

On part de l'état de départ Q0=Q1=Q2=0 => on détermine nouvel état de chaque signal à la sortie de chaque bistable (Qi et NOT(Qi)...).
Et à chaque coup d'horloge on recalcule les nouveaux (Ji,Ki) puis les nouveaux (Qi,NOT(Qi)) dûs à ces (Ji,Ki)...
On fait le chronogramme des signaux Q0,Q1,Q2.

Questions sur la fréquence max de ce circuit; Limitée par le temps de propagation des bistables + le temps de propagation des portes logiques définissant les signaux d'entrée (Ji,Ki)+ le setup time.

Q2:
Un micro ordinateur est vendu dans le commerce et un périphérique pour cet ordi est vendu en option. Ce périphérique se connecte en parallèle sur l'ordi via un... connecteur. L'ordi et le périphérique ont chacun leur propre alimentation.
On rapporte les problèmes suivants:
-si le périphérique n'est pas connecté=>fonctionnement erratique de l'ordi
-si le périphérique est connecté=>ça ne fonctionne plus, et un dignostic de la panne montre une destruction d'un ou des deux "buffers" (d'entrée de l'ordi, de sortie du périphérique)

donner 3 causes de la panne et proposer une solution pour chacune.

1-Si on ne branche pas le périphérique=> on n'impose pas certaines entrées de certains circuits de l'ordi=> règle de bonne pratique: imposer l'état de toutes les entrées!!! (Pourquoi? Rappelez-vous de vos labos et de la sensibilité des grilles des MOS...)=> résistance de "pull-down" sur les entrées, malgré la consommation statique lors de la connection du périphérique (défaut par rapport à la technologie MOS ou il n'y a "pas" de courants en statique).
2-Si on branche le périphérique, vu que les alim sont différentes, il se peut que la masse ne soit pas identique de part et d'autre... et si vous pensez que ça ne change rien, c'est mal barré!...
3-Puis faut aussi connecter d'abord les masses entre elles!!!...
Je ne me rappelle plus du détail et j'ai plus envie de réfléchir, enfin faites travailler vos méninges :-p

Post nº11 (id1873) envoyé par Houston  le 26 Jan 2006, 22:22
Q1 : Un ensemble de bistables dont il fallait donner la séquence de sortie.
Allez-y tranquillement (j'ai mis 1h30 à la finir), méthodiquement. Et aussi, n'hésitez pas à lui demander des précisions concernant l'énoncé et/ou le schéma (j'avais pris les bistables pour des D-flip-flop alors que c'était des T-toggle avec une entrée Enable)

Q2 : Schéma d'interfaçage d'un écran (délai de 3 micro-secondes, 3 registres en écriture seulement) et d'un micro-C (avec mémoires ram et rom externes).
Pour le schéma de la partie micro-C, c'est tout simple (taille des mémoires, mapping des bus de données et d'adresses).
Pour la partie avec l'écran, c'est plus compliqué. Il faut mettre un latch car il y a un délai (le latch mémorise les données). Il ne faut pas oublier de représenter l'écran lui-même (oups...). Pour faire en sorte que l'écran lise les données au bon moment, il y a plusieurs solutions : je lui ai proposé de faire un petit circuit qui reçoit les top d'horloge du micro-C et divise sa fréquence par 4 en sortie mais c'est un cas particulier parce qu'on veut lire toutes les 3 micro-secondes et que le micro-C est cadencé à 12MHz. Si on avait eu d'autres valeurs, c'était foutu. Il m'a suggéré l'idée d'un monostable dont on peut régler la période.

De façon générale, ne soyez pas stressé... Est-ce qu'il stresse, lui ? Sérieusement, si ça ne va pas, il abandonne le question/réponse et il glisse vite sur le ton de la conversation... ça aide à mettre en confiance. Et aussi, quand vous soulevez un point important et que vous répondez correctement, il a le bon goût de vous dire "c'est tout-à-fait ça" (ça change des "mmh..." de certains...)

Post nº10 (id1778) envoyé par hugo  le 23 Jan 2006, 15:15
Q1: démontrerr en se basant sur les tps de propagation que le JK ne peut pas être utilisé en latch (on supprime le détecteur de flanc) => utiliser les chronogrammes et surtout penser à dessiner les flèches comme ds le cours sinon on s'y perd quand on passe devant lui pour tout expliquer.

Q2: une ROM sur une carte d'acquisition, connectée à un connecteur (oui oui) et la lecture est foireuse parce que le tps de montée des bits sur le bus est trop gd => expliquer le prblm du tps de montée. on a ensuite le même schéma mais avec un buffer sur le bus de donnée entre la ROM et le connecteur => expliquer en quoi le buffer peut arranger le système. Le buffer a son OE mis à la masse et quand on utilise le système, le PC plante. Pq? (=> énorme contemption de bus vu que le buffer envoie tjs de l'info même qd la ROM est en haute impédance)et pour finir, savoir reconnaître le décodeur d'adresse ds un boîtier XXX

Post nº9 (id1705) envoyé par nad  le 19 Jan 2006, 14:33
alors ce matin,j'étais la seule à passer cet oral!!
19/01
question 1:

page MONOSTABLE 4528.
Il faut expliquer pourquoi il est stable!!(demo du dessin porte par porte,chargement de la capacité pourquoi à chaque endroit,oui oui,histoire avec vcc/2 et vcc/4)

_pq est-il redéclenchable(attention il ne l'est qu'à partir du moment ou la capacité se recharge....

_ expliquer fonctionnement,jpense que c'est tout pour la première question

question 2:

Comment multiplexer bus 8051 avec d-latch et d-flip-flop.
dire qui est mieux en fonction des setup et hold time et du temps de décodage.

Voili
8h à midi seule dans le labo du UA2,mais je pense que si on était plus nombreux ce se serait fait au UA5,ptit détail.
il est super sympa Mr Mathys :-))
voili
bonne m...

Post nº8 (id1685) envoyé par Nico  le 17 Jan 2006, 15:50
Q1 :
comment allumer une led avec un montage inverseur CMOS alimenté par du 9V et une résistance, la led s'allumant lorque l'entrée de l'inverseur est a l'etat Hi ?
donner le shéma, justifier la présence de la resistance et en calculer sa valeur.

(rép:-il faut mettre la résistance et la diode en série entre Vdd et Vout)
- tjs une resistance avec les diodes, pour limiter le courant.
- pour les calculs il fournit des caractéristiques, ne pas oublier de tenir compte de la chute de tension sur le transo ouvert.)

Q2 :
on veut connecter un ecran LCD a un µC à 24WHz, faire le shema de cablage, il donne des délais pour l'ecran, (ce qu il veut dire qu il faut intercaler un latch pour que l'ecran ai le temps de lire les données...)
pas oublier un décodeur d'adresse, il faut aussi mettre les sortie WE, CS, etc ,

*Spcial* Post nº7 (id1663) envoyé par chombat  le 16 Jan 2006, 14:59
cf Post n°4 (id861) envoyé par Andrei From ML le 22 Jan 2005 à 14:58

voir fichier reponse question 1

Post nº6 (id912) envoyé par Arnaud  le 25 Jan 2005, 12:40
2 questions :

1/ Une espece de boite avec 2 bistables, un condensateur monté en intégrateur,2transistors 2 entrées A et B, un CLear, 2 sorties Q et Q'...
Le style à te casser la tete...
Il faut montrer que dans la configuration qui est donnée le monostable est dans son etat stable.
Montrer cmt le systeme fonctionne... un peu dur à expliquer parcequ'il faut vmt voir le schéma... il y a des retroactions.
Mais en gros, pour un etat d'entrée Low, le condensateur se décharge, passe en Low... une fois que l'etat Low est atteint il y a une retroaction qui va recharge le condensateur et refaire passer la sortie en High.
Montrer qu'il est redéclenchable... les bistables memorise l'entrée... dès que la retroaction passe dans les bistables, le fait de reactiver l'entrée prolonge l'etat instable.

+ faire les signaux d'allure de tension

2/ PC + un périph tout en HCMOS

des problèmes apparaissent :
-Etat erratique qd le periph n'est pas branché
-PAnne totale lorsque l'on branche le systeme... on remarque que les buffers sont grillés.

Causes possibles ? Solutions ?

Je sais plus... mais il faut faire le montage de sorties des buffers avec les transistors...

Post nº5 (id862) envoyé par François  le 22 Jan 2005, 16:42
1) matrice inductance dans une machine à poles saillants: dire sur quelles machines y a cela (rep: MS), expliquer la théorie des deux axes et bien savoir différences entre perméance, réluctance, inductance,...

2) protection de résaux: expliquer le relais ampermétrique dans le cas d'un résaux radial, en fait je sais pas bien ce qu'il voulais mais il m'a posé pleins de petites questions ainsi que sur le schéma ou in démarre un MAS vers la fin des slides.

3) Transfo: expliquer les noyaux de fer. Alors comme je connaissait, il m'a demandé le lien entre le glissement et le rendement d'un MAS.

Conseil: Nous vous amenez pas avec un syllabus vierge d'annotation car il va croire que vous n'avez pas tout lu (je parle en connaissance de cause.
Bien connaitre les fondements de la matière: pouvoir répondre sans regarder dans son syllabus pour la question sru le rendement et le glissement par exemple.

Sur ce bonne mer.. aux prochains.

Post nº4 (id861) envoyé par Andrei From ML  le 22 Jan 2005, 14:58
ELEC344.pdf

Post nº3 (id844) envoyé par Laurent  le 20 Jan 2005, 15:14
QUESTION 1 :
Faire une minuterie (mm:ss) pour un four à microonde.

1) donner le schémas bloque
2) à l'aide de ce qu'on a utilisé au labo et vu au cours, comment réaliseriez-vous chacun des éléments du schémas bloque
3)Quel est la précision de votre minuterie?


QUESTION 2 :
Réalisez le démultiplexage à l'aide
- d'un D-latch (= comme ds le cours :-) )
- d'un D flip flop

Est ce équivalent?

Post nº2 (id801) envoyé par Marie-Aimée  le 18 Jan 2005, 13:01
Voilà, j'ai eu 2 questions:
1. Synthétiser une horloge digital affichant l'heure
et min sous format 24h qui marche avec un quartz de
32khz.( (Après ajouter les jours de 1 à 7). Donc on
demandait de montrer tous les blocs constituant
l'horloge et leur fonction, et de dire les quelles
circuits intégrés vus au cours qu'on pourrait
utiliser...

2. un bistable J-K maître-esclave( même schéma que ds
le cours), donner table de vérité, question sur une
impulsion parasite à l'entrée puis setup§hold time de
ce bistable.

on était 4 et on a eu assez de temps pour y réfléchir.
voilà, bonne chance !


Post nº1 (id772) envoyé par Paille  le 14 Jan 2005, 15:20
Vu sur polytech 2005 :


1)Question chap 5 page 40 : ( " à titre d'exercice ....)

faire chronogramme ac J/K à 1 et clock à 1, on verra apparitre des oscillations de Q et Q'.

2)Schéma de connexion d'un microprocesseur ( cadence à 12Mhz) ac un LCD ( 4 bits de donnés + Write Enables + CS) sachant que le délai entre CS et début d'échantillonage =1,4 microsec

-->directement à un port et puis cmt retardé le microprocesseur ?

Moins généreux que prévu....




Q1. CPT9
determiner sequences de sortie Q0,Q1,Q2,Q3 des toggle en série (jpg en attachment)

ca donne un truc qui, apres un petit temps de stabilisation, oscille entre deux valeurs (10 et 5)
questions supplémentaires sur setup time, hold time


Q2. MUX5
décrypter un alphabet (A-Z, espace, 0-9)
faire le schema bloc d'un decrypteur cablé à base de multiplexeurs
le code entrant doit avoir un nombre de bits minimum
le code sortant des multiplexeurs est un code ascii de 7 bits

37 caracteres => 6 bits (64 valeurs differentes possibles)
7 multiplexeurs pour avoir 7 bits de sortie [Q6 Q5 Q4 Q3 Q2 Q1 Q0], et il faut arranger les D0-D36 (differents pour chaque multiplexeur) pour qu'ils affichents le code ascii correct pour chaque code en 6 bits
par ex si A=010000 en 6bit et 1000001 en 7bit ascii
les bits de selection seront [010000] et donc les 7 bits de sortie seront [D16_6 D16_5 D16_4 D16_3 D16_2 D16_1 D16_0] qui doit etre équivalent à [1000001], donc les D16 du premier et du dernier multiplexeur doivent être mis à 1, et les 5 autres doivent etre mis à 0.

j'espere que ceci sera utile pour ceux à qui il reste encore cet oral
il me semble qu'il donne des questions plus simples au mécas, pasque c'etait franchement pas compliqué du tout


oraux.pnzone.net - infos - 7ms