1. Trang chủ
  2. » Luận Văn - Báo Cáo

THIẾT KẾ CHẾ TẠO THIẾT BỊ ĐO VÀ LƯU DỮ LIỆU NHIỆT ĐỘ CỠ NHỎ

79 183 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 79
Dung lượng 1,08 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

TÓM TẮT Khóa luận đã xây dựng được thiết bị đo và lưu dữ liệu nhiệt độ trên cở sở dùng vi điều khiển PIC18F4550.. Hệ thống được xây dựng dựa trên việc kết hợp nhiều khối thiết bị ngoại v

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC NÔNG LÂM THÀNH PHỐ HỒ CHÍ MINH

KHÓA LUẬN TỐT NGHIỆP

THIẾT KẾ CHẾ TẠO THIẾT BỊ ĐO VÀ LƯU DỮ LIỆU NHIỆT

Trang 2

THIẾT KẾ CHẾ TẠO THIẾT BỊ ĐO VÀ LƯU DỮ LIỆU NHIỆT

ĐỘ CỠ NHỎ

Tác giả

LÊ VĂN LUẬN

Giáo viên hướng dẫn:

PGS.TS Nguyễn Văn Hùng

KS Nguyễn Trung Trực

Tháng 06 năm 2013

Trang 3

LỜI CẢM ƠN

Em xin trân trọng cám ơn tất cả quý Thầy, Cô trường Đại Học Nông Lâm Tp Hồ

Chí Minh và quý Thầy, Cô khoa Cơ khí – Công nghệ đã trang bị cho chúng em những

kiến thức quý báu trong quá trình học tập tại trường

Em xin chân thành cám ơn các Thầy, Cô bộ môn Cơ điện tử đã hướng dẫn, giúp

đỡ chúng em rất tận tình trong quá trình chúng em làm đề tài

Em cũng xin bày tỏ sự biết ơn chân thành tới thầy PGS.TS.Nguyễn Văn Hùng và

anh Nguyễn Trung Trực đã tận tình hướng dẫn chúng em trong quá trình làm Luận văn

tốt nghiệp

Đặc biệt, chúng em xin cám ơn quý Thầy, Cô trong Hội đồng đã dành thời gian

nhận xét, góp ý để Luận văn của chúng em được hoàn thiện hơn

Cuối cùng, chúng em xin gửi lời cám ơn đến những người thân cũng như bạn bè

đã động viên, ủng hộ và luôn tạo cho chúng em những điều kiện thuận lợi trong quá

trình hoàn thành Luận văn tốt nghiệp

Thành phố Hồ Chí Minh, ngày 13 tháng 06 năm 2013

Sinh viên thực hiện

Trang 4

TÓM TẮT

Khóa luận đã xây dựng được thiết bị đo và lưu dữ liệu nhiệt độ trên cở sở dùng vi điều khiển PIC18F4550 Với ứng dụng cụ thể là thu thập dữ liệu nhiệt độ môi trường Hệ thống được xây dựng dựa trên việc kết hợp nhiều khối thiết bị ngoại vi khác bao gồm khối thu thập nhiệt độ dùng cảm biến LM35,khối giao tiếp thẻ nhớ MMC lưu trữ tất cả dữ liệu và khối hiển thị dùng LCD 16 cột 2 dòng hiển thị cùng lúc 32 ký tự

Trang 5

MỤC LỤC

LỜI CẢM ƠN iii 

TÓM TẮT iv 

DANH MỤC CÁC BẢNG x 

Chương I 1 

MỞ ĐẦU 1 

1.1 Đặt vấn đề 1 

1.2 Mục đích đề tài 1 

Chương II 2 

TỔNG QUAN 2 

2.1 Tổng quan về hệ thống đo lường và điều khiển 2 

2.2 Hệ thống đo lường nhiệt độ 3 

2.3 Tổng quan về vi điều khiển PIC 4 

2.3.1 Sơ đồ chân 6 

2.3.2 Các Công Cụ Lập Trình 8 

2.3.3 Đơn vị ICD-U40 9 

2.3.4 Tiêu Thụ Năng Lượng 10 

2.3.5 FIRMWARE 11 

2.3.6 Các công cụ làm việc 11 

.3.7 Thiết bị lớp 11 

2.3.8 Firmware HID 12 

2.3.9 Một số đặc tính: 12 

2.3.10 Nguyên tắc hoạt động: 12 

2.3.11 Driver 13 

2.3.12 Mô tả thực hiện Firmware thứ hai 13 

2.4 Cảm biến nhiệt độ và vi mạch LM35 16 

2.4.1 Nhiệt độ và ý nghĩa của đo nhiệt độ 16 

2.4.2 Cảm biến nhiệt độ LM35 16 

2.5 MMC và ứng dụng đọc ghi dữ liệu 17 

Trang 6

2.5.1 Chuẩn giao tiếp của MMC 19 

2.5.1.1 MultiMediaCard Mode 20 

2.5.1.2 SPI Mode 21 

2.5.2 Đặc tính của MMC trong chuẩn SPI 22 

2.5.2.1 Các thanh ghi của MMC 24 

2.5.2.2 Định dạng khung lệnh của MMC 24 

2.5.2.3 Các lệnh được sử dụng 25 

2.5.2.3.1 Lớp các lệnh sử dụng 25 

2.5.3.2.2 Chi tiết các lệnh được sử dụng 26 

2.5.2.4 Đáp ứng của các lệnh 26 

2.5.3 Khởi tạo MMC trong chế độ SPI 27 

2.5.3.1 Thiết lập lại phần mềm 27 

2.5.3.2 Khởi tạo 27 

2.5.4 Quá trình đọc ghi khối dữ liệu đối với MMC trong SPI mode 28 

2.5.5 Hệ thống tệp tin 29 

2.5.5.1 Master Boot Record (MBR) 31 

2.5.5.2 Sector khởi động 31 

2.5.5.5 Sử dụng hàm khi định dạng thẻ theo FAT16 33 

2.6 Tổng quan về LCD 34 

Chương III 35 

NỘI DUNG VÀ PHƯƠNG PHÁP NGHIÊN CỨU 35 

3.1 Nội dung nghiên cứu 35 

3.2 Phương pháp nghiên cứu 35 

Chương IV 36 

KẾT QUẢ VÀ THẢO LUẬN 36 

4.1 Kết quả thiết kế chế tạo 36 

4.1.1 Yêu cầu thiết kế 36 

4.1.2 Thiết kế mạch xử lý 36 

Trang 7

4.1.2.1 Khối cảm biến: 37 

4.1.2.2 Khối khuếch đại 38 

4.1.2.3 Khối chuyển đổi ADC 40 

4.1.2.4 Khối vi điều khiển 42 

4.1.2.5 Khối hiển thị 44 

4.1.2.6 Khối mạch lưu dữ liệu nhiệt độ MMC/SD card 46 

4.2 Khảo nghiệm sơ bộ 49 

Chương V 53 

KẾT LUẬN VÀ ĐỀ NGHỊ 53 

5.1 Kết quả đạt được 53 

5.2 Hướng phát triển đề tài 53 

TÀI LIỆU THAM KHẢO 54 

PHỤ LỤC 55 

Phụ lục 1: Các bảng mô tả 55 

Phụ lục 2: Đoạn code sau sẽ mô tả quá trình khởi tạo thẻ 63 

Phụ lục 3: Đoạn code thực quá trình định đạng thẻ theo FAT16 64 

Phụ lục 4: Code điều khiển thiết bị đo và lưu dữ liệu nhiệt độ 66 

Trang 8

DANH MỤC CÁC HÌNH

Hình 2.1 Sơ đồ của một hệ thống đo lường và điều khiển 2 

Hình 2.2 Sơ đồ hệ thống đo và lưu dữ nhiệt độ 3 

Hình 2.3 Ảnh PIC18F4550 5 

Hình 2.4 Giao tiếp USB 5 

Hình 2.5 Sơ đồ chân của PIC18F4550 trong hộp DIP-40 7 

Hình 2.6 TQFP 7 

Hình 2.7 Đơn vị ICD-U40 9 

Hình 2.8 Thông tin relay 9 

Hình 2.9 Thông Tin relay 10 

Hình 2.10 Giao diện được phát triển hỗ trợ truyền thông USB 16 

Hình 2.11 Sơ đồ chân của cảm biến LM35 17 

Hình 2.12 Sơ đồ cấu trúc của MMC 18 

Hình 2.13 Hình ảnh thực tế của MMC và RS-MMC 18 

Hình 2.14 Sơ đồ ghép nối MMC với host với MultiMediaCard mode 20 

Hình 2.15 Sơ đồ truyền nhận dữ liệu theo chuẩn SPI 22 

Hình 2.16 Truyền dữ liệu theo từng khối 23 

Hình 2.18 Đọc ghi dữ liệu theo từng block 28 

Hình 2.17 Sơ đồ khối khởi tạo MMC 28 

Hình 2.19 Cấu trúc bộ nhớ MMC 30 

Hình 2.20 Ví dụ phân bố dữ liệu của 1 file 33 

Hình 2.21 Ảnh LCD1602 34 

Trang 9

Hình 2.22 Sơ đồ thứ tự và tên chân tương ứng 34 

Hình 4.1 Sơ đồ khối tổng quát của thiết bị 36 

Hình 4.2 Ảnh LM35   Hình 4.3 Sơ đồ chân của LM35 37 

Hình 4.4 Sơ đồ mạch khuếch đại tín hiệu ngõ vào 39 

Hình 4.5 Sơ đồ chân của ADC0809 40 

Hình 4.6 Sơ đồ chân của Pic 18f4550 42 

Hình 4.7 Mạch nguyên lý mạch điều khiển trung tâm 43 

Hình 4.8 Ảnh mạch điều khiển trung tâm 44 

Hình 4.9 Ảnh LCD1602 44 

Hình 4.10 Sơ đồ khối mạch LCD 45 

Hình 4.11 Sơ đồ chân MMC card 46 

Hình 4.12 Ảnh ghép nối thẻ nhớ với module thẻ nhớ 47 

Hình 4.13 Ảnh thiết bị đo và lưu dữ liệu nhiệt độ 48 

Hình 4.14 Sơ đồ mạch nguyên lý thiết bị đo và lưu dữ liệu nhiệt độ 48 

Hình 4.15 Sơ đồ mạch nguồn 49 

Hình 4.16 Biểu đồ so sánh nhiệt độ đo của đồng hồ đo nhiệt và cảm biến LM35 51 

Trang 10

DANH MỤC CÁC BẢNG

Bảng 2.1: Các chân trong chuẩn MultiMedia card 19 

Bảng 2.2 Các chân trong chuẩn SPI 19 

Bảng 2.3 Các chân trong chuẩn SPI 21 

Bảng 2.4: Danh sách các thanh ghi trong MMC 24 

Bảng 2.5: Chi tiết ý nghĩa của các bit 25 

Bảng 2.6: Lớp các lệnh sử dụng 25 

Bảng 2.7: Nội dung của MBR 31 

Bảng 2.8: Nội dung các đề mục trong bảng FAT 32 

Bảng 4.1: Bảng trạng thái ngõ vào 41 

Bảng 4.2: Bảng so sánh nhiệt độ đo giữa đồng hồ đo nhiệt và cảm biến LM35 50 

Trang 11

Bảng 6.1: Bảng mô tả các chức năng từng chân của PIC18F4550 55 

Bảng 6.2: Nội dung chi tiết của boot sector 58 

Bảng 6.3: Các lệnh cở bản của MMC 59 

Bảng 6.4: Mô tả thư mục gốc 60 

Bảng 6.5: Mô tả các hàm định dạng thẻ 61 

Trang 12

Trong quá trình sản xuất của nhà máy, xí nghiệp hiện nay việc đo, lưu dữ liệu

và khống chế nhiệt độ tự động là hết sức cần thiết và quan trọng Vì nếu nắm bắt được yêu cầu đo và lưu dữ liệu nhiệt độ tự động thì có nhiều phương pháp nghiên cứu khảo sát vi điều khiển 16f, 18f Vì vậy em đã tiến hành nghiên cứu đề tài thiết

kế chế tạo thiết bị đo và lưu dữ liệu nhiệt độ dựa vào vi điều khiển 18f4550 để lập trình điều khiển

1.2 Mục đích đề tài

Thiết kế chế tạo thiết bị đo và lưu dữ liệu nhiệt độ cỡ nhỏ nhằm mục đích:

 Sử dụng cầm tay để đo nhiệt độ trong các môi trường khác nhau.( Với khoảng nhiệt độ đo được từ (2÷ 1500C)

 Lưu trữ nhiệt độ để phục vụ cho các ứng dụng như : sấy, bảo quản lương thực thực phẩm, kho vũ khí.( dữ liệu có thể lưu khoảng 512 MB hoặc nhiều hơn nữa tùy khả năng lập trình và yêu cầu dung lượng sử dụng)

Trang 13

Chương II TỔNG QUAN

2.1 Tổng quan về hệ thống đo lường và điều khiển

Hệ thống đo lường và điều khiển là một hệ thống tập hợp các thiết bị kỹ thuật

có cùng một nhiệm vụ, cùng một thuật toán chức năng làm sao để thu nhập được thông tin, biến đổi nó, gia công và chuyển thành một dạng mà con người có thể thu nhập được và đưa đến bộ điều khiển

Hình 2.1 Sơ đồ của một hệ thống đo lường và điều khiển

Để có một hệ thống đo đạt hiệu quả và phù hợp với công việc thiết kế một mô hình ban đầu rất quan trọng nó ảnh hưởng đến toàn bộ công việc sau này của chúng

ta

Trong thực tế có nhiều mô hình cấu trúc như là mô hình nối tiếp, mô hình song song, mô hình nối tiếp song song.v.v… Mỗi mô hình được ứng dụng trong trường hợp nhưng tùy thuộc vào yêu cầu của công việc chúng ta phải lựa chọn một

mô hình cho phù hợp

Yêu cầu về một hệ thống đo và thu thập thông tin trong công nghiệp là phải đạt độ chính xác cao, khả năng đo được nhiều kênh, có thể kết nối nhiều thiết bị khác, lượng dữ liệu lưu trữ được trong quá trình đo phải lớn để có thể đánh giá được

Thiết

bị đo

và thu nhận

Thiết bị gia công

và biến đổi thông tin

đo

Thiết

bị lưu trữ thông tin đo

Thiết

bị thể hiện thông tin đo

Trang 14

sự biến đổi của đối tượng trong một thời gian dài từ đó đưa ra được những phương

án điều khiển phù hợp

2.2 Hệ thống đo lường nhiệt độ

Hình 2.2 Sơ đồ hệ thống đo và lưu dữ nhiệt độ

Khóa luận đã khảo sát đối tượng là nhiệt độ môi trường Một sensor nhiệt độ được sử dụng với mục đích cảm nhận Đầu ra là giá trị điện áp tùy thuộc vào sự biến đổi của đối tượng, được đưa vào biến đổi ADC chuyển thành giá trị số Tiếp tục vi điều khiển đảm nhận làm nhiệm vụ tính toán và xử lý, kết quả của quá trình này được hiển thị thông qua LCD để quan sát, đồng thời lưu dữ liệu thu được vào thẻ nhớ

Trong khóa luận này đã ứng dụng thêm mạch giao tiếp với thẻ nhớ MMC qua

đó ta có thể lưu trữ nhiều giá trị nhiệt độ đo được mà ít quan tâm đến việc đầy bộ nhớ như việc ghép nối các EPROM truyền thống Thêm một lợi điểm nữa của việc dùng thẻ nhớ là ta có thể tháo lắp và đọc các giá trị đã ghi được một cách rất dễ dàng

Môi trường

Sensor LM35

Vi điều khiển PIC

Hiển thị LCD

MMC Lấy

mẫu

Trang 15

2.3 Tổng quan về vi điều khiển PIC

Hiện nay trên thị trường có rất nhiều họ vi điều khiển 8051, Motorola 64HC, ARM, AVR, … Ngoài con 8051 được hướng dẫn căn bản ở môi trường đại học, bản thân em đã chọn họ vi điều khiển PIC để mở rộng vốn kiến thức và phát triển các ứng dụng trên công cụ này vì các nguyên nhân sau:

 Họ vi điều khiển này có thể tìm mua dễ dàng ở thị trường Việt Nam

 Giá thành không quá đắt

 Có đầy đủ các tính năng của một vi điều khiển khi hoạt động độc lập

 Là một sự bổ sung rất tốt về kiến thức cũng như về ứng dụng cho họ vi điều khiển mang tính truyền thống (họ vi điều khiển 8051)

Hiện nay tại Việt Nam cũng như trên thế giới, họ vi điều khiển PIC được sử dụng rất rộng rãi Điều này tạo nhiều thuận lợi trong quá trình tìm hiểu và phát triển các ứng dụng như: số lượng tài liệu, số lượng các ứng dụng mở đã được phát triển thành công, dễ dàng trao đổi, học tập, dễ dàng tìm hiểu được những chỉ dẫn khi gặp khó khăn

Sự hổ trợ của nhà sản xuất về trình biên dịch, công cụ lập trình, nạp chương trình từ đơn giản đến phức tạp

Các tính năng đa dạng của họ vi điều khiển PIC, và các tính năng này không ngừng được phát triển

 Vi điều khiển PIC 18f4550:

PIC18F4550 là một vi xử lý cơ bản đa chức năng và rẻ Nó là sản phẩm của họ

vi xử lý PIC thông dụng của công ty Microchip của Mỹ có trụ sở đặt tại Chandler, Arizona (Mỹ)

Trang 16

Hình 2.3 Ảnh PIC18F4550

Điểm riêng biệt của vi xử lý PIC18F4550, nó là một trong những PIC hỗ trợ toàn thể cho USB, nghĩa là có USB gắn trong có sẵn các chân đầu ra để nối trực tiếp với máy tính mà không cần mạch kéo hay bất cứ mạch gắn ngoài nào khác

Hình 2.4 Giao tiếp USB

Trang 17

Hỗ trợ tinh thể và dao động ký nhiều tần số như đầu vào và bộ cân bằng nên

bộ xử lý có thể hoạt động với tần số 48 MHz của dao động ký độc lập khi kết nối Khi kết thúc hoạt động thì chỉnh dao động ký được kết nối (thông qua các bit cấu hình) Làm việc với tốc độ 48 MHz là điều kiện tiên quyết để chuyển sang chế độ toàn tốc nhờ cổng USB Vì vậy, driver USB chuyển sang chế độ toàn tốc (1.5 Mb/s) qua USB và tương thích với chuẩn USB 2.0 Nó cũng có 35 chân vào/ra số chung (xem sơ đồ chân ở phần dưới) và có sẵn vỏ bọc gồm DIP-40 nên rất thuận tiện cho nhà phát triển và những người nghiệp dư quan tâm

Với bộ nhớ, có 32kb Flash lưu trữ chương trình, 2kb bộ nhớ SRAM bay hơi và

256 byte EEPROM (bộ nhớ không bay hơi) để lưu trữ dài hạn dữ liệu như cấu hình Các chỉ thị dài 1 byte với một số ngoại lệ dài 2 byte (CALL, MOVFF, GOTO LSFR) Sử dụng cơ chế đường ống để thực thi mã bằng việc khiến các chỉ thị liên tiếp hoạt động trong 4 xung (độ dài xung) và có 4 lần nhảy xung được thêm vào Các đặc tính đáng chú ý khác là có đồng hồ, ngắt (đồng hồ gắn trong và gắn ngoài) với hai mức ưu tiên và dùng cả hai mức như bộ so sánh tương tự kèm theo với bộ phát điện thế chuẩn có 16 mức (hữu ích khi dùng trigger ở mức phần cứng)

2.3.1 Sơ đồ chân

Sau đây là sơ đồ chân của PIC18F4550 trong hộp DIP-40

Đặc biệt, có thể nhận ra chân D- và D+ từ kết nối USB (chân 23 và 24)

Trang 18

Hình 2.5 Sơ đồ chân của PIC18F4550 trong hộp DIP-40

Pic 18f4550 có 40 chân, 4 port thường dùng trong các mạch làm hàn tay và dùng học tập trong trường đại học

Hình 2.6 TQFP

Trang 19

Hình 2.6 là sơ đồ chân pic 18f4550 loại chip dán, dùng nhiều trong công nghệ hiện đại, loại chip này có 44 chân, nhỏ hơn chip thường dùng nhiều trong các mạch

làm bằng máy (Công dụng của từng chân ở hình 2.5 và hình 2.6 được mô tả ở bảng

 Các đơn vị CCS ICD làm việc tốt với phần mềm điều khiển PCW hay CCS độc lập với ICD CCS Debug PCW là quan trọng và tích hợp với bộ biên dịch PCW, PCWH và cung cấp thông tin phát sinh lỗi được viết chi tiết bằng

C Phần mềm cho phép các chương trình điều khiển độc lập nhanh chóng tác động vào ICSP chính nhờ ICD Phần mềm điều khiển cũng cho phép bạn cập nhật các hỗ trợ mà không thay đổi về mặt logic đối tượng ICD, không phải

bỏ đi chip của đơn vị ICD (Dùng các công cụ phần mềm này đòi hỏi phải nạp cho đơn vị CCS ICD không thay đổi logic phương tiện trên ICD, được tải theo mặc định) Phần mềm điều khiển từ đơn vị ICD và cho phép thiết lập các phần Flash được hỗ trợ Để giúp loại bỏ lỗi, chức năng của PCW hay PCWH là debug và tích hợp IDE

 S40 đã thay thế S20 và DCI 4 MHz Hãy chú ý, S40 và U40 chỉ làm việc với phần mềm và không dùng MPLAB IDE CCS ICD nguyên bản CCS 40 MHz làm việc với MPLAB IDE 5.xx

ICD- Cần phải cấp nguồn 3V cho ICD-U40 ICD-S40 không hỗ trợ 3V CCS cung cấp hai giải pháp cho ICD

Trang 20

2.3.3 Đơn vị ICD-U40

Đơn vị ICD nối với máy tính và phần mềm Debug trên USB Nó hoạt động với tần số xung 40 MHz nên thời gian debug nhanh hơn (có cả cáp USB) Đơn vị được cấp nguồn ICD-U40 USB Bộ nguồn cũng cấp nguồn 5V để nối “cầu” gần ICD trong đơn vị (đơn vị phải được bật)

444

Hình 2.7 Đơn vị ICD-U40

Sơ đồ hai ứng dụng được trình bày dưới đây:

Thông tin relay:

Hình 2.8 Thông tin relay

Trang 21

Phần này dùng để kết nối với ICD của MPLAB để connector J2 có thể lập trình lại cũng như chiếu sáng và gỡ bỏ thiết bị, với loại kết nối này thì không cần card CIP DEMO USB FS của Microchip và có giá thành cao

Đây là cách sử dụng ứng dụng thứ hai:

Hình 2.9 Thông Tin relay

Cần phải nói rằng connector ICD đã thay đổi, không còn là cáp 5 connector nữa mà đã chuyển thành cáp 6 connector, đó là do việc phát triển project gặp khó khăn khi dùng ICD, nó hầu như không thể bị ảnh hưởng hay debug nhiều lần, đây là

lý do chính mà thay đổi là ICD có cấu hình như trên, tuỳ chọn thay đổi đầu vào tương tự và máy chỉ thị thể hiện có truyền thông giữa thiết bị và host

2.3.4 Tiêu Thụ Năng Lượng

Để quyết định xem có cần cấp nguồn ngoài (hay đơn giản là cấp nguồn qua cổng USB)

Do cổng USB có thể cấp dòng 500 mA nên phải dùng nguồn từ ngoài để cấp

Trang 22

nguồn Ta dùng bộ điều chỉnh 7805 và chọn nguồn 9VDC vì đó là điện thế tối thiểu cần để 7805 hoạt động được (và để tản nhiệt) và có thể thay bằng pin 9V nếu cần

2.3.5 FIRMWARE

Thực hiện truyền thông USB

2 ví dụ được phát triển để thực hiện truyền thông qua USB:

 Cung cấp host thông tin (máy tính) cho thiết bị (vi điều khiển) và thông tin relay từ thiết bị (vi điều khiển) cho host (máy tính)

 Quản lý các đầu vào và đầu ra số cũng như các đầu vào tương tự (bộ chuyển đổi tương tự - số)

2.3.6 Các công cụ làm việc

Firmware là chương trình chạy trong CIP và điều khiển truyền thông Nó được viết hoàn toàn bằng C dùng MPLAB C18 của Microchip, một bộ biên dịch C của cùng nhà sản xuất hỗ trợ chuẩn PKI ANSI C’89 và được thiết kế cùng MPLAB IDE (là công cụ để lập trình và debug CIP) Một đặc tính khác của MPLAB C18 là khả năng sinh ra giá trị nhị phân do vi điều khiển quản lý

Họ PIC18F (ví dụ PIC18F4550) dùng chỉ thị mở rộng như một kiến trúc

.3.7 Thiết bị lớp

Theo chuẩn thì có nhiều loại thiết bị USB với các đặc tính khác nhau thường thấy trong thiết bị Ví dụ, có lớp cho camera số, một lớp cho máy scan, một cho máy in … Các lớp thiết bị được xây dựng để nâng cao tính tương thích của các thiết

bị Vì vậy, bất cứ hệ điều hành nào có driver làm việc với camera số đều có thể đọc được ảnh từ camera số được thiết kế phù hợp với các thông số kỹ thuật của loại thiết

Trang 23

driver thì ta sẽ dẫn đến trang này từ Microchip

2.3.8 Firmware HID

Truyền thông được thực hiện qua sự hỗ trợ của firmware USB HID, một nền cung cấp yêu cầu của Microchip để thiết lập truyển thông (qua cổng USB) một cách đơn giản

2.3.9 Một số đặc tính:

Chuyên nghiệp: miễn phí, dễ sử dụng

Nhược điểm: tốc độ truyền dữ liệu nhỏ (giới hạn tới 64 kbyte/giây)

Ứng dụng cũng điều khiển bộ đệm để phân biệt các thông báo nhận đầu vào qua việc truyền đầu vào ngắt và các báo cáo nhận qua việc truyền điều khiển

Nhận các báo cáo đưa đến bằng cách điều khiển truyền thông và gửi lại một báo cáo đến host trong một thông báo đưa đến nhờ điều khiển truyền thông

Một bộ đệm đơn giữ các bản báo cáo được lưu trữ và báo cáo nhận được đã gửi

Việc thực hiện là sử dụng chuột thử nghiệm từ Microchip

Trang 24

Project được kiểm tra trong bảng thể hiện PICDEM FS USB

2.3.11 Driver

Chuẩn yêu cầu tất cả các thiết bị USB trong giai đoạn thương lượng phải được xác định với ID nhà sản xuất và ID sản phẩm (sau đây gọi là VID và PID) Cặp giá trị này giúp nhận biết nhà sản xuất thiết bị (PRI) và mẫu riêng của một sản phẩm được kết nối Vì vậy, các mẫu khác của cùng sản phẩm nói chung khác PID

Mục đích chính của các giá trị này không chỉ là xác định thiết bị mà còn là tìm

và tải đúng driver cho nó Vì vậy, tất cả các driver của Windows (hay các sản phẩm tương tự) được sắp xếp như thiết bị với một hay nhiều PID và PRI sử dụng cho driver đã nói Đây là cách sử dụng Windows (hay hệ điều hành khác đang đề cập)

dù driver được chọn có đúng hay không

Trong trường hợp driver dùng cho hệ điều hành khác, cặp VID/PID đủ để xác định driver nếu cần tải và vì vậy khi một thiết bị gắn với VID/PID thì nhận biết được hệ thống tự động tìm ra và cho phép sử dụng ngay Tuy nhiên, nếu không nhận ra VID/PID thì hệ điều hành sẽ hỏi người dùng cấp driver

2.3.12 Mô tả thực hiện Firmware thứ hai

Ứng dụng thứ hai là sự trợ giúp lớn và kinh nghiệm lớn để hiểu USB, theo sự phát triển của ứng dụng trước đây áp dụng vào các điểm khác để phát triển và thực hiện cho thực thi này và firmware được dùng cho các công cụ làm việc khác này, được mô tả ở chương trước, tiếp cận đang sử dụng là mã hoạt động:

# Include <18F4550.h>

# Fuses HSPLL, NOWDT, NOPROTECT, NOLVP, NODEBUG, USBDIV, PLL5, CPUDIV1, VREGEN

# Use delay (clock = 48000000)

# Define USB_EP1_TX_ENABLE USB_ENABLE_INTERRUPT

# Define USB_EP1_TX_SIZE 8

# Define USB_EP1_RX_ENABLE USB_ENABLE_INTERRUPT

Trang 25

Đặc tính khác được thể hiện trong mã thông báo

Phát triển lập trình tại host được thực hiện bằng Microsoft Visual ++, logic của chương trình, tương tự như ứng dụng trước

Sau đây là cấu trúc chương trình trong ứng dụng này:

Usb_Ej_1.dsp

File (file project) này chứa thông tin về cấp project và được dùng để xây dựng project đơn hay project con Người dùng ngoài có thể chia sẻ file project (.dsp) nhưng không được xuất file khởi tạo nội bộ

Usb_Ej_1.h

Đây là phần header của file chính cho ứng dụng Project khác gồm có header đặc biệt (gồm resource.h) và khai báo lớp ứng dụng Cusb_Ej_1App

Trang 26

Usb_Ej_1.clw

File này chứa thông tin để ClassWizard sử dụng khi phác thảo các lớp hay thêm lớp mới ClassWizard cũng dùng file này để chứa thông tin cần thiết để tạo, soạn danh sách các thông điệp, trình bày dữ liệu cho hội thoại và tạo tác vụ như thành phần nguyên bản

UsbHidApi.lib

File này cung cấp thông báo về chương trình với DLL cùng tên

Giao diện được phát triển hỗ trợ truyền thông USB điều khiển ba kiểu truyền

dữ liệu là: đầu ra số, đầu vào số và đầu vào tương tự - số

Trang 27

Hình 2.10 Giao diện được phát triển hỗ trợ truyền thông USB

2.4 Cảm biến nhiệt độ và vi mạch LM35

2.4.1 Nhiệt độ và ý nghĩa của đo nhiệt độ

Nhiệt độ là một tham số vật lý quan trọng, thường hay gặp trong kỹ thuật, công nghiệp, nông nghiệp và trong đời sống sinh hoạt hằng ngày Nó là tham số có liên quan đến tính chất của rất nhiều vật chất, thể hiện hiệu suất của các máy nhiệt

và là nhân tố trọng yếu ảnh hưởng đến sự truyền nhiệt Vì lẽ đó mà trong các nhà máy, trong hệ thống nhiệt đều phải dùng nhiều dụng cụ đo nhiệt độ khác nhau Chất lượng và số lượng sản phẩm sản xuất đều có liên quan đến nhiệt độ, nhiều trường hợp phải đo nhiệt độ để đảm bảo cho nhu cầu thiết bị và cho quá trình sản xuất Hiện nay yêu cầu đo chính xác nhiệt độ từ xa cũng là yêu cầu có ý nghĩa đối với sản xuất và nghiên cứu khoa học

2.4.2 Cảm biến nhiệt độ LM35

Trong đề tài này ứng dụng cụ thể một loại sensor để khảo sát nhiệt độ môi trường LM35 được chọn cho mục đích này

Trang 28

Hình 2.11 Sơ đồ chân của cảm biến LM35

Hình 2.13 là sơ đồ chân của cảm biến LM35, loại cảm biến này có 3 chân gồm : Vout (chân ra), VS( chân nguồn) , GND(nối đất)

Một số đặc tính của LM35 có thể chỉ ra như sau:

 Chuẩn đo được lấy trực tiếp theo thang bách phân oC

 Tuyến tính với độ thay đổi 10mV/0C

MultiMediaCards (MMC) là loại bộ nhớ nối tiếp dạng Flash được tích hợp cao

và có khả năng truy xuất dữ liệu ngẫu nhiên Nó được đọc ghi thông qua một giao diện nối tiếp rõ ràng vì vậy việc truyền dữ liệu tỏ ra nhanh chóng và an toàn.Những thẻ MMC có hệ thống các tiêu chuẩn về đặc tính kỹ thuật như điện áp số chân… đã được định nghĩa MultiMediaCards là một phát kiến mới trong thiết bị lưu trữ dựa

Trang 29

trên công nghệ bán dẫn Nó được phát triển để tạo ra những thiết bị lưu trữ rẻ và có dung lượng trung bình, ứng dụng cho các phương tiện giải trí đa phương tiện

Hình 2.12 Sơ đồ cấu trúc của MMC

Hình 2.13 Hình ảnh thực tế của MMC và RS-MMC

Hình 2.12 và hình 2.13 cho thấy MMC có 7 chân được mô tả ở các chuẩn như sau:

Trang 30

Chân Tên Loại Mô tả

S: power supply; I: input; O: output; PP: push-pull; OD: open-drain; NC: not

connected

Bảng 2.1: Các chân trong chuẩn MultiMedia card

Các chân trong chuẩn SPI được định nghĩa như bảng sau:

Bảng 2.2 Các chân trong chuẩn SPI 2.5.1 Chuẩn giao tiếp của MMC

MultiMediaCards có thể hoạt động trong hai loại chuẩn khác nhau như sau:

 MultiMedia card Mode

Trang 31

 CLK: với mỗi chu kỳ của tín hiệu này 1bit lệnh và dữ liệu sẽ được truyền trên đường dây Tần số có thể thay đổi từ 0 đến 20Mhz

 CMD: là kênh truyền lệnh 2 hướng sử dụng cho việc khởi tạo card và truyền

dữ liệu là lệnh Những lệnh được gửi đi từ bus master tới MultiMedia card và đáp ứng ngược trở lại cũng chạy trên đường này

 DAT: cũng là một kênh song hướng dùng để truyền dữ liệu

 RSV: chân này được kéo lên nguồn với điện trở 2MΩ

Hình 2.14 Sơ đồ ghép nối MMC với host với MultiMediaCard mode

Trang 32

2.5.1.2 SPI Mode

SPI (Serial Peripheral Interface) là giao tiếp nối tiếp đồng bộ được biết đến đầu tiên ở các vi điều khiển của hãng Motorola Các thẻ nhớ MMC trên thị trường đều tương thích với chuẩn SPI này Giống như các thiết bị khác sử dụng chuẩn này, ghép nối của MMC như sau:

 CS: tín hiệu lựa chọn chip (chip select) tới thẻ

 CLK: tín hiệu xung nhịp (clock) tới thẻ

 DataIn: tín hiệu dữ liệu truyền tới thẻ

 DataOut: tín hiệu dữ liệu đọc từ thẻ

Đặc tính chung của chuẩn SPI là truyền dữ liệu theo byte và thẻ nhớ cũng không phải là một ngoại lệ Tất cả dữ liệu được biểu diễn thành những byte có độ dài 8 bit

và được đồng bộ theo tín hiệu CS

Các chân trong chuẩn SPI được định nghĩa như bảng sau:

Bảng 2.3 Các chân trong chuẩn SPI

Trang 33

2.5.2 Đặc tính của MMC trong chuẩn SPI

SPI mode được lựa chọn cho ứng dụng của đề tài, khi đó MMC được ghép nối với

vi điều khiển cụ thể là PIC18F4550 theo đúng khối phần cứng được tích hợp sẵn trên PIC

Trong mode hoạt động này có 4 loại tín hiệu được sử dụng giao tiếp với host (PIC) là: clock, data in, data out, chip select

 Clock : được dùng để duy trì sự đồng bộ giữa hệ thống và card

 Data in: sử dụng khi truyền lệnh từ host tới thẻ, đồng thời cũng được dùng vào mục đích ghi dữ liệu vào thẻ

 Data out: được dùng với mục đích ngược với data in là gửi đáp ứng từ thẻ về host và đọc dữ liệu từ thẻ

 Chip select: tín hiệu một thẻ cụ thể sẽ được lựa chọn khi tín hiệu này kích hoạt trên nó

Dưới đây sẽ là hình ảnh minh họa quá trình truyền nhận dữ liệu giữa vi điều khiển PIC với thẻ MMC sử dụng chuẩn SPI

Hình 2.15 Sơ đồ truyền nhận dữ liệu theo chuẩn SPI

Chuẩn SPI của MMC cho phép truyền dữ liệu theo 1 khối (single block) hoặc nhiều khối (multiple block) Kích thước tối đa của khối dữ liệu này có thể thay đổi tùy hãng sản xuất nằm trong khoảng từ 1- 2048 byte

Trang 34

Hình 2.16 Truyền dữ liệu theo từng khối

Các gói dữ liệu truyền nối tiếp nhau với các lệnh điều khiển CMD17 và CMD24

Kiểm tra lỗi CRC:

 CRCs (cycle redundancy codes) được thêm vào khung truyền lệnh, đáp ứng,

và dữ liệu của MMC

 CRC sẽ được kích hoạt để phát hiện lỗi trước khi truyền dữ liệu, cho phép truyền lại khi một lỗi được tìm thấy CRC nâng cao độ tin cậy của hệ thống

 Trong MMC mode, CRCs là bắt buộc, 7 bit CRC được thêm vào mỗi lệnh và

16 bit CRC với 512 byte dữ liệu Với SPI mode, CRC là một tùy chọn

Trang 35

2.5.2.1 Các thanh ghi của MMC

Bảng danh sách các thanh ghi trong MMC

Tên thanh ghi Độ

OCR Operation conditions

register

32 bit

Định nghĩa điện thế của hệ thống MMC

1 bit = 10mV

CID Card indentification

register

128 bit

Thông tin về nhà sản xuất, OEM, ID của thẻ

RCA Relative card address

register

16 bit Sử dụng để đặt tên cho thẻ từ host

CSD Card specific data

register

128 bit

Lưu trữ những thông tin riêng của thẻ,

sự phù hợp với CIS của PCMCIA

DSR Driver stage register 16

bit

Sử dụng để thiết lập thông lượng trên MMC bus

Status register 32

bit Chỉ thị trạng thái và tình trạng của lỗi

Bảng 2.4: Danh sách các thanh ghi trong MMC 2.5.2.2 Định dạng khung lệnh của MMC

Dữ liệu nối tiếp [47] Lệnh [0]

Trang 36

Bảng sau cho ta chi tiết ý nghĩa của các bit:

Vị trí bit 47 46 [45:40] [39:8] [7:1] 0

Mô tả Bit start Bit truyền Chỉ số lệnh Đối số CRC7 Bit kết thúc

Bảng 2.5: Chi tiết ý nghĩa của các bit

Một lệnh gồm 48 bit, bit đầu tiên là “bit start” luôn luôn là 0, bit thứ 2 là bit truyền và được đặt bằng 1, 6 bit tiếp theo cho biết chỉ số của lệnh, ví dụ với CMD0 thì 8 bit đầu tiên có giá trị là 01000000b (0x40) Tiếp theo là 32 bit trường đối số có thể là 1 địa chỉ tương đối, địa chỉ đọc hoặc địa chỉ ghi, 8 bit cuối cùng là phần kiểm tra lỗi CRC với bít cuối cùng luôn là 1

Trang 37

2.5.3.2.2 Chi tiết các lệnh được sử dụng

Những lệnh cơ bản được xem là cần thiết để 1 MMC có thể hoạt động được

trong chế độ SPI được mô tả ở bảng 6.3 của phụ lục 1

2.5.2.4 Đáp ứng của các lệnh

Như hình 2.17 cho thấy khi mỗi Command được gửi đến MMC trên đường DI

từ host, thì sẽ có một Response từ MMC gửi trở lại host qua đường DO Trong chế

độ SPI thì có 2 loại Response là R1 và R2 R2 16 bit là đáp ứng trả về từ MMC khi gửi lệnh CMD13 từ host còn R1 8 bit cho tất cả các lệnh còn lại Phần 8 bit thấp của R2 hoàn toàn giống với R1

R1, R1b : là đáp ứng với tất cả các lệnh ngoại trừ lệnh SEND_STATUS

Dữ liệu nối tiếp

Ý nghĩa của các bit:

 Bit 7: Luôn nhận giá trị 0

 Bit 6 : Lỗi tham số

 Bit 5 : Lỗi địa chỉ

 Bit 4 : Lỗi chuỗi xóa

 Bit 3 : Lỗi CRC

 Bit 2 : Lệnh không hợp lệ

 Bit 1 : Xóa lại

 Bit 0 : Trạng thái chờ

R2 : là đáp ứng dành riêng cho lệnh SEND_STATUS (CMD13)

Dữ liệu nối tiếp

Bit 7 Byte 1 Bit 0 | Bit 7 Byte 2 Bit 0

Trang 38

 Bit 5 : Vi phạm chế độ bảo vệ ghi

 Bit 4 : Lỗi ecc thẻ

 Bit 3 : Lỗi CC

 Bit 2 : Lỗi

 Bit 1 : Bỏ qua chế độ bảo vệ ghi hoặc lỗi lệnh khóa/mở khóa thẻ

 Bit 0 : Khóa thẻ Các thông số trên nhận được khi các bit có giá trị là 1

2.5.3 Khởi tạo MMC trong chế độ SPI

Sau khi cấp nguồn MMC hoạt động ở MMC mode Để chuyển sang SPI mode cần phải thực hiện quy trình sau: cấp điện áp cho thẻ nhớ đợi trong vòng ít nhất là 1ms, thiết lập DI và CS ở mức cao, sau khoảng 74 xung được gửi tới chân CLK thì thẻ nhớ sẽ cho phép lệnh

2.5.3.1 Thiết lập lại phần mềm

Gửi lệnh CMD0 với chân CS ở mức thấp để reset thẻ MMC lấy mẫu tín hiệu

CS khi lệnh CMD0 được phát hiện sử dụng Nếu tín hiệu CS ở mức thấp thì thẻ nhớ

sẽ hoạt động ở chế độ SPI Lệnh CMD0 phải là lệnh đầu tiên, trường CRC phải có giá trị hợp lệ, với lệnh CMD0 thì CRC là 0x96 Khi vào hoạt động ở chế độ SPI, thì

mã kiểm tra CRC được vô hiệu hóa Sau khi lệnh CMD0 được chấp nhận, thẻ nhớ

sẽ rơi vào trạng thái chờ (idle state) một đáp ứng R1 sẽ được gửi trở lại host Giá trị của bit idle state là 1, byte R1 là 0x01 CRC cũng có thể cho phép lại bằng lệnh CMD59

2.5.3.2 Khởi tạo

Với trạng thái chờ (idle state), thẻ nhớ chỉ cho phép các lệnh CMD0, CMD1,

và CMD58 Những lệnh khác sẽ bị loại bỏ Khi thẻ phát hiện ra CMD1 nó sẽ bắt đầu quá trình khởi tạo Để kết thúc việc thăm dò khi khởi tạo thẻ, mạch điều khiển của host phải lặp lại quá trình gửi CMD1 và kiểm tra đáp ứng Khi đã khởi tạo thành công, thì bit “In Idle State” trong đáp ứng R1 được xóa về 0 Xử lý quá trình khởi tạo có thể mất tới vài trăm ms (milliseconds) Sau khi quá trình khởi tạo kết thúc thì việc đọc/ghi sẽ được chấp nhận Trong thời gian này, OCR và CSD có thể được đọc để cấu hình các thuộc tính của thẻ Ban đầu giá trị về độ dài của 1 khối có thể lớn hơn 512 byte, vì vậy nếu muốn thay đổi giá trị này ta sử dụng CMD16

Trang 39

Quá trình trên có thể mô tả bằng sơ đồ:

 Code mô tả quá trình khởi tạo thẻ xem ở phụ lục 2

2.5.4 Quá trình đọc ghi khối dữ liệu đối với MMC trong SPI mode

Hình 2.18 Đọc ghi dữ liệu theo từng block

Với lệnh ghi CMD24 thì 8 bit đầu tiên của khung lệnh là “0101 1000B” giá trị này trong hệ hexa là 0x58, còn với lệnh đọc CMD17 thì 8 bit đó sẽ là “0101 0001B”

Hình 2.17 Sơ đồ khối khởi tạo MMC

Ngày đăng: 22/07/2018, 02:12

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. Nguyễn Bá Thuận 2010, Giáo trình vi xử lý và vi điều khiển, Đại Học Lạc Hồng TPHCM, 135 trang Sách, tạp chí
Tiêu đề: Nguyễn Bá Thuận 2010
2. Lưu Thế Vinh 2007, Giáo trình đo lường – cảm biến, Đại Học Quốc Gia TPHCM, 338 trang Sách, tạp chí
Tiêu đề: Lưu Thế Vinh 2007
3. Dogan Ibrahim, 2008. Newnes Advanced PIC.Mcrocontroller Projets in c Mar. Newnes, USA, 534 pages Sách, tạp chí
Tiêu đề: Dogan Ibrahim, 2008
1. Datasheet các linh kiện điện tử- Nguồn internet http//www.alldatasheet.com/ Khác
2. AN1045a, Implementing File I/O Functions Using Microchip’s Memory Disk Drive File System Library, Microchip Technology Inc, 2007 Khác

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w