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 1TRƯỜ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 2LỜ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 3NHẬ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 4NHẬ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 5MỤ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 62.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 7DANH 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 8DANH 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 9DANH 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 10Hì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 11Hì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 121
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 132
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 143
- 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 176
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 198
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 209
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 2110
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 2211
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 2413
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 2514
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 2615
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 27bộ 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 2918
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 3019
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 3120
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 3221
Để 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 33LF 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 3423
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 3524
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 36Vi 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)