نظرسنجی

شما از چه طریق با این سایت آشنا شدید؟






پر بيننده ترين مطالب

USB و اسرار آن



تعداد بازدیدکنندگان 2687 بازدید نسخه چاپی

دستگاه حامل سریالی جهانی (universal serial bus) كه همه آن را با نام اختصاری اصلی‌اش، USB می‌شناسند، یكی از بزرگ‌ترین اختراعات در دنیای كامپیوتر و تكنولوژی محسوب می‌شود. از زمان شروع ساخت آن در سال 1996 تا حالا بیش از 6 میلیارد ادوات USB ساخته شده است.

دو عامل اصلی را می‌توان دلیل موفقیت و كاربرد گسترده از آن دانست: نخست اینكه اولین دستگاه قابل اتصال به كامپیوتر است كه با وجود حجم و وزن خیلی كوچكی كه دارد اطلاعات زیادی را جابجا می‌كند؛ و دوم اینكه دستگاه‌های USB و پروتكل‌های آن بسیار بیشتر از آنچه كه كاربران تصور می‌كنند و از آن می‌دانند، هوشمند هستند و كارایی دارند.

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

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

پروتكلی برای تمام فصول
پیچیدگی سیستم و اجزای سخت‌افزاری USB باعث شده كه بتواند به هر دستگاهی وصل شود و اطلاعات و داده‌ها را از آن به كامپیوتر منتقل كند.
اینكه این دستگاه اینقدر سریع در دنیا پخش شده و استفاده می‌شود، به این خاطر است كه با پهنای باند 480 مگابیت در ثانیه‌ای كه دارد، با یك اتصال ساده، بسیار سریع اطلاعات را می‌گیرد و به كامپیوتر انتقال می‌دهد.

اما مثلاً در مورد دستگاه ماوس این طور نیست: لازم نیست كه پهنای باند آنچنان بزرگی داشته باشد؛ ولی در عوض باید تأخیر آن به حداقل برسد و عكس‌العمل بسیار سریعی داشته باشد كه وقتی ماوس را حركت می‌دهید بی‌درنگ روی مانیتور حركت كند و دستور را اجرا كند.

برای این كار، ماوس باید در حالت «وقفه در انتقال» یك كانال ارتباطی (كه به آن «لوله یا pipe» هم می‌گویند) باز كند. این ترفند باعث می‌شود كه با وجود پهنای باند كم، سرعت انتقال دستور و عكس‌العمل ماوس روی مانیتور به حداكثر برسد و حداقل تأخیر (در حد صفر) را داشته باشیم.

از طرف دیگر هم هارددیسك‌ها را داریم كه در مورد آنها لازم نیست كه تأخیر را به حداقل (در حد صفر) برسانیم و عكس‌العمل خیلی سریع را از كامپیوتر نمی‌خواهیم؛ در عوض، این یكی، پهنای باند خیلی وسیعی می‌خواهد كه بیشترین حجم اطلاعات را ذخیره كند و انتقال بدهد.

برای این منظور، هارددیسك روی حالت اتنقال bulk، یك «راه» ارتباطی باز می‌كند. به این ترتیب پهنای باند خیلی وسیعی خواهیم داشت ولی كنترل زیادی روی تنظیم سرعت انتقال نداریم. درباره دستگاهی مثل وِبكم هم می‌بینیم كه حتماً سرعت انتقال سریع و حداقل تعداد فرِیم در ثانیه (frame-rate)‌ای را لازم است كه داشته باشیم.

در عوض گاهی وقفه‌های لحظه‌ای را هم داریم یا جاهایی از تصویر، واضح نیست؛ چون عملكرد این دستگاه به این ترتیب است كه در روی حالت ایزوكرونوس (متوازن در فواصل زمانی منظم)  «راه»ی باز می‌كند. با این كار، پهنای باند وسیع و معینی داریم كه سرعت را بالا می‌برد، اما انتقال داده‌ها، بی‌عیب و نقص و به طور كامل انجام نمی‌شود.

موازی یا سریالی؟
همان طور كه از اسمش هم پیداست، USB یك دستگاه با سیستم انتقال داده سریالی است. دادگان از سیم و كابل وارد دستگاه می‌شوند؛ در آنجا به صورت كدهای صفر و یك شناسایی و ثبت می‌شوند و حجم خیلی كمی را ‌اشغال می‌كنند و در طرف دیگر كابل، وقتی می‌خواهند وارد كامپیوتر مقصد بشوند، دوباره به همان حالت بایت‌هایی كه قبلاً بوده‌اند بر می‌گردند و برای كاربران نمایش داده می‌شوند. این سرعت بالای انتقال به خاطر این است كه هر بیت دیجیتالی در زمان بسیار بسیار كوتاه و با فركانس بسیار بالا، انتقال داده شود.

 شاید این موضوع نیاز به توضیح بیشتری داشته باشد. اگر شما بیت‌های بی‌شماری از دیتا (در واقع، حجم زیادی اطلاعات) داشته باشید كه بخواهید از سیستمی به جایی دیگر منتقل كنید، به نظر می‌‌آید كه بهتر باشد به جای اینكه همه اطلاعات را با هم و یكجا وارد كابل كنید، آنها را گروه‌ گروه وارد سیم كنید و انتقال دهید.

برای این كار هم از یك ایستگاه موازی (parallel bus) استفاده می‌كنیم. ولتاژ را تنظیم می‌كنیم و مثلاً 8 سیم برای نشان دادن و حمل صفرها یا یك‌ها به كار می‌بریم. بدین ترتیب می‌توانید یك حجم كلی از اطلاعات را سریعاً و هم‌زمان انتقال دهید.

 پیش از این، در دوره‌ای كه ترانزیستورها خیلی كندتر بودند و انرژی خیلی زیادی هم مصرف می‌كردند، سیستم انتقال سریع داده‌ها صرفاً یك سیستم موازی بود. روشی كه ارتباط سریالی (serial communication) كار می‌كرد، برای سیستم‌هایی بود كه می‌خواستند انتقال داده‌ها مطمئن و ایمن باشد و پهنای باند و سرعت آن برایشان در اولویت نبود.
اما ترانزیستورهای امروزی بسیار سریع‌تر كار می‌كنند و در مقایسه با نمونه‌های قدیمی، انرژی خیلی كمتری هم مصرف می‌كنند. همه این عوامل، یعنی كاهش چشمگیر هزینه و زمان. به این ترتیب استفاده از سیستم ارتباط سریالی با فركانس بالا در همه موارد بهتر خواهد بود و به سیستم موازی ارجحیت دارد.

استفاده و كاربرد آن نیز آسان‌تر است. در سیستم‌های انتقال موازی، وقتی سرعت و حجم اطلاعات انتقالی زیاد می‌شد،‌ اشكالاتی در رابط كاربری و هم‌زمان‌سازی داده‌هایی كه منتقل می‌شدند، پیش می‌آمد. اصلاً یك دلیل اساسی كه برای انتقال داده‌ها در دیسك سخت، سیستم موازی ATA كنار رفت و سیستم سریالی ATA جایگزین آن شد و برای كارت‌های توسعه كه درون كامپیوتر نصب می‌شدند، PCI Express جایگزین PCIهای قدیمی شد، همین بود: چند قطعه سیم كمتر، یعنی حجم كمتر و جابجایی آسان‌تر.


كانكتورها
به مقطع یك USB استاندارد نوع A، همان‌هایی كه به كامپیوتر خانه‌تان وصل می‌كنید، نگاه كنید. یك سؤال پیش می‌آید: اگر همانطور كه می‌گویند، USB یك سیستم سریالی باشد، پس برای كار كردن فقط به 2 سیم احتیاج دارد.

یكی برای سیگنال‌ها و یكی هم كه به زمین متصل می‌شود(shield connection) .  اما اینی كه می‌بینید 4 پین و یك محافظ  (shield)خارجی كه به زمین متصل می‌شود، دارد. یعنی سرجمع، 5 سیم اتصال. پس بگذارید قضیه را روشن كنیم: در یك USB نوع A اگر روی آن به سمت بالا باشد و از روبه‌رو به مقطع آن نگاه كنید، رسانایی كه در سمت راست وجود دارد، نیرو و انرژی دستگاه USB را تأمین می‌كند و رسانایی كه در سمت دیگر قرار دارد، در واقع یك اتصال به زمین افزوده است. پس سیم‌های دیگر برای چیست؟

سیگنالینگ متغیر
در واقع USB فقط از یك سیم برای انتقال داده‌ها استفاده نمی‌كند. بلكه از 2 سیم و روشی به‌ نام سیگنالینگ متغیر (Differential Signaling) استفاده می‌كند (حالا معلوم شد كه چرا 5 سیم اتصال درون كابل هست و كارِ هركدام‌شان چیست).
 این سیم‌ها را اصطلاحاً «Data+» و «Data-» (دیتای مثبت و دیتای منفی) می‌نامند كه هر دوی آنها هم‌زمان یك داده را انتقال می‌دهند. بنابراین در این اتصال یك انتقال سریالی داریم كه در مورد این دو سیم، در كنار هم كامل می‌شود. سیمِ دیتامنفی ولتاژ منفی را نشان می‌دهد و به عبارتی نقطه مقابل و آینه‌وارِ سیمِ دیتامثبت است.

از طرف دیگر، هر دستگاهی (مثلاً رایانه) كه اطلاعات سریالی این دو سیم را هم‌زمان دریافت می‌كند، با از بین بردن این اختلاف بین دو دیتا، آنها را بازسازی می‌كند و دیتای اصلی و اولیه را به‌دست می‌آورد.  اطلاعات اولیه و ظاهر آنها هر طوری و به هر شكلی كه باشد،  USB كه آنها را می‌گیرد، دقیقاً به همان شكل و با همان جزئیات به دستگاه مقصد می‌رساند. بنابراین جزئیات اطلاعات در هر دو سمت كابل USB یكی خواهند بود.

ارتباط سریالی حقیقی
بعضی پروتكل‌های سریالی، مثلاً RS232های قدیمی، دیتاها را به صورت سریالی انتقال می‌دهند، اما این قدیمی‌ها پین‌های مختلف دیگری هم دارند كه بین دو سرِ ارسال و دریافت داده‌ها و اطلاعات، هماهنگی ایجاد می‌كند تا هم‌زمان از دو سرِ كابل اطلاعات ارسال نشود.
اما USBهای جدید حقیقتاً سریالی عمل می‌كنند و در آنها فقط یك راه انتقال دیتای یك بیتی داریم. یعنی حداقل نسخه‌های 1.1 و 2 كابل‌های USB سیستم نیم دوطرفه (half duplex) دارند: یك ارتباط دوطرفه ایجاد می‌كنند با این شرط كه در هر بار، یك طرف سیم، دستگاهی می‌توانند ارسال كننده باشد و دستگاهِ طرف دیگر، دریافت كننده. و وقتی یك دستگاه ارسال اطلاعاتش تمام شد، دستگاهِ سمت دیگر باید از همان جفت سیم‌ها (در جواب) استفاده كند. این پروسه به لایه‌های بیشتری احتیاج دارد كه برنامه‌های انتقال اطلاعات و هم‌زمانی آنها را تنظیم كند و ‌اشتباه‌ها را رفع كند. درباره جزئیات این موارد و امتیازات زیاد USB3 در آینده صحبت خواهیم كرد.

منبع: نشریه PC PRO، می‌2010