Processeur Blackfin : architecture, fonctionnalités et applications

Essayez Notre Instrument Pour Éliminer Les Problèmes





Le processeur Blackfin a été conçu, développé et commercialisé par Analog Devices et Intel sous le nom de Micro Signal Architecture (MSA). L'architecture de ce processeur a été annoncée en décembre 2000 et démontrée pour la première fois à l'ESC ( Systèmes embarqués Conference) en juin 2001. Ce processeur Blackfin a été principalement conçu pour répondre aux contraintes de puissance et aux exigences de calcul des applications audio, vidéo et de communication embarquées actuelles. Cet article donne un aperçu d'un Processeur Blackfin – l'architecture et ses applications.


Qu'est-ce que le processeur Blackfin ?

Le processeur Blackfin est un 16 ou 32 bits microprocesseur qui inclut une fonctionnalité DSP à virgule fixe intégrée fournie via des MAC 16 bits (multiplication-accumulation). Ces processeurs ont été principalement conçus pour une architecture de processeur combinée à faible consommation d'énergie qui peut exécuter le système d'exploitation tout en gérant simultanément des tâches numériques difficiles comme l'encodage vidéo H.264 en temps réel.



Ce processeur combine une fonctionnalité de traitement de signal RISC 32 bits et double MAC 16 bits en utilisant facilement les attributs que l'on trouve dans les microcontrôleurs à usage général. Ainsi, cette combinaison d'attributs de traitement permet aux processeurs Blackfin d'obtenir des performances similaires dans les applications de traitement de contrôle et de traitement du signal. Cette capacité simplifie grandement les tâches de mise en œuvre de la conception matérielle et logicielle.

  Processeur Blackfin
Processeur Blackfin

Caractéristiques des nageoires noires :

  • Ce processeur a une architecture de jeu d'instructions unique, y compris des performances de traitement qui répondent/battent simplement la gamme de produits de processeur de signal numérique ou DSP pour fournir un meilleur coût, puissance et efficacité de la mémoire.
  • Ce processeur d'architecture 16 ou 32 bits autorise simplement les futures applications embarquées.
    Multimédia, traitement du signal et contrôle dans un seul noyau.
  • Cela augmente la productivité des développeurs.
  • Il offre des performances réglables tout au long de la gestion dynamique de l'alimentation pour la consommation d'énergie ou le traitement du signal.
  • Il est adopté très rapidement dans diverses conceptions qui sont simplement prises en charge par plusieurs chaînes d'outils ainsi que des systèmes d'exploitation.
  • Il nécessite une optimisation minimale en raison de l'environnement de développement de logiciels puissants couplés à des performances de base.
  • Le processeur Blackfin prend en charge les outils de développement de pointe.
  • Les performances de ce processeur et la moitié de la puissance des DSP concurrents permettent des spécifications avancées et de nouvelles applications.

Architecture du processeur Blackfin

Le processeur Blackfin offre à la fois les fonctionnalités d'un microcontrôleur et traitement des signaux numériques au sein d'un seul processeur en permettant la flexibilité. Ainsi, ce processeur comprend un processeur SIMD (single instruction multiple data) comprenant certaines fonctionnalités telles que la longueur variable RISQUE instructions, minuterie de surveillance, PLL sur puce, unité de gestion de la mémoire, horloge en temps réel, ports série avec 100 Mbps, UART contrôleurs et IPS ports.



La MMU prend en charge plusieurs DMA canaux pour transférer des données entre les périphériques et les sous-systèmes de mémoire FLASH, SDRAM et SRAM. Il prend également en charge les caches de données et les instructions configurables sur puce. Le processeur Blackfin est un matériel simple qui prend en charge les opérations arithmétiques 8, 16 et 32 ​​bits.

L'architecture Blackfin est principalement basée sur l'architecture du micro-signal et a été développée conjointement par ADI (Analog Devices) et Intel, qui comprend un jeu d'instructions RISC 32 bits et un jeu d'instructions vidéo 8 bits avec double multiplication-accumulation 16 bits. (MAC).

  PCBWay   Architecture du processeur Blackfin
Architecture du processeur Blackfin

Les appareils analogiques sont capables d'atteindre un équilibre entre les exigences DSP et MCU grâce à l'architecture du jeu d'instructions de Blackfin. Généralement, le processeur Blackfin est couplé aux puissants outils de développement logiciel VisualDSP++ mais maintenant en utilisant C ou C++, il est possible de produire du code très efficace très facilement qu'auparavant. Pour les exigences en temps réel, la prise en charge du système d'exploitation devient critique, donc le Blackfin prend en charge un non. des systèmes d'exploitation et de la protection de la mémoire. Le processeur Blackfin est disponible à la fois en monocœur comme les modèles BF533, BF535 et BF537 et en double cœur comme les modèles BF561.

L'architecture du processeur Blackfin comprend différents périphériques sur puce comme un PPI (Parallel Peripheral Interface), SPORTS (Serial Ports), SPI (Serial Peripheral Interface), UART (Universal Asynchronous Receiver Transmitter), des minuteries à usage général, RTC (Real-Time Horloge), minuteur de chien de garde, E/S à usage général (drapeaux programmables), Interface de réseau de zone de contrôleur (CAN) , Ethernet MAC, périphériques DMA -12, mémoire à mémoire DMA -2, y compris prise de contact DMA, contrôleur TWI (interface à deux fils), un débogage ou JTAG Interface et gestionnaire d'événements avec 32 Couper la parole Contributions. Tous ces périphériques de l'architecture sont simplement connectés via différents bus à large bande passante au cœur. Ainsi, une description de certains de ces périphériques est donnée ci-dessous.

PPI ou interface périphérique parallèle

Le processeur Blackfin fournit simplement un PPI également connu sous le nom d'interface périphérique parallèle. Cette interface est directement connectée aux convertisseurs parallèles analogique-numérique et numérique-analogique, aux encodeurs vidéo et aux décodeurs, ainsi qu'à d'autres périphériques à usage général.

Cette interface comprend une broche CLK d'entrée dédiée, trois broches de synchronisation de trame et 16 broches de données. Ici, la broche CLK d'entrée prend simplement en charge des débits de données parallèles égaux à la moitié de la vitesse CLK du système. Trois modes ITU-R 656 différents ne prennent en charge que la vidéo active, la suppression verticale et le champ complet.

Les modes d'usage général du PPI sont donnés pour s'adapter à un large éventail d'applications de transmission et de capture de données. Ces modes sont donc séparés en catégories principales Réception de données via des synchronisations de trame générées en interne, Transmission de données via des synchronisations de trame générées en interne, Transmission de données via des synchronisations de trame générées en externe et Données reçues via des synchronisations de trame générées en externe.

Des sports

Le processeur Blackfin comprend deux ports série synchrones à double canal SPORT0 et SPORT1 utilisés pour les communications série et multiprocesseur. Il s'agit donc d'un port série haute vitesse et synchrone qui prend en charge I²S , TDM et divers autres modes de cadrage configurables pour la connexion DAC , ADC, FPGA & autres processeurs.

SPI ou port d'interface périphérique série

Le processeur Blackfin comprend un port SPI qui permet au processeur de converser avec divers appareils compatibles SPI. Cette interface utilise simplement trois broches pour transmettre des données, les broches de données-2 et une broche CLK. Les broches d'entrée et de sortie sélectionnées du port SPI donnent simplement une SSI (interface série synchrone) en duplex intégral qui prend en charge les modes maître et esclave ainsi que les environnements multi-maîtres. Le débit en bauds de ce port SPI et la phase ou les polarités de l'horloge sont programmables. Ce port dispose d'un contrôleur DMA intégré qui prend en charge la transmission/réception de flux de données.

Minuteries

Le processeur Blackfin dispose de 9 minuteries programmables. Ces temporisateurs génèrent des interruptions au cœur du processeur pour fournir des événements périodiques destinés à la synchronisation à l'horloge du processeur ou à un comptage de signaux externes.

UART

Le terme UART signifie port «émetteur-récepteur asynchrone universel». Le processeur Blackfin fournit 2 ports UART semi-duplex, parfaitement adaptés aux UART standard PC. Ces ports fournissent simplement une interface UART de base à d'autres hôtes ou périphériques pour fournir des transferts de données série asynchrones semi-duplex pris en charge par DMA.

Les ports UART comprennent 5 à 8 bits de données et 1 ou 2 bits d'arrêt et ils prennent en charge 2 modes de fonctionnement comme les E/S programmées et DMA. Dans le premier mode, le processeur transmet ou reçoit des données via la lecture/écriture de registres mappés d'E/S, partout où les données sont mises en mémoire tampon deux fois en émission et en réception. Dans le second mode, le contrôleur DMA transmet et reçoit des données et diminue le nombre d'interruptions nécessaires pour transmettre des données de et vers la mémoire.

RTC ou horloge en temps réel

L'horloge en temps réel du processeur Blackfin fournit simplement différentes fonctionnalités comme un chronomètre, l'heure actuelle et une alarme. Ainsi, l'horloge en temps réel est cadencée avec un cristal de 32,768 kHz externe au processeur Blackfin. Le RTC dans le processeur a des broches d'alimentation, qui peuvent rester sous tension et cadencées même une fois que le reste du processeur Blackfin est dans un état de faible puissance. L'horloge en temps réel fournit un certain nombre d'options d'interruption programmables. La fréquence CLK d'entrée de 32,768 kHz est séparée en un signal de 1 Hz via un prédiviseur. Semblable aux autres appareils, l'horloge en temps réel peut réveiller le processeur Blackfin du mode veille profonde/mode veille.

Minuterie de chien de garde

Le processeur Blackfin dispose d'une minuterie de surveillance 32 bits, utilisée pour exécuter une fonction de surveillance logicielle. Ainsi, le programmeur initialise la valeur de comptage de la minuterie qui permet l'interruption appropriée, puis autorise la minuterie. Après cela, le logiciel doit recharger le compteur avant qu'il compte de la valeur programmée à « 0 ».

GPIO ou E/S à usage général

Un GPIO est une broche de signal numérique utilisée comme entrée, sortie ou les deux et contrôlée par logiciel. Le processeur Blackfin comprend des broches GPIO (E/S à usage général), 48 bidirectionnelles sur 3 modules GPIO distincts tels que PORTFIO, PORTHIO et PORTGIO connectés respectivement au port G, au port H et au port F. Chaque broche de port à usage général est contrôlée individuellement par la manipulation des registres d'état, de contrôle de port et d'interruption tels que GPIO DCR, GPIO CSR, GPIO IMR et GPIO ISR.

MAC Ethernet

Le périphérique Ethernet MAC du processeur Blackfin fournit 10 à 100 Mb/s entre une MII (Media Independent Interface) et le sous-système périphérique de Blackfin. Le MAC fonctionne simplement en mode Full-Duplex et Half-Duplex. Le contrôleur d'accès au support est cadencé en interne à partir de la broche CLKIN du processeur.

Mémoire

La mémoire de l'architecture du processeur Blackfin fournit simplement les blocs de mémoire de niveau 1 et de niveau 2 dans la mise en œuvre de l'appareil. La mémoire de L1, comme la mémoire de données et d'instructions, est simplement connectée directement au cœur du processeur, fonctionne à la vitesse CLK complète du système et fournit des performances système maximales pour les segments critiques de l'algorithme temporel. La mémoire L2, comme la mémoire SRAM, est plus grande, ce qui offre des performances un peu réduites, cependant, elle est toujours plus rapide par rapport à la mémoire hors puce.

La structure de la mémoire L1 est implémentée pour fournir les performances nécessaires au traitement des signaux tout en proposant des programmes dans des microcontrôleurs. Ceci est réalisé en permettant simplement à la mémoire L1 d'être agencée en tant que SRAM, cache, sinon une combinaison des deux.

En prenant en charge les modèles de programmation du cache et de la SRAM, les concepteurs du système attribuent des ensembles de données critiques de traitement du signal en temps réel nécessitant une faible latence et une bande passante élevée dans la SRAM, tout en stockant le contrôle en temps réel ou les tâches du système d'exploitation dans la mémoire cache.

Modes de démarrage

Le processeur Blackfin comprend six mécanismes pour le chargement automatique de la mémoire d'instructions L1 interne après une réinitialisation. Ainsi, les différents modes de démarrage incluent principalement ; Mode de démarrage à partir de la mémoire flash extérieure 8 bits et 16 bits, mémoire SPI série. Le périphérique hôte SPI, UART, mémoire TWI série, hôte TWI et fonctionne à partir de la mémoire externe 16 bits, en contournant la série de démarrage. Pour chacun des 6 premiers modes de démarrage, un en-tête de 10 octets est d'abord lu à partir d'un dispositif de mémoire externe. Ainsi, l'en-tête indique le non. d'octets à transmettre et l'adresse mémoire de destination. Plusieurs blocs de mémoire peuvent être chargés via n'importe quelle série de démarrage. Lorsque tous les blocs sont simplement chargés, l'exécution du programme commence à partir du début de l'instruction L1 SRAM.

Modes d'adressage

Les modes d'adressage du processeur blackfin déterminent simplement comment une mémoire d'accès individuelle et l'adressage doivent spécifier un emplacement. Les modes d'adressage utilisés dans le processeur blackfin sont l'adressage indirect, l'auto-incrémentation/décrémentation, la post-modification, l'indexation avec décalage immédiat, la mémoire tampon circulaire et l'inversion de bit.

Adressage indirect

Dans ce mode, le champ d'adresse dans l'instruction inclut l'emplacement de la mémoire ou du registre partout où l'adresse de l'opérande efficace est présente. Cet adressage est classé en deux catégories comme Register Indirect & Memory Indirect.

Par exemple CHARGER R1, @300

Dans l'instruction ci-dessus, l'adresse effective est simplement stockée à l'emplacement de mémoire 300.

Auto-incrémentation/décrémentation de l'adressage

L'adressage à incrémentation automatique met simplement à jour le pointeur ainsi que les registres d'index après le droit d'entrée. Le montant de l'incrément dépend principalement de la taille de la taille du mot. L'accès au mot 32 bits peut résulter de la mise à jour du pointeur avec '4'. Un accès par mot de 16 bits met à jour le pointeur avec « 2 » et un accès par mot de 8 bits met à jour le pointeur avec « 1 ». Les opérations de lecture à la fois sur 8 bits et 16 bits peuvent indiquer une extension par zéro ou une extension par signe du contenu dans le registre cible. Les registres de pointeur sont principalement utilisés pour les accès 8, 16 et 32 ​​bits, tandis que les registres d'index ne sont utilisés que pour les accès 16 et 32 ​​bits.

Par exemple : R0 = W [ P1++ ] (Z) ;

Dans l'instruction ci-dessus, un mot de 16 bits se charge dans un registre de destination de 32 bits à partir d'une adresse pointée via le registre de pointeur 'P1'. Après cela, le pointeur est augmenté de 2 et le mot est '0' étendu pour remplir le registre de destination 32 bits.

De même, la décrémentation automatique fonctionne en diminuant l'adresse après le droit d'entrée.

Par exemple : R0 = [ I2– ] ;

Dans l'instruction ci-dessus, une valeur de 32 bits se charge dans le registre de destination et réduit le registre d'index de 4.

Adressage post-modification

Ce type d'adressage utilise simplement la valeur dans les registres Index/Pointeur comme l'adresse efficace. Après cela, il le modifie avec le contenu du registre. Les registres d'index sont simplement changés avec des registres modifiés tandis que les registres de pointeur sont changés par d'autres registres de pointeur. Comme les registres de destination, l'adressage de type post-modification ne prend pas en charge les registres de pointeur.

Par exemple : R3 = [ P1++P2 ] ;

Dans l'instruction ci-dessus, une valeur de 32 bits est chargée dans le registre 'R3' et trouvée dans l'emplacement de mémoire pointé par le registre 'P1'. Après cela, la valeur dans le registre 'P2' est ajoutée à la valeur dans le registre P1.

Indexé avec décalage immédiat

L'adressage indexé permet simplement aux programmes d'obtenir des valeurs à partir de tables de données. Le registre Pointer est modifié par le champ immédiat, après quoi il est utilisé comme adresse effective. Ainsi, la valeur du registre Pointer n'est pas mise à jour.

Par exemple, si P1 = 0x13, alors [P1 + 0x11] serait efficacement équivalent à [0x24], qui est associé à tous les accès.

Adressage inverse des bits

Pour certains algorithmes, les programmes nécessitent un adressage bit-reversed carry pour obtenir des résultats dans l'ordre séquentiel, notamment pour les calculs FFT (Fast Fourier Transform). Pour satisfaire aux exigences de ces algorithmes, la fonction d'adressage inversé des bits des générateurs d'adresses de données permet à plusieurs reprises de subdiviser les séries de données et de stocker ces données dans un ordre inversé.

Adressage de tampon circulaire

Le processeur Blackfin fournit une fonctionnalité telle que l'adressage circulaire facultatif qui augmente simplement un registre d'index d'une plage prédéfinie d'adresses, après quoi il réinitialise automatiquement les registres d'index pour répéter cette plage. Ainsi, cette fonctionnalité améliore les performances de la boucle d'entrée/sortie en supprimant simplement le pointeur d'index d'adresse à chaque fois.

L'adressage de tampon circulaire est très utile lors du chargement ou du stockage répété d'une chaîne de blocs de données de taille fixe. Le contenu du buffer circulaire doit répondre à ces conditions :

  • La longueur maximale de la mémoire tampon circulaire doit être un nombre non signé d'une magnitude inférieure à 231.
  • La magnitude du modificateur doit être inférieure à la longueur du tampon circulaire.
  • Le premier emplacement du pointeur 'I' doit être dans le tampon circulaire défini par la longueur 'L' et la base 'B'.

Si l'une des conditions ci-dessus n'est pas satisfaite, le comportement du processeur n'est pas spécifié.

Enregistrez le fichier du processeur Blackfin

Le processeur Blackfin comprend trois fichiers de registre définitifs comme; Fichier de registre de données, fichier de registre de pointeur et registre DAG.

  • Le fichier de registre de données collecte les opérandes à l'aide des bus de données utilisés pour les unités de calcul et stocke les résultats de calcul.
  • Le fichier de registre de pointeurs comprend des pointeurs utilisés pour les opérations d'adressage.
  • Les registres DAG gèrent les tampons circulaires sans surcharge utilisés pour les opérations DSP.

Le processeur Blackfin offre une gestion de l'alimentation et des performances de première classe. Ceux-ci sont conçus avec une méthodologie de conception basse tension et faible puissance qui est capable de faire varier à la fois la tension et la fréquence de fonctionnement pour réduire considérablement l'utilisation globale de la puissance. Cela peut donc entraîner une diminution considérable de l'utilisation de l'énergie, par rapport à une simple modification de la fréquence de fonctionnement. Cela permet donc simplement de prolonger la durée de vie de la batterie pour les appareils pratiques.

Le processeur Blackfin prend en charge différentes mémoires externes telles que DDR-SDRAM, SDRAM, flash NAND, SRAM et NOR flash. Certains processeurs Blackfin comprennent également des interfaces de stockage de masse telles que SD/SDIO et ATAPI. Ils peuvent également prendre en charge 100 mégaoctets de mémoire dans l'espace de la mémoire externe.

Avantages

La avantages du processeur Blackfin inclure les éléments suivants.

  • Les processeurs Blackfin offrent des avantages de base au concepteur du système.
  • Le processeur Blackfin offre une flexibilité logicielle ainsi qu'une évolutivité pour les applications convergentes telles que le traitement audio, vidéo, voix et image en multiformat, la sécurité en temps réel, le traitement de contrôle et le traitement de paquets en bande de base multimode
  • La capacité de traitement de contrôle efficace et le traitement du signal haute performance permettent différents nouveaux marchés et applications.
  • Le DPM (Dynamic Power Management) permet au concepteur du système d'adapter en particulier la consommation électrique de l'appareil aux exigences du système final.
  • Ces processeurs réduisent considérablement le temps et les coûts de développement.

Applications

La applications du processeur Blackfin inclure les éléments suivants.

  • Les processeurs Blackfin sont idéaux pour de nombreuses applications comme ADAS (systèmes avancés d'aide à la conduite automobile) , systèmes de surveillance ou de sécurité & vision industrielle.
  • Les applications Blackfin incluent les systèmes de contrôle de servomoteurs, l'électronique automobile, les systèmes de surveillance et les appareils grand public multimédia.
  • Ces processeurs exécutent simplement des fonctions de microcontrôleur et de traitement du signal.
  • Ceux-ci sont utilisés pour l'audio, le contrôle de processus, l'automobile, les tests, les mesures, etc.
  • Les processeurs Blackfin sont utilisés dans les applications de traitement du signal telles que les appareils Internet sans fil à large bande, les communications mobiles et les appareils audio ou vidéo.
  • Blackfin est utilisé dans des applications convergentes telles que les médias en réseau et en streaming, le divertissement numérique à domicile, la télématique automobile, l'infodivertissement, la télévision mobile, la radio numérique, etc.
  • Le processeur Blackfin est un processeur intégré qui a l'efficacité énergétique et les performances les plus élevées utilisées dans les applications où la voix multiformat, l'audio, la vidéo, la bande de base multimode, le traitement d'image, le traitement de paquets, la sécurité en temps réel et le traitement de contrôle sont importants.

Ainsi, c'est un aperçu du processeur Blackfin – architecture, avantages & ses applications. Ce processeur exécute des fonctions de traitement du signal et de microcontrôleur. Voici une question pour vous, qu'est-ce qu'un processeur?