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

Khóa luận cơ điện và công trình thiết kế, thử nghiệm bộ đếm không đồng bộ sử dụng FPGA

72 6 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

Định dạng
Số trang 72
Dung lượng 3,81 MB

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

Nội dung

2: Phân loại bộ đếm a Phân biệt theo cách làm việc: - Bộ đếm đồng bộ: là bộ đếm mà các FF dùng để mã hóa cho các trạng thái trong của bộ đếm thay đổi trạng thái cùng một lúc khi có tín

Trang 1

TRƯỜNG ĐẠI HỌC LÂM NGHIỆP VIỆT NAM KHOA CƠ ĐIỆN VÀ CÔNG TRÌNH

BỘ MÔN KỸ THUẬT ĐIỆN VÀ TỰ ĐỘNG HÓA

KHÓA LUẬN TỐT NGHIỆP Tên đề tài:

THIẾT KẾ, THỬ NGHIỆM BỘ ĐẾM KHÔNG ĐỒNG BỘ SỬ

Trang 2

LỜI MỞ ĐẦU

Cùng với sự tiến bộ của khoa học và công nghệ, các thiết bị số đang và sẽ tiếp tục được ứng dụng ngày càng rộng rãi và mang lại hiệu quả cao trong hầu hết các lĩnh

vực kinh tế cũng như đời sống xã hội

Trong thực tế, bộ đếm được sử dụng rộng rãi để nhớ số liệu, trình tự vận hành thiết bị, bộ chia tần số,… Bộ đếm là thành phần không thể thiếu được trong CPU của các hệ vi xử lý, trong các cổng vào ra có khả năng lập trình Ngoài ra bộ đếm còn được dùng để tạo dãy tín hiệu nhị phân tuần hoàn theo yêu cầu cho trước

Nhận thấy được khả năng và ứng dụng rất rộng rãi của bộ đếm trong nhiều lĩnh

vực khoa học kĩ thuật nên em quyết định chọn đề tài nghiên cứu khóa luận là “Thiết

kế thử nghiệm bộ đếm không đồng bộ sử dụng FPGA”

Nội dung khóa luận bao gồm: 3 chương

Chương 1: Cơ sở lý thuyết về bộ đếm

Chương 2: Hệ thống phát triển CIC-310 và FPGA

Chương 3: Thiết kế bộ đếm không đồng bộ trên FPGA

Do hạn chế về thời gian cũng như khả năng nghiên cứu, nội dung khóa luận này không tránh khỏi thiếu sót Vì vậy, em rất mong được sự chỉ bảo của thầy cô để đề tài này hoàn thiện hơn

Em xin chân thành cảm ơn các thầy cô trong trường Đại học Lâm Nghiệp nói chung và các thầy cô trong khoa Cơ Điện - Công Trình nói riêng đã truyền dạy những kinh nghiệm quý báu và giúp đỡ em trong suốt quá trình học tập Đặc biệt, em xin gửi

lời cảm ơn chân thành đến giảng viên ThS Lê Minh Đức người đã tận tình hướng dẫn

em hoàn thành đồ án tốt nghiệp này

Hà Nội, ngày 20 tháng 06 năm 2020

Sinh viên thực hiện đề tài

Mai Xuân Duẩn

Trang 3

NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN

GIẢNG VIÊN HƯỚNG DẪN

(Chữ ký, họ tên)

Trang 4

NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN

GIẢNG VIÊN PHẢN BIỆN

(Chữ ký, họ tên)

Trang 5

MỤC LỤC

LỜI MỞ ĐẦU

MỤC LỤC

DANH MỤC CÁC TỪ VIẾT TẮT

DANH MỤC CÁC BẢNG BIỂU

DANH MỤC CÁC HÌNH VẼ

CHƯƠNG 1: CƠ SỞ LÍ THUYẾT VỀ BỘ ĐẾM 1

1.1 Tổng quan về bộ đếm 1

1.2 Phân loại bộ đếm 2

1.3 Mạch đếm đồng bộ 3

1.4 Mạch đếm không đồng bộ 7

1.5 Mạch đếm vòng 12

1.6 Ứng dụng của bộ đếm 13

CHƯƠNG 2: HỆ THỐNG PHÁT TRIỂN CIC-310 VÀ FPGA 15

2.1 Hệ thống phát triển CIC 310 15

2.1.1 Bảng phát triển SN-PLDE2 15

2.1.2 Bảng thí nghiệm SN-PLDE3A 17

2.2 Cơ bản về lập trình logic FPGA 25

2.2.1 Khái niệm 25

2.2.2 Ứng dụng 27

2.2.3 Phân loại 27

2.2.4 Quy trình thiết kế FPGA 27

2.3 Ngôn ngữ lập trình VHDL 29

2.3.1 Đối tượng trong VHDL 31

2.3.2 Kiểu dữ liệu trong VHDL 31

2.3.3 Các phép toán trong VHDL 31

2.3.4 Các đơn vị thiết kế trong VHDL 32

2.3.5 Cấu trúc chung của một chương trình mô tả VHDL 32

Trang 6

2.3.6 Môi trường kiểm tra testbench 33

2.3.7 Các cấu trúc lệnh song song 33

2.3.8 Các cấu trúc lệnh tuần tự 34

CHƯƠNG 3: THIẾT KẾ BỘ ĐẾM KHÔNG ĐỒNG BỘ TRÊN FPGA 35

3.1 Bộ đếm không đồng bộ 35

3.1.1 Xây dựng sơ đồ khối 35

3.1.2 Xây dựng sơ đồ nguyên lý 35

3.1.3 Trình tự thiết kế 37

3.1.4 Kết quả đạt được 40

3.2 Xây dựng bộ đếm lên\xuống không đồng bộ 42

3.2.1 Xây dựng sơ đồ khối 42

3.2.2 Xây dựng sơ đồ nguyên lý 42

3.2.3 Trình tự thiết kế 43

3.2.4 Kết quả đạt được 44

3.3 Xây dựng bộ đếm Johnson 46

3.3.1 Xây dựng sơ đồ khối 46

3.3.2 Xây dựng sơ đồ nguyên lý 47

3.3.3 Trình tự thiết kế bộ đếm Jonhson 50

3.3.4 Kết quả đạt được 51

3.4 Xây dựng bộ đếm mod-N và 7 phân đoạn giải mã 52

3.4.1 Xây dựng sơ đồ khối 52

3.4.2 Xây dựng sơ đồ mạch nguyên lý 53

3.4.3 Trình tự thiết kế bộ đếm mod-N và bộ giải mã BCD 7 phân đoạn 54

3.4.4 Kết quả đạt được 57

KẾT LUẬN

DANH MỤC TÀI LIỆU THAM KHẢO

Trang 7

DANH MỤC CÁC TỪ VIẾT TẮT

CPLD Complex Programmable Logic

FPGA Field-programmable gate array Ma trận cổng lập trình được theo

trường

HDL Hardware Description Language Ngôn ngữ mô tả phần cứng

LED Light Emitting Diode Diode phát quang

PIPO Parallel Input/Parallel Output Vào song song/ra song song PISO Parallel Input/Serial Output Vào song song/ra nối tiếp

SIPO Serial Input/Parallel Output Vào nối tiếp/ra song song

SISO Serial Input/Serial Output Vào nối tiếp/ra nối tiếp

SRAM Stactic Random Access Memory Bộ nhớ truy xuất ngẫu nhiên

tĩnh

VHDL Very High Speed Intergrated Circuit

Hardware Description Language

Ngôn ngữ mô tả phần cứng cho các mạch tích hợp tốc độ rất cao

Trang 8

DANH MỤC CÁC BẢNG BIỂU

Bảng 1 1: Bảng trạng thái bộ đếm lên đồng bộ 4 bit 4

Bảng 1 2: Bảng trạng thái bộ đếm xuống đồng bộ 4 bit 5

Bảng 1 3: Trạng thái mạch đếm không đồng bộ module N (N= 10) 10

Bảng 2 1: Sơ đồ công tắc đầu vào Logic 18

Bảng 2 2: Sơ đồ chân cắm hiển thị LED Logic 19

Bảng 2 3: Sơ đồ chân cắm hiển thị 7 phân đoạn 6 chữ số 20

Bảng 2 4: Sơ đồ bố trí chân của máy phát điện xung 21

Bảng 2 5: Sơ đồ bàn phím ma trận 22

Bảng 2 6: Sơ đồ chân cắm bộ hiển thị 16 phân đoạn 23

Bảng 2 7: Sơ đồ chân cắm LED điểm chấm 5x7 24

Bảng 2 8: Sơ đồ chân cắm LCD 2021 25

Bảng 3 1: Trạng thái nhị phân của mạch đếm không đồng bộ 36

Bảng 3 2: Phân định chân cắm đầu vào/ra trên CIC-310 55

Trang 9

DANH MỤC CÁC HÌNH VẼ

Hình 1 1: Dạng tổng quát của mạch đếm (dùng 4 FF) 1

Hình 1 2: Phân loại bộ đếm 2

Hình 1 3: Mạch đếm lên đồng bộ 4 bit 5

Hình 1 4: Mạch đếm xuống đồng bộ 4 bit 6

Hình 1 5: Mạch đếm lên/xuống đồng bộ 4 bit 6

Hình 1 6: Mạch đếm lên không đồng bộ 4 bit 8

Hình 1 7: Dạng tín hiệu xung CK và đầu ra của các FF 8

Hình 1 8: Mạch đếm xuống không đồng bộ 4 bit 8

Hình 1 9: Dạng tín hiệu của mạch đếm xuống không đồng bộ 4 bit 9

Hình 1 10: Mạch đếm lên/xuống không đồng bộ 4 bit mức logic 1 9

Hình 1 11: Mạch đếm lên/xuống không đồng bộ 4 bit mức logic 0 10

Hình 1 12: Mạch đếm không đồng bộ Module N (N=10) kiểu reset 11

Hình 1 13: Mạch đếm 10 thiết kế theo kiểu đếm 2x5 11

Hình 1 14: Mạch đếm 10 thiết kế theo kiểu 2x5 có đầu vào Reset 11

Hình 1 15: Mạch hồi tiếp từ QD về JA và QD về KA 12

Hình 1 16: Mạch hồi tiếp từ 𝑄D về JA và QD về KA 12

Hình 1 17: Mạch hồi tiếp từ 𝑄D về JA và QC về KA 12

Hình 1 18: Mạch phát dãy xung có số xung định trước 13

Hình 1 19: Mạch điều khiển hoạt động trình tự và chu trình 14

Hình 2 1: Hệ thống phát triển CPLD/FPGA 15

Hình 2 2: Bảng mạch phát triển mạch SN-PLDE2 16

Hình 2 3: Bảng thí nghiệm SN-PLDE3A 17

Hình 2 4: Bộ chuyển mạch Logic S1-S3 18

Hình 2 5: Hiển thị LED Logic 19

Hình 2 6: Phân định chân cắm của hiển thị 7 phân đoạn 19

Hình 2 7: Mã vận hành của bộ hiển thị 7 phân đoạn 6 chữ số 21

Hình 2 8: Hiển thị 16 phân đoạn 23

Hình 2 9: Ổ cắm bộ hiển thị 16 phân đoạn 23

Hình 2 10: Phân định chân cắm của bộ LED điểm chấm 5x7 24

Trang 10

Hình 2 11: Ổ cắm bộ LED điểm chấm 5x7 JP22 và bộ chọn lọc điểm chấm JP24 24

Hình 2 12: Bộ kết nối LCD2021 25

Hình 2 13: Cấu trúc tổng thể một FPGA 26

Hình 2 14: Khối logic FPGA 26

Hình 2 15: Lưu đồ thiết kế FPGA 28

Hình 2 16: Cấu trúc mô tả phần cứng và các đối tượng trong VHDL 33

Hình 2 17: Sơ đồ tổng quát chương trình thử testbench 33

Hình 3 1: Sơ đồ khối mạch đếm không đồng bộ 35

Hình 3 2: Sơ đồ nguyên lý mạch đếm không đồng bộ 4 bit đếm xuống 35

Hình 3 3: Dạng sóng mạch đếm không đồng bộ 36

Hình 3 4: Sơ đồ nguyên lý mạch đếm không đồng bộ 4 bit đếm lên 37

Hình 3 5: Phân định chân cắm cho mạch đếm không đồng bộ 4 bit đếm xuống 37

Hình 3 6: Bộ đếm không đồng bộ 4 bit đếm xuống 38

Hình 3 7: Bộ đếm không đồng bộ 4 bit đếm lên 39

Hình 3 8: Phân định chân cắm cho mạch đếm không đồng bộ 4 bit đếm lên 39

Hình 3 9: Hình ảnh kết quả mạch đếm ngược không đồng bộ 40

Hình 3 10: Hình ảnh kết quả mạch đếm xuôi không đồng bộ 41

Hình 3 11: Sơ đồ khối mạch đếm lên/xuống không đồng bộ 42

Hình 3 12: Sơ đồ nguyên lý mạch đếm lên\xuống không đồng bộ 42

Hình 3 13: Mạch đếm lên\xuống không đồng bộ 43

Hình 3 14: Phân định chân cắm 4tsrcnt.gdf 44

Hình 3 15: Hình ảnh kết quả khi mạch đếm lên 45

Hình 3 16: Hình ảnh kết quả khi mạch đếm xuống 46

Hình 3 17: Sơ đồ khối mạch đếm Jonhson 46

Hình 3 18: Mạch đếm Johnson 5 bit 47

Hình 3 19: Giải mã cho mạch đếm Jonhson 5 bit 48

Hình 3 20: Bộ đếm Jonhson 5 bit với giải mã 48

Hình 3 21: Sơ đồ thời gian bộ đếm Johnson 5 bit với giải mã 49

Hình 3 22: Bộ đếm Jonhson 5 bit đồng bộ tăng 49

Hình 3 23: Bộ đếm Jonhson 5 bit đồng bộ tăng với giải mã 50

Hình 3 24: Sơ đồ thời gian bộ đếm Jonhson 5 bit đồng bộ tăng 50

Trang 11

Hình 3 25: Kết quả thử nghiệm bộ đếm Jonhson 5 bit với giải mã 51

Hình 3 26: Kết quả thử nghiệm bộ đếm Jonhson 5 bit đồng bộ tăng 52

Hình 3 27: Sơ đồ khối của bộ đến 4 bit giải mã 7 phân đoạn 52

Hình 3 28: Bộ giải mã BCD 7 phân đoạn 53

Hình 3 29: Sơ đồ nguyên lí bộ đếm 4 bit giải mã 7 phân đoạn 54

Hình 3 30: Sơ đồ nguyên lí bộ đếm BCD giải mã 7 phân đoạn 54

Hình 3 31: Sơ đồ gán chân 55

Hình 3 32: Biên dịch chương trình 56

Hình 3 33: Màn hình load file 56

Hình 3 34: Sơ đồ gán chân 57

Hình 3 35: Kết quả thử nghiệm bộ đếm 4 bit giải mã 7 phân đoạn 58

Hình 3 36: Kết quả thực nghiệm bộ đếm BCD giải mã 7 phân đoạn 59

Trang 12

1

CHƯƠNG 1:

CƠ SỞ LÍ THUYẾT VỀ BỘ ĐẾM 1.1 Tổng quan về bộ đếm

Đếm là khả năng nhớ được số xung đầu vào Mạch điện thực hiện được thao tác đếm gọi là bộ đếm

Mạch đếm là mạch dãy đơn giản, cũng như các mạch dãy khác, mạch đếm được xây dựng từ các phần tử nhớ là các FLIP – FLOP và các phần tử tổ hợp (hình 1.1) Nó gồm 1 đầu vào để nhận các xung đếm, n đầu ra, chúng chính là đầu ra của các FF tham gia cấu tạo nên bộ đếm Ngoài ra, rất nhiều bộ đếm còn có n đầu vào số liệu hoặc gọi

là các đầu vào đặt trước, dùng để đưa một nội dung cho trước vào trong bộ đếm Một

số đầu điều khiển để điều khiển sự làm việc của mạch Bộ đếm có thể hoạt động theo sườn lên hay sườn xuống của các xung đếm Nghĩa là chúng chỉ nhận biết có xung đếm tới trong thời gian tương ứng với sườn lên hay sườn xuống của xung

Để xây dựng bộ đếm, người ta có thể dùng mã nhị phân hoặc các loại mã khác như mã Gray, mã NBCD…

Hình 1 1: Dạng tổng quát của mạch đếm (dùng 4 FF)

A, B, C, D là đầu vào của các FF

QA, QB, QC, QD là các đầu ra của các FF

Mạch đếm được xây dựng từ đặc tính đảo trạng thái của FF JK khi J=K=1 Chức năng của mạch đếm là đếm số xung Ck đưa vào đầu hoặc thể hiện số trạng thái

có thể có của các đầu ra

Trang 13

2

Nếu xét khía cạnh tần số của tín hiệu thì mạch đếm có chức năng chia tần, nghĩa là tần số của tín hiệu ở đầu ra là kết quả của phép chia tần số của tín hiệu Ck ở đầu vào cho số đếm của mạch

Lợi dụng tính đảo trạng thái của FF JK khi J=K=1, người ta thực hiện các mạch đếm Chức năng của mạch đếm là đếm số xung CK đưa vào đầu vào hoặc thể hiện số trạng thái có thể có của các đầu ra

Nếu xét khía cạnh tần số của tín hiệu thì mạch đếm có chức năng chia tần, nghĩa là tần số của tín hiệu ở đầu ra là kết quả của phép chia tần số của tín hiệu CK Ở

đầu vào cho số đếm của mạch

1.2 Phân loại bộ đếm

Có rất nhiều cách phân loại bộ đếm, sau đây là một số cách thường dùng nhất:

Hình 1 2: Phân loại bộ đếm

a) Phân biệt theo cách làm việc:

- Bộ đếm đồng bộ: là bộ đếm mà các FF dùng để mã hóa cho các trạng thái trong của bộ đếm thay đổi trạng thái cùng một lúc khi có tín hiệu vào đếm và mọi sự chuyển đổi trạng thái đều không qua các trạng thái trung gian Trong mạch đếm đồng

bộ các FF chịu tác động đồng thời của xung đếm Ck

Trang 14

3

- Bộ đếm không đồng bộ: là các mạch đếm mà các FF không chịu tác động đồng thời của xung Ck khi thiết kế mạch đếm không đồng bộ ta phải quan tâm đến chiều tác động của xung đồng hồ Ck

b) Phân biệt theo hệ số đếm:

- Bộ đếm có hệ số đếm Kđ =2 : bộ đếm này còn được gọi là bộ đếm có hệ số đếm cực đại hay chiều dài cực đại, vì khi sử dụng n FF để mã hóa các trạng thái trong

bộ đếm thì khả năng mã hóa tối đa là 2n

- Bộ đếm có hệ số đếm Kđ≠ 2n : bộ đếm này vẫn sử dụng n FF để mã hóa các trạng thái trong cho bộ đếm cho nên sẽ có 2n – Kđ trạng thái trong không được sử dụng đến Vì vậy, khi thiết kế bộ đếm này cần phải lưu ý đến các trạng thái không sử dụng

đó, tức là cần phải có biện pháp làm cho bộ đếm thoát khỏi các trạng thái đó một cách hợp lí để trở về chu trình đúng đảm bảo bộ đếm được thiết kế đơn giản

c) Phân loại theo hướng đếm:

- Bộ đếm lên hay còn gọi là đếm tiến: là bộ đếm mà mỗi khi có tín hiệu vào đếm thì trạng thái trong bộ đếm tăng lên 1

- Bộ đếm xuống hay còn gọi là đếm lùi: là bộ đếm mà mỗi khi có tín hiệu vào đếm thì trạng thái trong của bộ đếm giảm đi 1

- Trong thực tế còn có bộ đếm thuận nghịch, bộ đếm này vừa có khả năng đếm lên vừa có khả năng đếm xuống Trong trường hợp này phải đưa thêm tín hiệu đếm lên hay đếm xuống

d) Phân loại theo khả năng lập trình:

- Bộ đếm có khả năng chương trình hóa là bộ đếm có thể sử dụng các hệ số đếm khác nhau, tùy thuộc vào tín hiệu điều khiển đưa vào nó Do vậy, bộ đếm này “mềm dẻo”, đa năng hơn các bộ đếm chỉ có một hệ số đếm cố định và ngày càng được sử dụng rộng rãi

1.3 Mạch đếm đồng bộ

Trong mạch đếm đồng bộ các FF chịu tác động đồng thời của xung đếm Ck

a) Mạch đếm lên đồng bộ (n tầng):

Trang 15

- FF A đổi trạng thái sau từng xung CK, vậy: TA = JA = KA = 1

- FF B đổi trạng thái nếu trước đó QA = 1, vậy TB = JB = KB = QA

- FF C đổi trạng thái nếu trước đó QA = QB = 1, vậy: TC = JC = KC = QA.QB

- FF D đổi trạng thái nếu trước đó QA=QB=QC=1,

vậy:TD = JD = KD = QA.QB.QC = TC.QC

Ta được kết quả:

Trang 17

6

Nhận thấy:

- FF A đổi trạng thái sau từng xung CK, vậy: TA = JA = KA = 1

- FF B đổi trạng thái nếu trước đó QA = 0, vậy: TB = JB = KB = QA

- FF C đổi trạng thái nếu trước đó QA=QB=0, vậy: TC = JC = KC = QA.QB

- FF D đổi trạng thái nếu trước đó QA = QB = QC= 0,

Trang 18

Để thiết kế mạch đếm module N, trước hết phải chọn số tầng

Số tầng n phải thỏa mãn điều kiện : 2n-1 < N < 2n

Có nhiều phương pháp thiết kế mạch đếm đồng bộ module n như phương pháp dùng hàm chuyển, phương pháp MARCUS…

Trang 19

8

Hình 1 6: Mạch đếm lên không đồng bộ 4 bit

Hình 1 7: Dạng tín hiệu xung C K và đầu ra của các FF

Tổ hợp các số tạo bởi các đầu ra các FF D, C, B, A là các số nhị phân từ 0 đến 15

b) Mạch đếm xuống không đồng bộ (n tầng):

Để có mạch đếm xuống ta nối Q (thay vì 𝑄̅) của tầng trước vào đầu vào CK của tầng sau mạch đếm xuống 4 tầng (hình 1.8)

Dạng sóng ở đầu ra các FF và số đếm tương ứng cho ở hình 1.9

Hình 1 8: Mạch đếm xuống không đồng bộ 4 bit

Trang 20

9

Hình 1 9: Dạng tín hiệu của mạch đếm xuống không đồng bộ 4 bit

Đây là sơ đồ và dạng tín hiệu mạch đếm không đồng bộ 4 bit – đếm xuống Bộ đếm được xây dựng từ 4 FF Hai đầu C và K của 4 FF đều được nối với mức logic 1 Như vậy, khi có xung đưa vào FF ở thời điểm sườn xung thích hợp, FF sẽ lật ngược trạng thái đầu ra Xung đếm được đưa vào FF có trọng số thấp nhất trong bộ đếm

c) Mạch đếm lên/xuống không đồng bộ (n tầng):

Để có mạch đếm lên/xuống ta dùng các mạch đa hợp 2  1 với đầu vào điều khiển C chung để chọn Q hoặc 𝑄 của tầng trước nối vào Ck tầng sau tùy vào yêu cầu của mạch đếm

Trong hình 1.10, khi C=1, Q nối vào Ck, mạch đếm lên và khi C =0, 𝑄 nối vào đầu Ck, mạch đếm xuống

Hình 1 10: Mạch đếm lên/xuống không đồng bộ 4 bit mức logic 1

Trang 21

10

Trên thực tế, để đơn giản, ta có thể thay bộ dồn kênh 2 1 bởi một cổng

EX-OR, đầu điều khiển C nối vào một đầu vào cổng EX-EX-OR, đầu vào còn lại nối với đầu

ra Q của FF và đầu ra của cổng EX-OR nối vào đầu vào CK của FF sau, mạch cũng đếm lên xuống tùy vào C=0 hay C=1

Hình 1 11: Mạch đếm lên/xuống không đồng bộ 4 bit mức logic 0

d) Mạch đếm không đồng bộ module N:

+Kiểu reset: để thiết kế mạch đếm theo kiểu reset, trước tiên ta lập bảng trạng

thái cho số đếm

Bảng 1 3: Trạng thái mạch đếm không đồng bộ module N (N= 10)

Trang 22

11

Từ bảng 1.3 ta thấy xung thứ 10, nếu theo cách đếm 4 tầng thì QD và QB phải lên 1 Lợi dụng 2 trạng thái này ta dùng một cổng NAND 2 đầu vào để đưa tín hiệu về xóa các FF, ta được mạch đếm như hiển thị ở hình 1.12

Hình 1 12: Mạch đếm không đồng bộ Module N (N=10) kiểu reset

+Kiểu Preset: Trong kiểu Preset các đầu vào của các FF sẽ được đặt trước thế nào để khi mạch đếm đến trạng thái thứ N thì tất cả các FF tự động quay về 0

Để thiết kế mạch đếm không đồng bộ kiểu Preset, thường người ta làm như sau:

- Phân tích số đếm N = 2n.N’ (N’<N) rồi kết hợp hai mạch đếm n bit và N’ Việc thiết kế rất đơn giản khi số N' << N

- Quan sát bảng trạng thái và kết hợp với phương pháp thiết kế mạch đếm đồng

bộ (MARCUS hay hàm chuyển) để xác định JK của các FF

Hình 1 13: Mạch đếm 10 thiết kế theo kiểu đếm 2x5

Hình 1 14: Mạch đếm 10 thiết kế theo kiểu 2x5 có đầu vào Reset

Trang 24

13

1.6 Ứng dụng của bộ đếm

Đếm là một thao tác cực kì quan trọng nên bộ đếm được ứng dụng rộng rãi ở nhiều lĩnh vực trong cuộc sống hàng ngày Các mạch đếm là thành phần cơ bản của hệ thống số Mạch đếm được sử rất nhiều trong các máy tính, trong thông tin, các thiết bị

đo chỉ thị số Bất kì hệ thống số hiện đại nào đều hiện diện bộ đếm Chúng ta có thể sử dụng bộ đếm để chế tạo các thết bị máy móc phục vụ cho con người như:

có số xung xác định trước

Trong hình 1.18, số xung xác định trước N của dãy xung phát ra được đặt trên một cửa vào của mạch so sánh Mạch phát xung phát dãy xung vào bộ đếm, đồng thời đưa tới cổng AND để truyền qua đầu ra Khi số xung phát ra đạt giá trị N định trước thì đầu ra A = B của mạch so sánh nhảy lên 1 Do đó cổng AND đóng, chặn dãy xung tới, bộ đếm cũng bị khóa không làm việc được

Hình 1 18: Mạch phát dãy xung có số xung định trước

Trang 25

14

Một ứng dụng khá phổ biến của bộ đếm là sử dụng nó làm mạch chia tần số

của một dãy xung Ta có thể sử dụng các IC đếm không đồng bộ để tạo ra các mạch

chia tần số hoặc sử dụng mạch đếm vòng để chia tần số

Bộ đếm còn thường được dùng để điều khiển những hoạt động có tính trình tự

và chu trình như điều khiển ánh sang chạy của một dãy đèn quảng cáo (hình 1.19)

Dãy xung nhịp từ mạch phát xung dùng timer 555 làm thay đổi một cách tuần tự mức

logic trên các đầu ra bộ đếm vòng từ Q0 đến Qn-1 và lặp lại sau N xung tới bộ đếm Kết

quả tạo ra được một ánh sang chạy vòng phát ra từ biển quảng cáo

Hình 1 19: Mạch điều khiển hoạt động trình tự và chu trình

Trang 26

15

CHƯƠNG 2:

HỆ THỐNG PHÁT TRIỂN CIC-310 VÀ FPGA

2.1 Hệ thống phát triển CIC 310

Hệ thống phát triển CIC-310 CPLD/FPGA được trình bày như hình 2.1 là thiết

bị độc lập bao gồm hai bảng mạch sơ cấp như sau:

Bảng phát triển mạch SN-PLDE2 gồm các thành phần sau:

+ Bộ chuyển đổi SRAM dựa trên cơ sở của bộ FPGA thuộc loại EPF8282ALC84-4 (Bộ đếm cổng 5000)

+ Bộ vi điều khiển AT89C2051

Trang 27

bộ nguồn DC +5V cho các mạch ngoại vi Bộ kết nối RS232 P1 dẫn kết bảng phát triển mạch với máy tính cá nhân sử dụng dây cáp RS232 đã được cung cấp

Khi cấu hình hoạt động được chọn, dữ liệu cấu hình của FPGA được lưu giữ trong chuỗi ROM bên ngoài (SROM) hoặc ROM song song được đọc sau đó được ghi vào SRAM nội bộ Hệ thống phát triển CPLD/FPGA dự trữ ổ cắm U4 để cài đặt loại

Trang 28

+ Hiển thị 7 phân đoạn

+ Hiển thị 16 phân đoạn

+ Bộ định giờ

+ Máy phát điện xung cho bộ phát điện tín hiệu

Hình 2 3: Bảng thí nghiệm SN-PLDE3A

a) Phần đầu vào của bộ chuyển mạch Logic

Đầu vào Logic là bộ 3 công tắc mạch trượt 8-bit (S1, S2 và S3) được mô tả như hình 2.4

Trang 29

18

Hình 2 4: Bộ chuyển mạch Logic S1-S3

Sơ đồ chân được miêu tả như bảng 2.1:

Bảng 2 1: Sơ đồ công tắc đầu vào Logic

b) Phần hiển thị LED Logic

Có hai bộ hiển thị 16-LED được trình bày như hình 2.5:

+ Bộ LEDs (D1- D16) thường xuyên được sử dụng để chỉ dẫn trạng thái logic của bộ công tắc đầu vào logic Tuy nhiên, D1-D16 có thể được sử dụng làm bộ chỉ dẫn đầu ra nếu thấy cần thiết Trong trường hợp như vậy, tất cả các công tắc đầu vào logic

sẽ được đặt ở vị trí ON

+ Bộ LEDs (D17 kết nối đến D32) chuyên dùng để chỉ dẫn trạng thái logic của đầu ra

Trang 30

19

Hình 2 5: Hiển thị LED Logic

Bộ 32 LEDs được đệm bởi CD40106 Ics có sơ đồ chân cắm như trong bảng 2.2:

Bảng 2 2: Sơ đồ chân cắm hiển thị LED Logic

c) Phần hiển thị 7 phân đoạn nối tiếp song song 6-DIG

Hiển thị 7 phân đoạn nối tiếp song song 6 chữ số bao gồm các hiển thị 7 phân đoạn với 6 Cathode chung Việc đặt tên phân đoạn và phân định chân cắm được trình bày như hình 2.6:

Hình 2 6: Phân định chân cắm của hiển thị 7 phân đoạn

Trang 31

20

Sơ đồ chân cắm của hiển thị 7 phân đoạn 6 chữ số được mô tả như trong bảng 2.3 dưới đây:

Bảng 2 3: Sơ đồ chân cắm hiển thị 7 phân đoạn 6 chữ số

Trong chế độ song song, phân đoạn 8 LED (SA-SP) của mỗi chữ số phải được kết nối với chân cắm FPGA về bên trái của mỗi bộ lọc (JP8, JP9, JP10, JP11, JP12, JP13) với 8 nắp chuyển tiếp như phần trình bày trong hình 2.7-a

Trang 32

21

Để vận hành chế độ nối tiếp, đầu cuối Cathode chung SC1 đến SC6 phải được kết nối tới chân cắm FPGA P76-P79, P08 và P09 một cách tương ứng với các nắp chuyển tiếp Các phân đoạn tương tự của các chữ số phải được kết nối song song bằng cách đặt 8 nắp chuyển tiếp trong JP8A thông qua vị trí JP13A cũng như JP8 Hình 2.7-

b chỉ ra vị trí của nắp chuyển tiếp cho hoạt động nối tiếp Trong trường hợp như vậy, các phân đoạn SA thông qua SP được kết nối với chân cắm FPGA P13 đến P21 và các đoạn đầu cuối Cathode chung SC1 đến SC6 được kết nối với chân cắm FPGA P76-P79, P08 và P09 một cách tương ứng

Hình 2 7: Mã vận hành của bộ hiển thị 7 phân đoạn 6 chữ số

d) Phần máy phát xung

Phần máy phát xung bao gồm 4 chuyển mạch nút đẩy hãm (SWP1, SWP2, SWP3 và SWP4) được xác định như bộ đầu ra xung Mỗi một tín hiệu nút đẩy được xác định như một logic 1 khi được nhấn nút, khi nhả nút ra nó sẽ trở về logic 0

Sơ đồ chân cắm của máy phát điện xung được trình bày như trong bảng 2.4:

Bảng 2 4: Sơ đồ bố trí chân của máy phát điện xung

Trang 33

LF bị đóng lại) hoặc trong phạm vi tần số cao (khi các chân cắm JP17 LF được mở ra) Tần suất đầu ra của nó được điều chỉnh bởi các nút gỡ LFQ ADJ ranh giới từ 0.1Hz đến 20KHz Bộ đầu ra RCOSC1 được kết nối với chân cắm FPGA 31 (I31) bằng cách đặt nắp chuyển tiếp vào trong vị trí của I31 của JP15 và bộ đầu ra RCOSC2 được kết nối với chân cắm FPGA 73 (I73) bằng cách đặt nắp chuyển tiếp vào vị trí của I73 của JP17

f) Phần SW và bàn phím

Bàn phím ma trận 4x4 được dùng riêng biệt và để quét hình chế độ

Sơ đồ chân cắm bàn phím được mô tả như trong bảng 2.5:

g) Phần hiển thị 16 phân đoạn

Bộ hiển thị 16 phân đoạn thuộc dạng Cathode chung Phân đoạn của nó đặt tên

và phân định chân cắm được trình bày như trong hình 2.8 Đầu cuối của Cathode chung C-SEL được kết nối với GND khi sử dụng bộ hiển thị 16 phân đoạn

Trang 34

23

Hình 2 8: Hiển thị 16 phân đoạn

Phân định chân cắm của ổ cắm bộ hiển thị 16 phân đoạn JP21 được trình bày như ở hình 2.9:

Hình 2 9: Ổ cắm bộ hiển thị 16 phân đoạn

Sơ đồ chân cắm bộ hiển thị 16 phân đoạn được mô tả trong bảng 2.6:

Bảng 2 6: Sơ đồ chân cắm bộ hiển thị 16 phân đoạn

h) Phần LED DOT 5x7 (LED chấm 5x7)

Phân định chân cắm của LED chấm 5x7 được trình bày như hình 2.10:

Trang 35

24

Hình 2 10: Phân định chân cắm của bộ LED điểm chấm 5x7

Các lỗ cắm cho điểm chấm LED (JP22) và bộ kết nối chọn lọc điểm chấm

(JP24) được trình bày như hình 2.11:

Hình 2 11: Ổ cắm bộ LED điểm chấm 5x7 JP22 và bộ chọn lọc điểm chấm JP24

Bảng 2.7 chỉ ra sơ đồ chân cắm của bộ LED điểm chấm 5x7 Khi sử dụng bộ LED điểm chấm 5x7, 8 nút chuyển tiếp phải được cài đặt ở vị trí JP8 và JP24

Bảng 2 7: Sơ đồ chân cắm LED điểm chấm 5x7

Trang 36

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 (I/O Pads)

Ngày đăng: 31/05/2021, 13:35

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