Dựa trên những vấn đề đã đặt ra chúng ta có thể sử dụng phương pháp sau để hoàn thành tốt luận văn: Sử dụng một số tool đã có dành cho phần cảm biến nhiệt độ trong kit RF2500 để cập nhậ
Trang 1KHOA CÔNG NGHỆ
LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC
PHÁT TRIỂN ỨNG DỤNG TRÊN
KIT eZ430-RF2500
Sinh viên thực hiện: Cán bộ hướng dẫn
Trương Văn Dượt ThS.GV.Trần Nhựt Khải Hoàn MSSV:1063782
Nguyễn Hoàng Thi
MSSV:1063827
Lớp: DI0671A1
Cần Thơ, 2010
Trang 2CHƯƠNG I: GIỚI THIỆU TỔNG QUAN
Chương 1 sẽ trình bày các vấn đề sau:
- Đặt vấn đề
- Yêu cầu và mục tiêu của đề tài
- Hướng giải quyết
- Trình bày luận văn
- Kết luận
I ĐẶT VẤN ĐỀ
MSP430 là một trong những họ vi điều khiển 16-bits kiến trúc RISC như AVR, PIC Ngoài các tính năng vượt trội của những họ điều khiển trên, MSP430 còn
có những tính năng nỗi trội khác như:
- Tiêu thụ năng lượng cực thấp
Trang 3Kit eZ430-RF2500 là một sản phẩm ứng dụng của MSP430, được tích hợp thêm
bộ phận truyền nhận dữ liệu không dây hoạt động ở vùng tần số 2.4GHz và bộ phận cảm biến nhiệt được thể hiện ở hình 1.2
Hình 1.2 Tổng quan về kit eZ430-RF2500 2
Đối với sinh viên, Kit eZ430-RF2500 là sản phẩm tương đối mới, chưa có nhiều tài liệu nghiên cứu và triển khai ứng dụng Dưới đây là một số kết quả nghiên cứu của các tác giả sử dụng MSP430 sau:
Tìm hiểu vi điều khiển MSP430F2274 [18]
Dùng MSP430 tính toán đáp ứng xung hữu hạn trong DSP [5]
Ứng dụng thiết kế bộ lọc số FIR [6]
Sử dụng MSP430 để giải mã tính hiệu remote [7]
Điều khiển thiết bị qua mạng [8]
Thiết kế máy đo đa năng [9]
Trong luận văn này, chúng em sẽ tìm hiểu và phát triển ứng dụng trên kit RF2500 Các kết quả của luận văn sẽ góp vào nguồn tài liệu tham khảo để sinh viên các khoá sau tiếp tục nghiên cứu và triển khai ứng dụng trên kit này
Trong luận văn này, chúng em ứng dụng kit eZ430-RF2500 của TI sử dụng bộ cảm biến nhiệt độ và truyền nhận không dây được tích hợp sẵn trên kit để thiết kế
hệ thống thu thập nhiệt độ môi trường gởi về PC và điều khiển thiết bị tại nơi thu thập nhiệt độ
Hệ thống thiết kế bao gồm: một AP (Access Point) là trung tâm thu nhận dữ liệu được gởi về từ các ED (End Device) và giao tiếp với PC truyền dữ liệu lên giao
2
Slau227A pdf – trang 4
Trang 4hoạt động
Dựa trên những vấn đề đã đặt ra chúng ta có thể sử dụng phương pháp sau để hoàn thành tốt luận văn:
Sử dụng một số tool đã có dành cho phần cảm biến nhiệt độ trong kit RF2500 để cập nhật nhiệt độ môi trường xung quanh sau đó gửi dữ liệu về cho trung tâm hiển thị lên PC thông qua giao diện nguồn mở, đồng thời điều khiển động cơ hoạt động dựa trên sự thay đổi nhiệt độ
Dùng IAR Embedded Workbench IDE là phần mềm hỗ trợ đầy đủ các công
cụ lập trình cho dòng sản phẩm MSP430 để thực hiện việc viết chương trình, biên dịch, gỡ lỗi và nạp, IAR có vài đặc tính của phần mềm như sau:
+ Trình biên dịch cấp cao được tối ưu hóa MSP430 IAR C/C++
+ Hỗ trợ trình biên dịch MSP430 IAR Assembler
+ Công cụ gỡ lỗi mạnh IAR C-SPY® debugger
IV TRÌNH BÀY LUẬN VĂN
Nội dung của đề tài được phân bố thành 4 chương, các chương cụ thể trình bày các nội dung sau:
Chương I nêu lên những vấn đề mà Luận văn thực hiện
Chương II Tóm tắt lý thuyết có liên quan trong quá trình thực hiện đề tài Chương III Mô tả hệ thống được thiết kế và hoạt động của các thành phần trong hệ thống
Chương IV trình bày chương trình cần thiết cho hệ thống hoạt động
Cuối cùng là kết quả mà Luận văn đạt được trong quá trình thực hiện và hướng phát triển tiếp của đề tài
Hệ thống được thiết kế đem ra ứng dụng trong thực tế Kết quả cho thấy hệ thống
đã thiết kế truyền nhận tốt ở khoảng cách 40m và 50 mét trong môi trường truyền thẳng, nếu môi trường truyền có nhiều chướng ngại thì khoảng cách
truyền nhận giữa ED đến AP sẽ là 10m
Trang 5CHƯƠNG II: CƠ SỞ LÝ THUYẾT
Chương 2 trình bày chi tiết các lý thuyết có liên quan đến luận văn như sau:
- Đặc điểm cơ bản của MSP430F2274: khái quát được cấu trúc bên trong của MSP430F2274
- Đặc điểm của kit eZ430-RF2500
- Tổng quan về mạng được sử dụng trong hệ thống được thiết kế
- Tìm hiểu về ADC10 tích hợp bên trong MSP430F2274
- Các chuẩn giao tiếp được sử dụng
Sau đây là sơ đồ khối bên trong của MSP430F2274 được thể hiện qua Hình 2.1
Trang 6- Nguồn tiêu thụ cực thấp
Chế độ hoạt động: 270 A tại 1MHz và 2.2V
Chế độ ngủ :0.7 A
Chế độ không hoạt động:0.1 A
- Thời gian thức dậy từ chế độ ngủ là ít hơn 1s
- Cấu trúc RISC 16 bit , mỗi chu kỳ lệnh hoạt động mất 62.5ns
- Có hai thanh ghi cho Timer_A, Timer_B 16 bit
- Hỗ trợ các giao diện giao tiếp nối tiếp như: UART, SPI, I2C, IrDA
- Bộ chuyển đổi ADC 10-bit với tốc độ chuyển đổi lên tới 200ksps
- Bộ nhớ bao gồm 32KB + 256B Flash Memory, 1KB RAM
Chế độ hoạt động
MSP430 có một chế độ ở trạng thái hoạt động và 5 chế độ hoạt động ở trạng thái nguồn thấp Một sự kiện ngắt sẽ đánh thức một trong 5 chế độ hoạt động ở dạng nguồn thấp này
Sau đây là 6 chế độ vận hành được thiết lập bởi phần mềm
Active mode (AM)
Tất cả các xung là hoạt động
Chế độ nguồn thấp 0 (LMP0)
CPU là không cho phép
ACLK và SMCLK là duy trì hoạt động MCLK là không cho phép Chế độ nguồn thấp 1 (LMP1)
CPU là không cho phép, ACLK và SMCLK duy trì hoạt động
DCO’s là cho phép duy trì
ACLK là duy trì hoạt động
Trang 7 ACLK là duy trì hoạt động
Chế độ nguồn thấp 4 (LMP4)
CPU là không cho phép
ACLK là không cho phép
MCLK và SMCLK là không cho phép
DCO’s là không cho phép
Không cho thạch anh dao động
CPU
CPU có kiến trúc RISC (Reduced Intruction Set Computer) là một kiến trúc vi
xử lý theo hướng đơn giản hóa tập lệnh Các lệnh được xây dựng để có thể thực hiện với chỉ 1 chu kỳ máy Mặt khác bus dữ liệu và bus địa chỉ (có độ rộng 16 bít) tách rời nhau điều này giúp cho quá trình đọc dữ liệu và mã lệnh có thể diễn
ra đồng thời do đó nâng cao hiệu suất làm việc của vi xử lý
CPU gồm 16 thanh ghi 16 bit R0 đến R3 có các chức năng đặc biệt như: thanh
ghi đếm chương trình, thanh ghi con trỏ, thanh ghi trạng thái, thanh ghi hằng
Các thanh ghi còn lại được sử dụng với mục đích chung
Hệ thống xung clock
Hệ thống xung clock là hỗ trợ bởi nguồn xung cơ bản bao gồm dao động thạch anh 32768Hz, một nguồn thấp bên trong, dao động tần số thấp, nguồn dao động điều khiển số bên trong DCO Hệ thống xung cơ bản được thiết kế nhằm hai mục đích: giảm giá thành của hệ thống và nguồn tiêu thụ thấp Dao động nội DCO cung cấp thời gian để nguồn hoạt động và thiết lập là ít hơn 1s Những nguồn xung cơ bản cung cấp những tín hiệu xung như sau:
ACLK là nguồn dao động thạch anh 32768Hz
Nguồn xung chính MCLK, là hệ thống xung được dùng trong CPU
SMCLK là hệ thống xung được dùng cho những module ngoại vi
Ngõ vào/ra số
MSP430F2274 hỗ trợ 4 port P1, P2, P3, P4 và mỗi port 8 bit được lập trình độc lập tuy nhiên có một số bit của port đã dùng cho chức năng giao tiếp trên kit eZ430-RF2500
WDT + Watchdog Timer
Chức năng cơ bản của khối Watchdog timer là vận hành điều khiển hệ thống khởi động lại sau khi phần mềm xuất hiện vấn đề
Timer_A, Timer_B:
Trang 8một bộ Timer/Counter 16 bit Với ba thanh ghi lưu trữ và 3 thanh ghi so sánh Là một Timer đa chức năng Đếm thời gian, so sánh, PWM Timer_A cũng có khả năng ngắt khi counter đếm tràn hoặc mỗi thanh ghi đếm tràn Các đặc tính chính của Timer_A bao gồm:
Là một Timer/counter 16 bit không đồng bộ với 4 chế độ hoạt động
Có thể lựa chọn và cấu hình nguồn xung
Hai tới 3 thanh ghi có thể cấu hình capture/compare
Cấu hình đầu ra với chế độ PWM
Chốt ngõ vào và ngõ ra không đồng bộ
Hình 2.2 cho ta thấy được sơ đồ tổng quan của Timer_A
Hình 2.2 Sơ đồ khối của Timer_A 4
Khối thứ nhất: là khối chọn nguồn xung cho Timer_A có 4 nguồn xung cơ bản đó là TACLK, ACLK, MCLK, INCLK các nguồn này có thể được chia nhỏ xuống bởi bộ chia 1, 2, 4, 8
Khối thứ 2: là khối chọn chế độ hoạt động của Timer_A, Timer_A có 4 chế độ hoạt động như bảng 2.1 bên dưới
Trang 9MCx Chế độ Ý nghĩa
01 Up Timer thực hiện việc đếm lặp lại từ 0 tới giá trị
trong thanh ghi TACCR0
10 Continuous Timer lặp lại đếm từ 0 tới 0FFFh
11 Up/Down Timer lặp lại việc đếm từ 0 lên tới giá trị của
TACCR0 và quay về giá trị 0
Bảng 2.1 Chế độ hoạt động của Timer_A 5
Khối thứ 3: là nơi chứa giá trị tham chiếu của Timer_A trong quá trình hoạt động
Khối thứ 4: là khối chứa thanh ghi đếm chương trình của Timer_A là TAR
Hoạt động của Timer_A:
Chọn nguồn xung cho quá trình chuyển đổi là ACLK thông qua bit TASELLx, ACLK là nguồn dao động thạch anh 32768Hz có độ chính xác cao
Ghi giá trị định thời vào thanh ghi TACCR0
Chọn chế độ hoạt động cho Timer_A
Kích hoạt cho Timer hoạt động theo các cách sau:
Timer đếm khi MCx > 0 và nguồn xung là hoạt động
Timer có thể khởi động lại khi giá trị trong thanh ghi TACCR0 là khác 0 Hình 2.3 dưới đây thể hiện Timer hoạt động ở Up mode
Hình 2.3 Timer_ A hoạt động ở chế độ Up mode 6
Timer thực hiện việc đếm lặp lại cho tới giá trị được so sánh trong thanh ghi TACCR0 Số timer đếm trong một chu kỳ là TACCR0 + 1 Khi giá trị của timer
là bằng với TACCR0 thì timer khởi động lại và đếm từ 0 Nếu chế độ Up mode
là được chọn khi timer có giá trị lớn hơn TACCR0 thì timer ngay lập tức khởi động lại và đếm từ 0
Trang 10II ĐẶC ĐIỂM KIT eZ430-RF2500
Hình 2.2 là hình ảnh tổng quan về kit eZ430-RF2500
Hình 2.4 Board eZ430-RF2500 USB 7
eZ430-RF2500 là một thẻ giao tiếp USB và truyền nhận dữ liệu không dây eZ430-RF2500 được phát triển dựa trên MSP 430F2274 kết hợp với chíp CC2500 truyền nhận tín hiệu ở vùng tần số 2.4 GHz, tích hợp sẵn cảm biến nhiệt độ Do đặc điểm dòng MSP430 có những ưu thế về năng lượng nên đáp ứng được những nhu cầu trong thiết bị di động MSP430 dùng nguồn 3.6V nên trong thiết kế này có thể sử dụng pin Lithiun 3.7 V
Bộ eZ430-RF2500T là một sản phẩm có thể làm việc với đầu cắm USB như một hệ thống độc lập với cảm biến bên ngoài Hoặc sử dụng thiết kế mở rộng với những module ngoại vi Với giao diện gỡ lỗi USB cho phép sản phẩm có thể truyền và nhận dữ liệu từ xa từ máy tính cá nhân sử dụng truyền nhận nối tiếp UART
Thành phần của kit eZ430-RF2500:
Hai eZ430-RF2500T target board
Một eZ430-RF USB debugging interface
Một AAA battery pack with expansion board (batteries includeed)
7
Slau227E pdf – Trang 6
Trang 11Mô hình kết nối giữa eZ430-RF2500T target board và Battery Board
Hình 2.5 eZ430-RF25000 Target Board 8
II.1 Đặc điểm CC2500 trên kit eZ430-RF2500
CC2500 là vi điều khiển thực hiện các công việc như: điều chế, giải điều chế, kiểm tra lỗi, lặp bit, … để phục vụ cho việc thu phát không dây
Hình 2.6 Sơ đồ khối bên trong CC2500 9
- Đặc điểm của truyền nhận RF
Độ nhạy cao (-140dBm tại 2.4kBaud, tỉ lệ lỗi gói là 1%)
Trang 12LENGTH FILTER
channel SSI
x
xBW
2 8
2
- Đặc tính số (digital)
Hỗ trợ linh hoạt cho định hướng gói tin của hệ thống: phát hiện từ đồng
bộ, cho phép kiểm tra địa chỉ, linh hoạt trong việc xác định chiều dài gói
tin, có thể tự động kiểm tra CRC…
Giao diện SPI rất hiệu quả: tất cả thanh ghi có thể lập trình với một
‘burst’ truyền
Ngõ ra RSSI số
Hỗ trợ tự động đánh giá kênh truyền rõ ràng (CCA) trước khi truyền (cho
phép lắng nghe trước khi trò chuyện với hệ thống)
- Đặc tính về nguồn thấp (lower – power)
Dòng tiêu thụ chỉ là 400 nA trong chế độ ngủ
Thời gian khởi động nhanh: 240 s từ chế độ ngủ sang chế độ RX hoặc
TX
Có bộ đệm dữ liệu 64 bytes cho RX FIFO và TX FIFO
II.2 Tín hiệu RSSI (Received Signal Strength Indication)
Là chỉ số cường độ trường nói lên sức mạnh của tín hiệu nhận Trong chế độ RX,
giá trị RSSI có thể được đọc liên tục trong thanh ghi trạng thái RSSI (có địa chỉ
là 0x34) cho đến khi từ đồng bộ được phát hiện và giải điều chế Giá trị RSSI
luôn luôn ổn định cho đến khi trạng thái kế tiếp của chế độ RX là hoạt động Tốc
độ cập nhật RSSI phụ thuộc vào băng thông lọc ở nơi nhận và 2 bit
AGCCCTRL0.FILTER_LENGTH của thanh ghi AGCCTRL0
Nếu PKTCTRL1.APPEND_STATUS là cho phép thì giá trị của RSSI tự động
được thêm vào byte đầu tiên sau dữ liệu Khi tín hiệu RSSI được đọc tại thanh
ghi trạng thái RSSI nó được định dạng là 2’s complement Sau đây là tiến trình
chuyển đổi tín hiệu RSSI được đọc sang mức công suất tuyệt đối:
+ Đọc thanh ghi trạng thái RSSI
+ Chuyển đổi giá trị đọc từ hệ thập lục phân (hệ 16) sang hệ thập phân (hệ 10)
MAX TIME
WAIT BW
sponceTime
RSSI
channel
LENGTH FILTER
10,
202
12
_8
Trang 13+ Nếu RSSI_dec>= 128 thì RSSI_dBm=RSSI dec RSSI_offset
2
256 _
Bảng 2.2 Giá trị đặc trưng của RSSI_offset 10
III TỔNG QUAN VỀ MẠNG SIMPLICITI
SimpliciTi là một giao thức mạng khá đơn giản, được sử dụng phần lớn trong các mạng RF nhỏ SimpliciTi được thiết kế nhằm mục đích thực hiện giao tiếp dễ dàng với vi điều khiển có yêu cầu về nguồn tài nguyên nhỏ Mạng thường sử dụng rất ít năng lượng nên ta có thể dùng pin nên thời gian sử dụng là pin rất dài
Mặc dù vậy những giao thức mạng SimplciTi hỗ trợ cho ngoại vi (End Device) các cấu hình mạng như: mạng ngang hàng (peer-to-peer), các tùy chọn cho việc lưu trữ và chuyển tiếp tin nhắn, và sử dụng RE (Range Extenders) để mở rộng
phạm vi của mạng lưới SimpliciTi được sử dụng trong một loạt các ứng dụng sử dụng nguồn năng lượng thấp như: báo động và an ninh (phát hiện khói, cảm biến ánh sáng, cảm biến khí cacbon monoxide ), tự động đọc mực chất lỏng (gas, nước), nhà tự động,
III.1 Các thành phần của mạng
Sau đây là hình ảnh mô tả tổng quan các thành phần cơ bản trong mạng SimPliTi
hỗ trợ cho việc truyền tin RF đơn giản
Trang 14Hình 2.7 Các thành phần của mạng SimpliciTi 11
Ý nghĩa của các khối trong hình vẽ như sau:
III.1.1 Mã hóa (Encryption)
Ta có thể chọn lựa việc mã hóa bằng phần cứng hoặc sử dụng phần mềm nếu bộ thu phát của chúng ta có hỗ trợ Nhưng đối với CC2100/CC2500 không
có hỗ trợ phần cứng cho việc mã hóa nên ta phải mã hóa bằng phần mềm Khi chúng ta cho phép chương trình mã hóa được thực hiện thì tất cả các trường của
dữ liệu đều được mã hóa ngoại trừ trường địa chỉ
III.1.2 Nhảy tần (Frequency Aglility)
SimpliciTi cho phép thực hiện việc di chuyển tấn số truyền nhận đến một tấn số khác nếu tấn số hiện tại có nhiễu hoặc không tương thích
Ngoại vi có thể nhận được gói tin và chúng có thể phát hiện là không liên lạc được nếu chúng đang hoạt động trên tần số không phù hợp bởi vì không có bất
cứ hồi âm nào sau khoảng thời gian gởi và gởi lại một khung
III.1.3 Quản lí mạng (Network Management)
Đây là tên miền của AP có các chức năng như lưu trữ và chuyển tiếp, cho thiết bị ngưng hoạt động, mã hóa mật mã, và quản lí nhảy tần số
III.1.4 Access Point
Có thể nhận dữ liệu được gởi từ ngoại vi, chuyển tiếp dữ liệu và nhiệm vụ chính là quản lí mạng
III.1.5 Range Extender
Nhiệm vụ chính của Range Extender là chuyển tiếp khung dữ liệu
11
Larry Friedman – SimplisiTi Specification pdf – Trang 5
Trang 15III.1.6 Năng lượng dùng trong mạng (Battery-only Network)
AP được cấp trực tiếp từ PC, còn các End Device được cung cấp từ pin
III.2 Cấu trúc phân lớp của mạng
Mạng SimpliciTi có cấu trúc phân lớp cơ bản gồm: Application, Network, Data Link/PHY
Hình 2.8 Cấu trúc phân lớp mạng SimpliciTi 12
III.2.1 PHY hoặc Data Link (MAC/LLC) Layer
Chức năng chính của lớp này là đóng khung dữ liệu trước khi truyền
III.2.2 Tầng mạng (Network layer).Thiết lập các thông số trước khi truyền
như:
Tấn số cơ bản và khoảng cách tần số
Số tần số hỗ trợ
Phương pháp điều chế, tốc độ dữ liệu
Địa chỉ của ngoại vi
Tốc độ lặp lại trên Tx của ngoại vi
III.2.3 Tầng ứng dụng (Application layer)
Dành cho người dùng phát triển ứng dụng
III.3 Cấu hình mạng (Topology): sau đây là một số cấu trúc mạng cơ bản được thể hiện qua mạng SimpliciTi
Trang 16AP (Access Point) đóng vai trò như nơi chuyển tiếp dữ liệu được gởi từ ED1 (End Device 1) chuyển dữ liệu đã nhận được cho ED2 thông qua AP
Hình 2.10 Lưu và chuyển tiếp dữ liệu qua AP 14
ED1 chuyển dữ liệu trực tiếp qua ED2 thông qua việc kết nối mô hình mạng ngang hàng (peer-to-peer)
Hình 2.11 Hướng mạng ngang hàng 15
RE (Range Extender) là nơi lưu trữ và chyển tiếp dữ liệu của ED1 chuyển sang
ED2 thông qua mạng ngang hàng (peer-to-peer)
Hình 2.12 Lưu và chuyển tiếp dữ liệu thông qua RE 16
Mô hình mạng thực hiện việc truyền dữ liệu từ ED1 đến ED2 thông qua hai bộ phận lưu và chuyển tiếp đó là RE và AP
Trang 17Hình 2.13 Lưu và chuyển tiếp dữ liệu thông qua RE, AP 17
III.4 Cấu trúc khung dữ liệu
Cấu trúc khung có 3 thành phần cơ bản như sau:
Phần được xử lí bởi lớp PHY/MAC
Phấn hỗ trợ cho việc quản lí mạng được cài đặt trong lớp nwk
(network)
Phần trình bày cho những dữ liệu ứng dụng được hỗ trợ lớp ứng
dụng (application layer )
III.4.1 Khung PHY/MAC
Được xử lí bởi phần cứng Nó chứa những thông tin về bit mở đầu (preamble)
và bit đồng bộ (sync)
III.4.2 Khung NWK
Được xử lí bởi firmware trong NWK layer Những trường trong phần này dùng cho mục đích điều khiển mạng có những thông số cụ thể như: thể loại khung, trạng thái mã hóa, số thứ tự
Hình 2.10 và hình 2.11 cho ta thấy được cấu trúc khung dữ liệu trong mạng SimpliciTi
17
Larry Friedman – SimplisiTi Specification pdf – Trang 9
Trang 18Hình 2.14 Cấu trúc khung trong mạng SimpliciTi (with security enabled) 18
Hình 2.15 Cấu trúc khung trong mạng SimpliciTi (without security enabled) 19
IV BỘ CHUYỂN ĐỔI ADC10 TRONG MSP430F2274
Trong MSP430F2274 có tích hợp bộ cảm biến nhiệt độ ADC10 với 10 bit cho quá trình chuyển đổi và tốc độ chuyển đổi có thể lên tới 200ksps, hình 2.12 cho ta thấy tổng quát về các thành phần trong bộ phận ADC10
Trang 19Hình 2.16 Sơ đồ tổng quan về ADC10 20
IV.1 Tổng quan các khối trong ADC10
Khối thứ 1: trong sơ đồ khối trên là ngõ vào của tín hiệu tương tự trong quá trình chuyển đổi có giá trị từ 0000 đến 1111 tương ứng với 16 kênh ngõ vào tương tự
Khối thứ 2: là khối chọn điện thế trong quá trình chuyển đổi
Trang 20tích hợp bên trong ADC10 của MSP430F2274
Khối thứ 4: là khối ngõ vào nguồn xung cung cấp cho quá trình chuyển đổi ADC10 có 4 nguồn xung cơ bản gồm: ACLK, MCLK, SMCLK,
ADC10OSC ( là nguồn xung dao động nội 5MHz) và các nguồn xung này
có thể được chia nhỏ xuống bởi bộ chia ADC10DIVx từ 1 đến 8 tùy theo nhu cầu của người sử dụng
Khối thứ 5: là khối thực hiện quá trình lấy mẫu và chuyển đổi tín hiệu tương tự ngõ vào và sau đó lưu kết quả của quá trình chuyển đổi vào thanh ghi ADC10MEM
Khối thứ 6: là nơi lưu trữ kết quả của quá trình chuyển đổi
Khối thứ 7: cho phép lưu trữ kết quả của quá trình chuyển đổi tới bất cứ đâu trong bộ nhớ CPU Khi DTC là cho phép, mỗi lần ADC10 hoàn thành quá trình chuyển đổi và gởi dữ liệu tới ADC10MEM, thì việc truyền dữ liệu được kích hoạt
IV.2 Các bước trong quá trình chuyển đổi ADC10
Để thực hiện quá trình chuyển đổi ADC10 thành công thì chúng ta thực hiện các bước sau:
- Chọn tín hiệu ngõ vào cần chuyển đổi từ 16 kênh tương ứng
- Chọn nguồn xung cung cấp cho quá trình chuyển đổi: Nguồn
ADC10CLK có thể dùng như xung chuyển đổi hoặc được sử dụng
để lấy mẫu tín hiệu vào Việc chọn nguồn xung ADC10 được thông qua bit ADC10SSELx và chúng ta có thể chia nguồn xung này
xuống thông qua bit ADC10DIVx Nguồn ADC10 có thể là SMCK, MCLK, ACLK hoặc là dao động nội ADC10OSC
- Chúng ta phải đảm bảo nguồn xung được chọn phải duy trì hoạt động cho tới khi kết thúc của quá trình chuyển đổi Nếu nguồn xung không hoạt động trong quá trình chuyển đổi thì quá trình chuyển đổi không được hoàn thành, thì sẽ không có bất cứ kết quả nào là có giá trị
- Chọn nguồn điện thế tham chiếu: ADC10 chứa 2 nguồn điện thế có thể tham chiếu với việc chọn lựa 2 mức điện thế Nếu ta cài đặt REFON = 1 cho phép ta tham chiếu nguồn bên trong Khi REF_5V, nguồn tham chiếu bên trong là 2.5V và khi REF_5V = 0 thì nguồn
Trang 21tham chiếu sẽ là 1.5V Và đặc biệt khi REFOUT = 0 thì nguồn tham chiếu bên ngoài trên chân Vref+
- Sau khi chuyển đổi hoàn thành kết quả được lưu ở thanh ghi
ADC10MEM ở 2 dạng đó là: số nhị phân và dạng 2’s complement Công thức chuyển đổi cho kết quả ADC khi dùng định dạng nhị phân
Giản đồ thời gian cho quá trình lấy mẫu và chuyển đổi: Sự chuyển đổi ADC10 được khởi tạo bởi cạnh lên của tín hiệu ngõ vào lấy mẫu SHI Nguồn SHI được chọn thông qua bit SHSx và gồm có các chọn lựa khác:
ADC10SC bit
Timer_A Output Unit 1
Timer_A Output Unit 0
Timer_A Output Unit 2
Bit SHTx dùng để thiết lập chu kỳ lấy mẫu tsample 4, 8, 16, hoặc 64 chu kỳ của ADC10CLK Tổng thời gian lấy mẫu là bao gồm tsample cộng với tsync Khi tín hiệu SAMPCON là chuyển đổi từ cao xuống thấp báo hiệu cho ta biết quá trình chuyển đổi được bắt đầu, quá trình chuyển đổi cần tới 13 chu kỳ của
ADC10CLK mới hoàn thành xong Trong đó 12 chu kỳ dùng để thực hiện
chuyển đổi và 1 chu kỳ cuối dùng để sao chép kết quả chuyển đổi tới nơi lưu trữ ADC10MEM
Hình 2.17 Thời gian của quá trình chuyển đổi và lấy mẫu 21
R in ADC
V V
V V
N 1023
Trang 222 bit CONSEQx của thanh ghi ADC10CTL1 như sau:
Bảng 2.3 Tổng kết về chế độ chuyển đổi 22
IV.3 Quá trình chuyển đổi ADC10 với ngõ vào nhiệt độ
Muốn sử dụng bộ cảm biến nhiệt độ trong quá trình chuyển đổi ta thực hiện các bước sau:
- Bước 1: Chọn ngõ vào chuyển đổi là A10 có giá trị là 1010 dựa trên thanh ghi ADC10CTL1 với 4 bit INCH_10 = 1010
- Bước 2: Chọn điện thế tham chiếu là 2.5V thông qua bit thứ 6 của thanh ghi ADC10CTL0 cho SREF_1 = 1
- Bước 3:Chọn nguồn xung cung cấp cho quá trình chuyển đổi,
MSP430F2274 có 4 nguồn xung cơ bản ACLK, MCLK, SMCLK, ADC10OSC hoạt động độc lập
- Trong quá trình chuyển đổi trên ta chọn nguồn xung ADC10OSC là nguồn dao động nội bên trong MSP430F2274 nên độ chính xác cao hơn các nguồn còn lại
- Bước 4: Cho phép lấy mẫu và bắt đầu chuyển đổi được thiết lập thông qua thanh ghi ADC10CTL0 với bit ENC và ADC10SC
- Bước 5: Thu kết quả của quá trình chuyển thông qua thanh ghi
ADC10MEM với định dạng nhị phân
Hình 2.14 bên dưới thể hiện mối quan hệ giữa nhiệt độ và điện thế trong quá trình chuyển đổi
01 Sequence-of-
channels
A sequence of channel is converted once
10 Repeat single
channel
A single channel is converted repeatedly
11 Repeat sequence-
of-channels
A sequence of channels is converted repeatedly
Trang 23Hình 2.18 Hàm liên hệ giữa nhiệt độ và điện thế 23
Sau đây là hình ảnh thanh ghi trong quá trình thiết lập cho hoạt động ở ngõ vào cảm biến
Bảng 2.4 Các thanh ghi trong ADC10 24
Trang 24SREFx Bit 15-13 Chọn nguồn tham chiếu
Trang 25ADC10SC Bit 0 Bắt đầu chuyển đổi
0 Không bắt đầu chuyển đổi và giữ
1 Bắt đầu chuyển đổi và giữ
Thanh ghi ADC10CTL1
Trang 27Kết quả chuyển đổi Bit 15-0 10 bit chuyển đổi là được nằm bên phải, trong định dạng nhị phân Bit 9 là bit MSB Bit 15-10 luôn luôn là 0
Hình 2.15 Là lưu đồ chuyển đổi của ADC10 được thiết lập thông qua bit
CONSEQx của thanh ghi ADC10CTL1
Hình 2.19 Chế độ chuyển đổi đơn 25
25
Slau144e.pdf – Chương 20, trang 20-10
Trang 28V CÁC CHUẨN GIAO TIẾP SỬ DỤNG TRONG HỆ
THỐNG
V.1 Chuẩn SPI (Serial Peripheral Interface)
Trước hết ta xem tổng quan sự giao tiếp giữa MSP430F2274 với CC2500 sử dụng chuẩn SPI
Hình 2.20 Sơ đồ giao tiếp SPI giữa MSP430F2274 và CC2500 26
- Là chuẩn truyền thông đồng bộ nối tiếp được phát triển bởi Motorola
hoạt động ở chế độ song công (full duplex) Chuẩn này thực hiện việc
giao tiếp giữa MSP430F2274 và CC2500
- SPI là sự liên kết dữ liệu đồng bộ trong khối USART Sử dụng 4 dây (đôi khi 3 dây) nó cho phép vi điều khiển truyền thông với bất
cứ với ngoại vi nào mà nó hỗ trợ Một bus chỉ cho phép một master nhưng có thể chứa nhiều slave Master là một vi xử lí ở đó nó khởi tạo giao thức trong khi slave tương ứng như là câu lệnh hoặc yêu cầu cho việc truyền thông tin Bảng sau cho phép ta thấy được sơ đồ của tín hiệu dùng SPI:
26
Thomas Watteyne – eZWSN – Exploring Wireless Sensor Networking Lab Version Trang 11