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

Triển khai hệ thống nhúng trên NIOS và ứng dụng điều khiển thiết bị qua máy tính

90 1,2K 2

Đ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

Định dạng
Số trang 90
Dung lượng 4,74 MB

Nội dung

Triển khai hệ thống nhúng trên NIOS và ứng dụng điều khiển thiết bị qua máy tính Triển khai hệ thống nhúng trên NIOS và ứng dụng điều khiển thiết bị qua máy tính Triển khai hệ thống nhúng trên NIOS và ứng dụng điều khiển thiết bị qua máy tính Triển khai hệ thống nhúng trên NIOS và ứng dụng điều khiển thiết bị qua máy tính Triển khai hệ thống nhúng trên NIOS và ứng dụng điều khiển thiết bị qua máy tính

Trang 1

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT HƯNG YÊN

PHẠM ĐỨC THUẬN

TRIỂN KHAI HỆ THỐNG NHÚNG TRÊN NIOS

VÀ ỨNG DỤNG ĐIỀU KHIỂN THIẾT BỊ

Trang 2

PHẠM ĐỨC THUẬN

TRIỂN KHAI HỆ THỐNG NHÚNG TRÊN NIOS

VÀ ỨNG DỤNG ĐIỀU KHIỂN THIẾT BỊ

HƯNG YÊN - 2014

Trang 3

3

MỤC LỤC

MỤC LỤC 3

DANH SÁCH HÌNH VẼ 6

DANH SÁCH BẢNG BIỂU 9

DANH SÁCH TỪ VIẾT TẮT 10

CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI 11

Lý do chọn đề tài 11

1.1 Mục tiêu của đề tài 12

1.2 Giới hạn và phạm vi của đề tài 12

1.3 Nội dung thực hiện 12

1.4 Phương pháp tiếp cận 13

1.5 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 14

Tổng quan về FPGA 14

2.1 2.1.1 FPGA là gì? 14

2.1.2 Tóm tắt lịch sử phát triển của FPGA 14

2.1.3 Tại sao cần sử dụng FPGA 15

2.1.4 Các ứng dụng của FPGA 16

2.1.5 Cấu trúc của FPGA 16

2.2 KIT Altera DE2 18

2.3 Phần mềm Quartus II 21

2.3.1 Giới thiệu Quartus II 21

2.3.2 Thiết kế dự án bằng Quartus II 23

2.3.3 Xây dựng hệ thống bằng SoPC( Qsys) trên Quartus II 30

Trang 4

4

2.4 Phần mềm lập trình NIOS II 35

2.5 Truyền thông qua máy tính 39

2.6 Avalon Bus 43

2.6.1 Avalon Bus Module 45

2.6.2 Các thiết bị ngoại vi Avalon 46

CHƯƠNG 3: NỘI DUNG THỰC HIỆN 48

Sơ đồ tổng quát hệ thống 48

3.1 Chi tiết thiết kế hệ thống 50

3.2 3.2.1 NIOS II Processor – nios2_qsys_0 50

3.2.2 JTAG Debug Module – jtag_uart_0 51

3.2.3 Rs232 – UART( Rs232 Serial Port) 51

3.2.4 SRAM On Chip – onchip_memory2_0 52

3.2.5 EFAN 52

3.2.6 LCD 53

3.2.7 LED Controler – pio_0 – led_green 56

3.2.8 Avalon Bus 56

Thiết kế giao diện điều khiển trên máy tính 59

3.3 Lưu đồ thuật toán 61

3.4 3.4.1 Quá trình gửi 61

3.4.2 Quá trình nhận 62

Sơ đồ nguyên lý 64

3.5 3.5.1 Kết nối chân tín hiệu điều khiển ngoại vi 64

3.5.2 Sơ đồ ghép nối Rs232 65

3.5.3 Sơ đồ module màn hình LCD 66

Trang 5

5

3.5.4 Sơ đồ nguyên lý Relay 4 kênh 67Hình ảnh module thực tế 693.6

CHƯƠNG 4: KẾT LUẬN 70

Kết quả đạt được của đề tài 704.1

Hạn chế của đề tài 714.2

Hướng phát triển của đề tài 714.3

TÀI LIỆU THAM KHẢO 72PHỤ LỤC 73

Trang 6

6

DANH SÁCH HÌNH VẼ

Hình 2-1: Cấu trúc tổng thể của FPGA 16

Hình 2-2: Khối logic FPGA 17

Hình 2-3: KIT Altera DE2 19

Hình 2-4: Các thành phần trên KIT Altera DE2 19

Hình 2-5: Giao diện chính 21

Hình 2-6: Design Flow 22

Hình 2-7: Khởi tạo dự án 23

Hình 2-8: Đường dẫn, tên dự án, tên thực thể chính 24

Hình 2-9: Add file 24

Hình 2-10: Chọn Device 25

Hình 2-11: Công cụ thiết kế, mô phỏng 26

Hình 2-12: Kết thúc 26

Hình 2-13: New Source 27

Hình 2-14: Trình soạn thảo trên Quartus II 27

Hình 2-15: Cửa sổ Assignment Editor dùng để gán chân 28

Hình 2-16: Cửa sổ Programer 29

Hình 2-17: Đường dẫn đến thư mục Usb-Blaster Driver 30

Hình 2-18: Chọn hệ thống SoPC dựa trên ngôn ngữ Verilog hoặc VHDL 31

Hình 2-19: Chọn NIOS II processor 32

Hình 2-20: Chọn Debug level 32

Hình 2-21: Tạo bộ nhớ hệ thống 33

Hình 2-22: JTAG UART 34

Trang 7

7

Hình 2-23: Hệ thống SoPC tối thiểu 34

Hình 2-24: Tạo thêm I/O cần thiết cho hệ thống NIOS II 35

Hình 2-25: Chọn workspace cho dự án 36

Hình 2-26: Giao diện chương trình phần mềm NIOS II 36

Hình 2-27: Tạo dự án mới với NIOS II 37

Hình 2-28: Trình soạn thảo 38

Hình 2-29: Nạp xuống KIT 38

Hình 2-30: Rs232 Pin table 41

Hình 2-31: Sơ đồ khối một Avalon bus module trong thiết kế 46

Hình 3-1: Sơ đồ tổng quát hệ thống 48

Hình 3-2: Chọn phiên bản NIOS II/e 50

Hình 3-3: Component Jtag_uart 51

Hình 3-4: Component Rs232 51

Hình 3-5: SRAM On Chip 52

Hình 3-6: EFAN 52

Hình 3-7: Lcd_data 53

Hình 3-8: Lcd_rw 54

Hình 3-9: Lcd_rs 54

Hình 3-10: Lcd_e 55

Hình 3-11: Led control 56

Hình 3-12: Giao tiếp giữa cổng Slave và Avalon Bus Module trong quá trình đọc từ Slave 57

Hình 3-13: Thời gian trong quá trình đọc dữ liệu từ cổng slave 57

Trang 8

8

Hình 3-14: Các tín hiệu giao tiếp và thời gian trong khi ghi dữ liệu ra cổng

slave 58

Hình 3-15: Giao diện chương trình chính 60

Hình 3-16: Giao diện chương trình điều khiển 60

Hình 3-17: Lưu đồ thuật toán quá trình gửi dữ liệu 61

Hình 3-18: Lưu đồ thuật toán quá trình nhận dữ liệu 63

Hình 3-19: Connect to GPIO1( DE2 KIT) 64

Hình 3-20: Mạch chuẩn giao tiếp Rs232 dùng IC Max232 65

Hình 3-21: Sơ đồ module màn hình LCD 66

Hình 3-22: Sơ đồ nguyên lý Module Relay 4 kênh 68

Hình 3-23: Module Relay 4 kênh - 5V-220V/10A 69

Trang 9

9

DANH SÁCH BẢNG BIỂU

Bảng 3-1: Chân kết nối tín hiệu điều khiển GPIO1 65Bảng 3-2: Rs232 pin assignments 66Bảng 3-3: LCD Module pin assignment 67

Trang 10

10

DANH SÁCH TỪ VIẾT TẮT

Từ viết tắt Từ đầy đủ Giải thích

ASIC Application-Specific Integrated

FPGA Field programmable gate array Vi mạch dùng cấu trúc mảng

phần tử logic lập trình được

LUT Look Up Table Bảng tìm kiếm

SOPC System on a Programmable Chip

Builder

Xây dựng hệ thống trên một CHIP

VHDL VHSIC Hardware Description

Language

Ngôn ngữ lập trình phần cứng

Trang 11

11

CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI

Trong chương này sẽ trình bày tổng quan về đề tài bao gồm lý do chọn đề tài, mục tiêu, giới hạn, phạm vi nghiên cứu, nội dung thực hiện và phương pháp tiếp cận của đề tài

Lý do chọn đề tài

1.1

Trong những năm gần đây, xu hướng của thế giới là phát triển mạnh công nghệ bán dẫn Một chip có thể tích hợp trên nó nhiều cổng logic có thể ứng dụng trong nhiều lĩnh vực Ngày nay, ngành công nghiệp chế tạo phần cứng luôn có những đột phá không ngừng Từ các mạch điện đơn giản đến các mạch số, mạch tích hợp, kiến trúc mạch ngày một trở nên phức tạp hơn

Các hệ thống nhúng được phát triển trên FPGA đang được sử dụng rộng rãi cho các nghiên cứu, ứng dụng, và đào tạo hiện nay bởi đặc tính linh hoạt cho các thiết kế thiết bị trên FPGA Đặc tính có thể cấu hình lại của FPGA cho phép tạo ra phiên bản thiết kế của một thiết bị mong muốn cho các ứng dụng khác nhau Nhờ sử dụng các ngôn ngữ mô phỏng phần cứng VHDL, Verilog và một số công cụ thiết

kế, mô phỏng, ngày nay, ở phòng thí nghiệm, cơ sở đào tạo, hay một cá nhân có thể đưa ra ý tưởng, một mẫu thiết kế một bộ xử lý mong muốn, và thực thi nó trên FPGA Với những ứng dụng rộng rãi trong nhiều ngành công nghiệp đa dạng, hầu hết các hệ nhúng hiện nay đều được phát triển trên công nghệ FPGA Mặt khác, FPGA được hỗ trợ rất nhiều các thiết bị ngoại vi tạo điều kiện thuận lợi cho việc phát triển hệ thống nhúng, phát triển các ứng dụng điều khiển trên FPGA kết nối với các thiết bị ngoại vi

Để có được bước đầu làm quen và nghiên cứu về công nghệ FPGA từ đó có

thể nghiên cứu sâu hơn về công nghệ nên Em đã chọn đề tài nghiên cứu: “ Triển

khai hệ thống nhúng trên nios và điều khiển thiết bị qua máy tính” làm đề tài

tốt nghiệp Đại học của mình

Trang 12

12

Trong quá trình thực hiện đề tài này, do còn hạn chế về kiến thức và thời gian nên không tránh được những thiếu sót Em kính mong quý thầy cô thông cảm và bỏ qua đồng thời em cũng mong nhận được những góp ý và chỉ bảo thêm của quý thầy cô

Mục tiêu của đề tài

1.2

 Tạo bước đầu cho Sinh Viên nghiên cứu ứng dụng của Altera DE2 Cylone

II nói riêng và FPGA nói chung

 Nắm được trình tự thiết kế một ứng dụng sử dụng NIOS trên DE2: Cách lập trình, thiết kế phần cứng, cũng như cách vận hành giao tiếp giữa Kit DE2 với các thiết bị ngoại vi

 Thiết kế hệ thống nhúng trên NIOS và ứng dụng điều khiển thiết bị qua máy tính

 Rèn luyện khả năng tư duy, sáng tạo và kinh nghiệm làm việc trong thực tế

Giới hạn và phạm vi của đề tài

1.3

 Nghiên cứu FPGA của Altera nguyên lý hoạt động của Kit Altera DE2 Cylone II Tìm hiểu về các cổng vào ra của Kit DE2, kết nối với máy tính

và các thiết bị ngoại vi

 Đưa ra được giải pháp và chức năng của sản phẩm, thiết kế mạch và lập trình đạt được yêu cầu đặt ra của hệ thống điều khiển

 Nghiên cứu và phát triển hệ thống nhúng trên FPGA của hãng Altera

 Viết chương trình điều khiển trên máy tính kết nối với FPGA điều khiển thiết bị ngoại vi

Nội dung thực hiện

1.4

 Tìm hiểu, nghiên cứu nguyên lý hoạt động của Kit Altera DE2 Cylone II

 Tìm hiểu về các cổng vào ra của Kit DE2, kết nối với máy tính và các thiết

bị ngoại vi

Trang 13

 Lắp đặt, chạy thử và hoàn thiện hệ thống

 Quyển báo cáo viết và trình bày theo đúng mẫu quy định

Phương pháp tiếp cận

1.5

Cách tiếp cận : Nghiên cứu các ngôn ngữ, phần mềm thiết kế hệ thống nhúng trên nền tảng Altera như VHDL, Verilog, Qsys trên Quartus II và viết phần mềm trên NIOS II Lập trình giao diện điều khiển thiết bị trên máy tính bằng Visual Studio 2010

Sử dụng các phương pháp nghiên cứu:

 Phương pháp đọc tài liệu

 Phương pháp phân tích mẫu

 Phương pháp thực nghiệm

Trang 14

14

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

Chương này sẽ trình bày cơ sở lý thuyết của đề tài bao gồm tổng quan về FPGA, giới thiệu phần mềm, công cụ sử dụng trong đề tài, các bước triển khai hệ thống, truyền thông qua máy tính

Tổng quan về FPGA

2.1

2.1.1 FPGA là gì?

Field-programmable gate array( FPGA) là vi mạch 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ý

2.1.2 Tóm tắt lịch sử phát triển của FPGA

FPGA được thiết kế đầu tiên bởi Ross Freeman, người sáng lập công ty Xilinx vào năm 1984, kiến trúc mới của FPGA cho phép tích hợp số lượng tương đối lớn các phần tử bán dẫn vào 1 vi mạch so với kiến trúc trước đó là CPLD FPGA có khả năng chứa tới từ 100.000 đến hàng vài tỷ cổng logic, trong khi CPLD chỉ chứa từ 10.000 đến 100.000 cổng logic; con số này đối với PAL, PLA còn thấp hơn nữa chỉ đạt vài nghìn đến 10.000

CPLD được cấu trúc từ số lượng nhất định các khối SPLD( Simple programmable devices, thuật ngữ chung chỉ PAL, PLA) SPLD thường là một mảng logic AND/OR lập trình được có kích thước xác định và chứa một số lượng hạn chế các phần tử nhớ đồng bộ( clocked register) Cấu trúc này hạn chế khả năng thực

Trang 15

Một điểm khác biệt với CPLD là trong những FPGA hiện đại được tích hợp nhiều những bộ logic số học đã sơ bộ tối ưu hóa, hỗ trợ RAM, ROM, tốc độ cao, hay các bộ nhân cộng( multiplication and accumulation, MAC), thuật ngữ tiếng Anh là DSP slice dùng cho những ứng dụng xử lý tín hiệu số DSP

Ngoài khả năng tái cấu trúc vi mạch toàn cục, một số FPGA hiện đại còn hỗ trợ tái cấu trúc cục bộ, tức là khả năng tái cấu trúc một bộ phận riêng lẻ trong khi vẫn đảm bảo hoạt động bình thường cho các bộ phận khác

2.1.3 Tại sao cần sử dụng FPGA

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ó

Trang 16

16

2.1.4 Các ứng dụng của FPGA

Ứng dụng của FPGA bao gồm: xử lý tín hiệu số DSP, các hệ thống hàng không, vũ trụ, quốc phòng, tiền thiết kế mẫu ASIC( ASIC prototyping), các hệ thống điều khiển trực quan, phân tích nhận dạng ảnh, nhận dạng tiếng nói, mật mã học, mô hình phần cứng máy tính, máy đánh cờ( Máy đánh cờ Hydra có 32 bộ vi xử

lý cộng thêm FPGA đã chiến thắng kiện tướng quốc tế Michael Adams trong năm

2.1.5 Cấu trúc của FPGA

Cấu trúc tổng thể của một FPGA được minh họa ở hình sau:

Hình 2-1: Cấu trúc tổng thể của FPGA

Trang 17

17

Khối Logic FPGA

Hình 2-2: Khối logic FPGA

Phần tử chính của FPGA là các khối logic(logic block) Khối logic được cấu thành từ LUT và một phần tử nhớ đồng bộ flip-flop

LUT( Look up table) là khối logic có thể thực hiện bất kì hàm logic nào từ 4

đầu vào, kêt quả của hàm này tùy vào mục đích mà gửi ra ngoài khối logic trực tiếp hay thông qua phần tử nhớ flip-flop

Trong tài liệu hướng dẫn của các dòng FPGA của Xilinx còn sử dụng khái niệm SLICE, 1 Slice tạo thành từ gồm 4 khối logic, số lượng các Slices thay đổi từ vài nghìn đến vài chục nghìn tùy theo loại FPGA

Nếu nhìn cấu trúc tổng thể của mảng LUT thì ngoài 4 đầu vào kể trên còn hỗ trợ thêm 2 đầu vào bổ sung từ các khối logic phân bố trước và sau nó nâng tổng số đầu vào của LUT lên 6 chân Cấu trúc này là nhằm tăng tốc các bộ số học logic

Hệ thống mạch liên kết

Mạng liên kết trong FPGA được cấu thành từ các đường kết nối theo hai phương ngang và đứng, tùy theo từng loại FPGA mà các đường kết nối được chia thành các nhóm khác nhau, ví dụ trong XC4000 của Xilinx có 3 loại kết nối: ngắn, dài và rất dài Các đường kết nối được nối với nhau thông qua các khối chuyển

Trang 18

18

mạch lập trình được( programmable switch), trong một khối chuyển mạch chứa một

số lượng nút chuyển lập trình được đảm bảo cho các dạng liên kết phức tạp khác nhau

Các phần tử tích hợp sẵn

Ngoài các khối logic tùy theo các loại FPGA khác nhau mà có các phần tử tích hợp thêm khác nhau, ví dụ để thiết kế những ứng dụng SoC, trong dòng Virtex 4,5 của Xilinx có chứa nhân xử lý PowerPC, hay trong Atmel FPSLIC tích hợp nhân AVR…, hay cho những ứng dụng xử lý tín hiệu số DSP trong FPGA được tích hợp các DSP Slide là bộ nhân cộng tốc độ cao, thực hiện hàm A*B+C, ví dụ dòng Virtex của Xilinx chứa từ vài chục đến hàng trăm DSP slices với A, B, C 18-bit

2.2 KIT Altera DE2

DE2( Development and Education ) la một công cụ cho việc thiết kế nâng cao các thiết bị đa phương tiện, lưu trữ và mạng

DE2 sử dụng công nghệ state-of- the-art trong cả phần cứng và các công cụ thiết kế nhờ máy tính giúp mở rộng phạm vi ứng dụng DE2 có nhiều tính năng phù hợp với cả việc sử dụng trong các phòng lab và các hệ thống số tinh vi Altera cung cấp các công cụ hỗ trợ phù hợp cho DE2, gồm có các hướng dẫn, các bài lab trên DE2, và các bài minh họa…

Trang 19

19

Hình 2-3: KIT Altera DE2

Các thành phần và thông số của KIT

Hình 2-4: Các thành phần trên KIT Altera DE2

Trang 20

20

 Altera Cyclone II 2C35 FPGA

 Altera Serial Configuration device - EPCS16

 USB Blaster dùng để lập trình hệ thống từ PC, hỗ trợ các chế độ JTAG cũng như điều khiển trực tiếp khi sử dụng NIOS II

 Có hai nguồn clock là 50 MHz và 27 MHz

 Chip giải mã âm thanh 24 bits với các jack cắm line-in, line-out và microphone

 VGA DAC( 10-bit high-speed triple DACs) với cổng VGA

 TV Decoder( NTSC/PAL) với TV-in( Video-in)

 Cổng 10/100 Ethernet

 Bộ điều khiển USB host/slave

 RS – 232 với cổng kết nối 9 chân

 Cổng PS/2 giao tiếp với chuột và keyboard

 Cổng hồng ngoại

 40 chân mở rộng

 LDC 2x16

Trang 21

21

2.3 Phần mềm Quartus II

2.3.1 Giới thiệu Quartus II

Quartus II là công cụ chính được sử dụng trong quá trinh thực hiện đề tài Được cung cấp và cập nhật thường xuyên bởi Altera Đây là công cụ thiết kế tốt nhất cho các dòng chip FPGA của Altera bao gồm cả Cyclon II 2C35 có trên DE2

Là công cụ phân tích và tổng hợp thiết kế HDL, nó cho phép nhà phát triển thực hiện thiết kế của họ, đồng thời cho phép phân tích thời gian, kiểm tra sơ đồ RTL, mô phỏng hệ thống và cấu hình sản phẩm một cách phù hợp nhất

Hình 2-5: Giao diện chính

Trang 22

22

Thiết kế FPGA với SoPC( Qsys) trên Quartus II

Dưới đây là quy trình thiết kế FPGA với các phần mềm thiết kế FPGA nói chung và Quartus II nói riêng:

Hình 2-6: Design Flow

Design Entry – Mạch sau đã thiết kế sẽ được mô tả bởi các ngôn ngữ mô tả

phần cứng như VHDL hay Verilog, hoặc cũng có thể dùng sơ đồ

Schematic

Synthesis – Công cụ tổ hợp sẽ tổ hợp mạch tạo ra một file netlist có chứa

các phần tử logic và các kết nối giữa chúng

Function Simulation – Chức năng của mạch sau tổ hợp sẽ được kiểm định

Trang 23

23

Fitting – Công cụ máy tính sẽ đặt các phần tử logic được định nghĩa trong

file netlist xuống các phần tử logic trong con chip FPGA thực tế Đồng thời

chọn ra các đường dây để kết nối chúng với nhau

Timming Analysis – Phân tích trễ truyền dẫn trên các đường dây khác

nhau nhằm đưa ra các chỉ thị giúp cải thiện hiệu năng làm việc của mạch

Timming Simulation – Kiểm tra đồng thời cả về mặt chức năng lẫn thời

gian của mạch

Programming and Configuration – Thực hiện mạch trên con chip vật lý

bằng cách cấu hình các phần tử logic trên chip và thành lập các kết nối cần thiết

2.3.2 Thiết kế dự án bằng Quartus II

Tạo dự án, viết source code, biên dịch và nạp xuống KIT trên Quartus II

Đề tài sử dụng phiên bản phần mềm Quartus 12.0 Web Edition

 Khởi tạo dự án: File  New Project Wizard  Next

Hình 2-7: Khởi tạo dự án

Trang 24

24

 Điền đường dẫn lưu dự án, tên dự án và tên thực thể chính của dự án  Next

Hình 2-8: Đường dẫn, tên dự án, tên thực thể chính

 Thêm file thiết kế vào trong dự án  Next

Hình 2-9: Add file

Trang 25

25

- Thêm file mới cho dự án: Điền tên file name  Add

- Thêm file đã có sẵn: Browse đường dẫn đến file đã tạo sẵn và Add

- Nếu đã tạo xong dự án mà muốn thêm file thiết kế VHDL vào trong dự án:

Ở mục Project Navigator, chuyển sang tab file, click chuột phải vào file  Add/Remove File in Project  Add

 Chọn dòng thiết bị sử dụng

Hình 2-10: Chọn Device

Đối với đề tài sử dụng KIT Altera Cyclone II DE2:

- Family: Cyclone II

- Available device: EP2C35F672C6( DE2)

Trang 26

26

 Các công cụ thiết kế vi mạch khác sử dụng với phần mềm Quartus II để phát triển dự án  Next

Hình 2-11: Công cụ thiết kế, mô phỏng

 Kết thúc quá trình khởi tạo dự án: Finish

Hình 2-12: Kết thúc

Trang 28

28

nhấp đôi vào hộp bên phải hộp dành cho tín hiệu cần gán( cột Location) Chọn chân PIN_XYZ từ danh mục hoặc có thể gõ trực tiếp vào hộp Location

Hình 2-15: Cửa sổ Assignment Editor dùng để gán chân

- Tương tự như trên, thực hiện gán chân cho các đầu vào khác

- Sau khi hoàn thành việc gán chân, nhấp chọn File > Save Đóng cửa sổ Assignment Editor, nhấp chọn Yes và biên dịch lại mạch

Chú ý : Nên chọn tên các tín hiệu trùng với trong bảng

DE1_pin_assigment.csv thì khi gán chân ta chỉ cần vào assigment > import assigment,trong đường dẫn ta trỏ đến file DE1_pin_assigment.csv rồi ấn OK và làm theo bước 3 là xong.Không mất thời gian gán chân bằng tay

Trang 29

29

- Bước 2: Khi biên dịch hoàn thành, một báo cáo biên dịch được đưa ra Cửa

sổ này cũng có thể mở ra bất kỳ lúc nào bằng cách nhấp chọn Processing > Complication Report Trong báo cáo này bao gồm một số danh mục ở bên trái cửa sổ, nhấp vào các danh mục này để thấy thông tin chi tiết của danh mục này hiện lên ở bên phải cửa sổ

- Bước 3: Sửa các lỗi: Chọn mục Analysis & Synthesis > Messages để hiển thị thông báo lỗi Nhấp đôi vào thông báo lỗi đầu tiên, dòng lệnh lỗi sẽ được đánh dấu trên trình soạn thảo văn bản, sửa lại cho đúng rồi biên dịch lại dự án

Nạp xuống KIT

- Gạt chuyển mạch RUN/PROG sang vị trí RUN Nhấp chọn Tools > Programmer để có cửa sổ như trong hình Đánh dấu vào tùy chọn Program/Configue để cho phép nạp tệp cấu hình xxxxxx.sof

Hình 2-16: Cửa sổ Programer

Trang 30

30

Cài Driver Usb-Blaster

- Để có thể nạp code xuống KIT, ta phải cài Driver Usb-Blaster

- Vào Manage(Chuột phải vào Computer) Device ManageOther Device

- Chuột phải vào Usb-Blaster  Update Driver SoftwareBrowse my computer for driver softwareChọn đường dẫn tới thư mục Driver/Usb-Blaster(Có sẵn trong thư mục cài Altera Quartus)  Next Close

Hình 2-17: Đường dẫn đến thư mục Usb-Blaster Driver

2.3.3 Xây dựng hệ thống bằng SoPC( Qsys) trên Quartus II

 Hệ thống SoPC( System on Programable Chip) bao gồm các thành phần

chính:

 CPU Nios II

 Memory( onchip memory hoặc Ram ngoài)

 JTAG

Trang 31

Hình 2-18: Chọn hệ thống SoPC dựa trên ngôn ngữ Verilog hoặc VHDL

 Tạo VXL NIOS cho hệ thống

Chọn kiểu NIOS II: tùy vào tính năng của hệ thống mà chọn lõi NIOS II cho phù hợp Trong vi dụ này vì không càn nhiều chức năng nên ta chon phiên bản đơn giản nhất là phiên bản NIOS II/e bằng cách check vào mục NIOS II/e như hình bên dưới

Trang 32

32

Hình 2-19: Chọn NIOS II processor

Đối với kiểu NIOS đơn giản ta tiếp tục next đến phần chọn thành phần JTAG Trong bài này ta sử dụng phiên bản NIOS II/e nên chỉ cho phép chọn JTAG level 1 Rồi nhấn next để hoàn thành khai báo

Hình 2-20: Chọn Debug level

Trang 33

33

 Tạo bộ nhớ cho NiOS II

Nios II chỉ là một lõi vi xử lý chứ chưa phải là vi điêu khiển do đó nó cần phải

có tối thiểu ộ nhớ dữ liệu và bộ nhớ chương trình để có thể hoạt động được

Để đơn giản nhất là dùng On-Chip Memory bằng cách double_click “On-Chip Memory(RAM or ROM)” Nhưng lưu ý nên chọn dung lượng bộ nhớ phù hợp từng ứng dụng Chiều rộng mỗi ô nhớ là 32 bit nếu là kit DE2, nếu là DE1 ta chọn bộ nhớ là 16KB Sau đó chọn Finish để hoàn thành

Khi tạo bộ nhớ xong, ta tạo kết nối giữa Nios II và bộ nhớ nếu nó chưa được kết nối Chú ý là phải kết nối cả hai bus instruction_master và data_master

Hình 2-21: Tạo bộ nhớ hệ thống

Trang 34

34

 Tạo UART thông qua chuẩn JTAG cho NIOS

Trong Communication double click chọn JTAG UART Nếu không biết chỉnh

gì hết thì cứ nhấn Finish để hoàn thành

 Sau bước này ta có hệ thống đơn giản có thể hoạt động được như hình sau

Hình 2-23: Hệ thống SoPC tối thiểu

Trang 35

35

 Tạo I/O port cho NIOS II

Hình 2-24: Tạo thêm I/O cần thiết cho hệ thống NIOS II

2.4 Phần mềm lập trình NIOS II

Việc viết phần mềm cho phần cứng FPGA cũng tương tự như quá trình phát triển phần mềm cho bất kỳ họ vi điều khiển nào khác Bộ công cụ phần mềm Nios II EDS chuyên dùng để viết phần mềm chạy trên bộ vi xử lý NiosII

Nios II Software Build Tools for Eclipse cung cấp 2 quy trình khác nhau gồm rất nhiều thuộc tính và công cụ mã nguồn mở nhằm tạo ra chương trình phần mềm Nios II

Trang 36

36

Các bước làm việc trên NIOS

 Chọn không gian lưu trữ dự án

Hình 2-25: Chọn workspace cho dự án

 Giao diện chính

Hình 2-26: Giao diện chương trình phần mềm NIOS II

Trang 37

37

 Tạo dự án

Hình 2-27: Tạo dự án mới với NIOS II

Đầu tiên chọn SOPC Information File name chính là hệ thống SOPC mà chúng ta đã tạo ra bằng tool SoPC trên Quartus II Browse vào hệ thống SOPC đã tạo ra

Khi chọn xong SOPC thì CPU name sẽ hiện lên tên CPU mà chúng ta đặt ở phần xây dựng hệ thống Và sau đó là đặt Project name rồi Finish Kết thúc quá trình tạo dự án

Trang 39

39

2.5 Truyền thông qua máy tính

Ngày nay các thiết bị đo lường, điều khiển đều phải giao tiếp với máy tính

để quan sát thông số và chế độ hoạt động của thiết bị như thế nào? Chuẩn giao tiếp được coi là đơn giản và dễ dùng đó là RS232 Hầu như các thiết bị đều được giao tiếp với máy tính thông qua chuẩn này

Vấn đề giao tiếp giữa PC và vi điều khiển rất quan trọng trong các ứng dụng điều khiển, đo lường Ghép nối qua cổng nối tiếp RS232 là một trong những kỹ thuật được sử dụng rộng rãi để ghép nối các thiết bị ngoại vi với máy tính.Nó là một chuẩn giao tiếp nối tiếp dùng định dạng không đồng bộ, kết nối nhiều nhất là 2 thiết

bị , chiều dài kết nối lớn nhất cho phép để đảm bảo dữ liệu là 12.5 đến 25.4m, tốc

độ 20kbit/s đôi khi là tốc độ 115kbit/s với một số thiết bị đặc biệt Ý nghĩa của chuẩn truyền thông nối tiếp nghĩa là trong một thời điểm chỉ có một bit được gửi đi dọc theo đường truyền

Có hai phiên bản RS232 được lưu hành trong thời gian tương đối dài là RS232B và RS232C Nhưng cho đến nay thì phiên bản RS232B cũ thì ít được dùng còn RS232C hiện vẫn được dùng và tồn tại thường được gọi là tên ngẵn gọn là chuẩn RS232

Các máy tính thường có 1 hoặc 2 cổng nối tiếp theo chuẩn RS232C được gọi

là cổng Com Chúng được dùng ghép nối cho chuột, modem, thiết bị đo lường Trên main máy tính có loại 9 chân hoặc lại 25 chân tùy vào đời máy và main của máy tính Việc thiết kế giao tiếp với cổng RS232 cũng tương đối dễ dàng, đặc biệt khi chọn chế độ hoạt động là không đồng bộ và tốc độ truyền dữ liệu thấp

Ưu điểm của giao diện nối tiếp Rs232

 Khả năng chống nhiễu của các cổng nối tiếp cao

 Thiết bị ngoại vi có thể tháo lắp ngay cả khi máy tính đang được cấp điện

 Các mạch điện đơn giản có thể nhận được điện áp nguồn nuôi qua công nối tiếp

Trang 40

40

Những đặc điểm cần lưu ý trong chuẩn Rs232

Trong chuẩn RS232 có mức giới hạn trên và dưới( logic 0 và 1) là +-12V Hiện nay đang được cố định trở kháng tải trong phạm vi từ 3000 ôm - 7000 ôm Mức logic 1 có điện áp nằm trong khoảng -3V đến -12V, mức logic 0 từ +-3V đến 12V

Tốc độ truyền nhận dữ liệu cực đại là 100kbps( ngày nay có thể lớn hơn) Các lối vào phải có điện dung nhỏ hơn 2500pF

Trở kháng tải phải lớn hơn 3000 ôm nhưng phải nhỏ hơn 7000 ôm

Độ dài của cáp nối giữa máy tính và thiết bị ngoại vi ghép nối qua cổng nối tiếp RS232 không vượt qua 15m nếu chúng ta không sử model

Các giá trị tốc độ truyền dữ liệu chuẩn : 50, 75, 110, 750, 300, 600, 1200,

2400, 4800, 9600, 19200, 28800, 38400 56600, 115200 bps

Các mức điện áp đường truyền

RS 232 sử dụng phương thức truyền thông không đối xứng, tức là sử dụng tín hiệu điện áp chênh lệch giữa một dây dẫn và đất Do đó ngay từ đầu tiên ra đời nó

đã mang vẻ lỗi thời của chuẩn TTL, nó vấn sử dụng các mức điện áp tương thích TTL để mô tả các mức logic 0 và 1 Ngoài mức điện áp tiêu chuẩn cũng cố định các giá trị trở kháng tải được đấu vào bus của bộ phận và các trở kháng ra của bộ phát Mức điện áp của tiêu chuẩn RS232C( chuẩn thường dùng bây giờ) được mô tả như sau:

 Mức logic 0 : +3V , +12V

 Mức logic 1 : -12V, -3V

Các mức điện áp trong phạm vi từ -3V đến 3V là trạng thái chuyển tuyến Chính vì từ - 3V tới 3V là phạm vi không được định nghĩa, trong trường hợp thay đổi giá trị logic từ thấp lên cao hoặc từ cao xuống thấp, một tín hiệu phải vượt qua quãng quá độ trong một thơì gian ngắn hợp lý Điều này dẫn đến việc phải hạn chế

về điện dung của các thiết bị tham gia và của cả đường truyền Tốc độ truyền dẫn

Ngày đăng: 03/11/2014, 18:11

HÌNH ẢNH LIÊN QUAN

Hình  2-2: Khối logic FPGA - Triển khai hệ thống nhúng trên NIOS và ứng dụng điều khiển thiết bị qua máy tính
nh 2-2: Khối logic FPGA (Trang 17)
Hình  2-3: KIT Altera DE2 - Triển khai hệ thống nhúng trên NIOS và ứng dụng điều khiển thiết bị qua máy tính
nh 2-3: KIT Altera DE2 (Trang 19)
Hình  2-6: Design Flow - Triển khai hệ thống nhúng trên NIOS và ứng dụng điều khiển thiết bị qua máy tính
nh 2-6: Design Flow (Trang 22)
Hình  2-7: Khởi tạo dự án - Triển khai hệ thống nhúng trên NIOS và ứng dụng điều khiển thiết bị qua máy tính
nh 2-7: Khởi tạo dự án (Trang 23)
Hình  2-10: Chọn Device - Triển khai hệ thống nhúng trên NIOS và ứng dụng điều khiển thiết bị qua máy tính
nh 2-10: Chọn Device (Trang 25)
Hình  2-11: Công cụ thiết kế, mô phỏng. - Triển khai hệ thống nhúng trên NIOS và ứng dụng điều khiển thiết bị qua máy tính
nh 2-11: Công cụ thiết kế, mô phỏng (Trang 26)
Hình  2-17: Đường dẫn đến thư mục Usb-Blaster Driver. - Triển khai hệ thống nhúng trên NIOS và ứng dụng điều khiển thiết bị qua máy tính
nh 2-17: Đường dẫn đến thư mục Usb-Blaster Driver (Trang 30)
Hình  2-18: Chọn  hệ thống SoPC dựa trên ngôn ngữ Verilog hoặc VHDL - Triển khai hệ thống nhúng trên NIOS và ứng dụng điều khiển thiết bị qua máy tính
nh 2-18: Chọn hệ thống SoPC dựa trên ngôn ngữ Verilog hoặc VHDL (Trang 31)
Hình  2-19: Chọn  NIOS II processor - Triển khai hệ thống nhúng trên NIOS và ứng dụng điều khiển thiết bị qua máy tính
nh 2-19: Chọn NIOS II processor (Trang 32)
Hình  2-20: Chọn Debug level - Triển khai hệ thống nhúng trên NIOS và ứng dụng điều khiển thiết bị qua máy tính
nh 2-20: Chọn Debug level (Trang 32)
Hình  2-24: Tạo thêm I/O cần thiết cho hệ thống NIOS II - Triển khai hệ thống nhúng trên NIOS và ứng dụng điều khiển thiết bị qua máy tính
nh 2-24: Tạo thêm I/O cần thiết cho hệ thống NIOS II (Trang 35)
Hình  2-26: Giao diện chương trình phần mềm NIOS II - Triển khai hệ thống nhúng trên NIOS và ứng dụng điều khiển thiết bị qua máy tính
nh 2-26: Giao diện chương trình phần mềm NIOS II (Trang 36)
Hình  2-27: Tạo dự án mới với NIOS II - Triển khai hệ thống nhúng trên NIOS và ứng dụng điều khiển thiết bị qua máy tính
nh 2-27: Tạo dự án mới với NIOS II (Trang 37)
Hình  2-28: Trình soạn thảo - Triển khai hệ thống nhúng trên NIOS và ứng dụng điều khiển thiết bị qua máy tính
nh 2-28: Trình soạn thảo (Trang 38)
Hình  2-31: Sơ đồ khối một Avalon bus module trong thiết kế - Triển khai hệ thống nhúng trên NIOS và ứng dụng điều khiển thiết bị qua máy tính
nh 2-31: Sơ đồ khối một Avalon bus module trong thiết kế (Trang 46)
Sơ đồ tổng quát hệ thống 3.1 - Triển khai hệ thống nhúng trên NIOS và ứng dụng điều khiển thiết bị qua máy tính
Sơ đồ t ổng quát hệ thống 3.1 (Trang 48)
Hình  3-2: Chọn phiên bản NIOS II/e - Triển khai hệ thống nhúng trên NIOS và ứng dụng điều khiển thiết bị qua máy tính
nh 3-2: Chọn phiên bản NIOS II/e (Trang 50)
Hình  3-3: Component Jtag_uart - Triển khai hệ thống nhúng trên NIOS và ứng dụng điều khiển thiết bị qua máy tính
nh 3-3: Component Jtag_uart (Trang 51)
Hình  3-6: EFAN - Triển khai hệ thống nhúng trên NIOS và ứng dụng điều khiển thiết bị qua máy tính
nh 3-6: EFAN (Trang 52)
Hình  3-9: Lcd_rs - Triển khai hệ thống nhúng trên NIOS và ứng dụng điều khiển thiết bị qua máy tính
nh 3-9: Lcd_rs (Trang 54)
Hình  3-12: Giao tiếp giữa cổng Slave và Avalon Bus Module trong quá - Triển khai hệ thống nhúng trên NIOS và ứng dụng điều khiển thiết bị qua máy tính
nh 3-12: Giao tiếp giữa cổng Slave và Avalon Bus Module trong quá (Trang 57)
Hình  3-14: Các tín hiệu giao tiếp và thời gian trong khi ghi dữ liệu ra cổng - Triển khai hệ thống nhúng trên NIOS và ứng dụng điều khiển thiết bị qua máy tính
nh 3-14: Các tín hiệu giao tiếp và thời gian trong khi ghi dữ liệu ra cổng (Trang 58)
Hình  3-16: Giao diện chương trình điều khiển - Triển khai hệ thống nhúng trên NIOS và ứng dụng điều khiển thiết bị qua máy tính
nh 3-16: Giao diện chương trình điều khiển (Trang 60)
Hình  3-17: Lưu đồ thuật toán quá trình gửi dữ liệu - Triển khai hệ thống nhúng trên NIOS và ứng dụng điều khiển thiết bị qua máy tính
nh 3-17: Lưu đồ thuật toán quá trình gửi dữ liệu (Trang 61)
Hình  3-18: Lưu đồ thuật toán quá trình nhận dữ liệu - Triển khai hệ thống nhúng trên NIOS và ứng dụng điều khiển thiết bị qua máy tính
nh 3-18: Lưu đồ thuật toán quá trình nhận dữ liệu (Trang 63)
Sơ đồ nguyên lý. - Triển khai hệ thống nhúng trên NIOS và ứng dụng điều khiển thiết bị qua máy tính
Sơ đồ nguy ên lý (Trang 64)
Hình  3-21: Sơ đồ module màn hình LCD - Triển khai hệ thống nhúng trên NIOS và ứng dụng điều khiển thiết bị qua máy tính
nh 3-21: Sơ đồ module màn hình LCD (Trang 66)
Hình  3-22: Sơ đồ nguyên lý Module Relay 4 kênh - Triển khai hệ thống nhúng trên NIOS và ứng dụng điều khiển thiết bị qua máy tính
nh 3-22: Sơ đồ nguyên lý Module Relay 4 kênh (Trang 68)
Hình ảnh module thực tế 3.6 - Triển khai hệ thống nhúng trên NIOS và ứng dụng điều khiển thiết bị qua máy tính
nh ảnh module thực tế 3.6 (Trang 69)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w