گزارش کارآموزی پورت USB و تراشه های کاربردی

گزارش کارآموزی پورت USB و تراشه های کاربردی

گزارش کارآموزی پورت USB و تراشه های کاربردی

گزارش کارآموزی پورت USB و تراشه های کاربردی

دسته بندی فنی و مهندسی
فرمت فایل doc
حجم فایل 128 کیلو بایت
تعداد صفحات 76
برای دانلود فایل روی دکمه زیر کلیک کنید
دریافت فایل

گزارش کارآموزی پورت USB و تراشه های کاربردی در 75 صفحه ورد قابل ویرایش

فهرست مطالب

عنوان صفحه

مقدمه………………………………………………………………………………………………………………..1

سرآغاز………………………………………………………………………………………………………………2

كاربرد راحت………………………………………………………………………………………………………4

– یك رابط برای همه دستگاهها ……………………………………………………………….4

– پیكربندی خودكار…………………………………………………………………………………4

– به دور از تنظیمات كاربر………………………………………………………………………..4

– آزاد كردن منابع سخت‌ افزاری برای وسایل جانبی ………………………………….4

– سادگی كابل…………………………………………………………………………………………5

– Hot pluggable………………………………………………………………………………….5

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

سرعت………………………………………………………………………………………………………………6

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

قیمت پایین……………………………………………………………………………………………………….7

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

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

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

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

مجمع ابزار آلات USB………………………………………………………………………………………11

الف

این پورت كامل نیست……………………………………………………………………………………….12

– از دید كاربران…………………………………………………………………………………….12

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

– محدودیت سرعت……………………………………………………………………………….13

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

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

– تولیدات شكل‌دار………………………………………………………………………………..14

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

– پیچیدگی پروتكل……………………………………………………………………………….15

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

– گیرهای سخت افزاری………………………………………………………………………….16

– مبالغ………………………………………………………………………………………………….16

USB در برابر IEEE _ 1394………………………………………………………………………….17

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

– كنترل كننده میزبان……………………………………………………………………………18

– سیستم عامل……………………………………………………………………………………..18

– اجزا……………………………………………………………………………………………………18

– اجزای یك اتصال………………………………………………………………………………..19

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

– انتخاب تراشه……………………………………………………………………………………..21

اجزای یك كنترلر USB…………………………………………………………………………21

– پورت USB ……………………………………………………………………………………….22

ب

– بافرهای داده USB …………………………………………………………………………….22

– CPU………………………………………………………………………………………………..23

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

– حافظه داده ……………………………………………………………………………………….26

– رجیسترها………………………………………………………………………………………….26

– I/O های دیگر……………………………………………………………………………………26

– ویژگیهای دیگر………………………………………………………………………………….27

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

– انتخاب معماری…………………………………………………………………………………..27

– تراشه‌هایی كه از ابتدا برای USB طراحی شده‌اند………………………………..28

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

– تراشه‌هایی كه به میكرو كنترلرهای خارجی متصل می‌گردند………………….29

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

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

– انتخاب راه انداز………………………………………………………………………………….30

– ابزارهای اشكال‌زدایی………………………………………………………………………….31

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

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

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

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

– EnCore محصول شركت سیپرس………………………………………………………35

– معماری CPU……………………………………………………………………………………35

پ

– كنترلر USB……………………………………………………………………………………..36

– EZ _ USB شركت سیپرس………………………………………………………………37

– معماری CPU……………………………………………………………………………………37

– كنترلر USB……………………………………………………………………………………..38

PCI 16C7X5 شركت میكروچیپ ………………………………………………………………….42

– معماری………………………………………………………………………………………………42

– كنترلر USB………………………………………………………………………………………42

NET 2888 شركت نت چیپ

– كنترلر USB

USB 9603 شركت National Semiconductor……………………………………………..44

– كنترلر USB………………………………………………………………………………………46

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

– معماری……………………………………………………………………………………………..46

– كنترلرهای USB……………………………………………………………………………….47

Strong ARM اینتل………………………………………………………………………………………47

– كلاسهای دستگاهها……………………………………………………………………………48

– استفاده از كلاسها………………………………………………………………………………48

– اجزای یك مربع خصوصیات كلاس……………………………………………………….49

– كلاسهای تعریف شده………………………………………………………………………….50

– مطابقت یك دستگاه با یك كلاس ……………………………………………………….52

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

– صفحه كلید ، ماوس و دسته بازی ………………………………………………………..52

ت

– دستگاههای انبارش توده‌ای………………………………………………………………..53
– چاپگرها……………………………………………………………………………………………55

– دوربینها و اسكنرها ……………………………………………………………………………55

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

– مودم‌ها……………………………………………………………………………………………..57

– كاربردهای غیر استاندارد……………………………………………………………………57

– دستگاههایی كه داده‌ها را با یك سرعت كم منتقل می‌كنند………………….58

– به روز رسانی دستگاههای RS _ 232………………………………………………….59

– دستگاههای مراكز فروش…………………………………………………………………….60

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

– ارتباطهای كامپیوتر به كامپیوتر…………………………………………………………..63

ث

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

پیشگفتار

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

اینجانب از طرف مسئول کار آموزی در قسمت سخت افزار مشغول به کار شدم. در این قسمت کارهای مختلفی انجام میشد مانند اسمبل کردن قطعات کامپیوترو تعمیرات قطعات مختلف آن و… .

هر مهندس الکترونیک باید به حد کافی با سخت افزار کامپیوتروارتباط اجزای مختلف آن با یکدیگر آشنا باشد.

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

ارتباط کامپیوتر با دنیای خارج از طریق پورتهای آن می باشد. پورت سریال پورت موازی پورت USB و… . یکی از پورتهایی که به شدت مورد توجه قرار گرفته پورت USB می باشد من نیز از این فرصت استفاده کرده و به بررسی این پورت پرداختم گسترش این پورت به گونه ای است که حتی پرینترهای جدید و قطعات جانبی دیگر مانند ماوس و اسکنر و … به گونه ای طراحی شده اند که به این پورت وصل می شوند در ادامه به بررسی این پورت و آی سی های جانبی آن پرداخته می شود

ü مقدمه

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 دارند. اما برخی دیگر برای انجام كارهای بیشتر، از جمله رهبری فرستادن توضیح دهنده‌ها به میزبان، تنظیم بیت data-toggle و اطمینان از فرستاده شدن پاكت تأیید متقابل مناسب به كد برنامه نیاز دارند.

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

همه كنترلرها از هر چهار نوع انتقال پشتیبانی نمی‌كنند و كنترلرهای مختلف، سرعتهای باس متفاوتی دارند. بیشتر تراشه‌ها از اندپوینت‌هایی كمتر از حداكثر تعداد مجاز پشتیبانی می‌كنند (یك اندپوینت‌ كنترلی و 30 اندپوینت دیگر)

پورت USB

وسیلة جانبی USB قاعدتاً باید یك پورت USB و مداری برای ارتباط با میزبان داشته باشد. فرستنده ـ گیرنده USB واسط سخت افزاری با باس ایجاد می‌كند. مدارهایی كه با فرستنده ـ گیرنده ارتباط برقرار می‌كنند دارای نام عمومی، موتور واسط سریال (SIE) هستند. SIE فرستادن و دریافت داده‌های تر نزكشن را به عهده دارد. این موتور داده‌های رسیده را ترجمه می‌كند و فقط داده‌هایی را كه برایش در دسترسی قرار گرفته‌اند می‌فرستد و داده‌هایی را كه رسیده‌اند ذخیره می‌نماید. یك SIE عمومی باید همه كارهای زیر را انجام دهد:

تشخیص ورود یك پاكت

فرستادن پاكتها

تشخیص و تولید، سینگال‌های شروع پاكت، انتهای پاكت، ریست، بازگشت

رمز گذاری كردن و از رمز خارج كردن داده‌ها به قالب دبندی‌ای كه باس دارد (NRZI با بیت استاف)

بررسی و تولید مقادیر CRC

تشخیص و ایجاد شماره مشخصه‌های پاكت

تبدیل بین داده‌های سریال USB و داده‌هایس موازی رجیستر‌ها و حافظه

ایجاد چنین قابلیتهایی احتیاج به 2500 گیت دارد.

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

كنترلر USB، باید بافرهایی برای ذخیره داده‌هایی كه دریافت می‌كند یا داده‌هایی كه آماده فرستادن روس باس هستند، داشته باشد. بعضی از تراشه‌ها مانند NET2888 محصول NetChip، از رجیسترها به عنوان بافر استفاده می‌كنند. در حالی كه برخی دیگر، از جمله EZ- USB شركت سیپرس از بخشی از حافظه داده به عنوان بافر بهره می‌برند.

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

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

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

CPU

واحد پردازش مركزی (CPU) یك تراشه كنترلی USB، با اجرای دستورات كدهایی كه در تراشه ذخیره شده است فعالیتهای تراشه را كنترل می‌كند. هر CPU از مجموعه دستوراتی پشتیبانی می‌كند كه شامل دستورات زبان ماشین برای انقال داده، انجام عملوندهای منطقی، و پرشهای برنامه می‌باشند. این مجموعه دستورات همچنین CPU را قادر می‌سازد كه با SIE ارتباط برقرار كند. CPU ممكن است ساختاری بر اساس یك میكروكنترلر عمومی مانند 8051 داشته باشد یا اینكه فقط به صورت ویژه برای استفاده در دستگاههای USB طراحی شده باشد.

تراشه‌هایی كه CPU ندارند ممكن است مجموعه دستوراتی وابسته به ارتباطهای USB داشته باشند یا فقط از یك سری رجیستر برای ذخیره داده‌های USB و اطلاعات پیكربندی استفاده كنند. این تراشه‌ها مسیری را برای اضافه‌كردن قابلیتهای USB به هر میكروكنترلر خارجی ایجاد می‌كنند.

حافظه برنامه

حافظه برنامه كدهایی را كه CPU اجرا می‌كند نگهداری می‌كند. این حافظه ممكن است روی تراشه CPU یا تراشه‌ای مجزا باشد.

حافظه برنامه ممكن است از هر نوع حافظه‌ای استفاده كند: Fash EPROM EEPROM EPROM ROM یا RAM همه این حافظه‌ها بجز RAM (بدون باتری)، همیشگی هستند. آنها داده‌های نوشته شده را به صورت دائن نگهداری می‌كنند. مقدار این حافظه‌های برنامه ممكن است حدود كیلوبایت یا بیشتر باشد. اما تراشه‌هایی كه از حافظه‌های خارجی استفاده می‌‌كنند امكان دارد محدوده‌ای در حدد مگا بایت را نیز پشتیبانی كنند.

نام دیگر كدهای ذخیره شده در حافظه برنامه، برنامة تراشه است، كه مشخص می‌كند حافظه از نوع همیشگی بوده و مانند RAM نمی‌توان به راحتی آنها را ویرایش كرد و دوباره بر روی دیسك ذخیره نمود.

ROM (حافظه فقط خواندنی) باید در كارخانه برنامه نویسی شود و قابل پاك كردن نیست. این حافظه فقط برای تولید انبوه كاربرد دارد.

EPROM (ROM قابل برنامه‌ریزی و پاك شدن) قابل برنامه ریزی توسط كاربر است. بسیاری از تراشه‌ها سخت افزار و نرم افزار برنام نویسی ارازان دارند. برای پاك كردن EPROM تراشه را در پاك كننده EPROM قرار می‌دهید، در این دستگاه مدارهای تراشه زیر تابش اشعه ماورای بنفش قرار می‌گیرند پاك شدن حدود 10 تا 30 دقیقه خواهد كشید. سپس تراشه آماده خواهد بود تا دوباره برنامه ریزی شود. در اطلاعات فنی این تراشه‌ها به ندرت به تعداد دفعات ممكن پاك شدن اشاره می‌شود‌، اما این مقدار حدوداً 100 می‌باشد.

OTP PROM ها ارزانتر هستند. ساختار آنها شبیه به EPROM ها می‌باشد و مانند آنها برنامه ریزی می‌شوند تفاوتشان این است كه این تراشه‌ها پنجره‌های كوارتز برای پاك كردن ندارند. این حافظه بیشتر در محصولات نهایی استفاده می‌شوند. بسیاری از CPU ها هر دو نوع حافظه EPROM و OTP PROM را دارا هستند.

Flash EPROM ها حافظه‌هایی با تكنولوژی جدید هستند كه قابل پاك شدن به طریقه الكتریكی می‌باشند و احتیاج به اشعه ماورای بنفش ندارند و معمولاً به ولتاژ برنامه ریزی خاص مورد نیاز برخی از EPROMها احتیاج ندارند. Flash EPROM های موجود قادرند حدود 000/100 بار پاك شده و دوباره برنامه‌ریزی شوند.

EEPROM (PROM های قابل پاك شدن به طریقه الكتریكی) نیز به ماورای بنفش و ولتاژ ویژه برنامه ریزی كه EEPROM ها نیاز دارند، احتیاج ندارد. EEPROMها زمان دسترسی طولانیتری نسبت به Flash EPROMها دارند. EEPROM ها با هر دو مدار واسط موازی كه توسط EPROMها و Flash EPROMها استفاده می‌شود و واسط سریال كه در میكرووایر، I2C و SPI كاربرد دارد. مورد استفاده قرار می‌گیرد. EEPROMهای سریال برای ذخیره مقدار دادة كمی كه گهگاه تغییر می‌یابند از جمله داده‌های پیكربندی شماره مشخصه‌های محصول و فروشنده مناسب است. EEPROM های موجود حدود 10 میلیون با رمی‌توانند پاك شده و دوباره برنامه ریزی شوند.

RAM ( حاقظه با دسترسی تصادفی) می‌توانند به صورت نامحدود پاك و نوشته شود، اما داده‌ها پس از خاموش شدن تراشه از دست می‌روند. براین اساس برای استفاده از RAM باید در هر بار بالا آمدن، كدها از كامپیوتر به تراشه بارگذاری شود. EZ- USB شركت سیپرس برای ذخیره كدهای بنامه از RAM استفاده می‌كند و سخت‌افزار ویژه و راه‌اندازی دارد كه در هنگام اتصال تراشه، برنامه را در آن بارگذاری می‌نماید. همة CPU ها می‌توانند از حافظة برنامه RAM با پشتیبانی باتری به منظور دخیره كدهای برنامه خود استفاده كنند. زمان دسترسی به RAM زیاد است.