lundi 9 décembre 2013

PIC24F16KA101 et MSP430G2553

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ètrePIC24F16KA101MSP430G2553
architecture16 bits Harvard modifiée16 bits Von Neumann
FLASH Ko1616
RAM bytes1536512
EEPROM bytes512256
(information memory)
Tcy nSec62,562,5
encodage24bits16bits
interruptionsmulti-niveaux,
priorité programmable
multin-iveaux
priorité fixe
multiplicationmatériellelogicielle
divisionmatérielle/logiciel 19Tcyentièrement logicielle
registres 16 bits16
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 exceptionsoui
8 vecteurs 0-7
oui
2 vecteurs 30-31
nombre d'arguments
instructions assembleur
0,1,2,30,1,2
UART2
support LIN
2
support LIN
IrDAouioui
minuteries32
PWM15
ADC10bits
9 canaux 500KSPS
10bits
8 canaux 200KSPS
cap senseoui
9 entrées
oui
16 entrées
SPI11
I2C11
RTCCouinon
CRCouinon
LFOouioui
crystal 32Khzouioui
crystal HFouinon
E/S digitales1816
boot loader ROMnonoui
prix Digikey.ca3,30$CAN3,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:

Enregistrer un commentaire