0
Tải bản đầy đủ (.pdf) (102 trang)

Các bước tiến hành để truy nhập đến DS1820

Một phần của tài liệu THIẾT KẾ VÀ THI CÔNG MẠCH ĐO VÀ CẢNH BÁO NHIỆT ĐỘ DÙNG SÓNG RF, GIAO TIẾP MÁY TÍNH VÀ LƯU TRỮ DÙNG MMC (Trang 63 -81 )

2. LÝ THUYẾT

2.5.11 Các bước tiến hành để truy nhập đến DS1820

Các bước tiến hành để truy nhập DS1820: Bước 1: khởi tạo chương trình.

Bước 2: lệnh cho ROM (theo bất kỳ sựđòi hỏi trao đổi dữ liệu nào) Bước 3: lệnh hàm DS1820 (theo bất kỳ sựđòi hỏi trao đổi dữ liệu nào) Điều này rất quan trọng cho sự nối tiếp mỗi thời gian DS1820 được truy nhập, trong khi DS1820 sẽ không có bất kì sự trả lời nào khi sự kết nối bị ngắt quảng hoặc không có thứ tự. Những ngoại lệ cho những quy tắc này tại thanh ghi ROM (10h) và lệnh báo hiệu (ECh). Sau khi phát đi những lệnh ROM này, người điều khiển phải quay lại bước 1 để tiếp tục lại từđầu.

2.5.12 Các lệnh trên ROM của DS1820

Sau khi người quản lý phát hiện ra một xung hoàn chỉnh, nó có thể phát ra một lệnh ROM. Những lệnh này mở rộng ROM 64bit duy nhất đểđiều khiển các thiết bị phụ thuộc và cho phép người điều khiển chọn ra một thiết bịđặc biệt nếu có nhiều thiết bị trên hệ thống bus một dây. Những lệnh này cũng cho phép người chủ xác định có bao nhiêu và những kiểu thiết bị nào có mặt trên bus điều khiển hoặc nếu có thiết bị nào đã trải qua một điều kiện chỉ báo. Có 5 lệnh ROM, và mỗi lệnh là 8bit. Thiết bị chủ phải chọn ra một lệnh ROM thích hợp trước khi phát đi một hàm trên DS1820.

Khi một hệ thống bắt đầu hoạt động, người điều khểin phải xác định những mã ROM của tất cả thiết bị phụ thuộc trên bus, cho phép người điều khiển xác định số lượng thiết bịđang đấu vào bus và những kiểu thiết bị của họ. Người điều khiển đọc những mã ROM thông qua một quá trình loại bỏ yêu cầu người chủ thực hiện một chu trình ROM tìm kiếm. Lệnh này dò ra các giá trị cụ thể trong 64 bit ROM của chúng bằng một chu trình dò tìm.

READ ROM (33h): lệnh đọc cho ROM

Lệnh này có thể chỉ được sử dụng khi có một sự lệ thuộc trên bus. Nó cho phép người chủ bus đọc mã ROM 64 bit lệ thuộc mà không cần sử dụng thủ tục tìm kiếm ROM: 8 bit mã định tên linh kiện (10h), 48 bit số xuất xưởng, 8 bit kiểm tra CRC. Nếu lệnh này sử dụng khi có nhiều hơn một sự lệ thuộc trên bus thì một sự va chạm dữ liệu sẽ xuất hiện khi các thành phần lệ thuộc trả lời tín hiệu cùng một lúc. Tức là lệnh này chỉ dùng khi trên bus có một cảm biến DS1820 nếu không sẽ xảy ra xung đột trên bus do tất cả các thiết bị cùng đáp ứng.

MATCH ROM (55h): lệnh phù hợp cho ROM

Lệnh này được gửi đi cùng với 64 bit ROM tiếp theo, cho phép bộđiều khiển bus chọn ra chỉ một cảm biến cụ thể khi trên bus có nhiều cảm biến cùng nối vào. Chỉ có cảm biến nào có 64 bit trên ROM trùng khớp với chuỗi 64 bit ROM vừa được gửi đi mới đáp ứng lại các lệnh về bộ nhớ tiếp theo. Còn các cảm biến có 64bit ROM không trùng khớp sẽ tiếp tục chờ một xung reset tiếp. Lệnh này sử dụng trong cả trường hợp có một cảm biến một dây, cả trong trường hợp có nhiều cảm biến một dây.

SKIP ROM (CCh): lệnh bỏ qua ROM

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 cảm biến mà không cần gửi chuỗi mã 64bit ROM. Cho ví dụ người điều khiển có thể làm tất cả DS1820 trên bus thực hiện nhiệt độđồng thời những việc chuyển đổi bởi việc phát hành một lệnh 64bit ROM bằng việc ra lệnh chuyển đổi T (44h). Tuy nhiên chú ý rằng lệnh bỏ qua ROM có thể chỉ theo việc đọc bộ nhớ tạm thời (BEh) khi có một thiết bị lệ thuộc trên bus. Như vậy sẽ tiết kiệm được thời gian chờ đợi nhưng chỉ mang hiệu quả khi trên bus chỉ có một cảm biến.

ALARM SEARCH (ECh): lệnh báo động tìm kiếm

Tiến trình của lệnh này giống hệt như lệnh SEARCH ROM, nhưng cảm biến chỉđáp ứng lệnh này khi xuất hiện điều kiện cảnh báo trong phép đo nhiệt độ cuối cùng. Điều kiện cảnh báo ởđây được định nghĩa là giá trị nhiệt độ đo được lớn hơn giá trị TH và nhỏ hơn giá trị TL là hai giá trị nhiệt độ cao nhất và giá trị nhiệt độ thấp nhất đã được đặt trên thanh ghi của bộ nhớ cảm biến.

2.5.13 Các lệnh chức năng của bộ nhớ DS1820

Sau khi người điều khiển bus sử dụng một lệnh ROM để hướng vào DS1820 mà nó muốn liên lạc, người điều khiển có thể phát đi một trong những hàm DS1820. Những lệnh này cho phép người điều khiển có thể đọc ra và ghi vào bộ nhớ tạm thời của cảm biến DS1820. Khởi tạo quá trình chuyển đổi nhiệt độđo được và xác định chếđộ cung cấp điện áp nguồn.

CONVERT T (44h): lệnh chuyển đổi T

Lệnh này bắt đầu là sự chuyển đổi nhiệt độ đơn. Sau khi chuyển đổi kết quả đo nhiệt độ được lưu trữ trên thanh ghi nhiệt độ 2 byte trong bộ nhớ tạm thời và DS1820 trở lại trạng thái chờ ban đầu. Thời gian chuyển đổi không quá 200ms, trong thời gian chuyển đổi nếu thực hiện lệnh đọc thì các giá trịđọc ra sẽ bằng 0.

WRITE SCRATCHPAD (4Eh): lệnh viết bộ nhớ tạm thời

Lệnh này cho phép người điều khiển ghi 2 byte dữ liệu vào bộ nhớ tạm thời của DS1820, byte đầu tiên được ghi vào thanh ghi TH (byte 2 của bộ nhớ tạm thời) còn byte thứ hai được ghi vào thanh ghi TL (byte 3 của bộ nhớ tạm thời). Dữ liệu truyền theo trình tựđầu tiên là bit có ý nghĩa nhất và kế tiếp là những bit có ý nghĩa giảm dần. Cả hai byte này phải được ghi trước khi thiết bị chủ xuất ra một xung reset hoặc khi có một dữ liệu khác xuất hiện.

READ SCRATCHPAD (BEh): lệnh đọc bộ nhớ tạm thời

Lệnh này cho phép thiết bị chủ đọc nội dung bộ nhớ tạm thời. Quá trình đọc bắt đầu từ bit có ý nghĩa nhất của byte 0 và tiếp tục đến byte 9 ( byte 8 của CRC). Thiết bị chủ có thể xuất ra một xung reset để làm dừng quá trình đọc bất cứ lúc nào nếu như chỉ có một phần của dữ liệu trên bộ nhớ tạm thời cần được đọc.

COPY SCRATCHPAD (48h): sao chép bộ nhớ tạm thời

Lệnh này sao chép nội dung của hai thanh ghi TH và TL ( byte 2 và byte 3 của bộ nhớ tạm thời) vào bộ nhớ EEPROM. Nếu như thiết bị đang sử dụng kiểu cấp nguồn trong, thì bên trong 10us (lớn nhất) sau lệnh này được phát đi người điều khiển phải cho phép một điện trở kéo lên trên bus một dây trong ít nhất là 10ms được mô tả trong nguồn cấp.

READ POWER SUPPLY (B4h): lệnh đọc nguồn cấp

Một lệnh đọc tiếp theo sau lệnh này sẽ cho biết cảm biến sử dụng chếđộ cấp nguồn như thế nào. Giá trịđọc bằng 0 nếu cấp nguồn bằng chính đường dẫn dữ liệu và bằng 1 nếu cấp nguồn riêng.

RECALL E2 (B8h): lệnh gọi E2

Lệnh này gọi lại báo động những giá trị TH và TL từ EEPROM và đặt dữ liệu vào trong byte 2 và byte 3 của bộ nhớ tạm thời. Thiết bị chủ có thể tiến hành đọc những rãnh thời gian sau khi gọi về lệnh E2 và cảm biến DS1820 sẽ chỉ báo tình trạng của việc gọi bằng cách đưa giá trị 0 khi tiến hành gọi và mức 1 khi việc gọi được tiến hành lại.

2.6 TỔNG QUAN VỀ IC GIAO TIẾP PC PL2303

2.6.1 Giới thiệu

PL 2303 hoạt động như một cầu nối giữa một cổng USB và một chuẩn giao tiếp nối tiếp RS232. Hai bộ đệm dung lượng lớn trên chip phù hợp với lưu trữ dữ liệu từ hai bus khác nhau. Các dữ liệu USB dung lượng lớn được sử dụng cho tốc độ truyền cao. Tín hiệu bắt tay được Hỗ trợ bởi các cổng nối tiếp. Điều này có thể đạt được tốc độ truyền cao hơn nhiều so với bộđiều khiển URAT truyền thống.

Thiết bị này cũng phù hợp với chế độ tiết kiệm năng lượng USB và chương trình đánh thức từ xa. Chỉ tiêu thụ năng lượng tối thiểu từ máy chủ trong suốt thời gian hoạt động. Bằng cách kết hợp tất cả các chức năng trong một gói SSOP-28, chip này là thích hợp cho việc nhúng cáp. Người dùng chỉ đơn giản là nối cáp vào máy tính hoặc hub USB, và sau đó họ có thể kết nối với bất kỳ thiết bị RS-232. PL2303 hỗ trợ tốc độ Baud là 1.2Mbps.

Hình 2.36: Sơđồ khối PL2303

2.6.2 Đặc điểm chung

Ø Hoàn toàn tương thích với chuẩn USB 1.1 Ø Hỗ trợ chuẩn giao tiếp RS232

Ø Hỗ trợ chếđộ bắt tay tựđộng

Ø Hỗ trợ chếđộđánh thức từ xa và quản lý năng lượng

Ø Hỗ trợ bộ nhớ ROM hoặc bộ nhớ ngoài EFPROM Ø Chip thu phát USB

Ø Thạch anh hoạt động 12MHz

Ø Hỗ trợ cho Windows 98/SE, ME, 2000, XP, Windows CE3.0, CE,.NET, Linux, and Mac OS

Ø Được thiết kế cho Windows XP/2000 Ø Sơđồ kết nối phần cứng 28 chân

PL-2303 hỗ trợ bộ nhớ ngoài EFROM để lưu trữ các dữ liệu. Sau khi thiết lập, hai byte EEPROM đầu tiên được kiểm tra. Nếu giá trị là 067Bh thì EEPROM là hợp lệ và nội dung của EEPROM được nạp các thông số mặc định của chip. Nếu không đúng 067Bh thì chip sử dụng bộ nhớ mặc định ROM. Nội dung của EEPROM được thể hiện trong bảng dưới đây.

2.6.3 Chức năng các chân của PL2303

Bảng 2.29 Chức năng các chân của PL2303

Số chân Tên Loại Mô tả

1 TXD O Xuất dữ liệu đến các chân 2 DTR_N O Sẵn sàng nhận dữ liệu, mức thấp 3 RTS_N O Yêu cầu gửi dữ liệu, mức thấp

4 VDD_232 P RS-232 VDD là tín hiệu ra của thiết bị RS232 ( Chân 1- chân 3), được thiết kế hoạt động ở mức 5V, 3.3V hoặc 3V. VDD-232 có thể được kết nối với mức nguồn tương đương của thiết bị RS232 ( Tín hiệu của RS232 đều ở mức 3V-5V) 5 RXD I Nhập dữ liệu từ các chân 6 RI_N I Bộ chỉ thị Ring, mức thấp 7 GND P Nối Mass 8 VDD P Nguồn 9 DSR_N I Sẵn sàng nhận dữ liệu, mức thấp 10 DCD_N I Tách sóng mang dữ liệu, mức thấp 11 CTS_N I Xóa để gửi, mức thấp 12 SHTD_N O Tắt thiết bị RS232

13 EE_CLK I/O Trong khhi Reset, chân này là tín hiệu vào cho mục đích mô phỏng, ở chế độ thường chân này là xung của ROM

14 EE_DATA I/O Tín hiệu dữ liệu của ROM 15 DP I/O Tín hiệu của USB DPLUS 16 DM I/O Tín hiệu của USB DPMINUS 17 VDD_3V3 P Nguồn 3.3V cho bộ USB

18 GND_3V3 P Mass 3V3

19 RESET I Reset hệ thống

20 VDD P Nguồn

21 GND P Mass

22 TRI_STATE I Chân này được dùng đến sau khi Reset Cao: không có tín hiệu ra của RS232 ở chế độ treo

Thấp: tín hiệu ra của RS232 là tri-State khi ở chếđộ treo

23 LD_MD/SHTD I/O Khởi động chếđộ Mode/SHTD

Chân này là tín hiệu ra lúc Reset, được đẩy lên mức cao với một điện trở 220K để ra điều khiển load thiết bị USB ở mức cao (500mA), ở mức thấp để load USB ở mức thấp (200mA)

24 VDD_PLL P Nguồn 5V cho PLL 25 GND_PLL P Nối Mass cho PLL

27 OSC1 I Ngõ vào bộ dao động 28 OSC1 O Ngõ ra bộ dao động

2.7 TỔNG QUAN VỀ LƯU TRỮ MMC/SD

2.7.1 Giới thiệu về MMC/SD

MMC là viết tắt của cụm từ tiếng anh Multi-Media Card và SD là Secure Digital Card. Nhìn chung MMC và SD giống nhau về mặt cấu trúc vật lý và phương thức giao tiếp. Điểm khác nhau lớn nhất của 2 loại card này là về tính năng bảo mật dữ liệu và tốc độ giao tiếp. SD card xuất hiện sau MMC card nên SD có nhiều tính năng và tốc độ cao hơn MMC. Tuy nhiên, đối với việc ghi-đọc MMC và SD ở tốc độ thấp bằng các vi điều khiển thì sự khác nhau của 2 loại card này là không lớn. Vì sự khác biệt không lớn này nên thuật ngữ MMC/SD dùng để chỉ cho các loại card.

Về phương thức giao tiếp, MMC và SD card đều có thểđược giao tiếp thông qua 2 chế độ cơ bản là SD/MMC mode và SPI mode. Giao tiếp với bằng mode SD/MMC có tốc độ cao nhưng đòi hỏi chip điều khiển cũng phải có tốc độ cao. Mode này không phù hợp với việc giao tiếp bằng vi điều khiển. Ngược lại, mode giao tiếp SPI tuy có tốc độ thấp hơn nhưng phù hợp với các chip điều khiển như AVR.

Về hình dáng bên ngoài, MMC và SD có cùng kích thước và cấu trúc chân gần như nhau, như trong hình 2.38

Hình 2.38: Bố trí chân MMC và SD

Trong hình 2.38, MMC card có 7 chân trong khi SD card có 9 chân. Các chân thêm 8, 9 trên SD card là các chân dữ liệu của mode SD/MMC nên không quan

trọng khi giao tiếp ở mode SPI. Ngoài ra 7 chân còn lại trên SD card hoàn toàn giống với MMC. Mô tả chức năng các chân trong mode SPI.

• Chân 1: CS (Chip Select) là chân chọn chip dùng trong mode SPI, chân này nối với chân chọn chip của chip điều khiển (AVR).

• Chân 2: DI (Data Input) hay là chân MOSI của chuẩn SPI, chân này cần được nối với chân MOSI trên chip điều khiển (AVR).

• Chân 3, 6: là các chân GND. • Chân 4: là chân nguồn.

• Chân 5: CLK là chân giữ nhịp trong mode SPI, chân này sẽ được nối với SLK trên chip điều khiển (AVR).

• Chân 7: DO (Data Output) hay chân MISO của chuẩn SPI, chân này được nối với chân MISO trên chip điều khiển (AVR).

Nguồn nuôi MMC/SD card: đây là điểm cần lưu ý khi sử dụng các card MMC/SD, nguồn cho các card này phải nằm trong khoảng 2.7V đến 3.6V. Điều này thường gây khó khăn khi điều khiển MMC/SD card bằng các vi điều khiển vì các mạch điều khiển thường dùng mức điện áp 5V. Vì thế, không giống như các chip điện tử số thông thường, không được phép nối MMC/SD card trực tiếp với các chip điều khiển có nguồn nuôi 5V. Có thể sử dụng nguồn 3.3V cho MMC/SD card. Nguồn 3.3V có thể được tạo bằng các chip ổn áp như 1084K33, LM317 hoặc bằng các cầu chia áp dùng điện trở. Kết nối giữa mạch điều khiển (5V) và MMC có thể thực hiện gián tiếp thông qua các chip buffer, qua transistor, opto-transistor hay cầu chia áp điện trở,… Chúng ta có thể sử dụng một mạch điện kết nối giữa chip điều khiển với card MMC/SD như trong hình 2.39

Hình 2.39: Sơđồ kết nối giữa chip điều khiển và card MMC/SD

Trong sơđồ hình 2.39 các cầu chia áp 1.8KΩ - 3.3KΩđược dùng để tạo mức điện áp khoảng 3.3V cho card MMC/SD. Do mạch điều khiển dùng điện áp nguồn 5V, tín hiệu xuất ra từ các đường SS, MOSI hay SCK có mức thấp 0V và mức cao 5V, nếu kết nối trực tiếp các đường này với card MMC/SD có thể làm hỏng card.

Gọi điện áp được “chia” khi tới MMC/SD card là V, có thể tính được điện áp từ mạch điều khiển như sau.

Khi ngõ ra 0V điện áp V=0V, khi điện áp ngõ ra 5V thì V=5*3.3/(3.3+1.8)=3.2V, giá trị này phù hợp cho MMC/SD card.

Trường hợp chân MISO (7), đây là chân dữ liệu truyền từ MMC/SD card về mạch điều khiển nên không cần giảm điện áp, tín hiệu 3.3V từ MMC/SD có thể được chip điều khiển chấp nhận. Do đó, chân MISO được nối trực tiếp giữa MMC/SD và chip điều khiển. Chú ý là card và chip điều khiển được nối GND chung.

2.7.2 Phương thức giao tiếp MMC/SD

Trong giao tiếp với MMC/SD ở chế SPI sẽ có 4 modes hoạt động của chuẩn này tùy thuộc vào cạnh của xung giữ nhịp SCK. MMC/SD card hoạt động tốt ở mode 0 của SPI tức là CPHA=0, CPOL=0.

Nếu gọi dữ liệu giao tiếp giữa chip điều khiển chủ (hay gọi là host) và

Một phần của tài liệu THIẾT KẾ VÀ THI CÔNG MẠCH ĐO VÀ CẢNH BÁO NHIỆT ĐỘ DÙNG SÓNG RF, GIAO TIẾP MÁY TÍNH VÀ LƯU TRỮ DÙNG MMC (Trang 63 -81 )

×