کارآموزی شرکت سخت افزار

 مقدمه
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 طوري ساخته شده‌اند كه اتصال اشتباه آنها امكان نيست. كابل‌ها مي‌توانند تا ۵ متر طول داشته باشند و يا حتي از طريق هاب‌ها دستگاهها مي‌توانند تا ۳۰ متر از كامپيوتر فاصله بگيرند. شكل ۱ـ۱ كانكتورهاي USB را نشان مي‌دهد كه در كنار كانكتور‌هاي پورت ۲۳۲ – RS و پورت موازي ديده مي‌شوند و ديده مي‌شود كه در مقابل آنها چقدر كوچك و ظرفيت مي‌باشد. براي اطمينان از عملكرد صحيح، كابل‌ها در مرجع خصوصيات USB ويژگيهايي كه بايد كابل‌ها و كانكتورها داشته باشند، آمده است.

HOT pluggable ـ شما مي‌توانيد بدون توجه با اينكه سيستم روشن است يا خاموش، وسيله جانبي خود را هر زمان كه بخواهيد به سيستم خود وصل يا از آن قطع كنيد با اطمينان از اينكه به كامپيوتر يا ابزار جانبي شما صدمه‌اي وارد نمي‌شود. سيستم عامل هم هنگامي كه شما وسيله جانبي را وصل مي‌كنيد، به طور خودكار آن را پيداكرده و آماده استفاده مي‌نمايد.
عدم احتياج به منبع تعذيه ( بيشتر مواقع) ـ رابط USB شامل سيمهاي زمين و تغذيه نيز مي‌باشد كه V 5+ را از طريق كامپيوتر و يا هاب به دستگاه مي‌دهند . وسايل جانبي كه حداكثر به mA 500 جريان نياز دارند ، مي‌توانند از اين سيم، جريان مورد نظر خود را بكشند بدون آنكه به منبع تغذيه مجزا نياز داشته باشند. ساير وسايل جانبي بايد از منبع تغذيه خارجي براي تأمين تغذيه استفاده كنند.

 سرعت
USB سه سرعت متفاوت را براي باس پشتيباني مي‌كند؛ سرعت خيلي بالا با ۴۸۰ مگابايت در هر ثانيه ، سرعت بالا با ۱۲ مگابايت در هر ثانيه و سرعت پايين با ۵/۱ مگابايت در هر ثانيه . همة كامپيوتر‌ها سرعتهاي پايين و بالا را پشتيباني مي‌كنند. سرعت خيلي بالا در نسخه ـ ۰/۲ مرجع USB اضافه شده است و به سخت‌افزار سازگار با USB نسخه ۰/۲ در روي مادربرد يا كارت توسعه دهنده احتياج دارد.

اين سرعتها، سرعت انتقال بيت روي باس است و نرخ انتقال داده مفيد كمتر از اين حد مي‌باشد علاوه بر داده ، باس بايد اطلاعات ديگري از قبيل بيت‌هاي وضعيت ، كنترل و سيگنال‌هاي بررسي خطا را نيز عبور دهد. به علاوه ممكن است چندين وسيلة جانبي از يك باس مشترك استفاده كنند. ماكزيمم نرخ تئوري براي انتقال سيگنال حدود ۵۳ مگابايت در هر ثانيه براي سرعت خيلي بالا و حدود ۲/۱ مگابايت در هر ثانيه براي سرعت بالا و ۸۰۰ بايت در هر ثانيه براي سرعت پايين است.

حال چرا سه سرعت؟ سرعت پايين به دو هدف ايجاد شد. وسايل جانبي با سرعت پايين معمولاً مي‌توانند خيلي ارزانتر عرضه شوند و از طرفي براي ماوس و وسايلي كه احتياج به كابل‌هاي قابل انعطاف دارند كابل‌هاي سرعت پايين مي‌توانند خيلي قابل انعطافتر ساخته شوند به اين دليل كه احتياج به شيلد كردن زياد نخواهند داشت.

سرعت بالا نزديك و قابل انطباق با سرعت پورت‌هاي سريال و موازي است و مي‌تواند به جاي آنها قرار گيرد.
بعد از نسخه ۰/۱ USB معلوم شد كه رابطي، با سرعت بيشتر مي‌تواند مفيد باشد. تحقيقات نشان داد كه افزايش سرعت تا ۴۰ برابر امكان پذير است به طوري كه اساس رابط همانند رابطهاي سرعتهاي پايين و بالا باقي بماند و به اين ترتيب سرعت خيلي بالا در USB نسخه ۰/۲ اضافه شد.

 قابليت اطمينان
قابل اطمينان بودن USB به خاطر نوع طراحي سخت‌افزار و همچنين پروتكل انتقال داده مي‌باشد. ويژگيهاي سخت‌افزاري لازم براي راه‌اندازها و گيرنده‌ها و كابل‌هاي USB، بيشتر نويزهايي را كه مي‌تواند باعث ايجاد خطا شود حذف مي‌كند. همچنين، پروتكال USB اين امكان را فراهم مي‌كند كه خطاهاي احتمالي را تشخيص داده و از فرستنده خواسته شود كه داده را دوباره بفرستد. اين تشخيص و پيغام و انتقال مجدد داده‌ها توسط سخت‌افزار انجام مي‌شود و احتياج به برنامه نويسي توسط كاربر ندارد.

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

 صرفه جويي در مصرف انرژي
مدارهاي ذخيره انرژي و استفاده از كد‌هاي مخصوص باعث مي‌شود وقتي از ابزار USB استفاده نمي‌شود. با نگه‌داشتن آن در حالت آماده به كار، مصرف انرژي كاهش يابد. كاهش مصرف انرژي علاوه‌بر مزيتهاي محيطي، براي كامپيوتر‌هايي كه با باتري كار مي‌كنند، در جايي كه ميلي آمپرها نيز اهميت دارند، بسيار مفيد مي‌باشد.

مزيتها براي ارتقادهندگان
مزيتهايي ذكر شده براي كاربران براي ارتقادهندگان سخت افزارها و برنامه نويسان نيز مهم است. اين مزيتها باعث مي‌شود كه كاربران از وسايل جانبي usb راضي باشند و طراحان ، نگران هدر رفتن ‌وقتشان در طراحي وسايل جانبي با اين رابط نباشند. از طرفي بسياري از مزيتهاي ذكر شده براي كاربران بعضي از مسايل را براي ارتقادهندگان راحت‌تر مي‌كند به‌عنوان مثال، استانداردهاي كابل‌هاي USB و بررسي خودكار خطا به اين معناست كه ارتقادهندگان مجبور نيستند كه خصوصيات كابل دستگاه خود را مشخص كنند ويا نرم‌افزارهاي بررسي خطا را طراحي كنند. استفاده از USB همچنين داراي مزيتهايي است كه فقط ارتقادهندگان از آنها بهره مي‌برند.

ارتقادهندگان شامل گروههايي مي‌شوند از جمله طراحان سخت‌افزار كه كارشان طراحي مدارهاست و تجهيزات لازم را انتخاب مي‌كنند، برنامه‌نويساني كه نرم افزارهايي را مي‌نويسند كه با وسايل جانبي ارتباط برقرار مي‌كنند و برنامه نويساني كه كدهاي مربوط به وسيله جانبي را مي‌نويسند.

مزيتهاي USB براي ارتقا دهندگان، از انعطاف پذيري آن در مسائلي همچون پروتكلUSB و پشتيباني توسط ميكروكنترلرها و سيستم عامل ناشي مي‌شود.
واضح است كه كاربرها از اين ويژگيها بهره‌اي نمي برند و تنها نتايج آن را كه مسائلي مانند ارزان بودن و بدون مشكل بودن وسشايل جانبي است، خواستار هستند.

 قابليت انعطاف
چهار نوع انتقال داده و سه سرعت مختلف در USB آن را تبديل به يك رابط عملي براي همة انواع وسايل جانبي كرده است. انواع مختلف انتقال داده براي سازگاري با مبادله بلوك‌هاي بزرگ و كوچك داده با در نظر گرفتن يا نگرفتن قيد زمان وجود دارد. براي داده‌هايي كه ميزان تأخير بين داده‌ها مهم است. USB مي‌تواند نرخ انتقال يا حداكثر فاصله زماني بين انتقالها را ثابت نگه دارد. اين تواناييها به ويژه براي ويندوز در جايي كه احتياج داريم با وسيله جانبي به صورت بلادرنگ ارتباط داشته باشيم مطلوب است. سيستم عامل‌ها، راه‌اندازها و نرم افزارها هنوز تأخيرهاي اجتناب ناپذيري را دارا مي‌باشند اما USB اين امكان را فراهم مي‌كند كه به انتقال داده بلادرنگ نزديكتر شويم.

بر خلاف ديگر رابطها، USB براي سيگنال‌ها كاربردهاي ويژه‌اي را تعريف نمي‌كند و يا فرضهايي را براي اينكه چگونه از رابط استفاده خواهد شد ندارد. به عنوان مثال در پورت موازي خطوط وضعيت و كنترل به منظور ارتباط با خطهاي چاپگر تعريف شده‌اند. در اين پورت ۵ خط ورودي با كاربردهاي ويژه از قبيل تشخيص مشغول بودن يا وضعيت تمام شدن كاغذ وجوددارد. وقتي كه ارتقا دهندگان مي‌خواهند از اين پورت براي وصل كردن اسكنر يا ديگر وسايل جانبي استفاده كنند كه بايد حجم زيادي از اطلاعات را توسط آنها به كامپيوتر بفرستند، محدوديت ۵ خط ورودي مشكل ايجاد خواهد كرد.

USB اين گونه پيش فرضها را ندارد و براي استفاده در هر نوع وسيله جانبي مناسب است. در مورد ارتباط با دستگاههاي معمولي از جمله چاپگر و مودم كلاسهايي وجود دارد كه در آنها مسائلي مربوط به نيازهاي آن وسيله و پروتكل آن تعريف شده و آماده است. اين ويژگي سبب مي‌شود كه نياز به طراحي دوباره آنها نباشد.

 پشتيباني توسط سيستم عامل
ويندوز ۹۸ اولين سيستم عاملي بود كه USB را پشتيباني مي‌كرد. جانشينان آن يعني ويندوز ۲۰۰۰ و ويندوز Me نيز USB را پشتيباني مي‌كنند. اين كتاب توجه خود را براي برنامه نويسي كامپيوتر به سيستم عامل ويندوز معطوف مي‌دارد. اما توجه داشته باشيد كه ديگر كامپيوترها و سيستم عامل‌ها نيز از USB پشتيباني مي‌كنند.
بر روي كامپيوتر Apple فقط كانكتور پورت USB وجود دارد و بقيه مكينتاش‌ها نيز USB را پشتيباني مي‌كنند. USB روي Linux، NetBSD و FreeBSD نيز پشتيباني مي‌شود.
هر چند كه ادعاي پشتيباني توسط سيستم عامل خيلي مسائل را در بر مي‌گيرد، سطح پشتيباني مي‌تواند متفاوت باشد. در يك سطح پايه از پشتيباني، سيستم عاملي كه USB را پشتيباني مي‌كند، بايد توانايي انجام سه كار را داشته باشد:
هر گاه دستگاه جانبي وصل يا قطع شود آن را تشخيص دهد.

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

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

به نظر مي‌رسد در آينده، ويندوز كلاس‌هاي ابزاري بيشتري را پشتيباني كند. در ضمن سازندگان تراشه‌ها نيز راه‌اندازهايي را تهيه مي‌كنند كه اين امكان را به ارتقا دهندگان مي دهد كه با كمترين تغييرات، انها بتوانند به هدف خود نائل شوند.

راه‌اندازهاي وسايل USB از مدل راه انداز Win32 جديد (WDM) استفاده مي‌كنند كه يك ساختار واحد را براي اجرا شدن تحت ويندوز ۹۸، ويندوز ۲۰۰۰ و Me و نسخه‌هاي بعدي ويندوز ارائه مي‌كند. هدف از اين مدل آن است كه ارتقا دهندگان بتوانند وسيله خود را توسط يك راه انداز در همة ويندوزها اجرا كنند. واقعيت آن است كه هنوز بعضي از وسايل احتياج به دو راه انداز WDM شبيه به هم دارند كه يكي براي ويندوز ۹۸ و Me مي‌باشد و ديگري براي ويندوز ۲۰۰۰٫

به خاطر آنكه ويندوز از راه اندازهاي نزديك به زبان ماشين براي ارتباط با سخت افزار USB استفاده مي‌كند، نوشتن راه انداز ابزارهاي USB راحت‌تر از نوشتن راه انداز براي ديگر رابطه است.

 پشتيباني وسيلة جانبي
اما در سمت وسيلة جانبي، هر سخت افزار دستگاه USB بايد داراي يك تراشة كنترلي باشد كه وظيفه انجام بيشتر جزئيات مربوط به ارتباطات USB را به عهده دارد. بعضي از كنترلرهاي كي ميكرو كامپيوتر كامل هستند كه داراي يك CPU و حافظه و كدهاي مخصوص به دستگاه مي‌باشد كه در سمت وسيلة جانبي اجرا مي‌شوند. اما دير كنترلرها فقط انجام وظايف ويژه USB را به عهده مي‌گيرند و داراي باس داده‌اي هستند كه بايد به ميكروكنترلر ديگري كه كارهاي غير وابسته به USB را انجام مي‌دهد متصل شوند.

وسيلة جانبي مسئول پاسخ دهي به نياز‌هاي مربوط به ارسال يا دريافت داده و خواندن و نوشتن داده‌هاي ديگر در صورت لزوم مي‌باشد. در برخي تراشه‌ها، توابعي به صورت سخت افزاري تعبيه مي‌شوند و نياز به نوشتن برنامه براي آنها نخواهيم داشت.

بسياري از كنترلرهاي USB مبتني بر معماريهاي متعارف از جمله ۸۰۵۱ اينل مي‌باشند، كه مدارها و كدهايي براي پشتيباني كردن 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 نصب مي‌شوند (و يا عوض كردن مادربرد) امكان پذير است. نسخه ويندوز لازم نيز مي‌تواند ويندوز ۹۸ يا بالاتر باشد. بعضي از وسايل جانبي داراي راه اندازي براي نسخه قديمي تر ويندوز ۹۵ را به عنوان سيستم عاملي كه از USB پشتيباني مي‌كند به شمار نياوريم. اگر سخت افزار داراي حداقل احتياجات مورد نياز ويندوز ۹۸ نباشد، بايد به روزرساني شود. اين به روزرساني ممكن است سبب صرف هزينه‌اي بيشتر از خريد يك كامپيوتر جديد با پورت USB شود، در اين حالت بهترين انتخاب مي تواند عوض كردن كامپيوتر باشد.

اما اگر اماكن به روزرساني كامپيوتر براي پشتيباني USB نباشد، استفاده از مبدل‌هايي به منظور ترجمه از پورت USB موجود بر روي وسايل جانبي به Rs-232 و يا پورت موازي موجود بر روي كامپيوترچگونه خواهد بود؟ به طور كلي تبديل كننده‌هاي رابطها به منظور استفاده بين پورت USB موجود بر روي كامپيوتر و پورت‌هاي ديگر بر روي وسايل جانبي قديمي طراحي شده‌اند. طراحي تبديلي در مسير برگشت بسيار پيچيده و مشكل خواهد بود چون لازم است سخت افزار كنترل كننده ميزبان USB و كُدهاي موجود بر روي كامپيوتر مدل سازي شود. بنابراين استفاده از تبديل كننده‌ها در مسير برگشت انتخاب مناسبي براي ارتباط با كامپيوترهايي با رابطهاي قديمي نخواهد بود.

حتي بعضي از سيستم‌هاي جديد، ممكن است از سيستم عامل‌هاي قديمي مانند داس استفاده كنند. در حالي كه نرم افزارهاي ويندوز ۹۸ براي ارتباط با پورت USB از راه‌اندازهايي استفاده مي‌كنند كه مخصوص به خود ويندوز است. بدون راه‌انداز نيز راهي براي ارتباط با وسايل جانبي USB نخواهد بود. البته امكان نوشتن راه‌انداز براي داس وجود دارد كه بعضي از سازندگان وسايل جانبي اين راه‌انداز را براي ابزار خود ارائه مي‌دهند.