در اعماق بلوتوث‌
 

 
اشاره :

چنان که می‌دانید بلوتوث استانداردی برای ارتباطات بی‌سیم با برد کوتاه، مصرف توان و قیمت کم است که از فناوری رادیویی استفاده می‌کند. در اصل، شرکت ‌اریکسون (تولیدکننده بزرگ گوشی موبایل) در سال 1994، بلوتوث را به عنوان جایگزینی برای کابل در نظرگرفته بود، اما این استاندارد امروزه در بسیاری از انواع تجهیزات همچون تجهیزات هوشمند (PDAها، گوشی‌های همراه، پی‌سی‌ها)، ادوات جانبی (ماوس، صفحه‌کلید، جوی استیک، دوربین‌ها، قلم‌های دیجیتال، چاپگرها، نقاط دستیابی LAN)، ابزارهای جانبی صوتی (هدست‌ها، بلندگوها، گیرنده‌های استریو) و تجهیزات Embedded (قفل‌های اتومبیل، سیستم‌های صنعتی، ابزار موسیقی MIDI) گنجانده شده و فراگیر شده است. در مقاله حاضر ویژگی‌های فنی این استاندارد مورد بررسی قرار گرفته‌اند.


منبع: IEEE Potentials

شرکت اریکسون، اوایل سال 1998، برای تشکیل گروه Bluetooth Special Interest Group) SIG) به شرکت‌های اینتل، نوکیا، توشیبا و IBM ملحق شد. شرکت‌های مایکروسافت، موتورولا، 3Com و Lucent/Agere نیز در اواخر سال 1999 به این گروه اضافه شدند. در نهایت فعالیت اعضای این گروه به تبدیل‌شدن بلوتوث به یک استاندارد باز انجامید تا سازگاری و پذیرش آن در بازار با سرعت بیشتری امکان‌پذیر گردد.

مشخصات و ویژگی‌هایی که توسط گروه SIG تعیین شد، به صورت رایگان در وب سایت رسمی بلوتوث قابل دسترسی است. در حال حاضر فناوری بلوتوث توسط بیش از 2100 شرکت در سراسر دنیا حمایت می‌شود. فناوری شبکه بی‌سیم شخصی (WPAN) نیز که بر پایه بلوتوث است، اکنون به یک استاندارد IEEE تحت‌عنوان 802.51 WAPNs تبدیل شده است. در سال 2003 تخمین زده می‌شد که عرضه تجهیزات همراه با فناوری بلوتوث تا سال 2005 به یک میلیارد واحد برسد.

مجموعه قوانین بلوتوث بیان می‌کند که دستگاه‌های مبتنی بر این استاندارد چطور برای ایجاد ارتباط، خود را گروه‌بندی می‌کنند. یک شبکه شخصی بی‌سیم با فناوری بلوتوث (BT-WPAN) از Piconetها تشکیل شده است. هر Piconet مجموعه‌ای از حداکثر هشت دستگاه بلوتوث است. یک دستگاه به عنوان Master و سایردستگاه‌ها به عنوان Slave تعیین می‌شوند. همان‌طور که دربخش Piconet در ادامه همین مقاله توضیح داده شده است، دوPiconet می‌توانند از طریق یک دستگاه  بلوتوث مشترک (یک Gateway یا Bridge) جهت تشکیل یک Scatternet به یکدیگر متصل شوند. این Piconet های متصل به هم در یک Scatternet، تشکیل یک زیرساخت (Backbone) برای شبکه موبایل (Mobile Area Network) می‌دهند و به این طریق دستگاه‌هایی که نمی‌توانند به طور مستقیم با یکدیگر در ارتباط باشند یا دستگاه‌هایی که خارج از محدوده برد دیگری هستند را قادر می‌سازد داده‌ها را از طریق چندین Hop (جهش) در Scatternet، انتقال دهند.

پیاده‌سازی فعلی بلوتوث اساساً مبتنی بر لینک‌های ساده نقطه به نقطه (Point-to-Point) میان دستگاه‌های بلوتوث در داخل محدوده بُرد یکدیگر است. با این حال، مجموعه قوانین تعریف‌شده بلوتوث نه تنها راه حلی برای یک ارتباط نقطه به نقطه ارائه می‌دهد، بلکه برای توپولوژی‌های شبکه‌ای پیچیده‌تر نیز راه‌حل دارد. بنابراین هدف، شکل دادن Scatternetهای بلوتوث به نحوی است که ارتباطات مؤثر و کارآمد را روی چندین Hop و با صرف زمان و توان مورد قبول فراهم کنند تا راه‌حل‌های End-to-End (ارتباط از هر نقطه به نقطه دیگر) قابل پیاده‌سازی باشند.

شکل 1 - مجموعه پروتکل‌های بلوتوث‌

Protocol Stack در بلوتوث
مجموعه پروتکل در بلوتوث، از نظر منطقی به سه گروه تقسیم می‌شود: گروه پروتکل Transport، گروه پروتکلMiddleware و گروه Application (شکل 1). 

گروه پروتکل Transport به دستگاه‌های  بلوتوث اجازه می دهد مکان یکدیگر را پیدا کنند و لینک‌های فیزیکی و منطقی (غیرفیزیکی) با پروتکل‌ها و Applicationهای لایه های بالاتر را مدیریت کنند. توجه داشته باشید که کاربرد کلمه Transport در گروه پروتکل Transport به معنی همپوشانی آن با لایه Transport در مدل OSI (سرنام Open Systems Interconnection) نیست، بلکه این پروتکل با لایه  فیزیکی و لایه Data-Link در مدل OSI تطابق دارند.

لایه‌های Radio Baseband ،Link Manager ،Logical Link Control و لایه‌های ‌(Adaptation L2CAP) و Host Controller Interface) HCI) در گروه پروتکل Transport جای دارند. این پروتکل‌ها از هر دو روش انتقال سنکرون و غیرسنکرون پشتیبانی می‌کنند. تمام پروتکل‌های این گروه باید از ارتباطات بین دستگاه‌های بلوتوث پشتیبانی نمایند.

گروه پروتکل میان‌افزار هم شامل پروتکل‌های استاندارد صنعتی و Third-Party و هم پروتکل‌های تدوین‌‌شده SIGاست. این پروتکل‌ها به applicationهای جدید و قدیمی اجازه می‌دهند روی لینک‌های بلوتوث عمل کنند. پروتکل‌های استاندارد صنعتی شامل پروتکل نقطه به نقطه ‌(PPP ،IP ،TCP ،WAP) و پروتکل‌های (object exchange OBEX)، که از 1IrDA (سرنام Infrared Data Association) اقتباس شده‌اند، می‌باشند.

پروتکل های بلوتوث که توسط SIG توسعه داده شده‌اند، شامل موارد زیر است:

1- یک شبیه‌ساز پورت سریال (2RFCOMM6) که applicationهای از قبل آماده شدهِ شرکت‌ها را قادر می‌سازد به طور یکپارچه روی پروتکل‌های انتقال بلوتوث کار کنند.

2- یک پروتکل سیگنالینگ کنترل تلفنی 3(TCS) به صورت Packet-Based، برای مدیریت عملیات تلفنی

شکل 2- تعامل با پروتکل‌ها و Applicationهای موجود

3- یک پروتکل یابنده‌سرویس 4(SDP) که به دستگاه‌ها اجازه می‌دهد درباره سرویس‌های در دسترس یکدیگر اطلاعاتی به‌دست آورند. همان‌طور که در شکل 2 مشخص است، استفاده مجدد از پروتکل‌های موجود و اینترفیس یکپارچه با Applicationهای موجود، بالاترین اولویت در تهیه مجموعه قوانین بلوتوث بوده است.

گروه پروتکل‌های Application شامل Applicationهای قدیمی است که از لینک‌های بلوتوث استفاده می‌کنند. این‌ها می‌توانند هم شامل اپلیکیشن‌تولید شده از قبل توسط شرکت‌ها و هم شامل آن‌هایی که قابلیت بلوتوث دارند، باشند. در ادامه، مختصراً درباره لایه‌های موجود در گروه Transport بحث می‌شود.

Radio Layer: مجموعه قوانین و ویژگی‌های این لایه در وهله اول مربوط به طراحی Bluetooth Transceiverها (فرستنده-گیرنده) می‌باشد.

Baseband layer: این لایه مشخص می‌کند که چطور دستگاه‌های بلوتوث سایر دستگاه‌ها را جست‌وجو می‌کنند و به آن‌ها وصل می‌شوند. حالت‌های Master و Slave که یک دستگاه ممکن است به خود بگیرد و همین طور ترتیب جهش‌های فرکانسی‌ (frequency-hopping sequence) مورد استفاده توسط دستگاه‌ها در این لایه تعریف شده‌اند. دستگاه‌ها از روش Packet-Based Polling به صورت 5TDD جهت در اختیار گرفتن اینترفیس هوا استفاده می‌کنند.

هر یک از دستگاه‌های Master یا Slave فقط در اسلات زمانی ‌(Time Slot) خود که قبلاً به آن‌ها اختصاص داده شده است اقدام به ارسال یا دریافت اطلاعات می‌کنند. همچنین در این لایه، انواع بسته‌های داده ‌(packet)، روال‌های پردازش بسته‌ها و استراتژی کشف و اصلاح خطا، کدگذاری، انتقال بسته‌های داده و انتقال مجدد بسته‌ها
‌(Retransmission) تعریف شده‌اند.

لایه Baseband، دو نوع لینک را پشتیبانی می‌کند: 6SCO و 7ACL انتقال متناوب بسته‌های داده به صورت
Single-Slot از ویژگی‌های لینک‌های SCO به شمار می‌رود. این نوع لینک اساساً برای انتقال صدا استفاده می‌شود که نیازمند انتقال داده سریع و منسجم است. دستگاهی که یک لینک SCO را ایجاد می‌کند، اسلات‌های زمانی مشخصی را برای استفاده خود رزرو می‌کند. بسته‌های داده چنین دستگاهی به عنوان بسته‌های با اولویت بالا تلقی می‌شوند و قبل از هر بسته ACL سرویس‌دهی می‌شوند. یک دستگاه با لینک ACL می‌تواند بسته‌های با اندازه‌های متفاوت و با اسلات‌های  زمانی  به طول 1، 3 و 5 ارسال کند، ولی برخلاف لینک SCO، هیچ اسلات زمانی رزرو شده برای آن ندارد.

Link Manager: این لایه، پروتکل مدیریت لینک 8(LMP) را پیاده‌سازی می‌کند. مسئولیت این پروتکل، مدیریت خواص لینک ارتباطی (اینترفیس هوا) بین دستگاه‌ها است. پروتکل LMP عملیاتی همچون اختصاص پهنای‌ باند برای عموم داده‌ها، رزرو پهنای‌ باند برای ترافیک صوتی، تشخیص هویت (authentication) به روش Challenge-response، ایجاد ارتباط مطمئن میان دستگاه‌ها ‌(Trust Relationships)، رمزگذاری داده‌ها و کنترل مصرف توان دستگاه‌ها را مدیریت می کند.

‌‌‌9L2CAP Layer: این لایه اینترفیسی بین پروتکل‌های لایه‌های بالاتر و پروتکل‌های انتقال در لایه‌های پایین‌تر فراهم می‌کند. L2CAP استفاده از یکی از پروتکل‌های متعدد لایه بالا (مانند RFComm و SDP) در هر زمان را پشتیبانی می‌کند. (Multiplexing) این ویژگی، امکان به اشتراک‌گذاری اینترفیس هوا توسط چندین پروتکل و Application را فراهم می‌کند. L2CAP مسئول قطعه‌قطعه‌کردن بسته‌ها (Segmentation)، اتصال مجدد آن‌ها ‌(Reassembly) و حفظ سطح سرویس توافقی بین دستگاه‌ها نیز هست.

10HCI Layer: این لایه یک اینترفیس استاندارد برای Applicationهای لایه بالاتر جهت دسترسی به لایه‌های پایین‌تر پشته پروتکل ‌(Protocol Stack) تعریف می‌کند. وجود این لایه در مجموعه قوانین الزامی نیست. هدف از آن، کمک به تعامل میان دستگاه‌ها ‌و استفاده از Applicationها و پروتکل‌های موجود در لایه‌های بالاتر است.

ارتباط و انتقال داده
دستگاه Transceiver (گیرنده-فرستنده) در بلوتوث یک دستگاه مبتنی‌ بر جهش فرکانسی ‌(Frequency Hopping) به صورت Spread Spectrum است ‌(FHSS) که از باند فرکانسی 11ISM با فرکانسی میانی 2.4GHz استفاده می کند که در سراسر دنیا بدون نیاز به اخذ مجوز  قابل استفاده است. در بیشتر کشورها، 79 کانال در دسترس است. با این حال، بعضی از کشورها فقط اجازه استفاده از 23 کانال آن را می‌دهند.
 
قوانین و ضوابط 12FCC، حداکثر توان خروجی مجاز را به یک وات محدود و ملزم می‌سازد که حداقل 75 کانال از 79 کانال در حالت شبه‌تصادفی یا Pseudo Random مورد استفاده قرار بگیرند. یک دستگاه نمی‌تواند  روی یک کانال مشخص بیش از چهار دهم ثانیه در هر دوره 30 ثانیه‌ای کار کند. این محدودیت‌ها برای کم کردن مقدار تداخلات در باند ISM اعمال شده‌اند که توسط دستگاه‌های 802.11b/g، دستگاه‌های Home RF، تلفن‌های موبایل و اجاق‌های مایکروویو نیز استفاده می‌شود.

بلوتوث از روش انتقال بسته‌های داده بر اساس Polling-Based Packet Transmission استفاده می‌کند. تمام تبادل اطلاعات بین دستگاه‌ها تنها بین یک دستگاه Master و یک دستگاه Slave و بر اساس روش TDD انجام می‌گیرد. هیچ ارتباط مستقیمی بین دو دستگاه Slave وجود ندارد.

دستگاه Master از هر دستگاه Slave که در حالت Active باشد، پرس و جو می‌کند تا مطمئن شود که آیا داده‌ای برای ارسال دارد یا خیر. دستگاه Slave تنها زمانی که Poll روی آن انجام گرفت، می‌تواند داده خود را ارسال کند. همچنین دستگاه Slave باید داده خود را در اسلات زمانی ‌(Time Slot) بلافاصله بعد از اسلات زمانی که در آنPolling صورت گرفته است، ارسال کند.

دستگاه Master فقط در اسلات‌های زمانی زوج بسته‌های داده را ارسال می‌کند. در حالی که Slave فقط در اسلات‌های زمانی فرد اطلاعات مورد نظر را ارسال می‌کند. در هر اسلات زمانی، یک کانال فرکانسی متفاوت f استفاده می‌شود (یک Hop در ترتیب جهشی).

Piconet
مشخصات بلوتوث، یک Piconet را به صورت یک مجموعه موقتی و خود به خود شکل گرفته از دستگاه‌های بلوتوث تعریف می‌کند. در یک Piconet یک دستگاه  نقش Master را دارد و سایر دستگاه‌ها Slave خواهند بود. در حالی که محدودیتی روی مجموع تعداد slave‌های یک piconet وجود ندارد، ولی حداکثر هفت Slave در هر زمان می‌توانند در حالت Active باشند. اگر بیش از هفت Slave وجود داشته باشد، سایر آن‌ها باید در حالت Parked باشند (این حالت‌ها در ادامه توضیح داده شده‌اند). حداکثر تعداد Slaveها در حالت Parked ،255 عدد در هر Piconet است، اگر از آدرس‌دهی مستقیم از طریق <آدرس Slave درحالت Parked> که توسط SIG تعریف شده، استفاده کنند.

حال آن که آدرس‌دهی غیر‌مستقیم Slaveهای در حالت parked از طریق آدرس مخصوص دستگاه بلوتوث نیز مجاز است که در این صورت می‌توان هر تعداد Slave در حالت Parked در شبکه داشت. برای دوباره فعال کردن یک Slave  که در حالت Parked است، دستگاه Master باید ابتدا وضعیت یک Slave که در حالت Active است را به Parked تغییر دهد.

هنگامی که دو دستگاه بلوتوث وارد محدوده ارتباطی می‌شوند، به برقراری ارتباط با یکدیگر اقدام می‌کنند. اگر هیچPiconet در آن زمان موجود نباشد، روال ایجاد یک Piconet آغاز می‌شود. یک دستگاه (معمولاً همانی که اقدام به آغاز ارتباط کرده بود)، Master می‌شود و دستگاه دیگر نقش Slave را به‌عهده می‌گیرد.

 هر دستگاه بلوتوث در داخل یک Piconet می‌تواند یکی از نقش‌های Master ،Slave یا Bridge را به عهده گیرد. این نقش‌ها موقتی هستند و تنها تا زمانی که خود Piconet وجود دارد، موجود هستند. این دستگاه Master است که فرکانس، ترتیب جهش فرکانسی، زمانبندی (برای وقوع جهش‌ها) و ترتیب فراخوانی (Slave Polling‌ها) را تعیین می‌کند. همچنین دستگاه Master مسئول صدور دستورالعمل جهت تعویض وضعیت Slaveها به حالت‌های مختلف در طول دوره عدم فعالیت است.

جهت ملحق شدن Slave به Piconet، دستگاه Master و Slave باید اطلاعات مربوط به آدرس و ساعت را با هم رد و بدل کنند. هر یک از دستگاه‌های بلوتوث یک Global ID منحصر به فرد دارند که برای ایجاد الگوی Hopping (جهش) استفاده می‌شود. رادیوی Master، اطلاعات Global ID و Offset ساعت خود را با هر Slave در Piconet خود به اشتراک می‌گذارد تا Offset مورد استفاده در الگوی Hopping را فراهم کند.

یک Slave باید قادر باشد ترتیب جهش فرکانسی موجود در Piconet که به آن ملحق شده است را دوباره ایجاد کند. همچنین باید بداند در هر زمان از چه فرکانسی استفاده کند و باید خودش را با ساعت Master هماهنگ
(synchronize) کند.

دستگاه slave در واقع ساعت خود را تنظیم نمی‌کند، بلکه ساعت Master را دنبال می‌کند و برنامه ارسال خود را طبق آن تنظیم می‌نماید.

 یک دستگاه Bridge یا (Gateway) در بلوتوث، دو یا چند Piconet را برای ارتباطات Multi-Hop (چندجهشی) به هم متصل می‌کند. Bridge با تمام Piconet هایی که به آن‌ها متصل است، ارتباط برقرار می‌کند. به این ترتیب که هر زمان که آماده برقراری ارتباط است، خود را با ساعت هر یک از Piconetها هماهنگ می‌کند.

با این حال، تنها با یک Piconet در هر زمان می‌تواند در ارتباط باشد. از آن جایی که Bridge برای ارتباط با هر Piconet متصل به آن، از یک زمانبندی ساعت ‌(Clocking) به زمانبندی دیگر تغییر وضعیت می‌دهد، یک بار اضافی را تحمیل می‌کند که می‌تواند آن را به گلوگاه‌ تبدیل‌ کند. یک دستگاه Bridge می‌تواند در تمام Piconetهایی که به آن‌ها متصل است، Slave باشد یا در یک Piconet به عنوان Master و در سایر آن‌ها Slave باشد. اتصال دو یا چند Piconet از طریق دستگاه‌های Bridge منجر به ساختاری در بلوتوث به نام Scatternet می‌شود.
 
همان‌طور که شکل3 نشان می‌دهد، یک دستگاه  بلوتوث می‌تواند در یکی از حالت‌های زیر باشد: Standby ،Inquiry ،Page ،Connected ،Transmit ،Hold ،Park یا Sniff. یک دستگاه هنگامی در حالت Standby قرار می‌گیرد که روشن است، ولی هنوز به piconet ملحق نشده است. هنگامی که چنین دستگاهی درخواست‌های خود را برای یافتن سایر دستگاه‌هایی می‌فرستد که ممکن است به آن‌‌ها متصل شوند، وارد حالت Inquiry می‌شود.

شکل 3- حالت‌های مختلف یک دستگاه در بلوتوث


هنگامی که Master موجود در یک Piconet قصد دارد پیام‌هایی را جهت یافتن دستگاه‌های دیگر بفرستد و آن‌ها را برای ملحق شدن به Piconet دعوت کند، در حالت Page قرار می‌گیرد. وقتی ارتباط موفق بین Master و دستگاه جدید برقرار می‌شود، دستگاه جدید به وضعیت Slave در می‌آید و وارد حالت Connected می‌شود و یک آدرس فعال ‌
(Active) دریافت می‌کند. تا هنگامی که Slave در وضعیت Connected است، می‌تواند در زمان‌هایی که Master آن را بازخوانی ‌(Poll) می‌کند، داده خود را ارسال کند. یک Slave در طول زمان ارسال داده خود، درحالت Transmit است و در پایان ارسال، به حالت Connected بر می‌گردد.

حالت Sniff وضعیتی است که دستگاه مصرف توان پایین‌تری دارد و در واقع Slave در مدت اسلات‌های زمانی از پیش تعریف‌شده، می‌خوابد (Sleep) و در اسلات زمانی مقرر، جهت انتقال داده بیدار می‌شود. سپس به حالت غیرفعال خود بر‌می‌گردد تا زمان Sniff تعیین شده بعدی برای آن فرا رسد. حالت Hold، وضعیت دیگری با مصرف توان پایین است که دستگاه Slave برای مقدار زمان از قبل مشخص‌شده فعال ‌(Active) نیست. هیچ انتقال داده‌ای در حالتHold اتفاق نمی‌افتد. هنگامی که دستگاه Slave، هیچ داده‌ای برای دریافت یا ارسال ندارد، Master می‌تواند فرمان دهد که Slave به حالت Parked برود. هنگامی که Slave به حالت Parked برود، آدرس Active خود را در Piconet رها می‌کند. سپس آدرس به Slave دیگری که Master قصد تغییر وضعیت آن از حالت Parked و دوباره فعال کردن آن را دارد، داده می‌شود.

نتیجه گیری‌
فناوری بی سیم بلوتوث چندین نکته کلیدی دارد که منجر به سهولت پذیرش گسترده آن می‌شود و در ادامه به برخی از آن‌ها اشاره می‌کنیم:

1- مجموعه قوانین آن باز است و توسط همگان قابل دسترس و رایگان است.

2- ویژگی بی‌سیم با بُرد کوتاه آن، دستگاه‌های جانبی را قادر می‌سازد روی یک اینترفیس (هوا) تبادل اطلاعات کنند و بنابراین جایگزینی است برای کابل‌ها که شامل کانکتورهایی با انواع شکل و اندازه و تعداد Pinها می‌باشند.

3- بلوتوث هم از صدا و هم از دیتا پشتیبانی می‌کند و این ویژگی آن را به عنوان فناوری ایده‌آلی درآورده است که انواع دستگاه‌ها را قادر می‌سازد با یکدیگر ارتباط برقرار کنند.

4- بلوتوث از باند فرکانسی‌ای استفاده می‌کند که در تمام دنیا در دسترس است.

پی‌نوشت‌
1- انجمنی که خصوصیات فیزیکی و استانداردهای پروتکل ارتباطی برای تبادل اطلاعات با استفاده از امواج مادون قرمز و در مسافت‌های کوتاه را تعریف می کند.

2- RFC سرنام Radio Frequency Communication 
3- Telephony Control Signaling
4- Service Discovery Protocol
5- Time Division Duplexing
6- Synchronous Connection-Oriented 
7- Asynchronous Connection-Less
8- Link Manager Protocol
9- Logical Link Control and Adaptation Protocol
10- Host Controller Interface
11- Industrial Scientific Medical
12- Federal Communications Commission