Vi điều khiển CC1010 là một Module tích hợp vi điều khiển họ 8051 thông thường với bộ truyền nhận RF không dây trên cùng một chip
LỜI MỞ ĐẦU Ngày nay với sự phát triển mạnh mẽ của công nghệ vi cơ điện tử và công nghệ vi hệ thống với những mạch tích hợp cao xử lí thông minh dẫn đến mô hình mạng cảm nhận không dây đã và đang ngày cành phát triển mạnh mẽ và ứng dụng trong mọi lĩnh vực của đời sống xã hội (nông nghiệp, y tế, công nghiệp .). Mạng cảm nhận không dây (Wiress Sensor Network) với đặc điểm của loại mạng này vừa có chức năng mạng vừa có chức năng cảm nhận. Nó hoạt động trên nguyên lí là tại một nút mạng sẽ cảm nhận thông số của môi trường cần đo,đo đạc thông số và sau đó tiến hành truyền dữ liệu qua môi trường không dây về trạm gốc (nút gốc), để trên cơ sở đó nút gốc có thể đưa ra các lệnh xừ lý cần thiết. Khoá luận này nghiên cứu việc ghép nối cảm biến với vi điều khiển AVR để từ đó ghép nối với nút mạng và xây dựng một mô hình đo nhiệt độ tự động và truyền nhận không dây sử dụng vi mạch tích hợp cao CC1010. MỞ ĐẦU Trong những năm gần đây với sự phát triển mạnh mẽ của công nghệ linh kiện điện tử và công nghệ thông tin đã tạo ra những sự thay đổi to lớn trong cuộc sống. Mô hình mạng cảm nhận không dây ra đời dựa trên cơ sở ứng dụng những thành tựu của công nghệ truyền thông không dây. Nó ra đời nhằm thỏa mãn nhiều yêu cầu trong thực tế trong đó việc đo một thông số môi trường là rất cần thiết và đang được nghiên cứu và ứng dụng rộng rãi bởi vì nó đem lại nhiều ứng dụng cần thiết cho con người. Đặc điểm của mạng cảm nhận không dây là vừa có chức năng mạng vửa có chức năng cảm nhận. Nó hoạt động trên nguyên lí là tại một nút mạng sẽ cảm nhận thông số của môt trường cần đo , đo đặc thông số và sau đó tiến hành truyền dữ liệu qua môt trường không dây về trạm gốc (nút gốc), để trên cơ sở đó nút gốc có thể đưa ra các lệnh xử lý cần thiết hoặc truyền số liệu vào máy tính. Bản thân nút gốc không nhất thiết phải là một máy vi tính mà cũng có thể được chế tạo với kích thước nhỏ,phù hợp với đặc thù của từng lĩnh vực ứng dụng cụ thể. Mạng cảm nhận không dây do vây đã mở ra một hướng nghiên cứu mới,với một loạt các ứng dụng hấp dẫn đáp ứng được những đòi hỏi khắt khe trong nhiều lĩnh vực quân sự,công nghiệp,nông nghiệp,y tế với đề tài “Nghiên cứu ghép nối cảm biến có tín hiệu ra dạng số cho nút mạng cảm nhận không dây” là một trong những phần của nút mạng cảm nhận không dây và cụ thể trong đề tài này đã tiến hành nghiên cứu ghép nối cảm biến đo nhiệt độ và độ ẩm đầu ra số SHT71 với vi điều khiển AVR và sau đo ghép nối với vi điều khiển CC1010 của hãng Chipcon Vi điều khiển CC1010 là một Module tích hợp vi điều khiển họ 8051 thông thường với bộ truyền nhận RF không dây trên cùng một chip,vì thế khi ghép nối với đầu đo ,không những có khả năng tạo thành các điểm đo thông số môi trường mà còn có thể xây dựng thành một nút mạng trong cấu hình mạng cảm nhận không dây,cả nút mạng và nút gốc đều được thiết kế với chip xử lý chính là vi điều khiển CC1010. Khóa luận này tiến hành nghiên cứu đê xây dựng các ghép nối tạo thành nút mạng “Đo tự động và truyền nhiệt độ và độ ẩm” về nút gốc “Nhận và hiển thị nhiệt độ và độ ẩm” qua LCD từ việc nghiên cứu về môt hình mạng cảm nhận không dây thì các vấn đề cần phải giải quyết trong để tài này là: - Thiết kế khối cảm nhận:thực hiện việc ghép nối giữa cảm nhận và vi điều khiển cụ thể là cảm biến nhiệt độ đầu ra số SHT71 và vi điều khiển AVR. - Thiết kế khối truyền thông tin và hiển thị nhiệt độ và độ ẩm: Màn hình LCD1602A được ghép nối với vi điều khiển CC1010.Tín hiệu thu được từ Anten được phân tích để lọc ra thông tin nhiệt độ và độ ẩm.Thông tin nhiệt độ và độ ẩm được phân tích và đưa lên màn hình LCD - Viết phần mền cho hệ thống,đảm bảo hệ thống ghi nhận thông số nhiệt độ,độ ẩm ,truyền ,nhận và hiển thị thông tin. Tiêu chí được đặt ra là hệ thống chế tạo phải có độ ổn định cao,nút mạng tiêu thụ năng lượng thấp,có khả năng hoạt động độc lập liên tục dài ngày. Phương pháp nghiên cứu được lựa chọn là kết hợp phương pháp truyền thống (nghiên cứu lý thuyết,tính toán xây dựng mô hình hệ thống ) với phương pháp hiện đại:Sử dụng phần mềm vẽ mạch Protel,mạch in nhiều lớp,bộ công cụ phát triển Keil uVision 2 ,các IC cảm biến và vi điều khiển có độ tích hợp cao .) Nội dung để tài chia làm 3 chương: Chương I: Tổng quan về mạng cảm nhận không dây. Chương II: Các phương pháp ghép nối dạng đầu đo và chương trình thực hiện chức năng thu thập dữ liệu. Chương III: Phần mềm nhúng. Chương I GIỚI THIỆU MẠNG CẢM NHẬN KHÔNG DÂY I. 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 Từ công thức đơn giản trên, rất nhiều ứng dụng xuất hiện. Tuy nhiên, việc kết hợp các cảm biến, radios, và CPU vào một mạng cảm nhận không dây (wireless sensor network-WSN) đòi hỏi hiểu biết chi tiết về khả năng và giới hạn của các thành phần phần cứng, cũng như hiểu rõ các công nghệ mạng hiện đại, lý thuyết phân bố hệ thống. Một thách thức là ánh xạ toàn bộ yêu cầu hệ thống vào một thiết bị 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. Các ứng dụng của 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: 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 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 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. 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 chú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. Giới thiệu một số VĐK có thể làm nút mạng cảm nhận Vấn đề lựa chọn VĐK để xây dựng nút mạng là một vấn đề quan trọng. Việc chọn VĐK hợp lý sẽ làm cho qúa trình xây dựng hệ thống được rút ngắn, hệ thống hoạt động ổn định, tin cậy và đạt các chỉ tiêu đề ra. Từ 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… o Giá thành rẻ. 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 nói trên đều thỏa mãn các tiêu chí đề ra. Tuy nhiên, hai họ VĐK đầu tiên không có tích hợp truyền nhận không dây, vì thế nếu sử dụng những VĐK như vậy sẽ phải có thêm mạch truyền nhận không dây bên ngoài, quá trình xây dựng hệ thống sẽ phức tạp. VĐK CC1010 được lựa chọn nhờ có tích hợp truyền nhận không dây, do đó việc chọn VĐK CC1010 làm nút mạng hợp lý hơn chọn các VĐK khác. 1.4 Giới thiệu Vi điều khiển CC1010 A. Các đặc điểm chính: - 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). - Độ nhạy cao (-107 dBm). - 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) - Tương thích họ VĐK 8051 - 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 - Điện áp 2.7 - 3.6 V - 64-lead TQFP (Thin Quad Flat Pack) Cổng 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). 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. 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 Vector ngắt Cờ cho phép ngắt Cờ ngắt 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. ADCIE EXIF.ADIF và ADCON2. ADCIF Ngắt mã hoá/giải mã DES EIE.ADIE và CRPCON. CRPIE 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.RTCI F 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. 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 khi phục vụ ngắt. Thứ tự ưu tiên 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ó 2 mức: thấp và cao. Ngắt có mức ưu tiên là cao sẽ có thể ngắt ngang chương trình phục vụ ngắt có mức ưu tiên thấp hơn. Nếu các ngắt có cùng mc u tiờn m cựng xy ra ng thi, ngt no cú mc u tiờn t nhiờn thp nht s c phc v trc. Bin i ADC B bin i ADC ca CC1010 cú phõn di 10 bit, c iu khin bi cỏc thanh ghi ADCON v ADCON2. Cú ba kờnh vo ADC, c chn bi ADCON.ADADR. Thanh ghi ny cng c s dng chn chõn AD1 nh l in ỏp tham chiu ngoi (khi s dng AD0). Khi chõn AD1 c dựng nh tham chiu ngoi, ch cú hai li vo ADC c s dng. u ra ADC l n cc, ngha l giỏ tr 0 tng ng vi 0V v 1023 tng ng vi in ỏp tham chiu (1.25 V hoc VDD ph thuc vo bit ADCREF). in ỏp tham chiu analog c iu khin bi ADCON.ADCREF. ADCON.AD_PD cn t bng 1 khi khụng s dng ADC tit kim nng lng. Bin i ADC c bt u sau 5às sau khi xoỏ bit iu khin ADCON.ADCRUN khi s dng VDD hay ngun tham chiu ngoi, hoc 100 às khi s dng tham chiu trong 1.25V. B nh thi CC1010 cú 4 b nh thi Timer 0, Timer 1, Timer 2, Timer 3 hot ng nh l b nh thi hay b m (Timer/Counter) trong ú Timer2 v Timer3 cũn cú th hot ng nh b iu ch rng xung (PWM - Pulse Width Modulation). [...]... được hiệu năng cao nhất 1.6 Mạng cảm nhận không dây dựa trên vi điều khiển CC1010 CC1010 với các đặc điểm,cấu tạo và đặc tính tiêu thụ điện năng thấp và có chức năng xử lý như một máy vi tính có thêm các bộ thu phát RF,bộ mã hóa DES,bộ biến đổi ADC,…phù hợp để ghép các cảm biển dể trở thành một nút mạng trong mạng cảm nhận không dây Mạch ứng dụng tương đối đơn giản CC1010 ,thuận tiện để tạo ra các nút. .. trình cho CC1010 được sử dụng các thư viện của 8051 và các bộ dịch cho 8051 có thể sử dụng assemble hoặc c để lập trình cho CC101.Trong CC1010 có tích hợp một bộ gỡ rối,hỗ trợ mô trường phát triển KilVision2 qua cổng giao tiếp 1.7 Mô hình mạng: WSN gồm nhiều nút mạng CC1010 giao tiếp với nhau qua song vô tuyến tần số 300-1000MHz .có ba loại nút mạng: Trạm gốc ,nút cảm nhận, va nút chuyển tiếp Các nút cảm nhận. .. nhận có gắn đầu đo vừa trực tiếp đo số liệu và truyền về trạm gốc vừa chuyển tiếp dữ liệu nhận được từ các nút con trong topolopy dạng cây, gửi về cho nút cha Vi điều khiển CC1010 với những ưu điểm đã được phân tích ở trên tỏ ra khá thích hợp với mô hình mạng cảm nhận không dây. Dùng vi điều khiển CC101 có thể xây dựng được nhiều ứng dụng hấp dẫn với sơ đồ thiết kế không quá phức tạp.Phần mềm nhúng có. .. theo hướng hệ điều hành hoặc đơn giản hơn là các phương trình nhỏ có thể viết bằng các ngôn ngữ lập trình thông dụng như ASM,C … và nạp cho vi điều khiển Kết luận: Trong chương này chúng ta đã trình bày sơ lược về mạng cảm nhận không dây và vi điều khiển CC101,cách dùng CC1010 vào mạng không dây Chương II GHÉP NỐI VI ĐIỀU KHIỂN AVR VỚI CẢM BIẾN II Những nét cơ bản của vi điều khiển AVR-Micro Atmega64L... bit start và lọc số thông thấp o Ba ngắt : truyền hoàn tất, thanh ghi dữ liệu TX trống, nhận hoàn tất o Truyền thông đa vi xử lý o Gấp đôi tốc độ với mode truyền không đồng bộ Hình 28: Sơ đồ khối USART -Mode thường được sử dụng là mode: truyền không đồng bộ, tốc độ baud 9600, 8 bit dữ liệu, 1 bit stop, không kiểm chẵn lẻ, không bắt tay 2.1.5 Cảm biến đầu ra tín hiệu số và cách ghép nối A.Tổng quan về... truyền có trở kháng 50 Ohm Một bộ chuyển mạch trong T/R làm cho nó có khả năng cùng nối với đầu vào và đầu ra và thích hợp với bộ thu phát 50Ω trong cả hai chế độ RX và TX VCO được tích hợp hoàn toàn trừ cuộn cảm L101 Lọc Cá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... mất phân phối bus, cho phép một master phát hiện ra khi tín hiệu bus của nó xung đột với tín hiệu của master khác Một master phát hiện ra mất phân phối sẽ kết thúc việc sử dụng bus, cho phép thông điệp từ master khác truyền qua bus mà không bị ảnh C Đặc điểm của SHT71 -Tổng quát về sản phẩm SHT1X/SHT7X SHTXX là module sensor đo độ ẩm và nhiệt độ tương đối một chip đơn gồm một đầu ra số chuẩn hóa Ứng... làm tham chiếu Các hệ số chuẩn hóa được lập trình trong bộ nhớ OTP Các hệ số này được dùng trong khi đo để chuẩn hóa tín hiệu từ sensor Giao diện nối tiếp 2-wire và việc điều chỉnh điện thế trong cho phép ghép nối hệ thống nhanh chóng và dễ dàng Kích thước rất nhỏ và tiêu tốn ít năng lượng tạo thuận lợi cho hầu hết các ứng dụng cần thiết Thiết bị có giao diện LCC (Sóng mang chip không định hướng) cắm... của tín hiệu Các tính năng: • Là timer 16 bit cho phép tạo PWM 16bit • Ba lối ra so sánh độc lập • Một bộ capture đầu vào • Chế độ Auto Reload • Triệt nhiễu đầu vào Capture • Hiệu chỉnh pha PWM • Chu kỳ PWM thay đổi được • Bộ tạo tần số • Đếm sự kiện ngoài • 10 nguyên nhân gây ngắt timer độc lập(TOV1, OCF1A, OCF1B, OCF1C, ICF1, TOV3, OCF3A, OCF3B, OCF3C, and ICF3) Bộ biến đổi tương tự sang số ADC Tính... - Ngắt khi biến đổi hoàn thành - Có mode loại trừ nhiễu Hình27: Sơ đồ khối bộ biến đổi ADC 2.1.4 Bộ truyền nhận nối tiếp USART - Atmega64L có 2 khối USART: USART0 và USART1 Tính năng: o Hoạt động song công ( Thanh ghi truyền và nhận độc lập ) o Hoạt động ở chế độ đồng bộ hoặc không đồng bộ o Bộ tạo tốc độ Baud o Khung truyền 5,6,7,8 hoặc 9 bit dữ liệu và 1 hoặc 2 bit stop o Tạo và kiểm tra chẵn lẻ . chiu analog c iu khin bi ADCON.ADCREF. ADCON.AD_PD cn t bng 1 khi kh ng s dng ADC tit kim nng lng. Bin i ADC c bt u sau 5 s sau khi xoỏ bit iu khin ADCON.ADCRUN. ADC, c chn bi ADCON.ADADR. Thanh ghi ny cng c s dng chn ch n AD1 nh l in p tham chiu ngoi (khi s dng AD0). Khi ch n AD1 c d ng nh tham chiu ngoi, ch c