LỜI NÓI ĐẦUTrong thời đại công nghệ ngày nay, việc thiết kế và phát triển các mạch điện tử đã trở thành một phần quan trọng của nền công nghiệp điện tử.. Việc sử dụng Led trong các ứng d
PHẦN MỞ ĐẦU
Đặt vấn đề, lý do chọn đề tài
Trong thời đại số hóa hiện nay, công nghệ Led đã trở thành yếu tố quan trọng trong các ứng dụng điện tử, bao gồm đèn chiếu sáng, biển quảng cáo và thiết bị hiển thị Sự phổ biến của Led không chỉ nhờ vào hiệu suất cao và tiết kiệm năng lượng, mà còn bởi khả năng tạo ra nhiều hiệu ứng ánh sáng độc đáo.
Trong bối cảnh hiện nay, thiết kế và triển khai mạch điều khiển LED ngày càng trở nên thiết yếu Việc điều khiển linh hoạt và hiệu quả một số lượng lớn LED đang đặt ra thách thức lớn cho các nhà thiết kế.
Do đó, chúng tôi đã quyết định chọn đề tài " Thiết Kế Mạch Điều khiển 16
Led Đơn" cho đồ án này Lý do chính của sự lựa chọn này bao gồm:
Led hiện nay đã trở thành một yếu tố quan trọng trong cuộc sống hàng ngày Thiết kế mạch điều khiển Led 16 đơn không chỉ mang lại lợi ích thực tiễn mà còn ứng dụng rộng rãi trong các lĩnh vực như chiếu sáng, hiển thị thông tin và đồ chơi điện tử.
Dự án này tạo cơ hội cho nhóm chúng tôi nâng cao kỹ năng thiết kế mạch điện tử và lập trình vi xử lý Chúng tôi sẽ học cách hoạt động của Led và thực hành lập trình Verilog trên phần mềm ISE, từ đó tin rằng dự án sẽ giúp chúng tôi phát triển hơn trong lĩnh vực kỹ thuật.
Mạch điều khiển LED 16 đơn không chỉ đáp ứng nhu cầu hiện tại mà còn có khả năng mở rộng cho các ứng dụng phức tạp trong tương lai Việc hiểu rõ nguyên lý và kỹ thuật thiết kế mạch sẽ mang lại nhiều cơ hội cho nhóm trong các dự án sắp tới.
Mục tiêu nghiên cứu
Phát triển mạch điều khiển LED bằng ngôn ngữ lập trình Verilog trên phần mềm ISE của Xilinx cho phép điều khiển 16 LED đơn lẻ thông qua vi xử lý Mạch này tích hợp công nghệ tiên tiến để tối ưu hóa hiệu suất và khả năng điều khiển.
Nắm vững kiến thức về ngôn ngữ lập trình Verilog là điều quan trọng trong việc thiết kế mạch điều khiển Led Việc tìm hiểu cách sử dụng các cấu trúc điều khiển và cấu trúc dữ liệu sẽ giúp bạn quản lý hiệu quả các tín hiệu điều khiển và trạng thái của Led.
Xây dựng mạch điều khiển LED đa năng cho phép thực hiện nhiều tính năng như bật/tắt đồng loạt, nhấp nháy theo mẫu, và di chuyển ánh sáng từ trái sang phải, từ phải sang trái, từ trong ra ngoài, và từ ngoài vào trong, cùng với các hiệu ứng ánh sáng phong phú khác.
Sử dụng công cụ mô phỏng trên phần mềm ISE giúp kiểm tra tính chính xác và hiệu quả của mạch điều khiển LED trước khi triển khai vào thiết bị thực tế.
Phân tích và đánh giá hiệu suất mạch điều khiển Led bao gồm việc đo lường tốc độ thực hiện các tính năng, mức tiêu tốn năng lượng, và độ ổn định của mạch trong các điều kiện hoạt động khác nhau Những yếu tố này đóng vai trò quan trọng trong việc tối ưu hóa hiệu suất và đảm bảo mạch hoạt động hiệu quả trong mọi tình huống.
Kết quả của đồ án có thể được áp dụng vào nhiều lĩnh vực thực tế như hệ thống chiếu sáng, đồ chơi điện tử và hiển thị thông tin Đồng thời, cần xác định và đề xuất các cải tiến cũng như mở rộng cho mạch điều khiển LED nhằm nâng cao hiệu quả và tính ứng dụng trong các dự án tương lai.
Phương pháp nghiên cứu
- Tìm hiểu tổng quan về lý thuyết của đề tài:
Đọc sách và tài liệu về nguyên lý hoạt động của LED, vi xử lý, ngôn ngữ lập trình Verilog, cùng với các khái niệm cơ bản về mạch điện tử là rất quan trọng để nắm vững kiến thức trong lĩnh vực này.
+ Tìm hiểu về cách điều khiển LED thông qua vi xử lý và sử dụng Verilog để thiết kế mạch điều khiển.
- Tìm hiểu tổng quan về phần mền ISE:
+ Nắm vững cách sử dụng phần mềm ISE để thiết kế và mô phỏng mạch điện tử.
+ Tìm hiểu về các tính năng, công cụ và giao diện của phần mềm để có thể sử dụng hiệu quả.
- Tìm hiểu tổng quan về kit CPLD:
+ Tìm hiểu về các thành phần cơ bản của kit CPLD, bao gồm vi xử lý, linh kiện ngoại vi, cổng giao tiếp và nguồn cung cấp.
+ Học về cách kết nối và sử dụng kit CPLD trong quá trình thiết kế mạch điều khiển LED.
- Đọc hiểu một số tài liệu liên quan đến đề tài:
+ Tìm và đọc các tài liệu, hướng dẫn và ví dụ liên quan đến thiết kế mạch điều
- Thảo luận nhóm để thống nhất ý kiến:
+ Tổ chức cuộc họp nhóm để thảo luận và đưa ra quyết định chung về các phương pháp, công nghệ và kế hoạch thực hiện dự án.
+ Đặt ra mục tiêu cụ thể và phân công nhiệm vụ cho từng thành viên trong nhóm.
- Thiết kế mô hình phần cứng:
Sử dụng phần mềm thiết kế mạch điện tử giúp bạn tạo ra mô hình phần cứng cho mạch điều khiển LED, dựa trên kit CPLD và các linh kiện điện tử khác.
+ Xác định các kết nối và giao tiếp giữa các thành phần trong mạch.
- Tham khảo ý kiến xây dựng code Verilog:
+ Dựa trên mô hình phần cứng đã thiết kế, xây dựng mã Verilog để điều khiển các LED theo yêu cầu.
+ Thảo luận và tham khảo ý kiến từ nhóm để cải thiện mã Verilog và đảm bảo tính linh hoạt và hiệu quả của mạch.
- Thực nghiệm và kiểm chứng code chạy trên phần cứng:
+ Tải mã Verilog lên kit CPLD và thực hiện kiểm tra trên phần cứng để đảm bảo rằng mạch điều khiển LED hoạt động như mong đợi.
+ Điều chỉnh và sửa đổi mã Verilog nếu cần thiết để khắc phục các lỗi và cải thiện hiệu suất.
- Báo cáo và nghiệm thu đề tài:
+ Chuẩn bị báo cáo cuối kỳ hoặc bài thuyết trình để trình bày kết quả của dự án.
+ Tiến hành nghiệm thu dự án để đánh giá hiệu suất và đảm bảo rằng mục tiêu đã đề ra được đạt được.
Kết quả nghiên cứu
Mạch Điều Khiển 16 Led Đơn, một phần quan trọng trong nội dung môn học
Đồ án thiết kế hệ thống số không chỉ là đề tài nghiên cứu mà còn là cơ hội quý giá để sinh viên làm quen với thực tế mạch điện tử Hành trình này giúp sinh viên tự nghiên cứu, học tập và làm việc nhóm, đồng thời là bước tiến quan trọng trong việc áp dụng kiến thức vào dự án thực tế Sự hướng dẫn của giáo viên không chỉ giúp sinh viên hiểu rõ hơn về thiết kế phần cứng trên Altium và CPLD dựa trên chip CoolRunner-II của Xilinx, mà còn cung cấp động viên và kiến thức quý báu cho sự phát triển cá nhân và chuyên môn.
GIỚI THIỆU LINH KIỆN CỦA PHẦN CỨNG
HÀNG RÀO
Rào đực và rào cái đóng vai trò quan trọng trong việc kết nối giữa mạch điện và dây nối, giúp bảo vệ mạch điện khỏi hư hỏng do việc hàn dây nối trực tiếp.
Vật liệu tiếp điểm Đồng
Dòng điện định mức 1A Điện áp định mức 500 V ac
Vật liệu tiếp điểm Đồng
1.2 ĐIỆN TRỞ Điện trở là đại lượng vật lý đặc trưng cho tính chất cản trở dòng điện của một vật thể dẫn điện Nó được định nghĩa là tỉ số của hiệu điện thế giữa hai đầu vật thể đó với cường độ dòng điện đi qua nó
Trong đó: Hình 14 Điện trở
U : là hiệu điện thế giữa hai đầu vật dẫn điện, đo bằng vôn (V)
I : là cường độ dòng điện đi qua vật dẫn điện, đo bằng ampe (A)
R : là điện trở của vật dẫn điện, đo bằng Ohm (Ω)
Ký hiệu: Ứng dụng: Điện trở được dùng để chế tạo ra định mức điện áp giữa hai điểm khác nhau của mạch.
Tụ điện phẳng gồm hai bản phẳng kim loại diện tích đặt song song và cách nhau một khoảng d.
Hình 15 Tụ phân cực và Tụ không phân cực
Cường độ điện trường bên trong tụ có trị số:
E= δ ε 0 ε ε 0= 8.86.10 C / N.m là hằng số điện môi của chân không -12 2 2 ε là hằng số điện môi tương đối của môi trường, đối với chân không ε = 1, giấy tẩm dầu = 3,6; gốm = 5,5; mica = 4/5
LED 5mm
- Ánh sáng màu xanh đỏ
- Tính năng: Dùng trong các mạch đèn nháy, bảng đèn led quảng cáo,
CÔNG CỤ THIẾT KẾ
Phần mềm Altium
2.2.1 Giới thiệu về phần mềm
Phần mềm Altium là công cụ đa chức năng chủ yếu được sử dụng để thiết kế mạch điện tử Được phát triển từ phần mềm Protel của hãng Altium, nó cho phép người dùng tạo ra sơ đồ nguyên lý, vẽ mạch in và thiết kế các hệ thống FPGA trên cùng một nền tảng Altium cũng cung cấp bộ thư viện phong phú từ các nhà sản xuất linh kiện nổi tiếng như TI, Microchip và Atmel, giúp người dùng dễ dàng truy cập và sử dụng các linh kiện cần thiết cho dự án của mình.
Altium nổi bật với khả năng chỉnh sửa file thiết kế từ nhiều phần mềm khác như Orcad, Proteus, và Eagle thông qua công cụ import tiện lợi Ngoài ra, Altium cũng hỗ trợ xuất file CAD/CAM, CNC cho quá trình gia công với tiêu chuẩn cao và nhanh chóng.
Mở Altium sau đó vào file chọn new chọn project:
Hình 26 Tạo project Đặt tên Project và chọn nơi lưu sau đó ấn Create:
Tạo file Schematic chuột phải vào project mới tạo chọn Add New to Project chọn Schematic:
Hình 28 Add Schematic vào Project Đổi tên file Schematic chuột phải vào file Schematic vừa tạo chọn Rename:
Hình 29 Đổi tên file Schematic
Để lấy linh kiện, bạn hãy nhấp chuột phải vào "Components" ở góc phải màn hình Sau đó, chọn "Thư viện" và gõ tên linh kiện mà bạn cần Cuối cùng, hãy kéo linh kiện đó ra khung làm việc.
Hình 29 Tìm kiếm linh kiện trên Altium
GND, VDD, Net Label,… từ thanh công cụ
Hình 30 Thanh công cụ của Altium
Hình 31 Mạch Schematic đã hoàn thành
Tạo file PCB chuột phải vào project mới tạo chọn Add New to Project chọn
Hình 32 Add PCB vào Project Đổi tên file PCB chuột phải vào file PCB vừa tạo chọn Rename:
Hình 29 Đổi tên file PCB
Update linh kiện từ File schematic sang File PCB sử dụng phím tắt D + U
Kiểm tra linh kiện, 3D đã đầy đủ chưa, Chọn Vaidate Changer và Execute Changer
Hình 34 Kiểm tra linh kiện
Trường hợp xảy ra lỗi thì ta ấn chuột phải vào linh kiện bị lỗi rồi sau đó chọn Cross Probe để quay về file Schematic để sửa
Hình 35 Trường hợp kiểm tra linh kiện bị lỗi
Còn trường hợp linh kiện đúng thì:
Hình 36 Trường hợp kiểm tra linh kiện đúng
Hình 37 Update linh kiện qua PCB
Chọn Design => Rule để thiết lập các thông số cho mạch.
Hình 38 Thiết lập các thông số
Chỉnh khoảng cách giữa vùng đồng: Design Rules trong phần Electrical chọn Clearance (độ rộng sợi dây) chọn Copper
Hình 39 Chỉnh khoảng cách giữa vùng đồng
Chỉnh thông số dây: Design Rules trong phần Routing chọn Width (sợi dây)
Hình 40 Chỉnh thông số dây
Chỉnh lỗ Via: Design Rules trong phần Routing chọn RoutingVias
Quy ước xong xắp xếp các linh kiện sao cho hợp lý:
- Canh đều nhau Ctrl + Shift + H
- Sử dụng phím tắt A để căn phải, căn trái,….
- Đi dây tự động sử dụng phím tắt U+A+A
Đi dây thủ công có hai loại dây: dây 1mm sử dụng nguồn và dây 0.5mm thường Trong quá trình vẽ, để chuyển đổi giữa các loại dây, bạn cần ấn phím 3 Để thay đổi lớp dây bottom hoặc top (dây xanh và dây đỏ), hãy ấn phím L.
- Sử dụng để làm viền bo
- Để sửa mạch, cắt mạch lại ta ấn vào dây viền bo ấn TAB để chọn full 4 viền sử dụng phím tắt D + S + D để bo lại
Lưu ý khi vẽ dây chỉ đi dây góc tù không được vẽ góc vuông
Do mạch 1 lớp nên ghi ngược chữ để mạch sau thấy rõ hơn
Hình 42 Thêm tên vào PCB Để phủ đồng ta sử dụng phím tắt P + G +TAB
Hình 44 Mạch hoàn chỉnh mặt trước
Hình 45 Mạch hoàn chỉnh mặt sau
Sau khi xong ấn phím tắt TDR để kiểm lỗi
Hình 46 Kiểm tra lỗi của PCB
Phần mềm ISE
2.3.1 Giới thiệu về phần mềm
Phần mềm Altium là một công cụ đa chức năng chuyên thiết kế mạch điện tử, được phát triển từ phần mềm Protel của hãng Altium Người dùng có thể tạo sơ đồ nguyên lý, vẽ mạch in và thiết kế các hệ thống FPGA trên cùng một nền tảng Altium cũng cung cấp bộ thư viện phong phú với các linh kiện từ các nhà sản xuất nổi tiếng như TI, Microchip và Atmel.
Altium nổi bật với khả năng chỉnh sửa file thiết kế từ nhiều phần mềm khác như Orcad, Proteus, và Eagle thông qua công cụ import tiện lợi Bên cạnh đó, việc xuất file CAD/CAM và CNC cho quá trình gia công được thực hiện nhanh chóng và theo chuẩn, mang lại hiệu quả cao cho người sử dụng.
2.3.2 Hướng dẫn nạp Kit CPLD
- Khởi động chương trình ISE Design Suite 14.7
+ Nhập tên Project trong mục Name:
+ Xác định thư mục đặt Project trong mục Project Location:
+ Lựa chọn kiểu mã nguồn trong mục Top-level source type:
Sau đó kích vào Next, hộp thoại sau xuất hiện và chọn các thông số như hình vẽ:
Nhấn Next và sau đó nhấn Finish.
Một cửa sổ làm việc mới xuất hiện, vào menu Project/ New Source…
Hộp thoại xuất hiện như sau:
Gõ tên file vào trường File name , Sau đó kích Next
Hiện ra hộp thoại sau:
Chú ý: Ta có thể khai báo từng chân riêng biệt hoặc khai báo theo kiểu Bus
Nhấn Next hộp thoại mới xuất hiện, chọn Finish.
Cửa sổ sau sẽ hiện ra:
Từ đây chúng ta thực hiện quá trình viết mã Verilog cho project Nhập đoạn code chương trình vào cửa sổ soạn thảo của phần mềm ISE.
`timescale 1ns / 1ps module led162 ( input clk, input reset, input [3:0] buttons, output reg [15:0] led
The code snippet initializes a 28-bit counter and a 16-bit display value, which resets to zero upon receiving a reset signal or clock pulse When the reset is low, both the counter and display value are set to zero, and the LED reflects the display value Otherwise, the counter increments until it reaches 10,000, at which point it resets to zero Additionally, the code checks if all four buttons are pressed simultaneously.
//Trai Sang Phai else if (~buttons[0] & buttons[1] & buttons[2] & buttons[3]) begin display_value 1) + 8'b10000000; display_value[15:8] 1) + 16'b1000000000000000; end
//Ngoai vao trong else if (~buttons[2] & buttons[1] & buttons[0] & buttons[3]) begin display_value[7:0]