thiết kế và mô phỏng lại quá trình hoạt động của đèn giao thông tại giao lộ với ngôn ngữ HDL, phần mềm IDE của hãng xilinx, kit spartan 3. trên nền FPGA. FPGA(Fieldprogrammable gate array) là một công nghệ cho phép người dùng có thể cấu hình lại bộ xử lý một cách tùy biến theo từng ứng dụng cụ thể, nhằm giúp tiết kiệm tài nguyên và tăng tốc độ xử lý. Nó gồm nhiều mảng các cổng đã được chế tạo sẵn nhưng chưa được kết nối với nhau, người lập trình có thể kết nối chúng lại với nhau tùy theo từng thuật toán cụ thể cho từng ứng dụng. Đèn giao thông là một phần thiết yếu đối với tất cả mọi người khi tham gia giao thông, giúp điều tiết mật độ và phân luồng giao thông trên tuyến đường. Nhằm giúp tìm hiểu công nghệ FPGA một cách trực quan, chúng em đã sử dụng kít FPGA để mô phỏng lại quá trình hoạt động của đèn giao thông.
BÁO CÁO CHUYÊN ĐỀ ĐIỆN TỬ MỤC LỤC LỜI NÓI ĐẦU CHƢƠNG GIỚI THIỆU ĐỀ TÀI 1.1 Giới thiệu chƣơng .3 1.2 Yêu cầu thực .3 1.3 Ý tƣởng thực CHƢƠNG THỰC HIỆN Ý TƢỞNG .6 2.1 Giới thiệu chƣơng 2.2 Thực ý tƣởng 2.3 Thực phần mềm ISE hãng Xilinx .8 CHƢƠNG CHẠY THỬ VÀ CÁC KẾT QUẢ ĐẠT ĐƢỢC 13 3.1 Giới thiệu chƣơng .13 3.2 Kết đạt đƣợc 13 3.3 Nhận xét thiết kế 14 BÁO CÁO CHUYÊN ĐỀ ĐIỆN TỬ LỜI NÓI ĐẦU FPGA(Field-programmable gate array) công nghệ cho phép ngƣời dùng cấu hình lại xử lý cách tùy biến theo ứng dụng cụ thể, nhằm giúp tiết kiệm tài nguyên tăng tốc độ xử lý Nó gồm nhiều mảng cổng đƣợc chế tạo sẵn nhƣng chƣa đƣợc kết nối với nhau, ngƣời lập trình kết nối chúng lại với tùy theo thuật toán cụ thể cho ứng dụng Đèn giao thông phần thiết yếu tất ngƣời tham gia giao thông, giúp điều tiết mật độ phân luồng giao thông tuyến đƣờng Nhằm giúp tìm hiểu công nghệ FPGA cách trực quan, chúng em sử dụng kít FPGA để mô lại trình hoạt động đèn giao thông BÁO CÁO CHUYÊN ĐỀ ĐIỆN TỬ CHƢƠNG GIỚI THIỆU ĐỀ TÀI 1.1 Giới thiệu chƣơng Chƣơng giới thiệu cách tổng quan đề tài Đèn giao thông với ý tƣởng thực kít FPGA 1.2 Yêu cầu thực Nhƣ đề biết đèn giao thông hoạt động cách đƣa tín hiệu đèn đƣợc quy định sẵn thời gian định để ngƣời tham gia giao thông thực theo nhằm đảm bảo an toàn, ổn định hành trình Đèn giao thông thực tế có nhiều tín hiệu điều khiển nhƣ tín hiệu đèn (ĐỎ, VÀNG, XANH), đồng hồ số hiển thị thời gian sang đèn, tín hiệu hƣớng di chuyển, tín hiệu cảnh báo ngƣời … Hình 1.1 Một số tín hiệu đèn giao thông BÁO CÁO CHUYÊN ĐỀ ĐIỆN TỬ Hình 1.2 Một số hình ảnh thực tế Nhƣng báo cáo chúng em mô lại hai tín hiệu quan trọng trọng thái đèn báo hiệu(ĐỎ, VÀNG, XANH) hiển thị thời gian sang đèn theo hai hƣớng khác điểm giao hai tuyến đƣờng mức ƣu tiên Giả sử hai tuyến đƣờng mà ta xét nằm theo hai hƣớng Đông-Tây Bắc-Nam Hƣớng Đông-Tây gọi hƣớng hƣớng Bắc-Nam gọi hƣớng Do hai tuyến đƣờng mức ƣu tiên nên thời gian sang đèn (ĐỎ, VÀNG, XANH) hƣớng nhƣ nhau, cụ thể: ĐỒNG-TÂY BẮC-NAM Hình 1.3 Đèn giao thông xét Thời gian đèn Đỏ sáng: 25s = txanh + tvàng Thời gian đèn Vàng sáng: 5s Thời gian đèn Xanh sáng: 20s BÁO CÁO CHUYÊN ĐỀ ĐIỆN TỬ Và tất nhiên hƣớng đèn Đỏ(cấm đi) hƣớng Xanh(cho phép đi) đến Vàng, sau đổi ngƣợc lại Bảng 1.1 Trạng thái đèn theo hai hƣớng Trạng thái Bắc-Nam Đông-Tây Thời gian(s) Đỏ Đỏ Xanh Xanh Vàng Đỏ 20 20 Vàng Đỏ 1.3 Ý tƣởng thực Với giả thiết đề nhƣ nhóm có ý tƣởng thực nhƣ sau: Sẽ tạo module với tín hiệu đầu đầu vào nhƣ sau: Đầu ra: gồm có tín hiệu hƣớng có tín hiệu trạng thái đèn tín hiệu số đếm hiển thị thời gian sang đèn, hai hƣớng tín hiệu Đầu vào: phải có xung clock để module hoạt đông, có tín hiệu start để bật/tắt module, để đề phòng cố cần thêm tín hiệu reset để reset lại Nhƣ tƣởng tƣợng giống hộp đen với tín hiệu đầu tín hiệu đầu vào Vấn đề cho vào bên để với đầu đầu vào tạo đƣợc đầu điều khiển đèn điểm giao hai tuyến đƣờng BÁO CÁO CHUYÊN ĐỀ ĐIỆN TỬ CHƢƠNG THỰC HIỆN Ý TƢỞNG 2.1 Giới thiệu chƣơng Trong chƣơng trình bày lƣu đồ máy trạng thái hữu hạn tổng quát đƣợc sử dụng, sâu vào cụ thể khối hộp đen để thực đƣợc toán đặt kit FPGA 2.2 Thực ý tƣởng Với ý tƣởng hộp đen đƣợc nêu lên chƣơng nhóm thảo luận đƣa sơ đồ khối tổng quát bên hộp đen nhƣ Hình 2.1 Hình 2.1 Sơ đồ khối module Với thời gian chuyển trạng thái đèn 25s(đỏ), 20s(xanh), 5s(vàng) cần có đếm với tần số đếm 1Hz (tức chu kỳ 1s), đếm tùy theo ý tƣởng chuyển trạng ngƣời để chọn nhƣng để đơn giản dễ hiểu nhóm chọn đếm 50(tức tổng thời gian sáng đèn cộng lại), sau dùng cách chia khoảng thời gian để phục vụ đèn Để thực đếm 50 có nhiều cách nhƣng nhóm có thiết kế sẵn đếm 10 nên đếm 50 thực dựa đếm 10 ghép lại Khối trạng thái đèn liên tục kiểm tra số đếm nhận đƣợc từ đếm so sánh, số đếm thuộc khoảng thời gian đèn xuất đầu đèn tƣơng ứng sáng Theo hai hƣớng khoảng kiểm tra số đếm với trạng thái ban đầu khác mặt nguyên tắc giống nêu lên hƣớng BắcNam Khối hiển thị số đếm(thời gian sang đèn): mục đích khối hiển thị thời gian mà đèn sáng Ở kít FPGA có LED đoạn sẵn đƣợc nối chung bus liệu(mã LED đoạn hiển thị LED) với chân chọn LED, nên cần module phục vụ trình quét led Để đơn giản nhóm chọn giải pháp dùng đếm trạng thái kết hợp với MUX BÁO CÁO CHUYÊN ĐỀ ĐIỆN TỬ từ sang với độ rộng bus 4bits để chọn led đồng thời chọn số hiển thị lên led trƣớc cho giải mà led đoạn hiển thị lên led Hình 2.2 Lƣu đồ chuyển trạng thái đèn hƣớng Bắc-Nam / / / clock start reset / clock start Đếm 10 reset / Kiểm tra 50 Cờ tràn / clock start / 4bits thấp / 4bits cao / Đếm 10 Cờ tràn reset Hình 2.3 Sơ đồ khối đếm 50 clock (1KHz) Đếm / / AN: chọn LED Đếm / Chuyển đổi (giải mã) / / / / MUX / Hex2Led / SEG: mã LED 7đoạn Hình 2.4 Sơ đồ khối quét LED BÁO CÁO CHUYÊN ĐỀ ĐIỆN TỬ 2.3 Thực phần mềm ISE hãng Xilinx Trong báo cáo sử dụng kít Spartan-6 SP601và phần mềm ISE hãng Xilinx để thực Để thực đƣợc module lớn đƣợc nêu lên chƣơng mục 2.2 chƣơng ta cần thực module nhỏ ghép chúng lại với Ở số lớp kế thừa module lớn tùy theo cách chia module nhỏ Đầu tiên khởi động phần mềm ISE: Start=> All programs =>Xilinx ISE Design suite 13.2=> ISE Design tools=> project Navigator Tiếp theo tạo project trống để làm việc: vào File=>New project Sẽ xuất hộp thoại cho phép đặt tên project nhƣ nơi lƣu project Hình 2.5.NEW PROJECT Chọn NEXT chuyển sang hộp thoại Trong mục Evaluation Development Board chọn Spartan-6 SP601 Evaluation Platform Trong mục preferred language chọn VHDL viết ngôn ngữ VHDL, chọn Verilog viết ngôn ngữ Verilog Và NEXT BÁO CÁO CHUYÊN ĐỀ ĐIỆN TỬ Hình 2.6 Chọn kít ngôn ngữ Chuyển qua hộp thoại tiếp theo, cần kích finish hoàn thành tạo project Nếu có sẵn file nguồn cần thêm vào đƣợc : vào project=> add source Add copy of source Nếu chƣa có sẵn file nguồn cần tạo file nguồn cho Project: vào project => new source kích chuột vào biểu tƣợng tên file nguồn Xuất hộp thoại cho phép đặt BÁO CÁO CHUYÊN ĐỀ ĐIỆN TỬ Hình 2.7 tạo file nguồn Tiếp theo chọn Next để chuyển sang hộp thoại Tại chọn tín hiệu đầu vào đầu nhƣ độ rộng bus tín hiệu Hình 2.8 Chọn tín hiệu vào độ rông bus Chọn Next finish để hoàn thành tạo file nguồn Vấn đề lại viết code cho file nguồn 10 BÁO CÁO CHUYÊN ĐỀ ĐIỆN TỬ Sau viết xong code file nguồn việc lại sử dụng chúng module lớn Sau viết xong code file nguồn cần kiểm tra viết hay chƣa, theo ý muốn hay chƣa tiến hành tạo file VHDL Instantiation dung kế thừa module Kích chuột vào file nguồn chọn View HDL instantiation template(nhƣ hình) Hình 2.9 tạo file VHI Phần mềm tạo file vhi cho phép sử dụng thiết kế module khác Hình 2.10 nội dung file vhi 11 BÁO CÁO CHUYÊN ĐỀ ĐIỆN TỬ Sau toàn module nhỏ đƣợc ghép thành công vào module lớn(tổng) chạy lỗi cần nối dây ngoại vi cho thiết kế để giao tiếp ngoại vi(led, switch, button…) sử dụng file ucf chƣa có tiến hành lên mạng download có cần thêm vào(thêm tƣơng tự file nguồn) sữa tên lại cho theo tên đƣợc sử dụng thiết kế Hình 2.11 Chọn kết nối ngoại vi cho thiết kế Cuối dùng tạo file bit để nạp xuống kít Chọn generate programming file Hình 2.12 tạo file bit Để nạp file bit xuống kít cần dùng thêm phần mềm: digilent.adept.system_v2.15.3 12 BÁO CÁO CHUYÊN ĐỀ ĐIỆN TỬ CHƢƠNG CHẠY THỬ VÀ CÁC KẾT QUẢ ĐẠT ĐƢỢC 3.1 Giới thiệu chƣơng Trong chƣơng trình bày kết chay mô thiết kế phần mềm ISE nhƣ chạy thử kít Spartan-6 sp601 Qua rút nhận xét liên quan đến thiết kế 3.2 Kết đạt đƣợc Sau viết code testbanch cho thiết kế tiến hành chạy mô đƣợc kết nhƣ hình Hình 3.1 kết mô Nhận xét: Nhƣ dạng song tai ngõ nhƣ mục đích thiết kế cho tín hiệu vào đầu vào Chạy kít: 13 BÁO CÁO CHUYÊN ĐỀ ĐIỆN TỬ Hình 3.2 kết nạp xuống kít Nhận xét: chuyển trạng thái đèn theo giả thiết Thời gian đèn Đỏ sáng: 25s = txanh + tvàng Thời gian đèn Vàng sáng: 5s Thời gian đèn Xanh sáng: 20s Hiển thị số giây đền theo thiết kế Quét led chạy ổn định, mƣợt, vạch sáng vị trí không mong muốn, không nhấp nháy led quay video điện thoại 3.3 Nhận xét thiết kế Sau cho chạy mô chạy kít rút số kết luận từ báo cáo phần mềm nhƣ thực tế diễn kít 14 BÁO CÁO CHUYÊN ĐỀ ĐIỆN TỬ Hình 3.2 báo cáo tổng hợp sử dụng tài nguyên phần cứng Thông số number of slice registers : dung 59 tổng số 18224 chiếm 1%, điều có nghĩa thiết kế dung number of slice registers thiết kế vào loại nhỏ Thông số thứ hai number of slice LUTs: dung 138 tổng 9112 chiếm 1%, điều cho thấy thiết kế dung number of slice LUTs Tiếp theo thông số tín hiệu đƣợc dung thiết kế Hình 3.3 báo cáo số thông số module 15 [...]... nháy led ngay cả khi quay video bằng điện thoại 3.3 Nhận xét về bản thiết kế Sau khi cho chạy mô phỏng và chạy trên kít thì rút ra một số kết luận từ các báo cáo của phần mềm cũng nhƣ thực tế diễn ra trên kít 14 BÁO CÁO CHUYÊN ĐỀ ĐIỆN TỬ Hình 3.2 báo cáo tổng hợp về sử dụng tài nguyên phần cứng Thông số đầu tiên là number of slice registers : dung 59 trong tổng số 18224 chiếm 1%, điều này có nghĩa... đúng nhƣ mục đích thiết kế khi cho tín hiệu vào ở đầu vào Chạy trên kít: 13 BÁO CÁO CHUYÊN ĐỀ ĐIỆN TỬ Hình 3.2 kết quả nạp xuống kít Nhận xét: chuyển trạng thái đèn đúng theo giả thiết Thời gian đèn Đỏ sáng: 25s = txanh + tvàng Thời gian đèn Vàng sáng: 5s Thời gian đèn Xanh sáng: 20s Hiển thị số giây của từng đền đúng theo thiết kế Quét led chạy ổn định, mƣợt, không có vạch sáng tại những... dùng là tạo file bit để có thể nạp xuống kít Chọn generate programming file Hình 2.12 tạo file bit Để có thể nạp file bit xuống kít thì cần dùng thêm phần mềm: digilent.adept.system_v2.15.3 12 BÁO CÁO CHUYÊN ĐỀ ĐIỆN TỬ CHƢƠNG 3 CHẠY THỬ VÀ CÁC KẾT QUẢ ĐẠT ĐƢỢC 3.1 Giới thiệu chƣơng Trong chƣơng này sẽ trình bày về các kết quả chay mô phỏng thiết kế trên phần mềm ISE cũng nhƣ chạy thử trên kít Spartan-6...BÁO CÁO CHUYÊN ĐỀ ĐIỆN TỬ Sau khi viết xong code của từng file nguồn thì việc còn lại là sử dụng chúng trong các module lớn hơn Sau khi viết xong code của file nguồn thì cần kiểm tra đã viết đúng hay chƣa, đúng theo... chuột vào file nguồn và chọn View HDL instantiation template(nhƣ hình) Hình 2.9 tạo file VHI Phần mềm sẽ tạo file vhi cho phép sử dụng thiết kế ở các module khác Hình 2.10 nội dung file vhi 11 BÁO CÁO CHUYÊN ĐỀ ĐIỆN TỬ Sau khi toàn bộ các module nhỏ đã đƣợc ghép thành công vào module lớn(tổng) và chạy không có lỗi thì cần nối dây ngoại vi cho thiết kế để có thể giao tiếp ngoại vi(led, switch, button…)... number of slice LUTs: dung 138 trong tổng 9112 chiếm 1%, điều này cũng cho thấy là bản thiết kế dung ít number of slice LUTs Tiếp theo là các thông số tín hiệu đƣợc dung trong bản thiết kế Hình 3.3 báo cáo về một số thông số của module 15