2 Cấu trúc của luận văn
3.3 Mô hình kiến trúc và giao thức của Bluetooth
3.3.5.1 Cấu trúc frame của Bluetooth
Có một vài khuôn dạng khác nhau đối với frame của Bluetooth. Khuôn dạng quan trọng nhất được cho trong hình vẽ dưới đây.
Mã truy cập (Access Code): Định danh master, do đó các slave ở trong phạm vi hoạt động của nhau có thể biết được gói tin nào là dành cho nó.
Tiêu đề (Header): Trường tiêu đề dài 54bit, chứa các trường của tầng con MAC điển hình.
o Trường địa chỉ (AM_ADDR): có độ dài 3bit, chứa địa chỉ đích của frame (trong 8 thiết bị đang ở trạng thái hoạt động của piconet);
o Trường kiểu (type): xác định kiểu của frame (ACL, SCO, poll hay null), kiểu của thuật toán sửa lỗi được dùng trong phần tải tin và xác định độ dài của frame (frame chiếm bao nhiêu khe thời gian);
o Bit Flow (chỉ thị luồng): Slave sẽ đặt bit này bằng 1 khi bộ đệm của nó bị đầy và không thể nhận thêm được dữ liệu. Đây là một dạng điều khiển lưu lượng;
o Bit ARQN (chỉ thị biên nhận): được sử dụng để thông báo cho bên gửi biết phần tải tin có được truyền thành công hay không;
o Bit SEQN (chỉ thị thứ tự): được sử dụng để đánh số thứ tự các frame để phát hiện việc truyền lại hoặc sắp thứ tự các frame tại bên nhận. Giao thức được sử dụng ở đây là theo kiểu “dừng và chờ đợi” (stop-and- wait), do đó chỉ cần 1bit là đủ;
o HEC (header-error-check): có độ dài 8bit, được dùng để kiểm tra tính toàn vẹn của tiêu đề.
Toàn bộ các trường trong tiêu đề dài 18bit, được lặp lại 3 lần để tạo thành phần tiêu đề dài 54bit. Ở phía nhận, một mạch đơn giản sẽ kiểm tra tất cả ba “đoạn tiêu đề” này. Nếu chúng giống hệt nhau, các bit được chấp nhận. Nếu không, sẽ lựa chọn đoạn bit chiếm đa số. Như vậy cần phải truyền đi 54bit chỉ để dùng 10bit trong trường tiêu đề. Lý do là để gửi dữ liệu tin cậy trong một môi trường có khả năng nhiễu cao, sử dụng các thiết bị có giá rẻ, tiêu thụ năng lượng thấp (2.5mW), khả năng tính toán rất hạn chế, dư thừa nhiều là cần thiết.
Tải tin: dài tối đa 2744bit (5 khe thời gian). Đối với frame chỉ được truyền trong một khe thời gian, khuôn dạng là tương tự ngoại trừ việc phần tải tin dài 240bit.
Có nhiều khuôn dạng cho phần tải tin của frame ACL. Frame SCO đơn giản hơn: luôn có 240bit trong phần tải tin. Người ta cũng định nghĩa 3 biến thể khác nhau đối với frame SCO: phần tải tin thực có độ dài 80, 160 hoặc 240bit, phần còn lại là dành cho sửa lỗi. Trong phiên bản tin cậy nhất, dữ liệu thực có độ dài 80bit, đoạn dữ liệu này cũng được lặp lại 3 lần với cùng lý do như trong phần tiêu đề.
Vì slave chỉ được sử dụng truyền tin trong các khe thời gian mang số hiệu lẻ, nó có 800slots/sec (khe/giây), giống như master. Với độ dài phần tải tin l à 80bit, dung lượng kênh truyền từ slave là 64000bps và dung lượng kênh truyền từ master cũng là 64000bps, vừa vặn đủ cho một kênh truyền tiếng nói PCM song công (đó là lý do tại
người ta đã chọn tốc độ chặng là 1600hops/sec). Những con số này có nghĩa rằn g sử dụng một kênh truyền tiếng nói song công với tốc độ 64000bps theo mỗi hướng cho khuôn dạng frame tin cậy nhất là hoàn toàn đủ đối với một piconet mặc dầu dải thông thực tế là 1Mbps. Đối với khuôn dạng frame ít tin cậy nhất (240bit dữ liệu thực), có thể hỗ trợ cùng một lúc 3 kênh truyền tiếng nói song công. Đó là lý do tại sao mỗi slave được phép có tối đa 3 liên kết SCO.