Core | ||
Drivers | ||
ide-touchgfx-gen | ||
Middlewares/Third_Party/FreeRTOS/Source | ||
src | ||
.cproject | ||
.gitignore | ||
.project | ||
README.md | ||
RealtimeOscilloscope Debug.launch | ||
RealtimeOscilloscope.ioc | ||
STM32F746NGHX_FLASH.ld | ||
STM32F746NGHX_RAM.ld |
Question on tasks
Task 5
Comme prochaine tâche, nous voulons analyser les temps d'exécution des différents composants du logiciel. En principe, nous avons deux composants qui peuvent être exécutés à deux vitesses différentes :
# | Composant | Timing |
---|---|---|
1 | Conversion du signal analogue | 1 kHz ou plus |
2 | Rafraichissement de l'écran | 20 à 60 fois par seconde |
Question 1
Est-ce qu'il est possible d'exécuter le composant #1 avec un XF (ou un RTOS) ? Justifiez votre réponse.
Il vaut mieux utiliser un timer hardward pour aller plus vite
Question 2
Est-ce qu'il est possible d'exécuter le composant #2 avec un XF (ou un RTOS) ? Justifiez votre réponse.
La vitesse d'un XF est largement suffisante. Le temps le plus rapide est de 1/60 = 16,7ms. Avec des ticks toutes les millisecondes, le XF est largement capable
Question 3
Si l'on combine un timer hardware avec un XF, lequel des deux composants doit être priorisé ? Justifiez votre réponse.
La conversion du signal analogue doit être prioritaire. On doit donc mettre la priorité sur le timer hard.
Task 7
Question 1
Combien de mesures [Samples/s] le convertisseur A/D doit-il effectuer par seconde pour pouvoir échantillonner des signaux avec des fréquences jusqu'à 1 kHz ?
Tout dépend de la résolution souhaitée. Il nous faut au miminum 2 fois la fréquence la plus élevée de notre signal. Dans notre cas, il nous faut au minimu fs = 2*1kHz = 2kHz
Question 2
Faut-il un filtre ? Si oui, quelle sera la fréquence de coupure de ce filtre ?
Oui pour éviter les fréquences de repliement. Il faut le dimensionner à Fs/2
Question 3
Est-ce la fréquence donnée par le théorème d’échantillonnage ou devrait-elle être plus élevée ?
Il nous faudra beaucoup plus que 2 points par sinus. Tout dépend de la résolution souhaitée
Question 4
Lequel des canaux du ADC3 doit être utilisé pour pouvoir mesurer / échantillonner le signal à l'aide de la broche PA0 ?
Il faut utiliser le chanal ADC3_IN0
Question 5
Est-ce que le ADC pourrait éventuellement effectuer des mesures à des intervalles réguliers à l'aide de ses propres moyens ?
Pour que l'ADC effectue des mesures par ses propres moyens il faudrait le mettre en mode continu. Mais se ne serait pas à interval régulier, il effectuerait une mesure dès la précédente terminée.
Task 13
Question 1
Quelle fréquence d'échantillonage peut-être atteinte ?
On peut monter au maximum a une fréquence d'échantillonage de 320kHz
Question 2
Quel(s) composant(s) limite(nt) le système ?
Le processeur serait toujours en train de faire une mesure avec l'adc et ne pourrait plus afficher le signal
Task 14
Question 1
Quelle est maintenant la fréquence d'échantillonnage maximal ?
Grâce au caches, on peut monter maintenant jusqu'à une fréquence d'échantillonnage maxima de 500kHz
Question 2
D'environ combien de pourcent la cache I et D améliore-t-elle la réactivité du système ?
~54%