L'interface homme-machine Java en couleur s'intègre dans un FPGA
L'interface homme-machine Java en couleur s'intègre dans un FPGA
L'interface homme-machine Java en couleur s'intègre dans un FPGA
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
T<strong>en</strong>dance<br />
AFFICHAGE<br />
L’interface <strong>homme</strong>-<strong>machine</strong><br />
<strong>Java</strong> <strong>en</strong> <strong>couleur</strong> s’intègre<br />
<strong>dans</strong> <strong>un</strong> <strong>FPGA</strong><br />
Les qualités du langage <strong>Java</strong> le r<strong>en</strong>d<strong>en</strong>t<br />
idéal pour la programmation d’interfaces<br />
utilisateur <strong>en</strong> <strong>couleur</strong>. La société AED<br />
prés<strong>en</strong>te <strong>un</strong> module optimisé capable de<br />
gérer de manière autonome <strong>un</strong>e IHM <strong>Java</strong><br />
pour les systèmes ayant peu de ressources<br />
embarquées disponibles.<br />
Selon la complexité d’<strong>un</strong><br />
automate ou système<br />
électronique, le dialogue<br />
avec l’utilisateur<br />
se fait par le biais d’<strong>un</strong> panneau<br />
de commande plus ou moins<br />
perfectionné. Cette interface<br />
<strong>homme</strong>-<strong>machine</strong> (IHM) peutêtre<br />
aussi simple qu’<strong>un</strong> <strong>en</strong>semble<br />
de commutateurs et voyants<br />
lumineux, ou aussi évoluée qu’<strong>un</strong><br />
logiciel exécuté sur <strong>un</strong>e plateforme<br />
informatique. C’est le cas<br />
lorsque le système mobilise <strong>un</strong>e<br />
importante puissance de calcul,<br />
requiert <strong>un</strong>e gestion déportée <strong>en</strong><br />
réseau ou utilise des périphériques<br />
standard (imprimante, lecteur<br />
de cartes, vidéo…). Une solution<br />
intermédiaire fait appel à<br />
l’électronique embarquée, par<br />
souci d’optimisation selon différ<strong>en</strong>ts<br />
critères (<strong>en</strong>combrem<strong>en</strong>t,<br />
coût, volume, maint<strong>en</strong>ance…).<br />
Pour l’affichage de données<br />
alphanumériques, la plupart des<br />
appareils dispos<strong>en</strong>t d’<strong>un</strong> écran<br />
LCD monochrome, très économique<br />
et simple à piloter. Cep<strong>en</strong>dant,<br />
ce type d’afficheur limite la<br />
nature et la qualité des informations<br />
transmises. En effet, l’abs<strong>en</strong>ce<br />
de <strong>couleur</strong>, la faible quan-<br />
Des exemples de réalisations<br />
d'IHM et des primitives que <strong>Java</strong><br />
permet de manipuler aisém<strong>en</strong>t.<br />
On peut ainsi gérer l'incrustation<br />
d'images vidéo, voire d'<strong>un</strong> jeu<br />
compatible <strong>Java</strong>.<br />
tité de points affichables (pixels)<br />
et la réman<strong>en</strong>ce ne permett<strong>en</strong>t<br />
pas l’affichage d’images nettes,<br />
de courbes ou d’animations.<br />
Il y a <strong>en</strong>core quelques années, le<br />
passage d’<strong>un</strong> afficheur monochrome<br />
à <strong>un</strong> écran <strong>couleur</strong> était<br />
imp<strong>en</strong>sable car son intérêt ne<br />
justifiait pas son prix. Entretemps,<br />
l’accroissem<strong>en</strong>t des<br />
volumes de production de dalles<br />
<strong>couleur</strong> passives (CSTN) puis<br />
actives (TFT), pour alim<strong>en</strong>ter <strong>en</strong><br />
priorité le marché du PC portable<br />
et de la photo-vidéo numérique,<br />
a fait chuter les prix des<br />
afficheurs <strong>couleur</strong> de toutes<br />
dim<strong>en</strong>sions, et ce de façon drastique.Au<br />
point de démocratiser la<br />
technologie TFT pour les moniteurs<br />
de bureau, les téléphones<br />
mobiles ou les téléviseurs. De fait,<br />
l’affichage <strong>couleur</strong> devi<strong>en</strong>t <strong>un</strong><br />
standard incontournable, ne<br />
serait-ce que pour <strong>un</strong>e question<br />
La carte compr<strong>en</strong>ant<br />
les mémoires, l’alim<strong>en</strong>tation et<br />
<strong>un</strong> <strong>FPGA</strong> flash d’Actel <strong>en</strong> boîtier<br />
PQFP208 (jusqu’à 1 million de<br />
portes) occupe 10x11cm.<br />
d’esthétique ou d’image de marque.<br />
Cette technologie a néanmoins<br />
prouvé son efficacité. L’intégration<br />
d’afficheurs LCD/TFT<br />
<strong>couleur</strong>, largem<strong>en</strong>t reconnus et<br />
bénéficiant aujourd’hui de prix<br />
raisonnables, <strong>dans</strong> les systèmes<br />
embarqués est inéluctable. Parallèlem<strong>en</strong>t,<br />
l’<strong>en</strong>combrem<strong>en</strong>t des<br />
moniteurs <strong>couleur</strong> à tube cathodique<br />
ne se justifie que pour<br />
quelques applications et cette<br />
technologie a t<strong>en</strong>dance à perdre<br />
du terrain par rapport au LCD,<br />
quelle que soit la taille de l’affichage<br />
<strong>couleur</strong>.<br />
Des IHM plus riches<br />
Malheureusem<strong>en</strong>t, les systèmes<br />
aptes à piloter <strong>un</strong> écran monochrome<br />
sont bi<strong>en</strong> souv<strong>en</strong>t très<br />
insuffisants pour contrôler <strong>un</strong><br />
34 Décembre 2004 n°153 - Electronique
afficheur <strong>couleur</strong>. En effet, la <strong>couleur</strong><br />
permet (voire impose) de<br />
concevoir des IHM très riches <strong>en</strong><br />
termes de graphismes, d’animations,<br />
etc., et demande donc des<br />
traitem<strong>en</strong>ts beaucoup plus gourmands<br />
<strong>en</strong> puissance de calcul.<br />
D’autre part, comme pour les<br />
moniteurs à tube cathodique, la<br />
<strong>couleur</strong> implique <strong>un</strong> flux de données<br />
très important afin de rafraîchir<br />
les trames vidéo. Le débit <strong>en</strong><br />
bits par seconde se donne <strong>en</strong><br />
effet par la formule: Résolution<br />
H*V* log2 (nombre de <strong>couleur</strong>s<br />
affichables)*fréqu<strong>en</strong>ce de rafraîchissem<strong>en</strong>t<br />
(30 à 80Hz).<br />
A l’heure actuelle, seuls de puissants<br />
systèmes, tels que des<br />
cartes reposant sur <strong>un</strong> processeur<br />
performant (32 bits de type<br />
x86, PowerPC,Arm, SuperH), sont<br />
capables de traiter des IHM <strong>couleur</strong><br />
et, <strong>en</strong> même temps, de gérer<br />
le flux vidéo. Ces systèmes, par<br />
exemple sur cartes PC104, sont<br />
très souples et très génériques.<br />
Cep<strong>en</strong>dant, <strong>dans</strong> le cadre d’<strong>un</strong>e<br />
IHM <strong>couleur</strong>, personne ne peut se<br />
permettre de payer le prix d’<strong>un</strong><br />
système polyval<strong>en</strong>t pour <strong>un</strong>e<br />
application spécifique.<br />
Ces systèmes sont conçus pour<br />
répondre à <strong>un</strong> maximum de<br />
besoins et possèd<strong>en</strong>t <strong>un</strong> grand<br />
nombre de fonctionnalités qui ne<br />
sont d’auc<strong>un</strong> intérêt pour la réalisation<br />
de la seule IHM. D’autre<br />
part, leur caractère générique les<br />
r<strong>en</strong>d <strong>en</strong>combrants (nombreux<br />
connecteurs, alim<strong>en</strong>tations),<br />
gourmands et coûteux. Ils sont<br />
de plus loin d’être utilisables tels<br />
quels. En effet, afin d’être opérationnels,<br />
il est nécessaire de<br />
leur intégrer <strong>un</strong> système d’exploitation<br />
et des outils de développem<strong>en</strong>t.<br />
Outre le surcoût qu’ils<br />
<strong>en</strong>traîn<strong>en</strong>t, ces élém<strong>en</strong>ts sont difficilem<strong>en</strong>t<br />
maîtrisables par <strong>un</strong>e<br />
société dont l’informatique et les<br />
systèmes embarqués ne sont pas<br />
le cœur de métier.<br />
C’est pourquoi AED a conçu <strong>un</strong><br />
système peu <strong>en</strong>combrant, bas<br />
coût et prêt à l’emploi, nommé<br />
Bornéo, afin de répondre aux<br />
besoins très spécifiques des IHM<br />
embarquées <strong>couleur</strong>.<br />
Une solution <strong>Java</strong> clés<br />
<strong>en</strong> main<br />
Capable de gérer <strong>un</strong>e large<br />
gamme de résolution (du 128 x<br />
128 au 800x600), Bornéo est particulièrem<strong>en</strong>t<br />
bi<strong>en</strong> adapté aux<br />
marchés des bornes interactives,<br />
Electronique - Décembre 2004 n°153<br />
des équipem<strong>en</strong>ts industriels,<br />
d’instrum<strong>en</strong>tation, ou <strong>en</strong>core des<br />
systèmes mobiles ou des produits<br />
blancs ou br<strong>un</strong>s intellig<strong>en</strong>ts.<br />
Bornéo est tout d’abord très<br />
simple à programmer. Il se base<br />
sur le langage <strong>Java</strong>, le plus adapté<br />
et le plus utilisé pour développer<br />
des IHM. En effet, de nombreuses<br />
interfaces graphiques de<br />
divers outils de développem<strong>en</strong>t,<br />
dont la plus connue est probablem<strong>en</strong>t<br />
Eclipse, sont développées<br />
<strong>en</strong> <strong>Java</strong>. Sa portabilité comm<strong>en</strong>ce<br />
même à l’imposer <strong>dans</strong><br />
les téléphones mobiles ou les<br />
cartes à puce multiapplications.<br />
Une solution prête à l’emploi<br />
b)<br />
a)<br />
<strong>Java</strong><br />
Application <strong>Java</strong><br />
La nature objet du langage <strong>Java</strong><br />
s’applique parfaitem<strong>en</strong>t bi<strong>en</strong> au<br />
développem<strong>en</strong>t d’interfaces graphiques.<br />
Une IHM peut ainsi être<br />
conçue telle <strong>un</strong>e hiérarchie d’objets<br />
graphiques. AED offre <strong>un</strong>e<br />
API (Application programming<br />
interface) cont<strong>en</strong>ant les primitives<br />
permettant de dessiner des<br />
formes de base telles les lignes,<br />
cercles, rectangles, etc. Elle fournit<br />
aussi des objets graphiques<br />
fréquemm<strong>en</strong>t utilisés <strong>dans</strong> les<br />
IHM embarquées: jauges, boutons,<br />
graphiques, afficheur numérique,<br />
etc. De même, l’API per-<br />
met le décodage des formats<br />
d’image les plus utilisés (JPG,<br />
PNG, etc.) et conti<strong>en</strong>t aussi <strong>un</strong>e<br />
bibliothèque d’animations telles<br />
que les glissem<strong>en</strong>ts d’écran, les<br />
fondus <strong>en</strong>chaînés et le défilem<strong>en</strong>t<br />
d’images permettant d’animer<br />
<strong>un</strong>e IHM afin de la r<strong>en</strong>dre<br />
plus agréable d’utilisation. Les<br />
fichiers <strong>Java</strong> et toutes les données<br />
nécessaires à l’exécution du<br />
programme peuv<strong>en</strong>t être sauvegardés<br />
<strong>dans</strong> la mémoire persistante<br />
du système (mémoire<br />
flash), ou dynamiquem<strong>en</strong>t transférés<br />
via le li<strong>en</strong> de comm<strong>un</strong>ication.<br />
Bornéo est ainsi à même<br />
Moteur <strong>Java</strong> Application<br />
Débogueur <strong>Java</strong> Vérifier<br />
Native<br />
Byte-codes de haut niveau Ramasse-miettes<br />
Sécurité<br />
Application graphique <strong>Java</strong><br />
Application <strong>Java</strong><br />
API Animation<br />
Système d'exploitation JOS/Pilotes<br />
Processeur JAP/Accélérateur graphique<br />
Contrôleur LCD/TFT<br />
Solution Bornéo<br />
Méthodes Natives<br />
Chargeur de classes<br />
Système d’exploitation<br />
Système de fichiers Mémoire Gestionnaire de processus E/S<br />
JAP<br />
FIGURE 1<br />
Bornéo compr<strong>en</strong>d la partie matérielle avec processeur, accélérateur<br />
graphique et contrôleur d’affichage, mais égalem<strong>en</strong>t le système<br />
d’exploitation et <strong>un</strong>e API pour la programmation <strong>Java</strong> (a). Le<br />
système d’exploitation intègre le moteur <strong>Java</strong> pour le processeur<br />
JAP et autorise l’exécution d’applications natives compilées à partir<br />
du C ainsi que l’exécution directe du byte-code <strong>Java</strong> (b)<br />
JOS<br />
d’être utilisé <strong>dans</strong> des systèmes<br />
autonomes ou connectés, par<br />
exemple <strong>en</strong> tant que terminal<br />
standard qui télécharge à la<br />
demande l’interface <strong>Java</strong> d’<strong>un</strong><br />
équipem<strong>en</strong>t quel qu’il soit, via<br />
<strong>un</strong>e liaison filaire (Ethernet, USB)<br />
ou radio (Bluetooth,Wi-Fi).<br />
Autre point fort de ce système:<br />
il est immédiatem<strong>en</strong>t opérationnel.<br />
En effet, Bornéo intègre le<br />
système d’exploitation JOS dédié<br />
à l’exécution de programmes <strong>Java</strong><br />
sur le processeur JAP (figure 1).<br />
Sa couche basse fournit les fonctions<br />
de base permettant de<br />
T<strong>en</strong>dance<br />
manipuler les processus et le système<br />
de fichiers, gérer la<br />
mémoire et les <strong>en</strong>trées/sorties.<br />
Sur cette couche repose le moteur<br />
<strong>Java</strong>. Il pr<strong>en</strong>d <strong>en</strong> charge les spécifications<br />
complexes de la<br />
<strong>machine</strong> virtuelle <strong>Java</strong> telles que<br />
le ramasse-miettes, les exceptions,<br />
le débogueur, etc. Destiné à<br />
être utilisé <strong>dans</strong> des applications<br />
embarquées, le système d’exploitation<br />
JOS est totalem<strong>en</strong>t préemptif.Ainsi,<br />
toutes ses fonctions<br />
peuv<strong>en</strong>t être interrompues à<br />
n’importe quel mom<strong>en</strong>t afin de<br />
traiter <strong>un</strong> événem<strong>en</strong>t extérieur<br />
urg<strong>en</strong>t. Le JOS est composé de<br />
différ<strong>en</strong>ts modules pouvant être<br />
intégrés ou non <strong>en</strong> fonction de<br />
l’application ciblée, afin d’obt<strong>en</strong>ir<br />
<strong>un</strong>e empreinte mémoire minimale.<br />
La version Bornéo du JOS<br />
pèse moins d’<strong>un</strong>e c<strong>en</strong>taine de<br />
kilo-octets (50ko <strong>dans</strong> sa version<br />
minimale).<br />
L’<strong>en</strong>combrem<strong>en</strong>t du système destiné<br />
aux équipem<strong>en</strong>ts embarqués<br />
est très réduit. Outre le circuit<br />
Bornéo, le système n’utilise que<br />
trois composants: <strong>un</strong>e mémoire<br />
de travail (SDram) où le processeur<br />
manipule la majorité des<br />
informations; <strong>un</strong>e mémoire vidéo<br />
(SDram) permettant de travailler<br />
les animations et de gérer l’émission<br />
des pixels à l’écran sans<br />
perturber le processeur ; <strong>un</strong>e<br />
mémoire flash pour la sauvegarde<br />
des données importantes<br />
telles que l’OS et les applications,<br />
qui r<strong>en</strong>d le système autonome.<br />
La taille de la mémoire vidéo doit<br />
être suffisante pour stocker plusieurs<br />
écrans afin de profiter des<br />
fonctions d’accélération DMA<br />
(2,3Mo <strong>en</strong>viron par écran 1024<br />
par 768 <strong>en</strong> mode <strong>couleur</strong>s réelles<br />
avec 1 octet pour chaque composante,<br />
rouge, vert, bleu). Seule<br />
<strong>un</strong>e mémoire dynamique permet<br />
de stocker de telles masses de<br />
données (exclusivem<strong>en</strong>t des<br />
images) pour <strong>un</strong> coût minimal.<br />
Actuellem<strong>en</strong>t, les deux mémoires<br />
SDram ont <strong>un</strong>e taille de 16 Mo<br />
chac<strong>un</strong>e, qui pourrait être ét<strong>en</strong>due<br />
à 32 Mo (voire 64 pour la<br />
vidéo) sur la prochaine génération<br />
capable de traiter des résolutions<br />
de 1024x768 pixels.<br />
La faible quantité de composants<br />
permet d’obt<strong>en</strong>ir <strong>un</strong>e carte de<br />
faible <strong>en</strong>combrem<strong>en</strong>t. Par<br />
exemple, la carte d’évaluation,<br />
complètem<strong>en</strong>t autonome (alim<strong>en</strong>tation<br />
comprise pour <strong>un</strong>e<br />
consommation de 400 mA sous<br />
35
T<strong>en</strong>dance<br />
5V), mesure 100mm par 110mm<br />
pour <strong>un</strong> circuit imprimé quatre<br />
couches. Il est naturellem<strong>en</strong>t possible<br />
d’intégrer les composants<br />
Bornéo sur sa propre carte (voire<br />
<strong>dans</strong> <strong>un</strong> système sur puce), afin<br />
d’<strong>en</strong> minimiser <strong>un</strong> peu plus l’<strong>en</strong>combrem<strong>en</strong>t.<br />
Des périphériques<br />
spécialisés pour l’affichage<br />
Le traitem<strong>en</strong>t graphique et la gestion<br />
vidéo requièr<strong>en</strong>t <strong>un</strong>e importante<br />
puissance de calcul. La performance<br />
est assurée par<br />
l’intégration d’<strong>un</strong>ités spécialisées<br />
<strong>dans</strong> le composant Bornéo. Tout<br />
d’abord le processeur <strong>Java</strong> dispose<br />
de la puissance nécessaire<br />
à l’exécution des programmes<br />
<strong>Java</strong> mais égalem<strong>en</strong>t d’applications<br />
natives. Bilingue C/<strong>Java</strong> et<br />
nommé JAP, il a été élaboré <strong>en</strong><br />
collaboration avec le CEA (voir<br />
<strong>en</strong>cadré). Son jeu d’instructions<br />
natif lui assure la rapidité nécessaire<br />
à l’exécution de sections<br />
critiques telles que le système<br />
d’exploitation, compilées à partir<br />
du langage C. L’interprétation<br />
directe et rapide du «byte-code»<br />
<strong>Java</strong> lui donne accès à toutes les<br />
ressources du langage (souplesse,<br />
sécurité,API, etc.). Le byte-code<br />
<strong>Java</strong> est ce que fournit le compilateur<br />
<strong>Java</strong> (<strong>dans</strong> les fichiers d’ext<strong>en</strong>sion<br />
«.class»). Le processeur<br />
JAP possède de la logique câblée<br />
pour la majorité des byte-codes.<br />
Seuls quelques-<strong>un</strong>s sont interprétés<br />
de manière logicielle<br />
(moteur <strong>Java</strong>) car trop complexes<br />
à réaliser matériellem<strong>en</strong>t (allocation<br />
d’objet, gestion des exceptions…).<br />
Une <strong>un</strong>ité d’accélération graphique<br />
à deux dim<strong>en</strong>sions pr<strong>en</strong>d<br />
<strong>en</strong> charge le traitem<strong>en</strong>t des primitives<br />
graphiques telles que le<br />
déplacem<strong>en</strong>t d’image, le remplissage<br />
de zones, le clipping, la<br />
gestion de transpar<strong>en</strong>ce, etc. Elle<br />
est ess<strong>en</strong>tiellem<strong>en</strong>t constituée<br />
d’<strong>un</strong>e interface d’accès direct à<br />
la mémoire (DMA), libérant le<br />
processeur des tâches de déplacem<strong>en</strong>t<br />
mémoire fréquemm<strong>en</strong>t<br />
utilisées. La DMA travaille ess<strong>en</strong>tiellem<strong>en</strong>t<br />
<strong>dans</strong> la mémoire vidéo,<br />
ce qui permet au processeur de<br />
continuer l’exécution du programme<br />
<strong>en</strong> parallèle. Si la DMA<br />
fonctionnait <strong>dans</strong> la mémoire de<br />
travail pour alim<strong>en</strong>ter la mémoire<br />
vidéo, elle monopoliserait la première<br />
et ral<strong>en</strong>tirait le processeur:<br />
ce dernier ne fonctionne qu’à<br />
➜ La société Advanced<br />
Electronic Design a été<br />
fondée <strong>en</strong> 1997 par Alain<br />
Houelle et Nicolas Vaucher,<br />
docteurs de l’<strong>un</strong>iversité<br />
parisi<strong>en</strong>ne Pierre et Marie<br />
Curie. Spécialisée <strong>dans</strong> la<br />
conception de circuits<br />
intégrés VLSI, la société a<br />
débuté par la conception de<br />
systèmes de traitem<strong>en</strong>t du<br />
signal pour des applications<br />
militaires. Par la suite, l’étude<br />
et le développem<strong>en</strong>t d’<strong>un</strong><br />
système programmable<br />
performant, capable de<br />
garantir la pér<strong>en</strong>nité et la<br />
6,25 MHz <strong>dans</strong> la version prés<strong>en</strong>tée<br />
ici, alors que l'accélérateur<br />
vidéo opère sous 50 à<br />
60MHz selon la résolution traitée.<br />
Le contrôleur vidéo, paramétrable<br />
et capable de piloter tous types<br />
d’écrans CRT/LCD travaillant <strong>en</strong><br />
phase avec l’accélérateur graphique,<br />
gère le flux constant et<br />
sout<strong>en</strong>u des pixels de la mémoire<br />
vidéo vers l’écran (figure 2).<br />
Un <strong>FPGA</strong> flash<br />
Des <strong>un</strong>ités annexes peuv<strong>en</strong>t être<br />
ajoutées <strong>en</strong> fonction des besoins<br />
de l’application. En effet, afin de<br />
La plate-forme IHM Bornéo<br />
Accélérateur<br />
graphique<br />
2D<br />
Processeur <strong>Java</strong><br />
JAP<br />
Circuit Bornéo<br />
L’historique du processeur <strong>Java</strong><br />
Principale<br />
SDram<br />
Contrôleurs<br />
SDram<br />
sécurité des applications<br />
pour le compte du CEA/DAM,<br />
ont fortem<strong>en</strong>t ori<strong>en</strong>té les<br />
activités d’AED: ce projet<br />
a donné naissance à <strong>un</strong>e<br />
plate-forme <strong>Java</strong>, nommée<br />
JAP, adaptée aux applications<br />
embarquées et basée sur<br />
<strong>un</strong> système d’exploitation et<br />
<strong>un</strong> processeur dédiés.<br />
L’intérêt pour cette plateforme<br />
a crû très rapidem<strong>en</strong>t.<br />
Elle a été adaptée au<br />
domaine spatial par EADS/<br />
Astrium.<br />
Consci<strong>en</strong>te du pot<strong>en</strong>tiel d’<strong>un</strong><br />
tel système, la société AED a<br />
répondre aux nombreux besoins<br />
du marché, la solution se doit<br />
d’être fortem<strong>en</strong>t configurable :<br />
nombre de compteurs, de li<strong>en</strong>s<br />
de comm<strong>un</strong>ication, interface pour<br />
dalle tactile, contraintes de sécurité,<br />
watchdog, timers, codecs<br />
multimédias… Le choix du composant<br />
cible pour l’intégration<br />
s’est donc naturellem<strong>en</strong>t porté<br />
sur <strong>un</strong> circuit programmable de<br />
type <strong>FPGA</strong>. Parmi les offres du<br />
marché, nous avons opté pour la<br />
famille ProAsic Plus d’Actel. Sa<br />
technologie flash répond précisém<strong>en</strong>t<br />
aux contraintes imposées<br />
Mémoires<br />
Vidéo<br />
SDram<br />
Contrôleurs<br />
SDram<br />
Flash<br />
Contrôleur<br />
CRT/TFT<br />
Persistante<br />
par les systèmes Bornéo et Jexar.<br />
D’<strong>un</strong>e part au niveau de l’<strong>en</strong>combrem<strong>en</strong>t,<br />
car <strong>un</strong> tel <strong>FPGA</strong> ne<br />
nécessite pas de flash de configuration<br />
externe. Le système de<br />
démarrage s’<strong>en</strong> trouve simplifié<br />
et totalem<strong>en</strong>t fiable.<br />
D’autre part, la protection de la<br />
configuration du <strong>FPGA</strong>, cœur<br />
même du système, est aussi <strong>un</strong>e<br />
priorité pour la société AED qui<br />
a développé <strong>un</strong>e culture de marchés<br />
s<strong>en</strong>sibles tels que militaire et<br />
spatial. La technologie flash d’Actel<br />
permet de verrouiller la configuration<br />
à l’intérieur même du<br />
circuit. Il n’y a donc plus de transactions<br />
externes vulnérables aux<br />
t<strong>en</strong>tatives de «reverse <strong>en</strong>gineering».<br />
Cette protection concerne<br />
donc non seulem<strong>en</strong>t les blocs de<br />
la solution Bornéo, mais égalem<strong>en</strong>t<br />
les périphériques propriétaires<br />
que l’utilisateur souhaite<br />
intégrer <strong>dans</strong> le <strong>FPGA</strong>.<br />
La gamme des composants Actel<br />
est disponible <strong>en</strong> boîtier PQFP208,<br />
compatibles broche à broche, ce<br />
qui a permis de minimiser les<br />
coûts de fabrication. En effet, la<br />
conception d’<strong>un</strong>e seule et même<br />
carte suffit pour être compatible<br />
avec toute la gamme des circuits.<br />
Il est alors possible, <strong>en</strong> fonction<br />
de la complexité et de l’application<br />
et du volume des blocs IP<br />
introduits par l’utilisateur, de<br />
choisir simplem<strong>en</strong>t le composant<br />
<strong>en</strong> boîtier PQFP208 le plus<br />
adapté, pour des complexités<br />
allant de 75 000 à 1 million de<br />
portes systèmes. La solution Bornéo<br />
standard, prés<strong>en</strong>tée <strong>dans</strong> cet<br />
article, occupe <strong>en</strong>viron 250 000<br />
portes Asic (15000 tuiles sur <strong>un</strong><br />
Actel APA600).<br />
ALAIN HOUELLE (AED)<br />
36 Décembre 2004 n°153 - Electronique<br />
Timers<br />
Uart<br />
Boot<br />
Flash<br />
FIGURE 2<br />
Le circuit Bornéo intègre le processeur JAP, les contrôleurs mémoire et<br />
LCD, ainsi qu’<strong>un</strong> accélérateur graphique 2D. Etant donné sa réalisation<br />
<strong>en</strong> logique programmable, <strong>un</strong> certain nombre de li<strong>en</strong>s de comm<strong>un</strong>ication<br />
et fonctions matérielles autres peuv<strong>en</strong>t être <strong>en</strong>visagés.<br />
signé <strong>un</strong> accord d’exploitation<br />
exclusive avec le CEA afin de<br />
commercialiser la solution<br />
<strong>Java</strong> pour des applications<br />
civiles grand public.<br />
En plus du système Bornéo<br />
ici prés<strong>en</strong>té, AED commercialise<br />
<strong>un</strong>e seconde solution <strong>Java</strong><br />
clés <strong>en</strong> main sous le label<br />
Jexar, égalem<strong>en</strong>t déclinée de<br />
la plate-forme JAP et dédiée<br />
aux applications embarquées.<br />
Jexar est spécialisée pour les<br />
applications fortem<strong>en</strong>t calculatoires<br />
et a été développée<br />
pour les applications<br />
spatiales et militaires. En sus<br />
Affichage<br />
<strong>couleur</strong><br />
du processeur <strong>Java</strong>, elle<br />
compr<strong>en</strong>d <strong>un</strong>e <strong>un</strong>ité dédiée au<br />
calcul arithmétique flottant<br />
(compatible IEEE-754).<br />
Autre déclinaison de la plateforme<br />
JAP, Bornéo est<br />
spécialisée pour l’exécution<br />
d’IHM <strong>couleur</strong> embarquées ou<br />
déportées. Elle est applicable<br />
à tout système embarqué doté<br />
d’<strong>un</strong> écran.<br />
Sur le Web…<br />
Pour plus d’informations<br />
sur le processeur JAP<br />
www.a-e-d.com