MỤC LỤC
MỞ ĐẦU 4
CHƯƠNG 1: ĐẦU ĐO ÁP SUẤT - MỨC NƯỚC 6
1.1. Giới thiệu về cảm biến. 7
1.1.1. Khái niệm. 7
1.1.2. Đặc trưng cơ bản của bộ cảm biến. 8
1.1.2.1. Hàm truyền. 8
1.1.2.2. Độ lớn của tín hiệu vào. 9
1.1.2.3. Sai số và độ chính xác. 9
1.1.3. Một số điều về cảm biến nối tiếp và cách ghép nối. 10
1.2. Các phương pháp đo áp suất. 11
1.2.1. Tồng quan về áp suất. 12
1.2.2. Nguyên tắc và các phương pháp đo áp suất. 13
1.2.3. Đầu đo áp suất - mức nước. 16
1.3. Khảo sát một số đặc trưng của đầu đo: độ nhạy, độ tuyến tính. 21
1.3.1. Dụng cụ thí nghiệm 21
1.3.2. Mục đích thí nghiệm. 22
1.3.3. Đo điện thế lối ra của đầu đo khi giảm độ cao của cột nước. 22
1.3.4. Đo điện thế lối ra của đầu đo khi tăng độ cao của cột nước. 27
1.3.5. Kết luận. 28
CHƯƠNG 2: GHÉP NỐI ĐẦU ĐO VỚI NÚT MẠNG CẢM NHẬN KHÔNG DÂY 30
2.1. Giới thiệu mạng cảm nhận không dây. 30
2.1.1. Các ứng dụng của mạng cảm nhận. 30
2.1.2. Các chỉ tiêu hệ thống. 32
2.1.3. Các chỉ tiêu nút mạng. 33
2.2. Giới thiệu về nút mạng. 35
2.2.1. Một số vi điều khiển có thể làm nút mạng cảm nhận. 35
2.2.2. Giới thiệu về vi điều khiển CC1010. 36
2.2.2.1. Các đặc điểm chính. 36
2.2.2.2. Cổng. 36
2.2.2.3. Ngắt. 37
2.2.2.4. Biến đổi ADC. 39
2.2.2.5. Bộ định thời. 39
2.2.2.6. Bộ thu phát không dây RF (RF transceiver). 40
2.2.2.6.1. Miêu tả chung. 40
2.2.2.6.2. Mạch ứng dụng RF. 42
2.2.2.6.3. Điều khiển bộ thu phát RF và quản lý năng lượng. 43
2.2.2.6.4. Điều chế dữ liệu và các chế độ dữ liệu. 44
2.2.2.6.5. Tốc độ Baud. 44
2.2.2.6.6. Truyền và nhận dữ liệu. 45
2.2.2.7. Module CC1010EM. 47
2.3. Ghép nối nút mạng CC1010 với đầu đo áp suất - mức nước. 48
2.4. Kết luận. 49
CHƯƠNG 3: CHƯƠNG TRÌNH NHÚNG TRUYỀN/NHẬN THÔNG QUA NÚT MẠNG CƠ SỞ 51
3.1. Giới thiệu về chương trình nhúng. 51
3.1.1. Tổng quan về phần mềm nhúng. 51
3.1.2. Các bước xây dựng một phần mềm nhúng. 52
3.2. Phần mềm nhúng viết cho CC1010. 52
3.3. Chương trình khảo sát quan hệ áp suất - độ cao cột nước. 57
3.4. Kết luận. 77
PHẦN KẾT LUẬN 78
PHỤ LỤC 80
TÀI LIỆU THAM KHẢO 83
83 trang |
Chia sẻ: lethao | Lượt xem: 2148 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Đồ án Ghép nối đầu đo áp suất cho nút mạng cảm nhận không dây với phần mềm nhúng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
n và tốc độ lấy mẫu hiệu quả. Các chỉ tiêu này liên quan với nhau, thông thường khi tăng tham số này lên thì đồng thời cũng làm giảm tham số kia.
Thời gian sống là giới hạn của mạng cảm nhận không dây. Hai ứng dụng thu thập dữ liệu môi trường và giám sát an ninh các nút mạng đều được đặt ngoài môi trường, không có người giám sát theo hàng tháng, thậm chí hàng năm. Khó khăn chủ yếu của thời gian sống là năng lượng cung cấp cho nút mạng. Mỗi nút cần được thiết kế quản lý năng lượng cung cấp nội bộ để đảm bảo tối đa thời gian sống của nút mạng, trong một vài trường hợp có thể sử dụng nguồn năng lượng ngoài nhưng điều này lại mâu thuẫn với ưu điểm chính của mạng không dây là tính linh hoạt dễ triển khai. Do đó một giải pháp thoả hiệp là có một nhóm các nút mạng đặc biệt được cấp nguồn ngoài và 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.
Độ bao phủ: đây cũng là một thông số để đánh giá cho nút mạng. Nó có thuận lợi là khả năng triển khai 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 được tương đương với khoảng cách kết nối không dây được sử dụng. Ràng buộc khoảng cách sẽ dẫn đến việc mở rộng một số lượng lớn các nút mạng. Giá trị chủ yếu của WSN 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. Việc tăng nút này lại làm ảnh hưởng đến 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 dẫn đến làm tăng năng lượng tiêu thụ của mạng.
Chi phí và dễ triển khai: ưu điểm mấu chốt của WSN là dễ triển khai nên hệ thống cần phải tự cấu hình đối với sự lắp đặt nút vật lý. Tuy nhiên, các hệ thống thực thì 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, 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, có 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. Bên cạnh đó, hệ thống cần có sự thích nghi đối với sự thay đổi điều kiện môi trường. Để 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.
Thời gian đáp ứng: là một thông số quan trọng để đánh giá hệ thống. Các nút mạng 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. 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 khi đảm bảo được thời gian đáp ứng. Khả 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. Có thể cải thiện thời gian đáp ứng bằng cách cấp nguồn cho một số nút trong toàn bộ thời gian. Tuy nhiên, điều này lại làm giảm tính dễ triển khai của hệ thống.
Độ 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. Để đạt được độ chính xác theo thời gian, mạng cần được 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.
Tốc độ thu thập thông tin hiệu quả: đây là tham số đánh giá hiệu suất hệ thống. Đó là 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 một phút.
2.1.3. Các chỉ tiêu nút mạng.
Phần này tôi xin đưa ra một số chỉ tiêu để đánh giá nút mạng trong WSN nhằm mục đích là qua các chỉ tiêu đánh giá đó có thể lựa chọn loại vi điều khiển thích hợp và cũng để xây dựng hệ thống hiệu quả.
Năng lượng: để 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. Điều này chỉ đạt được bằng cách kết hợp các thành phần cứng năng lượng thấp và chu trình hoạt động ngắn. 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 – 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.
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 môi trườ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 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 tính modul tốc độ cao trong khi vẫn giữ được kết quả.
Sức mạnh: 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 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. Các thành phần hệ thống phải độc lập đến mức có thể giao tiếp chặt chẽ, để ngăn ngừa các tương tác không mong đợ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 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 sự triển khai thành công.
Bảo mật: các nút mạng riêng lẻ cần có khả năng thực hiện 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ễ bi chặn, chỉ có một cách bảo mật là mã hoá toàn bộ dữ liệu truyền, mỗi nút mạng cần tự bảo mật dữ liệu của chúng.
Truyền thông: 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ác nút có thể chấp nhận được. Tốc độ truyền cũng ảnh hưởng lớn đến hiệu suất của nút mạng. Tốc độ truyền tăng làm cho việc truyền mất ít thời gian hơn và đòi hỏi ít năng lượng hơn. Tuy nhiên, tăng tốc độ cũng thường làm tăng năng lượng tiêu thụ radio dẫn tới tăng hiệu suất hệ thống. 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.
Tính toán: 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. Tốc độ truyền cao đòi hỏi việc tính toán nhanh hơn.
Đồng bộ thời gian: các nút cần duy trì đồng bộ thời gian chính xác với các nút khác trong mạng để hỗ trợ 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 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 việc tính thời gian sẽ tạo nên sự hoạt động không hiệu quả dẫn đến tăng chu trình làm việc. Phụ thuộc vào điện áp, độ ẩm, nhiệt độ, thời gian dựa theo lao độ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.
Kích thước và chi phí: có ảnh hưởng đến 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. Kích thước vật ký cũng ảnh hưởng đến sự dễ dàng khi triển khai mạng. Các nút nhỏ có thể được đặt ở nhiều vị trí hơn và được sử dụng trong nhiều tình huống hơn.
2.2. Giới thiệu về nút mạng.
2.2.1. Một số vi điều khiển có thể làm nút mạng cảm nhận.
Lựa chọn vi điều khiển (VĐK) là một vấn đề quan trọng. Việc chọn VĐK hợp lý sẽ làm rút ngắn quá trình xây dựng hệ thống, hệ thống hoạt động ổn định, tin cậy và đạt các chỉ tiêu đề ra.
Một số tiêu chí quan trọng để chọn VĐK như sau:
Tiêu thụ năng lượng thấp.
Tích hợp ADC để có thể ghép nối với cảm biến tương tự.
Bộ nhớ chương trình cũng như bộ nhớ dữ liệu có kích thước hợp lý.
Kích thước vật lý nhỏ.
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 …
Giá thành rẻ.
Hiện giờ có ba họ VĐK trên thị trường có thể thoả mãn các tiêu chí trên là:
Họ VĐK MSP430 của Texas.
Họ VĐK ATMEGA của Atmel.
VĐK CC1010 của hãng Chipcon.
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 nên nếu sử dụng những VĐK như vậy phải có thêm mạch truyền nhận không dây bên ngoài, như thế làm cho quá trình xây dựng hệ thống sẽ phức tạp. VĐK CC1010 có tích hợp truyền nhận không dây nên được lựa chọn làm nút mạng là hợp lý hơn cả.
2.2.2. Giới thiệu về vi điều khiển CC1010.
2.2.2.1. 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 Kbps.
Cần thêm rất ít thành phần ngoài.
Đo được cường độ RF (RSSI).
Tương thích họ VĐK 8051.
32kB Flash, 2048 + 128Byte SRAM.
3 kênh ADC 10bít, 4 timers / 2PWMs, 2UARTs, 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 uVision2 IDE qua cổng nối tiếp.
Điện áp 2.7 – 3.6 V.
64-lead TQFP (Thin Quad Flat Pack).
2.2.2.2. Cổng.
CC1010 có 4 cổng I/O là P0, P1, P2, P3 với 26 chân cổng. Mỗi cổng có hai thanh ghi tương ứng: thanh ghi cổng P0, P1, P2, P3 và các thanh ghi hướng P0DIR, P1DIR, P2DIR, P3DIR. Mỗi bít trong thanh ghi Px có một bít 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).
Đặt PxDIR.y = 0 sẽ làm cho Px.y là cổng xuất dữ liệu (output).
2.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. Các tham số cụ thể được chỉ rõ trong bảng 2.1.
Ngắt
Mức ưu tiên tự nhiên
Điều khiển mức ưu tiên
Vectơ 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.RTCIF
Bảng 2.1: Các tham số ngắt
Mặt nạ ngắt:
IE.EA là cờ cho phép toàn bộ các ngắt, ngoại trừ ngắt Flash/Debug. Khi IE.EA được thiết lập, mỗi ngắt được che bởi cờ cho phép ngắt được liệt kê trong bảng 2.1. Khi cờ IE.EA bị xoá, tất cả các ngắt bị che, ngoại trừ ngắt Flash/Debug có bít che ngắt riêng EICON.FDIE.
Xử lý ngắt:
Khi một ngắt được cho phép xảy ra, CPU trỏ tới địa chỉ phục vụ ngắt tương ứng với ngắt đó (ISR) như đã chỉ ra trong bảng 2.1. CC1010 thực hiện ISR để hoàn thành ngắt trừ khi xảy ra một ngắt khác có mức ưu tiên cao hơn. Mỗi ISR kết thúc với lệnh RETI (return from interrupt). Sau khi thực hiện lệnh REIT, 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, thì 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ó hai 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ó hai mức: thấp và cao. Ngắt có mức ưu tiên cao 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 mức ưu tiên mà cùng xảy ra đồng thời thì 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.2.4. Biến đổi ADC.
Bộ biến đổi ADC của CC1010 có độ phân giải 10 bit, được điều khiển bởi các thanh ghi ADCON và ADCON2. Có ba kênh vào ADC là AD0, AD1 và AD2, các kênh này được chọn bởi thanh ghi 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 AD0 và AD2 của ADC được sử dụng. Đầu ra của ADC là đơn cực, nghĩa là giá trị 0 tương ứng với 0V, giá trị 1023 (tức 210) tương ứng với điện áp tham chiếu, điện áp tham chiếu có thể được chọn bằng 1.25V 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. Để tiết kiệm năng lượng thì cần đặt bit ADCON.AD_PD = 1 khi không sử dụng ADC.
Biến đổi ADC được bắt đầu sau 5μs sau khi xoá bit điều khiển ADCON.ADCRUN nếu sử dụng VDD hay nguồn tham chiếu ngoài, hoặc bắt đầu sau 100μs nếu sử dụng tham chiếu trong 1.25V.
2.2.2.5. Bộ định thời.
CC1010 có bốn bộ định thời Timer 0, Timer 1, Timer 2 và Timer 3 hoạt động như là bộ định thời hoặc bộ đếm (Timer/Counter), trong đó hai bộ định thời Timer 2 và Timer 3 còn có thể hoạt động như bộ điều chế độ rộng xung PWM (Pulse Width Modulation).
Timer 0 / Timer 1:
Timer / Counter 0 và 1 có thể được lập trình và hoạt động độc lập theo bốn chế độ, được điều khiển bởi các thanh ghi TMOD và TCON. Các chế độ 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 hai thanh ghi TMOD và TCON xin xem thêm phần Tài liệu tham khảo [4].
Timer 2 / Timer 3:
Ngoài tính năng như 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 bít TCON2.M2/TCON2.M3 = 0 thì chúng sẽ là bộ định thời, nếu CON2.M2/TCON2.M3 = 1 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 (n = 2, 3):
Trong đó thời gian trạng thái cao Tnh là:
Đ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 đó thanh ghi Tn và TnPRE được đặt từ trước.
2.2.2.6. Bộ thu phát không dây RF (RF transceiver).
2.2.2.6.1. Miêu tả chung.
Bộ thu phát CC1010 UHF RF được thiết kế chữ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 (Industrial, Scientific and Medical) 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 SFRs (Special Function Registers), làm cho CC1010 rất mềm dẻo và dễ sử dụng bộ thu phát vô tuyến. Bộ thu phát RF đòi hỏi rất ít các thành phần tích cực cho hoạt động của mình.
Hình 2.1. Sơ đồ khối của bộ thu phát RF
Sơ đồ khối đã được đơn giản hoá của bộ thu phát RF mô tả trong hình 2.1. Ở đó chỉ có các chân tín hiệu tương tự được chỉ ra và bus dữ liệu SFR bên trong được dùng để thiết lập giao diện RF và để truyền/nhận dữ liệu.
Trong chế độ nhận, CC1010 được cấu hình như bộ thu đổi tần truyền thống. Tín hiệu lối vào RF được khuếh đại bởi bộ khuếch đại ồn thấp LNA (low-noise amplifier) và chuyển xuống thành trung tần (intermediate frequency – IF) bởi bộ trộn MIXER. Trong trạng thái trung tần (IF STAGE) các tín hiệu chuyển đổi này được khuếch đại và lọc trước khi đưa tới bộ giải điều chế DEMOD. Một tín hiệu RSSI hay tín hiệu trung tần IF sau khi được trộn được đưa vào chân AD2 (RSSI/IF). Sau giải điều chế, tín hiệu số được chuyển vào thanh ghi RFBUF. Các ngắt có thể được phát ứng với mỗi bit hoặc byte nhận được (EXIF.RFIF).
Trong chế độ truyền, tín hiệu ra của một bộ dao động điều khiển bằng điện áp VCO (Voltage Controlled Oscilator) được đưa trực tiếp tới bộ khuếch đại công suất PA. Lối ra RF là khoá dịch chuyển đổi tần số FSK bởi luồng bít được đưa tới thanh ghi RFBUF. Tại đây các ngắt cũng có thể được sinh ra ứng với mỗi bit hay byte.Mạch chuyển đổi nội tại T/R giúp cho việc giao tiếp với anten dễ dàng hơn mà chỉ sử dụng rất ít các thành phàn ngoại vi.
Bộ tổ hợp tần số tạo ra tín hiệu dao động bên trong và đưa tín hiệu này tới bộ MIXER ở chế độ nhận hoặc đưa tới PA ở chế độ truyền. Bộ tổ hợp tần số bao gồm một bộ dao động thạch anh XOSC, một bộ dò pha PD, bộ bơm nạp, bộ lọc, VCO và các bộ chia tần (/N và /R).
2.2.2.6.2. Mạch ứng dụng RF.
Bộ thu phát RF đòi hỏi rất ít các thiết bị 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ụ thể của các thành phần xin xem thêm Tài liệu tham khảo [4].
Hình 2.2: Mạch ứng dụng RF điển hình.
Tương ứng vào/ra: Cặp C31/L32 là đầu vào của bộ nhận, nội trở của L32 có tác dụng định thiên một chiều. C41, L41 và C42 được dùng để tương ứng với bộ truyền có trở kháng 50Ω. Bộ chuyển T/R làm cho nó có thể nối với lối vào và ra với nhau và tương thích với bộ truyền 50Ω ở cả hai chế độ RX và TX.
VCO được tích hợp hoàn toàn trừ cuộn cảm L101.
Nguồn: các tụ tách và lọc nguồn cung cấp cần được sử dụng (trong sơ đồ mạch ứng dụng không chỉ ra phần này). Các tụ này càng đặt 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 cần được chú ý để đạt được độ nhạy tốt nhất.
2.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. Theo cách này vi điều khiển CC1010 có được sự mềm dẻo để quản lý công suất RF nhằm đạ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ế độ năng lượng khác nhau được điều khiển thông qua các bít riêng biệt trong thanh ghi RFMAIN. Các bít này điều khiển phần RX, TX, bộ tổ hợp tần số và bộ dao động thạch anh.. Sự điều khiển riêng biệt này có thể 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 thể hiện ở hình 2.3. Trong hình vẽ này giả thiết tần số A dùng cho RX và tần số B dùng cho TX. Nếu không cần đến trường hợp này thì đảo lại thiết lập cho F_REG.
RX hay TX
Bật RX:
RFMAIN: RXTX=0, F_REG=0
RX_PD=0, FS_PD=0
CURRENT=”RX current”
Chờ 250 ms
Bật TX:
PA_POW=00h
RFMAIN: RXTX=1, F_REG=1
TX_PD=0, FS_PD=0
CURRENT=”RX current”
Chờ 250 ms
Chế độ RX
Chế độ TX
Tắt RX:
RFMAIN: RX_PD=1, FS_PD=1
Tắt TX:
RFMAIN: TX_PD=1, FS_PD=1
PA_POW=00h
Tắt RF
Tắt RF
Hình 2.3. Tuần tự bật thu phát RF
2.2.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ó 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 và được chấp nhận, và liệu có sự đồng bộ hóa 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 đồng bộ hoá trong suốt quá trình nhận. 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, có thể lập trình được qua RFCON.BYTEMOD. Dữ liệu được truyền đi hay nhận về được đặt trong thanh ghi RFBUF. Tuỳ thuộc vào ngắt RF có được cho phép hay không (EIE.RFIE) mà việc truyền/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).
Hai chế độ khác, Transparent mode và UART mode, chỉ đơn giản là truyền dữ liệu FSK và thanh ghi RFBUF và UART0, cho phép lựa chọn tốc độ và mã hoá dữ liệu.
Chipcon khuyên dùng các chế độ đồng bộ, 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ử.
2.2.2.6.5. Tốc độ Baud.
Bit điều khiển MODEM0.BAUDRATE thiết lập tốc độ từ 0.6kBaud đến 76.8kBaud. 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:
Trong đó: RF_BAUDRATE là tốc độ tính theo Baud.
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 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ẽ quy định các tốc độ khác nhau. Tốc độ nhỏ hơn 19.2kbaud có thể được tạo ra bởi bất kì tần số thạch anh nào. Tốc độ lớn hơn 19.2kbaud cần có thêm các sự kết hợp như đưa ra trong bảng 2.2.
MODEM0.
BAUDRATE
/XOSC
fxosc (MHz)
RF_BAUDRATE
(kBaud)
3.6864
7.3728
11.0592
14.7456
18.4320
22.1184
0.6
0/0
0/1
0/2
0/3
0/4
0/5
1.2
1/0
1/1
1/2
1/3
1/4
1/5
2.4
2/0
2/1
2/2
2/3
2/4
2/5
4.8
3/0
3/1
3/2
3/3
3/4
3/5
9.6
4/0
4/1
4/2
4/3
4/4
4/5
19.2
5/0
5/1
5/2
5/3
5/4
5/5
38.4
NA
5/0
NA
5/1
NA
5/2
76.8
NA
NA
NA
5/0
NA
NA
Bảng 2.2: Tốc độ Baud theo tần số thạch anh
2.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.4.
Quá trình truyền:
Khi đặt RFCON.BYTEMODE = 1 thì dữ liệu truyền theo bytemode, một thanh ghi 8 bit sẽ dịch từng bit tời bộ điều chế theo nguyên tắc bit cao nhất MSB truyền trước tiên, 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 và tiếp tục dịch bit. Nội dung của thanh ghi RFBUF không thay đổi sau khi thanh ghi dịch này lấy dữ liệu từ nó. Khi một ngắt được tạo ta (EICON.RFIF), RFBUF có thể được nạp vào byte dữ liệu mới. Nếu byte mới không được nạp trong chu kì 8 bit (chu kì 8bit trong chế độ NRZ và chu kì 16baud trong chế độ Manchester) thì thời điểm tiếp theo thanh ghi dịch rỗng sẽ lấy lại dữ liệu cũ của thanh ghi RFBUF.
Ở chế độ bitmode (khi RFCON.BYTEMODE = 0) cũng xảy ra hiện tượng tương tự như bytemode nhưng chỉ truyền một bít tại một thời điểm. Theo đó, thanh ghi dịch sẽ bạ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. Để 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.
Thanh ghi dịch 8 bit
RFBUF
Nhân 8051
Điều chế truyền không dây
Giải điều chế nhận không dây
LSB
Hình 2.4: Đệm dữ liệu RF. Đường gạch là chế độ bit
Để 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 được truyền. Điều này đặc biệt quan trọng khi tính đến việc lưu trữ dữ liệu tại cuối một quá trình truyền.
Khi bit/byte cuối cùng của một frame hay một 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 tương tự hay số của một quá trình truyền. Quá trình truyền không thể kết thúc một cách an toàn cho tới chu kì 9bit cuối cùng của chế độ bytemode và chu kì 2bit trong chế độ bitmode, khi bit cuối cùng được dịch và được truyền tới anten.
Một giải pháp đơn giản là luôn luôn truyền 2byte mở rộng trong chế độ bytemode hay 2bit mở rộng trong chế độ bitmode ở cuối quá trình truyền dữ liệu. Điều này không gây ra vấn đề gì trong thực tế.
Quá trình nhận:
Khi nhận dữ liệu, lược đồ nhận sẽ hoạt động ngược với quá trình truyền. Từng bit từ bộ giải điều chế được dịch vào thanh ghi dịch 8bit với bit cao nhất MSB trước tiên. Khi thanh ghi dịch đầy nó được nạp vào RFBUF và một yêu cầu ngắt được sinh ra (EICON.RFIF). Byte cần được đọc trong chu kì 1byte (chu kì 8baud trong chế độ NRZ và chu kì 16baud trong chế độ Manchester). Nếu không nó sẽ bị ghi đè bởi byte nhận được tiếp theo và dữ liệu sẽ bị mất.
Trong chế độ bitmode quá trình đệm cũ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 để có thể đọc được các bit mới. Để có thể đọc bit tiếp theo từ RFBUF.0 trong chu kì 1bit ở 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.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 vi điều khiển CC1010, hãng Chipcon cũng cung cấp module CC1010EM (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ư:
Vi điều khiển CC1010.
Dao động thạch anh.
Antena.
Một cảm biến nhiệt độ đưa vào chân AD1.
Các chân cổng.
Module được mô tả trên hình 2.5.
Việc xây dựng thử nghiệm trong khuôn khổ khoá luận này chúng tôi cũng dùng module CC1010EM. Việc thử nghiệm sau này đã cho thấy rằng module này đã đáp ứng được các chức năng cơ bản của nút mạng đó là hai chức năng mạng và cảm nhận.
Hình 2.5: Module CC1010EM
2.3. Ghép nối nút mạng CC1010 với đầu đo áp suất - mức nước.
Trên đây chúng ta đã tìm hiểu về đầu đo áp suất cùng các đặc tính cơ bản của nó và chúng tôi cũng đã giới thiệu về nút mạng cảm nhận không dây sử dụng vi điều khiển CC1010. Ở phần này sẽ là cách thức ghép nối đầu đo với nút mạng.
Sơ đồ tổ chức tổng quát của việc ghép nối và truyền nhận dữ liệu như hình 2.6 và sơ đồ ghép nối giữa vi điều khiển với đầu
Các file đính kèm theo tài liệu này:
- Ghép nối đầu đo áp suất cho nút mạng cảm nhận không dây với phần mềm nhúng.doc