1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Giáo trình Vi mạch số lập trình (Nghề Điện tử công nghiệp Trình độ Cao đẳng)

99 8 0

Đ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

Tiêu đề Giáo trình Vi mạch số lập trình
Tác giả Hồ Tấn Đạt
Trường học Cao đẳng nghề Cần Thơ
Chuyên ngành Điện tử công nghiệp
Thể loại giáo trình
Năm xuất bản 2021
Thành phố Cần Thơ
Định dạng
Số trang 99
Dung lượng 2,2 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Khởi động phần mềm ISE WEB PACK Nhấp đúp vào biểu tượng của chương trình ISE webpack trên màn hìnhwindows thì chương trình sẽ khởi động Hình 1.1: Biểu tượn shortcut phần mềm Sau khi kh

Trang 2

LỜI GIỚI THIỆU

VI MẠCH SỐ LẬP TRÌNH là một trong những mô đun bắt buộc của nghềĐiện tử công nghiệp được biên soạn dựa theo chương trình khung đã xây dựng và banhành năm 2021 của trường Cao đẳng nghề Cần Thơ dành cho nghề Điện tử côngnghiệp trình độ Cao đẳng

Giáo trình được biên soạn làm tài liệu học tập, giảng dạy nên giáo trình đã đượcxây dựng ở mức độ đơn giản và dễ hiểu, trong mỗi chương học đều có thí dụ vàChương tập tương ứng để áp dụng và làm sáng tỏ phần lý thuyết

Khi biên soạn, nhóm biên soạn đã dựa trên kinh nghiệm thực tế giảng dạy, thamkhảo đồng nghiệp, tham khảo các giáo trình hiện có và cập nhật những kiến thức mới

có liên quan để phù hợp với nội dùng chương trình đào tạo và phù hợp với mục tiêuđào tạo, nội dùng được biên soạn gắn với nhu cầu thực tế

Nội dùng giáo trình được biên soạn với lượng thời gian đào tạo 45 giờ gồm có:Bài 01 MĐ15-01: Giao tiếp led đơn

Bài 03 MĐ15-02: Giao tiếp led 7 đoạn

Bài 03 MĐ15-03: Giao tiếp phím nhấn

Trong quá trình sử dụng giáo trình, tuỳ theo yêu cầu cũng như khoa học và côngnghệ phát triển có thể điều chỉnh thời gian và bổ sung những kiên thức mới cho phùhợp Trong giáo trình, chúng tôi có đề ra nội dùng thực tập của từng Chương để ngườihọc cũng cố và áp dụng kiến thức phù hợp với kỹ năng

Tuy nhiên, tùy theo điều kiện cơ sở vật chất và trang thiết bị, các trường có thề

sử dụng cho phù hợp Mặc dù đã cố gắng tổ chức biên soạn để đáp ứng được mục tiêuđào tạo nhưng không tránh được những khiếm khuyết Rất mong nhận được đóng góp

ý kiến của các thầy, cô giáo, bạn đọc để nhóm biên soạn sẽ hiệu chỉnh hoàn thiện hơn

Cần Thơ, ngày tháng 09 năm 2021

Tham gia biên soạn

Chủ biên: Hồ Tấn Đạt

Trang 3

MỤC LỤC

Trang

TUYÊN BỐ BẢN QUYỀN 1

LỜI GIỚI THIỆU 2

MỤC LỤC 3

GIÁO TRÌNH MÔN HỌC 5

BÀI 1: GIAO TIẾP LED ĐƠN 8

1 Cổng logic 8

1.1 Các hàm sử dụng 8

1.2 Thực hành trên phần mềm điều khiển 8

1.3 Nạp chương trình vào bộ KIT thực hành 20

2 Mạch tổ hợp 25

2.1 Mạch mã hóa 25

2.1.1 Chương trình 25

2.1.2 Thực hành trên phần mềm điều khiển 25

2.1.3 Nạp chương trình vào bộ KIT thực hành 28

2.2 Mạch giải mã 31

2.2.1 Chương trình 31

2.2.2 Thực hành trên phần mềm điều khiển 32

2.2.3 Nạp chương trình vào bộ KIT thực hành 35

2.3 Mạch ghép kênh 38

2.3.1 Chương trình 38

2.3.2 Thực hành trên phần mềm điều khiển 38

2.3.3 Nạp chương trình vào bộ KIT thực hành 41

2.4 Mạch phân kênh 44

2.4.1 Chương trình 44

2.4.2 Thực hành trên phần mềm điều khiển 44

2.4.3 Nạp chương trình vào bộ KIT thực hành 47

3 Mạch đếm 51

3.1 Flip Flop 51

3.1.1 Chương trình 51

3.1.2 Thực hành trên phần mềm điều khiển 51

3.1.3 Nạp chương trình vào bộ KIT thực hành 54

3.2 Đếm nhị phân 57

3.2.1 Chương trình 57

3.2.2 Thực hành trên phần mềm điều khiển 57

3.2.3 Nạp chương trình vào bộ KIT thực hành 60

3.3 Thanh ghi dịch 63

3.3.1 Chương trình 63

3.3.2 Thực hành trên phần mềm điều khiển 63

3.3.3 Nạp chương trình vào bộ KIT thực hành 66

3.4 Đếm Jonhshon 69

3.4.1 Chương trình 69

3.4.2 Thực hành trên phần mềm điều khiển 69

3.4.3 Nạp chương trình vào bộ KIT thực hành 72

3.5 Đếm vòng 75

3.5.1 Chương trình 75

Trang 4

3.5.2 Thực hành trên phần mềm điều khiển 75

3.5.3 Nạp chương trình vào bộ KIT thực hành 77

BÀI 2: GIAO TIẾP LED 7 ĐOẠN 82

1 Chương trình 82

2 Thực hành trên phần mềm điều khiển 82

3 Kết nối bộ KIT thực hành 85

BÀI 3: GIAO TIẾP PHÍM NHẤN 90

1 Chương trình 90

2 Thực hành trên phần mềm điều khiển 91

3 Nạp chương trình vào bộ KIT thực hành 93

TÀI LIỆU THAM KHẢO 99

Trang 5

GIÁO TRÌNH MÔN HỌC

Tên môn học: VI MẠCH SỐ LẬP TRÌNH

Mã môn học: MĐ 15

Vị trí, tính chất, ý nghĩa và vai trò của mô đun

- Vị trí: Mô đun được bố trí dạy sau khi học xong các mô đun, môn học như: Kỹthuật số, linh kiện điện tử….và học trước các mô đun, môn học như: Vi điều khiển cơbản, PLC cơ bản, SCADA, Robot công nghiệp, Thực hành PLC

- Tính chất: Là mô đun chuyên môn nghề bắt buộc của chương trình đào tạo caođẳng Điện tử công nghiệp

- Ý nghĩa và vai trò của mô đun: Vi mạch số chức năng từ lâu đã có vai trò rấtquan trọng trong các hệ điều khiển số Nhưng vấn đề thường gặp trong thiết kế các hệphức tạp là số lượng cổng quá nhiều và quá trình thiết kế cũng rất khó khăn kèm theo

độ linh hoạt cũng kém Một biện pháp khắc phục là phải tìm ra một linh kiện số đanăng có thể đáp ứng được các yêu cầu trên Đó là các hệ vi mạch số lập trình từ nhữngthiết bị quy mô nhỏ như PAL, GAL cho đến các chủng loại có mật độ tích hợp lên đếnhàng ngàn cổng logic, vài chục thanh ghi, hàng trăm chân I/O Ưu điểm của chúng làgiãm kích thước, công suất tiêu thụ, tăng độ tin cậy, tính linh hoạt và đặc biệt với sựtrợ giúp của các công cụ hổ trợ phần mềm nhờ đó quá trình thiết kế trở nên đơn giảnrất nhiều Do đó hiện nay chúng được áp dụng rất phổ biến trong lỉnh vực máy tínhcũng như điều khiển tự đông trong công nghiệp Chính vì thế kiến thức về họ thiết bịnày không thể thiếu đối với công nhân sửa chữa điện tử công nghiệp

+ Viết được các chương trình điều khiển theo yêu cầu

+ Sử dụng được phần mềm dùng trong môn học

+ Kết nối và điều khiển được KIT thực hành

- Năng lực tự chủ và trách nhiệm:

+ Có sáng kiến, tìm tòi, khám phá trong quá trình học tập và công việc

+ Có khả năng tự định hướng, chọn lựa phương pháp tiếp cận thích nghi với cácbài học

+ Có năng lực đánh giá kết quả học tập và nghiên cứu của mình

+ Tự học tập, tích lũy kiến thức, kinh nghiệm để nâng cao trình độ chuyên môn

III Nội dùng mô đun:

1 Nội dùng tổng quát và phân bổ thời gian:

Số

TT Tên các Chương trong mô đun

Thời gian (giờ)

Tổng

số thuyết Lý

Thực hành, thí nghiệm, thảo luận, Chương tập

Kiểm tra

Trang 6

1.1 Các hàm sử dụng

1.2 Thực hành trên phần mềm điều khiển

1.3 Nạp chương trình vào bộ KIT thực

Trang 7

3 Nạp chương trình vào bộ KIT thực hành 4.5 0.5 4

Trang 8

BÀI 1: GIAO TIẾP LED ĐƠN

+ Viết được các chương trình điều khiển theo yêu cầu điều khiển led đơn

+ Sử dụng được phần mềm dùng trong môn học

+ Kết nối và điều khiển được KIT thực hành

- Năng lực tự chủ và trách nhiệm:

+ Có sáng kiến, tìm tòi, khám phá trong quá trình học tập và công việc

+ Có khả năng tự định hướng, chọn lựa phương pháp tiếp cận thích nghi với cácbài học

+ Có năng lực đánh giá kết quả học tập và nghiên cứu của mình

+Tự học tập, tích lũy kiến thức, kinh nghiệm để nâng cao trình độ chuyên môn

Nội dùng chính:

1. Cổng logic

1.1 Các hàm sử dụng

Các hàm logic cơ bản: NOT - AND – OR Các hàm có ý nghĩa như sau:

- “NOT” có chức năng làm cho tí hiệu ngõ ra đảo ngược trạng thái tín hiệu ngõvào

- “AND” có chức năng đảm bảo khi điều kiện các ngõ vào được chấp nhận thìtín hiệu ngõ ra được chấp nhận

- “OR” có chức năng cho phép chỉ cần 1 trong các điều kiện các ngõ vào đượcchấp nhận thì tín hiệu ngõ ra được chấp nhận

Chương trình điều khiển

X <= not B ; cổng logic not có 1 ngõ vào 1 ngõ ra

Y <= C and D ; cổng logic and có 2 ngõ vào 1 ngõ ra

Z <= E or F; cổng logic and có 2 ngõ vào 1 ngõ ra

Dấu “<=” là phép gán dùng gán các giá trị từ bên phải qua bên trái

Các phần chữ có màu xanh: not, and, or là các hàm logic Khi viết các hàm này

ta không cần phân biệt chữ hoa hay thường

Dấu “;” dùng kết thúc mỗi phép toán Sau dấu “;” ta có thể thiếp tục viết tiếpphép toán khác

Dấu “- - “ có màu xanh lợt: từ sau dấu 2 ghạch liên tục này ta có thể dùng text

để giải thích ghi chú cho phép toán của mình

1.2 Thực hành trên phần mềm điều khiển

Trang 9

Khởi động phần mềm ISE WEB PACK

Nhấp đúp vào biểu tượng của chương trình ISE webpack trên màn hìnhwindows thì chương trình sẽ khởi động

Hình 1.1: Biểu tượn shortcut phần mềm

Sau khi khởi động phần mềm ta có giao diện như hình 1.2 sau

Hình 1.2: Giao diện phần mềm sau khi khởi động

Nếu là lần đầu tiên khởi động phần mềm, hãy bấm vào mục: “Show Tips atStarup” (vị trí số 1) để cửa số sổ này không xuất hiện ở nhưng lần khởi động tiếp theo.Sau đó bấm “OK” (vị trí số 2)để đóng cửa sổ này

Hãy mở menu “File” và chọn mục “Close Project” để đóng lại chương trìnhhiện hành nếu có (vị trí số 3) của hình 1.2 và chọn theo trình tự như hình 1.3

Hình 1.3: Thao tác đóng các chương trình hiện hành

Ta có giao diện mới như hình 1.4

Trang 10

Hình 1.4: Giao diện phần mềm sau khi đóng các chương trình

Soạn thảo chương trình: ta thực hiện các bước sau

Tạo dự án mới: hãy vào menu lệnh “File” và chọn “New Project” như hình 1.5

Hình 1.5: Tạo một dự án mới

Cửa sổ mới xuất, vì mỗi một Project thì có rất nhiều file do chương trình tạo ra

nên để dễ quản lý thì ISE yêu cầu người lập trình phải nhập tên thư mục cho Project.

Trang 11

Hãy bấm chọn chọn như hình 1.6 để chỉ đườn dẫn đến nơi muốn lưu trữ dự án mới.

Hình 1.6: Chọn đườn dẫn lưu trữ dự án

Tiếp tục chọn nơi cần lưu trữ, sau đó bấm “OK” như hình 1.7

Hình 1.7: Chọn nơi lưu trữ

Trang 12

Ở mục “Name”, hãy nhập tên cho dự án Khi đặt tên cho project thì nên đặt têngần với yêu cầu của bài lập trình: Ví dụ ta lập trình bài logic cơ thì ta đặt tên như sau

đó bấm “Next” như hình 1.8

Hình 1.8: Đặt tên cho dự án

Thiết lập thông số

Cửa sổ mới xuát hiện, ta thực hiện chọn các thông số

Hình 1.9: Menu lựa chọn thông số cho project

Trang 13

Bước 1: Chọn mục “Product Category”: dùng để chọn lĩnh vực ứng dụng Bạn hãy chọn mục như trong menu “General Purpose”.

Hình 1.10: Chọn product category cho dự án

Bước 2: Chọn mục “Family” dùng để chọn các họ chip gồm các họ sau:

Hình 1.11: Chọn chip tương ứng bộ KIT

Trong mục chọn này có rất nhiều họ IC khác nhau về cấu trúc do hãng Xilinxsản xuất và phần mềm này cho phép lập trình các họ IC được liệt kê Đối với mục nàythì ta chọn chip ví dụ như sau:

Chip “XC6SLX16” thuộc họ “SPARTAN6”

Họ “SPARTAN6” là họ sử dụng nguồn cung cấp Vcc = 3.3V

Bước 3: Sau khi chọn mục “XC6SLX16” tương thích với họ IC đang thực hành

thì bạn hãy chọn loại IC trong mục “Device” như sau:

Hình 1.12: Mục Device chip tương ứng trên bộ KIT

Do sử dụng IC XC6SLX16 nên bạn phải chọn IC có trong danh sách liệt kênhư trong hình

Chú ý: nếu bạn chọn sai linh kiện thì bạn không thể thực hiện việc gán chânlinh kiện được và project của bạn sẽ không thể thực thi

Bước 4: Sau khi chọn loại IC xong thì trong mục “Package” sẽ liệt kê các dạng

vỏ mà IC này có được do nhà chế tạo cung cấp, bạn phải chọn loại vỏ cho chip tương

Trang 14

ứng trong mục “Package” tương thích với loại vỏ của IC mà bạn đang thực hành.Trong bộ thí nghiệm thực hành FPGA Spartan6 sử dụng loại chíp có vỏ mã là

“CSG324” nên chọn như hình

Hình 1.13: Chọn loại Package cho IC

Bước 4: Chọn tốc độ cho mạch: cũng trên thân IC nhà chế tạo có ghi tốc độ làmviệc của IC và bạn chọn cho đúng tốc độ như hình 1.14

Hình 1.14: Mục “Speed” dùng để chọn tốc độ làm việc

Trong mục “Speed” có 3 thông số tương ứng với 3 cấp tốc độ khác nhau, thông

số này chính là thời gian trể của tín hiệu được tính từ khi chip nhận 1 tín hiệu ở ngõvào cho đến khi xuất hiện tín hiệu ở ngõ ra Thông số này càng nhỏ càng tốt và giáthành của IC cũng tăng theo Các mục còn lại chưa cần quan tâm đến và kết quả saukhi chọn như hình 1.15

Hình 1.15: Kết quả sau khi đã lựu chọn thông tin theo bộ KIT thực hành

Bấm chọn next để hoàn thành quá trình thiết lập Trên cửa sổ hình 1.16 hãy bấm

“Finish” để kết thúc quá trình thiết lập

Trang 15

Hình 1.16: Giao diện trước kết thúc quá tringh thiết lập thông số

Tạo module viết chương trình

Để chuyển sang cửa sổ lập trình, Trong Tab “Project” giao diện chương trìnhchính chọn “New Source…” như hình 1.17

Hình 1.17: Chọn tạo mới cửa sổ viết chương trình

Có nhiều ngôn ngữ lập trình nhưng chúng ta thực tập với ngôn ngữ lập trìnhVHDL nên bạn hãy chọn mục “VHDL Module” như hình 1.18

Hình 1.18: Chọn kiểu lập trình cho Project là “VHDL Module”

Sau đó đặt chuột vào mục “File Name” và nhập tên cho chương trình nguồn tuỳ

ý ví dụ như “mach_conglogic” Lưu ý: Nên đặt tên file theo chức năng của bài cần lập

Trang 16

trình và sau mỗi tên nên có tên đuôi để phân biệt file lập trình và file mô phỏng Cuốicùng bấm “Next”.

Khai báo các chân tín hiệu vào, ra:

Ta thực hiện nhập tên các ngõ vào ra ở cộ “Port name” và chọn loại địa chỉ vào

“in” hay ra “out” tại cột “Direction” như hình

Hình 1.19: Khai báo các ngõ vào ra

Tiếp tục bấm “Finish” ở hình 1.20

Hình 1.20: Bảng tóm tắt project

Nhập đoạn chương trình điều khiển

Cửa sổ soạn thảo chương trình như hình 1.21

Trang 17

Hình 1.21: Tổ chức của chương trình khi chưa có lệnh xử lý

Hãy quan sát thân chương trình

Vị trí số 1: hàng “use IEEE.STD_LOGIC_1164.ALL;” Các thành phần thư việnthì phần mềm tự khai báo sẵn

Vị trí số 2: Các địa chỉ vào ra đúng như ta đã khai báo

Vị trí số 3: Đoạn chương trình được soạn thảo từ sau từ khóa “Begin” và dừnglại trước từ khóa “end Behavioral”

Tại vị trí 1: là tên của cửa sổ

Tại vị trí 2: bấm vào dấu “+” nếu chưa thấy “Check Syntax”

Tại vị chí 3: bấm chuột phải vào “Check Syntax” và chọn “Run” như vị trí số 4Sau khi biên dịch hoàn thành, xuất hiện thông báo như hình 1.24

Trang 18

Hình 1.24: Hiển thị dấu chek xanh cho thấy chương trình đúng cú pháp

Ở hình 1.25 tTrong trường hợp có lỗi thì ISE thông báo cho bạn biết thông tincủa lệnh bị sai cú pháp là lệnh ở gần dòng thứ 42 và có gợi ý cho bạn cách hiệu chỉnh

cú pháp cho đúng

Hình 1.25: Bthông báo lỗi cú pháp

Sau khi hiệu chỉnh cú pháp, hãy save lại và tiến hành kiểm tra lỗi Nếu khôngxuất hiện lỗi thì cú pháp đã đúng

Gán các chân của dự án cho cho các chân của thiết bị lập trình

Thực hiện việc gán chân các ngõ vào ra trong ứng dụng của bạn cho chipXC6SLX16 bằng cách trong mục “User Constraints”, chọn mục “I/O Pin Planning(PlanAhead)” và mở lệnh chuột phải, một menu hiện và hãy chọn RUN

Hình 1.26: Khởi động chương trình gán chân

Một thông báo yêu cầu lưu trữ file xuất hiện như hình 1.27 Hãy chọn “Yes”

Hình 1.27: Thông báo yêu cầu lưu trữ file

Trang 19

Tiếp tục bấm Close cho hình 1.28

Hình 1.28: Cửa sổ gán chân kèm bảng hướng dẫn sử dụng

Sau khi đóng bảng hướng dẫn sử dụng, ta có giao diện cho phép gán chân nhưhình 1.29

Hình 1.29: Cửa sổ giao diện gán chân

Trên cửa sổ giao diện này:

Vị trí số 1: I/O ports là các chân vào ra đã được khái báo trong chương trình

Vị trí số 2: danh sách các chân Bấm vào dấu “+” để liệt kê danh sách các chânnhư hình

Vị trí số 3: tại cột “Site” là nơi chọn chân gán cho các chân của IC

Vị tí số 4: bấm vào vị trí chân B, 1 lít các chân được trình bày, kéo thanh trượt

để tìm chân cho B Hãy chọn P18

Lưu ý: Các chân gán là do người thiết kế bộ thí nghiệm qui định thống nhất chotất cả các ứng dụng để tiến trình thí nghiệm, kiểm tra, chỉnh sửa được thực hiện dễ

dàng và các bạn thực hành nên theo đúng các trình tự đã đề ra

Tiếp tục cho đến khi gán chân hoàn tất như hình 1.30

Hình 1.30: Bảng gán chân hoàn tất

Sau khi gán xong thì tiến hành lưu file và nhấn “Save” rồi thoát khỏi chương

trình gán, trở về lại chương trình ISE để thực hiện các biên dịch còn lại.

Trang 20

1.3 Nạp chương trình vào bộ KIT thực hành

Kết nối dây cáp vào máy tính

Cách thức nạp chương trình

Tại của sổ “Design” (số 1), bấm chọn như vị trí số (2) Tiếp theo bấm đúp vàomục “Configure Target Device)”, sau đó nhấp chuột file vào “Generate TargetPROM/ACE File” rồi chọn RUN

Hình 1.31: Chọn chương trình nạp dữ liệu lên KIT

Sau khi hoàn tất khởi động nạp như hình 1.32

Hình 1.32: Khởi động chương trình nạp

Cửa sổ nạp chương trình

Hình 1.33: Giao diện nạp chương trình

Trang 21

Nhấp đôi chuột trái vào “Boundary Scan” để vào giao diện thực hiện nạpchương trình theo chuẩn JTAG.

Hình 1.34: Mở giao diện thực hiện nạp chương trình

Để chương trình có thể dò được thấy chip thì ta nhấn chuột phải ở vùng chính(số 1) Một tab thông báo hiện ra, chọn “Initialize Chain” hoặc nhấn “Ctrl+I”

Trang 22

Ở hình 1.37, kết nối thành công thì một giao diện mới xuất hiện yêu cầu mở filecần nạp Hãy tiến hành chọn file cần nạp và bấm Yes File cần nạp sẽ có đuôi mở rộng

“*.bit” Hãy chỉ đường dẫn đến vị trí lưu file đã biên dịch và chọn như hình 1.38

Hình 1.38: chọn file cần nạp cho IC

Sau khi tải xong file đã chọn thì một giao diện mới xuất hiện như hình 1.39.Một bảng thông báo hiện ra có nội dùng hỏi bạn có muốn nạp chương trình trên Flashkhông Chọn “No” cho phương thức nạp trực tiếp lên FPGA

Hình 1.39: chọn phương thức nạp trực tiếp

Bảng thông báo mới hiện lên ta chọn “OK” như hình 1.40

Hình 1.40: bấm chọn để nạp chương trình

Trang 23

Tiếp tục nạp cho chip, bấm chọn như hình 1.50

Trang 24

- Quan sát kết quả

Hình 1.44: Sơ đồ bố trí trên KIT

Quá trình nạp chương trình hoàn tất Đến đây ta tác động điều khiển các SWThực hiện gạt các SW (vị trí số 1) đồng thời quan sát Led hiển thị xem có hoạtđộng đúng chương trình điều khiển

Hình 1.45: Led cần qua sát

Quy đinh:

Trên hình 1.44 là 8 SW có thứ tự từ 1 đến 8 tăng dần từ tái qua phải Quy định,

ở trạng tháy chưa gạt lên SW=0, khi đã gặt lên SW=1

Ở hình 1.45 có 4 led đơn thứ từ 1 đến 4 tăng dần từ trái qua phải

Quan sát:

Cổng NOT: Khi SW1=1 thì LED1 tắt, khi SW=0 LED1 sáng

Cổng AND: Khi SW2=SW3=1 thì LED2 sáng, LED2 luôn tắt ở các trường hợpcòn lại cảu SW2 và SW3

Cổng OR: Khi SW2=SW3=0 thì LED3 tắt, LED3 luôn sáng ở các trường hợpcòn lại cảu SW2 và SW3

Trang 25

2. Mạch tổ hợp

2.1 Mạch mã hóa

2.1.1 Chương trình

CASE (“tên ngõ vào”) IS: bảng mô tả hoạt ộng khi ngõ vào thay đổi

WHEN “dữ liệu vào dạng bit” => (Ngõ ra) <= “dữ liệu dạng bit” có nghĩa làứng với trường hợp dữ liệu ngõ vào thực hiện phép toán gán dữ liệu cho ngõ ra theomong muốn

Chương trình điều khiển

PROCESS (I): là quá trình hoạt động của ngõ vào I Sau từ khóa PROCESS là

“BEGIN” tức bắt đầu chương trình và nó kết thúc quá trình ở từ khóa “ENDPROCESS”

CASE I IS là bảng mô tả hoạt động của ngõ vào I bảng mô tả này kết thúc khigặp từ khóa “END CASE”

When “0001” nghĩa là khi ngõ và I lần lượt tồn tại 4 bit “0001” thì thực hiệnphép gán cho ngõ vào O 2 bit tồn tại “00” Các bước tiếp theo ý nghã hoàn toàn tươngtự

WHEN OTHERS => NULL hàm nghĩa là những trường hợp khác khác thìkhông thực hiện gì

2.1.2 Thực hành trên phần mềm điều khiển

Khởi động phần mềm ISE WEB PACK

Hình 1.46: Khởi động phần mềm

Soạn thảo chương trình

Tạo dự án mới:

Vào menu lệnh “File” và chọn “New Project”

Mục Location bấm chọn đường dẫn lưu dự án

Mục name tiến hành đặt tên cho dự án

Thiết lập thông số: thực hiện chọn các thông số cho dự án như hình sau

Trang 26

Hình 1.47: Chọn thông số cho Project theo đúng KIT

Tạo module viết chương trình

Trong Tab “Project” chọn “New Source…”

Thực hiện chọn VHDL Module

Mục file name đặt tên cho file chương trình rồi chọn next

Khai báo các chân tín hiệu vào, ra

Hình sau cho phép khai báo các địa chỉ vàovà ra

Hình 1.48: Địa chỉ vào ra

Lần lượt chọn như hình, trong đó tại cột Bus (số 3) đánh dấu check vì ngõ vào

và ngõ ra có hơn 1 chân Cột MSB (số 4) nhập số chân tối đa của mỗi ngõ vào ra.Thực hiện tiếp tục cho đến khi kết thúc khai báo địa chỉ

Nhập đoạn chương trình điều khiển

Ở giao diện viết chương trình, thực hiện nhập đoạn chương trình vào khu vựccho phép như hình sau

Trang 27

Hình 1.49: Nhập đoạn chương trình vào cửa sổ

Trang 28

Thực hiện việc gán chân các ngõ vào ra trong ứng dụng của bạn cho chipXC6SLX16 bằng cách trong mục “User Constraints”, chọn mục “I/O Pin Planning(PlanAhead)” và mở lệnh chuột phải, một menu hiện và hãy chọn RUN

Hình 1.52: Khởi động chương trình gán chân

Một thông báo yêu cầu lưu trữ file xuất hiện, hãy bấm yes rồi tiếp tục bấmClose, ta có giao diện cho phép gán chân như hình sau

Hình 1.53: Bảng gán chân hoàn tất

Sau khi gán xong thì tiến hành lưu file và nhấn “Save” rồi thoát khỏi chươngtrình gán, trở về lại chương trình ISE để thực hiện các biên dịch còn lại

2.1.3 Nạp chương trình vào bộ KIT thực hành

Kết nối dây cáp vào máy tính

Cách thức nạp chương trình

Tại của sổ “Design” (số 1), bấm chọn như vị trí số (2) Tiếp theo bấm đúp vàomục “Configure Target Device)”, sau đó nhấp chuột file vào “Generate TargetPROM/ACE File” rồi chọn RUN

Hình 1.54: Chọn chương trình nạp dữ liệu lên KIT

Ở cửa sổ nạp chương trình nhấp đôi chuột trái vào “Boundary Scan” để vàogiao diện thực hiện nạp chương trình theo chuẩn JTAG

Trang 29

Hình 1.55: Mở giao diện thực hiện nạp chương trình

Trên vùng chính của chương trình, bấm mở chuột phải và chọn “InitializeChain” hoặc nhấn “Ctrl+I” Sau khi kết nối thành công, hãy mở chuột phải trên chiprồi chỉ đường dẫn đến file đã lưu cần nap cần nạp sẽ có đuôi mở rộng “*.bit”

Hình 1.56: Chọn file cần nạp cho IC

Sau khi tải xong file đã chọn thì một giao diện mới xuất hiện như hình sau Mộtbảng thông báo hiện ra có nội dùng hỏi bạn có muốn nạp chương trình trên Flashkhông Chọn “No” cho phương thức nạp trực tiếp lên FPGA

Hình 1.57: Chọn phương thức nạp trực tiếp

Khi bảng thông báo mới xuát hiện, hãy bấm OK Tiếp tục nạp cho chip, bấmchọn như hình sau

Trang 31

Quan sát kết quả

Hình 1.61: Sơ đồ bố trí trên KIT

Quá trình nạp chương trình hoàn tất Đến đây ta tác động điều khiển các SWThực hiện gạt các SW (vị trí số 1) đồng thời quan sát Led hiển thị xem có hoạtđộng đúng chương trình điều khiển

Chương trình điều khiển

Trang 32

PROCESS (I): là quá trình hoạt động của ngõ vào I Sau từ khóa PROCESS là

“BEGIN” tức bắt đầu chương trình và nó kết thúc quá trình ở từ khóa “ENDPROCESS”

CASE I IS là bảng mô tả hoạt động của ngõ vào I bảng mô tả này kết thúc khigặp từ khóa “END CASE”

When “00” nghĩa là khi ngõ và I lần lượt tồn tại 4 bit “00” thì thực hiện phépgán cho ngõ vào O 4 bit tồn tại “0001” Các bước tiếp theo ý nghã hoàn toàn tương tự

WHEN OTHERS => NULL hàm nghĩa là những trường hợp khác khác thìkhông thực hiện gì

2.2.2 Thực hành trên phần mềm điều khiển

Khởi động phần mềm ISE WEB PACK

Hình 1.63: Khởi động phần mềm

Soạn thảo chương trình

Tạo dự án mới:

Vào menu lệnh “File” và chọn “New Project”

Mục Location bấm chọn đường dẫn lưu dự án

Mục name tiến hành đặt tên cho dự án

Thiết lập thông số: thực hiện chọn các thông số cho dự án như hình

Hình 1.64: Chọn thông số cho Project theo đúng KIT

Tạo module viết chương trình

Trong Tab “Project” chọn “New Source…”

Trang 33

Thực hiện chọn VHDL Module

Mục file name đặt tên cho file chương trình rồi chọn next

Khai báo các chân tín hiệu vào, ra

Hình sau cho phép khai báo các địa chỉ vàovà ra

Hình 1.65: Địa chỉ vào ra

Lần lượt chọn như hình, trong đó tại cột Bus (số 3) đánh dấu check vì ngõ vào

và ngõ ra có hơn 1 chân Cột MSB (số 4) nhập số chân tối đa của mỗi ngõ vào ra.Thực hiện tiếp tục cho đến khi kết thúc khai báo địa chỉ

Nhập đoạn chương trình điều khiển

Ở giao diện viết chương trình, thực hiện nhập đoạn chương trình vào khu vựccho phép như hình sau

Hình 1.66: Nhập đoạn chương trình vào cửa sổ

Trang 34

Gán các chân của dự án cho cho các chân của thiết bị lập trình

Thực hiện việc gán chân các ngõ vào ra trong ứng dụng của bạn cho chipXC6SLX16 bằng cách trong mục “User Constraints”, chọn mục “I/O Pin Planning(PlanAhead)” và mở lệnh chuột phải, một menu hiện và hãy chọn RUN

Hình 1.69: Khởi động chương trình gán chân

Một thông báo yêu cầu lưu trữ file xuất hiện, hãy bấm yes rồi tiếp tục bấmClose, ta có giao diện cho phép gán chân như hình sau Hãy gán các chân như hình

Hình 1.70: Bảng gán chân hoàn tất

Trang 35

Sau khi gán xong thì tiến hành lưu file và nhấn “Save” rồi thoát khỏi chươngtrình gán, trở về lại chương trình ISE để thực hiện các biên dịch còn lại

2.2.3 Nạp chương trình vào bộ KIT thực hành

Kết nối dây cáp vào máy tính

Cách thức nạp chương trình

Tại của sổ “Design” (số 1), bấm chọn như vị trí số (2) Tiếp theo bấm đúp vàomục “Configure Target Device)”, sau đó nhấp chuột file vào “Generate TargetPROM/ACE File” rồi chọn RUN

Hình 1.71: Chọn chương trình nạp dữ liệu lên KIT

Ở cửa sổ nạp chương trình nhấp đôi chuột trái vào “Boundary Scan” để vàogiao diện thực hiện nạp chương trình theo chuẩn JTAG

Hình 1.72: Mở giao diện thực hiện nạp chương trình

Trên vùng chính của chương trình, bấm mở chuột phải và chọn “InitializeChain” hoặc nhấn “Ctrl+I” Sau khi kết nối thành công, hãy mở chuột phải trên chiprồi chỉ đường dẫn đến file đã lưu cần nap cần nạp sẽ có đuôi mở rộng “*.bit”

Hình 1.73: Chọn file cần nạp cho IC

Trang 36

Sau khi tải xong file đã chọn thì một giao diện mới xuất hiện như hình 1.74.Một bảng thông báo hiện ra có nội dùng hỏi bạn có muốn nạp chương trình trên Flashkhông Chọn “No” cho phương thức nạp trực tiếp lên FPGA.

Trang 37

Hình 1.77: nạp chip hoàn thành

Quan sát kết quả

Hình 1.78: Sơ đồ bố trí trên KIT

Quá trình nạp chương trình hoàn tất Đến đây ta tác động điều khiển các SWThực hiện gạt các SW (vị trí số 1) đồng thời quan sát Led hiển thị xem có hoạtđộng đúng chương trình điều khiển

Hình 1.79: Led cần qua sát

Quan sát:

Khi SW0=0 và SW2=0 thì LED1 sáng

Khi SW0=1 và SW2=0 thì LED2 sáng

Trang 38

Chương trình điều khiển

PROCESS (I): là quá trình hoạt động của ngõ vào I Sau từ khóa PROCESS là

“BEGIN” tức bắt đầu chương trình và nó kết thúc quá trình ở từ khóa “ENDPROCESS”

CASE I IS là bảng mô tả hoạt động của ngõ vào I bảng mô tả này kết thúc khigặp từ khóa “END CASE”

When “00” nghĩa là khi ngõ và I lần lượt tồn tại 4 bit “00” thì thực hiện phépgán cho ngõ vào 4 bit tồn tại “0001” Các bước tiếp theo ý nghã hoàn toàn tương tự

WHEN OTHERS => thì gán bit 0 cho Q lưu ý: 1 bit đơn thì viết trong dấu (‘ ‘)

và từ 2 bit trở lên thì viết trong (“ “)

2.3.2 Thực hành trên phần mềm điều khiển

- Khởi động phần mềm ISE WEB PACK

Hình 1.80: Khởi động phần mềm

Soạn thảo chương trình

Tạo dự án mới:

Vào menu lệnh “File” và chọn “New Project”

Mục Location bấm chọn đường dẫn lưu dự án

Mục name tiến hành đặt tên cho dự án

Thiết lập thông số: thực hiện chọn các thông số cho dự án như hình

Trang 39

Hình 1.81: Chọn thông số cho Project theo đúng KIT

Tạo module viết chương trình

Trong Tab “Project” chọn “New Source…”

Thực hiện chọn VHDL Module

Mục file name đặt tên cho file chương trình rồi chọn next

Khai báo các chân tín hiệu vào, ra

Hình sau cho phép khai báo các địa chỉ vào và ra

Hình 1.82: Địa chỉ vào ra

Lần lượt chọn như hình, trong đó tại cột Bus đánh dấu check vì ngõ vào và ngõ

ra có hơn 1 chân Cột MSB nhập số chân tối đa của mỗi ngõ vào ra Thực hiện tiếp tụccho đến khi kết thúc khai báo địa chỉ

Nhập đoạn chương trình điều khiển

Ở giao diện viết chương trình, thực hiện nhập đoạn chương trình vào khu vựccho phép như hình sau

Trang 40

Hình 1.83: Nhập đoạn chương trình vào cửa sổ

Gán các chân của dự án cho cho các chân của thiết bị lập trình

Thực hiện việc gán chân các ngõ vào ra trong ứng dụng của bạn cho chipXC6SLX16 bằng cách trong mục “User Constraints”, chọn mục “I/O Pin Planning(PlanAhead)” và mở lệnh chuột phải, một menu hiện và hãy chọn RUN

Ngày đăng: 16/12/2023, 16:09

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. “Digital Fundamental Experiments and Concepts with CPLDs” , Thomson Delmar Learning_Chartrand, 2004 Sách, tạp chí
Tiêu đề: Digital Fundamental Experiments and Concepts with CPLDs
[2]. Mivhael.Dciletti, “ Starter’”, Pearson– Pretice Hall, 2004 Sách, tạp chí
Tiêu đề: Starter’
[3]. Wayne Wolf, “FPGA based System design ”, Prentice Hall, 2004 [4]. William Kleitz, “Digital Electronics with VHDL Quartus II version”, Pearson– Pretice Hall, 2004 Sách, tạp chí
Tiêu đề: FPGA based System design ”, Prentice Hall, 2004 [4]. William Kleitz, “Digital Electronics with VHDL Quartus II version
[5]. Jong Ching Chuen, Chang Chip Hong, “Digital System Design Principle and Practices”, Pearson Prentice Hall, 2007 Sách, tạp chí
Tiêu đề: Digital System Design Principle and Practices
[6]. Nguyễn Đình Phú, Giáo trình kỹ thuật PLD và ASIC, 2007 [7] Tài liệu chuyển giao công nghệ cảu TÂN PHÁT Khác

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm