پیوند اتصال گرا (SCO) همزمان

Post Main

پیوند اتصال گرا (SCO) همزمان

لایه‌های پیوند بلوتوث دو نوع پیوند داده را تعریف می‌کنند، پیوند مبتنی بر اتصال همزمان (SCO) که یکی از آنهاست. SCO یک پیوند متقارن و نقطه به نقطه بین دستگاه اصلی و دستگاه Slave متصل شده از طریق بلوتوث است.

ویژگی های پیوندهای SCO بلوتوث

• در SCO، قبل از شروع ارتباط، یک پیوند نقطه به نقطه اختصاصی بین دستگاه اصلی و دستگاه slave برقرار می شود.

• SCO یک پیوند متقارن است، یعنی شکاف های ثابت برای هر جهت اختصاص داده شده است.

• از آنجایی که اسلات های ثابت رزرو شده اند، SCO یک اتصال سوئیچ مدار را فراهم می کند.

• پیوندهای رادیویی SCO برای انتقال داده های حساس زمانی، به ویژه برای داده های صوتی استفاده می شود.

• هر دو دستگاه اصلی و slave داده های صوتی رمزگذاری شده را در بازه های زمانی رزرو شده خود ارسال می کنند.

• یک دستگاه اصلی می تواند از سه پیوند SCO با بردهای مشابه یا متفاوت پشتیبانی کند.

• یک دستگاه Slave می تواند حداکثر سه پیوند SCO با دستگاه اصلی خود داشته باشد.

• یک پیوند SCO می تواند یک کانال صوتی PCM را با سرعت ۶۴۰۰۰ bps (بیت در ثانیه) ارسال کند.

• فریم های SCO دوباره ارسال نمی شوند. این به این دلیل است که انتقال زمان حیاتی است و امکان ارسال مجدد داده های صوتی بلادرنگ وجود ندارد.

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

• بهبود در پیوندهای SCO، پیوندهای SCO (eSCO) بهبود یافته است. پیوندهای eSCO به انعطاف پذیری بیشتری در تنظیم پیوندها، پشتیبانی از ارسال مجدد محدود، و انواع بیشتری از بسته های داده نسبت به SCO اجازه می دهد.

سازمان همکاری شانگهای

پیوند گرا اتصال همزمان

پیوند جهت اتصال همزمان یکی از دو نوع پیوند داده بلوتوث ممکن تعریف شده است. پیوند SCO یک پیوند متقارن و نقطه به نقطه بین دستگاه اصلی و یک دستگاه برده خاص است. پیوند SCO شکاف هایی را بین master و slave ذخیره می کند و بنابراین می تواند به عنوان یک اتصال سوئیچ مدار در نظر گرفته شود. پیوند SCO معمولاً برای پشتیبانی از اطلاعات مهم زمانی استفاده می شود، به عنوان مثال. صدا، از آنجایی که بسته های SCO حیاتی هرگز دوباره ارسال نمی شوند. دستگاه اصلی می تواند حداکثر سه پیوند SCO را پشتیبانی کند، این ممکن است برای یک Slave یا برای Slave های مختلف باشد. یک Slave می تواند حداکثر تا سه پیوند SCO را پشتیبانی کند، با این فرض که آنها از یک Master هستند. اگر Slave پیوندهایی از Master های مختلف داشته باشد، حداکثر دو پیوند SCO در دسترس است.

ایجاد اتصال SCO Client به یک دستگاه راه دور

درایور پروفایل کلاینت SCO درایور پروفایلی است که درخواست اتصال اتصال محور (SCO) به یک دستگاه راه دور را می‌دهد. اگر دستگاه اتصال را بپذیرد، درایور پروفایل مشتری SCO از هرگونه تغییر در اتصال مطلع می شود. برای مثال، یک درایور پروفایل کلاینت SCO می‌تواند درخواست اتصال به یک هدست راه دور کند، و پس از اینکه هدست درخواست اتصال را پذیرفت، پشته درایور بلوتوث می‌تواند هنگام خاموش یا برداشتن هدست به راننده نمایه اطلاع دهد.

از آنجا که اتصالات SCO اتصالات نقطه به نقطه بین دو دستگاه بلوتوث هستند، درایور پروفایل کلاینت SCO برای اتصال به آن فقط به آدرس بلوتوث دستگاه راه دور نیاز دارد.

برای شروع اتصال SCO به یک دستگاه راه دور، درایورهای نمایه باید یک درخواست _BRB_SCO_OPEN_CHANNEL ایجاد و ارسال کنند.

اگر دستگاه راه دور درخواست اتصال SCO راننده نمایه را بپذیرد، درایور نمایه می‌تواند با استفاده از IOCTL_INTERNAL_BTH_SUBMIT_BRB دستورات BRB اضافی را در کانال جدید متصل انجام دهد تا یک بلوک درخواست بلوتوث (BRB) به پشته درایور بلوتوث ارسال کند، از جمله:

• _BRB_SCO_GET_CHANNEL_INFO

• _BRB_SCO_GET_SYSTEM_INFO

• _BRB_SCO_TRANSFER

پذیرش اتصالات SCO در درایور پروفایل بلوتوث

• ۱ مشارکت کننده

بازخورد

یک درایور نمایه SCO می‌تواند خود را ثبت کند تا به درخواست‌های اتصال اتصال محور (SCO) ورودی از دستگاه‌های راه دور پاسخ دهد. به عنوان مثال، یک درایور پروفایل SCO برای یک دستگاه پروفایل تلفن بی سیم (CTP) به درخواست اتصال SCO ورودی از دستگاه CTP پاسخ می دهد، یا درخواست را می پذیرد یا رد می کند. اگر درایور نمایه سرور درخواست را بپذیرد، درایور نمایه سرور به ورودی دستگاه پاسخ می‌دهد و آن ورودی را به پشته درایور بلوتوث ارسال می‌کند.

درایورهای نمایه سرور باید مراحل زیر را برای پذیرش درخواست‌های اتصال SCO دریافتی از دستگاه‌های بلوتوث راه دور انجام دهند.

برای دریافت درخواست های اتصال SCO ورودی از دستگاه های راه دور

۱. درایورهای نمایه باید یک درخواست BRB_SCO_REGISTER_SERVER برای ثبت یک تابع SCO Callback با پشته درایور بلوتوث بسازند و ارسال کنند تا پشته بتواند درایور پروفایل را از درخواست های اتصال SCO دریافتی مطلع کند.

۲. هنگامی که پشته درایور بلوتوث یک درخواست اتصال SCO دریافتی از یک دستگاه راه دور دریافت می کند، عملکرد SCO Callback را که قبلاً توسط درایور نمایه ثبت شده است، فراخوانی می کند. پشته درایور بلوتوث مقدار ScoIndicationRemoteConnect را به پارامتر Indication تابع callback ارسال می کند.

۳. برای پاسخ به درخواست‌های اتصال ورودی، درایورهای نمایه باید یک BRB_SCO_OPEN_CHANNEL_RES بسازند و ارسال کنند.

درخواست PONSE. بر اساس مقدار عضو Response ساختار _BRB_SCO_OPEN_CHANNEL که با این درخواست ارسال شده است، درایور پروفایل سرور درخواست اتصال را می پذیرد یا رد می کند.

۴. اگر درایور نمایه سرور اتصال را بپذیرد، پشته درایور بلوتوث می‌تواند تابع SCO Callback را همانطور که در عضو Callback ساختار _BRB_SCO_OPEN_CHANNEL مشخص شده است فراخوانی کند تا درایور پروفایل سرور را از هرگونه تغییر در اتصال SCO مطلع کند.

پس از اینکه درایور پروفایل درخواست اتصال را پذیرفت، می تواند از سایر BRB ها برای ارسال و دریافت داده ها از طریق اتصال SCO جدید استفاده کند.

برای توقف دریافت اعلان‌های تلاش‌های اتصال SCO از راه دور دستگاه، درایورهای نمایه باید زمانی که درایور نمایه اعلان‌های حذف IRP_MN_REMOVE_DEVICE Plug and Play را پردازش می‌کند، یک درخواست BRB_SCO_UNREGISTER_SERVER برای لغو ثبت سرور ایجاد و ارسال کنند.

مطالبی که شاید به خواندن آن ها علاقه مند باشید

ارسال دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *