بستههای کوچک یواسبی
سه شنبه 16 آذر 1389 7:59 AM
ارتباطات یواسبی از پاکتهای D شکل میگیرد. از ابتدا، تمامی پاکتها از هاست و از طریق هاب ریشهای و احتمالاً هابهای بیشتر به دیگر دستگاهها فرستاده میشوند. بعضی از این پاکتها دستگاهی را برای ارسال تعدادی از پاکتها در پاسخ دادن هدایت میکند. بعد از آنکه سینک (هماهنگی) فوق شرح داده شد، تمامی پاکتها از بایتهای ۸ بیتی ساخته میشوند و در ابتدا کم اهمیتترین بیت انتقال مییابد. اولین بایت یک شاخص بسته کوچک بایت (PID) میباشد. PDI در واقع ۴ بیت میباشد، بایت شامل ۴ بیت PID میشود که با تکمیل بیت گونه آن تکمیل میشود. این ازدیاد به آشکار شدن خطاها کمک میکند. (همچنین توجه کنید که یک بایت PID شامل حداکثر چهار یک بیتی متوالی میشود) و بنابراین نیاز به پر کردن بیت نمیشود حتی زمانی که با آخرین یک بیتی در بایت سینکی ترکیب شود. با این وجود، بایت PID بیرونی با سه یک بیتی متوالی خاتمه مییابد، بنابراین اگر آدرس یواسبی با سه یک بیتی شروع شود، پر کردن بیت، مورد نیاز خواهد بود. بستههای کوچک در نوع اساسی و هر کدام با فرمت و CRC متفاوت ظاهر میشوند. بستهای کوچک Handshake(دست دهی) شامل چیزی جز یک بیت PID نمیشوند و به طور کلی در پاسخ به بستههای اطلاعاتی فرستاده میشوند. این سه نوع اساسی از قرار زیر هستند:ACK که معین میکند که اطلاعات با موفقیت دریافت شده، NAK که مشخص میکند که اطلاعات در همان زمان نمیتواند دریافت شود و بایستی دوباره سعی شود و STALL که مشخص میکند که دستگاه دارای خطا بوده و قادر به انتقال اطلاعات برای انجام فعالیت درست (همانند پیاده سازی دستگاه) نمیشود.
یواسبی۲٫۰ دو بسته اضافی دست دهی را اضافه نموده، NYET که مشخص مینماید که یک تغییرات بخشی هنوز کامل نبوده ودست دهی ERR برای مشخص کردن اینکه تغییرات دو بخشی انجام شده میباشد. تنها بسته دست دهی که میزبان HSB میتواند تولید کند ACK میباشد. اگر آماده دریافت اطلاعات نباشد، نبایستی به دستگاه دستور العمل هیچ اطلاعاتی داده شود.