سیمافایل

دانلود مقاله ، پروزه ، پایان نامه ، کارآموزی، تحقیق

سیمافایل

دانلود مقاله ، پروزه ، پایان نامه ، کارآموزی، تحقیق

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

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

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

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

مقدمه1

سرآغاز2

کاربرد راحت4

یک رابط برای همه دستگاهها 4

پیکربندی خودکار4

به دور از تنظیمات کاربر4

آزاد کردن منابع سخت‌ افزاری برای وسایل جانبی 4

سادگی کابل5

Hot pluggable5

عدم احتیاج به منبع تغذیه5

سرعت6

قابلیت اطمینان7

قیمت پایین7

صرفه‌جویی در مصرف انرژی7

قابلیت انعطاف8

پشتیبانی توسط سیستم عامل9

پشتیبانی وسیله جانبی10

مجمع ابزار آلات USB11

این پورت کامل نیست12

از دید کاربران12

پشتیبانی نشدن توسط سخت افزارهای قدیمی12

محدودیت سرعت13

محدودیت فاصله14

ارتباطات نظیر به نظیر14

تولیدات شکل‌دار14

از دید ارتقاء دهندگان15

پیچیدگی پروتکل15

پشتیبانی در سیستم عامل15

گیرهای سخت افزاری16

مبالغ16

USB  در برابر IEEE _ 139417

حداقل نیازهای کامپیوتر17

کنترل کننده میزبان18

سیستم عامل18

اجزا18

اجزای یک اتصال19

تجهیزات لازم برای ارتقاء20

انتخاب تراشه21

اجزای یک کنترلر USB21

پورت USB 22

بافرهای داده USB 22

CPU23

حافظه برنامه24

حافظه داده 26

رجیسترها26

I/O های دیگر26

ویژگیهای دیگر27

ساده سازی پروسه ارتقاء27

انتخاب معماری27

تراشه‌هایی که از ابتدا برای USB طراحی شده‌اند28

تراشه‌هایی بر اساس خانواده‌های آشنا28

تراشه‌هایی که به میکرو کنترلرهای خارجی متصل می‌گردند29

مرجع خصوصیات تراشه30

برنامه تراشه نمونه30

انتخاب راه انداز30

ابزارهای اشکال‌زدایی31

بردهای ارتقا از فروشندگان تراشه31

بردهای از منابع دیگر32

نیازمندیهای پروژه33

نگاهی به بعضی از تراشه‌ها35

EnCore محصول شرکت سیپرس35

معماری CPU35

کنترلر USB36

EZ _ USB شرکت سیپرس37

معماری CPU37

کنترلر USB38

PCI 16C7X5 شرکت میکروچیپ 42

معماری42

کنترلر USB42

NET 2888 شرکت نت چیپ

کنترلر USB

USB 9603 شرکت National Semiconductor44

کنترلر USB46

PDIUSBD 11/1 محصول فیلیپس46

معماری46

کنترلرهای USB47

Strong ARM اینتل47

کلاسهای دستگاهها48

استفاده از کلاسها48

اجزای یک مربع خصوصیات کلاس49

کلاسهای تعریف شده50

مطابقت یک دستگاه با یک کلاس 52

وسایل جانبی استاندارد52

صفحه کلید ، ماوس و دسته بازی 52

دستگاههای انبارش توده‌ای53

چاپگرها55

دوربینها و اسکنرها            55

برنامه‌های صوتی56

مودم‌ها57

کاربردهای غیر استاندارد57

دستگاههایی که داده‌ها را با یک سرعت کم منتقل می‌کنند58

به روز رسانی دستگاههای RS _ 23259

دستگاههای مراکز فروش60

جایگزینی دستگاههای با پورت موازی غیر استاندارد61

ارتباطهای کامپیوتر به کامپیوتر63

پیوندهای بی‌سیم63

مقدمه

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

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

کاربرد راحت:

به گونه‌ای که نیازی به آشنایی با جزئیات نصب نخواهیم داشت.

سرعت:

به گونه‌ای که رابط باعث پایین آمدن سرعت ارتباط نشود.

قابلیت اطمینان:

به گونه‌ای که خطا‌ها کاهش یابد و امکان اصلاح خودکار خطا‌هایی که اتفاق می‌افتد وجود داشته باشد.

قابلیت تطبیق:

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

ارزانقیمت:

به گونه‌ای که کاربران (و کارخانه‌هایی که از این رابط برای تولیدات خود بهره می‌برند) متحمل هزینه زیادی نشوند.

صرفه جویی در مصرف انرژی: به منظور کاهش مصرف باتری در کامپیوتر‌های قابل حمل.

شناخته شده توسط سیستم عامل‌ها: به گونه‌ای که ارتقادهندگانی که از این رابط برای ارتباط با وسیله جانبی خود استفاده می‌کنند مجبور به نوشتن راه اندازهایی نزدیک به زبان ماشین نباشند.

خبر خوب آنکه شما مجبور به ایجاد این رابط ایده‌آل نیستید چون طراحان (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 به طور کامل آشنا باشد.

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

نظرات 0 + ارسال نظر
امکان ثبت نظر جدید برای این مطلب وجود ندارد.