1. Définition d'embarqué
Comment comprendre l'embarqué ? Quel travail que nous faisons peut être compris comme un travail intégré ?
Embedded est un système embarqué, qui est défini par l'IEEE (Institute of Electrical and Electronics Engineers) comme un dispositif utilisé pour contrôler, surveiller ou assister le fonctionnement de machines et d'équipements, et est un système informatique spécial ; la définition d'un système embarqué généralement reconnu en Chine C'est un système informatique spécial qui est centré sur les applications, basé sur la technologie informatique, peut être adapté aux logiciels et au matériel, et s'adapte aux exigences strictes du système d'application sur les fonctions, la fiabilité, le coût, le volume, la consommation d'énergie, etc. ; de la définition des objets applicatifs, embarqué Le système est une combinaison de logiciel et de matériel, et peut également couvrir des dispositifs auxiliaires tels que des machines. Un système embarqué est une partie d'un appareil ou d'un appareil, qui est une carte de contrôle de processeur embarqué dont le programme de contrôle est stocké dans la ROM. En fait, tous les appareils dotés d'interfaces numériques, tels que les montres, les fours à micro-ondes, les magnétoscopes, les voitures, etc., utilisent des systèmes embarqués, et certains systèmes embarqués contiennent également un système d'exploitation, mais la plupart des systèmes embarqués sont contrôlés par un seul programme logique. .
2. Quatre étapes de développement du système embarqué :
嵌入式系统发展:分为四个阶段
1)单片微型计算机(SCM)阶段,即单片机时代:系统功能由汇编语言实现。
这一时代系统硬件:单片机。软件:无操作系统。
主要特点:系统结构相对单一,处理效率低,存储容量十分有限,几乎无用户
接口。
2)微控制器(MUC)阶段,:主要技术方向:不断扩展对象系统要求的各种外围电路
和接口电路,突显其对象的智能化控制能力
这一阶段基础:嵌入式微处理器。这一阶段核心:简单操作系统。
主要特点:硬件使用嵌入式微处理器,微处理器的种类繁多,通用性弱;系统开销小,效率较高。
3)片上系统(SOC):主要特点:嵌入式系统能够运行于各种不同的微处理器上,
兼容性好,操作系统的内核小,效果好。
4)internet为标志的嵌入式系统:嵌入式网络化主要表现:一方面是嵌入式
处理器集成了网络接口
另一方面是嵌入式设备应用于网络环境中。
**
3. La composition du système embarqué
1. La couche matérielle comprend 1. Un microprocesseur intégré
2. Une mémoire (SDRAM, ROM, Flash, etc.)
3. Une interface de périphérique générale et une interface d'E/S (A/N, D/A, E/S, etc.)
intégrées en une seule pièce Le circuit d'alimentation, le circuit d'horloge et le circuit de mémoire sont ajoutés sur la base du type de processeur pour former un module de contrôle central intégré. C'est ce que nous appelons un micro-ordinateur à puce unique, dans lequel le système d'exploitation et le programme d'application peuvent être solidifiés dans la ROM.
(1) Microprocesseur embarqué : le cœur de la
couche matérielle Le cœur de la couche matérielle du système embarqué est le microprocesseur embarqué . La plus grande différence entre le microprocesseur embarqué et le CPU à usage général est que la plupart des microprocesseurs embarqués fonctionnent de manière spéciale. conceptions pour des groupes d'utilisateurs spécifiques.Dans le système, il intègre de nombreuses tâches effectuées par la carte de carte dans le processeur à usage général (tel que 51 micro-ordinateur monopuce) à l'intérieur de la puce, ce qui est propice à la miniaturisation du système embarqué dans le conception, et a également une efficacité et une fiabilité élevées. Cela peut être compris comme la différence entre le microcontrôleur STM32 et le microcontrôleur 51. L' architecture
du microprocesseur embarqué peut adopter le système von Neumann ou le système Harvard ;
1) Architecture de Von Neumann : Également connue sous le nom d'architecture de Princeton, il s'agit d'une structure de mémoire qui combine une mémoire d'instructions de programme et une mémoire de données. L'extraction d'instructions et l'extraction d'opérandes sont effectuées sur le même bus par multiplexage temporel ; l'inconvénient est qu'à grande vitesse, l'extraction d'instructions et l'extraction d'opérandes ne peuvent pas être réalisées en même temps, formant ainsi un goulot d'étranglement dans le processus de transmission. Étant donné que l'adresse de stockage des instructions du programme et l'adresse de stockage des données pointent vers des emplacements physiques différents dans la même mémoire, les instructions et les données du programme ont la même largeur.Par exemple, les instructions et les données du programme du processeur 8086 d'Intel ont toutes deux une largeur de 16 bits.
Le système d'instruction peut choisir un système d'instruction réduit (Reduced Instruction Set Computer, RISC ) et un système d'instruction complexe CISC (Complex Instruction Set Computer, CISC ). Les ordinateurs RISC ne contiennent que les instructions les plus utiles dans le canal, garantissant que le canal de données exécute rapidement chaque instruction, améliorant ainsi l'efficacité de l'exécution et simplifiant la conception de la structure matérielle du processeur. Les microprocesseurs embarqués se présentent sous diverses architectures, et même au sein d'une même architecture, ils peuvent avoir des fréquences d'horloge et des largeurs de bus de données différentes, ou intégrer différents périphériques et interfaces. Selon des statistiques incomplètes, il existe plus de 1 000 types de microprocesseurs embarqués dans le monde et plus de 30 séries d'architectures avancées, parmi lesquelles les systèmes grand public sont ARM, MIPS, PowerPC, X86 et SH. **Cependant, contrairement au marché mondial des PC, aucun microprocesseur embarqué ne peut dominer le marché. Rien qu'en termes de produits 32 bits, il existe plus de 100 microprocesseurs embarqués. Le choix du microprocesseur embarqué est déterminé en fonction de l'application spécifique.
(2) Mémoire : les systèmes embarqués ont besoin de mémoire pour stocker et exécuter le code.
La mémoire du système embarqué comprend le cache, la mémoire principale et la mémoire auxiliaire.
1. Cache
Le cache est une matrice de mémoire haute vitesse de petite capacité. Il est situé entre la mémoire principale et le cœur du microprocesseur intégré et stocke les codes de programme et les données les plus utilisés par le microprocesseur pendant un certain temps. Lorsqu'une opération de lecture de données est requise, le microprocesseur lit autant que possible les données du Cache, plutôt que de la mémoire principale, ce qui améliore considérablement les performances du système et améliore la relation entre le microprocesseur et la mémoire principale. . L'objectif principal de Cache est de réduire le goulot d'étranglement d'accès à la mémoire causé par la mémoire (telle que la mémoire principale et la mémoire auxiliaire) au cœur du microprocesseur, de sorte que la vitesse de traitement soit plus rapide et que les performances en temps réel soient plus fortes. Dans le système embarqué, le cache est entièrement intégré dans le microprocesseur embarqué, qui peut être divisé en cache de données, cache d'instructions ou cache mixte.La taille du cache dépend des différents processeurs. Généralement, le Cache est intégré aux microprocesseurs embarqués haut de gamme.
2. Mémoire principale La mémoire
principale est un registre auquel peuvent accéder directement les microprocesseurs intégrés et qui est utilisée pour stocker les programmes et les données du système et de l'utilisateur. Il peut être situé à l'intérieur ou à l'extérieur du microprocesseur et sa capacité est de 256 Ko ~ 1 Go, selon l'application spécifique.En général, la capacité de mémoire sur puce est petite, la vitesse est rapide et la capacité de mémoire hors puce est grande. Les mémoires couramment utilisées comme mémoire principale sont : Type ROM : NOR Flash, EPROM et PROM, etc. Classe de RAM : SRAM, DRAM et SDRAM, etc. Parmi eux, NOR Flash a été largement utilisé dans le domaine de l'embarqué en raison de ses nombreux avantages de réécriture et d'écriture, de sa vitesse de stockage rapide, de sa grande capacité de stockage et de son faible prix.
3. Mémoire auxiliaire La mémoire
auxiliaire est utilisée pour stocker le code de programme ou des informations avec une grande quantité de données.Sa capacité est grande, mais la vitesse de lecture est beaucoup plus lente que celle de la mémoire principale, et elle est utilisée pour stocker les informations de l'utilisateur pendant une longue période. . Les stockages externes couramment utilisés dans les systèmes embarqués sont : disque dur, Flash NAND, carte CF, MMC et carte SD.
(3) Interface d'appareil générale et interface d'E/S
L'interaction entre le système embarqué et le monde extérieur nécessite une certaine forme d'interface d'appareil générale, telle qu'une connexion A/D, D/A, E/S, etc. fonctions d'entrée/sortie du microprocesseur.
Chaque périphérique a généralement une seule fonction, qui peut être hors puce ou sur puce.
Les interfaces de périphérique courantes couramment utilisées dans les systèmes embarqués incluent A/D (interface de conversion analogique/numérique), D/A (interface de conversion numérique/analogique) et les interfaces d'E/S incluent l'interface RS-232 (interface de communication série), Ethernet (Ethernet interface), USB (interface de bus série universelle), interface audio, interface de sortie vidéo VGA, I2C (bus de terrain), SPI (interface de périphérique série) et IrDA (interface infrarouge), etc.
Deuxièmement, la couche intermédiaire : la couche intermédiaire
entre la couche matérielle et la couche logicielle , également appelée couche d'abstraction matérielle (Hardware Abstract Layer, HAL) ou package de support de carte (Board Support Package, BSP), qui relie la couche supérieure logicielle du système avec le matériel sous-jacent La séparation rend le pilote sous-jacent du système indépendant du matériel, et les développeurs de logiciels de niveau supérieur n'ont pas besoin de se soucier des conditions spécifiques du matériel sous-jacent et peuvent se développer en fonction de l'interface fournie par le Couche BSP. Cette couche comprend généralement l' initialisation du matériel sous-jacent associé, les opérations d'entrée/sortie de données et les fonctions de configuration des dispositifs matériels . Le BSP présente les deux caractéristiques suivantes : 1. Dépendance matérielle : étant donné que l'environnement matériel du système temps réel embarqué dépend de l'application, et en tant qu'interface entre le logiciel de couche supérieure et la plate-forme matérielle, le BSP doit fournir le système d'exploitation. système capable de faire fonctionner et de contrôler un matériel spécifique. 2. Dépendances du système d'exploitation : différents systèmes d'exploitation ont leurs propres hiérarchies logicielles, par conséquent, différents systèmes d'exploitation ont des formes d'interface matérielle spécifiques. En fait, BSP est une couche logicielle entre le système d'exploitation et le matériel sous-jacent, y compris la plupart des modules logiciels du système qui sont étroitement liés au matériel. La conception d'un BSP complet nécessite deux parties : l'initialisation matérielle du système embarqué et de la fonction BSP, et la conception des pilotes de périphériques liés au matériel.
3. Couche logicielle système :
elle comprend le système d'exploitation en temps réel (RTOS), le système de fichiers, l'interface utilisateur graphique (GUI), le système réseau et les modules de composants généraux