پردازش در كامپیوتر
بافرهای داده USB كنترلر USB ، باید بافرهایی برای ذخیره دادههایی كه دریافت میكند یا دادههایی كه آماده فرستادن روی باس هستند، داشته باشد بعضی از تراشهها مانند NET2888 محصول NetChip ، از رجیسترهای به عنوان بافر استفاده میشكند در حالی كه برخی دیگر ، از جمله EZUSB شركت سیپرس از بخشی از حافظه داده به عنوان بافر بهره میبرند |
دسته بندی | کامپیوتر |
فرمت فایل | doc |
حجم فایل | 27 کیلو بایت |
تعداد صفحات فایل | 28 |
رجیسترهایی كه دادههای رسیده یا منتقل شده را نگهداری میكنند، عموماً دارای ساختار FIFO (اولین ورودی، اولین خروجی) هستند. در هر خواندن از یك FIFO ، بایتی كه بیشتر از همه در حافظه بوده است بازگردانده میشود. با هر نوشتن به روی FIFO ، بایت بعد از همه بایتهایی كه در FIFO، محلی را كه داده بعدی در ن قرار دارد نشان میدهد.
در تراشههای دیگر، مثل سری enCore شركت سیپرس، بافرهای USB در حافظه داده جاسازی شدهاند و برنامه تراشه هر موقعیت را برای نوشتن یا خواندن از آن انتخاب میكند و اشارهگری كه به طور خودكار افزایش یابد تا محل دادة بعدی را مشخص كند. وجود ندارد. بایتهای درون بافر فرستنده USB از پایینترین آدرس به بالاترین آدرس نوشته میشوند و بایتهای بافر دریافت به ترتیب رسیدن، از پایینترین آدرس به بالاترین آدرس ذخیره میگردند. این بافرها ساختار FIFOندارند ولی گاهی با این نام خوانده میشوند.
برای ایجاد انتقالهای سریعتر، بعضی از تراشهها دو بافر دارند و قادرند دو مجموعه كامل داده در هر جهت را ذخیره كنند. در حالی كه یك بلاك داده انتقال می یابد، برنامه تراشه میتواند بلاك داده بعدی را به بافر دیگر بنویسد. به طوری كه این بلاك تا وقتی كه بلاك اول فرستاده میشود آماده انتقال میگردد. در جهت دریافت نیز. بافر اضافی ما را قادر میسازد قبل از كامل شدن پردازش داده بر روی ترنزكشن قبلی توسط برنامه تراشه، ترنزكشن بعدی دریافت شود. سختافزار به صورت خودكار بین این دو بافر سئویچ میكند.
CPU
واحد پردازش مركزی (CPU) یك تراشه كنترلی USB ، با اجرای دستورات كدهایی كه در تراشه ذخیره شده است، فعالیتهایی تراشه را كنترل میكند. هر CPU از مجموعه دستوراتی پشتیبانی میكند كه شامل دستورات زبان ماشین برای انتقال داده، انجام عملوندهای منطقی، و پرشهای برنامه می باشند. این مجموعه دستورات همچنین CPU را قادر میسازد كه با SIE ارتباط برقرار كند. CPU ممكن است ساختاری بر اساس یك میكروكنترلر عمومی مانند 8051 داشته باشد یا اینكه فقط به صورت ویژه برای استفاده در دستگاههای USB طراحی شده باشد.
تراشههایی كه cpu ندارند ممكن است مجموعه دستوراتی وابسته به ارتباطهای USB داشته باشند یا فقط از یك سری رجیستر برای ذخیره دادههای USB و اطلاعات پیكربندی استفاده كنند. این تراشهها مسیری را برای اضافه كردن قابلیتهای USB به هر میكروكنترلر خارجی ایجاد می كنند.