1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Thiết kế và thi công hệ thống báo cháy

65 31 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 65
Dung lượng 6,57 MB

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

Nội dung

Trong kênh truyền nối tiếp, ta chỉ cần một đường truyền để truyền tuần tự n bit của gói dữ liệu.. Như vậy, để truyền một gói dữ liệu trong kênh truyền song song ta tốn một khoản thời gia

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT

THÀNH PHỐ HỒ CHÍ MINH

ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT MÁY TÍNH

THIẾT KẾ VÀ THI CÔNG HỆ THỐNG BÁO CHÁY

GVHD: NGUYỄN NGÔ LÂM SVTH: PHAN THANH QUỲNH MSSV: 14119097

SVTH: ƯNG TẤN LỰC MSSV: 14119158

Tp Hồ Chí Minh, tháng 01/2019

S K L 0 0 5 4 3 8

Trang 3

Họ và tên sinh viên: Phan Thanh Quỳnh MSSV:14119097

Ngành:Công Nghệ Kỹ Thuật Máy Tính Lớp: 14119CL2

Giảng viên hướng dẫn: ThS.Nguyễn Ngô Lâm ĐT:

Ngày nhận đề tài: 19/ 09 /2018 Ngày nộp đề tài: 19 / 01 /2019

1 Tên đề tài: Thiết kế và thi công hệ thống báo cháy

2 Các số liệu, tài liệu ban đầu:

Kiến thức cơ bản về các môn Mạch điện, Điện tử cơ bản, Vi xử lý

3 Nội dung thực hiện đề tài:

 Thiết kế hệ thống

 Mô phỏng mạch trên Proteus

 Chỉnh sửa và thi công mạch

 Viết báo cáo

4 Sản phẩm:

Hệ thống dùng vi xử lý PIC16F887A

GIẢNG VIÊN HƯỚNG DẪN

Trang 4

3

PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

Họ và tên Sinh viên: Phan Thanh Quỳnh……….MSSV: 14119097……… Ưng Tấn Lực……… MSSV: 14119097……… Ngành: Công nghệ kỹ thuật Máy Tính Tên đề tài: Thiết kế và thi công hệ thống báo cháy

Họ và tên Giáo viên hướng dẫn: Nguyễn Ngô Lâm

NHẬN XÉT

1 Về nội dung đề tài & khối lượng thực hiện:

2 Ưu điểm:

3 Khuyết điểm:

4 Đề nghị cho bảo vệ hay không?

5 Đánh giá loại:

6 Điểm:……….(Bằng chữ: )

Tp Hồ Chí Minh, ngày 19 tháng 01 năm 2019

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

(Ký & ghi rõ họ tên)

CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM

Độc lập – Tự do – Hạnh Phúc

*******

Trang 5

4

PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN

Họ và tên Sinh viên: Phan Thanh Quỳnh MSSV: 14119097 Ưng Tấn Lực……… MSSV: 14119097……… Ngành: Công nghệ kỹ thuật Máy Tính Tên đề tài: Thiết kế và thi công hệ thống báo cháy

Họ và tên Giáo viên phản biện:

NHẬN XÉT

1 Về nội dung đề tài & khối lượng thực hiện:

2 Ưu điểm:

3 Khuyết điểm:

4 Đề nghị cho bảo vệ hay không?

5 Đánh giá loại:

6 Điểm:……….(Bằng chữ: )

Tp Hồ Chí Minh, ngày 19 tháng 01 năm 2019

Giáo viên phản biện

(Ký & ghi rõ họ tên)

CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM

Độc lập – Tự do – Hạnh Phúc

*******

Trang 6

2

LỜI CẢM ƠN

Để đề tài đồ án này đạt kết quả tốt đẹp, em nghiên cứu đã nhận được sự hỗ trợ, giúp đỡ của nhiều thầy cô, bạn bè Với tình cảm sâu sắc, chân thành, cho phép em nghiên cứu được bày tỏ lòng biết ơn sâu sắc đến tất cả các cá nhân đã tạo điều kiện giúp đỡ em nghiên cứu trong quá trình học tập và nghiên cứu đề tài

Trước hết em xin gửi tới các thầy cô bộ môn Máy tính - Viễn thông Trường

ĐH Sư phạm Kỹ thuật Tp.HCM lời chào trân trọng, lời chúc sức khỏe và lời cảm ơn sâu sắc Với sự quan tâm, dạy dỗ, chỉ bảo tận tình chu đáo của thầy cô, đến nay em nghiên cứu đã có thể hoàn thành đồ án, đề tài:

"Thiết kế và thi công hệ thống báo cháy "

Đặc biệt em xin gửi lời cảm ơn chân thành nhất tới thầy – ThS.Nguyễn Ngô Lâm đã quan tâm giúp đỡ, hướng dẫn em nghiên cứu hoàn thành tốt đồ án này trong thời gian qua

Với điều kiện thời gian cũng như kinh nghiệm còn hạn chế của một học viên,

đồ án này không thể tránh được những thiếu sót Em nghiên cứu rất mong nhận được sự chỉ bảo, đóng góp ý kiến của các thầy cô để em có điều kiện bổ sung, nâng cao ý thức của mình, phục vụ tốt hơn công tác thực tế sau này

Em xin chân thành cảm ơn!

Tp.HCM, ngày 19 tháng 01 năm 2019

Trang 7

3

MỤC LỤC

NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP 2

PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN 3

PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN 4

LỜI CẢM ƠN 2

MỤC LỤC 3

DANH MỤC CÁC TỪ VIẾT TẮT 5

DANH MỤC CÁC BẢNG BIỂU 6

DANH MỤC CÁC BIỂU ĐỒ VÀ HÌNH ẢNH 7

CHƯƠNG 1: TỔNG QUAN 8

1.1 GIỚI THIỆU 8

1.2 MỤC TIÊU ĐỀ TÀI 8

1.3 GIỚI HẠN ĐỀ TÀI 8

1.4 BỐ CỤC QUYỂN BÁO CÁO 9

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 10

2.1 PHƯƠNG THỨC HOẠT ĐỘNG CỦA UART 10

2.2 NGUYÊN TÁC GIAO TIẾP SPI 14

2.3 CÁC LINH KIỆN CHÍNH TRONG MẠCH 21

2.3.1 PIC16F887A 21

2.3.2 ModulSim 800L 29

2.3.3 NRF24L01 31

2.3.4 DHT11 33

2.3.5 MQ2 34

CHƯƠNG 3: THIẾT KẾ HỆ THỐNG 37

3.1 YÊU CẦU CỦA HỆ THỐNG 37

3.1.1 Sơ đồ khối của hệ thống 37

3.2 THIẾT KẾ PHẦN CỨNG 39

3.2.1 Khối xử lý trung tâm chính 39

3.2.2 Khối cảm biến 40

3.2.3 Khối hiển thị 41

3.2.4 Khối thời modul sim 41

3.2.5 Khối Remote 42

3.2.6 Khối thiết bị (máy bơm nước) 43

3.2.7 Khối nguồn 44

3.3 THIẾT KẾ PHẦN MỀM 45

3.3.1 Yêu cầu của phần mềm 45

3.3.2 Lưu đồ giải thuật 45

CHƯƠNG 4: KẾT QUẢ THỰC HIỆN 53

Trang 8

4

4.1 KẾT QUẢ PHẦN CỨNG 53

4.2 KẾT QUẢ PHẦN MỀM 54

4.3 NHẬN XÉT 58

CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 59

5.1 KẾT LUẬN 59

5.2 HẠN CHẾ VÀ PHƯƠNG HƯỚNG PHÁT TRIỂN 59

TÀI LIỆU THAM KHẢO 60

Trang 9

đích cơ bản SPI Serial Peripheral Interface Giao diện ngoại vi nối tiếp

OS Operating System Hệ điều hành

I/O Input/Output Ngõ vào/ngõ ra

SMS Short Message Service Dịch vụ tin nhắn ngắn

UART Universal Asynchronous

thông nối tiếp

Trang 10

6

DANH MỤC CÁC BẢNG BIỂU

Bảng 2.3.5: Mô tả các Mode SPI 25

Bảng 2.3.15: Mô tả các chân của cảm biến MQ2 30

Bảng 2 5: Các chân trong LCD 41

Bảng 3.1: Dòng tiêu thụ của các linh kiện 50

Bảng 4.1: Điều khiển hệ thống qua module sim 44

Trang 11

7

DANH MỤC CÁC BIỂU ĐỒ VÀ HÌNH ẢNH

Hình 2.1.1 Kênh truyền nối tiếp 10

Hình 2.1.2 Kênh truyền nối tiếp simplex 11

Hình 2.1.2 Kênh truyền nối tiếp half - duplex 11

Hình 2.1.3 Kênh truyền nối tiếp full - duplex 11

Hình 2.1.4 Truyền nối tiếp bất đồng bộ 12

Hình 2.1.5 ví dụ truyền nối tiếp bất đồng bộ 13

Hình 2.2.1 Sơ đồ kết nối SPI 15

Hình 2.2.2 Sơ đồ nguyên lý kết nối SPI 16

Hình 2.2.4 Kết nối Daisy Chain 17

Hình 2.2.5 Mode SPI 18

Hình 2.3.1 Sơ đồ chân của vi điều khiển PIC16F887A 22

Hình 2.3.2 Sơ đồ khối của PIC16F887A 23

Hình 2.3.4 Chức năng của các chân trong PORTA 25

Hình 2.3.5 Chức năng các chân trong PORTB 25

Hình 2.3.6 Chức năng các chân trong PORTC 26

Hình 2.3.7 Chức năng các chân trong PORTD 27

Hình 2.3.8 Chức năng các chân trong PORTE 28

Hình 2.3.9 Sơ đồ chân module sim 800L 30

Hình 2.3.10 Module NRF24L01 32

Hình 2.3.11 Truyền nhận dữ liệu bằng module NRF24L01 32

Hình 2.3.12 Sơ đồ chân của module NRF24L01 33

Hình 2.3.13 Cảm biến nhiệt độ, độ ẩm DHT11 34

Hình 2.3.14 Cảm biến khí gas, khói MQ2 35

Hình 3.1.1 Sơ đồ khối hệ thống 37

Hình 3.2.1 Sơ đồ mạch vi điều khiển PIC 40

Hình 3.2.2 Sơ đồ mạch cảm biến nhiệt độ, độ ẩm 40

Hình 3.2.3 Sơ đồ mạch LCD 41

Hình 3.2.4 Sơ đồ nguyên lý module sim800L 42

Hình 2.2.5 Sơ đồ nguyên lý Remote 43

Hình 3.2.6 Kết nối hệ thống bơm nước 43

Hình 3.2.7: Nguồn cung cấp 44

Hình 3.3.2 Lưu đồ giải thuật hệ thống 46

Hình 3.3.3 Lưu đồ giải thuật hệ thống 47

Hình 3.3.2 Lưu đồ giải thuật chương trình điều khiển bằng module sim 48

Hình 3.3.3 Lưu đồ giải thuật chương trình ngắt 49

Hình 3.3.4 Lưu đồ giải thuật chương trình điều khiển bằng Remote 50

Hình 3.3.5 Lưu đồ giải thuật chương trình kiểm tra nút nhấn 51

Hình 4.1 Mạch hệ thống chính 53

Hình 4.3 Mạch hệ thống sau khi cấp điện 54

Hình 4.5 Remote điều khiển bật thiết bị 2 55

Hình 4.7 Remote điều khiển bật thiết bị 1 56

Hình 4.9 Điều khiển hệ thống qua module sim 57

Trang 12

8

CHƯƠNG 1: TỔNG QUAN 1.1 GIỚI THIỆU

Thế giới hiện nay đang ngày càng hiện đại với những công nghệ tiên tiến giúp cho cuộc sống thuận tiện hơn cùng với sự phát triển của khoa học và công nghệ, các thiết bị điện tử thông minh đã, đang và sẽ tiếp tục được ứng dụng ngày càng rộng rãi và mang lại hiệu quả trong hầu hết các lĩnh vực khoa học

kỹ thuật cũng như trong đời sống xã hội

Với sự phát triển như vậy việc tự động hóa trong sản xuất và đời sống ngày càng được chú trọng, vì vậy vai trò của VXL ngày càng được chú trọng Các hệ thống tự động cảnh báo, tự động vận hành xuất hiện ngày càng nhiều và trở nên phổ biến, với nhiều tính năng đa dạng mang tính ứng dụng cao hơn Đặc biệt nước ta là một nước nông nghiệp nên việc ứng dụng khoa học công nghệ vào nông nghiệp là hướng đi tất yếu cho sự phát triển

Bên cạnh sự phát triển đó là sự ra đời của nhiều dòng VXL với hiệu năng và khả năng đa nhiệm cao hơn Các dòng VXL được sử dụng nhiều trong các hệ thống tự động ngày nay như: PIC, ATmega, AVR, ARM,… Đặt biệt trong các

hệ thống nhúng nói ngày nay họ VXL PIC16F8xx được sử dụng khá nhiều

Vì các lý do trên nên em xin thực hiện đề tài “THIẾT KẾ VÀ THI CÔNG

HỆ THỐNG BÁO CHÁY” cùng với việc sử dụng VXL PIC16F887A làm

Trang 13

9

Mạch thực tế là việc kiểm nghiệm cách thức hoạt động của các module trong

hệ thống cũng như vận dụng kiến thức đã học vào thiết kế, thi công mạch Điều kiện thực nghiệm cũng còn nhiều hạn chế nên việc đọc nhiệt độ, khí gas, khói

từ cảm biến còn nhiều sai sót mong thầy cô bỏ qua sự hạn chế này

Từ những hạn chế trên em nghiên cứu nhận thấy đề tài của mình còn nhiều thiếu sót, vì vậy em mong nhận được những ý kiến đóng góp, giúp đỡ của thầy, cũng như các bạn

1.4 BỐ CỤC QUYỂN BÁO CÁO

Quyển báo cáo gồm 5 chương:

Chương 1: Tổng quan, giới thiệu sơ lược về đề tài, giới hạn đề tài đã thực hiện

Chương 2: Cơ sở lý thuyết, tình bày về các nguyên tắc đã tìm hiểu để xây dựng module trong đề tài và cấu tạo cũng như tính năng linh kiện được sử dụng trong đề tài

Chương 3: Thiết kế hệ thống, trình bày về cách thức hoạt động của hệ thống, các module sử dụng trong hệ thống và nguyên lý mà nó hoạt động, các bước thiết kế các module và liên kết chúng lại để xây dựng hệ thống,

Chương 4: Kết quả, trình bày về kết quả mà em đã làm đươc và kết quả thực nghiệm

Chương 5: Kết luận và hướng phát triển, là nhận xét của em về kết quả thu được của hệ thống, cũng như đưa ra hướng khắc phục các nhược điểm của đề tài hiện tại, hướng phát triển cho hệ thống trong tương lai

Trang 14

10

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 PHƯƠNG THỨC HOẠT ĐỘNG CỦA UART

Các máy tính/vi điều khiển thường truyền tín hiệu theo hai cách: Song song

và nối tiếp Trong kênh truyền song song, khi truyền một gói dữ liệu n-bit thì ta cần n đường truyền, mỗi bit trong gói dữ liệu sẽ đi trên một đường truyền Trong kênh truyền nối tiếp, ta chỉ cần một đường truyền để truyền tuần tự n bit của gói dữ liệu Như vậy, để truyền một gói dữ liệu trong kênh truyền song song ta tốn một khoản thời gian tbit, trong kênh truyền nối tiếp để truyền n bit

ta tốn khoản thời gian n*tbit :

Các loại kênh truyền dữ liệu nối tiếp:

Các kênh truyền được gọi là simplex (đơn công), hay half duplex(bán song công), hay full duplex (song công) tùy thuộc vào kiểu mà mình kết nối

Hình 2.1.1 Kênh truyền nối tiếp

Trang 15

11

– Kênh truyền nối tiếp simplex chỉ truyền được theo một hướng duy nhất trên một đường truyền xác định

– Kênh truyền nối tiếp half –duplex chỉ có một trường truyền nhưng dữ liệu

có thể truyền theo 2 hướng, tuy nhiên trong một lúc, dữ liệu chỉ đi được theo 1 hướng

– Kênh truyền nối tiếp full – duplex có 2 đường truyền dữ liệu riêng biệt, một

đường truyền và một đường nhận, cho phép dữ liệu truyền nhận theo 2 hướng cùng lúc

Hình 2.1.2 Kênh truyền nối tiếp simplex

Hình 2.1.2 Kênh truyền nối tiếp half - duplex

Hình 2.1.3 Kênh truyền nối tiếp full - duplex

Trang 16

12

Đồng bộ dữ liệu trong các kênh truyền nối tiếp

– Tất cả các kênh truyền nối tiếp đều yêu cầu tín hiệu clock nhằm thiết lập tốc

độ tín hiệu truyền nhận dữ liệu giữa các bên cho khớp với nhau Tùy thuộc vào vào cách sử dụng tín hiệu clock như thế nào mà chúng ta có định nghĩa về kênh truyền đồng bộ hay kênh truyền không đồng bộ

– Kênh truyền không đồng bộ sử dụng bộ tạo tín hiệu clock độc lập ở mỗi thiết

bị, dữ liệu được truyền theo một khung truyền và tốc độ baud được thống nhất bởi bên truyền và bên nhận Còn đối với kênh truyền đồng bộ sẽ có những tín hiệu clock được truyền đồng thời với dữ liệu trên một đường truyền nối giữa hai thiết bị

Khung truyền và một số khái niệm, thuật ngữ

Khung truyền dữ liệu (data frame)

– Dữ liệu đi vào ở đầu thu của đường dữ liệu trong truyền dữ liệu nối tiếp là một dãy các số 0 và 1, và rất khó để hiểu được ý nghĩa của các dữ liệu ấy nếu bên phát và bên thu không cùng thống nhất về một tập các luật, một thủ tục, về cách dữ liệu được đóng gói, bao nhiêu bit tạo nên một ký tự và khi nào dữ liệu bắt đầu và kết thúc Bên cạnh tốc độ baud, khung truyền là một yếu tố quan trọng tạo nên sự thành công khi truyền và nhận Khung truyền bao gồm các quy định về số bit trong mỗi lần truyền, các bit “báo” như bit Start và bit Stop, các bit kiểm tra như Parity, ngoài ra số lượng các bit trong một data hay thứ tự truyền các bit trên đường truyền cũng được quy định bởi khung truyền Hình ảnh cấu trúc dữ liệu trong truyền thông nối tiếp bất đồng bộ:

Hình 2.1.4 Truyền nối tiếp bất đồng bộ

Trang 17

13

– Start là bit đầu tiên được truyền trong một frame truyền, bit này có chức năng báo cho thiết bị nhận biết rằng có một gói dữ liệu sắp được truyền tới Start là bit bắt buộcphải có trong khung truyền, và nó là một bit thấp (0)

– Data hay dữ liệu cần truyền là thông tin chính mà chúng ta cần gởi và nhận

Số lượng bit data tùy thuộc vào các loại vi điều khiển khác nhau, thường thì data có 8bit Trong truyền thông nối tiếp UART, bit có trọng số nhỏ nhất (LSB – Least Significant Bit, bit bên phải) của data sẽ được truyền trước và cuối cùng là bit có trọng số lớn nhất (MSB – Most Significant Bit, bit bên trái) Tuy nhiên thứ tự truyền này có thể được cài đặt bởi người dùng

– Parity là bit dùng để kiểm tra dữ liệu truyền có đúng không (một cách tương đối) Có 2 loại parity là parity chẵn (even parity) và parity lẻ (odd parity) Parity chẵn nghĩa là số lượng số “1” trong dữ liệu bao gồm bit parity luôn là số chẵn Ngược lại tổng số lượng các số “1” trong parity lẻ luôn là số lẻ

Thí dụ: nếu dữ liệu của bạn là 10111011 nhị phân, có tất cả 6 bit có giá trị “1” trong dữ liệu này, nếu quy định parity chẵn được dùng, bit parity sẽ mang giá trị

0 để đảm bảo tổng các số “1” là số chẵn (6 số 1) Nếu parity lẻ được yêu cầu thì giá trị của parity bit là 1 Sau khi truyền chuỗi dữ liệu kèm theo cả bit parity trên, bên nhận thu được và kiểm tra lại tổng số số “1” (bao gồm cả bit parity), nếu vi phạm quy định parity đã đặt trước thì ta khẳng định là dữ liệu nhận được

là sai, còn nếu không vi phạm thì cũng không khẳng định được điều gì (mang tính tương đối)

Parity bit không phải là bit bắt buộc và vì thế chúng ta có thể loại bit này khỏi khung truyền

– Stop bits là 01 hoặc nhiều bit báo cho thiết bị nhận rằng một gói dữ liệu đã được gởi xong Sau khi nhận được stop bits, thiết bị nhận sẽ tiến hành kiểm tra khung truyền để đảm bảo tính chính xác của dữ liệu Stop bits là các bit bắt buộc xuất hiện trong khung truyền

Ví dụ về gói dữ liệu 0x7B với lựa chọn kiểm tra bít chẵn:

Hình 2.1.5 ví dụ truyền nối tiếp bất đồng bộ

Trang 18

14

Tốc độ bit và tốc độ baud

– Có hai thuật ngữ thường dùng trong truyền số liệu là tốc độ bit (bit rate) và tốc độ baud (baud rate) thường bị nhầm lẫn Tốc độ bit là số bit được truyền trong một giây, Tốc độ baud là số đơn vị tín hiệu trong một giây cần có để biểu diễn số bit vừa nêu Khi nói về hiệu quả của máy tính, thì tốc độ bit luôn là yếu

tố quan trọng Tuy nhiên, trong truyền số liệu ta lại cần quan tâm đến hiệu quả truyền dẫn dữ liệu từ nơi này đến nơi khác, như thế khi dùng ít đơn vị tín hiệu cần có, thì hiệu quả càng cao, và băng thông truyền càng thấp; như thế thì cần chú ý đến tốc độ baud Tốc độ baud xác định băng thông cần thiết để truyền tín hiệu.Tốc độ bit là tốc độ baud nhân với số bit trong mỗi đơn vị tín hiệu Tốc độ baud schia cho số bit biểu diễn trong mỗi đơn vị truyền

Tốc độ bit là số bit trong mỗi giây

Tốc độ baud là số đơn vị tín hiệu trong mỗi giây

Tốc độ baud thường bé hơn hay bằng tốc độ bit

– Một ý niệm tương đồng có thể giúp hiểu rõ vấn đề này; baud tương tư như xe khách, còn bit tương tự như số hành khách Một chuyến xe mang một hoặc nhiều hành khách Nếu 1000 xe di chuyển từ điểm này sang điểm khác chỉ mang một hành khách (thí dụ lái xe) thì mang được 1000 hành khách Tuy nhiên, với số xe này, mỗi xe mang 4 người, thì ta vận chuyển được 4000 hành khách Chú ý là chính số xe, chứ không phải số hành khách, là đơn vị lưu thông trên đường, tức là tạo nhu cầu về độ rộng của xa lộ Nói cách khác, tốc độ baud xác định băng thông cần thiết, chứ không phải số bit

2.2 NGUYÊN TÁC GIAO TIẾP SPI

Giao tiếp SPI được hãng motorola giới thiệp ở giữa năm 1980 và được sử dụng trong các dòng vi điều khiển của họ Ngày nay giao tiếp SPI được sử dụng phổ biến để giao tiếp với các vi điều khiển, eeprom, IC thời gian thực

SPI là giao thức nối tiếp đồng bộ đa mục đích (general-purpose synchronous serial interface), trong khi thực hiện giao tiếp SPI dữ liệu truyền và nhận được diễn ra một các đồng thời Một xung clock đồng bộ dùng để dịch và lấy mẫu thông tin trên hai đường dữ liệu

Trang 19

15

Thiết bị giao tiếp SPI sử dụng mối quan hệ master- slaver (chủ-tớ), do thiết bị

tớ không được định địa chỉ nên khi giao tiếp một master với nhiều slaver ta cần đường chọn chíp CS, để chọn slave nào cần truyền nhận dữ liệu Vậy số bus cho giao tiếp này là 3 + (1 n) dây

Các cách kết nối cơ bản:

Giao tiếp 1 master - 1 slave

Tên và chức năng của các chân

MOSI (Master Output Slave Input.):Chân này được sử dụng để truyền dữ liệu khi thiết bị được cấu hình là master và là chân nhận dữ liệu khi cấu hình là slave MISO (Master Input Slave Output): Chân này được sử dụng để nhận dữ liệu khi khi thiết bị được cấu hình là Master và truyền dữ liệu khi cấu hình bởi slave SS: Tín hiệu này được tạo bởi Master để lựa chọn thiết bị slave muốn truyền nhận, Đối với thiết bị master chân này được cấu hình là chân xuất (output) và là chân nhập (input) với slave

SCK: Chân SCK cấp xung đồng bộ để truyền nhận dữ liệu với một Slave nào

đó được chọn

Hình 2.2.1 Sơ đồ kết nối SPI

Trang 20

16

Cả Master và Slave đều có thanh ghi dịch nối tiếp ở bên trong Thiết bị Master

bắt đầu việc trao đổi dữ liệu bằng cách truyền đi một Byte vào thanh ghi dịch

của nó, sau đó Byte dữ liệu sẽ được đưa sang Slave theo đường tín hiệu MOSI

(SDI), Slave sẽ truyền dữ liệu nằm trong thanh ghi dịch của chính nó ngược trở

về Master thông qua đường tín hiệu MISO (SDO) Bằng cách này, dữ liệu của

hai thanh ghi sẽ được trao đổi với nhau Việc đọc và ghi dữ liệu vào Slave diễn

ra cùng một lúc nên tốc độ trao đổi dữ liệu diễn ra rất nhanh Do đó, giao thức

SPI là một giao thức rất có hiệu quả

Trong giao thức chủ-tớ, chỉ có thiết bị Master mới có thể điều khiển (phát ra)

xung SCK Dữ liệu sẽ không được truyền đi nếu như Master không cung cấp

xung SCK và tất cả các thiết bị Slave đều được điều khiển bởi xung nhịp phát ra

từ Master trong khi đó, Slave lại không có khả năng phát xung

Hình 2.2.2 Sơ đồ nguyên lý kết nối SPI

Trang 21

17

Các kiểu kết nối trong SPI

a Kết nối song song nhiều slave:

b Kết nối Daisy chain hay kết nối Cascade

Hình 2.2.3 Kết nối song song Slave

Hình 2.2.4 Kết nối Daisy Chain

Trang 22

18

Các mode trong giao tiếp SPI:

Tùy thuộc vào các cạnh đồng hồ sử dụng cho việc dịch có 4 mode SPI khác

1 Truyền dữ liệu mới tại cạnh lên Lấy mẫu dữ liệu tại cạnh xuống

2 Lấy mẫu dữ liệu tại cạnh xuống Truyền dữ liệu mới tại cạnh lên

3 Truyền dữ liệu mới tại cạnh

Hoạt động của spi trong PIC

Khi khởi tạo giao tiếp SPI,ta phải chỉ rõ là thiết lập chế độ hoạt động nào bằng cách ghi vao thanh ghi SSPCON1 và SSPSTAT các giá trị thích hợp Giá trị này sẽ cho biết các thông số sau được chọn hay không:

- Master Mode (SCK là ngõ ra xung clock)

- Slave Mode (SCK là ngõ vào xung clock)

- Clock Polarity (trạng thái nghỉ của xung SCK)

- Data Input Sample Phase (tại điểm giữa hoặc cuối của xung clock khi data

out)

- Cạnh xung clock (dữ liệu được truyền đi tại cạnh lên/xuống của xung clock)

- Clock Rate (chỉ cho phép iử Master Mode)

Hình 2.2.5 Mode SPI

Trang 23

19

- Slave Select Mode (chỉ sử dụng ở Slave Mode)

Như đã giới thiệu, Module MSSP của PIC có 2 thanh ghi chức năng Truyền/Nhận là Thanh ghi-dịch SSPSR và thanh ghi đệm SSPBUF SSPSR sẽ dịch chuyển data vào hoặc ra khỏi thiết bj, bit Msb trước SSPBUF sẽ giữ dữ liệu mà dữ liệu này đã được ghi vào SSPSR cho đến khi nhận được byte dữ liệu

kế tiếp Nếu SSPBUF đã nhận đủ 8 bit dữ liệu thì bit BF (Buffer Full detect bit)và SSPIF (Interrupt Flag bit) của thanh ghi SSPSTAT được set Bất cứ việc ghi/đọc dữ liệu trong thanh ghi SSPBUF trong qua trình truyền/nhận đều bị cấm

và bit WCOL sẽ được set lên 1.Bit này cần được xóa để nếu dữ liệu tiếp theo được ghi vào SSPBUF hoàn tất thành công

Cần phải đọc dữ liệu trong SSPBUF ngay sau khi nhận về để cho phép các dữ liệu tiếp theo được ghi vào Bit BF sẽ cho biết khi nào SSPBUF đầy dữ liệu (quá trình truyền hoàn tất) Khi ta đọc giá trị trong thanh ghi SSPBUF, bit BF sẽ được xóa

Một cách tổng quát, Ngắt của Module MSSP thường dùng để xét xem quá trình truyền/ nhận xong hay chưa Nếu bit SSPIF = 1 thì chứng tỏ quá trình truyền nhận đã hoàn tất Ngược lại, nếu bit SSPIF = 0 thì quá trình chưa hoàn thành

 Thiết lập chân vào/ra SPI:

Để thiết lập PORT nối tiếp, ta cần phải set bit cho phép SPI hoạt động – bit SSPEN của thanh ghi SSPCON1 Nếu muốn thiết lập lại cấu hình SPI, ta chỉ việc xóa bit SSPEN, khởi tạo lại giá trị cho thanh ghi SSPCON, sau đó lại Set bit SSPEN = 1 Lúc này, các chân của Port nối tiếp là SDI, SDO,SCK, SS Muốn các chân này có đầy đủ chức năng của Port dữ liệu vào ra ta phải chọn hướng dữ liệu cho từng chân bằng cách thao tác lên thanh ghi TRISx như sau: + SDI : chiều dữ liệu tự động được điều khiển bởi Mode SPI

+ SDO : Chân dữ liệu ra nên cần phải xóa bit 5 của TRISC

+ SCK : Nếu ở chế độ Master thì phải xóa bit 3 của TRISC

+ SCK : Nếu ở chế độ Slave thì bit 3 của TRISC cần được set lên 1

+ SS : Set bit 7 của TRISF

Trang 24

20

 PIC ở mode master SPI

Chip Master trong giao tiếp SPI có thể khởi tạo trao đổi dữ liệu bất cứ lúc nào

vì nó có thể diều khiển xung SCK Ở Master Mode, dữ liệu được truyền đi hoặc nhận về ngay khi được ghi vào SSPBUF Nếu Master chỉ nhận mà không truyền

dữ liệu thì chân SDO có thể sử dụng như chân ngõ vào Thanh ghi SSPSR vẫn tiếp tục dịch dữ liệu bên trong nó đồng bộ với xung SCK Cứ mỗi Byte nhận được, PIC sẽ lưu vào trong thanh ghi SSPBUF (cờ ngắt và các bit trạng thái có thể được set lên 1)

Cực tính của xung SCK được chọn bằng cách thao tác lên bit CKP (SSPCON1) Dạng sóng của giao tiếp SPI được biểu diễn như hình bên dưới với bit MSB được truyền đi trước Ở Master Mode, tốc độ xung SCK của giao tiếp SPI được chọn một trong số 4 tùy chọn sau:

- Fosc/4 ( hoặc Tcy)

- Fosc/16 (hoặc 4 - Tcy)

- Fosc/64 (hoặc 16 – Tcy)

- Timer2 output/2

Tốc độ truyền dữ liệu có thể đạt giá trị cao nhất là 10 Megabit/giây (với tần số thạch anh ngoài là 40MHz)

 PIC ở mode slave SPI

Ở chế độ Slave, dữ liệu chỉ được truyền đi hay nhận về khi có xung SCK Khi bit cuối cùng đã được chốt, cờ ngắt SSPIF sẽ được set

Trước khi cho phép PIC hoạt động ở Slave Mode ta cần phải chú ý đến xung SCK Xung clock phải khớp với trạng thái nghỉ của xung SCK Trạng thái nghỉ được lựa chọn bằng việc thao tác lên bit CKP

Trong khi đang ở SPI Slave Mode, xung clock cần thiết cho việc trao đổi dữ liệu được lấy từ chân SCK PIC có thể truyền/ nhận trong lúc đang ‘ngủ đông’ Nếu có 1 byte dữ liệu được nhận thì PIC sẽ ‘thức dậy’

THIẾT BỊ SLAVE TỰ ĐỘNG LỰA CHỌN SỰ ĐỒNG BỘ HÓA

Trang 25

21

Chân Slave Select (SS) cho phép đồng bộ hóa ở chế độ SPI Slave Do đó, nếu đặt cấu hình hoạt động ở chế độ Slave thì ta nên cho phép chân SS để điều khiển (đặt các bit SSPCON1 = 0x04) Khi chân SS được đưa xuống mức thấp,

sự truyền/ nhận dữ liệu được cho phép và chân SDO sẽ được thúc để tải dữ liệu Khi chân SS được đưa lên mức cao, chân SDO sẽ không được thúc nữa, dữ liệu

sẽ không được lưu thông

Nếu SPI Slave Mode có chân SS điều khiển được kích hoạt, thì mô-đun SPI sẽ reset khi chân SS được đưa lên Vdd Lúc này bit counter bị xóa về ‘0’ Ta cũng

có thể xóa bit counter bằng cách xóa bit SSPEN

Cần phải sử dụng chân SS nếu như SPI Slave Mode được dùng với bit CKE được set

2.3 CÁC LINH KIỆN CHÍNH TRONG MẠCH

2.3.1 PIC16F887A

Đây là vi điều khiển thuộc họ PIC16Fxxx với tập lệnh gồm 35 lệnh có

độ dài 14 bit Mỗi lệnh đều được thực thi trong một chu kỳ xung clock Tốc

độ hoạt động tối đa cho phép là 20MHz với chu kỳ lệnh là 200ns Bộ nhớ chương trình là 8K x 14 bit, bộ nhớ dữ liệu là 368x8 byte RAM và bộ nhớ dữ liệu EEPROM với dung lượng 256x8 byte Số PORT I/O là 5 với 33 pin I/O.Các đặc tính ngoại vi bao gồm các khối chức năng sau:

Timer0 : Bộ đếm 8 bit với bộ chia tần 8 bit

Timer1 : Bộđếm 16 bit với bộ chia tần số, có thể thực hiện chức năng đếm dựa vào xung clock ngoại vi ngay khi vi điều khiển hoạt động ở chế độ sleep Timer2: Bộđếm 8 bit với bộ chia tần số, bộ postcaler

Hai bộ Capture/so sánh/điều chế độ rộng xung

Các chuẩn giao tiếp nối tiếp SSP (synchronous Serial Port), SPI và I2C

Trang 26

22

Chuẩn giao tiếp nối tiếp USART với 9 bit địa chỉ Cổng giao tiếp song song PSP ( Parallel Slave Port )với các chân điều khiển RD,WR, CS ởbên ngoài Các đặc tính Analog:

- 8 kênh chuyển đổi ADC 10bit

- Hai bộ so sánh

Bên cạnh đó là một vài đặc tính khác của vi điều khiển như:

- Bộ nhớ flash với khả năng ghi/xóa được 100.000 lần

- Bộ nhớ EEPROM với khả năng ghi/xóa được 1000.000 lần

- Dữ liệu bộ nhớ EEPROM có thể lưu trữ trên 40 năm

- Khảnăng tựnạ p chương trình với khả năng điều khiển của phần mềm

- Nạp được chương trình ngay trên mạch điện ICSP (In Circuit SeRial Programming ) thông qua 2 chân

- Watchdog timer với bộ giao động trong

- Chức năng bảo mật chương trình

- Chế độ Sleep

- Có thể hoạt động với nhiều dạng Oscillator khác nhau

Sơ đồ khối của vi điều khiển PIC16F887A:

Trang 27

23

Hình 2.3.2 Sơ đồ khối của PIC16F887A

 Các cổng xuất nhập của PIC16F887A

Cổng xuất nhậ p (I/O port) chính là phương tiện mà vi điều khiển dùng để tương tác với các thiết bị ngoại vi Sự tương tác này rất đa dạng và thông qua quá trình tương tác đó, chức năng của vi điều khiển được thể hiện một cách rõ ràng Một cổng xuất nhập của vi điều khiển bao gồm nhiều chân I/O pin, tùy theo cách bố trí và chức năng của vi điều khiển mà số lượng cổng xuất nhập và

số lượng chân trong mỗi cổng có thể khác nhau Bên cạnh đó, do vi điều khiển được tích sẵn bên trong các đặc tính giao tiếp ngoại vi nên bên cạnh chức năng

là cổng xuất nhập thông thường thì một số chân xuất nhập có các chức năng khác để thực hiện sự tác động của các đặc tính ngoại vi nêu trên đối với thế giới ngoài Chức năng của từng chân xuất nhập trong mỗi cổng hoàn toàn có thể được xác lập và điều khiển thông qua thanh ghi SFR liên quan đến các chân xuất

Trang 28

là input, ta “set” bit điều khiển tương ứng với chân đó trong thanh ghi TRISA

và ngược lại, muốn xác lập chức năng của một chân trong PORTA là output ta

“clear” bit điều khiển với chân đó trong thanh ghi TRISA Thao tác này hoàn toàn tương tự đối với các PORT và các thanh ghi điều khiển tương ứng (đối với PORTA làTRISA, đối với PORTB làTRISB, đối với PORTC làTRISC, đối với PORTD là TRISD, đối với PORTE là TRISE ) Bên cạnh đó, PORTA còn làngõra của bộADC, bộso sánh, ngõvào analog, ngõvào xung clock của Timer0 vàngõvào của bộgiao tiế p MSSP (Master Synchronous Serial Port)

Chức năng các chân trong PORTA:

Trang 29

25

Hình 2.3.4 Chức năng của các chân trong PORTA

Các thanh ghi SFR liên quan đến PORTA bao gồm:

-PORTA (địa chỉ 05h): chứa giá trị của pin trong PORTA

-TRISA ( địa chỉ 85h): điều khiển xuất nhập

-CMCON (địa chỉ 9Ch): thanh ghi điều khiển bộ so sánh

-CVRCON (địa chỉ 9Dh): thanh ghi điều khiển bộ so sánh điện áp

-ADCON1 (địa chỉ 9Eh): thanh ghi điều khiển bộ ADC

- PORTB

PORTB (RPB) gồm 8 pin I/O thanh ghi điều khiển xuất nhập tương ứng

là TRISB Bên cạnh đó một số chân của PORTB còn được sử dụng trong quá trình nạp chương trình cho vi điều khiển với các chế độ nạp khác nhau PORTB còn liên quan đến ngắt ngoại vi và bộ Timer0

Chức năng cụ thể của từng chân trong PORTB như sau:

Hình 2.3.5 Chức năng các chân trong PORTB

Các thanh ghi SFR liên quan đến PORTB bao gồm:

-PORTB (địa chỉ 06h, 106h): chứa các giá trị pin trong PORTB

-TRISB ( địa chỉ 86h, 186h): thanh ghi điều khiển xuất nhập

Trang 30

26

-OPTION_REG (địa chỉ81h, 181h): điều khiển ngắt ngoại vi và bộ Timer0

- PORTC

PORTC (RPC) gồm 8 pin I/O Thanh ghi điều khiển xuất nhập tương ứng

là TRISC Bên cạnh đó PORTC còn chứa các chân chức năng của bộ so sánh, Timer1, bộPWM vàcác chuẩn giao tiế p nối tiếp I2C, SPI, SSP, USART [3].Chức năng cụthểcủa các chân trong PORTC như sau:

Các thanh ghi điều khiển liên quan đến PORTC gồm:

-PORTC (địa chỉ 07h): chứa giá trị pin trong PORTC

-TRISC ( địa chỉ 87h ): thanh ghi điều khiển xuất nhập

Các thanh ghi điều khiển liên quan đến PORTC gồm:

-PORTC (địa chỉ 07h): chứa giá trị pin trong PORTC

Trang 31

27

-TRISC (địa chỉ 87h): thanh ghi điều khiển xuất nhập

- PORT D

PORT D ( RPD) gồm 8n chân I/O Thanh ghi điều khiển xuất nhập tương ứng

là TRIS D Ngoài ra PORT D còn là cổng xuất dữ liệu của chuẩn giao tiếp PSP (Parallel Slave Port)

Chức năng cụ thể các chân trong PORT D như sau:

Các thanh ghi liên quan đến PORT D bao gồm:

-PORT D : chứa giá trị các pin trong PORT D

-TRISD: thanh ghi điều khiển xuất nhập

Trang 32

28

- PORT E

PORTE ( RPE) gồm 3 chân I/O Thanh ghi điều khiển xuất nhập tương ứng

là TRISE Các chân của PORTE có ngõ vào analog Bên cạnh đó PORTE còn là các chân điều khiển của chuẩn giao tiếp PSP Chức năng cụ thể của các chân trong PORTE như sau:

Hình 2.3.8 Chức năng các chân trong PORTE

Các thanh ghi liên quan đến PORTE bao gồm:

-PORTE : chứa giátrịpin trong PORTE

-TRISE : điều khiển xuất nhập và xác lập các thông số cho chuẩn giao tiếp PSP

-ADCON1 : thanh ghi điều khiển khối ADC

 Truyền thông nối tiếp

- USART

USART (Universal Synchronous Asynchronous Receiver Transmitter) là một trong hai chuẩn giao tiếp USART còn được gọi là giao diện giao tiếp nối tiếp nối tiếp SCI (Serial Communication Interface) Có thể sử dụng giao diện

Ngày đăng: 28/11/2021, 16:30

HÌNH ẢNH LIÊN QUAN

Hình 2.1.1 Kênh truyền nối tiếp - Thiết kế và thi công hệ thống báo cháy
Hình 2.1.1 Kênh truyền nối tiếp (Trang 14)
Hình 2.1.4 Truyền nối tiếp bất đồng bộ - Thiết kế và thi công hệ thống báo cháy
Hình 2.1.4 Truyền nối tiếp bất đồng bộ (Trang 16)
Hình 2.2.2 Sơ đồ nguyên lý kết nối SPI - Thiết kế và thi công hệ thống báo cháy
Hình 2.2.2 Sơ đồ nguyên lý kết nối SPI (Trang 20)
Hình 2.2.3 Kết nối song song Slave - Thiết kế và thi công hệ thống báo cháy
Hình 2.2.3 Kết nối song song Slave (Trang 21)
Hình 2.2.5 Mode SPI - Thiết kế và thi công hệ thống báo cháy
Hình 2.2.5 Mode SPI (Trang 22)
Hình 2.3.1 Sơ đồ chân của vi điều khiển PIC16F887A - Thiết kế và thi công hệ thống báo cháy
Hình 2.3.1 Sơ đồ chân của vi điều khiển PIC16F887A (Trang 26)
Hình 2.3.9 Sơ đồ chân module sim800L - Thiết kế và thi công hệ thống báo cháy
Hình 2.3.9 Sơ đồ chân module sim800L (Trang 34)
Hình 2.3.10 Module NRF24L01 - Thiết kế và thi công hệ thống báo cháy
Hình 2.3.10 Module NRF24L01 (Trang 36)
Hình 2.3.14 Cảm biến khí gas, khói MQ2 - Thiết kế và thi công hệ thống báo cháy
Hình 2.3.14 Cảm biến khí gas, khói MQ2 (Trang 39)
CHƯƠNG 3: THIẾT KẾ HỆ THỐNG - Thiết kế và thi công hệ thống báo cháy
3 THIẾT KẾ HỆ THỐNG (Trang 41)
Hình 3.2.1 Sơ đồ mạch vi điều khiển PIC - Thiết kế và thi công hệ thống báo cháy
Hình 3.2.1 Sơ đồ mạch vi điều khiển PIC (Trang 44)
điều chỉnh độ tương phản của màn hình. Hình 3.2.3 Sơ đồ mạch LCD - Thiết kế và thi công hệ thống báo cháy
i ều chỉnh độ tương phản của màn hình. Hình 3.2.3 Sơ đồ mạch LCD (Trang 45)
Hình 3.2.4 Sơ đồ nguyên lý module sim800L - Thiết kế và thi công hệ thống báo cháy
Hình 3.2.4 Sơ đồ nguyên lý module sim800L (Trang 46)
Hình 2.2.5 Sơ đồ nguyên lý Remote - Thiết kế và thi công hệ thống báo cháy
Hình 2.2.5 Sơ đồ nguyên lý Remote (Trang 47)
Bảng 3.1: Dòng tiêu thụ của các linh kiện - Thiết kế và thi công hệ thống báo cháy
Bảng 3.1 Dòng tiêu thụ của các linh kiện (Trang 48)
Hình 3.3.2 Lưu đồ giải thuật hệ thống - Thiết kế và thi công hệ thống báo cháy
Hình 3.3.2 Lưu đồ giải thuật hệ thống (Trang 50)
Hình 3.3.3 Lưu đồ giải thuật hệ thống - Thiết kế và thi công hệ thống báo cháy
Hình 3.3.3 Lưu đồ giải thuật hệ thống (Trang 51)
Hình 3.3.2 Lưu đồ giải thuật chương trình điều khiển bằng module sim - Thiết kế và thi công hệ thống báo cháy
Hình 3.3.2 Lưu đồ giải thuật chương trình điều khiển bằng module sim (Trang 52)
Hình 3.3.3 Lưu đồ giải thuật chương trình ngắt - Thiết kế và thi công hệ thống báo cháy
Hình 3.3.3 Lưu đồ giải thuật chương trình ngắt (Trang 53)
Hình 3.3.4 Lưu đồ giải thuật chương trình điều khiển bằng Remote - Thiết kế và thi công hệ thống báo cháy
Hình 3.3.4 Lưu đồ giải thuật chương trình điều khiển bằng Remote (Trang 54)
Hình 3.3.5 Lưu đồ giải thuật chương trình kiểm tra nút nhấn - Thiết kế và thi công hệ thống báo cháy
Hình 3.3.5 Lưu đồ giải thuật chương trình kiểm tra nút nhấn (Trang 55)
Hình 4.1 Mạch hệ thống chính - Thiết kế và thi công hệ thống báo cháy
Hình 4.1 Mạch hệ thống chính (Trang 57)
Hình 4.2 Mạch điều khiển Remote - Thiết kế và thi công hệ thống báo cháy
Hình 4.2 Mạch điều khiển Remote (Trang 57)
Hình 4.4 Mạch điều khiển Remote sau khi cấp điện - Thiết kế và thi công hệ thống báo cháy
Hình 4.4 Mạch điều khiển Remote sau khi cấp điện (Trang 58)
Hình 4.3 Mạch hệ thống sau khi cấp điện - Thiết kế và thi công hệ thống báo cháy
Hình 4.3 Mạch hệ thống sau khi cấp điện (Trang 58)
Hình 4.6 Hệ thống bật thiết bị 2 - Thiết kế và thi công hệ thống báo cháy
Hình 4.6 Hệ thống bật thiết bị 2 (Trang 59)
Hình 4.5 Remote điều khiển bật thiết bị 2 - Thiết kế và thi công hệ thống báo cháy
Hình 4.5 Remote điều khiển bật thiết bị 2 (Trang 59)
Hình 4.8 Hệ thống bật thiết bị 2 - Thiết kế và thi công hệ thống báo cháy
Hình 4.8 Hệ thống bật thiết bị 2 (Trang 60)
Hình 4.7 Remote điều khiển bật thiết bị 1 - Thiết kế và thi công hệ thống báo cháy
Hình 4.7 Remote điều khiển bật thiết bị 1 (Trang 60)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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