مقدمه
USB یک مدار واسطه سریع و قابل انعطاف برای اتصال دستگاهها به کامپیوتر است. همة کامپیوترهای امروزی حداقل یک جفت پورت USB داند. این پورت قابل استفاده توسط تمام ابزارهای جانبی استاندارد از جمله صفحه کلید، ماوس، دیسکگردانها و حتی دستگاههای تخصصیتر، میباشد. USB از ابتدا به منظور ایجاد رابطی راحت و آسان طراحی گردیده است که در آن کاربر نیاز به پیکربندیهای سختافزاری و نرمافزاری ندارد.
به طور خلاصه، USB با مدارهای واسط قبلی بسیار متفاوت است. یک دستگاه USB قادر است که چهار نوع پاسخ دهد که به وسیلة آنها کامپیوتر، دستگاه را شناخته و آماده تبادل داده با آن میشود. همة دستگاهها باید بر روی کامپیوتر دارای راهاندازی باشند که به عنوان پلی بین برنامة کاربردی و سخت افزار USB عمل میکند.
برای ارتقا و ساخت یک دستگاه USB و طراحی نرمافرهای ارتباط با آن، شما باید اطلاعاتی دربارة چگونگی نحوة کار سیستم عامل کامپیوتر داشته باشید. همچنین باید تراشة کنترلی، کلاس و روشهای ارتقا پروژهتان را معین کنید.
سرآغاز
مطالعه در زمینه سخت افزارهای کامپیوتری معمولاً مستلزم داشتن اطلاعات قبلی در این زمینه است. هر نوآوری در این صنعت باید قابل تطبیق با پدیدههایی باشد که قبل از آن آمدهاند. این مسئله هم در مورد کامپیوترها و هم در مورد وسایل جانبی آنها صدق میکند. حتی وسایل جانبیای که به نوبة خود انقلابی را در زمینه سختافزار ایجاد کردهاند، باید از رابطهایی استفاده کنند که کامپیوترها از آنها پشتیبانی کنند.
اما اگر امکان طراحی یک رابط وسایل جانبی را داشته باشید، چه نکات و خصوصیاتی را مد نظر قرار خواهید داد. در اینجا فهرستی از آنچه که ممکن است مورد نظر شما باشد آورده شده است:
کاربرد راحت: به گونهای که نیازی به آشنایی با جزئیات نصب نخواهیم داشت.
سرعت: به گونهای که رابط باعث پایین آمدن سرعت ارتباط نشود.
قابلیت اطمینان: به گونهای که خطاها کاهش یابد و امکان اصلاح خودکار خطاهایی که اتفاق میافتد وجود داشته باشد.
قابلیت تطبیق: به گونهای که انواع مختلفی از وسایل جانبی بتوانند از این رابط استفاده کنند.
ارزانقیمت: به گونهای که کاربران (و کارخانههایی که از این رابط برای تولیدات خود بهره میبرند) متحمل هزینه زیادی نشوند.
صرفه جویی در مصرف انرژی: به منظور کاهش مصرف باتری در کامپیوترهای قابل حمل.
شناخته شده توسط سیستم عاملها: به گونهای که ارتقادهندگانی که از این رابط برای ارتباط با وسیله جانبی خود استفاده میکنند مجبور به نوشتن راه اندازهایی نزدیک به زبان ماشین نباشند.
خبر خوب آنکه شما مجبور به ایجاد این رابط ایدهآل نیستید چون طراحان (USB) این کار را برای شما انجام دادهاند. طراحی USB از ابتدا بر این اساس بوده که بتواند رابطی باشد آسان، با توانایی ارتباط مؤثر با همة انواع وسایل جانبی و به دور از محدودیتهایی که در رابطهای کنونی وجود دارد.
همه کامپیوترهای جدید دارای یک جفت پورت USB هستند که به منظور ارتباط با صفحه کلید ، ماوس، اسکنر، چاپگر و یا هر نوع سخت افزار استاندارد دیگر ایجاد شدهاند، هابهای ارزانقیمت موجود این امکان را فراهم میکند که به هر تعداد که مایل باشید وسیله جانبی USB را به این دو پورت متصل کنید.
این اهداف بزرگ USB باعث شد که ارتقادهندگان، یعنی کسانی که وسایل جانبی USB را طراحی و برنامه ریزی میکنند، با مشکلاتی رو به رو شوند. یک نتیجه از کاربرد راحت این رابط پیچیده شدن آن نسبت به رابطهای قدیمیتر بود. به علاوه کارکردن با رابطی که هنوز عمری از طراحی آن نگذشته، فقط با این دلیل که جدید است طراحان را با سختیهایی رو به رو کرد. هنگامی که USB برای اولینبار روی کامپیوترها قرار گرفت، ویندوز هنوز دارای راهانداز برای همة انواع وسایل جانبی USB متعارف، نشده بود. از طرفی آنالیز کنندههای پروتکل و ابزارةای ارتقا هنوز طراحی نشده بودند، بنابراین انتخاب USB به عنوان رابط مناسب دچار محدودیت میشد. مشکلاتی شبیه به این امروزه دیگر وجود ندارند و مزایای استفاده از USB در کنار متعدد شدن میکروکنترلرها و ابزارها ارتقا و تواناییهای سیستمهای عامل افزایش یافته است. این کتاب به شما نشان خواهد داد که چگونه میتوانید یک وسیله جانبی USB را به آسانی و سرعت و با استفاده از بهترین وسایلی که هم اکنون وجود دارد طراحی کنید و راه بیندازید.
این فصل شامل مطالبی از جمله شرح ویژگیهای از USB، مزایا و اشکالات آن، همچنین مسائلی که در طراحی و برنامهریزی وسایل جانبی USB پیش میآید و مختصری از تاریخچه رابطها خواهد بود.
کاربرد راحت
بزرگترین هدف از طراحی USB، ایجاد رابطی با کاربری راحت بوده است و حاصل آن رابطی است که به علتهای زیادی استفاده از آن مقبول واقع شده است.
یک رابط برای همة دستگاهها ـ USB میتواند برای ارتباط با همه نوع وسیلة جانبی مورد استفاده قرار گیرد به جای داشتن کانکتورهای مختلف و سختافزارهایی که فقط یک نوع وسیله جانبی را پشتیبانی کنند، از یک رابط برای همة وسایل جانبی استفاده میکنیم.
پیکربندی خودکار ـ هنگامی که کاربر وسیله جانبی USB را به سیستم خود متصل میکند، ویندوز به طور خودکار آن را پیدا کرده و راهآنداز مربوط به آن را بارگذاری میکند. هنگامی که برای اولین بار یک وسیله را به کامپیوترمان متصل میکنیم، ممکن است ویندوز به ما پیغام دهد که دیسکتی که شامل راهانداز آن دستگاه میباشد را درون دستگاه قرار دهیم، اما در بقیه مواقع، نصب به صورت خودکار انجام میشود و ما مجبور نیستم که برنامه setup را اجرا کنیم و یا کامپیوتر را برای استفاده از آن وسیله جانبی restart کنیم.
به دور از تنظیمات کاربر ـ وسایل جانبی USB امکان تنظیماتی از قبیل آدرس پورتها و یا خطوط در خواست وقفه (IRQ) را به کاربر نمیدهند. تعداد خطوط IRQ در یک کامپیوتر محدود است و عدم اجبار به تخصیص یک خط به وسیله جانبی خاص، خود میتواند یک دلیل کافی برای استفاده از USB باشد.
آزادکردن منابع سختافزاری برای وسایل جانبی دیگر ـ استفاده از USB این امکان را فراهم میکند که خطوط IRQ برای دیگر وسایل جانبی که نیاز به استفاده از آن دارند، آزاد شود. در کامپیوتر یک سری از آدرس پورتها و یک خط IRQ برای رابط USB اختصاص داده میشود اما در عوض، هر وسیله جانبی که از رابط USB استفاده میکند دیگر احتیاج به منبع سختافزاری اضافی نخواهد داشت. توجه کنید که، هر وسیله جانبی غیر از USB نیاز به یک آدرس پورت و معمولاً یک خط IRQ و احیاناً یک کارت توسعه دهنده دارد (به عنوان مثال برای پورت موازی)
اتصال راحت ـ برای استفاده از USB احتیاجی به بازکردن کامپیوتر برای اضافهکردن کارتهای توسعه دهنده نیست. هر کامپیوتر حداقل دارای دو پورت USB است که شما میتوانید تعداد آنها را با متصل کردن هابها پورتهای موجود تا تعداد دلخواه افزایش دهید. هر هاب دارای تعدادی پورت برای متصل کردن وسیله جانبی و یا هابهای دیگر میباشد.
سادگی کابل ـ کانکتورهای کابل USB طوری ساخته شدهاند که اتصال اشتباه آنها امکان نیست. کابلها میتوانند تا 5 متر طول داشته باشند و یا حتی از طریق هابها دستگاهها میتوانند تا 30 متر از کامپیوتر فاصله بگیرند. شکل 1ـ1 کانکتورهای USB را نشان میدهد که در کنار کانکتورهای پورت 232 – RS و پورت موازی دیده میشوند و دیده میشود که در مقابل آنها چقدر کوچک و ظرفیت میباشد. برای اطمینان از عملکرد صحیح، کابلها در مرجع خصوصیات USB ویژگیهایی که باید کابلها و کانکتورها داشته باشند، آمده است.
HOT pluggable ـ شما میتوانید بدون توجه با اینکه سیستم روشن است یا خاموش، وسیله جانبی خود را هر زمان که بخواهید به سیستم خود وصل یا از آن قطع کنید با اطمینان از اینکه به کامپیوتر یا ابزار جانبی شما صدمهای وارد نمیشود. سیستم عامل هم هنگامی که شما وسیله جانبی را وصل میکنید، به طور خودکار آن را پیداکرده و آماده استفاده مینماید.
عدم احتیاج به منبع تعذیه ( بیشتر مواقع) ـ رابط USB شامل سیمهای زمین و تغذیه نیز میباشد که V 5+ را از طریق کامپیوتر و یا هاب به دستگاه میدهند . وسایل جانبی که حداکثر به mA 500 جریان نیاز دارند ، میتوانند از این سیم، جریان مورد نظر خود را بکشند بدون آنکه به منبع تغذیه مجزا نیاز داشته باشند. سایر وسایل جانبی باید از منبع تغذیه خارجی برای تأمین تغذیه استفاده کنند.
سرعت
USB سه سرعت متفاوت را برای باس پشتیبانی میکند؛ سرعت خیلی بالا با 480 مگابایت در هر ثانیه ، سرعت بالا با 12 مگابایت در هر ثانیه و سرعت پایین با 5/1 مگابایت در هر ثانیه . همة کامپیوترها سرعتهای پایین و بالا را پشتیبانی میکنند. سرعت خیلی بالا در نسخه ـ 0/2 مرجع USB اضافه شده است و به سختافزار سازگار با USB نسخه 0/2 در روی مادربرد یا کارت توسعه دهنده احتیاج دارد.
این سرعتها، سرعت انتقال بیت روی باس است و نرخ انتقال داده مفید کمتر از این حد میباشد علاوه بر داده ، باس باید اطلاعات دیگری از قبیل بیتهای وضعیت ، کنترل و سیگنالهای بررسی خطا را نیز عبور دهد. به علاوه ممکن است چندین وسیلة جانبی از یک باس مشترک استفاده کنند. ماکزیمم نرخ تئوری برای انتقال سیگنال حدود 53 مگابایت در هر ثانیه برای سرعت خیلی بالا و حدود 2/1 مگابایت در هر ثانیه برای سرعت بالا و 800 بایت در هر ثانیه برای سرعت پایین است.
حال چرا سه سرعت؟ سرعت پایین به دو هدف ایجاد شد. وسایل جانبی با سرعت پایین معمولاً میتوانند خیلی ارزانتر عرضه شوند و از طرفی برای ماوس و وسایلی که احتیاج به کابلهای قابل انعطاف دارند کابلهای سرعت پایین میتوانند خیلی قابل انعطافتر ساخته شوند به این دلیل که احتیاج به شیلد کردن زیاد نخواهند داشت.
سرعت بالا نزدیک و قابل انطباق با سرعت پورتهای سریال و موازی است و میتواند به جای آنها قرار گیرد.
بعد از نسخه 0/1 USB معلوم شد که رابطی، با سرعت بیشتر میتواند مفید باشد. تحقیقات نشان داد که افزایش سرعت تا 40 برابر امکان پذیر است به طوری که اساس رابط همانند رابطهای سرعتهای پایین و بالا باقی بماند و به این ترتیب سرعت خیلی بالا در USB نسخه 0/2 اضافه شد.
قابلیت اطمینان
قابل اطمینان بودن USB به خاطر نوع طراحی سختافزار و همچنین پروتکل انتقال داده میباشد. ویژگیهای سختافزاری لازم برای راهاندازها و گیرندهها و کابلهای USB، بیشتر نویزهایی را که میتواند باعث ایجاد خطا شود حذف میکند. همچنین، پروتکال USB این امکان را فراهم میکند که خطاهای احتمالی را تشخیص داده و از فرستنده خواسته شود که داده را دوباره بفرستد. این تشخیص و پیغام و انتقال مجدد دادهها توسط سختافزار انجام میشود و احتیاج به برنامه نویسی توسط کاربر ندارد.
قیمت پایین
در حالی که USB پیچیدهتر از رابطهای قبلی است، ولی تجهیزات و کابلهای آن، ارزانقیمت هستند. دستگاهی که از رابط USB استفاده میکند از نظر قیمت برابر یا ارزانتر از دستگاههایی است که از رابطهای قدیمیتر استفاده میکنند. برای وسایل جانبی خیلی ارزان، انتخاب سرعت پایین باعث میشود که احتیاج به سختافزارهای دقیق نداشته و به این ترتیب قیمت بیش از پیش کاهش مییابد.
صرفه جویی در مصرف انرژی
مدارهای ذخیره انرژی و استفاده از کدهای مخصوص باعث میشود وقتی از ابزار USB استفاده نمیشود. با نگهداشتن آن در حالت آماده به کار، مصرف انرژی کاهش یابد. کاهش مصرف انرژی علاوهبر مزیتهای محیطی، برای کامپیوترهایی که با باتری کار میکنند، در جایی که میلی آمپرها نیز اهمیت دارند، بسیار مفید میباشد.
مزیتها برای ارتقادهندگان
مزیتهایی ذکر شده برای کاربران برای ارتقادهندگان سخت افزارها و برنامه نویسان نیز مهم است. این مزیتها باعث میشود که کاربران از وسایل جانبی usb راضی باشند و طراحان ، نگران هدر رفتن وقتشان در طراحی وسایل جانبی با این رابط نباشند. از طرفی بسیاری از مزیتهای ذکر شده برای کاربران بعضی از مسایل را برای ارتقادهندگان راحتتر میکند بهعنوان مثال، استانداردهای کابلهای USB و بررسی خودکار خطا به این معناست که ارتقادهندگان مجبور نیستند که خصوصیات کابل دستگاه خود را مشخص کنند ویا نرمافزارهای بررسی خطا را طراحی کنند. استفاده از USB همچنین دارای مزیتهایی است که فقط ارتقادهندگان از آنها بهره میبرند.
ارتقادهندگان شامل گروههایی میشوند از جمله طراحان سختافزار که کارشان طراحی مدارهاست و تجهیزات لازم را انتخاب میکنند، برنامهنویسانی که نرم افزارهایی را مینویسند که با وسایل جانبی ارتباط برقرار میکنند و برنامه نویسانی که کدهای مربوط به وسیله جانبی را مینویسند.
مزیتهای USB برای ارتقا دهندگان، از انعطاف پذیری آن در مسائلی همچون پروتکلUSB و پشتیبانی توسط میکروکنترلرها و سیستم عامل ناشی میشود.
واضح است که کاربرها از این ویژگیها بهرهای نمی برند و تنها نتایج آن را که مسائلی مانند ارزان بودن و بدون مشکل بودن وسشایل جانبی است، خواستار هستند.
قابلیت انعطاف
چهار نوع انتقال داده و سه سرعت مختلف در USB آن را تبدیل به یک رابط عملی برای همة انواع وسایل جانبی کرده است. انواع مختلف انتقال داده برای سازگاری با مبادله بلوکهای بزرگ و کوچک داده با در نظر گرفتن یا نگرفتن قید زمان وجود دارد. برای دادههایی که میزان تأخیر بین دادهها مهم است. USB میتواند نرخ انتقال یا حداکثر فاصله زمانی بین انتقالها را ثابت نگه دارد. این تواناییها به ویژه برای ویندوز در جایی که احتیاج داریم با وسیله جانبی به صورت بلادرنگ ارتباط داشته باشیم مطلوب است. سیستم عاملها، راهاندازها و نرم افزارها هنوز تأخیرهای اجتناب ناپذیری را دارا میباشند اما USB این امکان را فراهم میکند که به انتقال داده بلادرنگ نزدیکتر شویم.
بر خلاف دیگر رابطها، USB برای سیگنالها کاربردهای ویژهای را تعریف نمیکند و یا فرضهایی را برای اینکه چگونه از رابط استفاده خواهد شد ندارد. به عنوان مثال در پورت موازی خطوط وضعیت و کنترل به منظور ارتباط با خطهای چاپگر تعریف شدهاند. در این پورت 5 خط ورودی با کاربردهای ویژه از قبیل تشخیص مشغول بودن یا وضعیت تمام شدن کاغذ وجوددارد. وقتی که ارتقا دهندگان میخواهند از این پورت برای وصل کردن اسکنر یا دیگر وسایل جانبی استفاده کنند که باید حجم زیادی از اطلاعات را توسط آنها به کامپیوتر بفرستند، محدودیت 5 خط ورودی مشکل ایجاد خواهد کرد.
USB این گونه پیش فرضها را ندارد و برای استفاده در هر نوع وسیله جانبی مناسب است. در مورد ارتباط با دستگاههای معمولی از جمله چاپگر و مودم کلاسهایی وجود دارد که در آنها مسائلی مربوط به نیازهای آن وسیله و پروتکل آن تعریف شده و آماده است. این ویژگی سبب میشود که نیاز به طراحی دوباره آنها نباشد.
پشتیبانی توسط سیستم عامل
ویندوز 98 اولین سیستم عاملی بود که USB را پشتیبانی میکرد. جانشینان آن یعنی ویندوز 2000 و ویندوز Me نیز USB را پشتیبانی میکنند. این کتاب توجه خود را برای برنامه نویسی کامپیوتر به سیستم عامل ویندوز معطوف میدارد. اما توجه داشته باشید که دیگر کامپیوترها و سیستم عاملها نیز از USB پشتیبانی میکنند.
بر روی کامپیوتر Apple فقط کانکتور پورت USB وجود دارد و بقیه مکینتاشها نیز USB را پشتیبانی میکنند. USB روی Linux، NetBSD و FreeBSD نیز پشتیبانی میشود.
هر چند که ادعای پشتیبانی توسط سیستم عامل خیلی مسائل را در بر میگیرد، سطح پشتیبانی میتواند متفاوت باشد. در یک سطح پایه از پشتیبانی، سیستم عاملی که USB را پشتیبانی میکند، باید توانایی انجام سه کار را داشته باشد:
هر گاه دستگاه جانبی وصل یا قطع شود آن را تشخیص دهد.
با دستگاههای جدیدی که متصل شدهاند ارتباط برقرار کند و نحوة انتقال داده آنها را مشخص کند.
مکانیزمی را فراهم کند تا راه انداز را قادر سازد با سخت افزار USB میزبان وسیله جانبی ارتباط برقرار کند.
در یک سطح بالاتر، سیستم عامل ممکن است شامل راهاندازهایی باشد که برنامه نویسان را قادر میسازد با فراخوانی بعضی توابع که توسط سیستم عامل پشتیبانی میشود به وسیله جانبی دسترسی یابند. اگر سیستم عامل شامل راه انداز مناسب برای وسیلة جانبی ویژهای نباشد، سازندگان آن وسیله مجبورند این راه انداز را خودشان تهیه کنند.
مایکروسافت در هر نسخه ویندوز راهاندازهای مربوط به کلاسهای مختلف وسایل جانبی را اضافه کرده است. هم اکنون گروههای وسایل جانبیای که راهاندازهای آنها در ویندوز وجود دارد شامل ابزارهای ارتباط با کاربر (HID) ( مانند صفحه کلید، ماوس، دسته بازی)، وسایل صوتی، مودمها، دوربینها و اسکنرها، چاپگرها و وسایل ذخیره اطلاعات میباشد. یک راهانداز فیلتر میتواند از قابلیتها و ویژگیهای خاص یک دستگاه پشتیبانی کند. برنامههای کاربردی یا از توابع API و یا از دیگر خصوصیات سیتم عامل برای ارتباط با راهانداز دستگاهها بهره میبرند.
به نظر میرسد در آینده، ویندوز کلاسهای ابزاری بیشتری را پشتیبانی کند. در ضمن سازندگان تراشهها نیز راهاندازهایی را تهیه میکنند که این امکان را به ارتقا دهندگان می دهد که با کمترین تغییرات، انها بتوانند به هدف خود نائل شوند.
راهاندازهای وسایل USB از مدل راه انداز Win32 جدید (WDM) استفاده میکنند که یک ساختار واحد را برای اجرا شدن تحت ویندوز 98، ویندوز 2000 و Me و نسخههای بعدی ویندوز ارائه میکند. هدف از این مدل آن است که ارتقا دهندگان بتوانند وسیله خود را توسط یک راه انداز در همة ویندوزها اجرا کنند. واقعیت آن است که هنوز بعضی از وسایل احتیاج به دو راه انداز WDM شبیه به هم دارند که یکی برای ویندوز 98 و Me میباشد و دیگری برای ویندوز 2000.
به خاطر آنکه ویندوز از راه اندازهای نزدیک به زبان ماشین برای ارتباط با سخت افزار USB استفاده میکند، نوشتن راه انداز ابزارهای USB راحتتر از نوشتن راه انداز برای دیگر رابطه است.
پشتیبانی وسیلة جانبی
اما در سمت وسیلة جانبی، هر سخت افزار دستگاه USB باید دارای یک تراشة کنترلی باشد که وظیفه انجام بیشتر جزئیات مربوط به ارتباطات USB را به عهده دارد. بعضی از کنترلرهای کی میکرو کامپیوتر کامل هستند که دارای یک CPU و حافظه و کدهای مخصوص به دستگاه میباشد که در سمت وسیلة جانبی اجرا میشوند. اما دیر کنترلرها فقط انجام وظایف ویژه USB را به عهده میگیرند و دارای باس دادهای هستند که باید به میکروکنترلر دیگری که کارهای غیر وابسته به USB را انجام میدهد متصل شوند.
وسیلة جانبی مسئول پاسخ دهی به نیازهای مربوط به ارسال یا دریافت داده و خواندن و نوشتن دادههای دیگر در صورت لزوم میباشد. در برخی تراشهها، توابعی به صورت سخت افزاری تعبیه میشوند و نیاز به نوشتن برنامه برای آنها نخواهیم داشت.
بسیاری از کنترلرهای USB مبتنی بر معماریهای متعارف از جمله 8051 اینل میباشند، که مدارها و کدهایی برای پشتیبانی کردن USB به آنها اضافه شده است. اگر با معماری تراشه خاصی آشنا هستید که امکان اضافه شدن قابلیت USB را داراست، دیگر نیازی به یادگیری قواعد و دستورات برنامه نویسی جدید برای استفاده از USB نخواهید داشت.
بسیاری از سازندگان ابزارهای جانبی، کدهای نمونهای را برای تراشههای خود ارائه میدهند. استفاده از این کدها میتواند برای شروع کردن ارتقاتان مفید باشد و ایدههایی به شما بدهد.
مجمع ابزار آلات USB
بر خلاف دیگر رابطها، USB برای راه اندازی پروژهتان از طریق مجمع ابزار آلات USB، کمکهای زیادی به شما ارائه میکند. (IF ـ USB)و وبسایت (www.usb.org) این مجمع به صورت شرکتی است که توسط ارائه کنندگان مرجع خصوصیات USB ایجاد شده است. وظیفة این مجمع پشتیبانی کردن از پیشرفت و سازگاری تکنولوژی USB میباشد.
برای این منظور مجمع، اطلاعات، ابزارها، و تستهایی را به شما پیشنهاد میکند. اطلاعات شامل مرجع خصوصیات، FAQها و یک برد اینترنتی است که ارتقادهندگان میتوانند سؤالات خود را در ارتباط با USB پست و پاسخ دریافت کنند. ابزارها نیز شامل تستهای سازگاری، کارگاههایی که ارتقادهندگان میتوانند ساختههایشان را در آنجا تست کنند، و همچنین اعطای اجازه استفاده از علامت USB به ساختههایی که تستها را به خوبی پشتسر میگذارند.
این پورت کامل نیست
تمام مزایایی که دربارة USB گفته شد این پورت را به عنوان یک کاندید برای استفاده در همة وسایل جانبی پیشنهاد میکند. اما این رابط عیبهایی نیز دارد.
از دید کاربران
از دید کاربردان بعضی از عیبهای USB میتواند مسائلی چون پشتیبانی نشدن این پورت در سخت افزارهای قدیمی و سیستم عاملها، محدودیت سرعت و فاصله باشد که USB را برای بعضی کاربردهای خاص غیر علمی میکند.
پشتیبانی نشدن توسط سختافزارهای قدیمی
کامپیوترهای قدیمی پورت USB نداشتند. اگر بخواهید یک وسیله جانبی با رابط غیر USB را از طریق پورت USB به کامپیوتر وصل کنید، راهحل آن است که از تبدیل کنندههایی استفاده که وظیفه ترجمه اطلاعات بین پورت USB، رابطهای قدیمی را بر عهده دارند. سازندگان، تبدیلهای برای RS-232، RS-458 و پورت موازی ساختهاند که در بازار موجود میباشد.
اما اگر بخواهید دستگاه جانبی با رابط USB را به کامپیوتری که این پورت را پشتیبانی نمیکند وصل کنید باید ابتدا قابلیت USB را به کامپیوتر خود اضافه کنید. برای این کار به دو چیز نیاز دارید: سختافزار کنترل کننده USBمیزبان و سیستم عاملی که USB را پشتیبانی کند. ارتقای سخت افزار با اضافه کردن کارتهای توسعه دهنده که روی شکاف PCI نصب میشوند (و یا عوض کردن مادربرد) امکان پذیر است. نسخه ویندوز لازم نیز میتواند ویندوز 98 یا بالاتر باشد. بعضی از وسایل جانبی دارای راه اندازی برای نسخه قدیمی تر ویندوز 95 را به عنوان سیستم عاملی که از USB پشتیبانی میکند به شمار نیاوریم. اگر سخت افزار دارای حداقل احتیاجات مورد نیاز ویندوز 98 نباشد، باید به روزرسانی شود. این به روزرسانی ممکن است سبب صرف هزینهای بیشتر از خرید یک کامپیوتر جدید با پورت USB شود، در این حالت بهترین انتخاب می تواند عوض کردن کامپیوتر باشد.
اما اگر اماکن به روزرسانی کامپیوتر برای پشتیبانی USB نباشد، استفاده از مبدلهایی به منظور ترجمه از پورت USB موجود بر روی وسایل جانبی به Rs-232 و یا پورت موازی موجود بر روی کامپیوترچگونه خواهد بود؟ به طور کلی تبدیل کنندههای رابطها به منظور استفاده بین پورت USB موجود بر روی کامپیوتر و پورتهای دیگر بر روی وسایل جانبی قدیمی طراحی شدهاند. طراحی تبدیلی در مسیر برگشت بسیار پیچیده و مشکل خواهد بود چون لازم است سخت افزار کنترل کننده میزبان USB و کُدهای موجود بر روی کامپیوتر مدل سازی شود. بنابراین استفاده از تبدیل کنندهها در مسیر برگشت انتخاب مناسبی برای ارتباط با کامپیوترهایی با رابطهای قدیمی نخواهد بود.
حتی بعضی از سیستمهای جدید، ممکن است از سیستم عاملهای قدیمی مانند داس استفاده کنند. در حالی که نرم افزارهای ویندوز 98 برای ارتباط با پورت USB از راهاندازهایی استفاده میکنند که مخصوص به خود ویندوز است. بدون راهانداز نیز راهی برای ارتباط با وسایل جانبی USB نخواهد بود. البته امکان نوشتن راهانداز برای داس وجود دارد که بعضی از سازندگان وسایل جانبی این راهانداز را برای ابزار خود ارائه میدهند.
هر چند باید توجه داشته باشیم که ماوس و صفحه کلید استاندارد، لازم است همیشه قابل استفاده باشند. از جمله در داس و یا صفحة بایاس که در هنگام بالا آمدن سیستم دیده میشود و همچنین حالت Safemode ویندوز از اینگونه وسایل در بایاس سیستم نیز پشتیبانی میشود تا در همة مواقع قابل استفاده باشند.
محدودیت سرعت
USB طوری طراحی نشده است که بتواند همه کار دهد. سرعت خیلی بالا در USB آن را قابل رقابت با IEEE-1394 با سرعت 400 مگابیت در ثانیه کرده است. اما هنوز IEEE-1394b با سرعت 2/3 گیگابایت در هر ثانیه دارای سرعت بیشتری است.
محدودیت فاصله
با در نظر گرفته اینکه، وسایل جانبی نزدیک به کامپیوتر هستند، USB به صورت یک باس رومیزی طراحی شده است. کابل USB میتواند 5 متر طول داشته باشد. رابطهای دیگر مانند RS-232، RS-485 و اترنت کابلهای طولانیتری را مجاز میدانند. شما میتوانید طول کابل USB را با استفاده از 5هاب و 6 تکه سیم 5 متری تا طولانیتری را مجاز میدانند. شما میتوانید طول کابل USB را با استفاده از 5 هاب و 6 تکه سیم 5 متری تا 30 متر نیز افزایش دهید.
برای افزایش این محدودة، یک انتخاب دیگر میتواند استفاده از رابط USB موجود بر روی کامپیوتر و یک مبدل RS-485 یا رابط دیگری باشد که اجازه طول طول بیشتری از سیم را میدهد.
ارتباطات نظیر به نظیر
فرض اینکه USB یک باس رومیزی است به این معنی است که سیستم داراری یک کامپیوتر میزبان است که ارتباطات باس را مدیریت میکند و وسایل جانبی نمیتوانند به طور مستقیم با هم ارتباط برقرار کنند. همة ارتباطات میبایست از طریق کامپیوتر میزبان باشد. در حالی که دیگر رابطها از جمله IEEE-1394 امکان ارتباط مستقیم وسیلة جانبی به وسیله جانبی را نیز ممکن میسازند.
تولیدات مشکل دار
حقیقت آن استکه بعضی از تولیدات آن گونه که لازم است با پورت USB کار نمیکنند و دارای مشکلاتی هستد و نتیجه آن ناتوانی ارتباط با وسیله جانبی یا نرم افزار یا سیستم خواهد بود. علت این مشکلات ممکن است سخت افزاری یا نرم افزاری، از جانب کامپیوتر یا از جانب وسیلة جانبی باشد. مشکلاتی شبیه به اینها به علت پیچیدگی USB و جدید بودن آن است.
اما از طرفی بسیاری از تولیدات وجود دارند که کار خود را به درستی انجام میدهند. مشکلات موجود به علت بهتر شدن پشتیبانی سیستم عاملها و آشنا شدن ارتقادهندگان با USB تقلیل یافته است.
از دید ارتقا دهندگان
از دید ارتقادهندگان، بزرگترین مشکل USB افزایش پیچیدگی برنامه نویسی آن وهمچنین گیرهایی است که در سخت افزارهای USB روی کامپیوتر یا وسیلة جانبی وجود دارد و باعث کندشدن ارتقا پروژه میشود. البته این مشکلات با افزایش قدرت سیستم عاملها و همچنین متعدد شدن تراشهها و ابزارهای ارتقا موجود کاهش یافته است.
پیچیدگی پروتکل
برای برنامه ریزی کردن وسیلة جانبی USB، لازم است که اطلاعات زیادی دربارة پروتکل USB داشته باشید (برای تبادل اطلاعات روی باس). تراشههای کنترلی، بسیاری از این ارتباطات را به صورت خودکار انجام میدهند اما هنوز هم احتیاج به برنامهریزی دارند و برنامهریزی آنها لازم میدارد که با علم برنامه نویسی و همچنین وسایل برنامهریزی آشنا باشیم. تراشهها نیز بر اساس میزان پشتیبانی کردن ارتباط با USB متفاوت هستند. اما در سمت کامپیوتر برنامه نویسان نرم افزار احتیاجی به دانستن جزئیات USB ندارند در حالیکه نویسندگان راهاندازها باید با پروتکل USB به طور کامل آشنا باشد.
رابطهای قدیمی تر میتوانند با یک مدار ساده و با یک پروتکل ابتدایی ارتباط مورد نیاز خود را با کامپیوتر برقرار کنند. به عنوان نمونه پورت موازی فقط یک سری ورودی و خروجیهای دیجتیال است که میتوانید از طریق رلهها، سوئیچها و تبدیل کنندههای آنالوگ به دیجیتال به این مدارهای ووردی و خروجی ابتدایی متصل شوید بدون اینکه نیاز داشته باشید به یک هوش کامپیوتری یا راهاندازی بر روی کامپیوتر خود نیاز داشته باشید.
پشتیبانی در سیستم عامل
ویندوز شامل کلاسهای راه اندازی است که امکان ارتباط نرم افزارها با بعضی از دستگاهها را ایجاد میکند اگر بتوانید دستگاه خود را با استفاده از یکی از این راهاندازها راه اندازی کنید. خیلی مناسب خواهد بود. در غیر این صورت در بسیاری موارد میتوانید با تغییری کم از راهاندازهایی که توسط سازندگان تراشههای کنترلی ارائه میشود استفاده کنید بنابراین احتیاج نیست که راه انداز ار از ابتدا شروع به نوشتن کنید بسیاری از سازندگان، تجهیزاتی را پیشنهاد میکنند که نوشتن راه انداز را راحت میکند.
گیرهای سخت افزاری
در بعضی از سخت افزارهای کنترلی میزبان اولیه، مشکلاتی وجود داشت و بعضی از تراشههای وسایل جانبی نیز دارای ایرادهایی بودند، بخش اعظم این مشکلات توسط کارخانهها رفع شدهاند. بهترین راه برایاینکه از این مشکلات رهایی یابید آن است که سخت افزار خود را با دقت انتخاب کنید و سایت های اینترنتی این کارخانهها را برای اطلاع از آخرین دادهها و اصلاحات ببینید.
مبالغ
ازتقا دهندگان پورت USB، مرجع خصوصیات USB و مطالب مربوط به آن، نرمافزارهای برای تنظیمات و اطلاعات دیگری را به صورت رایگان بر روی وب سایت خود قرار دادهاند و هر کسی میتواند نرم افزار USB خود را بدون پرداخت مبلغی با استفاده از این سایت ارتقا دهد.
با این حال هر کس که میخواهد دستگاهی با رابط USB را به فروش برساند باید یک شماره مشخصه فروشنده داشته باشد. مبلغ مورد نیاز برای دریافت شماره مشخصه فروشنده، 1500 دلار است و اگر عضو مجمع باشید (برای عضو شدن مبلغ 2500 دلار در سال باید پرداخته شود) در کنار دیگر مزایا گرفتن شماره مشخصه نیز مجانی خواهد بود. شماره مشخصههای فروشنده و محصول که توسط سازندگان در هر دستگاهی قرار میگیرند، باعث شناساندن دستگاه به سیستم عامل میشوند. میلغ ذکر شده برای کارخانجاتی که تولید انبوه میکنند قابل توجه نیست ولی افرادی که به منظورسرگرمی میخواهند تعدادی دستگاه USB با قیمت پایین بفروشند زیاد خواهند بود . به این منظور بعضی از سازندگان تراشههای USB به کاربران خود اجازه میدهند که از شماره مشخصه فروشنده و محصول آنها استفاده کنند.
USB در برابر IEEE-1394
مدار واسط مهم دیگری که برای وسایل جانبی جدید انتخاب میشود IEEE-1394 است. با اینکه IEEE-1394 سریعتر و قابل انعطافتر است ولی بسیار گرانتر میباشد. IEEE-1394 برای ویدئو و دیگر اتصالاتی که در آنها سرعت، حیاتی است مفید میباشد. USB نیز برای کاربرد در ابزارهای جانبی معمول از قبیل صفحه کلید ها ، چاپگرها، اسکنرها و راهاندازهای دیسک با سرعت پایین یا متوسط و قیمت متعادل،مناسب میباشد. برای بسیاری از ابزارها، هر دو رابط پاسخگو میباشند.
در USB یک کنترل کننده میزبان با بسیاری از وسایل جانبی ارتباط برقرار میکند. به این دلیل که میزبان بسیاری از وظایف مشکل را خود انجام میدهد وسایل جانبی میتوانند ساده و ارزانقیمت تمام شوند. IEEE-1394 از مدل نظیر به نظیر که در آن وسایل جانبی قادرند به صورت مستقیم باهم ارتباط برقرار کنند نیز پشتیبانی میکند. همچنین یک ارتباط میتواند چندین گیرنده دشته باشد و نتیجة آن مدار واسط قابل انعطافتر و در عین حال وسایل جانبی پیچیدهتر و گرانتر خواهد بود.
IEEE-1394 با سرعت 400 مگا بایت در هر ثانیه 30 بار سریعتر از 12 مگابیت در ثانیه مربوطه به USB نسخه 1/x میباشد همان طور که USB در نسخه 0/2 افزایش یافت IEEE-1394 نیز در نسخةجدید خود IEEE-1394.b سرعت را زیاد کرد و به 2/3 گیگا بیت در هر ثانیه رساند که تقریباً شش برابر سریعتر از نسخه 0/2 مربوطه به USB با سرعت 480 مگابیت در هر ثانیه میباشد.
حداقل نیازمندیهای کامپیوتر
قبل از اینکه تصمیم بگیرید وسیله جانبی USB را طراحی کنید، باید مطمئن شوید که کامپیوتری که میخواهد از این وسیلة جانبی استفاده کند قابلیت استفاده از این مدار واسط را داراست. برای استفاده از USB کامپیوتر احتیاج به پشتیبانی سخت افزاری و نرم افزاری دارد. سخت افزار شامل کنترل کننده USB میزبان و یک هاب ریشه با یک پورت USB است. پشتیبانی نرم افزاری نیز یک سیستم عامل است که USB را پشتیبانی میکند.
کنترل کنندة میزبان
اگر کارخانه سازنده کامپیوتر ازاین پورت پشتیبانی نکند دیگر این رابط موفق نخواهد بود خوشبختانه هم کارخانههای سازنده کامپیوتر و همه سازندگان وسایل جانبی USB مشتاق به پشتیبانی از USB هستند. کامپیوتر های جدید همه دارای کنترل کننده میزبان USB و حداقل دو پورت USB هستند کامپیوترهایی که تولید آنها از سال 1997 به بعد است دارای سخت افزار پشتیبانی USB هستند دو شرکت ماکروسافت و اینتل در PC 2001 system Design Guide خود وجود دو پورت USB را بر روی کامپیوترها اجباری کردند.
اگر کامپیوتر بر روی مادربرد خود قابلیت پورت USB را نداشته باشد میتوانید از کارتهای توسعه دهنده که داخل شیاری بر روی باس PCI نصب میشوند برای اضافه کردن قابلیت USB به کامپیوتر استفاده کنید.
کنترلرهای USB اولیه سازگار با USB نسخه 1/x بودند و فقط سرعت پایین و بالا را پشتیبانی میکردند.
اما در کنترلرهای جدید و سازگار با USB نسخه 0/2 سرعت خیلی بالایی نیز پشتیبانی میشوند.
سیستم عامل
از سوی دیگر، USB باید توسط سیستم عامل پشتیبانی شود اگر از کاربران بخواهید از ویندوز 98 یا بالاتر استفاده کنند، طراحی و ساخت شما خیلی راحتتر خواهد بود ویندوز 95 نیز بعضی از USB ها را پشتیبانی میکند اما در ویندوز 98 این پشتیبانی ارتقای زیادی یافته است.
فرمت این مقاله به صورت Word و با قابلیت ویرایش میباشد
تعداد صفحات این مقاله 87 صفحه
پس از پرداخت ، میتوانید مقاله را به صورت انلاین دانلود کنید
دانلود مقاله کارآموزی شرکت سخت افزار