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 CÔNG TRÌNH NGHIÊN CỨU KHOA HỌC CỦA SINH VIÊN THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN TÍN HIỆU ĐÈN GIAO THÔNG SỬ DỤNG FPGA Mà SỐ: SV2020-124 SKC 0 0 7 3 3 6 Tp. Hồ Chí Minh, tháng 10/2020 Bà GIÁO DĀC VÀ ĐÀO T¾O TR¯àNG Đ¾I HàC S¯ PH¾M KỸ THUÀT TP. Hâ CHÍ MINH BÁO CÁO TäNG K¾T ĐÀ TÀI NGHIÊN CĄU KHOA HàC CĂA SINH VIÊN THI¾T K¾ Hà THàNG ĐIÀU KHIÂN TÍN HIàU ĐÈN GIAO THÔNG SĈ DĀNG FPGA SV2020 - 124 Chă nhiám đÁ tài: Nguyßn Thanh Phong TP. Hâ CHÍ MINH – 10/2020 Bà GIÁO DĀC VÀ ĐÀO T¾O TR¯àNG ĐH S¯ PH¾M KỸ THUÀT TPHCM BÁO CÁO TäNG K¾T ĐÀ TÀI NGHIÊN CĄU KHOA HàC CĂA SINH VIÊN THI¾T K¾ Hà THàNG ĐIÀU KHIÂN TÍN HIàU ĐÈN GIAO THÔNG SĈ DĀNG FPGA SV2020 – 124 Thuác nhóm ngành khoa học: Kỹ thuÁt máy tính SV thực hián: Ph¿m Thanh Phong Nam, Nữ: Nam Dân tác: Kinh Lớp, khoa: 16119CLC, ĐT CLC Năm thā: 4 /Sá năm đào t¿o: 4 Ngành học: Công nghá kỹ thuÁt máy tính Ng°ßi h°ớng d¿n: TS.
Tr°¢ng Ngọc S¢n TP. Hâ CHÍ MINH – 10/2020 MĀC LĀC DANH MĀC HÌNH. iii DANH MĀC CÁC TĂ VIÀT TÂT. iv TàNG QUAN.2 GiÁi quyÁt vấn đề: .4 Đái t°ÿng và ph¿m vi nghiên cāu: .1 Táng quan về FPGA .2 Lách sử ra đßi FPGA .3 Vì sao chọn FPGA.4 Cấu trúc FPGA .2 Ngôn ngữ Verilog .1 Giới thiáu ngôn ngữ Verilog .2 Quy trình thiÁt kÁ sá .3 Máy tr¿ng thái hữu h¿n FSM.
19 THIÀT KÀ Hà THàNG .1 Chāc năng và yêu cầu há tháng .2 ThiÁt kÁ bá điều khiển tín hiáu đèn giao thông .1 ThiÁt kÁ đ¢n vá traffic_light_fsm .2 ThiÁt kÁ đ¢n vá delay_counter .3 ThiÁt kÁ chāc năng giữ tr¿ng thái. 28 KÀT QUÀ NGHIÊN CĀU VÀ ĐÁNH GIÁ .1 S¢ đß khái đ¢n vá traffic_light .2 KÁt quÁ mô phßng chāc năng .1 Kiểm tra tr°ßng hÿp bình th°ßng .2 Kiểm tra tr°ßng hÿp Reset tích cực .3 Kiểm tra tr°ßng hÿp Switch tích cực .3 KÁt quÁ mô phßng trên Xilinx Spartan 3E Stater Kit. 31 KÀT LUÀN VÀ KIÀN NGHà. 33 TÀI LIàU THAM KHÀO.
35 4 DANH MĀC HÌNH Hình 2.1: KiÁn trúc táng quan FPGA .2: Khái logic FPGA .4: Quy trình thiÁt kÁ sá .5: Mô hình quá trình mô phßng .6: Quá trình táng hÿp .7: S¢ đß máy tr¿ng thái hữu h¿n .8: Mô hình máy tr¿ng thái Moore .9: Mô hình máy tr¿ng thái Mealy .1: S¢ đß khái đ¢n vá traffic_light.2: S¢ đß thiÁt kÁ bá điều khiển tín hiáu đèn giao thông .3: S¢ đß chân đ¢n vá traffic_light_fsm .4: S¢ đß tr¿ng thái đ¢n vá traffic_light_fsm .5: S¢ đß chân đ¢n vá delay_counter.6: S¢ đß nguyên lý đ¢n vá delay_counter .7: Cáng AND 2 ngõ vào .1: Top module traffic_light .2: KÁt quÁ mô phßng tr°ßng hÿp reset và switch không tích cực .3: KÁt quÁ mô phßng tr°ßng hÿp reset tích cực .4: KÁt quÁ mô phßng tr°ßng hÿp switch tích cực.5: FSM á tr¿ng thái MG_CR .6: FSM á tr¿ng thái MY_CR .7: FSM á tr¿ng thái MR_CR1 .8: FSM á tr¿ng thái MR_CG .9: FSM á tr¿ng thái MR_CY .10: FSM á tr¿ng thái MR_CR2. 32 ii DANH MĀC BÀNG BÁng 3.1: BÁng chuyển tr¿ng thái tín hiáu đèn .2: Mô tÁ chân tín hiáu bá điều khiển đèn giao thông .3: BÁng trá trá ngõ ra t°¢ng āng với tr¿ng thái đèn .4: Mô tÁ chân tín hiáu đ¢n vá traffic_light.5: BÁng tr¿ng thái ho¿t đáng đ¢n vá traffic_light_fsm .1: Thông sá lựa chọn các tr°ßng hÿp đặc biát. 30 iii DANH MĀC CÁC TĆ VI¾T TÂT ASIC Application Specific Intergrated Circuit CPLD Complex Programmable Logic Device DUT Design Under Test FPGA Field Progammable Gate Array FSM Finite State Machine FSMD Finite State Machine Diagram Very High Speed Integrated Hardwave VHDL Description Language VLSI Very Large Scale Integration iv Bà GIÁO DĀC VÀ ĐÀO T¾O TR¯àNG ĐH S¯ PH¾M KỸ THUÀT TPHCM THÔNG TIN K¾T QUÀ NGHIÊN CĄU CĂA ĐÀ TÀI 1. Thông tin chung: - Tên đề tài: ThiÁt kÁ há tháng điều khiển đèn giao thông sử dāng FPGA - Chÿ nhiám đề tài: Nguyßn Thanh Phong Mã sá SV: SV2020 - 124 - Lớp: 16119CLC Khoa: ĐT CLC - Thành viên đề tài: Stt Há và tên MSSV Lßp Khoa 1 Đß Ph°¢ng Nam 16119030 16119CLC ĐT CLC 2 Tr°¢ng Đào Kh°¢ng Duy 16119007 16119CLC ĐT CLC 3 D°¢ng Văn San 16119041 16119CLC ĐT CLC - Ng°ßi h°ớng d¿n: TS.
Tr°¢ng Ngọc S¢n 2. Māc tiêu đÁ tài: Xây dựng mát há tháng điều khiển đèn giao thông sử dāng FPGA, phân lußng di chuyển các h°ớng khác nhau những khoÁng thßi gian phù hÿp cho những khung giß khác nhau trong ngày. Tính mßi và sáng t¿o: ThiÁt kÁ trên FPGA. K¿t quÁ nghiên cąu: Báo cáo về há tháng điều khiển đèn giao thông sử dāng FPGA.
Đóng góp vÁ mặt giáo dāc và đào t¿o, kinh t¿ - xã hội, an ninh, quác phòng và khÁ năng áp dāng căa đÁ tài: Áp dāng vào trong viác giÁng d¿y. Áp dāng vào viác thiÁt kÁ ASIC. Công bá khoa hác căa SV tć k¿t quÁ nghiên cąu căa đÁ tài (ghi rõ tên tạp chí nếu có) hoặc nhÁn xét, đánh giá cÿa c¢ sá đã áp dāng các kÁt quÁ nghiên cāu (nếu có): Ngày tháng năm SV chßu trách nhiám chính thực hián đÁ tài (kí, họ và tên) 5 NhÁn xét căa ng°ái h°ßng d¿n vÁ những đóng góp khoa hác căa SV thực hián đÁ tài (phần này do người hướng dẫn ghi): Ngày tháng năm Ng°ái h°ßng d¿n (kí, họ và tên) 6 LàI NÓI ĐÀU Đề tài thiÁt kÁ và mô phßng bá điều khiển tín hiáu đèn giao thông là nền tÁng để có thể tiÁp cÁn tới các đề tài dự án có chuyên môn cao h¢n. Viác thực hián đề tài này, giúp há tháng hóa đ°ÿc các kiÁn thāc chuyên nghành đã học nh° kỹ thuÁt sá, kiÁn trúc máy tính, thiÁt kÁ FPGA/ASIC và mát sá môn học có liên quan khác.
Đề tài này nhằm trình bày quy trình tă xây dựng thiÁt kÁ luÁn lý đÁn thiÁt kÁ mát bá điều khiển tín hiáu đèn giao thông bằng ngôn ngữ mô tÁ phần cāng Verilog, có khÁ năng thực hián điều khiển tín hiáu đèn t¿i ngã t° và chāc năng giữ nguyên tr¿ng thái đèn. Đề tài này chß thiÁt kÁ á māc nền tÁng, nh°ng bên c¿nh v¿n s¿ có những yêu cầu về giÁm thiểu tái đa về phần cāng. ThiÁt kÁ đ°ÿc táng hÿp và đánh giá trên môi tr°ßng FPGA cÿa Xilinx đßng thßi mô phßng kiểm tra kÁt quÁ bằng phần mềm Xilinx ISE Design Suite 14. Đề tài đ°ÿc tóm gọn trong 5 ch°¢ng: Ch°¢ng 1 Gißi thiáu Ch°¢ng 2 C¢ sã lý thuy¿t Ch°¢ng 3 Thi¿t k¿ há tháng Ch°¢ng 4 K¿t quÁ và đánh giá Ch°¢ng 5 K¿t luÁn và ki¿n nghß vii TäNG QUAN 1.1 Đặt v¿n đÁ: Tình tr¿ng kẹt xe đặc biát là á các thành phá lớn đang ngày mát gia tăng do l°ÿng ph°¢ng tián tham giao thông ngày càng lớn.
Sự h¿n chÁ cÿa há tháng điều khiển đèn giao thông hián t¿i – TLC – sử dāng vi xử lý và vi điều khiển làm Ánh h°áng đÁn thßi gian di chuyển cũng nh° thßi gian chß cÿa ng°ßi tham gia giao thông. à rất nhiều n¢i, TLC đ°ÿc xây dựng dựa vi điều khiển và vi xử lý, những TLC sử dāng vi điều khiển và vi xử lí này có giới h¿n do phần cāng cÿa chúng chß thực hián đ°ÿc những chāc năng đã đ°ÿc lÁp trình tă tr°ớc, không có tính linh ho¿t để phù hÿp với thực tÁ. Những chāc năng này là cá đánh, do đó khoÁng thßi gian chuyển đái giữa các tín hiáu xanh, đß, vàng cÿa TLC cũng là cá đánh. Những lí do đó làm giÁm đá hiáu quÁ cÿa viác tham gia giao thông và ô nhißm môi tr°ßng.
Tă những vấn đề đó nhóm thực hián đề tài tiÁn hàng tìm hiểu, nghiên cāu và xây dựng <Mô hình há tháng điều khiển đèn giao thông sử dāng FPGA= với mong muán giúp ng°ßi tham gia giao thông di chuyển hiáu quÁ, giÁm thiểu thßi gian chß.2 GiÁi quy¿t v¿n đÁ: Để giÁi quyÁt những vấn đề này cần xây dựng há tháng có các chāc năng: Có thể lÁp trình l¿i đ°ÿc. Có thể thay đái chāc năng để phù hÿp với lußng giao thông thßi gian thực.3 Māc tiêu: Mô hình đáp āng đ°ÿc yêu cầu sau: xây dựng mô hình há tháng điều khiển đèn giao thông t¿i giao lá 4 nhánh trong vòng 24 giß và giÁm thiểu thßi gian chß cÿa ng°ßi tham gia giao thông, mô hình há tháng điều khiển đèn giao thông này sử dāng FPGA.4 Đái t°ÿng và ph¿m vi nghiên cąu: Viác sử dāng VHDL đ°ÿc °u tiên đặc biát cho thiÁt kÁ FPGA vì VHDL có thể đ°ÿc sử dāng để mô tÁ và mô phßng ho¿t đáng cÿa các m¿ch sá tă ít cáng đÁn phāc t¿p. Trong dự án này, TLC s¿ đ°ÿc thiÁt kÁ dựa trên VHDL sử dāng ISE Design Suite và đ°ÿc thực hián trong phần cāng bằng cách sử dāng kit Xilinx Spartan 3E.1 Tång quan vÁ FPGA 2.1 FPGA là gì? Field-programmable gate array (FPGA) là mát lo¿i m¿ch tích hÿp cỡ lớn dùng cấu trúc mÁng phần tử logic mà ng°ßi dùng có thể lÁp trình đ°ÿc. Chữ field á đây muán chß đÁn khÁ năng tái lÁp trình "bên ngoài" cÿa ng°ßi sử dāng, không phā thuác vào dây chuyền sÁn xuất phāc t¿p cÿa nhà máy bán d¿n.
Vi m¿ch FPGA đ°ÿc cấu thành tă các bá phÁn: - Các khái logic c¢ bÁn lÁp trình đ°ÿc (logic block) - Há tháng m¿ch liên kÁt lÁp trình đ°ÿc - Khái vào/ra (IO Pads) - Phần tử thiÁt kÁ sẵn khác nh° DSP slice, RAM, ROM, nhân vi xử lý. FPGA cũng đ°ÿc xem nh° mát lo¿i vi m¿ch bán d¿n chuyên dāng ASIC, nh°ng nÁu so sánh FPGA với những ASIC đặc chÁ hoàn toàn hay ASIC thiÁt kÁ trên th° vián logic thì FPGA không đ¿t đựÿc māc đá tái °u nh° những lo¿i này, và h¿n chÁ trong khÁ năng thực hián những tác vā đặc biát phāc t¿p, tuy vÁy FPGA °u viát h¢n á chß có thể tái cấu trúc l¿i khi đang sử dāng, công đo¿n thiÁt kÁ đ¢n giÁn do vÁy chi phí giÁm, rút ngÃn thßi gian đ°a sÁn phẩm vào sử dāng. Còn nÁu so sánh với các d¿ng vi m¿ch bán d¿n lÁp trình đ°ÿc dùng cấu trúc mÁng phần tử logic nh° PLA, PAL, CPLD thì FPGA °u viát h¢n các điểm: tác vā tái lÁp trình cÿa FPGA thực hián đ¢n giÁn h¢n; khÁ năng lÁp trình linh đáng h¢n; và khác biát quan trọng nhất là kiÁn trúc cÿa FPGA cho phép nó có khÁ năng chāa khái l°ÿng lớn cáng logic (logic gate), so với các vi m¿ch bán d¿n lÁp trình đ°ÿc có tr°ớc nó.