6Fermer8
ZerosquareLe 07/06/2011 à 21:42
Si grin

En fait :
- quand BOUT est à l'état bas, CLK et /CS sont forcés à l'état bas par le transistor qui est dans la TI
- quand BOUT est à l'état haut, CLK est tiré à l'état haut à travers la résistance de pull-up de la TI, mais /CS reste à l'état bas à cause de C2, et de la D1 qui empêche le courant de passer. /CS remonte à l'état haut tout doucement à travers R1.

Ça implique deux choses :
- les états hauts de BOUT quand /CS est activé doivent être suffisamment bref, sinon on désactive /CS -> il y a une limite de fréquence mini pour CLK, si on considère une horloge avec un rapport cyclique de 50%
- il faut laisser BOUT à l'état haut pendant un certains temps avant que /CS ne soit désactivé -> il y a une limite de temps mini entre deux paquets d'octets

Il y aussi une astuce pour regrouper Data In et Data Out sur la même broche, en utilisant le fait qu'il n'y a jamais de transmission simultanée sur les deux dans le protocole, et que celui qui émet ignore les données reçues pendant ce temps.

C'est crade, mais côté optimisation en nombre de composants, je dois dire que c'est une belle perf love