“Bluetooth low energy” là một phần của Bluetooth 4.0 với một giao thức hoàn toàn mới để những kết nối đơn giản được thực hiện nhanh chóng. Nó là một sự chuyển đổi những giao thức tiêu chuẩn của Bluetooth 1.0 vào 4.0 nhằm phục vụ cho những ứng dụng năng lượng cực thấp. Điều này cho phép giảm đáng kể điện năng tiêu thụ, qua đó kéo dài thời lượng pin các thiết bị di động, một vấn đề đang rất được quan tâm hiện nay.
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA-ĐHQG TPHCM KHOA ĐIỆN – ĐIỆN TỬ NGÀNH ĐIỆN TỬ - VIỄN THÔNG ĐỀ TÀI: BLUETOOTH LOW ENERGY TPHCM 22-12-2014 MỤC LỤC PHẦN 1: GIỚI THIỆU TỔNG QUAN VỀ BLUETOOTH – Giới thiệu khái niệm bluetooth…………………………… trang - Một số thuật ngữ dùng bluetooth……………………… trang 3 - Các ứng dụng bật Bluetooth:………………………….trang 4 – Sơ lược “thế hệ” Bluetooth…………………………….trang PHẦN 2: BLUETOOTH LOW ENERGY (BLE) – Giới thiệu BLE……………………………………………… trang – Thông số kỹ thuật BLE………………………………… trang - Ứng dụng BLE…………………………………………… trang PHẦN 3: CHI TIẾT VỀ CC2540 VÀ HM-10 – Giới thiệu chip CC2540…………………………………… ….trang 11 – Giới thiệu module HM-10 chip……………………… trang 12 – Sơ đồ cấu hình chân HM-10………………………… trang 13 – Chức chân HM-10………………………… …trang 14 – Kích thước HM-10…………………………………………… trang 15 – Sơ đồ mạch HM-10…………………………………………… trang 16 – Cấu trúc tập lệnh HM-10………………………………… trang 17 – Thiết kế PCB cho HM-10… ………………………………… trang 21 PHẦN 4: MÔ PHỎNG KẾT NỐI VÀ TRUYỀN DỮ LIỆU GIỮA HAI MODULE HM-10 – Khối vi điều khiển …… …………………………………… ….trang 25 – Khối truyền nhận liệu không dây ……………………… trang 30 – Khối hiển thị …………………………………………………… trang 31 – Lưu đồ giải thuật chương trình ………………………… …trang 33 PHẦN 5: TÀI LIỆU THAM KHẢO VÀ CODE LẬP TRÌNH – Tài liệu tham khảo…………………………………………… trang 36 – Code chương trình phần phát ……………………………… trang 37 – Code chương trình phần thu ………………………………… trang 44 PHẦN 1:GIỚI THIỆU TỔNG QUAN VỀ BLUETOOTH ) Giới thiệu khái niệm bluetooth Bluetooth công nghệ dựa tần số vô tuyến sử dụng để tạo kết nối giao tiếp hai loại thiết bị khác cự li định Có nhiều thiết bị sử dụng công nghệ bluetooth như: điện thoại di động, máy tính thiết bị hổ trợ cá nhân (PDA) Bluetooth thiết kế để thay dây cable máy tính thiết bị truyền thông cá nhân, kết nối vô tuyến thiết bị điện tử với Bluetooth kích hoạt tự định vị thiết bị khác có chung công nghệ vùng xung quanh bắt đầu kết nối với chúng Bluetooth đạt tốc độ truyền liệu 1Mb/s Bluetooth hỗ trợ tốc độ truyền tải liệu lên tới 720 Kbps phạm vi 10 m–100 m Sử dụng dải tần 2.4 – 2.48GHz Một số đặc điểm trội bluetooth: - Tương thích cao - Tiêu thụ lượng thấp - Dễ dàng phát triển ứng dụng - An toàn bảo mật ) Một số thuật ngữ dùng bluetooth - Piconet tập hơp thiết bị kết nối thông qua kỹ thuật bluetooth theo mô hình Ad-hoc (xây dựng mạng kết nối (chủ yếu vô tuyến) thiết bị đầu cuối mà không cần phải dùng trạm thu phát gốc (BS).) - Scatternet hay nhiều Piconet độc lập không đồng kết hợp lại truyền thông với - Master unit: master thiết lập đếm xung, định số kênh truyền thông kiểu bước nhảy để đồng tất thiết bị piconet quản lý - Slaver unit thiết bị lại piconet mà master Có trạng thái thiết bi bluetooth piconet - Inquiring device: phát tín hiệu tìm thiết bị - Inquiring scanning device: nhận tín hiệu inquiring trả lời - Paging device: phát tín hiệu yêu cầu kết nối - Page scanning device: nhận yêu cầu kết nối Chế độ kết nối - Active mode: thiết bị bluetooth tham gia vào hoạt động mạng - Sniff mode: chế độ tiết kiệm lượng thiết bị trạng thái active, thiết bi slave nhận tín hiệu từ mạng với tần số giảm hay nói cách khác giảm công suất - Hold mode: chế độ tiết kiệm lượng thiết bị trạng thái active, chế độ tiết kiệm lượng trung bình - Park mode: chế độ tiết kiệm lượng thiết bị mạng không tham gia vào trình trao đổi liệu (inactive), chế độ tiết kiệm lượng 3)Các ứng dụng bật Bluetooth: - Điều khiển giao tiếp không giây điện thoại di động tai nghe không dây - Mạng không dây máy tính cá nhân không gian hẹp đòi hỏi băng thông - Giao tiếp không dây với thiết bị vào máy tính, chẳng hạn nhưchuột, bàn phím máy in - Truyền liệu thiết bị dùng giao thức OBEX (dùng trao đổi liệu vật lý tập tin, hình ảnh dạng nhị phân) - Thay giao tiếp nối tiếp dùng dây truyền thống thiết bị đo, thiết bị định vị dùng GPS, thiết bị y tế, máy quét mã vạch, thiết bị điều khiển giao thông - Thay điều khiển dùng tia hồng ngoại - Gửi mẩu quảng cáo nhỏ từ pa-nô quảng cáo tới thiết bị dùng Bluetooth khác - Điều khiển từ xa cho thiết bị trò chơi điện tử Wii - Máy chơi trò chơi điện tử hệ Nintendo[1] vàPlayStation Sony - Kết nối Internet cho PC PDA cách dùng điện thoại di động thay modem ) Sơ lược “thế hệ” Bluetooth Theo Wikipedia, thuật ngữ “Bluetooth” (có nghĩa “răng xanh”) đặt theo tên vị vua Đan Mạch, vua Harald Bluetooth, người Viking tiếng khả giúp người giao tiếp, thương lượng với Bluetooth phát triển Ericsson (hiện Sony Ericsson Ericsson Mobile Platforms), sau chuẩn hoá Bluetooth Special Interest Group (SIG) Chuẩn phát hành vào ngày 20 tháng năm 1999 Ngày công nhận 1800 công ty toàn giới Được thành lập Sony Ericsson, IBM, Intel, Toshiba Nokia, sau có tham gia nhiều công ty khác với tư cách cộng tác hay hỗ trợ Bluetooth có chuẩn IEEE 802.15.1 Bluetooth 1.0 Tháng 7/1999, phiên Bluetooth 1.0 đưa thị trường với tốc độ kết nối ban đầu 1Mbps Tuy nhiên, thực tế tốc độ kết nối hệ chưa đạt mức 700Kbps Phiên nhiều lỗi nhà sản xuất khó khăn tích hợp với sản phẩm công nghệ Bluetooth 1.1 Năm 2001, phiên Bluetooth 1.1 đời, đánh dấu bước phát triển công nghệ Bluetooth nhiều lĩnh vực khác với quan tâm nhiều nhà sản xuất Cũng năm này, Bluetooth đươc bình chọn công nghệ vô tuyến tốt năm Bluetooth 1.2 Ra mắt vào tháng 11/2003, Bluetooth 1.2 bắt đầu có nhiều tiến đáng kể Chuẩn hoạt động dựa băng tần 2.4 Ghz tăng cường kết nối thoại Motorola RARZ hệ di động tích hợp Bluetooth 1.2 Bluetooth 2.0 + ERD Một năm sau, vào tháng 11/2004, công nghệ Bluetooth 2.0 + ERD bắt đầu nâng cao tốc độ giảm thiểu nửa lượng tiêu thụ so với trước Tốc độ chuẩn Bluetooth lên đến 2.1 Mbps với chế độ cải thiện kết nối truyền tải – ERD (enhanced data rate), song ERD chế độ tùy chọn, phụ thuộc vào hãng sản xuất có đưa vào thiết bị hay không Năng lượng sử dụng kết nối Bluetooth tiêu hao nửa so với trước Các thiết bị tiêu biểu ứng dụng Bluetooth 2.0 + ERD là: Apple iPhone, HTC Touch Pro T-Mobile’s Android G1 Bluetooth 2.1 + ERD Đây hệ nâng cấp Bluetooth 2.0 Bluetooth 2.1 có hiệu cao tiết kiệm lượng Chuẩn chủ yếu sử dụng trong điện thoại, máy tính thiết bị di động khác Tuy nhiên, Bluetooth 2.1 không cho phép truyền file lớn với tốc độ cao Do đó, người dùng muốn chuyển file dung lượng lớn đến 1-2GB từ máy tính sang điện thoại kết nối hai thiết bị dây cắm USB thẻ nhớ Bluetooth 3.0 + HS: Tháng 4/2009, Bluetooth 3.0 - hệ "siêu tốc" thức mắt Bluetooth 3.0 có tốc độ truyền liệu đạt mức 24Mbps – sóng Bluetooth – High Speed, tương đương chuẩn Wi-Fi hệ Chuẩn giúp thiết bị tương tác tốt hơn, tăng cường lực kết nối cá nhân với tiết kiệm pin nhờ chức điều khiển lượng nâng cao Đặc biệt, dò tự động thiết bị gần kề chuyển trực tiếp sang mạng Wi-Fi thiết bị có kết nối Wi-Fi Tuy nhiên, phạm vi hiệu vòng 10m Bluetooth 4.0: Đây phiên Bluetooth vừa tổ chức SIG thông qua Bluetooth 4.0 có nhiều đặc điểm chung với chuẩn 3.0, khả truyền liệu tốc độ cao lên tới 25 Mb/giây, Bluetooth 4.0 bổ sung thêm khả truyền liệu dung lượng nhỏ phạm vi ngắn (8-27 byte tốc độ 1Mbps) với mức tiêu thụ điện thấp giúp tiết kiệm lượng so với chuẩn cũ Bluetooth 4.0 nhiều khả dành cho ứng dụng lĩnh vực y tế, chăm sóc sức khỏe an ninh, chẳng hạn đồng hồ đeo tay theo dõi sức khỏe, trang bị cho cảm biến nhiệt độ, nhịp tim, thể thao, thiết bị sử dụng gia Tổ chức Continua Health Alliance đồng ý chọn lựa Bluetooth 4.0 làm công nghệ truyền liệu cho thiết bị y tế di động tương lai Dự kiến thiết bị sử dụng chuẩn bluetooth 4.0 mắt quý IV năm Tuy nhiên, có nghiên cứu cho rằng, lạm dụng thiết bị Bluetooth gây ảnh hưởng không tốt tới sức khoẻ sóng radio gây PHẦN :BLUETOOTH LOW ENERGY (BLE) ) Giới thiệu BLE Trước đây, lý khiến người ta ngại bật bluetooth đốt pin nhiều, lại gây nóng máy hoạt động liên tục Tuy nhiên, Bluetooth 4.0 khắc phục nhược điểm Một cải thiện vượt trội BLE gần máy không bị tiêu hao pin dù bạn có bật thường trực Ngày 30/6/2010 Bluetooth SIG đưa Bluetooth phiên 4.0 kết hợp giao thức nhỏ “classic Bluetooth” (Bluetooth 2.1 3.0), “Bluetooth high speed” (Bluetooth 3.0 +HS) “Bluetooth low energy – Bluetooth lượng thấp” (Bluetooth Smart Ready/Bluetooth Smart) “Bluetooth low energy” phần Bluetooth 4.0 với giao thức hoàn toàn để kết nối đơn giản thực nhanh chóng Nó chuyển đổi giao thức tiêu chuẩn Bluetooth 1.0 vào 4.0 nhằm phục vụ cho ứng dụng lượng cực thấp Điều cho phép giảm đáng kể điện tiêu thụ, qua kéo dài thời lượng pin thiết bị di động, vấn đề quan tâm 2) Thông số kỹ thuật BLE -Truyền liệu - công nghệ Bluetooth lượng thấp cung cấp gói liệu ngắn (8 byte tối thiểu lên đến 27 byte tối đa) với tốc độ Mbit/s Tất kết nối tiên tiến sử dụng đánh giá sniff-sub để đạt chu kỳ nhiệm vụ thấp -Công nghệ bluetooth 4.0 sử dụng dãy tần 2,4 GHz công nghệ bluetooth cũ, Thừa hưởng ưu tốc độ truyền liệu khoảng cách giao tiếp hai thiết bị lên tới 90m, tốc độ bit Mbit/s công suất phát tối đa 10 mW -Công nghệ Bluetooth lượng thấp sử dụng CRC 24 bit mạnh mẽ tất gói đảm bảo chống nhiễu tối đa -Bảo mật an ninh - mã hóa AES-128 Full sử dụng CCM để cung cấp mã hóa xác thực gói liệu -Cấu trúc liên kết - công nghệ Bluetooth lượng thấp sử dụng địa truy cập 32 bit gói cho thiết bị, cho phép hàng tỷ thiết bị kết nối Công nghệ tối ưu hóa cho một-một kết nối cho phép một-nhiều kết nối sử dụng cấu trúc liên kết hình Với việc sử dụng kết nối nhanh chóng ngắt kết nối, liệu di chuyển vùng mạng lưới cách đơn giản dễ dàng Về vấn đề tương tác -Bluetooth smart hoạt động chế độ đơn tần ( single radio) hướng đến khả phát tín hiệu cho thiết bị lĩnh vực y tế ( đo nhịp tim…) thông qua cảm biến tích hợp, thông tin thu được gửi qua thiết bị có Bluetooth Smart Ready Các thiết bị Bluetooth smart tốc độ cao 3.0 bù lại chúng tiêu thụ lượng thấp, pin chúng chí hoạt đông vài năm -Trong đó, phiên Bluetooth smart ready hoạt động hai dãy tín hiệu (dual radio) lại hội đủ điều kiện hoàn toàn tương thích ngược với 3.0.Thiết bị Bluetooth Smatr Ready vừa kết nối với thiết bị Bluetooth thông thường vừa có khả nhận liệu truyền tải từ thiết bị Bluetooth smart.Các thiết bị chuẩn Bluetooth smart ready gồm điện thoại, máy tính bảng, tivi PC triển khai iphone 4s, Mac Mini, Macbook Air -Mỗi chuẩn thiết bị khác có tương thích khác Với thiết bị gắn nhãn Bluetooth Smart Ready dùng cho thiết bị thuộc nhãn Bluetooth Smart Ready,Bluetooth smart Bluetooth.Trong Bluetooth tương thích với Bluetooth, Bluetooth Smart ready nhãn Bluetooth Smart tương thích với Bluetooth Smart Ready mà -Để hiểu rõ khả tương thích thiết bị Bluetooth 4.0, tham khảo thêm bảng đây: ) Ứng dụng BLE Nhờ cải tiến tuyệt vời đó, Bluetooth 4.0 sử dụng cách rộng rãi nhiều thiết bị công nghệ khác nhau, từ smartphone vòng đeo tay theo dõi sức khỏe Và tương lai, Bluetooth LE hứa hẹn chìa khóa để mở cánh cửa đón vào "ngôi nhà thông minh" Internet Of Things Ngoài Bluetooth 4.0 tương thích với công nghệ giao tiếp phạm vi gần (NFC – Near Field Communication) phục vụ nhu cầu toán điện tử tương lai Đặc điểm chung sản phẩm sử dụng BLE khả kết nối liên tục trực tiếp với Smartphone mà không tiêu tốn nhiều lượng thiết bị lẫn điện thoại Khắc phục vấn đề lượng khoảng cách, BLE đánh giá phương thức kết nối tương lai Dưới vài ứng dụng Bluetooth 4.0 sản phẩm mà sử dụng tới hàng ngày Nhà thông minh (Smart Home) Ứng dụng BLE để điều khiển máy lạnh, TV, đèn, máy giặt… nói chung thiết bị nhà bạn Biến mobile bạn thành remote đa năng, điều khiển đủ thứ nhà 10 - Khởi tạo xung clock - Khởi tạo time - Khởi tạo ADC - Khởi tạo UART Vào chế độ lowpower chờ ngắt Ngắt ADC Ngắt timer A0 - Xóa cờ ngắt - Khởi tạo lại time - Chuyển giá trị temp thành giá trị nhiệt độ thực lưu vào tempc -Ghi giá trị tempc UART 34 Đọc cảm biến nhiệt độ nội từ ADC10 lưu giá trị đọc vào biến temp *Phần thu - Khởi tạo xung clock - Khởi tạo LCD - Khởi tạo UART Vào chế độ lowpower chờ ngắt Ngắt UART RX Đọc giá trị từ UART hiển thị lên LCD 35 PHẦN 5: TÀI LIỆU THAM KHẢO VÀ CODE LẬP TRÌNH 1)Tài liệu tham khảo - wikipedia.org - Một số đồ án Bluetooth - Pay It Forward Câu lạc Nghiên Cứu Khoa Học Khoa Điện - Điện tử Bách Khoa TP HCM - http://www.ti.com 2)Code lập trình phần phát * main.c #include #include "Basic_config.h" #include "UART_.h" #define Vref 3.3 unsigned long temp, volt,tempc; void timer_init (void) { TACTL = TASSEL_1 + MC_2; // ACLK (12kHz), continuousmode CCR0 = 12000; // cycle 12000*1/12000 = 1s CCTL0 = CCIE; // CCR0 interrupt enabled } void ADC10_Init(void) { ADC10CTL0 = SREF_1 + ADC10SHT_3 + ADC10ON + ADC10IE + REFON; ADC10CTL1 = INCH_10 + ADC10DIV_1 + ADC10SSEL_3 ; } void main() { Config_stop_WDT(); Config_Clocks(); timer_init(); ADC10_Init (); uart_init (); 36 ADC10CTL0 |= ENC + ADC10SC; //Enable ADC10, Start sample conversion delay_ms (200); _BIS_SR(LPM0_bits + GIE); // Enter LPM0 with interrupt while (1) { bis_SR_register(LPM3_bits + GIE); // Enter LPM3 with interrupts } } #pragma vector=TIMER0_A0_VECTOR interrupt void Timer_A (void) { tempc = ((temp -673)*42300)/1024 ; uart_put_num (tempc, 2, 0); ADC10CTL0 |= ENC + ADC10SC; //Enable ADC10, Start sample conversion CCR0 += 12000; // Add Offset to CCR0 } #pragma vector = ADC10_VECTOR interrupt void ADC10_Interrupt(void) { temp = ADC10MEM; } * Basic_config.c #include #include "Basic_config.h" void Config_stop_WDT(void) { WDTCTL = WDTPW + WDTHOLD; timer } 37 // Stop watchdog void Config_Clocks(void) { if (CALBC1_1MHZ ==0xFF || CALDCO_1MHZ == 0xFF) // Check if constants cleared { while(1); // If cal constants erased, trap CPU!! } BCSCTL1 = CALBC1_1MHZ; & ACLK prescaler // Set DCO range DCOCTL = CALDCO_1MHZ; modulation // Set DCO step + BCSCTL3 |= LFXT1S_2 + XCAP_3; // configure ACLK Source while(IFG1 & OFIFG) // wait for OSCFault to clear { IFG1 &= ~OFIFG; delay_cycles(100000); } BCSCTL2 |= SELM_0 + DIVM_0; clock and prescaler void delay_us (int t) { int i; for (i = 0; i= 8; UCA0BR1 = (unsigned char) (tempfactor&0x00FF); UCA0MCTL |= UCBRF_0 + UCBRS_0; modulator UCA0CTL1 &= ~UCSWRST; operate** // Configure // **Release USCI to if (UART_RX_INT_EN) IE2 |= UCA0RXIE; // Enable USCI_A0 RX interrupt void uart_putc(char c) { while(!(IFG2&UCA0TXIFG)); // Wait until USCI_A0 TX buffer empty UCA0TXBUF = c; // assign character to TX buffer } 40 void uart_puts(const char* s) { while(*s != '\0'){ uart_putc(*s); s++; } } void uart_put_num (unsigned long val, char dec, unsigned char neg) { char i, j, digit,k; long total; long temp; for (i = 0, total = val; total > 0;i++) // count number total /= 10; total = i; if (neg !=0 ) uart_putc ('-'); if ((total - dec) 0) { // ex: val = 55; dec = put 0.055 41 for ( i = 0; i < (dec-total);i++) uart_putc('0'); k = 0; } else k = total - dec; for (i=k; i< total; i++) { temp = 1; for (j=1;j