Quels téléphones ont USB UART. Convertisseur USB-uart : clignotant avec adaptateur

Maison / Pannes

La plupart des appareils de blog site web travaille avec UART. Et c'est naturel : UART est un protocole très simple et peu exigeant. Il est facile de travailler avec à la fois du côté du microcontrôleur et du côté du PC. Mais l’utilisation de l’UART présente un inconvénient. La grande majorité des microcontrôleurs intègrent un UART, mais avec les PC, la situation est un peu pire. L'interface UART est native du port COM (dans la version RS232), mais en raison des exigences croissantes en périphériques informatiques, le port COM commence à devenir obsolète. Cela se produit en raison d'une faible vitesse, d'une incapacité à se développer, etc. Il a depuis longtemps disparu des ordinateurs portables en tant que classe de ports. C'est au tour des ordinateurs de bureau...
Mais tout n’est pas mauvais. Il y a un moyen de s'en sortir ! De nombreux fabricants ont développé et produisent des puces de conversion USB-UART (ponts). Le principe de leur travail est le suivant. Un pilote spécial est installé sur le PC, qui crée un port COM virtuel dans le système. Pour les programmes PC, ce port n'est pas différent d'un port COM ordinaire - ils "ne remarquent pas" la substitution. Tous les messages envoyés à ce port virtuel sont convertis en messages de protocole USB. Une puce de convertisseur connectée au port USB reçoit ces messages et génère des signaux UART. Les microcircuits populaires et abordables incluent FT232 et PL-2303 (et il existe également OTI006858 et CP2102).

Rapprochons-nous maintenant du sujet de la question.
Nous avons donc réalisé que nous avions besoin d'un convertisseur USB vers UART. Vous pouvez l'obtenir de plusieurs manières :
1 Achetez le microcircuit requis et soudez l'appareil vous-même. Si vous assemblez un appareil, il sera pratique que le convertisseur soit intégré à l'appareil. Si vous recherchez sur Google, vous trouverez de nombreux circuits de tels convertisseurs - graver la carte et assembler le convertisseur ne sera pas un problème.
2 Achetez un convertisseur prêt à l'emploi. Ce n’est pas non plus une mauvaise option. Il existe de nombreux appareils de ce type en vente. Dans différents facteurs de forme, à différents prix – choisissez pour tous les goûts !
3 Il existe une autre option, une alternative. Je suis d'accord - ce n'est peut-être pas toujours acceptable, mais quand même... Vous pouvez « emprunter » le convertisseur à un autre appareil.

Dans cet article, je propose d'utiliser un cordon de téléphone portable comme convertisseur USB vers UART ( Câble de données). Pourquoi une lanière pour téléphone portable ? Je vais vous expliquer maintenant.
Il y a quelque temps, le protocole UART était largement utilisé pour communiquer entre un téléphone mobile et un ordinateur. Les raisons de son utilisation généralisée sont claires : les fabricants avaient besoin d'un canal de communication bon marché et répandu avec le PC. Il peut s'agir d'un port COM ou USB. À cette époque, travailler avec l'USB était coûteux et peu rentable - COM a gagné. Les téléphones mobiles émettent un signal UART « à l’extérieur » et les cordons du câble de données le convertissent en port COM ou USB. De nos jours, l'électronique a parcouru un long chemin et l'USB dans les microprocesseurs des téléphones portables est devenu obligatoire. Les cordons des téléphones modernes sont remplacés par des rallonges USB classiques.
Et maintenant nous arrivons à la partie la plus intéressante. De nouveaux téléphones font leur apparition, les anciens cordons convertisseurs deviennent inutiles à quiconque, ce qui signifie que les vendeurs tentent de s'en débarrasser à tout prix. Les prix de ces vieux lacets périmés sont tout simplement ridicules. Je suis donc tombée sur ces boîtes à lacets pour un tel prix que je n'ai pas pu résister et j'en ai acheté deux. Maintenant je vais te le dire que faut-il faire pour créer un convertisseur USB UART à part entière à partir d'un tel cordon.

Tout d’abord, vous devez acheter cette même dentelle.

Tous les lacets ne conviennent pas. Vous devez d’abord rechercher sur Google les noms des lacets équipés d’un convertisseur. Visuellement, vous devez rechercher un cordon avec une boîte au milieu.

Voici la boîte d'emballage et son contenu.

Le kit comprend le cordon lui-même et un disque de pilotes. Vous pouvez immédiatement jeter le disque - il y a un tel ramassage des ordures qu'il est problématique de trouver quelque chose dont vous avez besoin. Prenez la dentelle elle-même.

Maintenant Regardons de plus près le tableau convertisseur



À la suite de l'examen, nous trouvons un microcircuit Prolifique PL-2303HX.

Dans 90% des cas, nous verrons ce microcircuit particulier dans de tels lacets. La raison est son faible coût. De plus, cette puce se retrouvera également dans la plupart des convertisseurs USB-UART que vous achetez en magasin. Vous verrez très rarement le FT232, car il est plus cher et n'est pas disponible dans les lacets chinois bon marché (sauf si vous tombez sur un cordon de marque). Si vous tombez sur un FT232RL, considérez-vous chanceux : vous pouvez utiliser un tel cordon pour vous moquer du programmateur (le FT232RL peut fonctionner en mode beatbang).

Faites attention! Vous pouvez trouver un clone Prolific sur le plateau. Celui-ci, par exemple, était dans le deuxième, d'après les lacets que j'ai achetés.

La planche est la même, le design est le même, mais le cristal n'est clairement pas Prolific (à en juger par son apparence, c'est un clone moins cher). Le manque de quartz est alarmant, mais la carte fonctionne (je soupçonne qu'elle fonctionne à partir d'un oscillateur RC interne - ce n'est pas très bon). Dans tous les cas, de tels microcircuits sont tout à fait analogues (au moins en termes de pattes) à Prolific.

Allez maintenant sur le site Prolific et téléchargez la fiche technique de la puce
- Convertisseur USB-UART prolifique

Dans la fiche technique, nous trouvons le brochage et regardons sur quelles pattes se trouvent les signaux UART dont nous avons besoin :
— Émetteur TXD – 1;
— Récepteur RXD – 5.

On retrouve les pattes correspondantes sur la puce.

Ensuite, à l'aide d'un testeur conventionnel, nous trouvons les plages de contact les plus proches auxquelles nous pouvons souder les fils. Vous ne pouvez pas souder aux pieds - ils sont petits. Nous avons aussi besoin de «terre» - tout est simple ici, ce sera de grands polygones. Soudez les fils aux plots correspondants.
Nous attachons un connecteur pratique à l'autre extrémité du cordon.

Probablement quelqu'un a déjà lu les messages sur notre forum exmortis sur la fabrication d'un câble USB-TTL à partir de matériaux improvisés.

Nous avons décidé de publier ceci dans un article de guide distinct. Merci exmortis pour le matériel fourni.

Résumé : Cet article est un ajout à l'interface série, qu'il est recommandé de lire en premier.

Comme vous le savez grâce à l'article mentionné ci-dessus, le décodeur Ritmix RZX-50 peut être connecté à un ordinateur via uart ttl, mais comme les signaux de tension ne correspondent pas à la norme rs-232, un adaptateur est nécessaire. Comme solution toute faite, vous pouvez utiliser un convertisseur spécial par exemple, voire celui-ci.

La difficulté est que de telles solutions ne sont pas toujours disponibles, et si elles le sont, le prix indiqué peut être assez élevé.

Cependant, vous pouvez utiliser un câble adaptateur USB-RS232 (com) classique, vendu dans n'importe quel magasin d'informatique. Par exemple, comme ceci :

Câble Gembird usb-rs232 uas111. C'est pratique car le contrôleur est caché dans une boîte soignée. Certes, il est scellé, donc pour l'ouvrir, vous devrez soit le scier, soit couper le plastique avec un fer à souder.

En principe, n'importe quel autre câble similaire fera l'affaire, mais vous devez faire attention à la facilité d'accès à la carte avec le contrôleur. Sur certains câbles, il est caché dans le connecteur RS-232, qui est difficile à ouvrir, tandis que sur d'autres, il peut y avoir une puce en forme de gouttelette qui n'est pas facile à souder. En fin de compte, un tel câble pourrait être basé sur une puce exotique.

Puce pl2303. Tout d'abord, les pattes 1 (TXD) et 5 (RXD) sont intéressantes ; la numérotation des pattes va dans le sens inverse des aiguilles d'une montre à partir du coin marqué sur la puce elle-même par un point.

Verso avec puce max213. Le signal de la 1ère étape de pl2303 arrive à la 6ème étape de max, et le signal de la 5ème arrive à la 19ème étape de max.
En principe, ce microcircuit n'est pas nécessaire pour uart-ttl, il peut même interférer. Par conséquent, il doit être soigneusement dessoudé, et plus il sera facile à souder aux plages de contact.

La puce max213 est dessoudée. Le fil rouge est soudé au signal TXD, le fil jaune au signal RXD et le fil noir est mis à la terre. Par la suite, vous pouvez vous connecter selon le schéma Antony, en connectant les fils « en croix », c'est-à-dire RXD du contrôleur vers TXD du décodeur et TXD vers RXD, respectivement.

Broches d'interface série pour Ritmix RZX-50.

La deuxième partie importante est la connexion directe à l'ordinateur et l'établissement de la connexion.
Ci-dessous, nous examinerons une situation spécifique lorsque W7 x64 est installé sur un ordinateur (ordinateur portable) et que Xubuntu 11.10 x32 est installé sur la machine virtuelle VirtualBox. Tout ce qui est décrit ci-dessous est également vrai pour n'importe quelle distribution Linux.

Le câble soudé comme indiqué ci-dessus est connecté à l'ordinateur (le rzx-50 n'est PAS connecté). Naturellement, le pilote ne sera pas installé par le système, mais ce n'est pas obligatoire. Nous chargeons xubuntu dans la machine virtuelle, transmettons le périphérique connecté à l'intérieur (doit être désigné comme Prolific Technology Inc. USB-Serial Controller). Chargez ensuite la console et entrez dmesg. L'une des dernières lignes doit être la définition du périphérique connecté (pl2303) et son reflet sur le système de fichiers - dans ce cas, il s'agit de /dev/ttyUSB0. Rappelons ce nom.

Vous devez maintenant installer Minicom. La commande est standard : « sudo apt-get install minicom ». Exécutez le programme d'installation : "sudo minicom -s" et accédez au menu de configuration. Dans la configuration du port série, nous définissons /dev/ttyUSB0 comme périphérique série, le débit est défini sur 56700 8N1, le contrôle de flux matériel et logiciel est désactivé (Non). Ensuite, dans Modem et numérotation, vous devez effacer les lignes Init String et Reset String.

Quittez les paramètres et lancez minicom en mode normal (sudo minicom). Vous pouvez maintenant tester le câble en court-circuitant les fils des signaux TXD et RXD. Si, lorsque vous appuyez sur une touche du minicom, les symboles correspondants apparaissent à l'écran, alors le câble fonctionne.

Vous pouvez maintenant connecter le décodeur aux fils de la manière indiquée ci-dessus et l'allumer, en profitant de la sortie dans la fenêtre de l'émulateur de terminal. Lorsque vous êtes invité à saisir un mot de passe, entrez « root ». Si des déchets ou des symboles superflus apparaissent périodiquement lors de l’entrée et de la sortie de symboles, cela signifie que quelque chose ne va pas avec le sol (il est très probablement déchiré). Idéalement, la terre ne devrait pas non plus être connectée de quelque manière que ce soit aux signaux TXD et RXD.

NDLR : personnellement, je me suis tout de suite souvenu de la fin des années 90, lorsque commença l'ère Palm. A cette époque, j'étais l'heureux propriétaire d'un Handspring Visor Deluxe, le PDA le plus puissant de l'époque (le mot « tablette » n'avait pas encore été inventé). Donc, à cause du manque de ports USB (oui ! oui !) j'ai dû fabriquer moi-même un câble RS232-TTL. De plus, comme les signaux Visor étaient de trois volts et que le microcircuit Maxim qui fournissait le niveau de signal requis était rare, il était nécessaire de fixer un diviseur de tension de 5 à 3,3 V à la patte « sortie » afin de ne pas brûler l'appareil. .

Maintenant, tout est beaucoup plus simple et vous pouvez vous concentrer sur des activités plus significatives, par exemple apporter votre contribution à la création d'un firmware alternatif pour le RZX-50 :)

Programmez divers contrôleurs Arduino et non-Aduino, recevez des informations sur l'ordinateur de tout ce qui possède une interface série avec logique TTL.
Je l'utilise dans mes projets avec Arduino Pro MIni, Gboard/Iboard et contrôleurs maison.

En quoi est-il différent des autres appareils similaires ?

  1. Une broche DTR supplémentaire, qui peut être directement connectée à l'entrée RESET sur les contrôleurs qui n'ont pas d'USB sur la carte. Après cela, il n'est plus nécessaire d'appuyer sur le bouton RESET pendant la programmation. C'est très pratique pour moi lorsque le contrôleur est caché au plus profond de mon engin et que l'accès au bouton peut être très difficile.
  2. Prise en charge du fabricant, compatibilité avec les pilotes et logiciels d'origine, contrairement aux faux FTDI qui ont des problèmes avec les pilotes natifs
  3. Broches supplémentaires (trous pour contacts) sur la carte, par exemple, permettant de mettre l'USB en mode économie d'énergie.
  4. Une opportunité intéressante est de changer le VID, le PID et le texte avec lesquels la carte est reconnue, pour assembler votre propre pilote avec les paramètres requis, ce qui est assez intéressant dans les projets commerciaux. J'en parlerai plus loin.

Où commander ?

Caractéristiques

  • Puce CP2102 de Silicon Labs
  • Taux d'échange de données via UART 300Bit/sec - 1Mbit/sec
  • Tampon de lecture 576 octets, écriture 640 octets
  • Prise en charge USB 2.0 12Mbps
  • Prise en charge du mode USB SUSPENDU
  • Régulateur de puissance intégré 3,3 V 100 mA
  • EEPROM avec paramètres de configuration 1024 octets
  • Systèmes d'exploitation pris en charge Windows 8/7/Vista/Server 2003/XP/2000, Windows CE, Mac OS-X/OS-9, Linux, Android
  • Possibilité de personnaliser les paramètres de la carte et du pilote pour vos projets
  • Dimensions de la carte 26,5 x 15,6 mm

La carte comporte des trous supplémentaires où vous pouvez souder des broches pour un contrôle supplémentaire du modem et pour passer l'USB en mode SUSPENDU.

La taille de la carte diffère peu des autres convertisseurs USB/UART similaires

  1. Carte FOCA 2.2 prise pour des projets commerciaux avec contrôleurs Gboard/Iboard
  2. Convertisseur FT232 bon marché utilisé à ce jour
  3. Révisé CP2102

Connexion et installation du CP2102

Avant d'utiliser la carte, vous devez installer les pilotes depuis le site officiel de Si-Labs

  • Pour vous connecter au contrôleur, vous avez besoin de 5 fils :
  • GND-GMD
  • VCC - V5.0 (V3.3) selon la carte utilisée
  • ÉMISSION - RÉCEPTION
  • Réception - Émission
  • Réinitialisation du contrôleur - DTE


Le contrôleur peut désormais être programmé sans appuyer sur le bouton RESET.

Modification des caractéristiques du convertisseur VID, PID et autres

La carte est reconnue dans le système sous le nom de Silicon Labs CP210X USB to UART Bridge (COM35).

Parfois, dans les projets commerciaux, il est nécessaire que l'appareil ait son propre nom commercial lors de la programmation. La puce CP2102 et la carte qu'elle contient offrent de grandes opportunités pour cela

Tout d'abord, téléchargez et exécutez l'utilitaire de configuration des paramètres EEPROM CP1202 (j'avais également besoin de télécharger Java Runtime pour exécuter l'utilitaire)

Vous pouvez maintenant modifier les paramètres suivants :

  • ID du fournisseur (VID). Identifiant du fabricant. La valeur par défaut est 10С4 (format hexadécimal). Dans ce cas, il appartient à SiLabs.
  • ID de produit (PID). Identifiant du produit. La valeur par défaut est EA60 (format hexadécimal). Dans ce cas, il s'agit de tous les ponts CP210x.
  • Puissance maximale. La consommation de courant maximale demandée par le pont sur le bus USB. La valeur par défaut est 32 (format hexadécimal). Valeur maximale 500mA
  • Attributs de consommation d'énergie. Régime. Alimenté par bus (alimentation par bus USB) ou auto-alimenté (alimentation depuis une source externe).
  • Version de sortie. Numéro de série. La valeur par défaut est 1,0. Les champs peuvent prendre des valeurs de 1 à 99 en parties entières et fractionnaires.
  • Numéro de série. Numéro de série. La valeur par défaut est « 0001 » (format texte). Le champ peut accepter n’importe quelle valeur de texte contenant jusqu’à 64 caractères. Nécessaire pour connecter plusieurs appareils à un ordinateur
  • Chaîne de produit. Le champ peut accepter n’importe quelle valeur de texte jusqu’à 126 caractères. Cet identifiant s'affiche dans le système d'exploitation lors de la première connexion du pont CP210x à l'ordinateur et aide l'utilisateur à choisir le pilote approprié.
  • Verrouillage des données personnalisé. Protection des données de configuration.

Tout a commencé avec le fait que je devais me connecter à un appareil via USART. J'ai immédiatement pris l'adaptateur USB vers UASRT (car le portable n'a pas de port COM) sur l'AtTiny2313 (je ne ferai pas de publicité, le schéma se trouve facilement sur Internet), je l'ai connecté, je l'ai lancé et j'ai soudain réalisé que l'adaptateur a une vitesse fixe de 9600 et l'appareil a une vitesse fixe de 9600. qui devait se connecter, la vitesse était de 57600. Naturellement, il était tard dans la soirée et il n'y avait aucune possibilité d'acheter quelque chose comme FT232. Par conséquent, après réflexion, il a été décidé de modifier la vitesse UASRT dans l'adaptateur en le flashant simplement. En conséquence, la connexion a été établie avec succès. Mais vous devez admettre que ce n'est pas une solution, le programmeur n'est peut-être pas à portée de main et il n'est pas pratique de bricoler le firmware à chaque fois. De ce fait, j'ai sérieusement pensé à créer un adaptateur normal, avec une vitesse réglable (et plus encore).

Bien sûr, l'option la plus simple consiste à acheter du FT232, mais après avoir comparé son coût avec celui du Mega8, je suis arrivé à la conclusion que cette option ne me convenait pas. Par conséquent, il a été décidé de fabriquer un adaptateur pour MK. Et comme c'est sur le MK, alors faire uniquement USART n'est en quelque sorte pas rationnel. Par conséquent, ce serait bien de mettre quelques interfaces supplémentaires dans cet adaptateur ; si nous le faisons, alors quelque chose d'universel et d'utile. Presque immédiatement, des souvenirs « agréables » de l'installation de pilotes pour l'adaptateur sur Tiny2313 me sont venus à l'esprit (pour Windows7 x64, c'est assez douloureux). Cela signifie que le périphérique « COM virtuel » devra être abandonné, il sera donc nécessaire d'écrire un programme pour le PC, sinon il sera impossible de travailler avec le périphérique. En général, après avoir réfléchi pendant un certain temps, l'idée finale de l'appareil a été formée. La fonctionnalité s'est avérée comme ceci :

  • Adaptateur USB->USART ;
  • Adaptateur USB->SPI ;
  • Adaptateur USB->I 2 C ;
  • dans ce cas, le périphérique doit être HID (Human Interface Device), afin de ne pas vous tromper en installant les pilotes.

MK Mega8 est devenu l'objet d'intimidation, parce que dans un package TQFP, il prend très peu de place (beaucoup moins que AtTiny2313) et peut atteindre 8 Ko. mémoire. Au début, il était prévu de réaliser toutes les interfaces par logiciel, mais après avoir disposé la carte, j'ai dû abandonner le matériel I 2 C, car Il n'y avait aucun moyen de l'afficher sur un tableau simple face (à l'avenir, ce problème devra encore être résolu ; peut-être pourra-t-il être affiché séparément sur le côté du tableau). Ses fonctionnalités sont donc quelque peu limitées, mais USART et SPI restent pleinement fonctionnels. La bibliothèque V-USB était utilisée pour communiquer avec un PC.

Le schéma de l'appareil s'est avéré comme ceci :

Comme vous pouvez le constater, cela n’a rien de compliqué. Le MK est alimenté par une tension de 5 V, les niveaux pour USB sont adaptés à l'aide de diviseurs de tension et d'une résistance de 68 Ohm. + Diode Zener 3,3 V. Fréquence d'horloge MK – 12 MHz. C'est la fréquence minimale pour travailler avec le bus USB. Le circuit contient également trois LED pour indiquer les modes de fonctionnement. L'une des LED indique quel mode de fonctionnement est activé et les deux autres indiquent la réception/transmission de données. Il n'y a aucun bouton ni interrupteur dans l'appareil et tous les paramètres sont effectués par programme, directement à partir du PC. Oui, des résistances de 68 Ohms sont incluses sur toutes les broches utilisées pour faire fonctionner les interfaces. pour protéger le MK des courts-circuits. Comme indiqué ci-dessus, le périphérique apparaît sur le PC comme un HID et ne nécessite pas l'installation de pilote. VID et PID ont été sélectionnés parmi ceux fournis par V-USB : VID - 0x16c0, PID - 0x05df. Sinon, vous devrez débourser une coquette somme pour acheter un identifiant individuel pour un périphérique USB. Mais parce que étant un projet Open Source et non commercial, vous pouvez utiliser en toute liberté les identifiants proposés par V-USB.

Le paiement s'est déroulé comme ceci :

Et sous forme soudée :

Il s’agissait d’un échantillon de test, et même d’un échantillon comportant des erreurs. Pour une raison quelconque, j'ai pensé que la sortie CE ne valait pas la peine d'être affichée. Bon, rien, tout a déjà été corrigé et la bonne planche est jointe à l'article.

Ainsi, tout est clair avec le circuit, il est simple à l'extrême et peut être soudé en une soirée. Mais, comme mentionné ci-dessus, le périphérique résultant est défini par le PC comme HID, c'est-à-dire Le système d'exploitation sélectionne un pilote dans sa base de données. En termes simples, Windows pense qu'il fonctionne avec un périphérique d'entrée. Cela permet de travailler sur n'importe quel PC sans problème de pilotes. Mais il y a un petit problème à cela : aucun des programmes existants d'échange de données via USART ne fonctionnera avec cet appareil. Cela signifie qu'un programme spécial est nécessaire pour travailler avec le module, sinon il n'a aucune valeur. J’ai donc ouvert mon C++ Builder préféré (aujourd’hui il s’appelle CodeGear RAD Studio, ce qui autrement ne change rien au sens), version 2007, et j’ai écrit ce programme :

Il n'y a rien de particulièrement compliqué là-dedans ; il y a un certain nombre de paramètres pour chaque interface. Oui, plusieurs interfaces ne peuvent pas fonctionner simultanément, une seule à la fois. Le tout fonctionne très simplement : lorsque vous connectez l'appareil au PC, des boutons sont activés dans la fenêtre du programme, un clic sur lequel lance l'interface correspondante. Ensuite, écrivez simplement les données dans le champ de saisie dans un certain format et cliquez sur le bouton "Envoyer". Chaque interface possède son propre format de données. Examinons-les maintenant plus en détail :

USART: (les données sont reçues tout le temps pendant que le mode est actif, pour ainsi dire, automatiquement)

  • en envoyant plusieurs numéros HEX, il suffit de les écrire séparés par un espace en nombre illimité, par exemple : 01 05 fa aa...
  • envoyer une chaîne (texte, chiffres, etc.). Ici l'identifiant S(s) est écrit en début de ligne, par exemple : s www.site
  • pour envoyer des données à l'appareil, le format de chaîne est le suivant : Adresse (à qui transférer et vers quelle cellule mémoire) A (a) et Données D (d). Par exemple : aa3 dfa ;
  • pour demander des données à l'appareil : Adresse (de qui recevoir et de quelle cellule mémoire) et identifiant de lecture R (r). Par exemple : aa3r
  • pour envoyer des données à l'appareil : Adresse de l'appareil (bit lu à 0) A (a) Adresse mémoire M (m) Données D (d). Par exemple aa2 m03 d15
  • la demande de données ressemble à ceci : Adresse de l'appareil (bit lu à 0) A (a) Adresse de la cellule mémoire M (m) Adresse de l'appareil (bit lu à 1) A (a) Identifiant de lecture avec le nombre de cellules mémoire à lire R ( r). Par exemple : aa2 m03 aa3 r1

​Il n'y a pas de commandes pour SPI en mode esclave, nous nous contentons de nous asseoir et d'attendre qu'ils nous envoient quelque chose. Pour travailler avec l'appareil, nous le connectons au PC, attendons un moment jusqu'à ce que le système d'exploitation signale que les pilotes ont été trouvés et installés avec succès, lançons le programme et commençons l'échange de données. Tout est extrêmement simple, car la simplicité était l'un des critères lors de la création de l'appareil.

Oui, en passant, le programme est compatible avec toutes les versions de Windows, de Windows XP à Windows 8, et ne nécessite pas divers exotiques, tels que NetFramework, etc., pour fonctionner. Tout comme le module lui-même.

C'est tout, le programme, la carte et le code source sont inclus.

Les fusibles sont réglés pour fonctionner à partir d'un quartz externe à haute fréquence. Ils ressemblent à ceci :

Sur l'image, le fusible FAIBLE est 1 lorsqu'il n'est pas marqué et 0 lorsqu'il est marqué. Les fusibles HIGH sont à l’opposé. En hexadécimal, cela ressemble à ceci : HIGH : D9, LOW : FF.

Et bien sûr la vidéo, parce que... Il vaut mieux voir une fois que... (USART fonctionne en mode test d'écho (Rx et Tx connectés), et SPI et I 2 C sont testés avec la puce PCA2129T, article à ce sujet)

Liste des radioéléments

Désignation Taper Dénomination Quantité NoteBoutiqueMon bloc-notes
MK-AVR 8 bits

ATmega8

1 Vers le bloc-notes
VD1, VD2 Diode Zener

BZX55C3V3

2 3,3 volts Vers le bloc-notes
HL1-HL3 DIRIGÉ 3 Vers le bloc-notes
C1 Condensateur électrolytique100 µF1 Condensateur au tantale Vers le bloc-notes
C2, C3 Condensateur0,1 µF2 Vers le bloc-notes
C4, C5 Condensateur22 pF2 Vers le bloc-notes
R1 Résistance

1,5 kOhm

1 Vers le bloc-notes
R2 Résistance

10 kOhms

1 Vers le bloc-notes
R3, R4, R8-R13 Résistance

La réparation de tout équipement électronique complexe peut actuellement être divisée en deux options : soit la réparation logicielle, « logiciel », soit la réparation matérielle, au niveau matériel. Si la première consiste simplement à configurer l'appareil, ce qui peut être effectué par tout utilisateur familiarisé avec la technologie, si, pour une raison quelconque, ses paramètres sont perdus pendant le fonctionnement.

Réparation de matériel- Il s'agit le plus souvent de soudures, de remplacement de certains composants radio tombés en panne pour diverses raisons. Qu’il s’agisse d’une surchauffe, par exemple due à la poussière accumulée dans le corps de l’appareil, et par conséquent d’un transfert de chaleur plus faible, ou d’une pénétration d’humidité et, par conséquent, d’un court-circuit. Ou la même chose, appréciée de tous les maîtres du circuit court, disposée sur la planche par des insectes qui se sont installés dans le corps de l'appareil), et des traces de leur activité se retrouvent souvent sur les planches.

Mais il existe un troisième type de réparation, généralement lié au numérique, dans lequel ces deux types de réparation sont combinés : il s'agit du flashage de l'appareil. Et si nous pouvons reflasher un smartphone ou une tablette simplement en le connectant à l'ordinateur via un câble USB, alors, par exemple, cette méthode ne fonctionnera pas avec un routeur, une carte mère ou une carte vidéo. Tous contiennent de la mémoire Flash, une puce spéciale, généralement de série 24 ou 25, dans laquelle notre firmware est stocké.

Puce mémoire série 25

Avec les cartes mères et les cartes vidéo, tout est généralement simple - vous avez besoin d'un programmeur de mémoire Flash et EEPROM, par exemple le CH341A simple et bon marché, qui sera discuté comme l'une des options pour résoudre notre problème. De plus, pour flasher la mémoire sans soudure, vous aurez besoin d'un clip spécial pour flasher les microcircuits dans un boîtier SO-8 ou SO-16. J'ai les deux clips dans mon atelier à domicile.

Clip pour coudre SO-8

Le premier d'entre eux, pour les microcircuits en boîtier SO-8, est généralement nécessaire plusieurs fois plus souvent que le second, pour les microcircuits en boîtier SO-16. Ce qui ne m'a été utile qu'une seule fois pour flasher le routeur Zyxel, d'ailleurs, puisqu'ils se considèrent comme une marque bien connue, ils sont originaux et installent parfois des microcircuits dans des boîtiers SO-16 similaires, et c'est bien sinon des microcircuits de la série 29, qui sait, il comprendra immédiatement.

Connecteur à pince SO-16

Le fait est que pour flasher un microcircuit de la série 29, nous avons besoin d'un programmeur beaucoup plus cher - MiniPro TL866A, que j'ai également, mais il n'y a pas d'adaptateur du boîtier Dip à ce boîtier, qui a une disposition des pattes très courante , et en comparaison avec le soudage dont souder un microcircuit dans un boîtier CMS, le même SO-8 ou SO-16, est un jeu d'enfant. Je viens donc de recevoir un routeur Zyxel avec une puce série 29 à réparer. La première fois que j'ai réparé le routeur Zyxel précédent, la puce était une mémoire série, série 25, bien que dans un boîtier SO-16. Ensuite, comme vous l'avez compris, il était beaucoup plus facile d'effectuer des réparations.

Puce mémoire série 29

Alors, comment pouvons-nous restaurer le routeur si nous avons de la « chance » et disposons d'un tel microcircuit de la série 29 ? Les fabricants de routeurs, dans ce cas, proposent un flashage d'urgence via un serveur TFTP. Mais le problème est que parfois la partition de démarrage dans la mémoire de la puce, appelée U-Boot, est effacée. Dans ce cas, l'option de flasher la mémoire du routeur à certaines adresses vous conviendra, qu'il faudra vous retrouver sur les forums spécialisés pour flasher les routeurs. Mais généralement, tout est beaucoup plus simple : le micrologiciel a mal tourné, les données nécessaires au fonctionnement normal du routeur sont perdues, mais la zone de démarrage et la zone d'étalonnage sont intactes. Dans ce cas, vous aurez besoin d'un adaptateur USB-TTL simple et bon marché, dont le coût sur Ali Express n'est que d'environ 40 roubles.

Adaptateur USB vers TTL

Un adaptateur sur la puce CH340A convient également, qui est utilisé pour télécharger des croquis sur la mini-carte Arduino Pro, qui n'a pas de chargeur de démarrage CH340A soudé sur la carte. Conviennent également les adaptateurs basés sur pl2303, ou le programmateur de mémoire Flash et EEPROM CH341A, dont j'ai déjà parlé ci-dessus, et qui, après avoir changé le cavalier, peuvent fonctionner en mode adaptateur USB-UART.

Programmateur de mémoire Flash et EEPROM + USB-TTL

En dernier recours, vous pouvez utiliser un câble clignotant d'un ancien téléphone portable, qui contient également un convertisseur USB-COM, mais il faudra faire correspondre les niveaux de puissance. L'alimentation de l'adaptateur doit être strictement de 3,3 volts, et non des 5 volts qu'il peut émettre à partir d'une broche spécifique. Donc, disons que nous avons cet adaptateur (ou plutôt l'un de ceux répertoriés ci-dessus), nous avons installé un pilote pour celui-ci, sommes allés dans le gestionnaire de périphériques de Windows et avons déterminé à quel numéro de port COM correspond notre adaptateur. Et cet adaptateur n'est rien de plus qu'un port COM virtuel dans votre système.

Nous recherchons le numéro de port COM

Ensuite, nous avons besoin d'une sorte de programme - un terminal dans lequel, à l'aide des commandes de la console, nous restaurerons notre routeur en le flashant. Mais nous ne reflasherons pas le routeur à l'aide de cet adaptateur ; l'adaptateur est utilisé uniquement pour contrôler le processus du micrologiciel. Comment flasher le routeur dans ce cas ? Il existe bien sûr des options pour flasher le routeur via son processeur ARM via l'interface JTAG, et j'ai également acheté ce programmeur sur Ali Express - c'est un programmeur Wiggler connecté via l'interface LPT, mais après avoir essayé de le comprendre, j'ai décidé que la méthode de flashage utilise des serveurs TFTP est beaucoup plus simple.

Programmeur JTAG Wiggler

Regardons de plus près cette option plus simple, pour laquelle un programmeur JTAG n'est pas nécessaire ; elle clignote, comme je l'ai écrit ci-dessus, via un serveur TFTP. Pour ce faire, nous devons connecter notre adaptateur USB-UART à 4 broches de la carte du routeur. Certes, il arrive parfois que le fabricant sépare les plages de contact et les pistes, mais ne soude pas les broches elles-mêmes. Dans ce cas, vous pouvez souder indépendamment un peigne à 4 broches, acheté dans un magasin de radio ou soudé à partir d'une carte mère donneuse ou d'un autre appareil.

Connexion USB-TTL

En principe, vous n'avez même pas besoin de souder ces broches si ce n'est pas possible, mais simplement de les souder soigneusement aux nickels de la carte, les plages de contact où ces broches étaient censées être soudées. Un fil MGTF fin est très pratique à cet effet. Nous avons donc connecté l'adaptateur à l'ordinateur, installé le pilote et fourni la connexion fiable dont nous avions besoin à ces 3 ou 4 broches de la carte.

Cavaliers Arduino pour adaptateur

Pour se connecter au peigne, il est pratique d'utiliser des cavaliers et des cavaliers utilisés pour connecter les cartes Arduino aux blindages. Comment devons-nous connecter ces 3 fils ? Et pourquoi seulement trois s’il y a quatre contacts ? Il n'est pas recommandé d'alimenter les routeurs à partir d'un adaptateur ; l'alimentation doit provenir de sa propre alimentation. Il est donc préférable de débrancher l’alimentation, même si vous utilisez 3,3 volts comme prévu.

Connexion entre l'adaptateur et le routeur - schéma

Les masses des appareils connectés entre eux pendant le clignotement doivent être combinées, donc la masse, la broche GND, devra être connectée. Mais les deux broches restantes, RX et TX, doivent être connectées en les « croisant » entre elles, c'est-à-dire connecter RX à TX et TX à RX. Donc, nous avons tout connecté correctement, puis nous devons configurer correctement le terminal, je préfère utiliser Putty afin de pouvoir contrôler notre routeur via la console, et donc le mettre à jour avec un nouveau firmware.

Configuration de Putty

Cela signifie que nous sélectionnons le port série, le port série ou le port COM dans les paramètres Putty, puis définissons le numéro de port COM souhaité, que nous avons précédemment examiné dans le gestionnaire de périphériques. Après cela, vous devez configurer la vitesse du port COM, généralement 57 600 bauds, moins souvent 115 200 bauds. Et enfin, après s'être assuré une fois de plus que tout est correctement connecté, que rien sur la carte n'est court-circuité ou court-circuité, pendant le processus de flashage, nous nous connectons à l'avance à la console configurée et alimentons le routeur à partir de l'alimentation d'origine. fournir.

Krakozyabry dans le terminal

Si vous voyez des « crackers » sur votre écran, cela signifie que vous avez mal configuré la vitesse du port COM et que vous devez soit lire quelle vitesse doit être définie pour votre modèle de routeur, soit la sélectionner expérimentalement jusqu'à ce que les « crackers » disparaissent et que du texte brut apparaisse. . Ensuite, vous devrez appuyer, immédiatement après avoir allumé le routeur, en saisissant le bon moment, ce qui n'est pas si simple, sur une certaine combinaison de touches, soit tpl, pour les routeurs TP-Link, soit sur le numéro 4, entrez dans la console, ou numéro 2, pour les routeurs Zyxel, lancement du flash depuis le serveur TFTP.

Interface serveur TFTP

Le serveur lui-même doit être exécuté en tant qu'administrateur dans les connexions réseau, l'adresse IP du serveur doit y être indiquée, ce que soit la console vous dira, soit vous pourrez la trouver vous-même sur Internet. Dans le serveur TFTP, vous devrez spécifier l'adresse IP du client et le dossier dans lequel se trouve notre firmware.

Modification des paramètres de connexion réseau

Le firmware lui-même doit nécessairement être sans Boota, c'est-à-dire que lorsque nous cousons le firmware attaché avec un clip, via le programmateur SPI de la série 25, nous avons besoin de Fullflash, ou en d'autres termes, d'un firmware avec un bootloader, dans ce cas le firmware doit être standard, sans bootloader, généralement fourni par le fabricant, sur votre site Web. Il est préférable de simplifier le nom du fichier du firmware, par exemple 123.bin, vous devrez le saisir dans la console lors du démarrage du processus de flashage ;

Interrompre le téléchargement

Ensuite, vous devrez accepter et confirmer que vous êtes d'accord avec le clignotement. Si vous avez tout fait correctement, le processus de clignotement commencera dans la console, une fois terminé, il vous suffira de redémarrer le routeur et si le micrologiciel provenait strictement du modèle et de la révision matérielle correspondants, tout ira bien pour vous.

L'explication du processus de flashage s'est bien sûr avérée volumineuse, mais le processus lui-même pour une personne qui l'a terminé au moins plusieurs fois devient assez simple. Et étant donné que les routeurs sont des équipements qui ne durent pas longtemps, surtout lors des orages, de mai à juin, je pense que cet article sera utile aux débutants qui souhaitent économiser de l'argent sur l'achat d'un nouveau routeur. Bonnes réparations à tous ! Surtout pour le site Circuits radio - AKV.

Discutez de l'article CONVERTISSEUR USB-UART : REFLASHING AVEC UN ADAPTATEUR

© 2024 ermake.ru -- À propos de la réparation de PC - Portail d'information