کدام گوشی ها دارای usb uart هستند. مبدل USB-uart: چشمک زن با آداپتور

صفحه اصلی / خرابی ها

اکثر دستگاه های وبلاگ وب سایتبا UART. و این طبیعی است - UART یک پروتکل بسیار ساده و بی نیاز است. کار با آن هم از سمت میکروکنترلر و هم از سمت کامپیوتر آسان است. اما استفاده از UART یک نقطه ضعف دارد. اکثریت قریب به اتفاق میکروکنترلرها دارای UART هستند، اما در رایانه‌های شخصی وضعیت کمی بدتر است. رابط UART بومی پورت COM (در نسخه RS232) است، اما به دلیل نیازهای روزافزون برای تجهیزات جانبی کامپیوتر، پورت COM در حال منسوخ شدن است. این به دلیل سرعت کم، عدم توانایی در گسترش و غیره اتفاق می افتد. مدت هاست که از لپ تاپ ها به عنوان یک کلاس از پورت ها ناپدید شده است. نوبت کامپیوترهای رومیزی است...
اما همه چیز بد نیست. راهی برای خروج وجود دارد! بسیاری از تولید کنندگان تراشه های مبدل USB-UART (پل) را توسعه داده و تولید می کنند. اصل کارشان این است. یک درایور ویژه روی رایانه شخصی نصب شده است که یک پورت COM مجازی در سیستم ایجاد می کند. برای برنامه های رایانه شخصی، این پورت هیچ تفاوتی با یک پورت COM معمولی ندارد - آنها "توجه نمی کنند" جایگزینی. هر پیامی که به این پورت مجازی ارسال می شود به پیام های پروتکل USB تبدیل می شود. یک تراشه مبدل متصل به پورت USB این پیام ها را دریافت کرده و سیگنال های UART را تولید می کند. ریز مدارهای محبوب و مقرون به صرفه عبارتند از FT232 و PL-2303 (و OTI006858 و CP2102 نیز وجود دارند).

حال به موضوع سوال نزدیک می شویم.
بنابراین، متوجه شدیم که به یک مبدل USB به UART نیاز داریم. شما می توانید آن را از چند طریق دریافت کنید:
1 میکرو مدار مورد نیاز را بخرید و دستگاه را خودتان لحیم کنید. اگر در حال مونتاژ هر دستگاهی هستید، اگر مبدل در دستگاه یکپارچه شود، راحت خواهد بود. اگر در گوگل سرچ کنید، مدارهای زیادی از چنین مبدل هایی پیدا خواهید کرد - اچ کردن برد و مونتاژ مبدل مشکلی نخواهد داشت.
2 مبدل آماده بخرید. گزینه بدی هم نیست تعداد زیادی از این دستگاه ها در فروش وجود دارد. در فاکتورهای شکلی مختلف، با قیمت های مختلف - برای هر سلیقه ای انتخاب کنید!
3 گزینه دیگری وجود دارد - یک جایگزین. موافقم - ممکن است همیشه قابل قبول نباشد، اما هنوز ... می توانید مبدل را از دستگاه دیگری "قرض بگیرید".

در این مقاله، استفاده از سیم تلفن همراه به عنوان مبدل USB به UART را پیشنهاد می کنم ( کابل داده). چرا بند برای تلفن همراه؟ الان توضیح میدم
مدتی پیش، پروتکل UART به طور گسترده ای برای برقراری ارتباط بین تلفن همراه و کامپیوتر مورد استفاده قرار گرفت. دلایل استفاده گسترده از آن واضح است - تولیدکنندگان به یک کانال ارتباطی ارزان و گسترده با رایانه شخصی نیاز داشتند. این می تواند یک پورت COM یا USB باشد. در آن زمان کار با USB گران بود و سودآور نبود - COM برنده شد. تلفن‌های همراه یک سیگنال UART را در خارج از کشور ارسال می‌کنند و سیم‌های کابل داده آن را به پورت COM یا USB تبدیل می‌کنند. امروزه وسایل الکترونیکی راه طولانی را پیموده اند و USB در ریزپردازنده های تلفن همراه اجباری شده است. سیم های تلفن های مدرن با کابل های معمولی USB جایگزین می شوند.
و اکنون به جالب ترین قسمت می رسیم. تلفن های جدید ظاهر می شوند ، سیم های مبدل قدیمی برای هر کسی بی فایده می شوند ، به این معنی که فروشندگان سعی می کنند به هر قیمتی از شر آنها خلاص شوند. قیمت این توری های قدیمی به سادگی مضحک است. بنابراین با آنقدر پول با این جعبه های توری روبرو شدم که نتوانستم مقاومت کنم و دو تا خریدم. حالا من به شما می گویم برای ساختن یک مبدل USB UART کامل از چنین سیمی چه کاری باید انجام شود.

ابتدا باید همین توری را بخرید.

همه توری ها مناسب نیستند. ابتدا باید نام توری هایی که مبدل دارند را در گوگل جستجو کنید. از نظر بصری باید به دنبال بند ناف با جعبه ای در وسط باشید.

در اینجا جعبه بسته بندی و محتویات آن است.

کیت شامل خود سیم و یک دیسک درایور است. می توانید بلافاصله دیسک را دور بیندازید - چنین مجموعه زباله ای در آنجا وجود دارد که پیدا کردن چیزی که نیاز دارید مشکل ساز است. خود توری را بردارید.

در حال حاضر بیایید نگاهی دقیق تر به تابلو بیندازیممبدل



در نتیجه بررسی، یک ریزمدار پیدا می کنیم پرکار PL-2303HX.

در 90 درصد موارد، ما این ریزمدار خاص را در چنین توری هایی خواهیم دید. دلیل آن ارزان بودن آن است. علاوه بر این، این تراشه در اکثر مبدل های USB-UART که از فروشگاه خریداری می کنید نیز یافت می شود. شما به ندرت FT232 را خواهید دید، زیرا گران تر است و در توری های ارزان چینی موجود نیست (مگر اینکه با بند ناف مارک دار برخورد کنید). اگر با یک FT232RL روبرو شدید، خود را خوش شانس بدانید که می توانید از چنین سیمی برای مسخره کردن برنامه نویس استفاده کنید (FT232RL می تواند در حالت beatbang کار کند).

توجه کن! شما می توانید یک کلون Prolific را در هیئت مدیره پیدا کنید. این یکی مثلا تو دومی بود از توری هایی که خریدم.

تخته یکسان است، طراحی یکسان است، اما کریستال به وضوح Prolific نیست (با قضاوت بر اساس ظاهر آن، یک کلون ارزان‌تر است). کمبود کوارتز هشدار دهنده است، اما برد کار می کند (من گمان می کنم که از یک نوسانگر داخلی RC کار می کند - این خیلی خوب نیست). در هر صورت، چنین ریز مدارهایی کاملاً مشابه Prolific (حداقل از نظر پا) هستند.

اکنون به وب سایت Prolific بروید و دیتاشیت تراشه را دانلود کنید
- تبدیل USB-UART پرکار

در دیتاشیت، پین‌آوت را پیدا می‌کنیم و نگاه می‌کنیم که سیگنال‌های UART مورد نیاز در کدام پاها قرار دارند:
- فرستنده TXD - 1;
- گیرنده RXD - 5.

پایه های مربوطه را روی تراشه پیدا می کنیم.

در مرحله بعد، با استفاده از یک تستر معمولی، نزدیک ترین لنت های تماسی را پیدا می کنیم که می توانیم سیم ها را به آنها لحیم کنیم. شما نمی توانید به پاها لحیم کاری کنید - آنها کوچک هستند. ما همچنین به "زمین" نیاز داریم - همه چیز در اینجا ساده است، چند ضلعی های بزرگ خواهد بود. سیم ها را به لنت های مربوطه لحیم کنید.
ما یک کانکتور مناسب را به انتهای دیگر بند ناف وصل می کنیم.

احتمالاً کسی قبلاً پیام های انجمن ما را خوانده است exmortis در مورد ساخت کابل USB-TTL از مواد بداهه.

ما تصمیم گرفتیم این را به عنوان یک مقاله راهنمای جداگانه منتشر کنیم. متشکرم exmortis برای مواد ارائه شده

چکیده: این مقاله اضافه شده به رابط سریال است که توصیه می شود ابتدا مطالعه شود.

همانطور که از مقاله ذکر شده در بالا می دانید، ست تاپ باکس Ritmix RZX-50 را می توان از طریق uart ttl به کامپیوتر متصل کرد، اما از آنجایی که سیگنال های ولتاژ با استاندارد rs-232 مطابقت ندارند، به یک آداپتور نیاز است. به عنوان یک راه حل آماده می توانید از یک مبدل مخصوص به عنوان مثال یا حتی این یکی استفاده کنید.

مشکل این است که چنین راه حل هایی ممکن است همیشه در دسترس نباشند، و اگر آنها در دسترس باشند، قیمت اعلام شده می تواند بسیار بالا باشد.

با این حال، می توانید از کابل آداپتور معمولی usb-rs232 (com) استفاده کنید که در هر فروشگاه رایانه فروخته می شود. به عنوان مثال، مانند این:

کابل Gembird usb-rs232 uas111. راحت است زیرا کنترلر در یک جعبه مرتب پنهان شده است. درست است که مهر و موم شده است ، بنابراین برای باز کردن آن باید یا آن را اره کنید یا پلاستیک را با یک آهن لحیم کاری قطع کنید.

در اصل، هر کابل مشابه دیگری انجام می شود، با این حال، باید به سهولت دسترسی به برد با کنترلر توجه کنید. در برخی از کابل ها در کانکتور rs-232 پنهان شده است که به سختی باز می شود، در حالی که در برخی دیگر ممکن است یک تراشه قطره ای وجود داشته باشد که لحیم کردن به آن آسان نباشد. در پایان، چنین کابلی ممکن است بر اساس برخی از تراشه های عجیب و غریب باشد.

تراشه pl2303. اول از همه، پاهای 1 (TXD) و 5 (RXD) جالب هستند که شماره گذاری پاها در خلاف جهت عقربه های ساعت از گوشه ای که روی خود تراشه با یک نقطه مشخص شده است.

سمت عقب با تراشه max213. سیگنال از پایه اول pl2303 به پایه ششم max می آید و سیگنال از 5th به پایه 19 max می آید.
در اصل، این میکرو مدار برای uart-ttl مورد نیاز نیست، حتی ممکن است تداخل داشته باشد. بنابراین، باید با دقت لحیم کاری شود و لحیم کردن آن به لنت های تماس آسان تر خواهد بود.

تراشه max213 لحیم کاری شده است. سیم قرمز به سیگنال TXD، سیم زرد به سیگنال RXD و سیم مشکی به زمین متصل می شود. متعاقباً می توانید طبق طرح آنتونی وصل کنید و سیم ها را "متقاطع" وصل کنید، یعنی. RXD کنترلر به TXD ست تاپ باکس و TXD به RXD به ترتیب.

پین های رابط سریال برای Ritmix RZX-50.

دومین بخش مهم، اتصال مستقیم به کامپیوتر و تنظیم اتصال است.
در زیر وضعیت خاصی را در نظر خواهیم گرفت که W7 x64 بر روی رایانه (لپ تاپ) و Xubuntu 11.10 x32 در ماشین مجازی VirtualBox نصب شده است. هر آنچه در زیر توضیح داده شده است برای هر توزیع لینوکس نیز صادق است.

کابل لحیم شده همانطور که در بالا نشان داده شد به رایانه متصل است (rzx-50 متصل نیست). به طور طبیعی، درایور توسط سیستم نصب نمی شود، اما این مورد نیاز نیست. ما xubuntu را در ماشین مجازی بارگذاری می‌کنیم، دستگاه متصل را به داخل منتقل می‌کنیم (باید به عنوان Prolific Technology Inc. USB-Serial Controller تعیین شود). سپس کنسول را بارگذاری کنید و dmesg را وارد کنید. یکی از آخرین خطوط باید تعریف دستگاه متصل (pl2303) و بازتاب آن در سیستم فایل باشد - در این مورد /dev/ttyUSB0 است. بیایید این نام را به خاطر بسپاریم.

حالا باید minicom را نصب کنید. دستور استاندارد است: "sudo apt-get install minicom". تنظیمات را اجرا کنید: "sudo minicom -s" و به منوی پیکربندی بروید. در راه‌اندازی پورت سریال، /dev/ttyUSB0 را به‌عنوان دستگاه سریال تنظیم می‌کنیم، نرخ جریان روی 56700 8N1 تنظیم می‌شود، کنترل جریان سخت‌افزار و نرم‌افزار خاموش است (خیر). بعد، در مودم و شماره گیری باید خطوط Init String و Reset String را پاک کنید.

از تنظیمات خارج شده و minicom را در حالت عادی (sudo minicom) راه اندازی کنید. اکنون می توانید کابل را با اتصال سیم ها از سیگنال های TXD و RXD تست کنید. اگر هنگام فشار دادن هر یک از کلیدها در minicom، نمادهای مربوطه روی صفحه ظاهر می شوند، کابل کار می کند.

اکنون می توانید ست تاپ باکس را به روشی که در بالا ذکر شد به سیم ها متصل کرده و آن را روشن کنید و از خروجی پنجره شبیه ساز ترمینال لذت ببرید. هنگامی که از شما خواسته شد رمز عبور را وارد کنید، "root" را وارد کنید. اگر زباله یا نمادهای خارجی به طور دوره ای هنگام ورود و خروج نمادها ظاهر می شوند، به این معنی است که مشکلی در زمین وجود دارد (به احتمال زیاد پاره شده است). در حالت ایده آل، زمین همچنین نباید به هیچ وجه به سیگنال های TXD و RXD متصل شود.

یادداشت سردبیر: من شخصاً بلافاصله پایان دهه 90 را به یاد آوردم، زمانی که دوره پالم شروع شد. در آن زمان، من صاحب افتخار Handspring Visor Deluxe، قدرتمندترین PDA در آن زمان بودم (کلمه "تبلت" هنوز اختراع نشده بود). بنابراین، به دلیل کمبود پورت USB (بله! بله!) مجبور شدم خودم یک کابل RS232-TTL بسازم. علاوه بر این، از آنجایی که سیگنال‌های Visor سه ولت بودند و ریزمدار Maxim که سطح سیگنال مورد نیاز را فراهم می‌کرد، کمیاب بود، لازم بود یک تقسیم‌کننده ولتاژ از 5 تا 3.3 ولت به پایه "خروجی" وصل شود تا دستگاه نسوزد. .

اکنون همه چیز بسیار ساده تر است و می توانید روی فعالیت های معنی دار تری تمرکز کنید، به عنوان مثال، سهم خود را در ایجاد سیستم عامل جایگزین برای RZX-50 داشته باشید :)

کنترلرهای مختلف آردوینو و غیر آدوینو را برنامه ریزی کنید، اطلاعات را از هر چیزی که دارای رابط سریال با منطق TTL است به رایانه دریافت کنید.
من از آن در پروژه هایم با Arduino Pro MIni، Gboard/Iboard و کنترلرهای خانگی استفاده می کنم.

چه تفاوتی با سایر دستگاه های مشابه دارد؟

  1. یک پایه DTR اضافی که می تواند مستقیماً به ورودی RESET در کنترلرهایی که USB روی برد ندارند وصل شود. پس از این، نیازی به فشار دادن دکمه RESET در حین برنامه ریزی نیست. این برای من بسیار راحت است زمانی که کنترلر در اعماق کاردستی من پنهان است و دسترسی به دکمه می تواند بسیار دشوار باشد.
  2. پشتیبانی سازنده، سازگاری با درایورها و نرم افزارهای اصلی، بر خلاف FTDI های جعلی که با درایورهای بومی مشکل دارند.
  3. پین های اضافی (سوراخ برای مخاطبین) روی برد، به عنوان مثال، به شما امکان می دهد USB را در حالت صرفه جویی در انرژی قرار دهید.
  4. یک فرصت جالب، تغییر VID، PID و متنی است که با آن برد تشخیص داده می شود، تا درایور خود را با پارامترهای مورد نیاز جمع کنید، که در پروژه های تجاری بسیار جالب است. در این مورد بیشتر صحبت خواهم کرد.

کجا باید سفارش داد؟

خصوصیات

  • تراشه CP2102 از Silicon Labs
  • نرخ تبادل داده از طریق UART 300Bit/sec - 1Mbit/sec
  • خواندن بافر 576 بایت، نوشتن 640 بایت
  • پشتیبانی از USB 2.0 12Mbps
  • پشتیبانی از حالت USB SUSPENDED
  • تنظیم کننده برق داخلی 3.3 ولت 100 میلی آمپر
  • EEPROM با پارامترهای پیکربندی 1024 بایت
  • پشتیبانی از سیستم عامل Windows 8/7/Vista/Server 2003/XP/2000، Windows CE، Mac OS-X/OS-9، Linux، Android
  • امکان سفارشی سازی پارامترهای برد و درایور برای پروژه های شما
  • ابعاد تخته 26.5 x 15.6 میلی متر

برد دارای سوراخ های اضافی است که می توانید پین ها را برای کنترل مودم اضافی و تغییر USB به حالت SUSPENDED لحیم کنید.

اندازه برد کمی با سایر مبدل های USB/UART مشابه متفاوت است

  1. برد FOCA 2.2 برای پروژه های تجاری با کنترلرهای Gboard/Iboard گرفته شده است
  2. مبدل ارزان FT232 تا به امروز استفاده شده است
  3. CP2102 بررسی شد

اتصال و نصب CP2102

قبل از استفاده از برد، باید درایورها را از وب سایت رسمی Si-Labs نصب کنید

  • برای اتصال به کنترلر به 5 سیم نیاز دارید:
  • GND - GMD
  • VCC - V5.0 (V3.3) بسته به برد مورد استفاده
  • TX - RX
  • RX - TX
  • تنظیم مجدد کنترلر - DTE


اکنون می توان کنترلر را بدون فشار دادن دکمه RESET برنامه ریزی کرد.

تغییر VID، PID و سایر مشخصات مبدل

این برد در سیستم به عنوان Silicon Labs CP210X USB to UART Bridge (COM35) شناخته می شود.

گاهی اوقات در پروژه های تجاری لازم است که دستگاه هنگام برنامه نویسی نام تجاری خود را داشته باشد. تراشه CP2102 و برد روی آن فرصت های بسیار خوبی برای این کار فراهم می کند

ابتدا برنامه کاربردی برای پیکربندی پارامترهای EEPROM CP1202 را دانلود و اجرا کنید (برای اجرای برنامه نیز نیاز به دانلود Java Runtime داشتم)

اکنون می توانید تنظیمات زیر را تغییر دهید:

  • شناسه فروشنده (VID). شناسه سازنده مقدار پیش فرض 10С4 (فرمت هگزادسیمال) است. در این مورد متعلق به SiLabs است.
  • شناسه محصول (PID). شناسه محصول مقدار پیش فرض EA60 (فرمت هگزادسیمال) است. در این مورد به تمام پل های CP210x اشاره دارد.
  • حداکثر قدرت. حداکثر جریان مصرفی درخواست شده توسط پل در گذرگاه USB. مقدار پیش فرض 32 (فرمت هگزا دسیمال) است. حداکثر مقدار 500 میلی آمپر
  • ویژگی های استفاده از قدرت رژیم غذایی دارای گذرگاه (برق گذرگاه USB) یا خود تغذیه (تغذیه از منبع خارجی).
  • نسخه انتشار. شماره شماره. مقدار پیش فرض 1.0 است. فیلدها می توانند مقادیر 1-99 را در قسمت های کامل و کسری بگیرند.
  • شماره سریال. شماره سریال. مقدار پیش فرض "0001" (فرمت متن) است. این فیلد می‌تواند هر مقدار متنی تا حداکثر 64 کاراکتر را بپذیرد. برای اتصال چندین دستگاه به یک رایانه لازم است
  • رشته محصول این فیلد می تواند هر مقدار متنی تا 126 کاراکتر را بپذیرد. این شناسه زمانی که پل CP210x برای اولین بار به کامپیوتر متصل می شود در سیستم عامل نمایش داده می شود و به کاربر در انتخاب درایور مناسب کمک می کند.
  • قفل داده سفارشی حفاظت از داده های پیکربندی

همه چیز با این واقعیت شروع شد که من باید از طریق USART به یک دستگاه متصل شوم. بلافاصله آداپتور USB به UASRT را بردم (چون لپ تاپ پورت COM ندارد) روی AtTiny2313 (تبلیغ نمی کنم، نمودار به راحتی در اینترنت پیدا می شود)، آن را وصل کردم، راه اندازی کردم و ناگهان متوجه شدم که آداپتور سرعت ثابت 9600 و سرعت ثابت دستگاه 9600 است که باید وصل می شد سرعت 57600 بود طبیعتاً اواخر عصر بود و فرصتی برای خرید چیزی مانند FT232 نبود. بنابراین، پس از مدتی فکر، تصمیم گرفته شد که سرعت UASRT در آداپتور را به سادگی با فلش زدن تغییر دهید. در نتیجه، اتصال با موفقیت برقرار شد. اما باید اعتراف کنید - این یک راه حل نیست، ممکن است برنامه نویس در دسترس نباشد، و هر بار دستکاری با سیستم عامل ناخوشایند است. در نتیجه، من به طور جدی به ایجاد یک آداپتور معمولی، با سرعت قابل تنظیم (و بیشتر) فکر کردم.

البته راحت ترین گزینه خرید FT232 هست ولی بعد از مقایسه هزینه اش با هزینه مگا8 به این نتیجه رسیدم که این گزینه برای من مناسب نیست. بنابراین تصمیم گرفته شد یک آداپتور برای MK ساخته شود. و از آنجایی که در MK است، پس انجام تنها USART به نوعی منطقی نیست. بنابراین، خوب است که چند رابط دیگر را در این آداپتور قرار دهیم، پس چیزی جهانی و مفید است. تقریباً بلافاصله، خاطرات "خوشایند" از نصب درایورهای آداپتور در Tiny2313 به ذهن آمد (برای Windows7 x64 این بسیار دردناک است). این بدان معنی است که دستگاه "COM مجازی" باید رها شود، بنابراین، نوشتن برنامه برای رایانه شخصی ضروری است، در غیر این صورت کار با دستگاه غیرممکن خواهد بود. در کل پس از مدتی تفکر ایده نهایی برای دستگاه شکل گرفت. عملکرد به این صورت معلوم شد:

  • USB->USART آداپتور؛
  • USB-> آداپتور SPI؛
  • آداپتور USB->I 2 C؛
  • در این حالت، دستگاه باید HID (دستگاه رابط انسانی) باشد تا با نصب درایورها سر خود را گول نزنید.

MK Mega8 مورد قلدری قرار گرفت، زیرا در یک بسته TQFP فضای بسیار کمی را اشغال می کند (بسیار کمتر از AtTiny2313) و به اندازه 8 کیلوبایت است. حافظه ابتدا قرار بود همه نرم افزارهای رابط را بسازم، اما پس از چیدمان برد مجبور شدم سخت افزار I 2 C را رها کنم، زیرا هیچ راهی برای نمایش آن در یک برد یک طرفه وجود نداشت (در آینده، این مشکل همچنان باید حل شود؛ شاید بتوان آن را به طور جداگانه در کنار برد نمایش داد). بنابراین عملکرد آن تا حدودی محدود است، اما USART و SPI کاملاً کاربردی هستند. کتابخانه V-USB برای برقراری ارتباط با رایانه شخصی استفاده می شد.

نمودار دستگاه به شرح زیر است:

همانطور که می بینید، هیچ چیز پیچیده ای در مورد آن وجود ندارد. MK با ولتاژ 5 ولت تغذیه می شود، سطوح برای USB با استفاده از تقسیم کننده های ولتاژ و یک مقاومت 68 اهم مطابقت دارند. + دیود زنر 3.3 ولت. فرکانس ساعت MK – 12 مگاهرتز. این حداقل فرکانس برای کار با گذرگاه USB است. مدار همچنین شامل سه LED برای نشان دادن حالت های عملکرد است. یکی از LED ها نشان می دهد که کدام حالت عملکرد فعال است و دو LED دیگر دریافت/انتقال داده را نشان می دهند. هیچ دکمه یا سوئیچ در دستگاه وجود ندارد و تمام تنظیمات به صورت برنامه نویسی و مستقیماً از رایانه شخصی انجام می شود. بله، مقاومت های 68 اهم در تمام پین های مورد استفاده برای عملکرد رابط ها گنجانده شده است. برای محافظت از MK در برابر اتصال کوتاه. همانطور که در بالا ذکر شد، دستگاه به عنوان یک HID در رایانه شخصی ظاهر می شود و نیازی به نصب درایور ندارد. VID و PID از بین موارد ارائه شده توسط V-USB انتخاب شدند: VID - 0x16c0، PID - 0x05df. در غیر این صورت، برای خرید یک شناسه فردی برای یک دستگاه USB باید مبلغی را پرداخت کنید. اما چون یک پروژه متن باز و غیرتجاری، می توانید کاملا آزادانه از شناسه های پیشنهاد شده توسط V-USB استفاده کنید.

پرداخت به این صورت شد:

و به صورت لحیم کاری:

این یک نمونه آزمایشی بود و حتی نمونه ای که دارای خطا بود. بنا به دلایلی فکر کردم که خروجی CE ارزش نمایش دادن ندارد. خوب، هیچی، همه چیز قبلاً درست شده است و تابلوی صحیح به مقاله پیوست شده است.

بنابراین، همه چیز با مدار روشن است، تا حد زیادی ساده است و می توان آن را در یک شب لحیم کرد. اما، همانطور که در بالا ذکر شد، دستگاه به دست آمده توسط PC به عنوان HID تعریف می شود، یعنی. سیستم عامل یک درایور برای آن از پایگاه داده خود انتخاب می کند. به عبارت ساده، ویندوز فکر می کند که با یک دستگاه ورودی کار می کند. این کار بر روی هر رایانه شخصی بدون دردسر با درایورها امکان پذیر است. اما یک مشکل کوچک در این مورد وجود دارد: هیچ یک از برنامه های موجود برای تبادل داده از طریق USART با این دستگاه کار نمی کند. این بدان معنی است که برنامه خاصی برای کار با ماژول مورد نیاز است، در غیر این صورت ارزشی ندارد. بنابراین من C++ Builder مورد علاقه خود را باز کردم (این روزها به آن CodeGear RAD Studio می گویند که در غیر این صورت معنی را تغییر نمی دهد)، نسخه 2007، و این برنامه را نوشتم:

هیچ چیز پیچیده ای در آن وجود ندارد، تعدادی تنظیمات برای هر رابط وجود دارد. بله، چندین رابط نمی توانند به طور همزمان کار کنند، فقط یکی در یک زمان. همه چیز بسیار ساده کار می کند وقتی دستگاه را به رایانه شخصی وصل می کنید، دکمه ها در پنجره برنامه فعال می شوند و روی آن ها رابط مربوطه راه اندازی می شود. سپس فقط داده ها را در قسمت ورودی با فرمت خاصی بنویسید و روی دکمه "ارسال" کلیک کنید. هر رابط فرمت داده های خاص خود را دارد. حالا بیایید با جزئیات بیشتری به آنها نگاه کنیم:

USART: (داده ها همیشه در حالی که حالت فعال است، به اصطلاح به طور خودکار دریافت می شود)

  • با ارسال چندین عدد HEX، فقط آنها را با فاصله در تعداد نامحدود بنویسید، به عنوان مثال: 01 05 fa aa ...
  • ارسال یک رشته (متن، اعداد و غیره). در اینجا شناسه S (s) در ابتدای خط نوشته شده است، به عنوان مثال: s www.site
  • برای ارسال داده به دستگاه، فرمت رشته به شرح زیر است: آدرس (به چه کسی و به کدام سلول حافظه منتقل شود) A (a) و داده D (d). به عنوان مثال: aa3 dfa;
  • برای درخواست داده از دستگاه: آدرس (از چه کسی و از کدام سلول حافظه دریافت شود) و شناسه R (r) را بخوانید. به عنوان مثال: aa3 r
  • برای ارسال داده به دستگاه: آدرس دستگاه (بیت خواندن تا 0) A (الف) آدرس حافظه M (m) داده D (d). به عنوان مثال aa2 m03 d15
  • درخواست داده به این صورت است: آدرس دستگاه (بیت خواندن تا 0) A (الف) آدرس سلول حافظه M (m) آدرس دستگاه (بیت خواندن تا 1) A (الف) شناسه خواندن با تعداد سلول های حافظه برای خواندن R ( ر). به عنوان مثال: aa2 m03 aa3 r1

هیچ دستوری برای SPI در حالت Slave وجود ندارد، ما فقط می نشینیم و منتظر می مانیم تا چیزی برای ما ارسال کنند. برای کار با دستگاه، ما آن را به رایانه شخصی متصل می کنیم، کمی صبر می کنیم تا سیستم عامل گزارش دهد که درایورها با موفقیت پیدا شده و نصب شده اند، برنامه را اجرا می کنیم و تبادل داده را آغاز می کنیم. همه چیز بسیار ساده است، زیرا سادگی یکی از معیارهای ایجاد دستگاه بود.

بله، اتفاقاً این برنامه با تمام نسخه های ویندوز از ویندوز XP گرفته تا ویندوز 8 سازگار است و برای کار کردن به چیزهای عجیب و غریب مانند NetFramework و ... نیاز ندارد. همانطور که، در واقع، خود ماژول.

این همه، برنامه، برد و کد منبع گنجانده شده است.

فیوزها تنظیم شده اند تا از یک کوارتز خارجی با فرکانس بالا کار کنند. آنها به این شکل هستند:

در تصویر فیوز LOW وقتی علامت گذاری نشده است 1 و وقتی علامت گذاری شده 0 است. فیوزهای HIGH برعکس هستند. در هگزادسیمال به این صورت است: HIGH: D9، LOW: FF.

و البته ویدیو، چون... بهتر است یک بار ببینید از... (USART در حالت تست اکو کار می کند (Rx و Tx متصل هستند) و SPI و I 2 C با تراشه PCA2129T آزمایش می شوند، مقاله در مورد آن)

فهرست عناصر رادیویی

تعیین تایپ کنید فرقه مقدار توجه داشته باشیدخرید کنیددفترچه یادداشت من
MK AVR 8 بیتی

ATmega8

1 به دفترچه یادداشت
VD1، VD2 دیود زنر

BZX55C3V3

2 3.3 ولت به دفترچه یادداشت
HL1-HL3 LED 3 به دفترچه یادداشت
C1 خازن الکترولیتی100μF1 خازن تانتالیوم به دفترچه یادداشت
C2، C3 خازن0.1 µF2 به دفترچه یادداشت
C4، C5 خازن22 pF2 به دفترچه یادداشت
R1 مقاومت

1.5 کیلو اهم

1 به دفترچه یادداشت
R2 مقاومت

10 کیلو اهم

1 به دفترچه یادداشت
R3، R4، R8-R13 مقاومت

تعمیر هر تجهیزات الکترونیکی پیچیده در حال حاضر می تواند به دو گزینه تقسیم شود: یا تعمیر نرم افزار، "نرم افزار" یا تعمیر سخت افزار، در سطح سخت افزار. اگر اولین مورد به سادگی شامل راه اندازی دستگاه باشد، که می تواند توسط هر کاربر آشنا با این فناوری انجام شود، اگر به دلایلی تنظیمات آن در حین کار از بین برود.

تعمیر سخت افزار- این اغلب شامل لحیم کاری، جایگزینی برخی از اجزای رادیویی است که به دلایل مختلف از کار افتاده اند. خواه گرمای بیش از حد باشد، مثلاً به دلیل گرد و غبار انباشته شده در بدنه دستگاه، و در نتیجه انتقال حرارت بدتر، یا ورود رطوبت و در نتیجه اتصال کوتاه. یا همان چیزی که مورد علاقه همه استادان اتصال کوتاه است که توسط حشراتی که در بدنه دستگاه مستقر شده اند روی تخته چیده شده است و آثاری از فعالیت آنها اغلب روی تخته ها یافت می شود.

اما نوع سومی از تعمیر وجود دارد که معمولاً در ارتباط با فناوری دیجیتال است که در آن این دو نوع تعمیر با هم ترکیب می شوند - این فلش کردن دستگاه است. و اگر بتوانیم یک گوشی هوشمند یا تبلت را به سادگی با اتصال آن به رایانه از طریق کابل USB به رایانه خود فلش کنیم، برای مثال، این روش با روتر، مادربرد یا کارت گرافیک کار نخواهد کرد. همه آنها حاوی فلش مموری هستند، یک تراشه خاص، معمولا سری 24 یا 25، که سیستم عامل ما در آن ذخیره می شود.

تراشه حافظه سری 25

با مادربردها و کارت های ویدئویی، همه چیز معمولاً ساده است - به یک برنامه نویس حافظه فلش و EEPROM نیاز دارید، به عنوان مثال CH341A ساده و ارزان، که به عنوان یکی از گزینه های حل مشکل ما مورد بحث قرار خواهد گرفت. همچنین برای فلش مموری بدون لحیم کاری به یک گیره مخصوص برای چشمک زدن ریز مدارها در بسته بندی SO-8 یا SO-16 نیاز دارید. من هر دو کلیپ را در کارگاه خانگی دارم.

گیره برای دوخت SO-8

اولین مورد، برای میکرو مدارهای بسته SO-8، معمولاً چندین برابر بیشتر از دومی، برای ریز مدارهای بسته SO-16 مورد نیاز است. که فقط یکبار برای فلش کردن روتر زایکسل به درد من خورد، اتفاقا چون خودشون رو برند معروفی میدونن اورجینال هستن و گاهی تو کیس های مشابه SO-16 ریز مدار نصب میکنن و اگه ریز مدارهای سری 29 نباشه خوبه چه کسی می داند - او بلافاصله متوجه خواهد شد.

کانکتور گیره SO-16

واقعیت این است که برای فلش کردن یک ریز مدار سری 29 به یک برنامه نویس بسیار گران تری نیاز داریم - MiniPro TL866A که من نیز آن را دارم، اما هیچ آداپتوری از کیس Dip به این کیس وجود ندارد که دارای چینش پایه های بسیار رایج است. و در مقایسه با لحیم کاری که لحیم کاری ریز مدار در بسته بندی SMD، همان SO-8 یا SO-16، بازی کودکانه است. بنابراین، من به تازگی یک روتر Zyxel با تراشه سری 29 برای تعمیر گرفتم. اولین باری که روتر قبلی زایکسل رو تعمیر کردم چیپش حافظه سریال بود سری 25 البته در پکیج SO-16. سپس، همانطور که می دانید، انجام تعمیرات بسیار ساده تر بود.

تراشه حافظه سری 29

پس چگونه می توانیم روتر را بازیابی کنیم اگر "خوش شانس" باشیم و چنین ریز مدار سری 29 داشته باشیم؟ سازندگان روتر، در این مورد، فلش اضطراری را از طریق یک سرور TFTP ارائه می کنند. اما مشکل اینجاست که گاهی اوقات پارتیشن بوت در حافظه تراشه که U-Boot نام دارد پاک می شود. در این مورد، گزینه فلش کردن حافظه روتر در آدرس های خاصی برای شما مناسب است، که باید خود را در انجمن های تخصصی برای فلش روترها پیدا کنید. اما معمولاً همه چیز بسیار ساده‌تر است - سیستم عامل به خطا رفته است، داده‌های لازم برای عملکرد عادی روتر از بین می‌رود، اما ناحیه بوت و ناحیه کالیبراسیون دست نخورده هستند. در این مورد، به یک آداپتور USB-TTL ساده و ارزان نیاز دارید که هزینه آن در Ali Express فقط حدود 40 روبل است.

آداپتور USB به TTL

یک آداپتور بر روی تراشه CH340A نیز مناسب است که برای آپلود اسکچ ها روی برد مینی آردوینو پرو استفاده می شود که بوت لودر CH340A روی برد لحیم شده نیست. همچنین آداپتورهای مبتنی بر pl2303 یا برنامه نویس حافظه CH341A Flash و EEPROM که قبلاً در مورد آنها در بالا نوشتم مناسب هستند و پس از تغییر جامپر می توانند در حالت آداپتور USB-UART کار کنند.

برنامه نویس حافظه فلش و EEPROM + USB-TTL

به عنوان آخرین راه حل، می توانید از یک کابل چشمک زن از یک تلفن همراه قدیمی استفاده کنید که حاوی یک مبدل USB-COM نیز می باشد، اما باید سطوح برق را مطابقت دهید. برق آداپتور باید کاملاً 3.3 ولت باشد، نه 5 ولتی که می تواند از یک پین خاص تولید کند. بنابراین، فرض کنید که ما این آداپتور را داریم (یا بهتر است بگوییم، هر یک از موارد ذکر شده در بالا)، یک درایور برای آن نصب کردیم، به مدیر دستگاه در ویندوز رفتیم و تعیین کردیم که آداپتور ما با کدام شماره پورت COM مطابقت دارد. و این آداپتور چیزی بیش از یک پورت COM مجازی در سیستم شما نیست.

ما به دنبال شماره پورت COM هستیم

سپس ما به نوعی برنامه نیاز داریم - یک ترمینال، که در آن، با استفاده از دستورات کنسول، روتر خود را با فلش کردن آن بازیابی می کنیم. اما ما با استفاده از این آداپتور روتر را مجدداً روشن نمی کنیم. چگونه روتر را در این حالت فلش کنیم؟ البته گزینه هایی برای فلش کردن روتر از طریق پردازنده ARM آن از طریق رابط JTAG وجود دارد، و من این برنامه نویس را نیز در Ali Express خریداری کرده ام - این یک برنامه نویس Wiggler است که از طریق رابط LPT متصل شده است، اما پس از تلاش برای کشف آن، تصمیم گرفتم که روش فلش با استفاده از سرورهای TFTP بسیار ساده تر است.

برنامه نویس JTAG Wiggler

بیایید نگاهی دقیق‌تر به این گزینه ساده‌تر بیندازیم، که برای آن به برنامه‌نویس JTAG نیازی نیست، همانطور که در بالا نوشتم، از طریق یک سرور TFTP چشمک می‌زند. برای انجام این کار، باید آداپتور USB-UART خود را به 4 پین روی برد روتر متصل کنیم. درست است، گاهی اوقات اتفاق می افتد که سازنده لنت ها و مسیرهای تماس را جدا کرده است، اما خود پین ها را لحیم نکرده است. در این مورد، می توانید به طور مستقل یک شانه 4 پین را که در یک فروشگاه رادیویی خریداری شده یا از یک مادربرد اهداکننده یا دستگاه دیگری لحیم شده است، لحیم کنید.

اتصال USB-TTL

در اصل، اگر این امکان وجود ندارد، حتی مجبور نیستید این پین ها را لحیم کنید، بلکه آنها را با دقت به نیکل های روی تخته لحیم کنید، پدهای تماسی که قرار بود این پین ها در آنجا لحیم شوند. یک سیم نازک MGTF برای این منظور بسیار راحت است. بنابراین، آداپتور را به رایانه وصل کردیم، درایور را نصب کردیم و اتصال قابل اعتماد مورد نیاز خود را به این 3 پین از 4 پین روی برد ارائه کردیم.

جامپرهای آردوینو برای آداپتور

برای اتصال به شانه، استفاده از جامپرها و جامپرهایی که برای اتصال بردهای آردوینو به شیلدها استفاده می شوند، راحت است. چگونه باید این 3 سیم را به هم وصل کنیم؟ و چرا اگر چهار مخاطب وجود داشته باشد فقط سه؟ توصیه نمی شود که برق روترها را از یک آداپتور تامین کنید. بنابراین، بهتر است منبع تغذیه را قطع کنید، حتی اگر مطابق انتظار از ولتاژ 3.3 ولت استفاده کنید.

اتصال بین آداپتور و روتر - نمودار

زمین های دستگاه های متصل به یکدیگر در هنگام چشمک زدن باید با هم ترکیب شوند، بنابراین زمین، پایه GND، باید وصل شود. اما دو پین باقیمانده، RX و TX، باید با "تقاطع" آنها بین خود وصل شوند، یعنی RX را به TX و TX را به RX وصل کنید. بنابراین، ما همه چیز را به درستی وصل کرده ایم، سپس باید ترمینال را به درستی پیکربندی کنیم، من ترجیح می دهم از Putty استفاده کنم تا بتوانیم روتر خود را از طریق کنسول کنترل کنیم و بر این اساس آن را با سیستم عامل جدید به روز کنیم.

راه اندازی Putty

به این معنی که در تنظیمات Putty پورت سریال، پورت سریال یا پورت COM را انتخاب می کنیم، سپس شماره پورت COM مورد نظر را که قبلاً در مدیر دستگاه به آن نگاه کرده بودیم، تنظیم می کنیم. پس از این، باید سرعت پورت COM، معمولاً 57600، کمتر 115200 باود را پیکربندی کنید. و در نهایت، پس از اینکه یک بار دیگر مطمئن شدیم که همه چیز به درستی وصل شده است، هیچ چیز روی برد اتصال کوتاه یا اتصال کوتاه ندارد، در طول فرآیند چشمک زدن، از قبل وارد کنسول پیکربندی شده می شویم و برق روتر را از برق اصلی تامین می کنیم. عرضه

کراکوزیابری در ترمینال

اگر "کرکر" را روی صفحه نمایش خود می بینید، به این معنی است که سرعت پورت COM را اشتباه پیکربندی کرده اید و باید یا بخوانید که چه سرعتی باید برای مدل روتر خود تنظیم شود، یا آن را به صورت آزمایشی انتخاب کنید تا زمانی که "کرکرها" ناپدید شوند و متن ساده ظاهر شود. . سپس باید بلافاصله پس از روشن کردن روتر، با گرفتن لحظه مناسب، که چندان آسان نیست، یک کلید ترکیبی خاص، یا tpl، برای روترهای TP-Link، یا شماره 4 را فشار دهید، وارد کنسول شوید. یا شماره 2، برای روترهای Zyxel، فلش را از سرور TFTP راه اندازی می کند.

رابط سرور TFTP

خود سرور باید به عنوان سرپرست در اتصالات شبکه اجرا شود، آدرس IP سرور باید در آنجا نشان داده شود، که یا کنسول به شما می گوید، یا خودتان می توانید در اینترنت پیدا کنید. در سرور TFTP باید آدرس IP مشتری و پوشه ای را که سیستم عامل ما در آن قرار دارد مشخص کنید.

تغییر تنظیمات اتصال شبکه

خود فریمور حتما باید بدون Boota باشه یعنی وقتی فریمور وصل شده با گیره رو از طریق برنامه نویس SPI سری 25 میدوزیم نیاز به Fullflash یا به عبارتی فریمور با بوت لودر داریم که در این حالت فریمور باید باشه استاندارد، بدون بوت لودر، که معمولاً توسط سازنده، در وب سایت شما ارائه می شود. بهتر است نام فایل سیستم عامل را ساده تر کنید، به عنوان مثال 123.bin باید آن را در هنگام شروع فرآیند فلش کردن در کنسول وارد کنید.

قطع شدن دانلود

سپس باید موافقت کنید و تأیید کنید که با چشمک زدن موافق هستید. اگر همه چیز را به درستی انجام دادید، فرآیند فلش در کنسول شروع می شود، پس از اتمام آن فقط باید روتر را راه اندازی مجدد کنید و اگر سیستم عامل کاملاً از مدل مربوطه و ویرایش سخت افزاری بود، قطعا همه چیز برای شما درست می شود.

توضیح روند فلش کردن، البته، حجیم بود، اما خود فرآیند برای شخصی که حداقل چند بار آن را کامل کرده است، بسیار ساده می شود. و با توجه به اینکه روترها تجهیزاتی هستند که به خصوص در هنگام رعد و برق، در ماه می - ژوئن دوام زیادی ندارند، فکر می کنم این مقاله برای مبتدیانی که می خواهند در هزینه خرید یک روتر جدید صرفه جویی کنند مفید باشد. تعمیرات مبارک همه! به خصوص برای سایت مدارهای رادیویی - AKV.

بحث در مورد مقاله مبدل USB-UART: REFLASHING REFLASHING WITH AN ADAPTER

© 2024 ermake.ru -- درباره تعمیر رایانه شخصی - پورتال اطلاعاتی