Từ những ưu, nhược điểm thực tế của các loại LED quang báo đã thôi thúc em tìm hiểu một loại LED quảng cáo khác có khả năng tùy biến cao (nội dung do người sử dụng tự thiết kế), giá thành rẻ, hiển thị được nhiều màu, chỉ sử dụng 16 LED nên năng lượng tiêu thụ ít, lưu được nhiều hình ảnh.
ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG ĐỒ ÁN TỐT NGHIỆP Chuyên ngành Công nghệ thông tin Đề tài: THIẾT KẾ VÀ CHẾ TẠO ĐÈN QUẢNG CÁO MÀU SỬ DỤNG VI ĐIỀU KHIỂN ATTINY2313 Sinh viên thực : Trịnh Quốc Hùng Lớp : CNTT – K1 HÀ NAM Giáo viên hướng dẫn: Phạm Đức Long HÀ NAM 12 - 2014 Lời cảm ơn Trước tiên em xin gửi lời cảm ơn chân thành sâu sắc tới thầy cô giáo trường Đại học Công nghệ thông tin truyền thông – Đại học Thái Nguyên tận tình giảng dạy, truyền đạt cho em kiến thức, kinh nghiệm quý báu suốt thời gian qua Đặc biệt em xin gửi lời cảm ơn đến thầy Phạm Đức Long, thầy tận tình giúp đỡ, trực tiếp bảo, hướng dẫn em suốt trình làm đồ án tốt nghiệp Trong thời gian làm việc với thầy, em tiếp thu thêm nhiều kiến thức bổ ích mà học tập tinh thần làm việc, thái độ nghiên cứu khoa học nghiêm túc, hiệu quả, điều cần thiết cho em trình học tập công tác Lời cam đoan sinh viên: Tôi – Trịnh Quốc Hùng - cam kết Đồ án tốt nghiệp cơng trình nghiên cứu thân hướng dẫn ThS Phạm Đức Long Các kết nêu Đồ án tốt nghiệp trung thực, khơng phải chép tồn văn cơng trình khác Hà Nam, ngày 10 tháng 12 năm 2014 Sinh viên Trịnh Quốc Hùng MỤC LỤC CHƯƠNG 1: MỤC ĐÍCH VÀ YÊU CẦU CỦA VIỆC THIẾT KẾ VÀ CHẾ TẠO ĐÈN QUẢNG CÁO MÀU SỬ DỤNG VI ĐIỀU KHIỂN 1.1 Sơ lược loại LED quang báo 1.2 Mục đích, ý nghĩa đề tài .4 .5 CHƯƠNG 2:GIỚI THIỆU CÁC THÀNH PHẦN CẤU THÀNH SỬ DỤNG .6 2.1 Vi điều khiển ATTiny2313 2.1.1 CPU 2.1.2 Cấu trúc nhớ 2.1.3 Cấu trúc ngắt ATTiny2313 10 2.1.4 Các cổng vào (I/O) 12 2.1.5 Bộ định thời 8Bit TIMER/COUNTER 16 2.1.6 Bộ định thời 16Bit TIMER/COUNTER1 20 2.1.7 USI (Universal Serial Interface) .22 2.2 Các linh kiện khác .24 2.2.1 EEPROM 25LC512 24 2.2.2 IC 74HC595 .27 2.2.3 LED RGB 28 2.2.4 Công tắc từ (Cảm biến) 29 CHƯƠNG 3:THIẾT KẾ HỆ THỐNG .30 3.1 Hệ điều khiển .30 3.1.1 Nguyên tắc hiển thị hình ảnh 30 3.1.2 Nguyên tắc pha màu: 31 3.1.3 Phân hoạch nhớ cho Chip ATTiny2313 .31 3.1.4 Phân hoạch nhớ cho EEPROM 25LC512 31 3.2 Sơ đồ nguyên lý 32 3.1.2 Mạch hiển thị 32 3.1.3 Mạch giao tiếp với máy tính (mạch nạp) 37 3.1.4 Mạch cấp nguồn cho mạch hiển thị 37 3.2 Phần mềm thiết kế liệu hiển thị 39 3.2.1 Nhiệm vụ phần mềm 39 3.2.2 Các thuật toán 40 CHƯƠNG 4: HOẠT ĐỘNG CỦA HỆ THỐNG 54 4.1 Kết thực 54 Mạch hiển thị .54 Mạch USB giao tiếp với máy tính .55 4.2 Hướng phát triển .61 Kết luận 61 Tài liệu tham khảo 62 Chương 1: MỤC ĐÍCH VÀ YÊU CẦU CỦA VIỆC THIẾT KẾ VÀ CHẾ TẠO ĐÈN QUẢNG CÁO MÀU SỬ DỤNG VI ĐIỀU KHIỂN 1.1 Sơ lược loại LED quang báo LED vẫy: Các LED xếp theo chữ hình cố định trước đặt hộp mica Các LED điều khiển theo cụm nhấp nháy theo hiệu ứng người làm biển quảng cáo Ưu điểm: Dễ thi công lắp đặt, không tốn nhiều không gian Nhược điểm: Khi muốn thay đổi nội dung phải làm biển quảng cáo khác, thể nội dung biển quảng cáo Sử dụng nhiều LED nên tiêu thụ nhiều lượng LED Matrix màu: Được sản xuất dạng module có sẵn, muốn tăng kích thước phải ghép module lại với Nội dung quảng cáo lưu nhớ Flash vi điều khiển Ưu điểm: Nội dung thay đổi được, làm hiệu ứng hiển thị khác Nhược điểm: Vì nhớ nhỏ nên khả lưu trữ thấp, thường giới hạn câu có số lượng từ cố định Giá thành đắt Sử dụng nhiều LED nên tiêu thụ nhiều lượng Màn hình Full color: Được sản xuất dạng module có sẵn, muốn tăng kích thước phải ghép module lại với Ưu điểm: Nội dung tùy biến, hiển thị đoạn video Nhược điểm: Giá thành đắt đỏ, áp dụng phổ biến Sử dụng nhiều LED nên tiêu thụ nhiều lượng 1.2 Mục đích, ý nghĩa đề tài Từ ưu, nhược điểm thực tế loại LED quang báo thơi thúc em tìm hiểu loại LED quảng cáo khác có khả tùy biến cao (nội dung người sử dụng tự thiết kế), giá thành rẻ, hiển thị nhiều màu, sử dụng 16 LED nên lượng tiêu thụ ít, lưu nhiều hình ảnh Đèn quảng cáo màu sử dụng vi điều khiển phải đáp ứng yêu cầu sau: - Hiển thị màu (kể màu đen) - Chỉ sử dụng 16 LED - Hiển thị hình ảnh - Khả tùy biến cao, người sử dụng tự thiết kế hình ảnh - Lưu trữ nhiều hình ảnh (42 hình) - Giao tiếp với máy tính - Có phần mềm máy tính giúp người sử dụng thiết kế quản lý hình ảnh - Giá thành rẻ Sơ đồ kết nối: Mạch hiển thị (Mạch LED) SPI Mạch kết nối USB USB Máy tính (Phần mềm) Chương 2:GIỚI THIỆU CÁC THÀNH PHẦN CẤU THÀNH SỬ DỤNG 2.1 Vi điều khiển ATTiny2313 ATTiny2313 vi điều khiển bit dựa kiến trúc RISC Với khả thực lệnh vòng chu kỳ xung clock, ATTiny2313 đạt tốc độ 1MIPS MHz (1 triệu lệnh/s/MHz) Những Tính Năng Chính Của ATTiny2313: o Có 2KByte nhớ flash o Có thể xóa lập trình chịu 10000 lần ghi xóa o Có 32 ghi đa bit, o Có 128 Byte nhớ EEPROM tích hợp chíp, o Có 128 Byte SRAM nội o Có Timer/counter bit timer/counter 16 bit với chia tần lập trình o Có kênh điều xung o ATTiny2313 có 20 chân, có 18 cổng vào o Nguồn ni từ 1.8 đến 5.5 ATTiny2313V từ 2.7 đến 5.5 ATTiny2313, o Làm việc tiêu thụ dòng 3.6mA o Sử dụng mạch dao động từ đến 10 Mhz với ATTiny2313V từ đến 20 Mhz với ATTiny2313 o Ngồi chíp ATTiny2313 có xung nội bên lập trình chế độ xung nhịp Dưới sơ đồ khối ATTiny2313 ATTiny2313 hỗ trợ đầy đủ chương trình cơng cụ phát triển hệ thống như: trình dịch C, macro assemblers, chương trình mơ phỏng/sửa lỗi, kit thử nghiêm, 2.1.1 CPU ALU ALU làm việc trực tiếp với ghi chức chung Các phép toán thực chu kỳ xung clock Hoạt động ALU chia làm loại: đại số, logic theo bit Thanh ghi trạng thái Đây ghi trạng thái có bit lưu trữ trạng thái ALU sau phép tính số học logic Thanh ghi trạng thái SREG Các ghi chức chung Thanh ghi chức chung Tệp ghi ( register file ) : Tệp 32 ghi đa chức ( $0000 $001F ) nói trên, ngồi chức ghi đa chức năng, ghi từ R26 tới R31 đôi tạo thành ghi 16 bit X, Y, Z dùng làm trỏ trỏ tới nhớ chương trình nhớ liệu Thanh ghi trò X, Y dùng làm trỏ trỏ tới nhớ liệu, ghi Z dùng làm trỏ trỏ tới nhớ chương trình Các trình biên dịch C thường dùng ghi trỏ để quản lí Data stack chương trình C Con trỏ ngăn xếp (SP) Là ghi 16 bit xem hai ghi chức đặc biệt bit Có địa ghi chức đặc biệt $3E (Trong nhớ RAM $5E) Có nhiệm vụ trỏ tới vùng nhớ RAM chứa ngăn xếp Thanh ghi trỏ ngăn xếp Khi chương trình phục vu ngắt chương trình trỏ PC lưu vào ngăn xếp trỏ ngăn xếp giảm hai vị trí Và trỏ ngăn xếp giảm thực lệnh push Ngược lại thực lệnh POP trỏ ngăn xếp tăng thực lệnh RET RETI trỏ ngăn xếp tăng Như trỏ ngăn xếp cần chương trình đặt trước giá trị khởi tạo ngăn xếp trước chương trình gọi ngắt cho phép phục vụ Và giá trị ngăn xếp phải lơn 60H (0x60) 5FH trỏ lại vùng ghi Các ghi chức đặc biệt Bao gồm ghi liệu ghi điều khiển cổng vào Chúng truy nhập cách: Bằng địa trực tiếp Ví dụ: STR $3F,R11 hoặc: STR SREG.R11 Hoặc truy nhập gián tiếp chúng thông qua ghi X, Y, Z Ví dụ : LDI R28,0x00 LDI R27,0x5F STD X,R11 Hai ví dụ hồn tồn tương đương, ghi liệu vào ghi SREG Status Register (SREG) Đây ghi trạng thái có bit lưu trữ trạng thái ALU sau phép tính số học logic Stack Pointer Là ghi 16 bit xem hai ghi chức đặc biệt bit Có nhiệm vụ trỏ tới vùng nhớ RAM chứa ngăn xếp Khi chương trình phục vu ngắt chương trình trỏ PC lưu vào ngăn xếp trỏ ngăn xếp giảm hai vị trí Và trỏ ngăn xếp giảm thực lệnh push Ngược lại thực lệnh POP trỏ ngăn xếp tăng thực lệnh RET RETI trỏ ngăn xếp tăng Như trỏ ngăn xếp cần chương trình đặt trước giá trị khởi tạo ngăn xếp trước chương trình gọi ngắt cho phép phục vụ Và giá trị ngăn xếp phải lơn hợc 60H (0x60) 5FH trỏ lại vùng ghi 2.1.2 Cấu trúc nhớ AVR có khơng gian nhớ nhớ liệu vào nhớ chương trình Ngồi ATTiny2313 có thêm nhớ EEPROM để lưu trữ liệu Bộ nhớ chương trình (Bộ nhớ Flash) Bộ nhớ Flash 2KB ATTiny2313 dùng để lưu trữ chương trình Do lệnh AVR có độ dài 16 32 bit nên nhớ Flash xếp theo kiểu 1KX16 Bộ nhớ liệu SRAM 224 ô nhớ nhớ liệu định địa cho file ghi, nhớ I/O nhớ liệu SRAM nội Trong 32 ô nhớ định địa cho file ghi, 64 ô nhớ định địa nhớ I/O, 128 ô nhớ định địa cho nhớ SRAM nội Bản đồ nhớ liệu SRAM Bộ nhớ liệu EEPROM ATTiny2313 chứa nhớ liệu EEPROM dung lượng 128 Byte, xếp theo Byte, cho phép thao tác đọc/ghi Byte Đây nhớ liệu ghi xóa lúc vi điều khiển hoạt động không bị liệu nguồn điện cung cấp bị cắt Có thể ví nhớ liệu EEPROM giống ổ cứng ( Hard disk ) máy vi tính EEPROM xem nhớ vào đánh địa độc lập với SRAM, điều có nghĩa ta cần sử dụng lệnh in, out … muốn truy xuất tới EEPROM Để điều khiển vào liệu với EEPROM ta sử dụng ghi sau : 2.1.3 Cấu trúc ngắt ATTiny2313 KHÁI NIỆM VỀ NGẮT Ngắt chế cho phép thiết bị ngoại vi báo cho CPU biết tình trạng sẵn xàng cho đổi liệu mình.Ví dụ:Khi truyền nhận UART nhận Byte báo cho CPU biết thơng qua cờ RXC,hợc truyền Byte cờ TX thiết lập… Khi có tín hiệu báo ngắt CPU tạm dừng công việc đạng thực lại lưu vị trí thực hiên chương trình (con trỏ PC) vào ngăn xếp sau trỏ tới vector phuc vụ ngắt thức chương trình phục vụ ngắt chơ tới gặp lệnh RETI (return from interrup) CPU lại lấy PC từ ngăn xếp tiếp tục thực chương trình mà trước có ngăt thực Trong trường hợp mà có nhiều ngắt yêu cầu lúc CPU lưu cờ báo ngắt lại thực ngắt theo mức ưu tiên Trong thực ngắt mà xuất ngắt xảy hai trường hợp Trường hợp ngắt có mức ưu tiên cao phục vụ Còn mà có mức ưu tiên thấp bị bỏ qua Bộ nhớ ngăn xếp vùng SRAM từ địa 0x60 trở lên Để truy nhập vào SRAM thông thường ta dùng trỏ X,Y,Z để truy nhập vào 10 Ghi EEPROM Kéo chân CS xuống Đọc ghi trạng thái 25LC512 Đ EEPROM ghi S Mở chốt cho phép ghi Gửi dẫn ghi đến 25LC512 Gửi 16bit địa Byte cần ghi Chờ trình ghi kết thúc Kéo chân CS lên Kết thúc 48 Chương trình đọc liệu từ EEPROM 25LC512 74HC595 Đọc liệu từ EEPROM 25LC512 gửi liệu đường SPI_OUT (cho 74HC595) Mở chốt cho phép liệu xuất LED màu tương ứng Chờ liệu xuất xong Đóng chốt cho phép liệu xuất LED Xuất 74HC595 Kéo chân CS xuống Gửi dẫn đọc đến 25LC512 Gửi 16bit địa Byte cần đọc Đọc Byte gửi đường SPI_OUT Kéo chân CS lên Mở chốt cho phép liệu xuất LED màu tương ứng Chờ chu kỳ máy Đóng chốt cho phép liệu xuất LED màu tương ứng Kết thúc 49 3.2.2.2 Các thuật tốn phần mềm máy tính Ghi hình vào mạch hiển thị Khai báo mảng buffR[512], buffG[512], buffB[512] để lưu Byte cho màu R,G,B Đưa liệu từ vẽ vào mảng buffR[512], buffG[512], buffB[512] Ghi mảng buffR[512], buffG[512], buffB[512] vào mạch hiển thị Ghi Đưa liệu từ vẽ vào mảng:buffR[512]; buffG[512];buffB[512] Ghi mảng buffR[512] vào mạch hiển thị Ghi mảng buffG[512] vào mạch hiển thị Ghi mảng buffB[512] vào mạch hiển thị Kết thúc 50 Đọc hình từ mạch hiển thị vào máy tính Khai báo mảng buff[1536] để lưu hình Đưa liệu từ mạch hiển thị vào mảng buff[1536] Xử lý mảng buff[1536] để hiển thị thành vẽ máy tính Đọc Đọc liên tiếp 1536 Byte từ mạch hiển thị Đưa liệu nhận từ mạch hiển thị vào mảng buff[1536] Xử lý mảng buff[1536] để hiển thị thành vẽ phần mềm Kết thúc 51 3.2.2.3 Các thuật toán cho ATTiny2313 mạch giao tiếp với máy tính Chương trình Bắt đầu Khởi động port giao tiếp với USB BUS Khởi động port giao tiếp SPI Gọi hàm định kỳ thăm dò gói tin đến từ USB (usb_poll) Kết thúc Hàm usb_poll gọi định kỳ để thăm dò gói tin đến Thăm dò gói tin đến từ USB Nạp đệm truyền rỗng (khi trình truyền bắt đầu) Thăm dò tín hiệu reset từ USB Bus 52 usb_poll Thăm dò gói tin đến từ USB BUS S Có gói tin đến Đ Nạp đệm truyền rỗng để nhận gói tin Chuyển gói tin đến đích Thăm dò tín hiệu reset từ USB Bus S Có reset Đ Tạo địa kết nối Kết thúc 53 Chương 4: HOẠT ĐỘNG CỦA HỆ THỐNG 4.1 Kết thực Mạch hiển thị Mạch in: kích thước 11x5.5 Cm Mạch sau gắn linh kiện: 54 Mạch USB giao tiếp với máy tính Mạch in: kích thước 5.5x2 Cm Mạch sau gắn linh kiện: 55 Kết nối với máy tính: Phần mềm thiết kế hình ảnh hiển thị: Kết mạch hiển thị: 56 57 58 59 Truyền điện không dây: - Mạch phát Nguồn đầu vào: DC 18V-900mA - Mạch thu Nguồn ra: DC 5V-700mA 60 4.2 Hướng phát triển - Sử dụng vi điều khiển khác Atmega32, Atmega64 - Tăng số LED lên 128 256 - Sử dụng thẻ nhớ để lưu hình ảnh - Nâng số màu lên 16 triệu màu, sử dụng IC băm xung TLC5940 Kết luận Đồ án tốt nghiệp “ Thiết kế chế tạo đèn quảng cáo màu sử dụng vi điều khiển ATTiny2313” đưa hình thức quang báo với khả tùy biến cao, giá thành rẻ, khả lưu trữ hình ảnh lớn Qua trình thực đồ án giúp em hiểu thêm vi điều khiển, kiểu giao tiếp, ngắt, nhớ,… Trong trình xây dựng đồ án tốt nghiệp lần em cố gắng nhiều khơng tránh khỏi sai sót, thời gian có hạn kiến thức nhiều hạn chế Em kính mong nhận đánh giá hướng dẫn thầy cô giáo Trong thời gian tới em cố gắng khắc phục hạn chế đề tài tốt Em xin chân thành cảm ơn thầy Phạm Đức Long, phó trưởng Khoa Cơng nghệ tự động hóa, đại học Cơng nghệ thơng tin truyền thơng Thái Ngun tận tình hướng dẫn, giúp đỡ em hoàn thành đề tài 61 Tài liệu tham khảo Tống Văn On, Họ vi điều khiển 8051, NXB Lao động xã hội, 2005 Ngơ Diên Tập, Vi điều khiển với lập trình C, NXB KHKT Ngô Diên Tập, Kỹ thuật vi điều khiển, NXB KHKT Datasheet: ATTiny2313, 25LC512, 74HC595, LED RGB Website: ladyada.net, hocavr.com, internet… 62 ... Nam, ngày 10 tháng 12 năm 2014 Sinh vi n Trịnh Quốc Hùng MỤC LỤC CHƯƠNG 1: MỤC ĐÍCH VÀ YÊU CẦU CỦA VI C THIẾT KẾ VÀ CHẾ TẠO ĐÈN QUẢNG CÁO MÀU SỬ DỤNG VI ĐIỀU KHIỂN 1.1 Sơ lược loại... phát triển .61 Kết luận 61 Tài liệu tham khảo 62 Chương 1: MỤC ĐÍCH VÀ YÊU CẦU CỦA VI C THIẾT KẾ VÀ CHẾ TẠO ĐÈN QUẢNG CÁO MÀU SỬ DỤNG VI ĐIỀU KHIỂN 1.1 Sơ lược loại... quảng cáo khác có khả tùy biến cao (nội dung người sử dụng tự thiết kế) , giá thành rẻ, hiển thị nhiều màu, sử dụng 16 LED nên lượng tiêu thụ ít, lưu nhiều hình ảnh Đèn quảng cáo màu sử dụng vi