Thanh ghi cấu hình

Một phần của tài liệu đồ án kiến trúc xây dựng mô hình thiết kế nhà thông minh do Quỹ tài trợ Joseph Rowntree của Mỹ thực hiện (Trang 31 - 32)

Byte 4 của bộ nhớ sratchpad chưa thanh ghi cấu hình, có tổ chức được mình họa ở Hình 2.9. Người dùng có thể thiết lập độ phân giải của DS18B20 bằng cách sử dụng bit R0 và R1 trong thanh ghi này như chỉ ra trong Bảng 2.3. Mặc định lúc bật nguồn thì R0=1 và R1=1, nghĩa là độ phân giải chuyển đổi. Bit 7 và các bit từ 0 đến 4 trong thanh ghi cấu hình được dự trữ cho việc sử dụng nội bộ và không thể bị ghi đè.

BIT 7 BIT 6 BIT 5 BIT4 BIT3 BIT2 BIT1 BIT0

0 R1 R0 1 1 1 1 1

Hình 2.9: Thanh ghi cấu hình

R1 R0 Độ phân giải (bit) Thời gian chuyển đổi cực đại

0 0 9 93.75ms (tCONV/8)

0 1 10 187.5 ms (tCONV/4)

1 0 11 375 ms (tCONV/2)

1 1 12 750 ms (tCONV)

Bảng 2.3. Cấu hình phân giải đo nhiệt

Các byte CRC được cung cấp như một phần của mã ROM 64-bit trong DS18B20 và trong byte thứ 9 của bộ nhớ scratchpad. CRC của mã ROM được tính từ 56 bit của mã ROM và được lưu trong byte ý nghĩa cao nhất của ROM. CRC của Scratchpad được tính từ dữ liệu được lưu trong scratchpad, và vì thế nó thay đổi khi dữ liệu trong scratchpad thay đổi. Cỏc mỏc CTC cung cấp cho bus chủ một phương pháp thẩm định dữ liệu khi dữ liệu được đọc từ DS18B20. Để xác minh rằng dữ liệu được đọc là chính xác, bus chủ phải tính lại mã CRC từ dữ liệu đã nhận được và sau đó so sánh giá tri này với hoặc CRC của mã ROM (đối với việc đọc ROM) hoặc với CRC của scratchpad (nếu đọc từ scratchpad). Nếu CRC được tính mà khớp với CRC đọc được, dữ liệu đã nhận được là không lỗi. Việc so sánh các giá trị CRC và việc quyết định để tiếp tục với một hoạt động nào đó được quyết định toàn bộ bởi bus chủ. Không có mạch bên trong DS18B20 thực hiện việc ngăn xử lý một chuỗi lệnh nếu CRC của DS18B20 (ROM hoặc scratchpad) không khớp với giá trị được tạo ra bởi bus chủ.

Một phần của tài liệu đồ án kiến trúc xây dựng mô hình thiết kế nhà thông minh do Quỹ tài trợ Joseph Rowntree của Mỹ thực hiện (Trang 31 - 32)