Blame view

rapportS8/progPDI 2.18 KB
4052309d   BYaoKnight   dernier commit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
  Programmation PDI
  La programmation PDI se fait sur une interface physique spécifique composé de 2 fils, PDI_DATA pour une communication série bidirectionnelle, et PDI_CLK pour l'horloge afin de synchroniser la communication. Le protocole, quant à lui, repose sur des trames de 12bits. Il est existe trois types de trames DATA, IDLE et BREAK. la trame DATA est composé d'un bit de démarrage (0), 8 bits de données, un bit de parité pair, 2 bits fin (11).
  	Les trames IDLE et BREAK ne respectent pas exactement cette structure. BREAK est une trame composé d'un minimum de 12 "0". Dans son usage, cette trame ne peut être envoyé que par le programmeur, et est attendu par le microcontroleur en cas de collision. IDLE est est une trame composé d'un minimum de 12 "1", mais dans son usage, un ou plusieurs bits "1" servent plus de temporisation entre trames pour s'assurer que le controleur PDI ait le temps de faire son travail. De plus, suite à certaines commandes qui supposent une réponse de la part du controlleur PDI, il est nécessaire d'observer un temps de sécurité. Ce temps de sécurité configurable doit donc être rempli par entre 2 et 128 (défaut) "1".
  
  	Les trames DATA peuvent être classées en trois catégories : les instructions, les compléments d'instructions, et les retours d'instructions.
  Il existe 8 instructions dans le protocole PDI : [PDI instruction set.png]
  
  REPEAT
  trame complète: 1° octet suivi de size B octets indiquant le nombre de répétition.
  Cette instruction permet de répéter un nombre (donné par les octets suivant le premier) de fois l'instruction qui la succédera. Attention l'instruction sera répétée avec les mêmes opérandes.
  
  KEY
  trame complète: 1°octet suivi d'un octet contenant la clé pour dévérouiller l'accès au controlleur NVM (voir ci après).
  
  LD/ST
  trame complète: 1° octet suivi (d'un retour -pour LD-) de size A octets
  
  LDS/STS
  trame complète: 1°octet suivi de size A octets pour l'adresse à lire ou écrire, suivi (d'un retour -pour LDS-) de size B octets.
  
  LDCS/STCS
  trame complète: 1° octet suivi (d'un retour -pour LDCS-) de size 1 octet
  
  
  
  
  
  
  Les instructions commençant par LD (load) supposent un retour.
  Les instructions ST et LD