Étape 2: Modules de Conseil
Afin d’effectuer les mesures décrites dans l’étape précédente, le jury FPGA besoin de plusieurs modules qui a effectué les tâches nécessaires de façon séquentielle. Cela signifie que la plupart des modules devra partager le même signal d’horloge et chronométré afin qu’ils fonctionnent en harmonie. Cela se fait en reliant les entrées et sorties des modules multiples de machine à états finis. Cela signifie que notre mise en oeuvre finale était très différente de notre prévision initiale. Inclus ci-dessous sont des descriptions en détail de ce que fait chaque module, ainsi que des exemples de fichiers VHDL pour les modules, ainsi que certains modules conçus pour tester la fonctionnalité du circuit.
CONTRÔLE
Le module de contrôle contrôle les autres machines d’état fini au Conseil d’administration. Ceci assure que tout est programmé correctement afin qu’aucun boucles infinies qui empêchent le fonctionnement du circuit se produisent. Cela se fait en ayant le bloc de commande à envoyer un signal à un autre module (le module de balayage), disant qu’il fasse quelque chose. Le bloc de contrôle attend une réponse de l’autre module avant de continuer. Il appelle alors le module suivant (FIND module) une fois qu’il reçoit une réponse pour continuer le processus. Ensuite, suivant le succès du bloc de recherche, le contrôle bloquer puis soit décrémente ou réinitialise la tension de référence de la comparaison. Cela garantit que les autres modules uniquement une action lorsqu’il est absolument nécessaire.
SCAN
Le module de balayage est celui qui scanne dans les données des capteurs des capteurs externes. Il fait ceci en contrôlant le signal SEL qui est sortie vers les multiplexeurs externes et en contrôlant le module interne de DMFLOP à l’aide d’un signal EN et SEL. Le module attend un signal dans le bloc de contrôle et commence l’analyse quand il le reçoit. Il passe par toutes les valeurs valides de SEL et permet au module DMFLOP afin qu’il stocke les valeurs dans un registre. Une fois que toutes les valeurs sont stockées, il renvoie un signal DONE pour le bloc de contrôle.
TROUVER
Le module de recherche trouve une valeur de capteur maximale de la numérisées dans les données du capteur. Une fois qu’il reçoit un signal depuis le bloc de contrôle, le module de recherche recherche une valeur « 1 » dans les valeurs du capteur, qui indique la tension du capteur est supérieure à la tension de référence pour ce capteur spécifique. Puis, elle renvoie une valeur de 7 bits qui est liée à la position de la valeur « 1 » dans le tableau de données de capteur. S’il ne trouve pas un « 1 », il retourne un succès pour le bloc de contrôle. Si aucun 1 ne sont trouvés dans les données, un signal de défaut est envoyé vers le bloc de contrôle.
DMFLOP
Le module DMFLOP est un registre spécialisé flip flop qui accepte une entrée fr et SEL à partir du bloc d’analyse. Il utilise ces signaux demux les entrées provenant de l’extérieur muxes et les stocker dans le registre. Ce module est important parce que les blocs de SCAN et trouver l’exigent pour le circuit de travailler.
PRINCIPAL
Le module principal encapsule les modules de contrôle, analyse, trouver et DMFLOP dans un seul module. Cela garantit les modules que tous reçoivent le même signal d’horloge et rend les modules beaucoup plus faciles d’intégrer d’autres circuits. Le module principal exige seulement un signal d’horloge unique et la participation de 3 bits des comparateurs externes. Ses sorties sont le signal SEL et deux signaux d’obligation de 7 bits pour le moteur et signaux PWM de tension de référence.
RÉF
Le module REF prend sorties provenant du module de contrôle pour déterminer quelle est la valeur de la tension de référence PWM doit être devoir de 7 bits. Il est capable de décrémenter la tension ou la remettre à sa tension maximale, selon la sortie du module de contrôle.
PWM
Le module PWM génère un signal modulé de largeur d’impulsion qui est émis à une des sorties du Conseil directement. Le module tire un signal d’obligation 7 bits qui représente le rapport cyclique du signal PWM. La fréquence du signal PWM est déterminée par le signal d’horloge fourni au module. Ce module est utilisé pour générer la tension de référence et les signaux PWM moteurs.
CLK_DIV
Le module CLK_DIV est un diviseur d’horloge. Il génère un signal d’horloge avec une fréquence égale à la fréquence d’horloge d’entrée divisée par un nombre entier. La valeur entière peut être changée en modifiant une valeur dans le fichier de vhdl diviseur horloge. Un diviseur d’horloge est nécessaire pour le signal d’horloge module principal, ainsi que pour le module PWM moteur. Crédit pour créer le module CLK_DIV va à Bryan Mealy.
TEST/MUX
Les modules TEST et MUX testent des modules pour le circuit.