Contrôler un Si570 avec le LaunchPad MSP430 par F4DTR

Intérieur Si570 - Photo http://hifiduino.wordpress.com/2012/10/17/inside-the-silicon-labs-si570-programmable-xo/ (http://xv4y NULL.radioclub NULL.asia/wp-content/uploads/2013/09/Inside_Si570 NULL.jpg)Vous allez le voir, aujourd’hui, c’est un peu la journée du MSP430 avec 3 billets sur le sujet…

Tout d’abord, Jean-Yves de F4DTR a partagé sur le forum de 43oh.com son travail autour du Si570 (http://forum NULL.43oh NULL.com/topic/4380-change-frequency-to-si570-dxo-on-i2c-not-fully-fonctionnal/). C’est un travail en cours et malheureusement il manque de temps pour le faire aboutir. Si vous êtes à l’aise avec l’écriture de code pour le MSP430 sur Energia et que vous souhaitez bénéficier d’un oscillateur agile, stable et de très large gamme couverte, alors donnez-lui un coup de main.

QScope avec K9W et TO2TT

Logo QScope.org (http://xv4y NULL.radioclub NULL.asia/wp-content/uploads/2013/08/logo_qscope_b NULL.png)En ce moment j’ai peu de temps pour le blog. Mes diverses activités professionnelles prennent la première place, avec entre autres un projet d’ouverture de restaurant qui redevient d’actualité. Ensuite j’ai été pas mal sollicité sur QScope (http://www NULL.qscope NULL.org/), d’abord par des nouvelles statistiques suggérées par les utilisateurs, ensuite par les bogues à corriger puis finalement par des revues et bulletins DX qui souhaitent avoir plus de détails afin de publier un article complet sur le projet.

La bonne nouvelle c’est que les organisateurs de deux grosses Expéditions à Wake Island (K9W) (http://www NULL.wake2013 NULL.org/) et à Mayotte (TO2TT) (http://www NULL.i2ysb NULL.com/idt/) ont annoncé leur volonté d’utiliser QScope en interne pour l’organisation de leurs opérations. Les statistiques produites leur permettront d’avoir jour par jour toutes les informations pour mieux répartir les tours d’opérateurs et la répartition des activités par bandes et modes dans le temps. Le but étant de maximiser le nombre de QSOs afin de mieux “rentabiliser” le coût de ces organisations. Le nombre de QSOs pour de telles DXpeditions en fin d’opération s’élève vite à 100.000, et ces utilisateurs utiliseront les statistiques les plus coûteuses en terme de temps machine!

J’ai donc du passer du temps afin de “préparer l’avenir”. En effet, si maintenant l’application compte 600 utilisateurs enregistrés et plus de 3 millions de lignes de log téléchargées, l’effervescence des premiers jours s’est calmé en moyenne il y a 10 utilisateurs “actifs” par jour qui produisent des statistiques et 1,8 millions de lignes de log dans la base de données (les utilisateurs effacent souvent leur logs après avoir produit les statistiques). La base de données principale fait 250 Mo, et les index occupent autant. Quand on tient compte de la RAM du serveur occupée par le système, le SGBDR lui-même et les différents shared buffers, on se rend compte qu’on se rapproche vite de la capacité maximale disponible de 1 Go actuelle sur le serveur. Rapidement, au lieu de lire les données dans la mémoire cache rapide, c’est sur le disque dur très lent que le SGBDR ira chercher ses informations à traiter. Les temps de calcul seront multiplié par 10 au moins…

Deux solutions à cela : augmenter la RAM du serveur ou mieux répartir les données. La première solution est la plus rapide à mettre en oeuvre, le problème c’est que chez le fournisseur que j’ai choisi c’est aussi la plus coûteuse. Les prix sont très attractif pour l’entrée de gamme, mais ensuite on grimpe très vite. L’autre solution est donc beaucoup plus intéressante sur le long terme. La réponse que je souhaitais mettre en place s’appliquait en trois phases :

  1. Mettre en place le mécanisme de Paritionnement de Tables de PostgreSQL. Simple à mettre en place en théorie, même si entièrement manuel contrairement aux SGBDR commerciaux comme Oracle ou Sybase, il permet de diminuer la taille de chaque table à charger en RAM et la taille des index. Je pensais donc répartir mes utilisateurs sur 27 tables (les 26 lettres de l’alphabet plus un “fourre-tout”) en fonction de la première lettre de leur indicatif. Après quelques tâtonnements (une maquette avec 2 utilisateurs est bien plus facile qu’une base de production avec 600 comptes) tout fonctionnait parfaitement. Les tables les plus grosses faisaient 40 Mo et les index avaient bien diminué en taille. Le “hic” c’est que les performances étaient pires qu’avant!!! Le problème venait de la fonction choisie pour répartir les utilisateurs sur les différentes tables. Celle-ci était coûteuse en temps machine et la pénalité se paye à chaque requête. J’ai donc du faire marche arrière… Le partitionnement reste intéressant, mais pour une répartition plus légère à calculer (simple comparaison) comme celle sur une date.
  2. Donner la possibilité d’attribuer à chaque utilisateur une base de données différente. Là, le travail se résumait à pas mal de réécriture du code existant pour permettre de se connecter sur différentes base de données “à la volée”. Rien d’insurmontable surtout que j’avais envisagé la chose assez tôt. En pratique ça me permet d’isoler facilement les “gros” utilisateurs comme les DXpeditions. Ils feront leurs calculs gourmands sur une base de taille plus petite que la base principale, diminuant les temps de traitement. La compartimentation au niveau du serveur aidera aussi les utilisateurs de la base principale à être moins impactés puisque ce seront deux emplacements mémoire et deux emplacements disques différent qui seront consultés, limitant les phénomènes de “lock“.
  3. Permettre d’utiliser plusieurs petits serveurs plutôt qu’un gros. Techniquement la solution est la même que la précédente, sauf que cette fois-ci au lieu d’interroger une autre base de données du même serveur je vais la chercher sur une autre machine. Cela est très intéressant car en répartissant les utilisateurs sur plusieurs bases on évite que celles-ci grossissent de trop et deviennent trop lourdes à gérer. Du point de vue financier, c’est aussi le plus intéressant car en doublant le coût, on double réellement la capacité (CPU, RAM et disque) alors que dans la grille tarifaire du fournisseur, doubler le prix payé pour le serveur ne faisait que doubler la RAM. Le contrecoup c’est que ça fait deux systèmes à gérer et donc plus de temps à passer. Toutefois, si les deux systèmes sont identiques et disposent de bonnes procédures automatisées, cette maintenance reste limitée.

Comme vous le voyez, je suis assez satisfait du temps passé sur QScope car cela me permettra de répondre plus facilement à l’augmentation de la demande qui va venir avec la saison des concours et des DXpeditions. L’échec de la mise en place du paritionnement n’est que partiel, et dans la réalité le serveur se comporte mieux que je ne l’avais craint. En effet, en plus de la RAM physique de 1 Go qui est allouée, 4 Go de disque SSD très rapide sont vus par le système comme de la RAM et permettent de diminuer les temps de réponse du disque tant qu’on reste dans des limites acceptables.

Connecter un Kenwood TS-590s et un SDR AFEDRI avec Net SDR et CW Skimmer

Schéma connexion TS590s et AFEDRI par GM0DEQ (http://xv4y NULL.radioclub NULL.asia/wp-content/uploads/2013/09/GM0DEQ_TS590s_AFEDRI NULL.png)Sur la page de Ian G3NRW, dans la rubrique How-To, vous trouverez en bas de la liste un document de Bo GM0DEQ appelé “How to Integrate the Kenwood TS-590S with AFEDRI – NET SDR & CW Skimmer” et qui décrit comment faire fonctionner un Kenwood TS-590s, un récepteur SDR à conversion numérique directe AFEDRI (http://www NULL.afedri-sdr NULL.com/) avec les logiciels Net SDR et CW Skimmer.

Le document est très très complet, fait 23 pages et couvre tous les aspects du problème avec de nombreux schémas, photos et captures d’écran. Un modèle de document technique.

Au passage, pour ceux qui ne le connaisse pas, l’AFEDRI (http://www NULL.afedri-sdr NULL.com/) est aujourd’hui le must-have des récepteurs SDR bon marché. Très large bande (100 KHz à 30 MHz), à conversion directe DDC et disposant d’un port Ethernet, il permet de recevoir simultanément jusque 1850 KHz de bande passante! A 249$ seulement, son seul défaut est la résolution limitée de son ADC (12 bits) qui réduit la dynamique et augmente le bruit de conversion. En pratique, ce n’est pas un problème tant que c’est pour de la réception, mais n’en attendez pas un concurrent au Flex-6700 (http://xv4y NULL.radioclub NULL.asia/2013/06/28/nouvelles-des-flex-6700/).

Une nouvelle clé Morse exotique Delany par Ron G3YUH

Recontruction Delany Auto-Dot par Ron G3YUH (http://xv4y NULL.radioclub NULL.asia/wp-content/uploads/2013/09/G3YUH_Delany_del16 NULL.jpg)Le fonctionnement est assez obscure, mais Ron nous promet une vidéo d’ici peu pour mieux comprendre le mouvement indépendant des deux bras-leviers. En attendant, vous pouvez voir toutes les photos et documents sur le site de Ron G3YUH (http://www NULL.g3yuh NULL.com/keys10/key225/key225 NULL.html).

 

Les ATS et MTR à la loupe par AB6WL

Earl AB6WL a écrit une impressionnante série de 19 documents à propos du transceiver Mountain Topper Rig (MTR) de KD1JV. Ces documents sont disponibles en ligne dans le Groupe Yahoo AT_Sprint, ce qui demande de s’y inscrire (http://groups NULL.yahoo NULL.com/neo/groups/AT_Sprint/files/AB6WL/). Le MTR étant l’évolution la plus récente de la série des ATS, de nombreuses informations s’appliquent aussi aux précédents ATS, ATS-2, ATS-3 et ATS-4 (ces derniers étant assez différents sur certains points).

AB6WL MTR Guide Capture oscllloscope (http://xv4y NULL.radioclub NULL.asia/wp-content/uploads/2013/09/AB6WL_MTR_Guide NULL.png)Les guides d’assemblage de KD1JV sont excellents pour le constructeur de kits aguerri qui souhaite aller vite et sans erreurs. Ils sont toutefois peu didactiques et surtout moins adaptés au débutant. Celui-ci peine parfois à saisir le rôle exact de chaque circuit et a un taux d’erreurs au montage plus élevé. Des manuels comme ceux de AB6WL lui sont beaucoup plus indiqués. En abordant le montage bloc fonctionnel par bloc fonctionnel, l’OM qui découvre cette radio va en comprendre le fonctionnement interne et surtout pourra tester et dépanner le circuit monté à chaque étape. Il est plus facile d’isoler une erreur de cette façon et de la corriger, surtout sur un circuit CMS qui ne permet pas de “soulever une patte” de condensateur ou de résistance pour pouvoir isoler un circuit.

 

Nouveautés pour le SDR-Cube : carte MultiRX, nouveau BootLoader et filtre Micro paramètrables

Tout d’abord un petit mot pour vous dire que je suis désolé ne de pas avoir mis à jour le blog plus régulièrement ces derniers temps. J’ai été beaucoup pris par mon nouveau site QScope (http://www NULL.qscope NULL.org/) qui rencontre un succès plus important qu’attendu avec plus de 600 utilisateurs et 2 millions de lignes de logs téléchargées…

SDR Cube Module MultiRX (http://xv4y NULL.radioclub NULL.asia/wp-content/uploads/2013/09/SDR_Cube_MultiRX NULL.jpg)Revenons à nos moutons. George N2APB et Juha OH2NLT annoncent la disponibilités de plusieurs nouveautés pour le SDR Cube (http://sdr-cube NULL.com/) qui avaient été annoncées un peu plus tôt.

  • La carte Multi-RX (http://www NULL.sdr-cube NULL.com/Multi-Rx/index NULL.html) permet la réception “couverture générale” de 2 à 30 MHz avec des filtres commutés et les préampli nécessaires pour niveler le gain. Les modules enfichables RXAMP sont donc caducs. Cette carte sera fournie par défaut avec tous les nouveaux SDR Cube. Elle est disponible au tarif de 30$ en kit et 60$ assemblée (http://www NULL.sdr-cube NULL.com/ordering NULL.html).
  • Le Flash Loader mutiplateforme de Tauno OH2UG (http://www NULL.sdr-cube NULL.com/Bootloader/index NULL.html) est une nouvelle méthode pour mettre à jour le firmware du SDR Cube de manière plus fiable et plus conviviale. Il est disponible pour Windows, Mac OS X et Linux.
  • Les filtres Micro sélectionnables (http://www NULL.sdr-cube NULL.com/MicFilter/index NULL.html) permettent maintenant d’effectuer des filtrages DSP sur l’audio que vous transmettez avec le SDR Cube. Quatre filtres sont au choix avec le premier très large laissant passer les basses pour les QSO de tous les jours, et d’autres filtres plus étroits pour améliorer la clarté de votre voix en DX.

Toutes ces nouveautés nécessites la mise à jour du logiciel interne du SDR Cube vers la version 3.01 (http://www NULL.sdr-cube NULL.com/Software NULL.html) pour fonctionner.