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

THIẾT KẾ VÀ THỊ CÔNG BẰNG QUANG BẢO S““ SGIAOTIÉP MÁY TỈNH

68 1 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

Tiêu đề Thiết Kế Và Thị Công Bảng Quang Báo Giao Tiếp Máy Tính
Tác giả Cao Minh Vương
Người hướng dẫn ThS. Đồng Sĩ Thiên Châu
Trường học Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh
Chuyên ngành Công nghệ Thông tin, Điện tử Viễn Thông
Thể loại Khóa luận tốt nghiệp
Năm xuất bản 2023
Thành phố Hồ Chí Minh
Định dạng
Số trang 68
Dung lượng 2,16 MB

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

Nội dung

Khi sử dụng ma trận Led được tích hợp sẵn thì ta sẽ khắc phục được tất cả các khuyết điểm về thẩm mỹ và cũng như kỹ thuật của ma trận dùng Led rời như là: độ sáng đồng đều cho tất cả các

Trang 1

Chương 1

GIỚI THIỆU BẢNG QUANG BÁO

Có nhiều cách để thiết kế bảng quang báo và hiển thị thông tin trên nó như dùng IC rời, dùng EEPROM, VĐK…

Với sự tiến bộ của khoa học thì ứng dụng vi điều khiển ngày càng phổ biến Các ứng dụng đơn giản mang tính ứng dụng vừa và nhỏ thì vi điều khiển là lựa chọn với các ưu điểm sau:

- Chi phí rẽ, bán nhiều trên thị trường và dể tìm kiếm trên thị trường

Để tiện lợi trong truyền dẫn ta ứng dụng công nghệ không dây để truyền dữ liệu, loại bỏ phức tạp về dây dẫn, dễ kiểm soát

Trang 3

2.2 Chức năng các khối

- Khối Computer: dùng để truyền dữ liệu cần hiển thị đến VĐK

- Khối điều khiển trung tâm: xuất tín hiệu điều khiển cho Led để tạo các hiệu ứng mong muốn

- Bộ đệm: cách ly tải và khuếch đại dòng để đảm bảo đủ dòng cung cấp cho mạch

- Bộ chọn kênh: tạo địa chỉ, đưa tín hiệu cho phép hàng nào được sáng Tại một thời điểm chỉ cho phép một hàng được sáng

- Bộ công suất: khuếch đại dòng đảm bảo cung cấp dủng dòng, đảm bảo đủ công suất cho mạch hoạt động

- Bộ dịch dữ liệu: nhận dữ liệu từ ngõ vào sau đó dịch dữ liệu và xuất ra ngoài

- Bộ đệm dữ liệu: đảm bảo cho cho dữ liệu ngõ ra được tốt

2.3 Lựa chọn thiết bị

- Với mục đích điều khiển ứng dụng vừa và nhỏ trong đồ đồ án tốt nghiệp này thì việt sử dụng sử dụng vi điều khiển AVR ATmega16 là một lựa trọn tối ưu bởi sự đơn giản về mặt lập trình, tốc độ xử lý cao, giá thành rẽ, nhiều tính năng, dễ tìm kiếm, khả năng giao tiếp với các thiếp bị khác rộng…

Với sự tích hợp ADC của ATmega16 (PORTA.0-PORTA.7) nên chúng ta không cần sử dụng chíp số ADC 0809 Đây là một thuận lợi của các vi điều khiển hiện đại hiện nay, nó giúp chúng ta làm đơn giản mạch điện

- Ta cần hiển thị nhiệt độ và thời gian ra bảng Led vì vậy cần một IC cảm biến nhiệt

để đo nhiệt độ và một IC thời gian thực để cập nhật thời gian

+ Về IC cảm biến nhiệt độ ta dùng con DS18B20 vì các tiện ích: sử dụng giao tiếp một dây nên chỉ cần một chân ra để truyền thông, độ chính xác cao, là IC nhiệt độ

số nên không cần mạch cân chỉnh phức tạp, chỉ hiệu chỉnh bằng phần mềm và đưa

ra số liệu biểu thị nhiệt độ dưới dạng 9 bit mã nhị phân, thích hợp cho việc đo lường

đa điểm, giá thành rẽ

+ Về IC thời gian thực ta dùng DS1307 vì nó cung cấp đầy đủ các số liệu về thời gian như giờ, phút, giây, ngày, tháng, năm nên việc cập nhật thời gian được dễ dàng Việc cập nhật thời gian vẫn được lưu giữ chính xác trong một thời gian dài trong trường hợp bị ngắt nguồn nhờ một nguồn pin nuôi nhỏ Tiết kiệm năn lượng

và mang lại hiệu quả cao

- Trong trường hợp cần đảm bảo cho cho tín hiệu truyền đi được tốt ta cần một bộ đệm để đệm cho tín hiệu không bị suy yếu Ta dùng 74LS245 làm bộ đệm vì nó là

IC đệm hai chiều rất dễ sử dụng hiệu suất cao

Trang 4

- 74LS138 là IC giải mã 3 sang 8, tại mỗi thời điểm tại các ngõ ra của nó chỉ có một ngõ ra được chọn Trong thiết kế của bảng Led này, khi quét hàng thì tại một thời điểm ta cần 1 hàng được chọn vì vậy ta chọn 74LS138 vừa đáp ứng yêu cầu thiết

kế, vừa tiết kiệm được chân Vi Điều Khiển

- Dùng 74HC595 để dịch dữ liệu tạo các hiệu ứng chạy chữ Ta dùng 74HC595 vì

nó là IC ghi dịch, dữ liệu vào là nối tiếp ra song song và nối tiếp vì vậy tiết kiệm được chân dữ liệu, tốc độ nhanh Rất thuận lợi cho tạo hiệu ứng chạy chữ, giá thành

rẽ, hiệu suất cao

- Để đảm công suất cho mạch chạy ổn định, ta nên dùng TIP41C vì nó có dòng cung cấp lên đến 6A, mà công suất mạch của ta cần thiết là dòng cỡ 3A nên dư sức cung cấp cho mạch, công suất lớn mà giá thành rẽ hơn so với các linh kiện tương tự cho nên chọn TIP41C là tối ưu

- Dùng một con A1015 ghép darlington với tiếp để khuếch đại dòng thì rất là phù hợp, A1015 là transistor công suất nhỏ, loại PNP nên có thể ghép nối với các IC có cực thu hở, có ngõ ra tích cực mức thấp mà TIP41C không thể làm được

Sự lựa chọn các linh kiện như trên cho thiết kế bảng quang báo rất là phù hợp, đảm bảo yêu cầu kỹ thuật thiết kế, giá thành thấp

- Để giao tiếp với máy tính ta có hai phương án lựa trọn một là dùng dây dẫn, hai là truyền không dây

Nếu truyền có dây trong trường hợp đặt bảng quang báo ở xa thì thật bất tiện và tốn kém

Chẳng hạn như ta muốn đặt một bảng quang báo ngoài trời để quảng cáo sản phẩm

và bảng này cách xa tòa nhà trung tâm của ta là 1Km Ta phải dùng dây dẫn nối từ trung tâm tới trạm để điều khiển, hoặc là đặt tại trạm một máy tính để điều khiển, hoặc là khi cần điều khiển ta mang máy tính tới trạm để kết nối vào rồi điều khiển, điều này khá là bất tiện

Nhưng dùng phương án truyền không dây thì điều này thật là tiện lợi vì ngồi tại trung tâm mà ta vẫn điều khiển được trạm này, đỡ mất thời gian và chi phí đi lại mà hiệu quả lại cao

Trong đề tài này phương án sử dụng truyền không dây được sự dụng, và sử dụng bộ truyền sóng RF JZ861vì hiệu quả truyền đi xa của nó tốt, khả năng chống nhiễu tốt

và giá thành cũng không cao so với hiệu quả nó mang lại Trong đề tài này ta không tìm hiểu sâu về cấu tạo của bộ RF, chỉ ứng dụng nó vào truyền không dây mà thôi,

để hiểu rõ thêm về cấu tạo của nó thì cần tìm hiệu riêng

Trang 5

- Có hai cách để được một ma trận Led: rắp ráp các Led rời lại với nhau hoặc mua các ma trận Led đã được tích hợp sẵn vào trong một vỏ.

Khi ráp các Led rời lại với nhau thành ma trận thì giá thành tuy rẽ nhưng lại không được thẩm mỹ cho lắm: độ sáng không đồng đều khi nhìn ở các góc độ khác nhau,

độ sáng của các led cũng không giống nhau và cũng không đạt được các tiêu chuẩn tối ưu về kỹ thuật: mạch điện phức tạp, có nhiều chân đưa ra

Khi sử dụng ma trận Led được tích hợp sẵn thì ta sẽ khắc phục được tất cả các khuyết điểm về thẩm mỹ và cũng như kỹ thuật của ma trận dùng Led rời như là: độ sáng đồng đều cho tất cả các Led ( điều này chỉ có tính chất tương đối nhưng có thể phân biệt được sự khác nhau này bằng mắt thường ),các Led sáng đều như nhau ở mọi góc nhìn, đạt được các tiêu chuẩn yêu cầu về kỹ thuật vì do được tích hợp vào trong cùng một vỏ nên các đường mạch bên trong Led được vẽ với độ chính xác cao, số lượng chân đưa ra ngoài ít hơn nhiều so với ma trận dùng Led rời.Và một điều rất quan trọng là khi cần hiển thị nhiều màu (cơ bản trong đề tài này là 3 màu) thì khó có thể thực hiện được bằng Led rời nhưng với Led ma trận tích hợp thì lại

có sẵn trên thị trường, mà giá thành lại rẽ

Với những ưu điểm vượt trội như trên thì ma trân Led tích hợp được dùng để thay thế cho ma trận Led rời là điều hiển nhiên

Trong đề tài này ta dùng Led ma trận 2088-DHG 3 màu

Với cùng một sản phẩm, yêu cầu chức năng nhau nhưng do hai nhà sản xuất khác nhau thì giá thành sẽ khác nhau Có nhiều lý do khác nhau, nhưng nếu xét về mặt lựa chọn thiết bị thì nhà sản suất nào có sự lựa chọn thiết bị tốt và phù hợp, giá thành thấp thì sản phẩm làm ra sẽ có giá thành thấp hơn

Trang 6

- Chân Reset (chân 9) được nối với trở 4k7 kéo lên nguồn.

- Chân VCC, GND (chân 10,11) được nối tới nguồn 5V

- Chân XTAL1, XTAL2 (chân 13, 12) là 2 chân dao động ngoài, được nối với thạch anh 12MHZ và 2 tụ gốm 33pF kéo xuống GND

- Các chân : MOSI, MISO, SCK, RESET, GND lần lượt được nối đến một giắc 5 chân để nạp chương trình cho AVR

Trang 7

- Chân SDA, SCL dùng cho giao tiếp I2C

- Chân RXD, TXD dùng để truyền nhận dữ liệu USART

3.1.2 Đặc điểm

- Hiệu năng cao, tiêu thụ năng lượng ít

- Kiến trúc RISC – Reduce Instruction Set Computer ( có ý nghĩa là máy tính -dùng tập lệnh rút gọn, bộ vi xử lý kiểu này thực hiện ít lệnh hơn những bộ vi xử lý khác )

- 131 lệnh mạnh, hầu hết các lệnh thực hiện trong một chu kỳ

- 32 Thanh chi 8-bit đa năng

- Tốc độc thực hiện lên tới 16 triệu lệnh trong 1 giây với tần số 16MHz

- Có 2 bộ nhân, mỗi bộ thực hiện trong thời gian 2 chu kỳ

- Các bộ nhớ chương trình và dữ liệu cố định

- 16 Kb bộ nhớ flash có khả năng tự lập trình trong hệ thống

- Có thể thực hiện được 10.000 lần ghi/xoá

- Vùng mã Boot tuỳ chọn với những bit khoá độc lập

- Lập trình trên trong hệ thống bởi chương trình on-chip Boot

- Thao tác đọc trong khi ghi thực sự

- 512 bytes EEPROM

- Có thể thực hiện 100.000 lần ghi /xoá

- 1Kb SRAM bên trong

- Lấp trình bộ nhớ Flash ,EEPROM, ngắt, khoá Bit thông qua giao diện JTAG

- 2 bộ định thời/ bộ đếm 8 bit với các chế độ tỷ lệ định trước và chế độ so sánh

- 1 bộ định thời/ bộ đếm 16 bit với các chế độ tỷ lệ định trước riêng biệt, chế độ so sánh và chế độ bắt giữ

- Bộ thời gian thực với bộ tạo dao động riêng biệt

- 4 kênh PWM

- 8 kênh, ADC 10 bit

- Giao điện nối tiếp 2 dây hướng tới byte

- Bộ truyền tin nối tiếp USART khả trình

- Giao diện SPI chủ / tớ

- Watchdog Timer khả trình với bộ tạo dao động bên trong riêng biệt

Trang 8

- Máy so mẫu tương tự bên trong

- Power-on Reset và dò Brown-out khả trình

- Bộ tạo dao động được định cỡ bên trong

- Các nguồn ngắt bên trong và bên ngoài

- 6 chế độ ngủ: Nhàn rỗi, giảm ồn ADC, tiết kiệm năng lượng, giảm năng lượng tiêu thụ, chờ, đóng băng trạng thái

- 32 đường I/O khả trình

- Điện áp hoạt động :2,7 – 5.5V

- Nhiệt độ hoạt động: -40oC đến 85oC

- Các tốc độ : 0-8 MHz khi điện áp 2.7 – 5.5V, 0 – 16MHz khi điện áp 4.5 – 5V

- Tiêu thụ năng lượng tại 1 MHz, 3V, 25oC đối với Atmega16L

Trang 9

- Khối tạo xung:

Bộ tạo xung có chức năng thiết lập tốc độ Baud.Bộ truyền bao gồm một thanh ghi đệm và một thanh ghi dịch,việc ghi dữ liệu vào bộ đệm cho phép cho phép quá trình truyền liên tục mà không có độ trễ giữa các khung.Bộ nhận có cấu tạo phức tạp nó bao gồm việc kiểm tra chẵn lẻ,điều khiển logic,thanh ghi dịch ,đồng thời nó có hai cấp độ trong bộ đệm nhận.Ngoài việc định dạng khung như bộ truyền thì bộ nhận có khả năng phát hiện lỗi khung lỗi chẵn lẻ hoặc lỗi tràn

Trong chế độ truyền không đồng bộ, khung dữ liệu truyền đi không có một tín hiệu clock để đồng bộ hoá dữ liệu (vì thế mà gọi là không đồng bộ), quá trình đồng bộ hoá giữa bộ thu và bộ phát được thực hiện nhờ các bít đồng bộ là start bit và stop bit Một khung nối tiếp bao giờ cũng được định dạng theo thứ tự 1 start bit, các bit

dữ liệu (data bits) , 1 bit parity tuỳ chọn phục vụ kiểm lỗi và kết thúc bằng 1 hoặc 2 stop bit(s)

USART chấp nhận các định dạng khung sau:

1 start bit (luôn có mức logic thấp, gọi là space)

5, 6, 7, 8 hoặc 9 data bits

Không có, hoặc 1 bit parity chẵn/lẻ

1 hoặc 2 stop bit (luôn có mức lôgic cao, gọi là mark)

- Bộ truyền:

Việc truyền dữ liệu nối tiếp ra ngoài thông qua chân TxD.Một quá trình truyền dữ liệu từ MCU đi được khởi tạo bằng việc viết dữ liệu vào thanh ghi đệm dữ liệu UDR, sau đó dữ liệu được chuyển tới thanh ghi dịch bộ phát khi thanh ghi dịch đã sẵn sàng truyền một byte mới Các bit start và stop được bổ sung vào khung dữ liệu trong thanh ghi này với thiết đặt từ thanh ghi điều khiển bộ phát Cũng như vậy bit thứ 9 (nếu có) có thể được thêm vào TXB8 trong thanh ghi UCSRB trước khi byte thấp của ký tự được viết vào UDR Khi thanh ghi dịch dịch hết dữ liệu (đã được điều chế) ra thế giới bên ngoài thông qua chân TxD, nó sẽ sẵn sàng nhận dữ liệu mới nếu nó đang ở trạng thái rỗi hoặc ngay lập tức sau khi bit stop cuối cùng của khung trước đó được truyền đi Lưu ý rằng dữ liệu được dịch ra ngoài với bit LSB trước, cuối cùng là MSB

- Bộ nhận:

Phần mềm cho phép thanh ghi dịch nhận dữ liệu nối tiếp từ thế giới bên ngoài thông qua chân RxD (PD0) Bộ thu bắt đầu tiếp nhận dữ liệu khi dò được một bit Start Sau khi dò được bit Stop đầu tiên (end of the frame), dữ liệu được chuyển đến thanh

Trang 10

ghi UDR (bộ đệm dữ liệu bộ thu) không có các Start và Stop bits theo dạng song song để vào CPU.

USART có 5 thanh ghi

oThanh ghi vào/ra dữ liệu (UDR):

H1.3 Sơ đồ thanh ghi dữ liệu I/O

Các thanh ghi đệm dữ liệu của bộ thu và bộ phát của USART cùng chia sẻ vùng địa chỉ I/O được tham chiếu là thanh ghi dữ liệu UDR

Khi viết vào UDR thì nó thể hiện như là một bộ đệm truyền

Khi đọc dữ liệu từ UDR thì nó lại thể hiện như một bộ đệm nhận Đối với các bit 5,6 và 7, các bit không dùng sẽ bị bỏ qua bởi bộ đệm truyền và được đọc là 0 bởi bộ đệm nhận

Bộ đệm truyền chỉ có thể được viết khi cờ UDRE trong thanh ghi UCSRA được set

Dữ liệu viết vào UDR khi cờ UDRE không được set sẽ bị bỏ qua Khi dữ liệu được viết vào bộ đệm truyền và bộ đệm truyền được enable thì nó sẽ tải dữ liệu vào thanh ghi dịch truyền nếu nó rỗng

Bộ đệm thu gồm hai mức FIFO Hai thanh ghi đệm hoạt động như một bộ đệm vòng FIFO FIFO sẽ thay đổi trạng thái của nó bất cứ khi nào bộ đệm nhận được truy cập Quan trọng là các cờ lỗi (FE và DOR), và bit dữ liệu thứ 9 (RXB8) được đệm cùng với dữ liệu trong bộ đệm nhận Vì vậy các bit trạng thái luôn phải được đọc trước khi thanh ghi UDR được đọc

oThanh ghi điều khiển và trạng thái A (UCSRA):

H1.4 Sơ đồ thanh ghi điều khiển và trạng thái A

Trang 11

+ Bit 7 – RXC(USART Receive Complete) Bit này được set khi có dữ liệu không đọc được vào bộ đệm nhận, hay bộ đệm nhận đã đầy và nó bị xoá khi bộ đệm nhận

là rỗng Cờ RXC có thể sử dụng để phát ra một ngắt báo Receive Complete

+ Bit 6 – TXC(USART Transmit Complete): Bit này được set nếu quá trình truyền hoàn thành, đó là tại lúc kết thúc một khung gửi đi Cờ TXC có thể dùng phát ra một ngắt Transmit Complete

+ Bit 5 – UDRE( USART Data Register Empty) Bit này được set nếu thanh ghi dữ liệu phát (bộ đệm truyền) là rỗng và sẵn sàng nhận dữ liệu mới Cờ này cũng có thể dùng để phát ra một ngắt

+ Bit 4–FE(Frame Error).Bit này đuợc set 1 khi bị lỗi Dữ Liệu.Bit này cũng đuợc Set 0 khi muốn truy xuất thanh ghi UCSRA

o Thanh ghi điều khiển và trạng thái B (UCSRB):

H1.5 Sơ đồ thanh ghi điều khiển và trạng thái B

o Thanh ghi điều khiển và trạng thái C (UCSRC):

H1.6 Sơ đồ thanh gi điều khiển và trạng thái C+ Bit 7 – URSEL( Register Select) Bit này chọn việc truy nhập vào UCSRC hoặc UBRRH Nếu URSEL = 1 thì sẽ chọn làm việc với UCSRC, URSEL phải được viết

Trang 12

là 1 khi thực hiện viết UCSRC.

+ Bit 6 – UMSEL(USART Mode Select) Bít này dùng để chọn giữa chế độ hoạt động đồng bộ (UMSEL = 1) hay không đồng bộ (UMSEL= 0)

oThanh ghi tốc độ Baud (UBRRL và UBLLH):

H1.7 Sơ đồ thanh ghi điều khiển tốc độ Baud

+ Bit 15 – URSEL(Register Select) Làm việc với UBRRH.URSEL = 0

+ Bit 14:12 –( Reserved Bits) Các bit này dành cho các ứng dụng tương lai

+ Bit 11:0 – UBRR11:0(USART Baud Rate Register) Đây là thanh ghi 12 bit chứa tốc độ baud của USART, UBRRH chứa 4 bit cao nhất và UBBRRL chứa 8 bit thấp còn lại

3.2 IC thời gian thực DS1307

3.2.1 Đặc điểm

- DS1307 là IC thời gian thực đếm giờ, phút, dây, ngày của tháng, tháng, ngày của tuần, và năm với sự nhảy năm có giá trị lên đến 2100

- 56 byte RAM không thay đổi, để lưu trữ dữ liệu

- Giao tiếp nối tiếp 2 dây

- Tính hiệu ngõ ra sóng vuông khả trình

- Tự động dò điện áp lỗi và ngắt nguồn

- Tiêu thụ dòng tối thiểu là 500nA trong chế độ dự phòng của pin với với bộ dao động dang hoạt động

- Hoạt động trong tầm nhiệt độ -400C đến 800C

3.2.2 Cấu tạo

DS1307 gồm có 8 chân như hình bên dưới

Trang 13

H1.8 Sơ đồ chân DS1307

- Chân X1, X2 ( chân 1, 2) là hai chân tạo dao động, được kết nối với thạch anh dao động bên ngoài tần số 32,768 KHz, với hai tụ 33pF được kéo xuống GND nhằm tăng tính ổn định

- Chân VBAT (chân 3) là đầu vào pin 3V cho bất kỳ một pin chuẩn nào nào hoặc một nguồn năng lượng khác Điện áp phải được giữ trong khoảng từ 2V-3.5V cho thiết

bị hoạt động đúng Việc ghi danh định bảo vệ ngắt điểm nguồn tại lúc truy cập thời gian thực và sử dụng RAM được chấp nhận, và được thiết lập bởi mạch điện bên trong như 1.25 x VBAT danh định Một pin Li với dòng là 48mAhr hoặc lớn hơn sẽ lưu giữ DS1307 hơn 10 năm trong điều kiện không cấp nguồn và ở nhiệt độ 250C

- VCC, GND (chân 8, 4) là hai chân để cấp nguồn, nguồn 5Vdc được cấp tới hai chân này Khi 5V được cấp thì thiết bị có thể truy cập một cách đầy đủ và dữ liệu mới có thể được đọc và ghi Khi pin 3V được nối tới thiết bị này và VCC dưới 1.25 x VBAT

thì quá trình đọc và ghi không được thực thi Tuy nhiên chức năng timekeeping không bị ảnh hưởng bởi điện áp vào thấp Khi VCC thấp hơn VBAT thì RAM va timekeeping sẽ được ngắt tới nguồn cung cấp bên trong (danh định 3Vdc) của VBAT

- Chân SCL (chân 6): được sử dựng để đồng bộ sự chuyển dữ liệu trong giao tiếp nối tiếp

- Chân SDA ( chân 5): là chân ngõ vào ra cho giao tiếp nối tiếp 2 dây, được thiết kế theo kiểu cực máng hở nên phải có điện trở kéo lên nguồn

- Chân SQW/OUT ( chân 7): là chân sóng vuông / ngõ ra lái Khi chân này được kít hoạt thì bit SQWE được thiết lập 1, chân SQW/OUT phát đi một trong 4 tần số sóng vuông : 1Hz, 4Hz, 8Hz, 32Hz Nó được thiết kế theo kiểu cực máng hở nên đòi hỏi phải có một điện trở trong kéo lên Chân này hoạt động khi cả VCC và VBAT được cấp

Trang 14

H1.9 Sơ đồ khối cấu trúc bên trong của DS1307

+ Oscillator And Divider: bộ dao động và bộ chia

+ Square Wave Out: ngõ ra xung vuông

+ Power Control: điều khiển nguồn

+ Serial Bus Interface: giao tiếp qua bus nối tiếp

+ Address Register: thanh ghi địa chỉ

+ RTC (real time clock): thời gian thực

+ RAM(random access memory): bộ nhớ truy cập ngẫu nhiên

3.2.3 Bảng đồ địa chỉ của của RAM và RTC

Bảng đồ địa chỉ của thanh ghi của RAM và RTC được chỉ ra như hình bên đưới

H2.0 Bảng đồ địa chỉ của RAM và RTC

Trang 15

- Thanh ghi thời gian thực được đặt ở vị trí có địa chỉ từ 00H đến 07h.

- Thanh ghi của RAM được đặt ở vị trí 08h đến 3Fh

Trong quá trình truy cập nhiều byte Khi địa chỉ con trỏ đạt đến 3F thì kết thúc không gian của RAM và quay vòng về lại địa chỉ 00h, bắt đầu không gian đồng hồ

3.2.4 Lịch và đồng hồ

- Thông tin về lịch và thời gian được lấy ra bằng cách đọc các byte thanh ghi thích hợp Lịch và thời gian cũng được thiết lập hoặc khởi tạo bằng cách ghi vào các byte thanh ghi thích hợp Nội dung của các thanh ghi dưới dạng mã BCD Bit 7 của thanh ghi Seconds là CH Khi bit này được thiết lập 1 thì bộ dao động bị cấm, khi

nó được xóa về 0 thì bộ dao động được cho phép

Lưu ý: trạng thái mở nguồn ban đầu của tất cả các thanh ghi không được xác định

Vì vậy điều quan trọng là phải cho phép bộ dao động ( bit CH=0) trong thời gian cấu hình ban đầu

- DS1307 có thể chạy ở chế độ 12h hoặc 24h Bit 6 của thanh ghi Hours được mặc định là bit thanh ghi chọn chế độ 12h hoặc 24h Khi bit 6 ở mức cao thì chế độ 12h được thiết lập, trong chế độ 12h thì bit 5 là bit AM/PM với mức cao là PM Trong chế độ 24h thì bit 5 là bit 10h thứ hai ( 20-23 giờ)

- Trên 2-wire START, thời gian hiện tại được chuyển sang 1 thanh ghi thứ 2 Thông tin về thời gian được đọc từ thanh ghi thứ 2 đó trong khi đồng hồ vẫn chạy, điều này

bỏ qua việc đọc lại thanh ghi chính

H2.1 Thanh ghi timekeeping

Trang 16

3.2.5 Truyền dữ liệu trên Bus nối tiếp 2 dây

- DS1307 hỗ trợ Bus hai dây hai chiều và nghi thức truyền dữ liệu.Thiết bị gởi dữ liệu lên Bus được gọi là bộ phận phát và thiết bị nhận gọi là bộ thu.Thiết bị điều khiển quá trình này gọi là Master,thiết bị nhận điều khiển của Master gọi là Slave.Các Bus nhận sự điều khiển của Master là thiết bị phát ra chuỗi xung Clock (SCL), Master sẽ điều khiển sự truy cập Bus, tạo ra các chỉ thị START và STOP

H2.2 Kết nối bus dữ liệu nối tiếp 2 dây

+ Micro Processor: bộ vi xử lý

+ DS1307 Real Time Clock: đồng đồng hồ thời gian thực DS1307

+ Other Peripheral device: thiết bị ngoại vi khác

+ 2-Wire Serial Data Bus: Bus dữ liệu nối tiếp 2 dây

- Dữ liệu có thể đực bắt đầu khi Bus không bị bận

- Trong qua trình truyền dữ liệu, đường dữ liệu vẫn phải ổn định bất cứ lúc nào đường Clock ở mức cao.Thay đổi đường dữ liệu trong khi đường Clock ở mức cao thì sẽ được hiểu như là những tín hiệu điều khiển

Theo hai điều trên thì Bus được xác định như sau:

- Bus not busy: đường dữ liệu và Clock vẫn ở mức cao

- Truyền dữ liệu Start: sự thay đổi trạng thái trong đường dữ liệu từ cao xuống thấp trong khi đường Clock ở mức cao thì điều kiện START được xác định

- Truyền dữ liệu Stop: sự thay đổi trọng thái trong đường dữ liệu từ thấp đến cao trong khi đường Clock ở mức cao, thì điều kiện STOP được xác định

Trang 17

-Dữ liệu hợp lệ: trạng thái của dòng dữ liệu miêu tả dữ liệu hợp lệ khi, sau khi một điều kiện START,dòng dữ liệu được ổn định trong suốt thời gian mức cao của tín hiệu Clock Dữ liệu phải được thay trong suốt thời gian ở mức thấp của tín hiệu Clock Có một xung Clock cho mỗi bit dữ liệu.

Mỗi dữ liệu truyền được bắt đầu với điều kiện START và kết thúc với điều kiện STOP Số byte dữ liệu được truyền giữa điều kiện START và STOP là không giới hạn và được xác định bởi thiết bị Master Thông tin được truyền theo cách dùng byte và mỗi bộ nhận ra 9 bit Trong phạm vi Bus 2 dây chỉ rỏ một chế độ hợp lệ (100 kHz tốc độ Clock) và một chế độ nhanh ( 400kHz)được xác định DS137 vận hành ở chế độ phù hợp là 100kHz

Acknowledge:mỗi thiết bị nhận, khị được được chỉ, thì bị bắt buộc tạo ra một Acknowledge sau mỗi lần nhận byte Thiết bị Master phải tạo ra một xung Clock phụ, xung Clock này kết vào với bit Acknowledge

Một thiết bị, nó thừ nhận phải kéo xuống đường SDA trong khi xung Clock Acknowledge theo một cách nào đó thì đường SDA ổn định ở mức thấptrong thời

kỳ mức cao của Acknowledge liên hệ với xung Clock Dĩ nhiên là việc cài đăt và tổ chức thời gian phải được thực hiện trong chỗ Master phải báo hiệu một sự kết thúc của dữ liệu đến Slave bằng cách không phát ra một bit Acknowledge trên byte cuối,và nó đã được đo thời gian bên ngoài của Slave Trong trường hợp này Slave phải để dòng dữ liệu mức cao đến cho phép Master tao ra một điều kiện STOP

- Dữ liệu truyền từ bộ phát Master sang bộ nhận Slave: Master sẽ truyền byte đầu tiên là địa chỉ Slave.Tiếp theo sau đó là số byte dữ liệu Slave sẽ gửi lại bit thông báo đã nhận được (bit acknowledge) sau mỗi byte dữ liệu nhận được Dữ liệu sẽ truyền bit có giá trị nhất MSB đầu tiên

- Dữ liệu truyền từ bộ phát Slave sang bộ nhận Master: byte đầu tiên (địa chỉ Slave) được truyền bởi Master Sau đó Slave sẽ gửi lại bit Acknowledge.Tiếp theo sau đó Slave sẽ gửi các byte dữ liệu tới Master Master sẽ gửi cho Slave các bít Acknowledge sau mỗi byte nhận được trừ byte cuối cùng, sau khi nhận được byte cuối cùng thì một ‘Not Acknowledge’ được gửi

Master phát ra tất cả các chuổi xung Clock và các chỉ thị START và STOP Sự truyền sẽ kết thúc với chỉ thị STOP hoặc chỉ thị lặp lại START Khi chỉ thị START lặp lại thì sự truyền chuỗi dữ liệu tiếp tục và các Bus vẫn chưa được giải phóng.Dữ liệu truyền bắt đầu bằng bit MSB

Trang 18

H2.3 Sơ đồ truyền dữ liệu trên bus nối tiếp 2 dây

3.2.6 Chế độ hoạt động của DS1307

DS1307 có thể hoạt động ở hai chế độ sau:

- Chế độ ghi dữ liệu (chế độ Slave nhận): chuỗi dữ liệu và chuỗi xung Clock sẽ được nhận thông qua SDA và SCL Sau mỗi byte được nhận thì môt bit Acnowledge sẽ được truyền Các điều kiện START và STOP sẽ được nhận dạng khi bắt đầu và kết thúc một chuỗi truyền Nhận dạng địa chỉ được thực hiện bởi phần cứng sau khi chấp nhận địa chỉ Slave và bit Chiều Byte địa chỉ là byte đầu tiên nhận được sau khi điều kiện START được phát ra từ master Byte địa chỉ có chứa 7 bit địa chỉ của DS1307 là 1101000.Tiếp theo đó là bit chiều (R/ w) cho phép ghi khi

nó bằng 0 Sau khi nhận và giải mã byte địa chỉ thì thiết bị sẽ phát đi 1 tín hiệu acknowledge lên đường SDA Sau khi DS1307 nhận dạng được địa chỉ và bit ghi, thì master sẽ gửi một địa chỉ thanh ghi tới DS1307 và tạo ra một con trỏ thanh ghi trên DS1307 , master sẽ truyền từng byte dữ liệu cho DS1307 sau mỗi bit acknowledge nhận được Sau đó master sẽ truyền điều kiện STOP khi việc ghi hoànthành

H2.4 Ghi dữ liệu trên DS1307

Trang 19

- Chế độ đọc dữ liệu ( chế độ Slave phát): byte đầu tiên slave nhận được tương tự như chế độ slave ghi Tuy nhiên trong chế độ này thì bit chiều lại chỉ chiều truyền ngược lại Chuỗi dữ liệu được phát đi trên SDA bởi DS 1307 trong khi chuỗi xung clock vào chân SCL Các điều kiện START và STOP được nhận dạng khi bắt đầu hoặc kết thúc truyền một chuỗi Byte địa chỉ nhận được đầu tiên khi master phát đi điều kiện START Byte địa chỉ chứa 7 bit địa chỉ của DS1307 là 1101000 và 1 bit chiều cho phép đọc là 1 Sau khi nhận và giải mã byte địa chỉ thì thiết bị sẽ nhận 1 bit acknowledge trên đường SDA Sau đó DS1307 bắt đầu truyền dữ liệu bắt đầu tới địa chỉ con trỏ thanh ghi thông qua con trỏ thanh ghi nếu con trỏ thanh ghi không được ghi vào trước khi chế độ đọc được thiết lập thì địa chỉ đầu tiên được đọc sẽ là địa chỉ cuối cùng chứa trong con trỏ thanh ghi DS1307 sẽ nhận được một tín hiệu Not Acknowledge khi kết thúc quá trình đọc

Trang 20

- Chân GND ( chân 1): được nối đất

- Chân DQ ( chân 2): chân ngõ vào ra dữ liệu, được thiết kế dưới dạng cực máng

hở, yêu cầu có điện trở kéo lên Nó cũng là chân cung cấp nguồn khi thiết bị sử dụng nguồn kí sinh

- Chân VDD (chân 3): là chân lựa chọn VDD , khi sử dụng nguồn ngoài VDD được nối đến 5V, khi sử dụng nguồn kí sinh thì VDD được nối đất

H2.7 Sơ đồ sử dụng nguồn kí sinh của DS18b20

H2.8 Sơ đồ sử dụng nguồn ngoài của DS18b20

Dùng nguồn kí sinh rất hữu ích trong việc ứng dụng để đo nhiệt độ ở xa hoặc là trong điều không gian bị ràng buộc

H2.9 Sơ đồ khối DS18b20

Trang 21

Dữ liệu được ghi đến byte 2, 3 và 4 của vùng nhớ tạm sử dụng lệnh Write Scratchpad [4Eh] Dữ liệu liệu phải được truyền đến DS18b20 bắt đầu bới bit có ý nghĩa nhỏ nhất hoặc byte 2 Để xác nhận dữ liệu nguyên, vùng nhớ tạm có thể đọc (sử dụng lệnh Read Scratchpad [BEh]) sau khi dữ liệu được ghi Khi vùng nhớ tạm đang đọc, dữ liệu được truyền qua bus 1 dây bắt đầu với bít có nghĩa nhỏ nhất của byte 0 Để truyền TH , TL và cấu hình dữ liệu từ vùng nhớ tạm đến EEPROM thì Master phải ban hành lệnh Coppy Scratchpad [48h].

Dữ liệu trong thanh ghi EEPROM được giữ lại khi thiết bị mất nguồn Khi nguồn lên thì dữ liệu EEPROM được nạp lại sang một vị trí tương ứng của vùng nhớ tạm

Dữ liệu cũng có thể được nạp lại từ EEPROM sang Vùng nhớ tạm bất kỳ thời điểm nào dùng lệnh Recall E2 [B8h] Master có thể ban hành các rãnh thời gian đọc theo lệnh Recal E2 và DS18b20 sẽ chỉ ra trạng thái Recall bằng cách truyền 0 trong khi Recall ở trong tiến trình và 1 khi Recall được thực hiện

H3.0 Bản đồ bộ nhớ của DS18b20

Trang 22

3.3.4 Thanh ghi cấu hình

Byte 4 của vùng nhớ tạm chứa đựng thanh ghi cấu hình Người sử dụng có thể thiết lập bộ chuyển đổi độ phân giải của DS18b20 sử dụng bit R0 và R1 trong thanh ghi này Mặc định khi mở nguồn của các bit đó là R0=1, R1=1 (độ phân giải 12 bit)Lưu ý: có một sự cân bằng trực tiếp giữa độ phân giải và thời gian chuyển đổi Bit 7

và các bit từ 0 đến 4 trong thanh ghi cấu hình được dự trữ cho sử dụng bên trong bởi thiết bị và không thể ghi đè lên

H3.1 Thanh ghi cấu hình của DS18b20

H3.2 Cấu hình độ phân giải của DS18b20

3.3.5 Hoạt động trong đo lường nhiệt độ

Chức năng cốt lõi của DS18b20 là một bộ cảm biến nhiệt độ số trực tiếp Độ chính xác của cảm biến nhiệt độ được cấu hình bởi người sử dụng từ 9, 10, 11, hoặc 12 bit tương ứng với sự gia tăng 0.50C, 0.250C, 0.1250C, 0.06250C theo thứ tự Độ chính xác mặc định tại nguồn lên là 12bit DS18B20 cấp nguồn trong trạng thái nhàn rỗi ở nguồn thấp Để khởi đầu một sự đo lường nhiệt độ và sự chuyển đổi từ Analog sang Digital, điều chính là ban hành một lệnh Convert T [44h] Theo sau sự chuyển đổi, thì kết quả của dữ liệu nhiệt độ được lưu trữ trong 2 byte thanh ghi nhiệt độ trong vùng nhớ tạm và DS18B20 quay trở lại trạng thái nhàn rỗi Nếu DS18B20 được cấp nguồn ngoài, vấn đề chính là có thể ban hành “ read time slots ” sau lệnh Convert T

và DS18B20 sẽ đáp ứng bằng cách truyền 0 trong khi sự chuyển đổi

Trang 23

nhiệt độ ở trong tiến độ và 1 khi sự chuyển đổi thực hiện xong Nếu nguồn cấp bị nhiễu, thì sự thông báo kỹ thuật này không thể được sử dụng từ đó Bus phải được kéo lên cao bằng một sự kéo lênh mạnh trong suốt thời gian sự chuyển đổi nhiệt độ được trọn vẹn.

Dữ liệu nhiệt độ ngõ ra của DS18b20 đã được hiệu chỉnh trong 0C Ứng dụng cho

0F thì một bảng dò tìm hoặc một biểu đồ chuyển đổi phải được sử dụng Dữ liệu nhiệt độ được lưu trữ như là một số bù 2 được mở rộng ký hiệu 16 bit trong thanh ghi nhiệt độ Bit ký hiệu ( S ) chỉ ra rằng nếu nhiệt độ là dương hoặc âm thì: số dương thì S=0 và số âm thì S=1 Nếu DS18b20 được cấu hình cho độ chính xác 12 bit, thì tất cả các bit trong thanh ghi nhiệt độ sẽ chứa dữ liệu hợp lệ Độ chính xác là 11- bit thì bit 0 không xác định, còn độ chính xác là 10 bit thì bit 1 và bit 0 không xác định, và độ chính xác là 9-bit thì bit 0, 1, 2 không xác định

H3 3 Hình thức thanh ghi nhiệt độ của DS18b20

H3.4 Mối quan hệ giữa dữ liệu và nhiệt độ trong DS18b20

Trang 24

3.3.6 Tính hiệu báo động

Sau khi DS18b20 thi hành sự chuyển đổi nhiệt độ, giá trị nhiệt độ được so sánh với

2 giá trị khởi động báo động phụ của người sử dụng xác lập lưu trữ trong 1 byte TH

và TL của thanh ghi Bit kí hiệu ( S ) chỉ ra rằng nếu giá trị là dương hoặc âm : số dương thì S=0 và âm khi S=1 Thanh ghi TH và TL thì không thay đổi (EEPROM) vì vậy chúng sẽ lưu giữ dữ liệu khi thiết bị bị sụt áp Thanh ghi TH và TL có thể được truy cập qua byte 2 và 3 của vùng tạm như là được giải thích trong lựa trọn bộ nhớ.Chỉ có bit 11 đến bit 4 của thanh ghi nhiệt độ được sử dụng so sánh TL và TH từ khi

TH và TL là thanh ghi 8 bit Nếu nhiệt độ được đo lường thấp hơn hoạc bằng TL hoặc

là cao hơn hoặc bằng TH thì một chế độ báo động hiện hành và một cờ báo động được thiết lập bên trong DS18B20 Cờ này được cập nhật sau mỗi lần đo nhiệt độ;

vì vậy nếu chế độ báo động đi xa, cờ sẽ tắt sau sự chuyển đổi nhiệt độ tiếp theo.Thiết bị chính có thể kiểm tra trạng thái cờ báo động của cả DS18b20 trên Bus bằng cách ban hành một lệnh Alarm Search (Ech) Bất kỳ DS18b20 nào với một cờ báo động thiết lập sẽ đáp ứng đến lệnh, vì thế Master có thể định rõ một cách chính xác, điều đó DS18b20 có một hiểu biết về chế độ báo động Nếu một chế độ báo động hiện hành và việc đặt TH hoặc TL đã được thay đổi, sự chuyển đổi nhiệt độ khác được thực hiện để công nhận giá trị chế độ báo động

H3.5 Hình thức thanh ghi TH và TL

3.3.9 Bộ mã ROM 64 bit

Mỗi cảm biến nhiệt độ DS1820 có một dãy mã 64 bit duy nhất được lưu trữ trong

bộ nhớ ROM từ khi sản xuất bằng kỹ thuật laze

H3.6 Sơ đồ bộ nhớ ROM của DS18B20

Như vậy dãy mã được chia ra thành 3 nhóm, trong đó:

- 8 bit đầu tiên là mã định danh họ một dây, mã của DS1820 là 10h

Trang 25

- 48 bit tiếp theo là mã số xuất xưởng duy nhất, nghĩa là mỗi cảm biến DS1820 chỉ

có một số mã 8 bit có ý nghĩa nhất là byte mã kiểm tra CRC (cyclic redundancy check), byte này được tính toán từ 56 bit đầu tiên của dãy mã trên ROM Để truy cập lên cảm biến một dây DS1820 ta phải sử dụng hai nhóm lệnh: các lệnh ROM và các lệnh chức năng (function commands) bộ nhớ, các lệnh này có thể được mô tả ngắn gọn như sau: Sau khi thiết bị chủ (thường là một vi điều khiển) phát hiện ra một xung presence pulse, nó có thể xuất ra một lệnh ROM Có 5 loại lệnh ROM, mỗi lệnh dài 8 bit Thiết

bị chủ phải đưa ra lệnh ROM thích hợp trước khi đưa ra một lệnh chức năng để giao tiếp với cảm biến DS18S20

3.3.7 Lệnh ROM

- READ ROM (33h)

Cho phép đọc ra 8 byte mã đã khắc bằng laser trên ROM, bao gồm: 8 bit mã định tên linh kiện (10h), 48 bit số xuất xưởng, 8 bit kiểm tra CRC Lệnh này chỉ dùng khi trên bus có 1 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ị tớ cùng đáp ứng

- MATCH ROM (55h)

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 DS1820 cụ thể khi trên bus có nhiều cảm biến DS1820 cùng nối vào Chỉ có DS1820 nào có 64 bit trên ROM trung khớp với chuỗi 64 bit vừa được gửi tớ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 DS1820 có 64 bit ROM không trùng khớp sẽ tiếp tục chờ một xung reset Lệnh này được sử dụng cả trong 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 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 S1820 mà không cần gửi chuỗi mã 64 bit ROM 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

- 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 thành viên tớ đang được đấu vào bus và các giá trị cụ thể trong 64 bit ROM của chúng bằng một chương trình dò tìm

- ALARM SEARCH (Ech)

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 DS1820 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

Trang 26

giá trị TH và nhỏ hơn giá trị TL là hai giá trị nhiệt độ cao nhất và nhiệt độ thấp nhất

đã được đặt trên thanh ghi trong bộ nhớ của cảm biến

H3.7 Biểu đồ tính trình thiết lập lệnh rom

Trang 27

3.3.8 Lệnh chức năng bộ nhớ

H3.8 Biểu đồ tiến trình thực hiện lệnh chức năng

Trang 28

- WRITE SCRATCHPAD (4Eh)

Lệnh này cho phép ghi 2 byte dữ liệu vào bộ nhớ nháp của DS1820 Byte đầu tiên được ghi vào thanh ghi TH (byte 2 của bộ nhớ nháp) còn byte thứ hai được ghi vào thanh ghi TL (byte 3 của bộ nhớ nháp) 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ó dữ liệu khác xuất hiện

- READ SCRATCHPAD (Beh)

Lệnh này cho phép thiết bị chủ đọc nội dung bộ nhớ nháp Quá trình đọc bắt đầu từ bit có ý nghĩa nhất của byte 0 và tiếp tục cho đến byte rhứ 9 (byte 8 – CRC) Thiết

bị chủ có thể xuất ra một xung reset để làm dừng quá trình đọc bất kỳ lúc nào nếu như chỉ có một phần của dữ liệu trên bộ nhớ nháp cần được đọc

- READ POWER SUPPLY (B4h)

Một lệnh đọc tiếp sau lệnh này sẽ cho biết DS1820 đang sử dụng chế độ cấp nguồn như thế nào, giá trị đọc đượ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 qua một đường dẫn riêng

3.4 IC đệm 74LS245

3.4.1 Cấu tạo

74LS245 là bộ truyền nhận dữ liệu 8 Bus được thiết kế cho việc giao tiếp đồng bộ hai chiều giữa bác Bus dữ liệu, cho phép truyền dữ liệu từ bus A sang bus B hoặc từ bus B sang bus A tùy thuộc vào mức logic tại ngõ vào điều hiều DIR (Direction Control) Ngõ vào cho phép OE có thể được sử dụng để cấm, vì vậy các Bus đươc tách biệt nhau

74LS245 gồm có 16 chân với các chức năng khác nhau như hình ở bên dưới

Trang 29

H3.9 Sơ đồ cấu tạo của 74LS245

- Chân 10 là chân GND

- Chân 20 là chân VCC

- Chân 1 là chân điều khiển chiều

- Chân 19 là chân cho cho phép

- Các chân cà lại là chân ngõ vào hoặc ngõ ra, phụ thuộc vào chân 1và 19

3.4.2 Hoạt động

Khi chân 19 ở mức thấp và chân 1 ở mức cao thì thì Bus dữ liệu đi từ A sang B, và khi chân 1 ở mức thấp thì Bus dữ liệu đi từ B sang A Khi chân 19 ở mức cao và chân 1 ở bất kỳ trạng thái nào A và B tách biệt nhau

3.5 IC giải mã 74LS138

3.5.1 Cấu tạo

74LS138 là IC giải mã, giải đa hợp tốc độ cao Được dùng làm bộ giải mã địa chỉ khi tác động vào chân chọn IC (Chip Select) của các IC nhớ lưỡng cực 74LS138 gồm có 16 chân như hình bên dưới

H4.0 Sơ đồ cấu tạo chân của 74LS138

Trang 30

- VCC, GND: dùng cấp nguồn cho IC hoạt động VCC được nới đến cực đương của nguồn 5V, GND được nối đến cực âm của nguồn.

- A0, A1, A2: các ngõ vào chọn trọn trạng thái ngõ ra (có thể coi như là các đường địa chỉ của IC) Tổ hợp trạng thái logic của 3 ngõ vào này ta sẽ được 8 trạng thái logic khác nhau ở ngõ ra của IC (23=8)

- E1, E2, E3: là 3 ngõ vào điều khiển IC IC chỉ được phép hoạt động bình thường khi

cả 3 chân này đều ở mức cho phép IC hoạt động (cụ thể là E1, E2ở mức logic thấp,

E3 ở mức logic cao) Chỉ cần 1 trong 3 chân này ở mức logic không phù hợp thì IC

sẽ bị cấm ngay lập tức (tất cả các ngõ ra đều ở mức logic cao) bất chấp trạng thái ở các ngõ vào lại

- O0– O8: các ngõ ra của IC Tuỳ thuộc vào trạng thái của các đường địa chỉ mà ta

cá trạng thái ở ngõ ra tương ứng Khi IC đang hoạt động bình thì thì tại một thời điểm nhất định chỉ có một ngõ ra duy nhất được ở mức thấp, tất cả các ngõ ra còn lại đều ở mức cao

3.5.2 Hoạt động

Tất cả các ngõ ra sẽ ở mức cao trừ khi chân E1 và E2ở mức thấp và E3 ở mức cao Tại một thời điểm chỉ có một ngõ ra được tích cực ở mức thấp các ngõ còn lại ở mức cao Tuỳ thuộc vào các ngõ vào mà ta có được ngõ ra

H4.1 Bảng trạng thái hoạt động của 74LS138

3.6 IC ghi dịch 74HC595

3.6.1 Cấu tạo

74HC595 là IC ghi dịch dùng để dịch dữ liệu, có 16 chân với 5 chân ngõ vào (1 ngõ vào dữ liệu, 4 ngõ vào điều khiển), 9 chân ngõ ra (1 ngõ ra nối tiếp, 8 ngõ ra song song ) và hai chân để cấp nguồn

Trang 31

H4.2 Sơ đồ cấu tạo 74HC595

- Chân A (14) là chân ngõ vào cho dữ liệu nối tiếp

- Chân QA– QH (15, 1 – 7) là chân ngõ ra cho dữ liệu song song

- Chân QH là chân ngõ ra cho dữ liệu nối tiêp

- Chân 11 là chân cung cấp xung nhịp cho dịch dữ liệu

- Chân 10 là chân Reset, khi ở mức thấp nó sẽ reset thanh ghi dịch

- Chân 12 là chân cung cấp xung nhịp cho chốt dữ liệu

- Chân 13 là chân cho phép ngõ ra Ngõ ra chỉ hoạt đông khi chân này ở mức thấp

3.6.2 Hoạt động

Dữ liệu được đưa vào chân 14 (A) của IC, khi có xung cạnh lên ở chân 11 thì 74HC595 sẽ đọc trạng thái của chân 14 (A) vào thanh ghi dịch, khi có xung cạnh lên ở chân 12 thì nó sẽ lấy nội dung thanh ghi dịch đưa lên thanh chốt dữ liệu và dữ liệu được đưa ra ngoài bởi các chân QA – QH (dữ liệu song song) Khi dọc một giá trị từ chân 14 vào thì dữ liệu trên thanh ghi dịch sẽ dịch phải một bit, bit đọc vào sẽ được ghi vào vị trí của của bit 0, còn bit 7 sẽ bị đẩy ra chân số 9 ( dữ liệu nối tiếp)

3.7 Module thu phát RF JZ861

JZ861 được thiết kế theo kiểu điều biến FSK (Frequency Shift Keying): là điều chế

số theo tần số tín hiệu Tín hiệu FSK có dạng sóng dao động có tần số khác nhau, mỗi bit đặc trưng bởi tần số khác nhau này của tín hiệu

- Tần số làm việc 433MHZ

- Công suất truyền nhỏ hơn 10 mW

- Dòng truyền tín hiệu nhỏ hơn 35 mW

- Dòng ở chế độ không làm việc nhỏ hơn 1 uA

Trang 32

- Độ nhạy trong nhận dữ liệu là -110 dbm (1200 bit/s)

JZ 861 có khả năng chống nhiễu tốt, khoảng cách truyền xa 1km Trong đồ án này

ta chỉ tìm hiểu các thông số của bộ phát RF để ứng dụng nó vào truyền không dây

Để tìm hiểu xa hơn cần có một đề tài riêng nghiên cứu về phần này

Trang 33

ATmega16

9

14 16 18 20

12 13

11

22 24 26 28 32

30

33 35 37 39

10

1 3 5 7

RST

PD0/RXDPD1/TXDPD2/INT0 PD4/OC1B PD6/ICP PD7/OC2

XTAL2 XTAL1

GND

PC0/SCL PC1/SDA PC2/TCK PC4/TDO PC5/TDI PC6/TOSC1 AREF

AGND

PA7/AD7 PA5/AD5 PA3/AD3 PA1/AD1

VCC

(T0/XCK)PB0 T1/PB1 (INT2/AIN0)/PB2(0C0/AIN1)PB3PB4/SS MOSI/PB5 SCK/PB7

SCK

BT1

3VDC

RESET MISO

R4 4K7

RXD

RED EN

J31

CON10

1 3 5 7 9 10 C2

3 8

VBAT VCC

R3 4K7 VCC

U66

74LS138

1 3

15 13 11 9 6

5

A C

H4

Q3 A1015

191

18 16 14 12

A0 A2 A4 A6

G DIR

B0 B2 B4 B6

VCC

Q3 A1015 VCC

191

18 16 14 12

A0 A2 A4 A6

G DIR

B0 B2 B4 B6

H12

H3 H5

H14

VCC

Q2 TIP41C

15 13 11 9 6

5

A C

Trang 34

- Dùng một vi điều khiển ATmega16 làm bộ điều khiển trung tâm, các chân PortA

và chân PC7 được dùng để điều khiển cho cho bảng led thônng qua các IC đệm 74LS245 , IC giải mã 74LS138 , IC ghi dịch 74LS595 và một mạch công suất.Các chân : MOSI, MISO, SCK, RESET, GND được nối với một giắc 5 chân đưa ra ngoài để làm các chân nạp trương trình cho Vi Điều Khiển Các chân VCC, GND, TXD, RXD được đưa ra một giắc 4 chân để gắn modul RF JZ861 cho việc giao tiếp không dây giữa máy tính và bảng quang báo

- Dùng IC thời gian thực DS1307 cho việc cập nhật lịch và thời gian để hiển thị lên bảng quang báo Hai chân SCL và SDA của DS1307 được nối với hai chân SCL và SDA của Vi Điều Khiển đây là giao tiếp chuẩn 2 dây Tại 2 chân này có điện trở 4k7 kéo lên nguồn VCC Chân VBAT được nối với nguồn pin 3V dùng để nuôi RAM

để không bị mất dữ liệu trong trong trường hợp bị ngắt nguồn cung cấp

Hai chân X1 và X2 được nối với thạch anh 32.768KHz để tạo dao động Đây chính

là thạch anh dao động tự nhiên hay còn gọi là thạch anh đồng hồ

- Dùng một IC cảm biến nhiệt độ DS18b20 (IC số) để đo nhiệt độ môi trường và cho hiển thị lên bảng Led Chân DQ của DS18b20 được nối với với chân PB1của

Vi Điều Khiển, tại chân này có điện trở 4k7 kéo lên nguồn Hai chân còn lại được nối với nguồn cung cấp

- Chân G của 74LS245 được nối với Gnd và chân Dir được nối với VCC vì thế dữ liệu đi từ các chân A sang các chân B của 74LS245 Các ngõ ra ở chân B của 74LS245 được nối đến các ngõ vào tự do và ngõ vào điều khiển của 74LS138.Ngõ ra của 74LS138 sẽ điều khiển cho các transistor dẫn đễ điều khiển các hàng và ngõ ra các chân của 74LS245 cũng điều khiển cho các IC ghi dịch 74LS595 để điều khiển các cột

Ở đây bảng quang báo của ta được thiết kế gồm có 16 hàng và 64 cột do tổ hợp của

16 Led ma trận 8*8 ghép lại với nhau

Vì IC 74LS138 vì nó là IC giải mã từ 3 sang 8 nên để điều khiển 16 hàng ta dùng 2 con IC 74LS138 Tại một thời điểm chỉ có một ngõ ra của nó được tích cực mà tại một thời điểm ta cần một hàng sáng nên 74LS138 rất phù hợp

- Ta cần một hiển thị một dòng dữ liệu chạy từ phải sang trái vì thế ta dùng IC ghi dịch 74LS595 để địch dữ liệu, vừa tiết kiệm bộ nhớ cho Vi Điều khiển Vì bảng quang báo của ta có 64 cột mà 74LS595 có 8 ngõ ra dữ liệu nó sẽ cung cấp cho 8 cột của bảng led, vì vậy ta cần 8 con 74LS595 Bảng quang báo của ta làm hai màu nên cần hai dãy kết nối như vậy

Ngày đăng: 29/10/2022, 22:55

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