Bản luận văn “Thiết kế chế tạo, vận hành và đo thử nghiệm mạng cảm nhận không dây wireless sensor network trên cơ sở sử dụng chip vi điều khiển có mật độ tích hợp cao làm nút mạng và xâ
Trang 1MỞ ĐẦU
Một lĩnh vực nổi bật của mạng cảm nhận không dây (Wireless Sensor Network- WSN) là sự kết hợp việc cảm nhận, tính toán và truyền thông vào một thiết bị nhỏ Thông qua mạng hình lưới (mesh networking protocols), những thiết bị này tạo ra một sự kết nối rộng lớn trong thế giới vật lý Trong khi khả năng của từng thiết bị là rất nhỏ, sự kết hợp hàng trăm thiết bị như vậy yêu cầu là phải có công nghệ mới
Sức mạnh của WSN nằm ở chỗ khả năng triển khai một số lượng lớn các thiết
bị nhỏ có thể tự thiết lập cẩu hình hệ thống Sử dụng những thiết bị này để theo dõi theo thời gian thực, để giám sát điều kiện môi trường, để theo dõi cấu trúc hoặc tình trạng thiết bị
Hầu hết những ứng dụng của WSN là giám sát môi trường từ xa với tần số lấy
dữ liệu thấp Ví dụ, có thể dễ dàng được giám sát sự rò rỉ của một nhà máy hoá học bởi hàng trăm cảm biến tự động kết nối thành hệ thống mạng không dây để ngay lập tức phát hiện và báo cáo sự rò rỉ Không giống những hệ thống có dây truyền thống, chi phí triển khai cho WSN được giảm thiểu Thay vì hàng ngàn mét dây dẫn thông qua các ống dẫn bảo vệ, người lắp đặt chỉ việc đơn giản là đặt thiết bị nhỏ gọn vào nơi cần thiết Mạng có thể được mở rộng chỉ bằng cách đơn giản là thêm các thiết
bị, không cần các thao tác phức tạp Hệ thống cũng có khả năng hoạt động trong vài năm chỉ với một nguồn pin duy nhất
Để giảm thiểu chi phí lắp đặt, WSN cần phải có khả năng thay đổi linh hoạt theo môi trường Cơ chế thích nghi theo sự thay đổi mô hình mạng hay do mạng có
sự thay đổi giữa các chế độ làm việc Ví dụ cùng một hệ thống mạng giám sát sự rò
rỉ trong một nhà máy hoá chất có thể được cấu hình lại thành một mạng được thiết
kế từ trước để khoanh vùng nguồn rò rỉ và tìm ra đúng chỗ Mạng cũng có thể hướng dẫn các công nhân đường đi an toàn nhất khi có sự cố khẩn cấp
Nhìn chung, khi con người nghĩ đến mạng không dây họ sẽ nghĩ đến các thiết
bị di động, PDA hay laptop Những thiết bị này có giá thành cao và theo một mục đích cho trước và dựa trên cơ sở hạ tầng đã có trước Ngược lại, WSN sử dụng các
Trang 2thiết bị nhúng nhỏ, giá thành thấp cho các ứng dụng đa dạng và không dựa trên bất
kỳ cơ sở hạ tầng đã có từ trước Không giống các thiết bị không dây truyền thống, các nút mạng WSN không cần truyền trực tiếp tới trạm gốc, mà chỉ cần truyền tới trạm gần nó, rồi lần lượt truyền về trạm gốc theo dạng truyền thông multihop Một ví dụ về mạng được đưa ra trong hình 1 Nó minh hoạ một ứng dụng trong nông nghiệp Hàng trăm nút nằm rải rác trong cánh đồng liên kết với nhau, thiết lập một mô hình định tuyến, và truyền dữ liệu cho một trung tâm Ứng dụng đòi hỏi phải thiết thực, uyển chuyển, chi phí thấp và dễ triển khai thành mạng WSN Nếu một trong các nút lỗi, một mô hình mạng mới được lựa chọn và toàn bộ mạng vẫn tiếp tục truyền dữ liệu Nếu có thêm nút mạng, chúng chỉ tạo nên nhiều cơ hội định tuyến hơn
Một thách thức cơ bản của WSN là đưa các ràng buộc khắt khe vào trong một thiết bị đơn lẻ Các hệ xử lý nhúng với bộ nhớ cỡ kilobytes phải thực hiện các giao thức mạng phức tạp theo dạng adhoc Rất nhiều ràng buộc đối với các thiết bị được triển khai với số lượng lớn cần có kích thước nhỏ và giá thành thấp Kích thước giảm là điều chủ yếu dẫn đến giảm giá thành, cũng như khả năng cho phép các thiết
bị được sử dụng trong một dải rộng các ứng dụng
Hình 1 Một ví dụ về ứng dụng của WSN trong nông nghiệp
Trang 3Một khó khăn lớn là năng lượng tiêu thụ Khi kích thước vật lý giảm, cũng làm giảm năng lượng tiêu thụ Các ràng buộc về năng lượng sẽ tạo nên giới hạn về tính toán và lưu trữ dẫn đến phải có kiến trúc mới Nhiều thiết bị, như điện thoại di động hay máy nhắn tin, giảm năng lượng tiêu thụ thông qua phần cứng truyền thông được thiết kế đặc biệt Một trạm WSN cần hỗ trợ cho một hệ các giao thức ứng dụng cụ thể để làm giảm mạnh kích thước, chi phí và năng lượng tiêu thụ cho ứng dụng đó
Bản luận văn “Thiết kế chế tạo, vận hành và đo thử nghiệm mạng cảm nhận không dây (wireless sensor network) trên cơ sở sử dụng chip vi điều khiển có mật
độ tích hợp cao làm nút mạng và xây dựng phần mềm nhúng nạp trong các vi điều khiển này” sẽ tổng quát hoá WSN, đưa ra các tiêu chí đánh giá đối với một WSN cũng như tiêu chí đánh giá một nút mạng, đồng thời xây dựng một số thử nghiệm mạng cảm nhận không dây dùng VĐK CC1010 của hãng Chipcon-Nauy Luận văn gồm 5 chương nội dung, phần mở đầu, phần kết luận, phần phụ lục
và tài liệu tham khảo
Chương 1: Giới thiệu mạng cảm nhận không dây sẽ giới thiệu một cách tổng
quan về WSN, các dạng ứng dụng của WSN và đưa ra những tiêu chí đánh giá cho WSN cũng như tiêu chí đánh giá một nút mạng cảm nhận
Chương 2: Nút mạng sẽ đưa ra các tiêu chí đánh giá cho một nút mạng trong
WSN, đồng thời giới thiệu một vi điều khiển CC1010 để làm nút mạng
Chương 3: Các phương pháp ghép nối CC1010 với các loại đầu đo và chương trình thực hiện Mục đích của chương này nêu các phương pháp ghép nối giữa vi
điều khiển CC1010 với các loại cảm biến bao gồm các loại cảm biến số nối tiếp và cảm biến tương tự Chương này cũng giới thiệu chi tiết về cách làm việc của CC1010 với cảm biến áp suất MS5535 cũng là một dạng cảm biến số nối tiếp Điều này góp phần khẳng định khả năng ghép nối với nhiều loại cảm biến khác nhau của CC1010
Chương 4: Phần mềm nhúng Mục đích của chương này giới thiệu các bước cơ
bản xây dựng một phần mềm nhúng và các phương pháp gỡ lỗi cho phần mềm nhúng
Trang 4Chương 5: Triển khai chức năng mạng và các thử nghiệm Mục đích của
chương này là đưa ra một cách xây dựng một WSN dựa trên vi điều khiển CC1010
Đa truy cập được xây dựng dưới dạng hỏi-đáp Bảng định tuyến hình cây chứa trong các nút mạng Các thử nghiệm đã thực hiện theo các tiêu chí độ ổn định truyền dữ liệu, khả năng tiết kiệm năng lượng của các nút mạng
Phần kết luận tổng kết những công việc đã thực hiện và những kết quả đã đạt
được đồng thời cũng đề cập đến công việc và hướng nghiên cứu trong tương lai Tác giả luận văn này xin gửi lời cảm ơn sâu sắc nhất đến PGS TS Vương Đạo
Vy, Khoa Điện tử viễn thông - Trường Đại học công nghệ - Đại học quốc gia Hà nội, người đã hướng dẫn tận tình và giúp đỡ tôi rất nhiều trong quá trình thực hiện luận văn này
Tác giả
Nguyễn Thế Sơn
Trang 5bị riêng lẻ Để làm cho WSN trở nên thực tế, một kiến trúc cần được phát triển để tổng hợp các ứng dụng dựa trên khả năng của phần cứng
Để phát triển kiến trúc hệ thống cần đi từ yêu cầu ứng dụng mức cao xuống các yêu cầu phần cứng mức thấp Để giới hạn số các ứng dụng phải xem xét, cần tập trung vào một tập các dạng ứng dụng được sử dụng nhiều trong thực tế Sử dụng các dạng ứng dụng này để tìm ra các yêu cầu mức 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
Có ba dạng ứng dụng của mạng cảm nhận không dây: 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 các ứng dụng chủ yếu của
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 thu thập dữ liệu môi trường ra đời đáp ứng cho nhu cầu thu thập thông tin về môi trường tại một tập hợp các điểm xác định trong một khoảng thời gian nhất định nhằm phát hiện xu hướng hoặc quy luật vận động của môi trường Bài toán này được đặc trưng bởi một số lớn các nút mạng, thường xuyên cung cấp thông số môi trường và gửi về một hoặc một tập trạm gốc (base station) có kết nối với trung tâm xử lý (thường là hệ thống máy tính) phân tích, xử
Trang 6lý, đưa ra các phương án phù hợp hoặc cảnh báo hay đơn thuần chỉ là lưu trữ số liệu Yêu cầu đặt ra đối với các mạng kiểu này là thời gian sống phải dài hay nói cách khác là các nút mạng phải tiêu thụ năng lượng ít Mạng cho ứng dụng thu thập
dữ liệu môi trường thường sử dụng topology dạng cây, mỗi nút mạng có một nút cha duy nhất Trạm gốc sẽ là gốc của cây Dữ liệu từ một nút bất kỳ sẽ được gửi đến cho nút cha của nó, nút này lại tiếp tục chuyển đến cho nút cha tiếp theo (nút ông),
cứ như vậy, dữ liệu sẽ được chuyển về trạm gốc
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 vài nút mạng, vì một số lý do nào đó, không hoạt động Để mạng tiếp tục hoạt động nó phải có khả năng tự cấu hình lại, nghĩa là phải phát hiện ra các nút bị hỏng hoặc định kỳ thực hiện việc cấu hình lại mạng
- 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 phải được thiết kế và lập trình sao cho phù hợp nhất với bài toán truyền thông các thông số đo được như nhiệt độ, độ ẩm, ánh sáng Phần mềm phải tương thích với phần cứng để hệ có khả năng hoạt động ổn định
theo thời gian
1.1.1.2 Giám sát an ninh
Một ứng dụng thứ hai của mạng cảm nhận là giám sát an ninh Các mạng giám sát an ninh được tạo bởi các nút đặt ở những vị trí cố định trong môi trường liên tục theo dõi một hay nhiều cảm biến để nhận biết sự bất thường Sự khác nhau chủ yếu giữa giám sát an ninh và giám sát môi trường là các mạng an ninh không thu thập bất kỳ dữ liệu nào Điều này có tác động lớn đến việc tối ưu kiến trúc mạng Mỗi nút thường xuyên kiểm tra trạng thái các cảm biến của chúng nhưng chỉ truyền dữ liệu khi có sự vi phạm an ninh Việc truyền tức thời và tin cậy của thông điệp cảnh báo là yêu cầu chính của hệ thống
Trang 7Thêm vào đó, nó cần được xác nhận là mỗi nút vẫn hiện diện và hoạt động Nếu một nút bị lỗi, nó sẽ thể hiện một sự vi phạm an ninh cần được thông báo Đối với các ứng dụng giám sát an ninh, mạng cần được cấu hình sao cho các nút chịu trách nhiệm xác nhận trạng thái các nút khác Một cách tiếp cận là mỗi nút ngang hàng sẽ thông báo nếu một nút không hoạt động Mô hình tối ưu của một mạng giám sát an ninh sẽ hoàn toàn khác với mạng thu thập dữ liệu
Trong cây thu thập số liệu, mỗi nút phải truyền dữ liệu của tất cả con cháu Do
đó, tối ưu là cây ngắn và rộng Ngược lại, với mạng an ninh cấu hình tối ưu sẽ có
mô hình mạng tuyến tính Công suất tiêu thụ của mỗi nút chỉ tỷ lệ với số các con của nó Trong mạng tuyến tính, mỗi nút chỉ có 1 con Điều này phân phối đều năng lượng tiêu thụ của mạng
Sự tiêu thụ năng lượng chủ yếu trong mạng an ninh là gặp các yêu cầu báo hiệu cảnh báo khi có sự vi phạm an ninh Mỗi khi nhận thấy, một sự vi phạm an ninh cần được truyền tới trạm gốc ngay lập tức Độ trễ của việc truyền dữ liệu qua mạng tới trạm gốc có ảnh hưởng nhất định tới hiệu quả của ứng dụng Các nút mạng cần có khả năng trả lời nhanh chóng với các yêu cầu của các nút láng giềng để chuyển tiếp dữ liệu
Trong các mạng an ninh việc giảm thời gian trễ của việc truyền cảnh báo quan trọng hơn việc giảm chi phí năng lượng khi truyền Điều này do các sự kiện cảnh báo rất hiếm khi xảy ra Trong mạng phòng cháy các cảnh báo gần như không bao giờ xảy ra Đối với sự kiện xảy ra 1 lần năng lượng chủ yếu được dành cho việc truyền Giảm độ trễ truyền sẽ làm tăng năng lượng tiêu thụ vì các nút định tuyế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, phần lớn năng lượng tiêu thụ dành cho việc xác nhận chức năng của các nút láng giềng và chuẩn bị chuyển tiếp thông báo cảnh báo Việc truyền dữ liệu hiện thời sẽ tốn một phần năng lượng của mạng
1.1.1.3 Theo dõi đối tượng
Với các mạng cảm nhận không dây, các đối tượng có thể được theo dõi đơn giản gắn chúng với một nút cảm biến nhỏ Nút cảm biến này sẽ được theo dõi khi
Trang 8chúng đi qua một trường các nút cảm biến được triển khai tại những vị trí đã biết Thay vì cảm nhận dữ liệu môi trường, những nút này sẽ được triển khai để cảm nhận các thông điệp RF của các nút gắn với các đối tượng Những nút này có thể được sử dụng như những thẻ để thông báo sự có mặt của một thiết bị Một cơ sở dữ liệu có thể được sử dụng để ghi lại vị trí tương đối của đối tượng với các nút mạng,
do đó có thể biết vị trí hiện thời của đối tượng
Không như mạng cảm nhận hay mạng an ninh, các ứng dụng theo dõi sẽ liên tục thay đổi topology khi các nút đi qua mạng Trong khi sự kết nối giữa các nút tại các vị trí cố định tương đối ổn định, sự kết nối tới các nút di động sẽ liên tục thay đổi Thêm vào đó tập hợp các nút bị theo dõi sẽ liên tục thay đổi khi các nút gia nhập hay rời khỏi hệ thống Điều chủ yếu là mạng có khả năng nhận biết một cách hiệu quả sự có mặt của các nút mới đi vào mạng
1.1.2 Các chỉ tiêu hệ thống
Sau đây là các chỉ tiêu để đánh giá một WSN Các chỉ tiêu chủ yếu là thời gian sống, độ bao phủ, chi phí và dễ triển khai, thời gian trả lờ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 lại liên quan với nhau Thường thì khi tăng hiệu quả một tham số thì lại làm giảm hiệu quả của tham số khác, ví dụ như tăng tốc độ lấy mẫu lại làm giảm thời gian sống Mục đích ở phần này hiểu rõ và cân bằng các chỉ tiêu với khả năng của hệ thống
1.1.2.1 Thời gian sống
Có một giới hạn của mạng cảm nhận không dây đó là thời gian sống Cả hai ứng dụng giám sát môi trường và giám sát an ninh các nút đều được đặt ở ngoài môi trường, không có người giám sát theo hàng tháng hay hàng năm
Yếu tố chủ yếu giới hạn thời gian sống của mạng cảm nhận là năng lượng cung cấp Mỗi nút cần được thiết kế quản lý năng lượng cung cấp nội bộ để tối đa thời gian sống của mạng Trong trường hợp mạng an ninh, mỗi nút phải sống trong nhiều năm Một nút bị lỗi sẽ làm tổn thương hệ thống an ninh
Trong vài tình huống có thể dùng nguồn năng lượng ngoài Tuy nhiên, vì ưu điểm chính của mạng không dây là tính linh hoạt dễ triển khai Yêu cầu nguồn năng
Trang 9lượng ngoài cho tất cả các nút mạng lại mâu thuẫn với ưu điểm này Một giải pháp thoả hiệp là có một nhóm các nút đặc biệt được cấp nguồn ngoài
Trong hầu hết các ứng dụng, đặc điểm chính của các nút là tự cấp nguồn Chúng sẽ có đủ năng lượng cho nhiều năm, hoặc có thể lấy năng lượng từ môi trường thông qua thiết bị khác, như năng lượng mặt trời hay nguồn áp điện Cả hai
sự lựa chọn đều yêu cầu năng lượng tiêu thụ trung bình của các nút càng ít càng tốt Yếu tố quan trọng quyết định thời gian sống là năng lượng tiêu thụ radio Một nút cảm nhận không dây khi truyền hoặc nhận tín hiệu radio sẽ tiêu thụ năng lượng lớn Năng lượng tiêu thụ này có thể giảm được bằng cách giảm năng lượng truyền, tức là giảm chu trình làm việc của radio
1.1.2.2 Độ bao phủ
Bên cạnh thời gian sống, độ bao phủ là cũng là tham số đánh giá cho mạng không dây Nó có thuận lợi là khả năng triển khai một mạng trên một vùng rộng lớn Điều này làm tăng giá trị hệ thống đối với người dùng cuối Điều quan trọng là
độ bao phủ của mạng không tương đương với khoảng cách kết nối không dây được
sử dụng Kỹ thuật truyền multi-hop có thể mở rộng độ bao phủ của mạng Về mặt lý thuyết chúng có khả năng mở rộng vô hạn Tuy nhiên, trong một khoảng cách truyền xác định, giao thức mạng multi-hop làm tăng năng lượng tiêu thụ của các nút, và sẽ làm giảm thời gian sống của mạng Hơn nữa, chúng đòi hỏi một mật độ tối thiểu, và sẽ làm tăng chi phí triển khai
Ràng buộc khoảng cách dẫn đến việc mở rộng một số lượng lớn các nút Giá trị chủ yếu của mạng cảm nhận là khả năng mở rộng Một người dùng có thể triển khai một mạng nhỏ ban đầu và sau đó tiếp tục thêm các nút Tăng số lượng các nút trong hệ thống sẽ ảnh hưởng tới thời gian sống Càng nhiều điểm cảm nhận thì càng
có nhiều dữ liệu được truyền và sẽ làm tăng năng lượng tiêu thụ của mạng
1.1.2.3 Chi phí và dễ triển khai
Ưu điểm mấu chốt của mạng cảm nhận không dây là dễ triển khai Người sử dụng không cần phải hiểu về mạng và cơ chế truyền thông khi làm việc với WSN
Trang 10Để triển khai hệ thống thành công, WSN cần phải tự cấu hình Các nút được đặt vào môi trường và có thể hoạt động ngay
Lý tưởng là, hệ thống cần phải tự cấu hình đối với sự sắp đặt nút vật lý Tuy nhiên, các hệ thống thực cần đặt các ràng buộc vào một sự sắp đặt nút hiện thời – các nút không thể có khoảng cách vô hạn WSN cần có khả năng phản hồi khi những sự ràng buộc bị vi phạm Mạng cần phải có khả năng đánh giá chất lượng của việc triển khai mạng và chỉ rõ các vấn đề tiềm ẩn Điều đó nghĩa là các nút mạng cần có khả năng tìm kết nối và xác định chất lượng kết nối
Thêm vào đó, hệ thống cần thích nghi đối với sự thay đổi điều kiện môi trường Trong suốt thời gian sống, sẽ có thể thay đổi vị trí hay các đối tượng lớn có thể gây nhiễu tới sự truyền thông giữa hai nút Mạng cần có khả năng tự cấu hình lại
để khắc phục những điều này
Việc triển khai và thiết lập cấu hình ban đầu chỉ là bước đầu tiên trong chu kỳ sống của mạng Trong thời gian dài, tổng chi phí của hệ thống có thêm chi phí bảo dưỡng Ứng dụng an ninh còn có yêu cầu hệ thống phải rất mạnh Để mở rộng khả năng kiểm tra trước khi triển khai, hệ cảm nhận cần được xây dựng để có thể thực hiện việc tự bảo trì Khi cần, nó có thể tạo ra các yêu cầu bảo trì ngoài
Trong thực tế, một phần năng lượng được dành cho kiểm tra và bảo trì hệ thống Việc tạo ra thông tin chẩn đoán và tái cấu hình sẽ làm giảm thời gian sống của mạng, đồng thời cũng làm giảm tốc độ lấy mẫu
1.1.2.4 Thời gian đáp ứng
Trong các ứng dụng cảnh báo, thời gian đáp ứng hệ thống là một thông số quan trọng để đánh giá hệ thống Một cảnh báo cần được tạo ra ngay lập tức khi nhận thấy có một sự vi phạm Dù hoạt động năng lượng thấp, các nút cần có khả năng truyền tức thời các thông điệp qua mạng càng nhanh càng tốt Trong khi những sự kiện như vậy là không thường xuyên, chúng có thể xảy ra tại bất cứ thời điểm nào mà không được báo trước Thời gian đáp ứng cũng quan trọng khi điều khiển máy móc trong nhà máy Những hệ thống này chỉ thành hiện thực nếu đảm bảo được thời gian đáp ứng
Trang 11Khả năng có thời gian đáp ứng ngắn xung đột với các kỹ thuật làm tăng thời gian sống của mạng Thời gian sống của mạng có thể tăng bằng cách để các nút chỉ hoạt động radio trong thời gian ngắn Nếu một nút chỉ bật radio một lần trong một phút để truyền hay nhận dữ liệu, nó không thể đáp ứng được đối với các ứng dụng cho hệ thống an ninh
Thời gian đáp ứng có thể cải thiện bằng cách cấp nguồn cho một số nút trong toàn bộ thời gian Những nút này có thể nghe các thông điệp cảnh báo và chuyển tiếp chúng theo đường khi cần Tuy nhiên điều này sẽ làm giảm tính dễ triển khai hệ thống
1.1.2.5 Độ chính xác về thời gian
Trong ứng dụng theo dõi đối tượng và giám sát môi trường các mẫu từ nhiều nút có liên quan theo thời gian để xác định các hiện tượng khác thường được theo dõi Tính chính xác của cơ chế tương quan phụ thuộc vào tốc độ lan truyền của hiện tượng được đo Trong trường hợp xác định nhiệt độ trung bình của một toà nhà, các mẫu chỉ được liên quan với nhau trong vòng cỡ hàng giây Tuy nhiên, để xác định cách phản ứng của toà nhà đối với một trận động đất thì đòi hỏi độ chính xác cỡ mili giây
Để đạt được độ chính xác theo thời gian, một mạng cần xây dựng và duy trì một thời gian cơ sở toàn cục có thể được sử dụng để sắp xếp các mẫu và các sự kiện theo thời gian Trong một hệ phân tán, năng lượng cần được mở rộng để duy trì và phân phát đồng hồ Thông tin đồng bộ thời gian cần liên tục được truyền giữa các nút Tần số các thông điệp đồng bộ phụ thuộc vào yêu cầu độ chính xác của đồng hồ thời gian
1.1.2.6 Bảo mật
Các thông tin về nhiệt độ đối với ứng dụng giám sát môi trường đường như vô hại nhưng việc giữ bí mật thông tin là rất quan trọng Các hoạt động của một toà nhà có thể thu thập được dễ dàng bằng cách lấy thông tin về nhiệt độ và ánh sáng của toà nhà đó Những thông tin này có thể được sử dụng để sắp xếp một kế hoạch
Trang 12tấn công vào một công ty Do đó, WSN cần có khả năng giữ bí mật các thông tin thu thập được
Trong các ứng dụng an ninh, dữ liệu bảo mật trở nên rất quan trọng Không chỉ duy trì tính bí mật, nó còn phải có khả năng xác thực dữ liệu truyền Sự kết hợp tính
bí mật và xác thực là yêu cầu cần thiết của cả ba dạng ứng dụng
Việc sử dụng mã hoá và giải mã sẽ làm tăng chi phí về năng lượng và băng thông Dữ liệu mã hoá và giải mã cần được truyền cùng với mỗi gói tin Điều đó ảnh hưởng tới hiệu suất ứng dụng do giảm số lượng dữ liệu lấy từ mạng và thời gian sống mong đợi
1.1.2.7 Tốc độ thu thập thông tin hiệu quả
Trong một mạng thu thập dữ liệu, tốc độ thu thập thông tin hiệu quả là tham số đánh giá hiệu suất của hệ thống Tốc độ thu thập thông tin hiệu quả là số mẫu lấy được từ mỗi nút riêng lẻ và truyền về điểm thu thập trung tâm Thông thường, các ứng dụng thu thập dữ liệu chỉ có tốc độ lấy mẫu là 1-2 mẫu trong 1 phút
Trong một cây thu thập dữ liệu, một nút cần điều khiển dữ liệu của tất cả các con cháu Nếu mỗi nút con truyền một dữ liệu và một nút có 60 nút con cháu, nó phải truyền 60 lần Thêm vào đó nó còn phải nhận 60 lần trong một chu kỳ lấy mẫu Tốc độ và kích thước mạng ảnh hưởng tới tốc độ lấy mẫu hiệu quả
Một cơ chế để tăng tốc độ lấy thông tin là truyền dữ liệu thô và xử lý dữ liệu nội mạng (innetwork processing) Các dạng nén không gian và thời gian có thể được sử dụng để giảm yêu cầu về băng thông trong khi vẫn duy trì được tốc độ lấy mẫu hiệu quả Xử lý dữ liệu nội mạng có thể được sử dụng để xác định khi một sự kiện quan tâm xảy ra và tự động lưu trữ dữ liệu Dữ liệu sau đó được truyền qua mạng multi-hop khi băng thông cho phép
1.1.3 Các chỉ tiêu nút mạng
Sau đây là những chỉ tiêu để đánh giá một nút mạng trong WSN Mục đích là qua các chỉ tiêu đánh giá đó để có thể lựa chọn loại VĐK thích hợp và cũng để xây dựng hệ thống hiệu quả
Trang 131.1.3.1 Năng lượng
Để đạt được yêu cầu duy trì năng lượng hoạt động trong nhiều năm thì các nút mạng cần phải tiêu thụ năng lượng rất thấp Việc tiêu thụ năng lượng thấp chỉ đạt được bằng cách kết hợp các thành phần phần cứng năng lượng thấp và chu trình hoạt động ngắn Trong thời gian hoạt động, truyền thông radio sẽ tiêu thụ một phần năng lượng đáng kể trong tổng mức tiêu thụ năng lượng của nút mạng Các thuật toán và các giao thức cần được phát triển để giảm hoạt động truyền nhận radio Điều này có thể đạt được bằng cách sử dụng sự tính toán cục bộ để giảm luồng dữ liệu nhận được từ cảm biến Ví dụ, các sự kiện từ nhiều nút cảm biến có thể được kết hợp cùng nhau thành một nhóm các nút trước khi truyền một kết quả đơn lẻ qua mạng cảm nhận
1.1.3.2 Tính mềm dẻo
Các nút mạng phải có khả năng thích nghi cao để thích hợp với các ngữ cảnh khác nhau Mỗi một ứng dụng sẽ yêu cầu về thời gian sống, tốc độ lấy mẫu, thời gian đáp ứng và xử lý nội mạng khác nhau Một kiến trúc WSN cần phải đủ mềm dẻo để cung cấp một dải rộng các ứng dụng Thêm vào đó, vì lý do chi phí mỗi thiết
bị sẽ chỉ có phần cứng và phần mềm cho một ứng dụng cụ thể Kiến trúc cần phải đơn giản để kết hợp giữa phần cứng và phần mềm Vì vậy, những thiết bị này đòi hỏi một mức độ cao về tính modul của phần cứng và phần mềm trong khi vẫn giữ được tính hiệu quả
1.1.3.3 Sức mạnh
Để hỗ trợ cho các yêu cầu về thời gian sống, mỗi nút cần phải càng mạnh càng tốt Trong sự thực tế, hàng trăm nút mạng sẽ hoạt động trong nhiều năm Để đạt được điều này, hệ thống cần được xây dựng để vẫn có thể hoạt động khi một nút bị lỗi Modul hoá hệ thống là một công cụ mạnh để phát triển hệ thống Bằng cách chia chức năng hệ thống thành các thành phần con độc lập, mỗi chức năng có thể được kiểm tra đầy đủ trước khi kết hợp chúng thành một ứng dụng hoàn chỉnh Để làm điều này, các thành phần hệ thống phải độc lập đến mức có thể và có giao tiếp chặt chẽ, để ngăn chặn các tương tác không mong đợi Để tăng sức mạnh hệ thống
Trang 14khi nút bị lỗi, một WSN cũng cần có khả năng đối phó với nhiễu ngoài Các mạng thường cùng tồn tại cùng với các hệ thống không dây khác, chúng cần có khả năng
để thích nghi theo các hành động khác nhau Nó cũng phải có khả năng hoạt động trong môi trường đã có các thiết bị không dây khác hoạt động với một hay nhiều tần
số Khả năng tránh tắc nghẽn tần số là điều cốt yếu để đảm bảo một sự triển khai thành công
1.1.3.4 Bảo mật
Để đạt được mức độ bảo mật mà ứng dụng yêu cầu, các nút riêng lẻ cần có khả năng thực hiện sự mã hoá phức tạp và thuật toán xác thực Truyền dữ liệu không dây rất dễ bị chặn Chỉ có một cách bảo mật dữ liệu là mã hoá toàn bộ dữ liệu truyền CPU cần có khả năng tự thực hiện các thao tác mật mã Để bảo mật toàn bộ
dữ liệu truyền, các nút cần tự bảo mật dữ liệu của chúng Trong khi chúng không có lượng lớn dữ liệu lưu bên trong, chúng sẽ phải lưu các khoá mã hoá được sử dụng trên mạng Nếu những khoá này bị lộ, tính bảo mật của mạng sẽ mất Để có được tính bảo mật tốt, cần phải rất khó để lấy được khoá mã hóa từ một nút
1.1.3.5 Truyền thông
Một chỉ tiêu đánh giá cho bất kỳ WSN là tốc độ truyền, năng lượng tiêu thụ và khoảng cách Trong khi độ bao phủ của mạng không bị giới hạn bởi khoảng cách truyền của các nút riêng biệt, khoảng cách truyền có một ảnh hưởng quan trọng tới mật độ tối thiểu có thể chấp nhận được Nếu các nút được đặt rất xa nó không thể tạo được kết nối với mạng liên kết hoặc với một nút dự trữ để có được độ tin cậy cao Nếu khoảng cách truyền radio thoả mãn một mật độ nút cao, các nút thêm vào
sẽ làm tăng mật độ hệ thống tới một mức độ nào đó cho phép Tốc độ truyền cũng
có ảnh hưởng lớn đến hiệu suất của nút mạng Tốc độ truyền cao hơn làm cho khả năng lấy mẫu hiệu quả hơn và năng lượng tiêu thụ của mạng ít hơn Khi tốc độ tăng, việc truyền mất ít thời gian hơn và do đó đòi hỏi ít năng lượng hơn Tuy nhiên, khi tăng tốc độ cũng thường làm tăng năng lượng tiêu thụ radio Mọi thứ trở nên bằng nhau, một tốc độ cao sẽ tăng hiệu suất hệ thống Tuy nhiên, tăng tốc độ có ảnh
Trang 15hưởng lớn tới năng lượng tiêu thụ và yêu cầu tính toán của nút Tổng thể, lợi ích của việc tăng tốc độ có thể được bù lại bởi các yếu tố khác
1.1.3.6 Tính toán
Hai việc tính toán cho nút mạng tập trung chủ yếu vào xử lý dữ liệu nội mạng
và quản lý các giao thức truyền thông không dây mức thấp Có những yêu cầu giới hạn về mặt thời gian thực đối với truyền thông và cảm biến Khi dữ liệu tới trên mạng, CPU cần điều khiển đồng thời radio và ghi lại/giải mã (record/decode) dữ liệu tới Tốc độ truyền cao hơn đòi hỏi tính toán nhanh hơn Điều tương tự cũng đúng đối với xử lý dữ liệu cảm biến Các cảm biến tương tự có thể phát ra hàng ngàn mẫu trong một giây Các thao tác xử lý cảm biến nói chung bao gồm lọc số, trung bình hoá, nhận biết ngưỡng, phân tích phổ… Để tăng khả năng xử lý cục bộ, các nút láng giềng có thể kết hợp dữ liệu với nhau trước khi truyền đi trên mạng Các kết quả từ nhiều nút mạng có thể được tổng hợp cùng nhau Xử lý nội mạng này đòi hỏi thêm tài nguyên tính toán Ngoài ra, ứng dụng xử lý dữ liệu có thể tiêu thụ một lượng tính toán phụ thuộc vào các phép toán được thực hiện
1.1.3.7 Đồng bộ thời gian
Để hỗ trợ sự tương quan thời gian đọc cảm biến và chu trình hoạt động ngắn của ứng dụng thu thập dữ liệu, các nút cần duy trì đồng bộ thời gian chính xác với các thành viên khác trong mạng Các nút cần ngủ và thức dậy cùng nhau để chúng
có thể định kỳ truyền thông cho nhau Các lỗi trong cơ chế tính thời gian sẽ tạo nên
sự không hiệu quả dẫn đến làm tăng chu trình làm việc Trong các hệ phân tán, việc trôi clocks theo thời gian là do cơ chế tính thời gian không chính xác Phụ thuộc vào nhiệt độ, điện áp, độ ẩm, thời gian dựa theo dao động sẽ không như nhau Cần có cơ chế đồng bộ hoá cao để bù lại những sự không chính xác như vậy
1.1.3.8 Kích thước và chi phí
Kích thước vật lý và giá thành của mỗi nút riêng lẻ có ảnh hưởng tới sự dễ dàng và chi phí khi triển khai Tổng chi phí vật tư và chi phí triển khai ban đầu là hai yếu tố chủ chốt dẫn đến việc chấp nhận các công nghệ WSN Với một ngân sách
cố định, việc giảm giá thành trên mỗi nút sẽ làm cho có khả năng mua thêm nhiều
Trang 16nút, triển khai một mạng thu thập với mật độ cao hơn, và thu thập được nhiều dữ liệu hơn Kích thước vật lý cũng ảnh hưởng tới sự dễ dàng khi triển khai mạng Các nút nhỏ hơn có thể được đặt ở nhiều vị trí hơn và được sử dụng trong nhiều tình huống hơn Trong tình huống theo dõi nút đối tượng, các nút nhỏ hơn, rẻ hơn sẽ tăng khả năng theo dõi nhiều đối tượng hơn
1.2 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 sử dụng trong WSN do Trường đại học Berkeley nghiên cứu và phát triển TinyOS sử dụng cơ chế đa truy cập S-MAC [18], sử dụng ngôn ngữ nesC [8] Truyền thông trong mạng sử dụng TinyOS là dạng multihop TinyOS có kích thước nhỏ, mã nguồn mở, dùng mô hình hướng sự kiện, với 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 sự hạn chế
về tài nguyên tính toán và không gian nhớ TinyOS sử dụng bộ lập lịch thao tác kiểu FIFO kết nối mềm dẻo giữa phần cứng và các ứng dụng TinyOS cung cấp giao diện mạng tiện dụng, dùng mô hình truyền thông Active Message (AM), phổ biến
và hiệu quả trong tính toán song song hiệu năng cao TinyOS do vậy, đã tạo ra khả năng giao tiếp mạnh cho các nút mạng trong WSN
Hình 1.1 Kiến trúc thành phần của TinyOS
Trang 17TinyOS tạo ra khả năng giao tiếp mạnh cho các nút mạng trong WSN Hiện tại TinyOS đang được nghiên cứu, chuyển đổi để làm việc với VĐK CC1010, là loại VĐK sẽ được dùng để xây dựng các thử nghiệm trong khuôn khổ luận văn
Dựa trên TinyOS và các đặc trưng của CC1010, kiến trúc phần mềm nhúng cho WSN được đề xuất như biểu diễn ở hình 1.2 Tầng trung gian giữa TinyOS và CC1010 là thư viện HAL (Hardware Abstraction Library), cho phép TinyOS tương tác với phần cứng
Tầng phía trên TinyOS là giao thức dẫn đường trong WSN Nó vừa cho phép truyền dữ liệu an toàn vừa hạn chế hiện tượng thắt cổ chai Tầng trên cùng là các ứng dụng đặc thù cho WSN bao gồm: module tự cấu hình mạng và tự cầu hình lại mạng, module thực hiện việc đo các thông số môi trường và chuyển về cho trạm gốc Hai module này hoạt động theo chế độ định kỳ: sau một khoảng thời gian nhất định, nó được bộ định thời của CC1010 đánh thức và chuyển sang hoạt động; thực hiện xong nhiệm vụ, lại chuyển về nghỉ Thời gian cấu hình lại hệ thống và đo dữ liệu không giống nhau và phụ 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
Trang 181.2.2 Zigbee
Zigbee là hiệp hội được sáng lập bởi các công ty: Chipcon, Ember, Freescale, Honeywell, Mitsubishi, Motorola, Philips và Samsung Chuẩn Zigbee ra đời nhằm thiết lập một tiêu chuẩn mới cho mạng không dây với mục đích tiết kiệm năng lượng cho nút mạng
1.2.2.1 Ngăn xếp Zigbee
Zigbee phát triển lớp mạng và lớp ứng dụng trên cơ sở lớp MAC và lớp vật
lý của chuẩn IEEE 802.11.4 Lớp mạng hỗ trợ ba mô hình mạng: Mạng hình sao, Mạng lưới và Mạng hình cây
Lớp Vật lý
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
Trang 19Lớp MAC
Lớp MAC được thiết kế để hoạt động với nhiều dạng topology MAC cho phép các thiết bị ít chức năng (reduced functionality device - RFD) không cần nhiều ROM hay RAM Lớp MAC được thiết kế để kiểm soát số lượng lớn các thiết bị
• 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)
• Bảo mật
• Đị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:
Mạng hình sao
Mạng lưới
Trang 20- 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
Trang 211.3 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
Trang 22Từ các chỉ tiêu nút mạng đã nói ở Chương 1, các tiêu chí quan trọng để chọn VĐK như sau:
o Tiêu thụ năng lượng thấp
o Tích hợp ADC để có thể ghép nối với cảm biến tương tự
o Bộ nhớ chương trình cũng như bộ nhớ dữ liệu có kích thước hợp lý
o Kích thước vật lý nhỏ
o Có công cụ phát triển giúp người phát triển xây dựng hệ thống dễ dàng và thuận tiện như: sử dụng ngôn ngữ cấp cao, có các thư viện hỗ trợ cho việc cảm nhận cũng như truyền nhận không dây, hỗ trợ gỡ lỗi…
Trang 232.2 Giới thiệu Vi điều khiển CC1010
- 32 kB Flash, 2048 + 128 Byte SRAM
- 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
2.2.3 Ngắt
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
Trang 24Bảng 1 Ngắt và các tham số
tiên tự nhiên
Điều khiển mức ưu tiên
Vector ngắt
Cờ cho phép ngắt
Cờ ngắt
Ngắt truyền nối tiếp 0 5 IP.PS0 0x23 IE.ES0 SCON0.TI 0
Ngắt truyền nối tiếp 1 6 IP.PS1 0x3B IE.ES1 SCON1.TI 1
Ngắt truyền/nhận RF 7 EIP.PRF 0x43 EIE.RFIE EXIF.RFIF
và ADCON2
ADCIE
EXIF.ADIF
và ADCON2 ADCIF
Trang 25Ngắt mã hoá/giải mã
DES
EIE.ADIE
và CRPCON
CRPIE
EXIF.ADIF
và CRPCON CRPIF
Ngắt thời gian thực 11 EIP.PRTC 0x63 EIE.RTCIE EICON.RTCIF
2.2.3.1 Mặt nạ ngắt
IE.EA là cờ cho phép ngắt toàn bộ các ngắt, ngoại trừ ngắt Flash/Debug Khi
cờ IE.EA được thiết lập, mỗi ngắt bị che bởi cờ cho phép ngắt được liệt kê ở 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
2.2.3.2 Xử lý ngắt
Khi một ngắt được cho phép xảy ra, CPU nhảy tới địa chỉ phục vụ ngắt tương ứng với ngắt đó (ISR), như chỉ ra ở bảng 1 CC1010 thực hiện ISR để hoàn thành trừ khi một ngắt khác có mức ưu tiên cao hơn xảy ra Mỗi ISR kết thúc với lệnh RETI Sau khi thực hiện lệnh RETI, CC1010 quay trở lại lệnh tiếp theo sau lệnh đã được thực hiện trước khi xảy ra ngắt Nếu lệnh đang thực hiện là RETI, hay đang
ghi vào các thanh ghi IP, IE, EIP, EIE, CC1010 hoàn thành thêm một lệnh trước
Trang 26mức ưu tiên mà cùng xảy ra đồng thời, ngắt nào có mức ưu tiên tự nhiên thấp nhất
sẽ được phục vụ trước
2.2.4 Biến đổi ADC
Bộ biến đổi ADC của CC1010 có độ phân dải 10 bit, được điều khiển bởi các
thanh ghi ADCON và ADCON2 Có ba kênh vào ADC, được chọn bởi
ADCON.ADADR Thanh ghi này cũng được sử dụng để chọn chân AD1 như là điện áp tham chiếu ngoài (khi sử dụng AD0) Khi chân AD1 được dùng như tham chiếu ngoài, chỉ có hai lối vào ADC được sử dụng Đầu ra ADC là đơn cực, nghĩa là giá trị 0 tương ứng với 0V và 1023 tương ứng với điện áp tham chiếu (1.25 V hoặc
VDD phụ thuộc vào bit ADCREF) Điện áp tham chiếu analog được điều khiển bởi
ADCON.ADCREF ADCON.AD_PD cần đặt bằng 1 khi không sử dụng ADC để
tiết kiệm năng lượng Biến đổi ADC được bắt đầu sau 5µs sau khi xoá bit điều
khiển ADCON.ADCRUN khi sử dụng VDD hay nguồn tham chiếu ngoài, hoặc
100 µs khi sử dụng tham chiếu trong 1.25V
2.2.5 Bộ định thời
CC1010 có 4 bộ định thời Timer 0, Timer 1, Timer 2, Timer 3 hoạt động như
là bộ định thời hay bộ đếm (Timer/Counter) trong đó Timer2 và Timer3 còn có thể hoạt động như bộ điều chế độ rộng xung (PWM - Pulse Width Modulation)
2.2.5.1 Time 0/ Timer 1
Timer/Counter 0 và 1 có thể được lập trình và hoạt động độc lập theo 4 chế độ,
được điều khiển bởi các thanh ghi TMOD và TCON Các chế độ có thể như sau:
- 13 bit Timer/Counter (Mode 0)
- 16 bit Timer/Counter (Mode 1)
- 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]
Trang 272.2.5.2 Timer 2/ Timer 3
Ngoài tính năng như là bộ định thời, Timer 2 và 3 có thể được sử dụng như bộ
điều chế độ rộng xung PWM Nếu xoá bit TCON2.M2/TCON2.M3 thì sẽ là bộ định thời Nếu thiết lập bit TCON2.M2/TCON2.M3 thì sẽ là PWM Khi đó chân
P3.4 và chân P3.5 là chân phát xung đầu ra tương ứng cho Timer2/Timer3 Chu kỳ
TnPWM đối với Timer n như sau:
Đ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)
2.2.6.1 Miêu tả chung
Bộ thu phát CC1010 UHF RF được thiết kế cho những ứng dụng tiêu thụ năng lượng thấp và điện áp thấp Mạch thu phát được dành cho ISM (công nghiệp, khoa học và y học) và SRD (Short Range Device) dải tần 315, 433, 868 và 915 MHz, nhưng có thể dễ dàng lập trình để hoạt động trong dải tần 300-1000 MHz Các thông số chính của CC1010 có thể được lập trình thông qua các thanh ghi chức năng đặc biệt (Special Function Registers - SFRs), làm cho CC1010 rất mềm dẻo và
Trang 28dễ sử dụng bộ thu phát vô tuyến Rất ít các thành phần tích cực đòi hỏi cho hoạt động của bộ thu phát RF
Một sơ đồ khối được đơn giản hoá của bộ thu phát RF được thể hiện ở hình 2.1 Chỉ các chân tín hiệu analog được thể hiện cùng với bus dữ liệu SFR bên trong
để thiết lập giao tiếp RF và để truyền và nhận dữ liệu
Trong chế độ nhận, tín hiệu vào RF được khuếch đại bởi bộ khuếch đại ồn thấp (low-noise amplifier LNA) và được chuyển thành trung tần (intermediate frequency - IF) bởi bộ trộn (MIXER) Trong giai đoạn trung tần (IF STAGE) tín hiệu được khuếch đại và lọc trước khi đưa tới bộ giải điều chế (DEMOD) Như một lựa chọn, một tín hiệu RSSI hay IF sau khi trộn được đưa vào AD2 Sau khi giải
điều chế, tín hiệu số được đưa tới thanh ghi RFBUF Ngắt có thể được sinh ra theo mỗi bit hay mỗi byte nhận được (EXIF.RFIF)
Trong chế độ truyền, dao động được điều khiển bởi điện áp (VCO) được đưa trực tiếp tới khuếch đại công suất (PA) Đầu ra RF là khoá dịch chuyển tần số
(frequency shift keyed - FSK) bởi luồng bit được đưa tới thanh ghi RFBUF Ngắt
có thể được sinh ra cho mỗi bit hay byte được truyền (EXIF.RFIF) Mạch chuyển
Hình 2.1 Sơ đồ khối của bộ thu phát RF
Trang 29bê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 đưa tới MIXER trong chế độ nhận và PA trong chế độ truyền Bộ tổ hợp tần số bao gồm một dao động thạch anh (XOSC), bộ nhận biết pha (phase detector - PD), bơm nạp (CHARGE PUMP), bộ lọc (internal loop filter - LPF), VCO, và các bộ chia tần (/R và /N) Một tinh thể ngoài có thể được nối vào XOSC VCO chỉ cần một cuộn cảm ngoài
2.2.6.2 Mạch ứng dụng RF
Bộ thu phát RF đòi hỏi rất ít các ngoại vi Một mạch ứng dụng điển hình được thể hiện ở hình 2.2 Các giá trị của các thành phần này xin xem thêm phần Tài liệu tham khảo [6]
Trang 30Lọc
Hình 2.2 Một mạch ứng dụng CC1010 điển hình
Trang 31Các thành phần bên ngoài (ví dụ RF LC hay lọc răng cưa) có thể được sử dụng
để cải tiến hiệu năng cho các ứng dụng riêng biệt Nếu lọc răng cưa được sử dụng,
nó chỉ có tác dụng cho RX (phải sử dụng chuyển mạch ngoài RX/TX)
Nguồn cung cấp
Các tụ tách và lọc nguồn cần được sử dụng (không chỉ ra trong mạch ứng dụng) Các tụ này càng gần chân nguồn càng tốt Vị trí và kích thước của tụ tách và lọc nguồn là rất quan trọng để đạt được độ nhạy tốt nhất
Chú ý rằng các giá trị hợp thành cho 868 và 915 MHz có thể là như nhau Tuy nhiên, rất quan trọng là cách bố trí được tối ưu hoá để lựa chọn cuộn cảm VCO để làm cho tần số hoạt động được chính xác Cuộn cảm VCO phải được đặt rất sát và đối xứng với các chân tương ứng (L1 và L2) Chipcon cung cấp cách bố trí tham khảo để đạt được hiệu năng cao nhất
2.2.6.3 Điều khiển bộ thu phát RF và quản lý năng lượng
Thanh ghi RFMAIN điều khiển chế độ hoạt động (RX hay TX), sử dụng hai
thanh ghi tần số và các chế độ tiết kiệm năng lượng (power down) Theo cách này CC1010 có được sự mềm dẻo để quản lý công suất RF để đạt được chính xác năng lượng tiêu thụ đòi hỏi và các ứng dụng chỉ sử dụng pin Các chế độ tiết kiệm năng lượng khác nhau được điều khiển thông qua các bit riêng biệt trong thanh ghi
RFMAIN Các bit này điều khiển phần RX, TX, bộ tổ hợp tần số và dao động thạch anh Sự điều khiển riêng biệt này có thể dùng để tối ưu hoá làm cho dòng tiêu thụ thấp nhất có thể trong các ứng dụng nào đó Một thứ tự bật nguồn điển hình để đạt được dòng tiêu thụ thấp nhất được thể hiện ở hình 2.3 Hình vẽ giả thiết rằng tần số
A dùng cho RX và tần số B dùng cho TX Nếu không gặp trường hợp này, đảo lại
thiết lập F_REG
Trang 322.2.6.4 Điều chế dữ liệu và các chế độ dữ liệu
Có bốn chế độ dữ liệu khác nhau được xác định cho truyền và nhận, có thể lập
trình được qua MODEM0.DATA_FORMAT Các chế độ này khác nhau ở cách
mã hoá dữ liệu, cách dữ liệu đến và đi được và được chấp nhận, và liệu có sự đồng
bộ hoá luồng bit hay không Định dạng dữ liệu cần được chọn trước khi bộ thu phát
RF hoạt động Hai trong số các chế độ, chế độ đồng bộ NRZ và chế độ đồng bộ Manchester, truyền hay nhận dữ liệu có tốc độ baud được thiết lập trong
MODEM0.BAUDRATE Modem thực hiện việc đồng bộ hoá luồng bit trong suốt quá trình nhận Trong chế độ Manchester modem cũng thực hiện mã hoá và giải mã Manchester Các chế độ NRZ và Manchester chấp nhận và truyền dữ liệu theo cả hai cách một bit hay một byte trong cùng một thời điểm, lập trình được qua
RFCON.BYTEMODE Trong hầu hết các ứng dụng có hai chế độ được khuyên
Tắt RF
Tắt RF
Hình 2.3 Tuần tự bật thu phát RF
Trang 33dùng Dữ liệu truyền đi hay nhận về được đặt trong thanh ghi RFBUF Trong quá
trình truyền hay nhận cần biết có dữ liệu đến hay đi, từng bit hay từng byte phụ
thuộc vào RFCON.BYTEMODE, được báo hiệu bằng cách tạo ra (EXIF.RFIF.) Phụ thuộc vào liệu ngắt RF được cho phép hay không (EIE.RFIE), việc truyền hay
nhận dữ liệu có thể được điều khiển bởi chương trình phục vụ ngắt hay có thể được
thực hiện bằng cách hỏi (polling) Trong quá trình nhận khi sử dụng chế độ NRZ hay Manchester, nhận biết tín hiệu dẫn đường bằng phần cứng và nhận biết dấu
hiệu bắt đầu một frame có thể sử dụng các thanh ghi PDET và BSYNC Hai chế độ
khác, Transparent mode và UART mode, chỉ đơn giản là truyền số liệu FSK modem
và thanh ghi RFBUF và UART0, cho phép lựa chọn tốc độ và mã hoá dữ liệu Khi
sử dụng UART0 trong chế độ UART chân P3.1 không được sử dụng cho UART
output và có thể sử dụng như một cổng I/O Chipcon khuyên rằng các chế độ đồng
bộ được sử dụng Các chế độ dữ liệu khác bỏ qua mạch quyết định dữ liệu của bộ
thu phát RF và không hỗ trợ chế độ bytemode Chế độ Transparent mode chỉ dùng
để kiểm thử
Mã hoá Manchester
Trong chế độ Manchester data clock được truyền cùng với dữ liệu '1' được mã
hoá bằng tần số cao f1 theo sau là tần số thấp hơn f0 '0' được mã hoá bằng tần số thấp f0 theo sau là tần số cao hơn f1 Điều này được minh hoạ ở hình 2.4
Hình 2.4 Mã hoá Manchester
Trang 342.2.6.5 Tốc độ Baud
Tốc độ từ 0.6 kBaud tới 76.8 kBaud được thiết lập trong bit điều khiển
MODEM0.BAUDRATE MODEM0.XOSC_FREQ cũng phải được thiết lập tuỳ
vào tinh thể thạch anh đang sử dụng Tốc độ baud được tính theo công thức sau:
kbaud MHz
fxosc FREQ
XOSC BAUDRATE
RF
BAUDRATE
6.0.6864.3
.1_
+
=
RF_BAUDRATE là tốc độ tính theo kBaud, BAUDRATE và XOSC_FREQ là các
bit điều khiển trong MODEM0 Sử dụng một trong các thạch anh chuẩn đặt trong
MODEM0.XOSC_FREQ sẽ tạo ra các tốc độ chuẩn 0.6, 1.2, 2.4, 4.8, 9.6, 19.2, 38.4 hay 76.8 kBaud Các tần số thạch anh khác nhau sẽ xác định các tốc độ khác nhau như miêu tả ở trên Tốc độ baud tới 19.2 kBaud có thể được tạo ra cho bởi bất
kỳ tần số thạch anh nào Tốc độ lớn hơn 19.2 kBaud cần có thêm các sự kết hợp như bảng 2
Bảng 2 Tốc độ baud theo tần số thạch anh
Trang 3519.2 5/0 5/1 5/2 5/3 5/4 5/5
2.2.6.6 Truyền và nhận dữ liệu
Trong chế độ Transparent hay UART dữ liệu đi hay đến được đưa trực tiếp tới
bộ điều chế trong chế độ truyền và được nhận trực tiếp trong chế độ nhận Trong
các chế độ NRZ và Manchester, dữ liệu được lưu tại RFBUF như được minh hoạ ở
hình 2.5 Việc lưu như vậy có những ảnh hưởng cần được xem xét khi nhận hay
truyền dữ liệu, nhất là trong chế độ bytemode
Quá trình truyền
Khi truyền dữ liệu theo bytemode (RFCON.BYTEMODE=1), một thanh ghi
8-bit sẽ dịch từng bit tới bộ điều chế, MSB (bit cao nhất) trước tiên, và chu kỳ phụ thuộc vào tốc độ được lựa chọn Khi thanh ghi dịch này rỗng sẽ nạp một byte mới
từ RFBUF tiếp tục dịch bit Nội dung của thanh ghi RFBUF không đổi sau khi thanh ghi dịch lấy dữ liệu từ nó Một ngắt được tạo ra (EICON.RFI) và RFBUF có
Thanh ghi dịch 8 bit
LSB
Hình 2.5 Đệm dữ liệu RF Đường gạch là chế độ bit
Trang 36thể được nạp với byte dữ liệu mới Nếu một byte mới không được ghi vào trong chu
kỳ tám bit (chu kỳ tám bit trong chế độ NRZ và chu kỳ 16 baud trong chế độ Manchester), thời điểm tiếp theo thanh ghi dịch rỗng sẽ lấy lại dữ liệu cũ từ
RFBUF Chẳng hạn khi truyền một tín hiệu dẫn đường bao gồm '0' và '1' thay đổi,
nó chỉ cần ghi byte vào RFBUF một lần và chờ tới khi số các byte cần truyền tín
hiệu dẫn đường được truyền đi Ở chế độ bitmode (RFCON.BYTEMODE=0),
cũng xảy ra tương tự, nhưng chỉ một bit tại một thời điểm Theo đó, thanh ghi dịch
sẽ nạp bit mới từ RFBUF.0 sau khi truyền một bit đi, và ngắt RF được tạo ra để báo
có bit mới được nạp Để có thể ghi bit tiếp theo vào RFBUF.0 trong một chu kỳ bit
ở tốc độ cao, nên sử dụng vòng quét nhanh (tight polling loop) thay vì thủ tục
truyền dựa trên ngắt Để bắt đầu truyền dữ liệu ngay khi có thể, bit/byte đầu tiên
được truyền được ghi vào RFBUF trước khi bộ điều chế hoạt động (RFMAIN.TX_PD=0) Nó sẽ ngay lập tức được nạp vào thanh ghi dịch và một yêu
cầu ngắt được tạo ra cho bit/byte thứ hai Điều này đặc biệt quan trọng khi tính đến việc lưu dữ liệu tại cuối một quá trình truyền Khi byte cuối cùng của một frame hay packet được nạp vào thanh ghi dịch nó vẫn không được truyền đi Như vậy yêu cầu ngắt được tạo ra tại cùng thời điểm không bị dừng đối với cả phần analog hay digital của một quá trình truyền Quá trình truyền không thể kết thúc được một cách
an toàn cho tới chu kỳ 9 bit cuối cùng trong chế độ bytemode và chu kỳ 2 bit trong chế độ bitmode, khi bit cuối cùng được dịch và được truyền tới antenna Một giải pháp đơn giản là luôn luôn truyền hai byte mở rộng trong chế độ bytemode hay hai bit mở rộng trong chế độ bitmode ở cuối quá trình truyền dữ liệu Điều này không
Trang 37cũng xảy ra tương tự, nhưng mỗi bit tại một thời điểm Theo đó, khi một bit mới tới
từ bộ giải điều chế thanh ghi dịch sẽ lưu nó và lưu bit cuối cùng vào RFBUF.0, lần
lượt tạo ra các yêu cầu ngắt RF để có thể đọc các bit mới Để có thể đọc bit tiếp
theo từ RFBUF.0 trong chu kỳ một bit ở tốc độ cao nên sử dụng vòng quét nhanh
thay vì dựa vào ngắt Không có sự cân nhắc đặc biệt nào đối với thời điểm bắt đầu hay kết thúc quá trình nhận
2.2.7 Module CC1010EM
Để dễ dàng và thuận tiện cho việc phát triển các ứng dụng sử dụng CC1010, hãng Chipcon cũng cung cấp module CC1010 EM (Evaluation module), trên đó có tích hợp hầu hết các linh kiện cần cho việc xây dựng một nút mạng như:
Trang 38được các chức năng cơ bản nút mạng đó là chức năng mạng và chức năng cảm nhận Tuy nhiên, giá thành module này còn đắt (khoảng 150USD) trong khi giá
thành VĐK CC1010 rất rẻ (khoảng 10USD) nên việc nghiên cứu chế tạo module này ở Việt Nam để hạ giá thành là rất cần thiết
2.3 Kết luận
Chương này đã giới thiệu các một số loại VĐK có thể được dùng làm nút mạng trong WSN theo các tiêu chí: 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, truyền thông, khả năng tính toán, kích thước của nút mạng Từ các chỉ tiêu đánh giá đó đã chọn được loại vi điều khiển CC1010 của hãng Chipcon (Nauy) để làm nút mạng Đây là loại vi điều khiển tương thích họ
8051 thông dụng, sử dụng ngôn ngữ lập trình C và chương trình dịch Keil µVision2.0 Bên cạnh đó Chipcon cũng cung cấp các thư viện làm việc với CC1010 làm cho việc viết chương trình trở nên dễ dàng và thuận tiện
Trang 39Cá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, ta có thể coi bộ cảm biến như một mạng hai cửa, trong
đó 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 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
Trang 40Trong sơ đồ hình 3.1, quá trình (đối tượng) được đặc trưng bằng các biến trạng thái và được các bộ cảm biến thu nhận Đầu ra của bộ vi xử lý được phối ghép với
cơ cấu chấp hành nhằm tác động lên quá trình (đối tượng) Đây là sơ đồ điều khiển
tự động (qúa trình), trong đó bộ cảm biến đóng vai trò cảm nhận, đo đạc và đánh giá các thông số của hệ thống Bộ vi xử lý làm nhiệm vụ xử lý thông tin và đưa ra tín hiệu điều khiển 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
(Các biến trạng thái)
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