Sciences et Technologies de Laboratoire
M2C3T1
DébutUARTDataloggingDHT22BMP180GPSGPS+LCDGPS KiwiFinal

Test de la liaison UART

Le GPS communique grâce à des trames NMEA qu'il transmet par une liaison UART.

Nous avons voulu savoir comment fonctionnait physiquement la liaison UART.

Pour cela nous avons transmis le caractère "a" et observé à l'oscilloscope la patte Tx d'un Arduino Uno.

Le code ASCII du caractère a est 97, soit 61 en hexadécimal, soit 0110 0001 en binaire.

Commentaire de l'oscillogramme obtenu :

  • A : Bit de Stop de la trame précédente
  • B : Bit de start de la nouvelle trame  a = (MSB)0110 0001(LSB),
                                                soit à l'envers (LSB)1000 0110(MSB)
  • les 4 bits de poids faible : C (LSB=1)  D (0)  E (0)   F (0)
  • les 4 bits de poids fort :     G (0)  H (1)   I (1)   J (MSB=0)
  • K : Bit de Stop de la trame étudiée

arduino code

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
// Visualisation d'une trame série à l'oscilloscope

void setup() {
 Serial.begin(8000);
// Oscilloscope entre Tx->1 et GND calibre : 250 µs:div
}
void loop() {
  //Nous envoyons le caractère "a" code ASCII : 97d soit 61h soit 0110 0001b
  // suivi d'un caractère nul pour bien isoler le "a" à l'oscilloscope
  Serial.write(97); // idendique à Serial.print("a");
  // Trame de  10 bits : Start : 0/LSB:1/0/0/0/0/1/1/MSB:0/Stop:1
  // durée de transmission d'un bit : 1/8000 = 0,125 ms = 125 µs soit 1/2 div
  // durée de la trame : 10*0.125ms = 1,25 ms   pour un octet soit 8000 octets à la seconde
  Serial.write(0);
  }