Qaysi telefonlarda usb uart bor. USB-uart konvertori: adapter bilan miltillovchi

Uy / Buzilishlar

Ko'pgina blog qurilmalari veb-sayt bilan ishlaydi UART. Va bu tabiiydir - UART juda oddiy va oddiy protokol. Mikrokontroller tomondan ham, kompyuter tomondan ham ishlash oson. Ammo UART dan foydalanishning bir kamchiligi bor. Mikrokontrollerlarning aksariyati bortida UARTga ega, ammo shaxsiy kompyuterlarda vaziyat biroz yomonroq. UART interfeysi MAQOMOTI portiga xosdir (RS232 versiyasida), lekin kompyuterning tashqi qurilmalariga talab ortib borayotganligi sababli MAQOMOTI porti eskira boshladi. Bu past tezlik, kengaytira olmaslik va boshqalar tufayli sodir bo'ladi. U uzoq vaqtdan beri portlar sinfi sifatida noutbuklardan g'oyib bo'ldi. Navbat ish stoli kompyuterlariga...
Lekin hammasi yomon emas. Chiqish yo'li bor! Ko'pgina ishlab chiqaruvchilar USB-UART konvertor chiplarini (ko'priklar) ishlab chiqdilar va ishlab chiqardilar. Ularning ish printsipi shu. Shaxsiy kompyuterda maxsus drayver o'rnatilgan bo'lib, u tizimda virtual MAQOMOTI portini yaratadi. Kompyuter dasturlari uchun bu port oddiy MAQOMOTI portidan farq qilmaydi - ular almashtirishni "sezmaydilar". Ushbu virtual portga yuborilgan har qanday xabarlar USB protokoli xabarlariga aylantiriladi. USB portiga ulangan konvertor chipi bu xabarlarni oladi va UART signallarini hosil qiladi. Ommabop va arzon mikrosxemalarga FT232 va PL-2303 kiradi (shuningdek, OTI006858 va CP2102 ham mavjud).

Endi savol mavzusiga yaqinlashamiz.
Shunday qilib, biz USB-dan UART-ga konvertor kerakligini angladik. Siz uni bir necha usul bilan olishingiz mumkin:
1 Kerakli mikrosxemani sotib oling va qurilmani o'zingiz lehimlang. Agar siz biron bir qurilmani yig'ayotgan bo'lsangiz, konvertor qurilmaga o'rnatilgan bo'lsa, qulay bo'ladi. Agar siz google-da qidirsangiz, bunday konvertorlarning ko'plab sxemalarini topasiz - taxtani o'rnatish va konvertorni yig'ish muammo bo'lmaydi.
2 Tayyor konvertorni sotib oling. Yomon variant ham emas. Sotuvda bunday qurilmalar juda ko'p. Turli xil shakl omillarida, har xil narxlarda - har qanday lazzat uchun tanlang!
3 Yana bir variant bor - muqobil. Qabul qilaman - bu har doim ham maqbul bo'lmasligi mumkin, lekin baribir ... Siz boshqa qurilmadan konvertorni "qarz olishingiz" mumkin.

Ushbu maqolada men mobil telefon simini USB-UART konvertori sifatida ishlatishni taklif qilaman ( Ma'lumot kabeli). Nima uchun mobil telefon uchun lanyard? Men hozir tushuntiraman.
Bir muncha vaqt oldin, UART protokoli mobil telefon va kompyuter o'rtasida aloqa qilish uchun keng qo'llanilgan. Uning keng qo'llanilishining sabablari aniq - ishlab chiqaruvchilarga shaxsiy kompyuter bilan arzon va keng tarqalgan aloqa kanali kerak edi. Bu COM porti yoki USB bo'lishi mumkin. O'sha paytda USB bilan ishlash qimmat va foydali emas edi - COM g'alaba qozondi. Mobil telefonlar UART signalini "tashqarida" chiqaradi va ma'lumot kabeli kabellari uni MAQOMOTI yoki USB portiga aylantiradi. Hozirgi vaqtda elektronika uzoq yo'lni bosib o'tdi va mobil telefonlarning mikroprotsessorlarida USB majburiy bo'ldi. Zamonaviy telefonlar uchun simlar oddiy USB uzatma kabellari bilan almashtiriladi.
Va endi biz eng qiziqarli qismga o'tamiz. Yangi telefonlar paydo bo'lmoqda, eski konvertor simlari hech kimga keraksiz bo'lib qolmoqda, ya'ni sotuvchilar har qanday narxda ulardan xalos bo'lishga harakat qilmoqdalar. Ushbu eskirgan dantellarning narxi shunchaki kulgili. Shunday qilib, men shunday pulga dantelli qutilarga duch keldim, men qarshilik qila olmadim va ikkitasini sotib oldim. Endi men sizga aytaman bunday simdan to'liq huquqli USB UART konvertorini qilish uchun nima qilish kerak.

Birinchidan, bu juda dantelni sotib olishingiz kerak.

Hamma dantellar mos kelmaydi. Avval siz konvertorga ega bo'lgan dantellarning nomlarini Google'da topishingiz kerak. Vizual ravishda siz o'rtada qutisi bo'lgan shnurni izlashingiz kerak.

Bu erda qadoqlash qutisi va uning tarkibi.

To'plam simning o'zi va haydovchi diskini o'z ichiga oladi. Siz darhol diskni tashlab yuborishingiz mumkin - u erda shunday axlat yig'ish borki, sizga kerak bo'lgan narsani topish muammoli. Dantelning o'zini oling.

Hozir Keling, doskani batafsil ko'rib chiqaylik konvertor



Tekshiruv natijasida biz mikrosxemani topamiz Prolific PL-2303HX.

90% hollarda biz ushbu mikrosxemani bunday dantellarda ko'ramiz. Sababi uning arzonligi. Bundan tashqari, ushbu chip siz do'konda sotib olgan ko'pgina USB-UART konvertorlarida ham topiladi. Siz FT232-ni kamdan-kam ko'rasiz, chunki u qimmatroq va arzon xitoy to'rlarida mavjud emas (agar siz biron bir markali simga duch kelmasangiz). Agar siz FT232RL-ga duch kelsangiz, o'zingizni omadli deb hisoblang, dasturchini masxara qilish uchun bunday shnurdan foydalanishingiz mumkin (FT232RL beatbang rejimida ishlashi mumkin).

Diqqat qilish! Doskada Prolific klonini topishingiz mumkin. Bu, masalan, men sotib olgan dantellardan ikkinchisida edi.

Kengash bir xil, dizayni bir xil, lekin kristall Prolific emasligi aniq (tashqi ko'rinishiga ko'ra, u arzonroq klon). Kvartsning etishmasligi xavotirga soladi, lekin taxta ishlaydi (menimcha, u ichki RC osilatoridan ishlaydi - bu juda yaxshi emas). Qanday bo'lmasin, bunday mikrosxemalar Prolific-ga to'liq o'xshash (hech bo'lmaganda oyoqlari bo'yicha).

Endi Prolific veb-saytiga o'ting va chip uchun ma'lumotlar jadvalini yuklab oling
- Prolific USB-UART konvertori

Ma'lumotlar varag'ida biz pinoutni topamiz va bizga kerak bo'lgan UART signallari qaysi oyoqlarda ekanligini ko'rib chiqamiz:
- Transmitter TXD - 1;
- Qabul qiluvchi RXD - 5.

Chipda mos keladigan oyoqlarni topamiz.

Keyinchalik, an'anaviy testerdan foydalanib, biz simlarni lehimlashimiz mumkin bo'lgan eng yaqin kontakt yostiqchalarini topamiz. Siz oyoqlarga lehimlay olmaysiz - ular kichik. Bizga "er" ham kerak - bu erda hamma narsa oddiy, katta poligonlar bo'ladi. Simlarni mos keladigan prokladkalarga lehimlang.
Biz simning boshqa uchiga qulay ulagichni biriktiramiz.

Ehtimol, kimdir bizning forumimizdagi xabarlarni o'qigan exmortis doğaçlama materiallardan USB-TTL kabelini yasash haqida.

Biz buni alohida qo'llanma maqola sifatida chiqarishga qaror qildik. rahmat exmortis taqdim etilgan material uchun.

Xulosa: Ushbu maqola ketma-ket interfeysga qo'shimcha bo'lib, uni avval o'qish tavsiya etiladi.

Yuqorida aytib o'tilgan maqoladan ma'lumki, Ritmix RZX-50 pristavkasini kompyuterga uart ttl orqali ulash mumkin, ammo kuchlanish signallari rs-232 standartiga mos kelmagani uchun adapter kerak. Tayyor yechim sifatida siz maxsus konvertordan foydalanishingiz mumkin, masalan, yoki hatto bu.

Qiyinchilik shundaki, bunday echimlar har doim ham mavjud bo'lmasligi mumkin va agar ular mavjud bo'lsa, belgilangan narx ancha yuqori bo'lishi mumkin.

Biroq, har qanday kompyuter do'konida sotiladigan oddiy usb-rs232 (com) adapter kabelidan foydalanishingiz mumkin. Masalan, bu kabi:

Kabel Gembird usb-rs232 uas111. Bu qulay, chunki boshqaruvchi toza qutiga yashiringan. To'g'ri, u muhrlangan, shuning uchun uni ochish uchun siz uni ko'rishingiz yoki plastmassani lehim temir bilan kesib olishingiz kerak bo'ladi.

Aslida, shunga o'xshash har qanday boshqa kabel yordam beradi, ammo siz boshqaruvchi bilan taxtaga kirish qulayligiga e'tibor berishingiz kerak. Ba'zi kabellarda u rs-232 konnektorida yashiringan, uni ochish qiyin, boshqalarda esa lehimlash oson bo'lmagan tomchi chipi bo'lishi mumkin. Oxir-oqibat, bunday kabel ba'zi ekzotik chipga asoslangan bo'lishi mumkin.

Chip pl2303. Avvalo, 1 (TXD) va 5 (RXD) oyoqlari qiziqarli, oyoqlarning raqamlanishi chipning o'zida nuqta bilan belgilangan burchakdan soat sohasi farqli o'laroq ketadi;

Maks213 chipli teskari tomon. pl2303 ning 1-qavatidagi signal maxning 6-chi oyogʻiga, 5-chi oyogʻi esa 19-chi oyogʻiga keladi.
Aslida, bu mikrosxema uart-ttl uchun kerak emas, u hatto xalaqit berishi mumkin. Shuning uchun, u ehtiyotkorlik bilan lehimli bo'lishi kerak va kontakt yostiqchalariga lehimlash osonroq bo'ladi.

Max213 chipi lehimlangan. Qizil sim TXD signaliga lehimlangan, sariq sim RXD signaliga va qora sim erga ulangan. Keyinchalik, siz Entoni sxemasiga muvofiq, simlarni "o'zaro bog'lab" ulashingiz mumkin, ya'ni. Kontrollerning RXD mos ravishda pristavkaning TXD ga va TXD dan RXD ga.

Ritmix RZX-50 uchun ketma-ket interfeys pinlari.

Ikkinchi muhim qism - kompyuterga to'g'ridan-to'g'ri ulanish va ulanishni o'rnatish.
Quyida W7 x64 kompyuterda (noutbukda) va Xubuntu 11.10 x32 VirtualBox virtual mashinasida o'rnatilganda muayyan vaziyatni ko'rib chiqamiz. Quyida tavsiflangan hamma narsa har qanday Linux tarqatish uchun ham amal qiladi.

Yuqorida ko'rsatilganidek, lehimlangan simi kompyuterga ulangan (rzx-50 ulanmagan). Tabiiyki, haydovchi tizim tomonidan o'rnatilmaydi, lekin bu shart emas. Biz xubuntu-ni virtual mashinaga yuklaymiz, ulangan qurilmani ichkariga yo'naltiramiz (Prolific Technology Inc. USB-Serial Controller sifatida belgilanishi kerak). Keyin konsolni yuklang va dmesg ni kiriting. Oxirgi satrlardan biri ulangan qurilmaning ta'rifi (pl2303) va uning fayl tizimidagi aksi bo'lishi kerak - bu holda u /dev/ttyUSB0. Keling, bu nomni eslaylik.

Endi siz minikomni o'rnatishingiz kerak. Buyruq standartdir: "sudo apt-get install minicom". O'rnatishni ishga tushiring: "sudo minicom -s" va konfiguratsiya menyusiga o'ting. Serial port sozlamalarida biz /dev/ttyUSB0 ni Serial Device sifatida o'rnatdik, oqim tezligi 56700 8N1 ga o'rnatiladi, apparat va dasturiy ta'minot oqimini boshqarish o'chirilgan (Yo'q). Keyinchalik, Modem va terishda siz Init String va Reset String qatorlarini o'chirishingiz kerak.

Sozlamalardan chiqing va minikomni oddiy rejimda ishga tushiring (sudo minicom). Endi siz simlarni TXD va RXD signallaridan qisqartirish orqali kabelni sinab ko'rishingiz mumkin. Agar minikomda biron bir tugmani bosganingizda, ekranda tegishli belgilar paydo bo'lsa, u holda kabel ishlamoqda.

Endi siz pristavkani simlarga yuqorida ko'rsatilgan tarzda ulashingiz va terminal emulyatori oynasida chiqishdan zavqlanib, uni yoqishingiz mumkin. Parol so'ralganda, "root" ni kiriting. Belgilarga kirish va chiqishda vaqti-vaqti bilan axlat yoki begona belgilar paydo bo'lsa, bu erda biror narsa noto'g'ri ekanligini anglatadi (ehtimol u yirtilgan). Ideal holda, tuproq ham TXD va RXD signallariga hech qanday tarzda ulanmasligi kerak.

Tahririyat eslatmasi: Shaxsan men darhol 90-yillarning oxirini, Palm davri boshlanganini esladim. O'sha paytda men o'sha paytdagi eng kuchli PDA ("planshet" so'zi hali ixtiro qilinmagan) Handspring Visor Deluxe ning faxrli egasi edim. Shunday qilib, USB portlarining etishmasligi tufayli (ha! Ha!) Men o'zim RS232-TTL kabelini yasashga majbur bo'ldim. Bundan tashqari, Visor signallari uch voltli bo'lganligi va kerakli signal darajasini ta'minlovchi Maksim mikrosxemasi kam bo'lganligi sababli, qurilmani yoqmaslik uchun "chiqish" oyog'iga 5 dan 3,3 V gacha kuchlanish ajratgichni ulash kerak edi. .

Endi hamma narsa ancha sodda va siz yanada mazmunli faoliyatga e'tibor qaratishingiz mumkin, masalan, RZX-50 uchun muqobil proshivka yaratishga o'z hissangizni qo'shing :)

Har xil Arduino va Aduino bo'lmagan kontrollerlarni dasturlang, TTL mantig'i bilan ketma-ket interfeysga ega bo'lgan barcha narsalardan kompyuterga ma'lumot oling.
Men uni Arduino Pro MIni, Gboard/Iboard va uy qurilishi kontrollerlari bilan loyihalarimda ishlataman.

Boshqa shunga o'xshash qurilmalardan nimasi bilan farq qiladi?

  1. Bortda USB bo'lmagan kontrollerlardagi RESET kirishiga to'g'ridan-to'g'ri ulanishi mumkin bo'lgan qo'shimcha DTR pin. Shundan so'ng, dasturlash paytida RESET tugmasini bosishga hojat qolmaydi. Bu men uchun nazoratchi mening hunarmandchiligimning tubida yashiringanida juda qulay va tugmachaga kirish juda qiyin bo'lishi mumkin.
  2. Ishlab chiqaruvchini qo'llab-quvvatlash, original drayverlar va dasturiy ta'minot bilan moslik, mahalliy drayverlar bilan bog'liq muammolarga duch keladigan soxta FTDI'lardan farqli o'laroq
  3. Kengashdagi qo'shimcha pinlar (kontaktlar uchun teshiklar), masalan, USB-ni energiyani tejash rejimiga qo'yish imkonini beradi.
  4. Qiziqarli imkoniyat - bu kengash tan olingan VID, PID va matnni o'zgartirish, kerakli parametrlar bilan o'z drayveringizni yig'ish, bu tijorat loyihalarida juda qiziq. Men bu haqda batafsilroq gaplashaman.

Qaerga buyurtma berish kerak?

Xususiyatlari

  • Silicon Labs dan CP2102 chipi
  • UART orqali ma'lumot almashish tezligi 300Bit/s - 1Mbit/s
  • 576 bayt buferni o'qing, 640 bayt yozadi
  • USB 2.0 12 Mbit / s ni qo'llab-quvvatlang
  • To'xtatilgan USB rejimini qo'llab-quvvatlash
  • O'rnatilgan quvvat regulyatori 3,3V 100mA
  • 1024 bayt konfiguratsiya parametrlari bilan EEPROM
  • Qo'llab-quvvatlanadigan OS Windows 8/7/Vista/Server 2003/XP/2000, Windows CE, Mac OS-X/OS-9, Linux, Android
  • Loyihalaringiz uchun plata va drayver parametrlarini sozlash qobiliyati
  • Kengash o'lchamlari 26,5 x 15,6 mm

Doskada qo'shimcha teshiklar mavjud bo'lib, ularda siz qo'shimcha modemni boshqarish va USB ni to'xtatilgan rejimga o'tkazish uchun pinlarni lehimlashingiz mumkin.

Kengashning o'lchami boshqa shunga o'xshash USB/UART konvertorlaridan kam farq qiladi

  1. FOCA 2.2 platasi Gboard/Iboard kontrollerlari bilan tijorat loyihalari uchun olingan
  2. Bugungi kunga qadar ishlatilgan arzon FT232 konvertori
  3. CP2102 ko'rib chiqildi

CP2102 ulanishi va o'rnatilishi

Kengashdan foydalanishdan oldin siz drayverlarni Si-Labs rasmiy veb-saytidan o'rnatishingiz kerak

  • Tekshirish moslamasiga ulanish uchun sizga 5 ta sim kerak bo'ladi:
  • GND - GMD
  • VCC - V5.0 (V3.3) ishlatiladigan plataga qarab
  • TX - RX
  • RX - TX
  • Controller RESET - DTE


Endi kontrollerni RESET tugmasini bosmasdan dasturlash mumkin.

VID, PID va boshqa konvertor xususiyatlarini o'zgartirish

Kengash tizimda Silicon Labs CP210X USB to UART Bridge (COM35) sifatida tan olingan.

Ba'zan tijorat loyihalarida dasturlashda qurilma o'zining tijorat nomiga ega bo'lishi kerak. Buning uchun CP2102 chipi va undagi plata katta imkoniyatlar yaratadi

Birinchidan, EEPROM CP1202 parametrlarini sozlash uchun yordamchi dasturni yuklab oling va ishga tushiring (yordamchi dasturni ishga tushirish uchun Java Runtime-ni ham yuklab olishim kerak edi)

Endi siz quyidagi sozlamalarni o'zgartirishingiz mumkin:

  • Sotuvchi identifikatori (VID). Ishlab chiqaruvchi identifikatori. Standart qiymat 10C4 (on oltilik format). Bunday holda, u SiLabsga tegishli.
  • Mahsulot identifikatori (PID). Mahsulot identifikatori. Standart qiymat EA60 (on oltilik format). Bu holda u barcha CP210x ko'priklariga tegishli.
  • Maksimal quvvat. USB avtobusidagi ko'prik tomonidan talab qilinadigan maksimal oqim iste'moli. Standart qiymat 32 (on oltilik format). Maksimal qiymat 500mA
  • Quvvatdan foydalanish atributlari. Parhez. Avtobusda quvvatlanadi (USB avtobus quvvati) yoki o'z-o'zidan quvvatlanadi (tashqi manbadan quvvat).
  • Chiqarish versiyasi. Ishlab chiqarish raqami. Standart qiymat 1,0. Maydonlar butun va kasr qismlarda 1 dan 99 gacha qiymatlarni olishi mumkin.
  • Ishlab chiqarish raqami. Ishlab chiqarish raqami. Standart qiymat “0001” (matn formati). Maydon uzunligi 64 belgigacha bo'lgan har qanday matn qiymatini qabul qilishi mumkin. Bir nechta qurilmalarni kompyuterga ulash uchun kerak
  • Mahsulot qatori. Maydon uzunligi 126 belgigacha bo'lgan har qanday matn qiymatini qabul qilishi mumkin. Ushbu identifikator CP210x ko'prigi birinchi marta kompyuterga ulanganda operatsion tizimda ko'rsatiladi va foydalanuvchiga tegishli drayverni tanlashda yordam beradi.
  • Shaxsiy ma'lumotlarni blokirovka qilish. Konfiguratsiya ma'lumotlarini himoya qilish.

Hammasi USART orqali bitta qurilmaga ulanishim kerakligidan boshlandi. Men darhol AtTiny2313 ga USB to UASRT adapterini oldim (chunki noutbukda COM porti yo'q) (reklama qilmayman, diagramma Internetda oson topiladi), uni uladim, ishga tushirdim va birdan angladimki, adapter 9600 qat'iy tezlikka ega va qurilma 9600. ulanish uchun zarur bo'lgan tezlik 57600. Tabiiyki, kechqurun kech bo'lgan va FT232 kabi narsalarni sotib olish imkoniyati yo'q edi. Shuning uchun, biroz o'ylab, adapterdagi UASRT tezligini shunchaki miltillash orqali o'zgartirishga qaror qilindi. Natijada, aloqa muvaffaqiyatli o'rnatildi. Ammo tan olishingiz kerak - bu yechim emas, dasturchi qo'lida bo'lmasligi mumkin va har safar proshivka bilan ishlash noqulay. Natijada, men tezlikni sozlanishi (va boshqalar) bilan oddiy adapter yaratish haqida jiddiy o'yladim.

Albatta, eng oson variant - FT232 ni sotib olish, lekin uning narxini Mega8 narxi bilan solishtirgandan so'ng, men bu variant men uchun mos emas degan xulosaga keldim. Shuning uchun, MK uchun adapter qilishga qaror qilindi. Va u MKda bo'lgani uchun, faqat USARTni amalga oshirish qandaydir tarzda oqilona emas. Shuning uchun, bu adapterga yana bir nechta interfeyslarni qo'yish yaxshi bo'lardi, agar qilsak, universal va foydali narsa; Deyarli darhol Tiny2313-da adapter uchun drayverlarni o'rnatish haqidagi "yoqimli" xotiralar esga tushdi (Windows7 x64 uchun bu juda og'riqli). Bu shuni anglatadiki, "virtual MAQOMOTI" qurilmasidan voz kechish kerak bo'ladi, shuning uchun kompyuter uchun dastur yozish kerak bo'ladi, aks holda qurilma bilan ishlash imkonsiz bo'ladi. Umuman olganda, biroz vaqt o'ylab, qurilma uchun yakuniy g'oya shakllandi. Funktsionallik quyidagicha chiqdi:

  • USB->USART adapteri;
  • USB->SPI adapteri;
  • USB->I 2 C adapteri;
  • bu holda, drayverlarni o'rnatish bilan boshingizni aldamaslik uchun qurilma HID (Inson interfeysi qurilmasi) bo'lishi kerak.

MK Mega8 bezorilik ob'ektiga aylandi, chunki TQFP paketida u juda kam joy egallaydi (AtTiny2313 dan ancha kam) va 8 KB ga ega. xotira. Avvaliga barcha interfeyslarni dasturiy ta'minot qilish rejalashtirilgan edi, lekin taxtani joylashtirgandan so'ng men I 2 C apparatidan voz kechishga majbur bo'ldim, chunki Uni bir tomonlama doskada ko'rsatishning hech qanday usuli yo'q edi (kelajakda bu muammo hali ham hal qilinishi kerak; ehtimol u doskaning yon tomonida alohida ko'rsatilishi mumkin). Shuning uchun uning funksionalligi biroz cheklangan, ammo USART va SPI to'liq ishlamoqda. V-USB kutubxonasi kompyuter bilan aloqa qilish uchun ishlatilgan.

Qurilmaning diagrammasi quyidagicha chiqdi:

Ko'rib turganingizdek, bu erda hech qanday murakkab narsa yo'q. MK 5 V kuchlanish bilan quvvatlanadi, USB uchun darajalar kuchlanish ajratgichlar va 68 Ohm qarshilik yordamida mos keladi. + Zener diyot 3,3 V .. MK soat chastotasi - 12 MGts. Bu USB shinasi bilan ishlash uchun minimal chastotadir. Sxema, shuningdek, ish rejimlarini ko'rsatish uchun uchta LEDni o'z ichiga oladi. LEDlarning biri qaysi ish rejimi yoqilganligini ko'rsatadi, qolgan ikkitasi esa ma'lumotlarni qabul qilish / uzatishni bildiradi. Qurilmada tugmalar yoki kalitlar yo'q va barcha sozlamalar to'g'ridan-to'g'ri shaxsiy kompyuterdan dasturiy ravishda amalga oshiriladi. Ha, 68 Ohm rezistorlar interfeyslarni ishlatish uchun ishlatiladigan barcha pinlarga kiritilgan. MKni qisqa tutashuvdan himoya qilish uchun. Yuqorida aytib o'tilganidek, qurilma shaxsiy kompyuterga HID sifatida ko'rinadi va drayverni o'rnatishni talab qilmaydi. VID va PID V-USB tomonidan taqdim etilganlardan tanlangan: VID - 0x16c0, PID - 0x05df. Aks holda, USB qurilmasi uchun individual identifikatorni sotib olish uchun toza summani to'lashingiz kerak bo'ladi. Lekin chunki Ochiq manbali va notijorat loyiha, siz V-USB tomonidan taklif qilingan identifikatorlardan butunlay erkin foydalanishingiz mumkin.

To'lov quyidagicha bo'ldi:

Va lehimli shaklda:

Bu sinov namunasi bo'lib, hatto xatolari ham bor edi. Negadir men Idoralar chiqishini ko'rsatishga arzimaydi deb o'yladim. Xo'sh, hech narsa, hamma narsa allaqachon tuzatilgan va to'g'ri taxta maqolaga biriktirilgan.

Shunday qilib, sxema bilan hamma narsa aniq, u juda oddiy va bir oqshomda lehimlanishi mumkin. Lekin, yuqorida aytib o'tilganidek, natijada olingan qurilma shaxsiy kompyuter tomonidan HID sifatida belgilanadi, ya'ni. OT o'z ma'lumotlar bazasidan unga drayverni tanlaydi. Oddiy qilib aytganda, Windows uni kiritish qurilmasi bilan ishlayapti deb o'ylaydi. Bu drayverlar bilan muammosiz istalgan shaxsiy kompyuterda ishlash imkonini beradi. Ammo bu borada bitta kichik muammo bor: USART orqali ma'lumot almashish uchun mavjud dasturlarning hech biri ushbu qurilma bilan ishlamaydi. Bu modul bilan ishlash uchun qandaydir maxsus dastur kerakligini anglatadi, aks holda u hech qanday qiymatga ega emas. Shunday qilib, men o'zimning sevimli C++ Builder dasturini (hozirgi kunda u CodeGear RAD Studio deb ataladi, aks holda ma'nosini o'zgartirmaydi) 2007 versiyasini ochdim va ushbu dasturni yozdim:

Unda hech qanday murakkab narsa yo'q, har bir interfeys uchun bir qator sozlamalar mavjud. Ha, bir vaqtning o'zida bir nechta interfeyslar ishlamaydi, faqat bittasi. Qurilmani shaxsiy kompyuterga ulaganingizda hamma narsa juda oddiy ishlaydi, dastur oynasida tugmachalar faollashadi va tegishli interfeysni ishga tushiradi. Keyin faqat ma'lum bir formatda kirish maydoniga ma'lumotlarni yozing va "Yuborish" tugmasini bosing. Har bir interfeys o'z ma'lumotlar formatiga ega. Endi ularni batafsil ko'rib chiqamiz:

USART: (rejim faol bo'lganda ma'lumotlar doimo avtomatik ravishda qabul qilinadi)

  • bir nechta HEX raqamlarini yuborib, ularni cheksiz sonda bo'sh joy bilan ajratib yozing, masalan: 01 05 fa aa ...
  • satrni yuborish (matn, raqamlar va boshqalar). Bu yerda identifikator S (s) satr boshida yoziladi, masalan: s www.site
  • qurilmaga ma'lumotlarni jo'natish uchun qator formati quyidagicha bo'ladi: Manzil (kimga va qaysi xotira katakchasiga o'tkazish kerak) A (a) va Data D (d). Masalan: aa3 dfa;
  • qurilmadan ma'lumotlarni so'rash uchun: Manzil (kimdan va qaysi xotira katakchasidan olish kerak) va R (r) identifikatorini o'qish. Masalan: aa3r
  • qurilmaga ma'lumotlarni yuborish uchun: Qurilma manzili (o'qish biti 0) A (a) Xotira manzili M (m) Ma'lumotlar D (d). Masalan, aa2 m03 d15
  • ma'lumotlar so'rovi quyidagicha ko'rinadi: Qurilma manzili (o'qish biti 0) A (a) Xotira katakchasi manzili M (m) Qurilma manzili (o'qish biti 1 ga) A (a) R ni o'qish uchun xotira kataklari soni bilan identifikatorni o'qing ( r). Masalan: aa2 m03 aa3 r1

Slave rejimida SPI uchun buyruqlar yo'q, biz shunchaki o'tiramiz va ular bizga biror narsa yubormaguncha kutamiz. Qurilma bilan ishlash uchun biz uni shaxsiy kompyuterga ulaymiz, operatsion tizim drayverlar muvaffaqiyatli topilganligi va o'rnatilganligi haqida xabar berguncha biroz kutamiz, dasturni ishga tushiramiz va ma'lumotlar almashinuvini boshlaymiz. Hammasi juda oddiy, chunki qurilmani yaratishda oddiylik mezonlardan biri edi.

Ha, darvoqe, dastur Windows XP dan Windows 8 gacha bo'lgan barcha Windows versiyalari bilan mos keladi va ishlashi uchun turli xil ekzotikalar, masalan, NetFramework va hokazolarni talab qilmaydi. Darhaqiqat, modulning o'zi kabi.

Hammasi shu, dastur, plata va manba kodi kiritilgan.

Sigortalar tashqi kvartsdan yuqori chastotada ishlashga o'rnatiladi. Ular shunday ko'rinadi:

Rasmda LOW sug'urtasi belgilanmagan bo'lsa 1 ga, belgilanganida esa 0 ga teng. YUQORI sigortalar buning aksi. O'n oltilik tizimda u quyidagicha ko'rinadi: YUQORI: D9, LOW: FF.

Va, albatta, video, chunki ... Bir marta ko'rish yaxshiroq ... (USART echo test rejimida ishlaydi (Rx va Tx ulangan) va SPI va I 2 C PCA2129T chipi bilan sinovdan o'tkaziladi, bu haqda maqola)

Radioelementlar ro'yxati

Belgilanish Turi Denominatsiya Miqdori EslatmaDo'konMening bloknotim
MK AVR 8-bit

ATmega8

1 Bloknot uchun
VD1, VD2 Zener diyot

BZX55C3V3

2 3,3 volt Bloknot uchun
HL1-HL3 LED 3 Bloknot uchun
C1 Elektrolitik kondansatör100 mkF1 Tantal kondensatori Bloknot uchun
C2, C3 Kondensator0,1 mkF2 Bloknot uchun
C4, C5 Kondensator22 pF2 Bloknot uchun
R1 Rezistor

1,5 kOm

1 Bloknot uchun
R2 Rezistor

10 kOm

1 Bloknot uchun
R3, R4, R8-R13 Rezistor

Har qanday murakkab elektron uskunani ta'mirlash hozirda ikkita variantga bo'linishi mumkin: dasturiy ta'minotni ta'mirlash, "dasturiy ta'minot" yoki apparat darajasida apparatni ta'mirlash. Agar birinchisi oddiygina qurilmani sozlashni o'z ichiga olsa, uni texnologiya bilan tanish bo'lgan har qanday foydalanuvchi bajarishi mumkin, agar biron sababga ko'ra uning sozlamalari ish paytida yo'qolsa.

Uskunani ta'mirlash- Bu ko'pincha lehimlashni, turli sabablarga ko'ra ishlamay qolgan ba'zi radio komponentlarini almashtirishni o'z ichiga oladi. U haddan tashqari qizib ketganmi, masalan, qurilma tanasida to'plangan chang tufayli va natijada yomon issiqlik uzatish yoki namlikning kirib borishi va natijada qisqa tutashuv. Yoki xuddi shu narsa, barcha qisqa tutashuv ustalari tomonidan yaxshi ko'rilgan, qurilmaning tanasida joylashgan hasharotlar tomonidan taxtada joylashtirilgan) va ularning faoliyatining izlari ko'pincha taxtalarda topiladi.

Ammo ta'mirlashning uchinchi turi mavjud, odatda raqamli texnologiya bilan bog'liq bo'lib, unda bu ikki turdagi ta'mirlash birlashtiriladi - bu qurilmani miltillaydi. Va agar biz smartfon yoki planshetni USB kabeli orqali kompyuterga ulash orqali qayta o'rnatishimiz mumkin bo'lsa, unda, masalan, bu usul router, anakart yoki video karta bilan ishlamaydi. Ularning barchasida Flash xotira, maxsus chip, odatda 24 yoki 25 seriyali, bizning dasturiy ta'minotimiz saqlanadi.

Xotira chipi 25 seriyali

Anakartlar va video kartalar bilan hamma narsa odatda oddiy - sizga Flash va EEPROM xotira dasturchisi kerak, masalan, oddiy va arzon CH341A, bu bizning muammomizni hal qilish variantlaridan biri sifatida muhokama qilinadi. Shuningdek, lehimsiz flesh-xotira uchun sizga SO-8 yoki SO-16 paketidagi mikrosxemalarni miltillash uchun maxsus klip kerak bo'ladi. Uy ustaxonasida ikkala klip ham bor.

SO-8 ni tikish uchun klip

Ulardan birinchisi, SO-8 paketidagi mikrosxemalar uchun, odatda, SO-16 paketidagi mikrosxemalar uchun ikkinchisiga qaraganda bir necha baravar tez-tez kerak bo'ladi. Bu menga Zyxel routerini miltillash uchun faqat bir marta foydali bo'ldi, aytmoqchi, ular o'zlarini taniqli brend deb bilishlari sababli, ular original va ba'zan shunga o'xshash SO-16 holatlarida mikrosxemalarni o'rnatadilar va 29 seriyali mikrosxemalar bo'lmasa yaxshi bo'ladi, kim biladi - u darhol tushunadi.

SO-16 klipli ulagich

Gap shundaki, 29-seriyali mikrosxemani miltillash uchun bizga ancha qimmatroq dasturchi - MiniPro TL866A kerak bo'ladi, menda ham bor, lekin Dip korpusidan oyoqlarning juda keng tarqalgan joylashuviga ega adapter yo'q. , va SMD paketidagi mikrosxemani lehimlash bilan solishtirganda, xuddi shu SO-8 yoki SO-16 bolalar o'yinidir. Shunday qilib, men ta'mirlash uchun 29 seriyali chipli Zyxel router oldim. Avvalgi Zyxel routerni birinchi marta ta'mirlaganimda, chip SO-16 to'plamida bo'lsa ham, 25 seriyali ketma-ket xotira edi. Keyin, siz tushunganingizdek, ta'mirlashni amalga oshirish ancha oson edi.

Xotira chipi 29 seriyali

Xo'sh, agar biz "omadli" bo'lsak va 29 seriyali mikrosxemaga ega bo'lsak, marshrutizatorni qanday tiklashimiz mumkin? Router ishlab chiqaruvchilari, bu holda, TFTP serveri orqali favqulodda miltillashni ta'minlaydi. Ammo muammo shundaki, ba'zida U-Boot deb ataladigan chip xotirasidagi yuklash bo'limi o'chiriladi. Bunday holda, marshrutizator xotirasini ma'lum manzillarda miltillash opsiyasi sizga mos keladi, siz o'zingizni marshrutizatorlarni miltillash uchun maxsus forumlarda topishingiz kerak bo'ladi. Ammo odatda hamma narsa ancha sodda - proshivka noto'g'ri ketdi, yo'riqnoma normal ishlashi uchun zarur bo'lgan ma'lumotlar yo'qoladi, lekin yuklash maydoni va kalibrlash maydoni buzilmagan. Bunday holda, sizga oddiy va arzon USB-TTL adapteri kerak bo'ladi, uning narxi Ali Express-da atigi 40 rublni tashkil qiladi.

USB-TTL adapteri

CH340A chipidagi adapter ham mos keladi, u eskizlarni Arduino Pro mini platasiga yuklash uchun ishlatiladi, unda CH340A yuklash moslamasi lehimlanmagan. Bundan tashqari, pl2303-ga asoslangan adapterlar yoki men yuqorida yozgan va o'tish moslamasini o'zgartirgandan so'ng USB-UART adapter rejimida ishlashi mumkin bo'lgan CH341A Flash va EEPROM xotira dasturchisi mos keladi.

Flash va EEPROM xotira dasturchisi + USB-TTL

Oxirgi chora sifatida siz USB-COM konvertorini o'z ichiga olgan eski mobil telefondan miltillovchi kabeldan foydalanishingiz mumkin, ammo siz quvvat darajalariga mos kelishingiz kerak. Adapterdan keladigan quvvat ma'lum bir pindan chiqishi mumkin bo'lgan 5 volt emas, balki qat'iy 3,3 volt bo'lishi kerak. Aytaylik, bizda ushbu adapter (aniqrog'i, yuqorida sanab o'tilganlardan biri) bor, biz u uchun drayverni o'rnatdik, Windows-dagi qurilma menejeriga bordik va adapterimiz qaysi MAQOMOTI port raqamiga mos kelishini aniqladik. Va bu adapter tizimingizdagi virtual MAQOMOTI portidan boshqa narsa emas.

Biz COM port raqamini qidirmoqdamiz

Keyin bizga qandaydir dastur - terminal kerak bo'ladi, unda konsol buyruqlari yordamida biz yo'riqnomamizni miltillash orqali tiklaymiz. Ammo biz ushbu adapter yordamida yo'riqnomani qayta ishga tushirmaymiz, adapter faqat proshivka jarayonini boshqarish uchun ishlatiladi. Bu holatda marshrutizatorni qanday miltillashtiramiz? Albatta, marshrutizatorni JTAG interfeysi orqali ARM protsessori orqali miltillash variantlari mavjud va menda Ali Express-da ushbu dasturchi sotib olingan - bu LPT interfeysi orqali ulangan Wiggler dasturchisi, lekin buni tushunishga urinib ko'rganimdan so'ng, men qaror qildim. miltillovchi usul TFTP serverlaridan foydalanish ancha sodda.

JTAG Wiggler dasturchisi

Keling, ushbu oddiyroq variantni batafsil ko'rib chiqaylik, buning uchun JTAG dasturchisi kerak emas, bu yuqorida yozganimdek, TFTP serveri orqali miltillaydi; Buning uchun biz USB-UART adapterimizni router platasidagi 4 ta pinga ulashimiz kerak. To'g'ri, ba'zida ishlab chiqaruvchi kontakt yostiqchalari va yo'llarni ajratib qo'ygan, ammo pinlarni o'zlari lehimlamagan. Bunday holda, siz radio do'konida sotib olingan yoki donor anakartdan yoki boshqa qurilmadan lehimlangan 4 pinli taroqni mustaqil ravishda lehimlashingiz mumkin.

USB-TTL ulanishi

Printsipial jihatdan, agar buning iloji bo'lmasa, siz bu pinlarni lehimlashingiz shart emas, shunchaki ularni taxtadagi nikellarga, bu pinlar lehimlanishi kerak bo'lgan kontaktli prokladkalarga ehtiyotkorlik bilan lehimlang. Ushbu maqsadlar uchun nozik MGTF simi juda qulay. Shunday qilib, biz adapterni kompyuterga uladik, drayverni o'rnatdik va doskadagi ushbu 3 ta 4 pinga kerakli ishonchli ulanishni ta'minladik.

Adapter uchun Arduino jumpers

Taroqqa ulanish uchun Arduino platalarini qalqonlarga ulash uchun ishlatiladigan jumperlar va jumperlardan foydalanish qulay. Ushbu 3 simni qanday ulashimiz kerak? Va agar to'rtta kontakt bo'lsa, nima uchun faqat uchtasi? Routerlarni adapterdan quvvat bilan ta'minlash tavsiya etilmaydi, quvvat o'z quvvat manbaidan kelishi kerak. Shuning uchun, kutilganidek, 3,3 voltdan foydalansangiz ham, elektr ta'minotini uzish yaxshiroqdir.

Adapter va yo'riqnoma o'rtasidagi ulanish - diagramma

Miltillash paytida bir-biriga ulangan qurilmalarning asoslari birlashtirilishi kerak, shuning uchun tuproqni, GND pinini ulash kerak bo'ladi. Ammo qolgan ikkita pin, RX va TX, ularni bir-biriga "kesish" orqali ulanishi kerak, ya'ni RX ni TX ga va TX ni RX ga ulang. Shunday qilib, biz hamma narsani to'g'ri uladik, keyin terminalni to'g'ri sozlashimiz kerak, men routerimizni konsol orqali boshqarish va shunga mos ravishda uni yangi proshivka bilan yangilash uchun Putty-dan foydalanishni afzal ko'raman.

Putty-ni sozlash

Bu shuni anglatadiki, biz Putty sozlamalarida ketma-ket port, ketma-ket port yoki MAQOMOTI portini tanlaymiz, so'ngra qurilma menejerida avval ko'rib chiqqan kerakli MAQOMOTI port raqamini o'rnatamiz. Shundan so'ng, siz COM port tezligini sozlashingiz kerak, odatda 57600, kamroq tez-tez 115200 bod. Va nihoyat, yana bir bor hamma narsa to'g'ri ulanganligiga ishonch hosil qilib, platada hech narsa qisqa tutashuv yoki qisqa tutashuv yo'qligiga ishonch hosil qilib, miltillash jarayonida biz oldindan sozlangan konsolga kiramiz va marshrutizatorni asl quvvatdan quvvat bilan ta'minlaymiz. ta'minlash.

Krakozyabry terminalda

Agar siz ekranda "krakerlar"ni ko'rsangiz, demak siz MAQOMOTI port tezligini noto'g'ri sozlagansiz va yo'riqnoma modeli uchun qanday tezlikni o'rnatish kerakligini o'qib chiqishingiz yoki "krakerlar" yo'qolguncha va oddiy matn paydo bo'lguncha uni eksperimental ravishda tanlashingiz kerak. . Keyin siz routerni yoqqaningizdan so'ng darhol bosishingiz kerak bo'ladi, to'g'ri daqiqani ushlab turing, bu unchalik oson emas, TP-Link routerlari uchun ma'lum bir tugmalar birikmasi yoki tpl yoki 4-raqam, konsolga kiring, yoki 2-raqam, Zyxel routerlari uchun TFTP serveridan miltillashni ishga tushiradi.

TFTP server interfeysi

Serverning o'zi tarmoq ulanishlarida administrator sifatida ishga tushirilishi kerak, serverning IP-manzili u erda ko'rsatilishi kerak, uni konsol sizga aytadi yoki siz Internetda o'zingiz topishingiz mumkin. TFTP serverida siz mijozning IP manzilini va proshivkamiz joylashgan papkani ko'rsatishingiz kerak bo'ladi.

Tarmoq ulanishi sozlamalarini o'zgartirish

Mikrodasturning o'zi albatta Boota'siz bo'lishi kerak, ya'ni biz klip bilan biriktirilgan proshivkani 25 seriyali SPI dasturchisi orqali tikganimizda bizga Fullflash yoki boshqacha qilib aytganda, yuklash moslamasi bo'lgan proshivka kerak bo'ladi, bu holda proshivka bo'lishi kerak. standart, odatda ishlab chiqaruvchi tomonidan taqdim etiladigan yuklovchisiz, veb-saytingizda. Mikrodastur faylining nomini oddiyroq qilish yaxshiroqdir, masalan, miltillash jarayonini boshlashda uni konsolga kiritishingiz kerak bo'ladi.

Yuklab olish to'xtatilmoqda

Keyin siz rozi bo'lishingiz va miltillash bilan rozi ekanligingizni tasdiqlashingiz kerak bo'ladi. Agar siz hamma narsani to'g'ri bajargan bo'lsangiz, miltillash jarayoni konsolda boshlanadi, u tugagandan so'ng siz faqat routerni qayta ishga tushirishingiz kerak bo'ladi va agar proshivka qat'iy ravishda mos keladigan model va apparatni qayta ko'rib chiqishdan iborat bo'lsa, hamma narsa siz uchun ishlaydi.

Miltillash jarayonini tushuntirish, albatta, katta hajmli bo'lib chiqdi, lekin uni kamida bir necha marta tugatgan odam uchun jarayonning o'zi juda oddiy bo'ladi. Va marshrutizatorlar, ayniqsa, momaqaldiroq paytida, may-iyun oylarida uzoq davom etmaydigan uskunalar ekanligini hisobga olsak, ushbu maqola yangi router sotib olishga pul tejashni istagan yangi boshlanuvchilar uchun foydali bo'ladi deb o'ylayman. Barchaga muborak ta'mirlash! Ayniqsa, sayt uchun Radio sxemalari - AKV.

Maqolani muhokama qiling USB-UART KONVERTER: ADAPTER BILAN YANGILASH

© 2024 ermake.ru -- Kompyuterni ta'mirlash haqida - Axborot portali