Bonjour à tous,
La société qui fabrique le bloqueur d'appels CLIBASE a cessé ses activités.
https://www.clibase.com/
Elle a mis en ligne des outils et un descriptif technique permettant à ceux qui le souhaite de développer un nouveau firmware pour le CLIBASE V6 PREMIUM:
https://github.com/electroremy/CLIBASE
Voici un résumé des caractéristiques du CLIBASE V6 PREMIUM, qui est composé des organes suivants :
- Un microcontrôleur PIC 18F67J60 avec contrôleur Ethernet intégré
https://www.microchip.com/wwwproducts/en/PIC18F67J60
Le microcontrôleur gère lui-même la quasi-totalité des fonctions de l’appareil : la démodulation des données d’appel et des signaux DTMF n’a recours à aucun composant externe. Le microcontrôleur reçoit le signal analogique de la ligne et doit le démoduler seul (de manière logicielle).
- Un écran LCD Graphique 64 x 128 pixels, géré par un contrôleur ST7565P intégré
L’écran est adressé en SPI (clock, data in, data out, CS) et dispose de quelques lignes de contrôle supplémentaires (« A0 », « RES/ »), essentiellement utilisées pour l’initialisation. Il dispose d’un rétroéclairage RGB. Chaque couleur est reliée à une GPIO distincte du PIC. La luminosité globale du rétroéclairage est ajustable en PWM via le microcontrôleur.
- Une carte SD d’une capacité de 128Mo
La carte est adressé en SPI (clock, data in, data out, CS ). Le système de fichier qu’elle emploie initialement est un système propriétaire, il pourra être remplacé par n’importe quel autre système de fichiers (FAT, NTFS, …)
- Un encodeur rotatif avec bouton poussoir intégré
Les impulsions transcrivant les rotations du bouton sur ses broches A et B arrivent directement au PIC sur 2 broches dédiées. Le bouton poussoir intégré est également raccordé à une broche dédiée du PIC. Note : Les « weak pull-up » doivent être activées pour ces 3 broches.
- Une interface pour la ligne téléphonique externe
Cette interface passive est raccordée au microcontrôleur et lui présente les entrées/sorties suivantes : Entrées : - une commande de prise de ligne : elle permet de prendre la ligne (décrocher). Lorsque la ligne est prise, il est alors possible d’y injecter un signal audio et de lire le signal analogique reçu sur la ligne.
- une commande d’espionnage de ligne
Elle permet d’écouter ce qu’il se passe sur la ligne sans la décrocher. La visée principale de cette commande est la lecture des données d’appel en phase raccrochée. Attention, cette commande ne doit pas être activée durant des impulsions de sonnerie. - une entrée d’injection audio sur la ligne : le signal audio à injecter est présenté en PWM, puis l’interface le lisse pour devenir analogique avant de l’injecter sur la ligne. Sorties : - un signal analogique représentant le signal reçu sur la ligne - un signal numérique représentant les impulsions de sonnerie
- Une ligne téléphonique interne
Le matériel est capable de synthétiser en totalité une ligne téléphonique classique (génération de la tension de repos, de la tension de service, des signaux de sonnerie, génération et transmission de données d’appel au téléphone, transmission de données audio à celui-ci et à l’inverse enregistrement ou traitement de l’audio qu’il renvoie). Typiquement, cela permet faire sonner le téléphone en choisissant ce qu’il doit afficher, de diffuser un message dans le combiné, de faire un serveur vocal interactif, un répondeur, …
- Une prise USB
Qui ne sert qu’à l’alimentation électrique de l’appareil (les lignes de données ne sont pas raccordées)
- L’appareil intègre un bootloader
Qui permet le chargement de nouveaux micrologiciels via son interface Ethernet, sans avoir à accéder physiquement à la carte électronique. Avant d’envoyer un micrologiciel à l’appareil, celui-ci doit être encodé au moyen de l’outil d’encodage fourni avec le présent document. Une fois le fichier *.hex encodé, il suffit de l’envoyer à l’appareil via le protocole TFTP pour qu’il soit installé. L’outil d’encodage peut faire automatiquement ce transfert. Le bootloader est installé dans les premiers octets de ROM de l’appareil. Il ne peut être effacé que par une programmation physique de la carte (via un programmateur ICD). Si par erreur votre micrologiciel requiert l’espace ROM alloué au bootloader, celui-ci annulera automatiquement l’installation et le bootloader restera intact. L’espace ROM réservé au bootloader s’étend de l’adresse 0x1DBC0 à l’adresse 0x1FBFF. Le projet MPLAB de base fourni avec le présent document est déjà paramétré pour s’installer « à côté » du bootloader. Il n’y a donc aucun paramétrage à effectuer sur ce point par le développeur tiers. Pour faire un micrologiciel il faut donc : effectuer son codage sur MPLAB, le compiler en « Release » puis l’encoder et l’envoyer au CLIBASE au moyen de l’outil fourni. L’adresse MAC de chaque appareil est stockée dans sa ROM dans l’espace alloué au bootloader, à l’adresse 0x1FBFA (sur 6 octets). Le micrologiciel principal peut donc la lire en ROM directement à cette adresse. Etant dans l’espace ROM du bootloader, elle est donc protégée contre tout effacement malencontreux.
Le fonctionnement du bootloader est le suivant : Lors de la mise sous tension de l’appareil, le bootloader reste actif 3 secondes avant que le micrologiciel principal ne démarre. Durant ces 3 secondes, l’appareil s’attribue l’IP « 192.168.1.111 » et attend de recevoir un micrologiciel via TFTP. Si un transfert TFTP est initialisé dans le délai imparti, le bootloader reçoit le nouveau micrologiciel puis le démarre dès la fin du transfert. Il est également possible de transférer un nouveau micrologiciel au-delà des 3 secondes de démarrage et via une autre adresse IP. Il s’agit simplement que le micrologiciel principal en fasse la requête au bootloader au moment voulu. Pour cela, dès que le micrologiciel principal détecte l’arrivée d’un paquet TFTP (port 69) , il doit inscrire à un emplacement mémoire précis l’adresse IP à utiliser (l’adresse actuelle) et l’adresse MAC puis faire un reboot logiciel. Le bootloader prendra alors l’adresse IP demandée et démarrera la réception du nouveau micrologiciel par TFTP. Plus en détail : Lors de la réception d’un paquet TFTP, le micrologiciel principal doit écrire dans le registre PROD : - l’adresse MAC (6 octets), suivie de - l’adresse IPv4 (4 octets), suivie de - la checksum IP des 2 (2 octets) Il doit ensuite positionner le bit POR du registre RCON à 0 et redémarrer l’appareil (ASM RESET) . Il n’est pas obligatoire d’implémenter la possibilité de mise à jour via le micrologiciel principal. L’utilisation exclusive du 192.168.1.111 dans les 3 secondes suivant la mise sous tension peut être tout à fait suffisante si l’utilitaire de mise à jour développé le gère bien.
A bientôt
Partager