Archives par mot-clé : OMAP

LaunchPad C2000 : expérimenter avec un DDS

Aujourd’hui c’est dimanche, et l’électricité a été coupée de 10h à 18h. Je n’ai donc pas eu trop le temps de rechercher des informations craquantes avant la fin d’année.

LaunchPad MSP430 et C2000 - Image Francesco Agosti (http://xv4y NULL.radioclub NULL.asia/2012/12/30/launchpad-c2000-experimenter-avec-un-dps/img_3175/)
LaunchPad MSP430 et C2000 côte à côte

Je vais en profiter pour réparer un oubli en vous parlant du LaunchPad C2000 Piccolo de Texas Instruments (http://www NULL.ti NULL.com/ww/en/launchpad/c2000_head NULL.html), dont vous connaissez déjà les autres membre de la famille avec le MSP430 et le Stellaris.

Le principe est le même, une carte de développement intégrant toute la connectivité USB et l’aide au déboguage avec un micro-contrôleur et plein de connecteurs pour les entrées-sorties. Le prix est toujours très attractif avec cette fois-ci 17$ port compris, et l’environnement de développement Code Composer Studio (CCS) est gratuit pour utliser avec cette carte. Le micro-contrôleur est un peu particulier puisqu’il s’agit d’un TMS320F28027 à 60 MHz avec 64Ko de Flash, 12Ko de RAM, un convertisseur analogique numérique 12 bits échantillonnant à 4,6 Mbps (ça dépote!) sur 12 canaux et tout un tas d’entrées-sorties et de périphériques usuels dans les micro-contrôleurs (I2C, SPI…).

Certains auront reconnu le suffixe TMS320 dans le nom du micro-contrôleur. Eh oui, il s’agit bien de la célèbre famille de DSP de Texas Instruments dont le premier modèle TMS32010 était une innovation à l’époque. La sous-branche actuelle C2000 a été utilisée dans la téléphonie mobile 2G et continue à l’être adossée à des processeurs ARM v7 par exemple dans les processeurs OMAP de la marque. Une des particularités de l’architecture C2000 c’est que bien que dédiée au traitement en temps-réel et en particulier au traitement de signaux, elle reste proche d’une architecture Harvard traditionnelle et peut-être utilisée pour des applications plus courantes.

Le LaunchPad C2000 est donc la plateforme idéale pour ceux qui veulent se frotter à la programmation temps-réel ou au traitement du signal (l’ADC embarqué est très performant). Personnellement je suis déjà bien occupé sur d’autres projets et je n’ai pas envie d’acheter une boîte même à 17$ juste pour qu’elle prenne la poussière. Par contre je pense que certains parmi vous pourraient tenter l’expérience.

Un PC miniature Quad-Core à 129$

Vu sur ArsTechnica (http://arstechnica NULL.com/gadgets/2012/07/korean-company-offers-3-5-inch-quad-core-arm-linux-computer-for-129/), la société coréenne Hardkernel propose sa carte ODROID-X qui vient compléter la famille des Raspberry Pi, BeagleBoard et consorts.

Carte ODROID-X, PC embarqué (http://xv4y NULL.radioclub NULL.asia/wp-content/uploads/2012/07/201206301841017729 NULL.jpeg)Visiblement orientée sur le haut du marché, la carte comprend un processeur à quatre coeurs (Samsung Exynos 4 à 1,4 GHz), un processeur graphique quadri-core Mali 400, 1 Go de RAM, 6 ports USB, un port Ethernet, une entrée-sortie audio et un lecteur de carte SDHC. Le processeur étant construit sur l’architecture Cortex A9 d’ARM, il permet de faire tourner Ubuntu et Android.

La carte semble disponible à la vente immédiatement avec une expédition internationale à partir de fin juillet (http://www NULL.hardkernel NULL.com/renewal_2011/products/prdt_info NULL.php?g_code=G133999328931), livraison prévue en 2 semaines par EMS. Le prix de 129$ (plus 30$ de port) est plus élevé que celui d’autres cartes, mais les performances sont à la hausse. A noter la garantie de 4 semaines et l’ensemble de petites notes en bas qui vous font comprendre que l’achat est à vos risques…

Un nouveau PC miniature à 49$

VIA Android PC board (http://xv4y NULL.radioclub NULL.asia/wp-content/uploads/2012/05/apc-banana-640x358 NULL.jpg)Vu sur l’excellent site Ars Technica (http://arstechnica NULL.com/gadgets/2012/05/another-tiny-computer-vias-49-apc-offers-android-hdmi-video-out/). La société VIA, très connue pour ses chipsets et microprocesseurs pour micro-ordinateurs et compatibles PC, a annoncé la disponibilité d’un nouveau concurrent du Raspberry Pi et consorts (http://xv4y NULL.radioclub NULL.asia/2012/03/15/beagleboard-raspberry-pi-et-autres-pc-embarques-pour-les-radioamateurs/). C’est le APC ou Android PC qui embarque un processeur ARM (ARM11, donc compatible Android contrairement au Raspberry Pi), 512Mo de RAM, 2 Go de mémoire Flash, des sorties VGA, HDMI et audio, une entrée audio, un port MicroSD, un port Ethernet et 4 ports USB. La carte vendue nue et annoncée comme au format Neo-ITX consomme entre 4 et 13,5 Watts et est livré avec une version adaptée d’Android 2.3.

AllWiner Android PC USB clé (http://xv4y NULL.radioclub NULL.asia/wp-content/uploads/2012/05/ea687cbe6b22cba6b63b77472f9c876d NULL.jpeg)L’article parle aussi d’un autre micro PC à 74$ mais mieux équipé avec Wifi et un processeur Cortex A8 à 1,5GHz qui fait tourner Android 4.0 (http://arstechnica NULL.com/gadgets/2012/05/new-74-android-mini-computer-is-slightly-larger-than-a-thumb-drive/). Avec tout cela, il y a du choix et avec un peu de chance ces produits seront réellement disponibles (qui a un Rasbperry Pi entre les mains ?)…

BeagleBrick : l’iPad du radioamateur

Un copain me faisait remarqué que j’avais oublié la BeagleBrick (http://www NULL.rarcpio NULL.net/beaglebrick/main NULL.html) dans mon dernier article sur les Raspberry Pi, BeagleBoard et consorts (http://xv4y NULL.radioclub NULL.asia/2012/03/15/beagleboard-raspberry-pi-et-autres-pc-embarques-pour-les-radioamateurs/). Non je ne l’avais pas oublié, mais je trouvais l’article déjà assez long (apparemment les lecteurs du blog préfère les articles courts) et surtout la BeagleBrick n’est pas quelque chose de “fini” actuellement.

Concept BeagleBrickKC4NYK a fait un beau boulot il est vrai de produire une image disque (une distribution) regroupant tous les logiciels d’intérêt radioamateur pour la BeagleBoard. Je pense toutefois qu’il a sous-estimé l’ampleur de la tâche car 90% de ces éléments logiciels sont en version beta voire alpha et les maintenir à jour (et fonctionnels tous en même temps) doit être très difficile. La dernière mise à jour date du 22 septembre 2009.

De plus, si matériellement le concept paraît simple (on met dans le même package une BeagleBoard, une platine SDR type SoftRock et un écran LCD), faire fonctionner l’ensemble correctement pour pouvoir le produire en série n’est pas chose simple! Un PC (même du type embarqué) rayonne énormément de HF, l’écran aussi. Passer du concept de “tout intégré” à la réalité semble plus difficile à faire qu’à dire.

Aussi voici quelques autre points de détails qui me gène dans l’analyse fait par l’OM dans sa présentation. A noter qu’ils sont récurrents chez les défenseurs de la radio-logicielle (SDR). Il compare une radio “commerciale” disons à 1000$ au concept de BeagleBrick qui coûterait moins de 300$, mais :

  • Il n’intégre pas le prix d’un écran et d’un périphérique de saisie (clavier, écran tactile…) dans le coût. On pourrait évaluer ce coût supplémentaire à 100$.
  • Il compare une radio sortant 100W et une platine QRP limitée à 1W. Or l’étage de puissance et quasiment ce qui coûte le plus cher même si on le prévoit pour une bande unique. Cela rajoute donc un surcoût de 200$.
  • Les émetteurs-récepteurs type SoftRock sont souvent monobandes ou du moins limités. La solution est généralement trouvée sous forme de modules enfichables (pas très pratique ni fiable) ou avec un système comme la MoBo 4.3 (http://sites NULL.google NULL.com/site/lofturj/mobo4_3) qui a un coût loin d’être négligeable.
  • Du point de vue performances, les circuits audio intégrés à la BeagleBoard sont loin d’être de qualité suffisante. Les vrais adeptes de la SDR le savent bien, si on veut pourvoir profiter des qualités intrinsèques du concept de la conversion I/Q il faut un excellent convertisseur ADC. Ils sont toutefois suffisant pour générer un signal pour faire de l’AFSK avec un transceiver traditionnel, ou pour faire de la réception SDR occasionnelle.
  • Il y a l’éternelle question des latences inhérentes au SDR utilisant des micro-ordinateurs polyvalents plutôt que de DSP dédiés. C’est un long débat, mais sachez que faire de la CW à haute vitesse (en concours par exemple) avec une radio type FlexRadio même haut de gamme n’est pas du goût de tout le monde.

Enfin, je ne voudrais pas paraître de dénigrer le travail de KC4NYK et il a eu le mérite d’aborder le sujet et d’essayer. Tout ce que je voudrais dire, c’est que les transceivers HF “traditionnels”, qui l’air de rien sont tous des SDR aujourd’hui (le signal est généré ou démodulé numériquement par un DSP) ont encore de beaux jours devant eux. C’est vrai qu’on dispose maintenant de circuits “grands publics” plutôt performants pour un coût parfois dérisoire. Ils sont tout de même loin des performances des circuits spécialisés pour un coût comparable.

A ce propos, et comme point de comparaison, Elecraft vient d’annoncer la disponibilité de sa carte P3SVGA (http://www NULL.elecraft NULL.com/P3/p3 NULL.htm#svga) qui est en fait un module d’extension du Panadapter P3. Cette carte augmente les performances du P3 pour lui permettre d’afficher sur un écran externe de résolution 1920x1080p. Elle est proposée à 260$.

BeagleBoard, Raspberry Pi et autres PC embarqués pour les radioamateurs

L’arrivée du Rapsberry Pi (http://www NULL.raspberrypi NULL.org/) a fait beaucoup parlé de cette famille de PC « embarqués ». Les 10 000 premières unités produites ont été précommandées par au moins 200 000 clients ! Un point sur ce qu’ils sont réellement et leur intérêt pour les radioamateurs me paraît nécessaire.

Raspberry Pi (http://img1 NULL.lesnumeriques NULL.com/news/23/23602/rapsberry-pi-mini-pc-35 NULL.jpg)Nous commencerons par les plus anciens de la famille des BeagleBoard (http://beagleboard NULL.org/), projet totalement ouvert, plus destinés à être des « plateformes de développement » selon leurs auteurs et qui sont appuyés par Texas Instrument cherchant ici à développer l’usage de ses processeurs. L’architecture étant ouverte, un industriel peut ensuite produire une série taillée sur mesure de la plateforme correspondant exactement à ses besoins et réduisant les coûts.

Le Rapsberry Pi est plus un produit pour geeks et se veut vendu en masse. Plus fermé conceptuellement, il offre aussi moins de possibilités pour le concepteur du matériel de bidouiller.
Le dernier de la famille, dont nous ne parlerons pas c’est le Cotton Candy (http://www NULL.fxitech NULL.com/products/) : Un PC au format Clé USB plutôt puissant (il embarque un processeur Cortex A9 et 1 Go de RAM) n’offrant en fait aucune vraie entrée-sortie.

Tout d’abord les caractéristiques.

BeagleBoard-xMBeagleBoard originale

  • 125 $
  • Texas Instrument OMAP3530 à 720 MHz (ARM Cortex A8) = 1200 MIPS
  • Processeur graphique PowerVR SGX530
  • DSP TMS320C64x+ pour vidéo HD ou divers traitement du signal (SDR)
  • 128 Mo RAM, 256 Mo Flash
  • Bus I2C/SPI, GPIO, RS-232, JTAG
  • Connecteur USB et USB-on-the-go, lecteur carte MMC/SD
  • Entrée-sortie audio stéréo
  • Sortie DVI et S-Video
  • OS : Android, Ubuntu, WinCE, RISC OS, Symbian…autres Linux

BeagleBoard-xM (différences avec le BeagleBoard original) :

  • 149 $
  • Texas Instrument OMAP3530 à 1 GHz
  • 512 Mo RAM, pas de Flash intégrée
  • Ethernet 10/100
  • Port caméra
  • Lecteur MicroSD (jusque 4 Go)
  • Sortie HDMI (plus de DVI)

Pandaboard ES

PandaBoard ES

  • 182$
  • Texas Instrument OMAP4460 à 1,2 GHz (ARM Cortex A9 bicoeur)
  • Processeur graphique PowerVR SGX540 à 384 MHz
  • DSP TMS320C64x
  • 1 Go de RAM, pas de Flash intégrée
  • Lecteur carte SD (SDHC jusque 32 Go)
  • Ethernet 10/100, Wifi et Bluetooth
  • Bus I2C/SPI, GPIO, RS-232, JTAG
  • Port caméra, Connecteur DSI pour écran LCD
  • USB et USB-on-the-go
  • Sortie DVI et HDMI
  • OS : Android, Ubuntu et RISC OS

Raspberry Pi

  • 35$
  • Broadcom 2763 à 700 MHz (ARM1176JZF-S)
  • 256 Mo RAM
  • Sortie audio stéréo (pas d’entrée)
  • Ethernet 10/100
  • Bus I2C/SPI, GPIO
  • Connecteur DSI pour écran LCD
  • OS : Debian, Fedora, RISC OS
    (l’architecture ARMv6 n’est pas supportée par Ubuntu ou Android)

En faisant une petite recherche sur le web on se rend vite compte que peu de projets tournant sur ces plateformes ont trait au radioamateurisme. Ceci pour plusieurs raisons.

Tout d’abord une grande partie des applications que nous utilisons (cahier de trafic, cluster, modes numériques…) a besoin d’une interface homme-machine (un écran, un clavier en résumé) et ceci n’est pas inclus dans les produits ci-dessus. Le coût au premier abord paraît faible mais quand on y ajoute un écran on arrive vite à celui d’un PC portable premier prix.

SDR2Go avec UHFSDR

Ensuite, pour faire de ces systèmes un contrôleur de radio type SDR, se présentent rapidement deux écueils. Le premier c’est l’absence d’entrée-sortie à grande vitesse (le plus rapide étant le bus USB) pour accéder directement aux données d’un ADC comme sur le HPSDR. Les Beagleboard embarquent bien une entrée-sortie audio stéréo (soient 2 DAC et 2 ADC) mais les circuits sont de piètre qualité, loin des besoins d’une vrai radio SDR. Le deuxième c’est la difficulté pour programmer le DSP embarqué dans ces systèmes. Contrairement à ce qui existe sur d’autres plateformes dédiées au traitement du signal (comme celles utilisées sur le SDR2Go (http://www NULL.qsl NULL.net/k5bcq/Kits/Kits NULL.html) ou le SDRCube (http://www NULL.sdr-cube NULL.com/)), ici tout est à faire ou presque, et cela rebute pas mal de développeurs (voir le portage de GNU Radio sur Beagleboard (http://www NULL.opensdr NULL.com/node/17)).

Quand on regarde bien, le vrai but de ces produits n’est pas de fournir un système polyvalent mais surtout une plateforme « multimédia » comme le sont les smartphones avec qui ils partagent la plupart des composants micro-processeur en tête. Ok ils disposent d’entrées-sorties supplémentaires pour les adeptes de la bidouille, mais celles dont nous aurions besoin !

Un peu après avoir publié cet article j’ai lu un message sur la liste Knight QRSS qui suggérait que ce type de PC embarqué pourrait être parfait pour servir de Grabber QRSS. C’est une application que je n’avais pas envisagé. Seule la PandaBoard a suffisamment de puissance pour servir de décodeur WSPR par contre. A moins de porter les algorithmes de K1JT sur le DSP, mais c’est une autre paire de manches.

Et Arduino ?

En guise de conclusion, comment ces produits se comparent-ils à un Arduino (http://www NULL.arduino NULL.cc/) ? Tour d’abord en terme de performances brutes l’Arduino est largement derrière. Le processeur de l’ArduinoMega est à 16 MHz, 8ko de SRAM, 256Ko de Flash, pas de DSP, pas de circuits vidéos… rien à voir. C’est vrai qu’un Arduino est aussi puissant qu’un ordinateur familial des années 80, et qu’il peut déjà faire pas mal de choses.

La vraie force de l’Arduino c’est d’automatiser des tâches nécessitant beaucoup d’interactions électriques ou électroniques : commandes des relais (pour une balise, un manipulateur CZ) , capturer des valeurs (fréquencemètre, Wattmètre), piloter un bus I2C. Ecrire un tel code sur un Arduino est très simple et permet de concevoir un matériel autonome, fiable, très simple, consommant peu d’énergie et peu coûteux à produire en série si besoin. L’environnement de développement (IDE) de l’Arduino permet de concevoir un tel code en quelques minutes.

Bien entendu, on peut faire la même chose avec un BeagleBoard dont les entrées-sorties GPIO et I2C sont accessibles par des commandes du shell Linux. Honnêtement, c’est un peu utiliser un marteau-pilon pour enfoncer une punaise, et si on veut faire des choses complexes on va sentir le besoin d’un vrai environnement de développement et d’un langage dédié. De plus dupliquer le circuit sera difficile et coûteux et la complexité du matériel (et du logiciel) augmente le risque de panne.