NGUYỀN TẮC THỰC HIỆN ĐO NHIỆT ĐỘ

Một phần của tài liệu Nghiên cứu ứng dụng vi điều khiển Microchip pic trong đo lường và điều khiển thời gian thực (Trang 92)

- Các kết quả đo được thể hiện trên màn hình tinh thể lỏ n2 của thiết bị hoặc dược truyền về máy tính.

2. NGUYỀN TẮC THỰC HIỆN ĐO NHIỆT ĐỘ

Việc biến đổi nhiệt ctộ-số dựa trên so sánh tần số của hai bộ dao động. Bộ dao dộng thứ nhất có tần số ra ít phụ thuộc nhiệt độ, bộ dao động thứ hai phụ thuộc nhi cu vào nhiệt độ. Hiệu hai tần số trên phản ánh nhiệt độ cần đo. Khối logic thực hiện đếm , tính toán để cho ra kết quả nhiệt độ với độ phán giải 0.5°c. Nhiệt độ dược d ọc ra theo 2 byte tronu đó byte đáu chỉ dấu, byte sau chí giá trị giá trị tuyệt đối của nhiệt độ, từng bậc 0,5 °c. Ví dụ giá trị -25 ° c được biểu diễn:

MSB LSB

Giá trị của bít cao nhất dược lặp lại trona byte thứ hai ở các bít cao. Muốn đạt độ phân giải cao hơn cần tính toán giá trị nhiệt độ theo công thức (*):

TEMPERA TUB TEMP READ ,

COUNT P E R _c

Trong dó count_per_c, countjremain là 2 byte kết qua đếm xung từ các bộ đếm, dược đọc ra bởi lệnh READ SCRATCHPAD.

Bảin đồ bọ nhớ của DS1820

Byte RAM EEROM

Nhiệt độ LSB 0 Nhiệt độ MSB 1 TH byte 2 TL byte 3 Không dùng 4 Không dùng 5 Count_Remain 6 Count_per_c 7 CRC TI I byte TL byte

ANỉịhién cứu ứnq dụng vi (lie’ll khiển PIC trong do lường & điền khiển

Bộ nhớ của DSI820 được tổ chức như hình trên, gổm 2 phần: 9 byte RAM và 2 byte EEROM lưu hai giá trị ngưỡng cảnh báo.

Bộ nhớ RAM gồm 8 bvle. Hai bvte đầu tiên chứa giá trị đo nhiệt độ. Byte tlhứ 3 và 4 là các ban sao giá trị TH và TL, được sao lại sau mỏi lần khởi độnc bật nisuồn. Hai byte tiếp theo không dùng và luôn bằng FFh. Byte 7 và 8 là thanh ghi Ciủa bộ đếm, dùng các giá trị này trong phép tính (*) để tăng thêm độ phân giải phép íìỉo. Bvte cuối của bộ nhớ RAM chứa CRC của 8 byte trên, dùng vào mục đích kiểm trra.

3j. c á c Lệ n h đ i ể u k h i ể n

I.,ệnh chức năng ROM • READ ROM (33h)

Cho phép đọc ra 8 byte của laser ROM gồm: 8 bít mã họ thiết bị (lOh), 48 bít

SÍ.Ố xêri. 8 bit CRC. Lệnh này ch ỉ dùng khi trên bus c ó 1 thiết bị. Nếu không sẽ xảy na xung đột trên bus do tất cả các thiết bị cùne đáp ứng.

• MATCH ROM (55h)

Lệnh này được gửi đi cùng với 64 bít tiếp theo, cho phép bộ điều khiển bus chọn ra chi một DS1820 trên bus có nhiều DS1820 cùng nối vào. Chỉ có DS1820 nick) cu các bit cùa 64 bit ROM trùng khớp như chuỗi 64 bít vừa gửi sẽ đáp ứng với c.ác lệnh về bộ nhớ tiếp theo.

SKIP ROM (CCh)

Lệnh này cho phép thiết bị điều khiển truy nhập thẳng đến các lệnh bộ nhớ của DS1 820 mà không cần gửi chuỗi 64 bit ROM.

• SEARCH ROM (F0h)

Lệnh này cho phép bộ điều khiển bus có thể dò tìm được sỏ' lượng đơn vị tớ và các giá trị của 64 bit ROM của chúng bằng một chu trình dò tìm.

L ệ n h c h ứ c năng bộ nhớ

• WRITE SCRATCHPAD (4Eh)

Viết vào 2 byte vào RAM tại địa chỉ 2. Việc ghi kết thúc khi có xung reset. • READ SCR ATCIIPAD (BEh)

NVghién cứu ứntỊ dụng vi điều khiển P!C trong do lường & điều khiên

Đ)ọc nội dung RAM từ địa chí 0, liên tiếp 9 byte gồm 8 byte dư liệu và 1 byte CRC.

v / i ệ c dọc dừng khi có xung reset. • C O N V E R T (44h)

Lệnh bát đầu việc đo và chuyển đổi giá trị nhiệt độ thành số. Thời gian chuyển đđổi ít nhất 200 ms, trong thời gian đang chuyển đổi nếu thực hiện lệnh đọc thì giá trị đdọc ra đều bằng 0.

• R E A D POW ER SUPPLY (B4h)

Một lệnh đọc tiếp sau lệnh này sẽ cho biết DS1820 dans sử dụng chế độ cấp naguồn nào, giá trị đọc được bằne 0 nếu cấp nguồn bằng dây dữ liệu và bàng 1 nếu ciỉấp neuổn qua đường riêng.

4,1. HỆ THỐNG BUS 1-WIRE

Hộ thống bus l-wire là một bus có một chủ diều khiển bus và một hoặc nhiều • • • • • đ'ỉơn vị tớ. Trong trườns hợp này DS1820 đóng vai trò tớ. Hệ thống bus này gồm 3 phhần phần cứng, trình tự trao đổi và báo hiệu l-wire.

?sv

BUSfAWTfcfi > DS18Ỉ-3 1-iVMK POR’ > ATK

' < r > -

H ìn h 2 .2 : B u s I - w ire .

p*hần cứng bus l-wire

Bus chi có 1 đường, các thiết bị đấu vào bus đều có khá năne làm thay đổi imức của bus trong các khoảng thời gian. Các thiết bị đều phải là lối ra ba trạng thái hioặc cực máng ngỏ.

Trạng, thái rỗi của bus là mức cao. Nếu bus bị giữ ở mức thấp quá lâu hơn 4180 LiS thì tất cả các thiết bị nối vào bus bị khởi độne lại.

G i a o thức trao đổi trên bus l-w ir e như sau

I -wire bus sử dụne giao thức khá phức tạp để gửi/nhận dữ liệu trên cơ sở độ 1'íộng khe thời gian. Các tín hiệu truyền trên bus là: xung reset, xung có mặt, ghi bit

Nýghién Clin ứng dụng vi (li í'II khiên PỈC trono, đo I ườn ti & diếu khiên

0.1, glhi hit I, đọc bit 0, đọc hit I. Các tín hiệu trên, trừ xung có mặt được thực hiệnboởi Ibộ điều khiển bus. boởi Ibộ điều khiển bus.

Khơi tạo (reset) bus 1-wire

Bộ điều khiển bus gửi xung khởi tạo là tín hiệu mức thấp độ dài ít nhất 480 sau đó trả về mức cao và chuyển sang chế độ thu. Sau khi nhận biết sườn lên của

tíiín hiệu lại cổng I/O, DS1820 chờ 15 - 60 JLIS rồi gửi tín hiệu có mặt: tín hiệu mức

ill hấp 60- 240 Ị.IS.

Sau quá trình khởi tạo, các byte tiếp theo đưực gửi đến thiết bị tớ.

'*zc f/a*t#rTx ¿so -3 iwm.1!! 5*6*1 ¿i mvnrr.ưr DS*Ồ?J vratE m ’ i - fiG JS Vacar 3x ¿8D u* mmi.-.T 3S-3Ỉ-: "x crẽ&è-ce cC - 2¿c as ► *-W Rr 3.5 n / /

LIVE TYPE _EGENO

3uS flVM!** activa Jew 0S*820acbv* IG’A' 9cr cu* ras:-' and

■ —"“u- OS‘620 acr.vé lew ftMiaw pu:i-up

H in li 2 .3 : K h ở i tạo bus.V i ế l r a b u s l - w i r e

Một phần của tài liệu Nghiên cứu ứng dụng vi điều khiển Microchip pic trong đo lường và điều khiển thời gian thực (Trang 92)

Tải bản đầy đủ (PDF)

(100 trang)