GIỚI THIỆU MẠNG CẢM NHẬN KHÔNG DÂY
Mạng cảm nhận không dây
Khái niệm mạng cảm nhận không dây dựa trên công thức đơn giản sau:
Cảm nhận + CPU + Radio = WSN
Việc kết hợp cảm biến, radios, và CPU vào mạng cảm nhận không dây (WSN) đòi hỏi hiểu biết sâu sắc về khả năng và giới hạn của phần cứng cũng như các công nghệ mạng hiện đại Một thách thức lớn là ánh xạ các yêu cầu hệ thống vào một thiết bị riêng lẻ Để WSN trở nên thực tế, cần phát triển một kiến trúc tổng hợp các ứng dụng dựa trên khả năng của phần cứng Quá trình phát triển kiến trúc hệ thống cần bắt đầu từ các yêu cầu ứng dụng mức cao và đi xuống các yêu cầu phần cứng mức thấp Để hạn chế số lượng ứng dụng cần xem xét, nên tập trung vào các dạng ứng dụng phổ biến trong thực tế, từ đó xác định các yêu cầu hệ thống cho toàn bộ kiến trúc.
Từ các yêu cầu mức hệ thống này, có thể có các yêu cầu cho các nút mạng riêng lẻ
1.1.1 Các dạng ứng dụng của mạng cảm nhận
Mạng cảm nhận không dây có ba ứng dụng chính: thu thập dữ liệu môi trường, giám sát an ninh và theo dõi đối tượng Những ứng dụng này đóng vai trò quan trọng trong việc nâng cao hiệu quả quản lý và bảo vệ tài nguyên cũng như an toàn cho con người.
WSN đều thuộc ba dạng này
1.1.1.1 Thu thập dữ liệu môi trường
Mạng cảm nhận không dây được thiết kế để thu thập dữ liệu môi trường tại các điểm xác định trong một khoảng thời gian nhất định, giúp phát hiện xu hướng và quy luật vận động của môi trường Hệ thống này gồm nhiều nút mạng cung cấp thông số môi trường và gửi về trạm gốc, nơi có trung tâm xử lý dữ liệu Yêu cầu chính là các nút mạng phải tiêu thụ năng lượng ít để kéo dài thời gian hoạt động Mạng thường sử dụng topology dạng cây, trong đó mỗi nút mạng có một nút cha duy nhất, và dữ liệu từ các nút sẽ được truyền về trạm gốc thông qua chuỗi các nút cha.
Những vấn đề nảy sinh với cấu hình mạng này là:
- Hiện tƣợng thắt cổ chai (bottleneck) khi số lƣợng nút mạng lớn
Một số nút mạng có thể không hoạt động vì nhiều lý do khác nhau Để duy trì hoạt động của mạng, nó cần khả năng tự cấu hình lại, tức là phát hiện các nút bị hỏng và thực hiện việc cấu hình lại định kỳ.
- Mạng phải có thời gian sống dài, từ vài tháng đến vài năm, cần giải quyết vấn đề tiêu thụ năng lƣợng của các nút mạng tối ƣu nhất
Phần mềm nhúng cần được thiết kế và lập trình phù hợp với việc truyền thông các thông số đo như nhiệt độ, độ ẩm và ánh sáng Đồng thời, phần mềm phải tương thích với phần cứng để đảm bảo hệ thống hoạt động ổn định theo thời gian.
Một ứng dụng quan trọng của mạng cảm nhận là giám sát an ninh, với các nút được bố trí cố định để liên tục theo dõi các cảm biến nhằm phát hiện sự bất thường Khác với giám sát môi trường, các mạng an ninh không thu thập dữ liệu thường xuyên, điều này ảnh hưởng lớn đến kiến trúc mạng Mỗi nút kiểm tra trạng thái cảm biến định kỳ và chỉ truyền dữ liệu khi có vi phạm an ninh Do đó, việc truyền tải nhanh chóng và đáng tin cậy của thông điệp cảnh báo là yêu cầu thiết yếu của hệ thống.
Để đảm bảo an ninh mạng, cần xác nhận rằng mỗi nút vẫn hoạt động Nếu một nút gặp sự cố, điều này sẽ dẫn đến vi phạm an ninh cần được thông báo ngay lập tức Trong các ứng dụng giám sát an ninh, mạng phải được cấu hình để các nút có trách nhiệm xác nhận trạng thái của nhau Một phương pháp hiệu quả là cho phép mỗi nút ngang hàng thông báo khi một nút không hoạt động Mô hình tối ưu cho mạng giám sát an ninh sẽ khác biệt hoàn toàn so với mạng thu thập dữ liệu.
Trong hệ thống thu thập dữ liệu, mỗi nút cần truyền tải thông tin từ tất cả các nút con, do đó, cấu trúc cây lý tưởng là ngắn và rộng Ngược lại, trong mạng an ninh, cấu hình tối ưu thường là mô hình tuyến tính, nơi mỗi nút chỉ có một nút con Điều này giúp phân bổ đồng đều năng lượng tiêu thụ trong toàn mạng, với công suất tiêu thụ của mỗi nút tỷ lệ thuận với số lượng nút con của nó.
Tiêu thụ năng lượng trong mạng an ninh chủ yếu liên quan đến việc gửi tín hiệu cảnh báo ngay lập tức khi có vi phạm an ninh Sự nhanh chóng trong việc truyền dữ liệu tới trạm gốc là yếu tố quan trọng, vì độ trễ có thể ảnh hưởng đến hiệu quả ứng dụng Do đó, các nút mạng cần phải phản hồi nhanh chóng với các yêu cầu từ các nút lân cận để đảm bảo việc chuyển tiếp dữ liệu diễn ra hiệu quả.
Trong các mạng an ninh, việc giảm độ trễ trong việc truyền cảnh báo được ưu tiên hơn so với việc tiết kiệm chi phí năng lượng Điều này là do các sự kiện cảnh báo xảy ra rất hiếm, đặc biệt là trong mạng phòng cháy, nơi mà cảnh báo gần như không bao giờ xảy ra Khi một sự kiện xảy ra, năng lượng chủ yếu được sử dụng cho việc truyền tín hiệu Tuy nhiên, việc giảm độ trễ truyền có thể dẫn đến tăng mức tiêu thụ năng lượng, vì các nút định tuyến cần phải giám sát các kênh radio thường xuyên hơn.
Trong các mạng an ninh, năng lượng tiêu thụ chủ yếu được sử dụng cho việc xác nhận chức năng của các nút lân cận và chuẩn bị chuyển tiếp thông báo cảnh báo Do đó, việc truyền dữ liệu hiện tại sẽ tiêu tốn một phần năng lượng của mạng.
Mạng cảm nhận không dây cho phép theo dõi đối tượng dễ dàng thông qua việc gắn nút cảm biến nhỏ Các nút này sẽ nhận diện thông điệp RF từ các thiết bị gắn trên đối tượng khi chúng di chuyển qua các vị trí đã được triển khai Thay vì chỉ cảm nhận dữ liệu môi trường, các nút này hoạt động như thẻ để xác định sự hiện diện của thiết bị Thông qua một cơ sở dữ liệu, vị trí tương đối của đối tượng với các nút mạng sẽ được ghi lại, giúp xác định vị trí hiện tại của đối tượng một cách chính xác.
Khác với mạng cảm nhận hay mạng an ninh, các ứng dụng theo dõi có khả năng thay đổi topology liên tục khi các nút di chuyển qua mạng Trong khi kết nối giữa các nút cố định tương đối ổn định, kết nối với các nút di động lại biến đổi thường xuyên Hơn nữa, tập hợp các nút bị theo dõi cũng thay đổi liên tục khi có nút gia nhập hoặc rời khỏi hệ thống Điều quan trọng là mạng cần nhận biết hiệu quả sự xuất hiện của các nút mới trong môi trường mạng.
1.1.2 Các chỉ tiêu hệ thống
Để đánh giá một mạng cảm biến không dây (WSN), cần xem xét các chỉ tiêu chính như thời gian sống, độ bao phủ, chi phí, khả năng triển khai, thời gian phản hồi, độ chính xác thời gian, bảo mật và tốc độ lấy mẫu hiệu quả Các chỉ tiêu này có mối liên hệ chặt chẽ với nhau; việc tối ưu hóa một tham số có thể dẫn đến sự suy giảm hiệu quả của tham số khác, chẳng hạn như tăng tốc độ lấy mẫu có thể làm giảm thời gian sống Do đó, mục tiêu là hiểu rõ và cân bằng các chỉ tiêu này dựa trên khả năng của hệ thống.
Mạng cảm nhận không dây có một hạn chế quan trọng là thời gian sống của các nút cảm biến Đặc biệt, trong các ứng dụng giám sát môi trường và an ninh, những nút này thường được lắp đặt ở những khu vực ngoài trời mà không có sự giám sát thường xuyên trong thời gian dài, từ tháng này qua tháng khác hoặc thậm chí hàng năm.
Một số hướng phát triển trong lĩnh vực WSN
1.2.1 Hệ điều hành nhỏ TinyOS
TinyOS là hệ điều hành cho mạng cảm biến không dây (WSN) được phát triển bởi Trường đại học Berkeley, sử dụng cơ chế đa truy cập S-MAC và ngôn ngữ lập trình nesC Với kích thước nhỏ gọn và mã nguồn mở, TinyOS áp dụng mô hình hướng sự kiện cùng bộ lập lịch đơn giản, cho phép vi điều khiển xử lý nhiều tác vụ song song trong môi trường hạn chế tài nguyên Hệ điều hành này sử dụng bộ lập lịch FIFO, tạo kết nối linh hoạt giữa phần cứng và ứng dụng Bên cạnh đó, TinyOS cung cấp giao diện mạng tiện dụng với mô hình truyền thông Active Message (AM), giúp nâng cao hiệu suất trong tính toán song song và tạo khả năng giao tiếp mạnh mẽ cho các nút mạng trong WSN.
Hình 1.1 Kiến trúc thành phần của TinyOS
TinyOS cung cấp khả năng giao tiếp hiệu quả cho các nút mạng trong mạng cảm biến không dây (WSN) Hiện tại, TinyOS đang được nghiên cứu và điều chỉnh để tương thích với vi điều khiển CC1010, loại vi điều khiển sẽ được sử dụng để thực hiện các thử nghiệm trong khuôn khổ luận văn.
Dựa trên nền tảng TinyOS và đặc điểm của CC1010, kiến trúc phần mềm nhúng cho mạng cảm biến không dây (WSN) được đề xuất như hình 1.2 Thư viện HAL (Hardware Abstraction Library) đóng vai trò là tầng trung gian giữa TinyOS và CC1010, giúp TinyOS tương tác hiệu quả với phần cứng.
Tầng trên của TinyOS là giao thức dẫn đường trong mạng cảm biến không dây (WSN), cho phép truyền dữ liệu an toàn và giảm thiểu hiện tượng thắt cổ chai Ứng dụng đặc thù cho WSN bao gồm module tự cấu hình và tự điều chỉnh mạng, cùng với module đo các thông số môi trường và gửi về trạm gốc Hai module này hoạt động theo chế độ định kỳ, được bộ định thời CC1010 đánh thức sau một khoảng thời gian nhất định để thực hiện nhiệm vụ, sau đó quay về trạng thái nghỉ Thời gian cấu hình lại hệ thống và đo dữ liệu thay đổi tùy thuộc vào từng ứng dụng cụ thể.
Mô hình mạng sử dụng TinyOS là mạng hình cây có dạng sau:
Hình 1.2 Kiến trúc phần mềm nhúng sử dụng TinyOS và VĐK CC1010
Zigbee là một hiệp hội được thành lập bởi các công ty hàng đầu như Chipcon, Ember, Freescale, Honeywell, Mitsubishi, Motorola, Philips và Samsung Chuẩn Zigbee được phát triển để thiết lập một tiêu chuẩn mới cho mạng không dây, với mục tiêu chính là tiết kiệm năng lượng cho các nút mạng.
Zigbee xây dựng lớp mạng và lớp ứng dụng dựa trên lớp MAC và lớp vật lý của chuẩn IEEE 802.15.4 Lớp mạng của Zigbee hỗ trợ ba mô hình mạng chính: Mạng hình sao, Mạng lưới, và Mạng hình cây.
Lớp Vật lý đƣợc thiết kế có sự tích hợp cao với chi phí thấp
Hình 1.3 Mô hình mạng hình cây sử dụng TinyOS
The MAC layer is designed to operate with various types of topologies, enabling reduced functionality devices (RFDs) to function without requiring extensive ROM or RAM This layer effectively manages a large number of devices, ensuring efficient communication and control within the network.
Lớp mạng được thiết kế để mở rộng không gian mạng mà không cần năng lượng truyền cao, đồng thời có khả năng kiểm soát một số lượng lớn các nút mạng Các chức năng chính của các nút mạng bao gồm việc quản lý và tối ưu hóa hiệu suất truyền dữ liệu trong hệ thống mạng.
• Gia nhập hay rời khỏi mạng
• Cấu hình nút mạng mới
• Cấp địa chỉ: khả năng của bộ điều phối để gán địa chỉ nút mới gia nhập
• Đồng bộ hoá trong một mạng: khả năng đồng bộ hóa giữa các nút mạng thông qua theo dõi thông tin dẫn đường beacons hay thăm dò (polling)
• Định tuyến: Sử dụng thuật toán định tuyến Adhoc On-demand Vector (AODV)
1.2.2.2 Các mô hình mạng của Zigbee:
ZigBee Coordinator: luôn phải có một thiết bị này trong mạng Zigbee Nhiệm vụ chủ yếu là:
- Quản lý các nút mạng
- Lưu trữ thông tin nút mạng
- Thường hoạt động ở trạng thái nhận
- Không cần khả năng tiết kiệm năng lƣợng
ZigBee Router: thiết bị định tuyến trong mạng Không cần khả năng tiết kiệm năng lƣợng
ZigBee End Device: nút mạng
- Đƣợc thiết kế để dùng nguồn acquy, tiết kiệm năng lƣợng
- Tìm một mạng có sẵn
- Có thể ngủ trong một khoảng thời gian
ZigBee Coordinator ZigBee Router ZigBee End Device
Kết luận
Chương 1 khái quát các khái niệm và các dạng ứng dụng mạng cảm nhận không dây Có ba dạng ứng dụng của mạng cảm nhận không dây, đó là: Thu thập dữ liệu môi trường, Giám sát an ninh và Theo dõi đối tượng Hầu hết ứng dụng mạng cảm nhận không dây đều rơi vào một trong ba dạng ứng dụng này Mỗi dạng ứng dụng đều có những mục đích và nguyên tắc làm việc khác nhau, qua đó đòi hỏi phải có thiết kế hệ thống khác nhau Tuy nhiên các dạng ứng dụng khác nhau đó đều có các chỉ tiêu đánh giá hệ thống nhƣ đã nói ở trên, đó là: thời gian sống, độ bao phủ, giá thành và tính dễ triển khai, thời gian đáp ứng, độ chính xác về thời gian, bảo mật và tốc độ thu thập thông tin hiệu quả Tuỳ từng ứng dụng cụ thể mà các chỉ tiêu trên có các cách đánh giá khác nhau.
NÚT MẠNG
Giới thiệu một số VĐK có thể làm nút mạng cảm nhận
Lựa chọn VĐK phù hợp cho việc xây dựng nút mạng là rất quan trọng, vì nó giúp rút ngắn thời gian xây dựng hệ thống Một VĐK hợp lý sẽ đảm bảo hệ thống hoạt động ổn định, tin cậy và đạt được các chỉ tiêu đề ra.
Khi lựa chọn vi điều khiển (VĐK), cần xem xét các tiêu chí quan trọng như: tiêu thụ năng lượng thấp, tích hợp ADC để kết nối với cảm biến tương tự, bộ nhớ chương trình và dữ liệu có kích thước hợp lý, kích thước vật lý nhỏ gọn, và có công cụ phát triển thuận tiện cho lập trình viên như hỗ trợ ngôn ngữ cấp cao, thư viện cho cảm biến và truyền nhận không dây, cùng với khả năng gỡ lỗi Cuối cùng, giá thành của VĐK cũng là một yếu tố quan trọng cần được cân nhắc.
Hiện giờ có 3 họ VĐK trên thị trường có thể thoả mãn các tiêu chí trên:
- Họ VĐK MSP430 của Texas
- Họ VĐK ATMEGA của Atmel
- VĐK CC1010 của hãng Chipcon
Các VĐK đã đề cập đều đáp ứng các tiêu chí cần thiết, nhưng hai VĐK đầu tiên thiếu tính năng tích hợp truyền nhận không dây Việc sử dụng những VĐK này sẽ yêu cầu thêm mạch truyền nhận không dây bên ngoài, dẫn đến sự phức tạp trong quá trình xây dựng hệ thống Vì lý do này, VĐK CC1010 được lựa chọn do có tính năng tích hợp truyền nhận không dây, khiến nó trở thành lựa chọn hợp lý hơn so với các VĐK khác.
Giới thiệu vi điều khiển CC1010
- Thu phát không dây 300-1000 MHz
- Dòng tiêu thụ rất thấp (9,1 mA trong chế độ nhận)
- Có thể lập trình cho công suất đầu ra tới +10 dBm
- Tốc độ truyền RF có thể đạt 76.8 kbit/s
- Cần rất ít thành phần ngoài
- Đo được cường độ RF (RSSI)
- 3 kênh ADC 10 bit, 4 timers / 2PWMs, 2 UARTs, RTC, Watchdog, SPI, mã hoá DES, 26 cổng I/O
- Có khả năng gỡ lỗi sử dụng chương trình dịch Keil μVision2 IDE qua cổng nối tiếp
- 64-lead TQFP (Thin Quad Flat Pack)
Có 4 cổng I/O P0, P1, P2, P3 với 26 chân cổng Mỗi cổng có 2 thanh ghi tương ứng: thanh ghi cổng P0, P1, P2, P3 và thanh ghi hướng (P0DIR, P1DIR, P2DIR, P3DIR) Mỗi bit trong thanh ghi Px có một bit hướng tương ứng trong thanh ghi PxDIR.y Đặt PxDIR.y = 1 sẽ làm cho Px.y là cổng nhận dữ liệu (input) và đặt PxDIR.y = 1 sẽ làm cho Px.y là cổng xuất dữ liệu (output)
CC1010 có tổng cộng 15 nguồn ngắt, chia sẻ 12 đường ngắt Mỗi ngắt có một mức ƣu tiên, vector ngắt, cờ cho phép ngắt và cờ báo ngắt
Bảng 1 Ngắt và các tham số
Ngắt Mức ƣu tiên tự nhiên Điều khiển mức ƣu tiên
Ngắt Flash/debug 0 - 0x33 EICON.PDIE EICON.PDIF
Ngắt ngoài 0 1 IP.PX0 0x03 IE.EX0 TCON.IE0
Ngắt Timer 0 2 IP.PT0 0x0B IE.ET0 TCON.TF0
Ngắt ngoài 1 3 IP.PX1 0x13 IE.EX1 TCON.IE1
Ngắt Timer 1 4 IP.PT1 0x1B IE.ET1 TCON.TF1
Ngắt truyền nối tiếp 0 5 IP.PS0 0x23 IE.ES0 SCON0.TI 0
Ngắt nhận nối tiếp 0 SCON0.RI 0
Ngắt truyền nối tiếp 1 6 IP.PS1 0x3B IE.ES1 SCON1.TI 1
Ngắt nhận nối tiếp 1 SCON1.RI 1
Ngắt truyền/nhận RF 7 EIP.PRF 0x43 EIE.RFIE EXIF.RFIF
Ngắt Timer 2 8 EIP.PT2 0x4B EIE.ET2 EXIF.TF2
Ngắt ADC 9 EIP.PAD 0x53 EIE.ADIE và ADCON2
EXIF.ADIF và ADCON2 ADCIF
Ngắt mã hoá/giải mã
EXIF.ADIF và CRPCON CRPIF
Ngắt Timer 3 10 EIP.PT3 0x5B EIE.ET3 EXIF.TF3
Ngắt thời gian thực 11 EIP.PRTC 0x63 EIE.RTCIE EICON.RTCIF
Cờ IE.EA cho phép vô hiệu hóa tất cả các ngắt ngoại trừ ngắt Flash/Debug Khi cờ IE.EA được kích hoạt, tất cả các ngắt bị che bởi cờ này sẽ được liệt kê trong bảng.
1 Khi cờ IE.EA bị xoá, tất cả các ngắt bị che, ngoại trừ ngắt Flash/Debug, có bit che ngắt riêng, EICON.FDIE
Khi một ngắt xảy ra, CPU sẽ chuyển đến địa chỉ của Routine Xử lý Ngắt (ISR) tương ứng CC1010 thực hiện ISR cho đến khi có một ngắt khác với mức ưu tiên cao hơn xuất hiện Mỗi ISR sẽ kết thúc bằng lệnh RETI, cho phép CC1010 trở lại lệnh tiếp theo sau lệnh đã thực hiện trước ngắt Nếu lệnh đang thực hiện là RETI hoặc đang ghi vào các thanh ghi như IP, IE, EIP, EIE, CC1010 sẽ hoàn thành thêm một lệnh trước khi phục vụ ngắt.
Các ngắt có 2 giai đoạn ƣu tiên: mức ngắt và mức tự nhiên Mức ngắt đƣợc ƣu tiên trước mức tự nhiên
Mức ngắt được chia thành hai loại: thấp và cao Ngắt có mức ưu tiên cao sẽ tạm dừng chương trình phục vụ ngắt có mức ưu tiên thấp hơn Trong trường hợp nhiều ngắt cùng xảy ra với mức ưu tiên tương đương, ngắt có mức ưu tiên tự nhiên thấp nhất sẽ được xử lý trước.
Bộ biến đổi ADC của CC1010 có độ phân giải 10 bit, được điều khiển qua các thanh ghi ADCON và ADCON2 Nó bao gồm ba kênh vào, được chọn bằng thanh ghi ADCON.ADADR, với khả năng sử dụng chân AD1 làm điện áp tham chiếu ngoài khi sử dụng AD0 Khi AD1 được sử dụng làm tham chiếu ngoài, chỉ hai kênh ADC còn lại được sử dụng Đầu ra của ADC là đơn cực, trong đó giá trị 0 tương ứng với 0V và giá trị 1023 tương ứng với điện áp tham chiếu (1.25 V hoặc VDD, tùy thuộc vào bit ADCREF) Điện áp tham chiếu analog được điều khiển bởi
Để tiết kiệm năng lượng, cần thiết lập ADCON.ADCREF và ADCON.AD_PD bằng 1 khi không sử dụng ADC Biến đổi ADC sẽ bắt đầu sau 5 giây khi bit điều khiển ADCON.ADCRUN được xoá, sử dụng VDD hoặc nguồn tham chiếu bên ngoài.
100 às khi sử dụng tham chiếu trong 1.25V
CC1010 được trang bị 4 bộ định thời Timer 0, Timer 1, Timer 2 và Timer 3, hoạt động như bộ định thời hoặc bộ đếm (Timer/Counter) Đặc biệt, Timer 2 và Timer 3 còn có khả năng hoạt động như bộ điều chế độ rộng xung (PWM - Pulse Width Modulation).
Timer/Counter 0 và 1 có khả năng lập trình và hoạt động độc lập trong 4 chế độ khác nhau Việc điều khiển các chế độ này được thực hiện thông qua các thanh ghi TMOD và TCON.
- 8 bit Timer/Counter tự động nạp lại (Mode 2)
- 2 Timer 8 bit (chỉ dùng cho Timer 0, Mode 0)
Chi tiết về các chế độ, cách điều khiển sử dụng 2 thanh ghi TCON và TMOD xin xem thêm phần Tài liệu tham khảo [6]
Timer 2 và 3 không chỉ hoạt động như bộ định thời mà còn có thể được sử dụng để điều chế độ rộng xung PWM Khi xóa bit TCON2.M2/TCON2.M3, chúng sẽ hoạt động như bộ định thời, còn khi thiết lập bit TCON2.M2/TCON2.M3, chúng sẽ chuyển sang chế độ PWM.
P3.4 và chân P3.5 là chân phát xung đầu ra tương ứng cho Timer2/Timer3 Chu kỳ
T nPWM đối với Timer n nhƣ sau: fsystem
Trong đó thời gian ở trạng thái cao Tnh là: fsystem e Tn TnhP Tn.( Pr 1)
WM Điều này có nghĩa là trong chế độ PWM, nếu Tn = 0 thì có mức thấp ở đầu ra và nếu Tn = 255 thì có mức cao
Trong đó giá trị các thanh ghi Tn và TnPRE được đặt từ trước
2.2.6 Bộ thu phát không dây (RF Transceiver)
Bộ thu phát CC1010 UHF RF được thiết kế cho ứng dụng tiêu thụ năng lượng và điện áp thấp, phù hợp với ISM và SRD trong dải tần 315, 433, 868 và 915 MHz Thiết bị này có khả năng lập trình linh hoạt để hoạt động trong dải tần 300-1000 MHz Các thông số chính có thể được điều chỉnh qua các thanh ghi chức năng đặc biệt (SFRs), mang lại sự linh hoạt và dễ sử dụng cho người dùng Hơn nữa, CC1010 yêu cầu rất ít thành phần tích cực để hoạt động
Sơ đồ khối đơn giản của bộ thu phát RF, như thể hiện ở hình 2.1, chỉ ra các chân tín hiệu analog cùng với bus dữ liệu SFR bên trong Điều này nhằm thiết lập giao tiếp RF và hỗ trợ quá trình truyền nhận dữ liệu hiệu quả.
Trong chế độ nhận, tín hiệu RF được khuếch đại bởi bộ khuếch đại ồn thấp (LNA) và chuyển đổi thành trung tần (IF) qua bộ trộn (MIXER) Tại giai đoạn trung tần, tín hiệu được khuếch đại và lọc trước khi đến bộ giải điều chế (DEMOD) Một tùy chọn khác là tín hiệu RSSI hoặc IF sau khi trộn có thể được đưa vào AD2 Sau khi giải điều chế, tín hiệu số được chuyển đến thanh ghi RFBUF, và ngắt có thể được sinh ra theo mỗi bit hoặc mỗi byte nhận được (EXIF.RFIF).
Trong chế độ truyền, dao động điều khiển bởi điện áp (VCO) được gửi trực tiếp đến khuếch đại công suất (PA) Đầu ra RF sử dụng phương pháp khoá dịch chuyển tần số (FSK) để truyền luồng bit tới thanh ghi RFBUF Ngắt có thể được tạo ra cho mỗi bit hoặc byte được truyền (EXIF.RFIF).
Hình 2.1 Sơ đồ khối của bộ thu phát RF bên trong T/R làm cho giao tiếp với antenna dễ dàng và sử dụng rất ít thành phần ngoại vi
Bộ tổ hợp tần số tạo ra dao động bên trong được sử dụng trong chế độ nhận (MIXER) và chế độ truyền (PA) Nó bao gồm các thành phần như dao động thạch anh (XOSC), bộ nhận biết pha (PD), bơm nạp (CHARGE PUMP), bộ lọc (LPF), VCO, và các bộ chia tần (/R và /N) Ngoài ra, một tinh thể ngoài có thể được kết nối với XOSC, trong khi VCO chỉ cần một cuộn cảm ngoài để hoạt động hiệu quả.
Bộ thu phát RF yêu cầu rất ít thiết bị ngoại vi, với một mạch ứng dụng điển hình được minh họa trong hình 2.2 Để biết thêm chi tiết về các giá trị của các thành phần, xin tham khảo tài liệu [6].
Kết luận
Chương này giới thiệu một số loại vi điều khiển (VĐK) có thể sử dụng làm nút mạng trong mạng cảm biến không dây (WSN) dựa trên các tiêu chí như năng lượng tiêu thụ thấp, tính mềm dẻo, sức mạnh của nút mạng, tính bảo mật, khả năng truyền thông, khả năng tính toán và kích thước Qua các tiêu chí đánh giá này, vi điều khiển CC1010 của hãng Chipcon (Na Uy) đã được chọn làm nút mạng, với tính năng tương thích cao.
8051 là một vi điều khiển phổ biến, được lập trình bằng ngôn ngữ C và sử dụng trình biên dịch Keil àVision 2.0 Ngoài ra, Chipcon cũng cung cấp các thư viện hỗ trợ làm việc với CC1010, giúp việc viết chương trình trở nên dễ dàng và thuận tiện hơn.
CÁC PHƯƠNG PHÁP GHÉP NỐI VỚI CÁC LOẠI ĐẦU ĐO VÀ CHƯƠNG TRÌNH THỰC HIỆN CHỨC NĂNG THU THẬP DỮ LIỆU 3.1 Giới thiệu cảm biến
Trong các hệ thống đo lường điều khiển, mọi quá trình được đặc trưng bởi các trạng thái như nhiệt độ, áp suất, tốc độ và momen Các biến trạng thái này thường không phải là đại lượng điện Để điều chỉnh và kiểm soát các quá trình, việc thu thập thông tin, đo đạc và theo dõi sự biến thiên của các biến trạng thái là cần thiết Các bộ cảm biến đóng vai trò quan trọng trong việc thực hiện chức năng này, chúng thu nhận và đáp ứng với các tín hiệu và kích thích, trở thành "tai mắt" của các hoạt động khoa học và công nghệ.
Các bộ cảm biến thường được định nghĩa theo nghĩa rộng là thiết bị cảm nhận và đáp ứng với các tín hiệu và kích thích
Trong mô hình mạch, bộ cảm biến được xem như một mạng hai cửa, với cửa vào là biến trạng thái cần đo x và cửa ra là đáp ứng y của bộ cảm biến đối với kích thích đầu vào x.
Phương trình mô tả quan hệ giữa đáp ứng y và kích thích x của bộ cảm biến có dạng: y = f(x)
Trong các hệ thống đo lường - điều khiển hiện đại, quá trình thu thập và xử lý tín hiệu thường do máy tính đảm nhiệm
Bộ cảm biến x kích thích y đáp ứng
Sơ đồ hình 3.1 mô tả quá trình điều khiển tự động, trong đó các biến trạng thái của đối tượng được thu nhận bởi bộ cảm biến Đầu ra của bộ vi xử lý kết hợp với cơ cấu chấp hành để tác động lên quá trình Bộ cảm biến có vai trò quan trọng trong việc cảm nhận, đo đạc và đánh giá các thông số của hệ thống, trong khi bộ vi xử lý xử lý thông tin và phát tín hiệu điều khiển cho quá trình.
3.1.2 Phân loại các bộ cảm biến
3.1.2.1 Theo nguyên lý chuyển đổi giữa đáp ứng và kích thích
Hiện tƣợng Chuyển đổi đáp ứng và kích thích
Quang điện Quang từ Điện từ Quang đàn hồi
Từ điện Nhiệt từ Nhiệt quang Hoá học Biến đổi hoá học
Cơ cấu chấp hành Bộ cảm biến Chương trình
Bộ vi xử lý Hình 3.1 Hệ thống tự động điều khiển qúa trình
Biến đổi điện hoá Phân tích phổ
Sinh học Biến đổi sinh hoá
Biến đổi vật lý Hiệu ứng trên cơ thể sống Phân tích phổ
Kích thích Các đặc tính của kích thích Âm thanh - Biên, pha, phân cực
- Tốc độ truyền sóng Điện - Điện tích, dòng điện
- Điện dẫn, hằng số điện môi
Từ - Từ trường (biên, pha, phân cực, phổ)
- Từ thông, cường độ từ trường
Quang - Biên, pha, phân cực, phổ
- Hệ số phát xạ, khúc xạ
- Hệ số hấp thụ, hệ số bức xạ
- Vận tốc chất lưu, độ nhớt
3.1.2.4 Theo phạm vi sử dụng
3.1.2.5 Theo thông số mô hình mạch thay thế
Các bộ cảm biến có thể phân chia theo thông số:
- Cảm biến tích cực (có nguồn) đầu ra là nguồn áp hoặc nguồn dòng
- Cảm biến thụ động (không nguồn) đƣợc đặc trƣng bởi các thông số R,L,C,M… tuyến tính hoặc phi tuyến
3.1.2.6 Theo dạng tín hiệu đầu ra
- Cảm biến có đầu ra là tín hiệu tương tự
- Cảm biến đầu ra là tín hiệu số
3.1.3 Các đặc trƣng cơ bản của bộ cảm biến
Quan hệ giữa đáp ứng và kích thích của bộ cảm biến có thể được biểu diễn qua bảng giá trị, đồ thị hoặc biểu thức toán học Trong đó, x đại diện cho kích thích và y là tín hiệu đáp ứng Hàm truyền mô tả mối quan hệ này và có thể được thể hiện dưới nhiều dạng khác nhau như tuyến tính, phi tuyến, logarit, hàm lũy thừa hoặc hàm mũ.
Quan hệ tuyến tính giữa đáp ứng và kích thích được biểu diễn bằng phương trình y = ax + b Trong đó, a là hằng số đại diện cho tín hiệu ra khi tín hiệu vào bằng không, b là độ nhạy, và y là một trong các đặc trưng của tín hiệu ra, có thể là biên độ, tần số hoặc pha, tùy thuộc vào các tính chất của bộ cảm biến.
Hàm truyền logarit có dạng: y = 1 + blnx Dạng mũ: y = ae kx Dạng luỹ thừa: y = a o + a 1 x k với k là hằng số
Các bộ cảm biến phi tuyến không thể được mô tả bằng các hàm truyền thông thường, do đó cần sử dụng các hàm gần đúng bậc cao Đối với hàm truyền phi tuyến hoặc hàm truyền động, độ nhạy b cần được xác định theo biểu thức: dx = b * dy.
Trong nhiều trường hợp ta có thể làm gần đúng hàm truyền phi tuyến bằng phương pháp tuyến tính hoá từng đoạn
3.1.3.2 Độ lớn của tín hiệu vào
Là giá trị lớn nhất của tín hiệu đặt vào bộ cảm biến mà sai số không vƣợt quá ngƣỡng cho phép
3.1.3.3 Sai số và độ chính xác
Các bộ cảm biến và dụng cụ đo lường không chỉ đo đại lượng cần cảm nhận mà còn bị ảnh hưởng bởi nhiều yếu tố vật lý khác, dẫn đến sai số giữa giá trị đo được và giá trị thực Độ lệch tuyệt đối giữa giá trị đo và giá trị thực được ký hiệu là ∆x, trong khi sai số tương đối của bộ cảm biến được tính bằng công thức: Δ% = (∆x / x) * 100.
Khi đánh giá sai số của cảm biến ta thường phân chúng thành hai loại: sai số hệ thống và sai số ngấu nhiên
Sai số hệ thống là loại sai số không phụ thuộc vào số lần đo, có giá trị ổn định hoặc thay đổi chậm theo thời gian Nó tạo ra một độ lệch cố định giữa giá trị thực và giá trị đo được Nguyên nhân chính của sai số hệ thống thường là do thiếu hiểu biết về hệ đo hoặc điều kiện sử dụng không đảm bảo.
Sai số ngẫu nhiên là sai số xuất hiện có độ lớn và chiều không xác định
3.1.4 Cảm biến số nối tiếp và cách ghép nối
Cảm biến là thiết bị thu thập thông tin về đối tượng và chuyển đổi thành tín hiệu điện Một cảm biến cổ điển gồm bốn phần, trong đó khối cảm nhận (như điện trở, điện dung, bán dẫn, vật liệu áp điện, photodiode, cầu điện trở) là phần quan trọng nhất Tín hiệu từ khối cảm nhận thường bị nhiễu, do đó cần áp dụng các kỹ thuật xử lý tín hiệu như khuếch đại, tuyến tính hóa, bù và lọc để giảm thiểu tác động của nhiễu.
Khi sử dụng nhiều cảm biến trên cùng một chip, cần thiết phải có bộ hợp kênh để xử lý tín hiệu Tín hiệu từ cảm biến có thể được thu thập theo dạng nối tiếp hoặc song song, và chức năng này được thực hiện bởi bộ biến đổi tương tự-số hoặc tần số-số Hệ thống thu thập dữ liệu thường có cấu hình hình sao, với mỗi cảm biến kết nối đến một bộ hợp kênh số Việc sử dụng nhiều cảm biến đồng nghĩa với việc tăng tổng độ dài cáp và số lượng kết nối.
Xử lý tín hiệu Chuyển đổi
Bus giao tiếp Máy tính
Hệ thống tổ chức bus là cần thiết để kết nối các cảm biến với bộ hợp kênh, giúp quản lý lượng dữ liệu lớn từ nhiều nguồn khác nhau Hệ thống này điều khiển việc truyền dữ liệu và kết nối tới giao tiếp thích hợp, cho phép cảm biến gửi thông tin đến máy tính một cách hiệu quả.
Sơ đồ giao tiếp giữa cảm biến số nối tiếp và vi điều khiển được minh họa trong hình 3.3 Vi điều khiển thường thực hiện các nhiệm vụ như xử lý tín hiệu số, chuyển đổi tín hiệu tương tự sang số, mã hóa tần số, thực hiện tính toán và các chức năng giao tiếp Ngoài ra, vi điều khiển còn có thể được trang bị hoặc tích hợp các giao tiếp chuẩn, và nhiều loại vi điều khiển hiện nay hỗ trợ cả bus giao tiếp.
2 dây I2C, có thể truyền với khoảng cách ngắn (vài mét) hay giao diện nối tiếp RS- 232/485 cho truyền khoảng cách dài
Cảm biến số nối tiếp khác với cảm biến tương tự ở cách giao tiếp Cảm biến tương tự cung cấp tín hiệu dạng dòng điện hoặc điện áp cho vi điều khiển, yêu cầu chuyển đổi tương tự-số trước khi đọc dữ liệu Ngược lại, cảm biến số nối tiếp thực hiện chuyển đổi này ngay trong cảm biến, gửi giá trị dưới dạng xung nối tiếp, giúp giảm nhiễu trên bus giao tiếp Để đọc dữ liệu, vi điều khiển cần xác lập xung dữ liệu DATA và phát xung đồng bộ SCK, tiếp tục gửi xung cho đến khi hoàn tất bit cuối cùng của DATA Khi đọc dữ liệu, vi điều khiển phát xung SCK trước, sau đó mới đọc giá trị xung dữ liệu.
Vi điều khiển Cảm biến
Ghép nối giữa CC1010 với các loại cảm biến
3.2.1 Ghép nối với cảm biến áp suất MS5535:
Cảm biến áp suất MS5535 là một loại cảm biến số nối tiếp, hoạt động theo nguyên tắc tương tự như các cảm biến số nối tiếp khác Tuy nhiên, MS5535 có sự khác biệt với chân dữ liệu DATA bao gồm 2 chân DIN và DOUT, cùng với một chân Master Clock (MCLK) để cung cấp xung nhịp cho cảm biến Sơ đồ giao tiếp giữa vi điều khiển CC1010 và MS5535 được thiết lập như sau:
MCLK: Master Clock của MS5535
DIN: chân dữ liệu vào cho MS5535
DOUT: chân dữ liệu ra cho MS5535
Hình 3.5 Sơ đồ giao tiếp giữa MS-5535 và CC1010
SCLK: Serial Clock, đồng bộ quá trình đọc ghi dữ liệu cho MS5535
Trong sơ đồ hình 3.5, cổng P0.3 được sử dụng làm cổng vào dữ liệu, trong khi P1.0, P1.1 và P3.4 được định nghĩa là cổng ra dữ liệu Để xử lý tình huống này, các lệnh chương trình cần được thực hiện như sau: clr P1DIR.0 cho SCLK MS5535, clr P1DIR.0 cho DIN MS553, setb P0DIR.3 cho DOUT MS553, và clr P2DIR.3 cho MSCLK MS5535.
Trong đó ghi mức “1” ra cổng P0.0 các lệnh đƣợc hiểu nhƣ sau: clr P0DIR.0 ; đặt bit hướng là ghi ra setb P0.0 ; xuất dữ liệu
Giá trị dữ liệu và tín hiệu trên các cổng vào ra được xác định thông qua việc sử dụng bộ định thời, bộ đếm và chế độ ngắt của vi mạch CC1010.
Các bộ định thời, các ngắt, tín hiệu SCLK, MCLK và đầu đo MS-5535
CC1010 có 4 timer/counter, bao gồm 2 timer/counter theo chuẩn 8051 và 2 timer còn lại là timer 3 và timer 4 Hai timer này có thể hoạt động ở chế độ timer hoặc chế độ điều chế độ rộng xung PWM Để sử dụng Timer 2/Timer 3 ở chế độ PWM, cần thiết lập bit TCON2.M2/TCON2.M3 Các cổng P3.4 và P3.5 sẽ trở thành các lối ra thông qua việc lập các bit hướng P3DIR.4 và P3DIR.5, cho phép điều chỉnh chu kỳ PWM.
TnPWM đối với timer n đƣợc tính là: fsystem e TnP 255.(TnPr 1)
Trong đó thời gian ở trạng thái cao Tnh là: fsystem e Tn TnhP Tn.( Pr 1)
Trong chế độ PWM, nếu Tn = 0, đầu ra sẽ ở mức thấp, trong khi Tn = 255 sẽ tạo ra mức cao Sơ đồ hình 3.6 minh họa việc Timer2 hoạt động ở chế độ PWM để tạo xung Master clock cho MS-5535 với tần số 29kHz Tần số này được phát qua cổng P3.4 bằng cách sử dụng các lệnh: orl TCON2,#0x01 để đặt Timer 2 ở chế độ PWM, mov T2Pre,#1 để thiết lập chu kỳ PWM là 29kHz, mov T2,#128 để tạo xung vuông đối xứng, và setb TR2 để bắt đầu phát xung.
Làm tương tự như vậy cũng thu được chuỗi xung SCLK phát trên cổng P1.0
Chương trình làm việc với MS5535 theo các bước sau:
- Đặt bit hướng P3.4, P1.1, P1.0 là hướng xuất dữ liệu ra (output) tương ứng là các chân MCLK, DIN và SCLK của MS5535
- Đặt bit hướng P0.3 là hướng đọc dữ liệu vào tương ứng (input) là chân DOUT của MS5535
- Phát xung tần số 29 kHz ra cổng P3.4 để làm Master Clock cho MS5535
- Đọc các hệ số bù nhiệt của MS5535
Bước 2: Đọc các tham số áp suất và nhiệt độ của MS5535
- Phát lệnh cho MS5535 Lệnh ở đây có thể là đọc nhiệt độ hay áp suất
- Đọc giá trị trả về từ MS5535
Hình 3.6 Giản đồ chu kỳ xung của PWM
- Dựa trên giá trị trả về và các hệ số đọc được ở bước 1, tính giá trị nhiệt độ và áp suất tương ứng
Chi tiết về làm việc với đầu đo áp suất MS5535 xin xem thêm phần tham khảo
[13] và chương trình ở phần phụ lục
3.2.2 Ghép nối với cảm biến nhiệt độ dạng tương tự
Các lối vào AD0, AD1, AD2 của CC1010 có thể chọn điện áp tham chiếu là 1,25V hoặc VDD, sử dụng chung một ADC cho các kênh lối vào Trong hệ thống này, đầu đo nhiệt độ kết nối với AD0, và để khởi tạo quá trình chuyển đổi tương tự sang số qua ADC, cần thực hiện lệnh: mov ADCON,#0Ch để chọn kênh AD0 với điện áp tham chiếu 1,25V internal và kích hoạt bộ biến đổi ADC Lệnh để bắt đầu chuyển đổi ADC là: setb ADCRUN.
Khi ADC hoàn tất quá trình chuyển đổi từ tín hiệu tương tự sang tín hiệu số, bit ADCRUN sẽ tự động bị xóa Thời gian chờ cho quá trình chuyển đổi được thể hiện qua việc quét bit ADCRUN thông qua lệnh jb ADCRUN, $.
Giá trị chuyển đổi đọc ở 2 thanh ghi ADDATL(7:0) và ADDATH(9:8) Giá trị đọc được từ 0 đến 1023 tương ứng với điện áp lối vào từ 0 vôn đến 1,25 vôn
Chương trình đọc giá trị ADC thực hiện theo các bước sau:
Hình 3.7 Sơ đồ ghép nối giữa VĐK và cảm biến tương tự
- Đặt bộ biến đổi ADC về chế độ single
- Đặt điện áp tham chiếu là 1,25V
Bước 2: Đọc giá trị ADC
- Chờ cho ADC biến đổi xong
- Đọc giá trị chuyển đổi