J'ai consacré plusieurs articles sur ce blog au msp430 launchpad parce que je suis très enthousiasmé par ce produit considérant son prix. Mais à ce moment là je n'avais jamais travaillé avec les PIC24 et franchement ceux-ci me plaisent encore plus. Dans cette article je fais une comparaison entre les deux.
comparatif PIC24F16KA101 et MSP430G2553 format PDIP-20
paramètre | PIC24F16KA101 | MSP430G2553 |
---|---|---|
architecture | 16 bits Harvard modifiée | 16 bits Von Neumann |
FLASH Ko | 16 | 16 |
RAM bytes | 1536 | 512 |
EEPROM bytes | 512 | 256 (information memory) |
Tcy nSec | 62,5 | 62,5 |
encodage | 24bits | 16bits |
interruptions | multi-niveaux, priorité programmable | multin-iveaux priorité fixe |
multiplication | matérielle | logicielle |
division | matérielle/logiciel 19Tcy | entièrement logicielle |
registres 16 bits | 16 2 réservés stack (W15) et frame (W14) | 16 4 réservés compteur ordinal (R0) états (R1) pointeur de pile(R2) constantes (R3) |
gestions des exceptions | oui 8 vecteurs 0-7 | oui 2 vecteurs 30-31 |
nombre d'arguments instructions assembleur | 0,1,2,3 | 0,1,2 |
UART | 2 support LIN | 2 support LIN |
IrDA | oui | oui |
minuteries | 3 | 2 |
PWM | 1 | 5 |
ADC | 10bits 9 canaux 500KSPS | 10bits 8 canaux 200KSPS |
cap sense | oui 9 entrées | oui 16 entrées |
SPI | 1 | 1 |
I2C | 1 | 1 |
RTCC | oui | non |
CRC | oui | non |
LFO | oui | oui |
crystal 32Khz | oui | oui |
crystal HF | oui | non |
E/S digitales | 18 | 16 |
boot loader ROM | non | oui |
prix Digikey.ca | 3,30$CAN | 3,19$CAN |
Biens que le PIC24F16KA101 peut fonctionner avec un oscillateur 32Mhz alors que le MSP430G2553 est limité à 16Mhz leur Tcy est le même car le PIC24F16KA101 utilise 2 cycles d'oscillateur par Tcy. La mémoire flash est de 16Ko dans les 2 cas mais le PIC utilise 3 octets par instructions alors que le MSP430 en utilise 2. Cependant le fait que le PIC24 peut utiliser un argument en mémoire RAM pour plusieurs de ses instructions il n'est pas forcément désavantagé en ce qui concerne la densité de code, pour savoir ce qu'il en est il faudrait faire des comparaisons sur plusieurs échantillons de code.
Il est évident que la multiplication en matériel ainsi que le support matériel à la division est un gros avantage en faveur du PIC24.
On a aussi un avantage pour le PIC24 en ce qui concerne le convertisseur ADC qui peut lire 500000 échantillons par seconde contre 200000 pour le MSP430. Par contre le MSP430 bénéficie d'un canal DMA sur le convertisseur.
Du côté de la gestion des exceptions et des interruptions le PIC24F est nettement avantagé par la programmabilité de la priorité des interruptions et les registres shadow. Mais il utilise beaucoup plus de mémoire flash pour les 2 tables de vecteurs, 512 octets contre 192 pour le MSP430.
Le code généré par le compilateur C de l'IDE CCS5 de TI et le compilateur XC8 de Microchip avec niveau d'optimisation à 1 est de bonne qualité dans les 2 cas mais encore là il faudrait faire des tests comparatifs entre les 2 pour avoir une idée exacte de la performance de chacun. Évidemment pour les programmes utilisant multiplications et divisions le PIC24F est avantagé.
Conclusion
Si les PIC 8 bits souffrent d'une architecture archaïque, surtout les versions baseline et midrange les plus gros défauts ayant été corrigés sur les PIC18, ce serait une erreur de se détourner des PIC24 à cause de leur petits frères à 8 bits. Les PIC24F n'ont rien d'archaïque et ont de nombreux avantages par rapports aux MSP430. Bien que mon expérience avec ces MCU est récente je trouve jusqu'ici l'expérience satisfaisante. Se familiariser avec une famille de MCU demande du temps. Il est donc avantageux de demeurer avec le même fournisseur car la nomenclature est uniforme et la programmation des périphériques est très semblable d'un famille à l'autre. L'effort est donc moindre. Et les coûts aussi puisque le même programmeur peut servir pour toutes les familles de MCU 8,16,32 bits et l'économique pickit 2 peut aussi programmer certains PIC24F comme c'est le cas pour le PIC24F16KA101. Si vous travaillez avec des PIC24/dsPIC30/dsPIC33 et qu'ensuite vous passez au PIC32MX vous allez trouver la transition facile surtout si vous programmez en C. Et si vous aimez travaillez avec des cartes de développement sans soudure, Microchip est le manufacturier qui offre la plus large gamme en format PDIP et ce sur toutes les familles 8,16,32 bits.
Aucun commentaire:
Publier un commentaire
Remarque : Seuls les membres de ce blogue sont autorisés à publier des commentaires.