گزارش کارآموزی پورت USB و تراشه های کاربردی
دسته بندي :
فنی و مهندسی »
برق، الکترونیک، مخابرات
گزارش کارآموزي پورت 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 زياد است.