Khóa luận: Thiết kế thử nghiệm đồng hồ kỹ thuật số 24 giờ trên FPGA

Học cách thiết kế đồng hồ kỹ thuật số 24h trên FPGA từ A-Z. Nắm vững quy trình, nguyên lý hoạt động và kỹ thuật lập trình hiệu quả.

Trường đại học

Đang cập nhật

Chuyên ngành

Điện tử

Người đăng

Ẩn danh

Thể loại

Khóa luận tốt nghiệp

2017

52
2
0

Phí lưu trữ

30 Point

Tóm tắt

I. Tổng quan thiết kế đồng hồ kỹ thuật số 24 giờ trên FPGA

Việc thiết kế thử nghiệm đồng hồ kỹ thuật số 24 giờ trên FPGA là một bài toán kinh điển trong lĩnh vực thiết kế vi mạch số, thể hiện sự kết hợp giữa lý thuyết mạch logic và kỹ năng lập trình phần cứng. FPGA (Field-Programmable Gate Array) cung cấp một nền tảng linh hoạt, cho phép các kỹ sư mô phỏng, kiểm thử và triển khai các thiết kế phức tạp một cách nhanh chóng. Dự án này không chỉ tạo ra một sản phẩm hữu ích trong đời sống mà còn là một phương pháp hiệu quả để làm quen với quy trình thiết kế vi mạch sử dụng ngôn ngữ mô tả phần cứng như VHDL. Cốt lõi của một đồng hồ kỹ thuật số là các bộ đếm, bộ giải mã và mạch hiển thị. Các bộ đếm chịu trách nhiệm đếm giây, phút và giờ theo chu kỳ chính xác. Bộ giải mã chuyển đổi dữ liệu nhị phân từ bộ đếm thành tín hiệu điều khiển cho LED 7 thanh. Hệ thống phát triển CIC-310 đóng vai trò là môi trường phần cứng, cung cấp các khối chức năng cần thiết như bộ dao động tạo xung nhịp, công tắc đầu vào và màn hình hiển thị. Quá trình này bắt đầu bằng việc phân tích cơ sở lý thuyết về các mạch logic cơ bản. Sau đó, nhà thiết kế tiến hành lập trình mô tả hoạt động của đồng hồ bằng VHDL trên phần mềm chuyên dụng như Maxplus II. Cuối cùng, mã lập trình được nạp vào chip FPGA trên bo mạch CIC-310 để kiểm tra hoạt động thực tế. Dự án thiết kế thử nghiệm đồng hồ kỹ thuật số 24 giờ trên FPGA là một minh chứng rõ ràng về khả năng ứng dụng của công nghệ FPGA trong việc tạo ra các sản phẩm điện tử tiêu dùng, từ giai đoạn ý tưởng đến sản phẩm hoạt động hoàn chỉnh.

1.1. Tầm quan trọng của FPGA trong thiết kế vi mạch hiện đại

FPGA, hay Ma trận Cổng Lập trình được, là một loại vi mạch tích hợp cho phép người dùng cấu hình lại cấu trúc phần cứng sau khi sản xuất. Khả năng này mang lại sự linh hoạt vượt trội so với ASIC (Vi mạch tích hợp chuyên dụng). Trong dự án thiết kế đồng hồ kỹ thuật số, FPGA cho phép lặp lại chu trình thiết kế, sửa lỗi và tối ưu hóa một cách nhanh chóng mà không cần sản xuất lại chip. Cấu trúc của FPGA bao gồm các khối logic có thể lập trình (logic blocks), hệ thống kết nối linh hoạt và các khối vào/ra (I/O pads). Điều này giúp mô phỏng chính xác hoạt động của các mạch số phức tạp. Việc sử dụng FPGA làm giảm đáng kể thời gian và chi phí phát triển sản phẩm, đặc biệt là ở giai đoạn tạo mẫu và kiểm thử.

1.2. Các thành phần cốt lõi của một đồng hồ kỹ thuật số

Một đồng hồ kỹ thuật số, dù đơn giản hay phức tạp, đều được xây dựng từ ba thành phần cơ bản. Thứ nhất là khối tạo xung nhịp (Clock Generator), cung cấp tín hiệu thời gian chuẩn xác để các bộ đếm hoạt động đồng bộ. Thứ hai là khối đếm (Counter Block), bao gồm các bộ đếm giây, phút và giờ. Các bộ đếm này thường là loại bộ đếm mod N (ví dụ: mod 60 cho giây và phút, mod 24 cho giờ). Thứ ba là khối hiển thị (Display Block), gồm mạch giải mãLED 7 thanh. Mạch giải mã có nhiệm vụ chuyển đổi giá trị số từ khối đếm sang dạng mã phù hợp để điều khiển các đoạn LED, từ đó hiển thị con số mong muốn. Sự phối hợp nhịp nhàng giữa các khối này tạo nên hoạt động chính xác của đồng hồ.

II. Nền tảng lý thuyết thiết kế đồng hồ kỹ thuật số 24 giờ

Để thực hiện thành công việc thiết kế thử nghiệm đồng hồ kỹ thuật số 24 giờ trên FPGA, việc nắm vững cơ sở lý thuyết là yêu cầu tiên quyết. Nền tảng này bao gồm kiến thức sâu về các mạch logic tuần tự và tổ hợp, đặc biệt là bộ đếm và bộ giải mã. Bộ đếm là trái tim của đồng hồ, chịu trách nhiệm tạo ra chuỗi trạng thái tương ứng với thời gian. Các loại bộ đếm như bộ đếm mod N được sử dụng để tạo ra các chu kỳ đếm không phải là lũy thừa của 2, ví dụ như đếm đến 59 cho giây và phút, hoặc 23 cho giờ. Thiết kế các bộ đếm này có thể thực hiện theo nhiều phương pháp khác nhau, bao gồm phương pháp dùng hàm chuyển (Transfer Function) hoặc phương pháp MARCUS, mỗi phương pháp có ưu và nhược điểm riêng. Bên cạnh đó, mạch giải mã hiển thị LED 7 thanh là thành phần không thể thiếu để giao tiếp với người dùng. Mạch này nhận dữ liệu nhị phân (BCD - Binary Coded Decimal) từ bộ đếm và chuyển đổi thành tín hiệu điều khiển 7 đoạn của LED. Cần phân biệt rõ hai loại LED 7 thanh là Anode chung và Kathode chung, vì chúng yêu cầu logic điều khiển trái ngược nhau. Việc hiểu rõ nguyên lý hoạt động, bảng trạng thái và phương trình logic tối thiểu hóa cho từng đoạn LED sẽ đảm bảo hiển thị chính xác các chữ số từ 0 đến 9. Những kiến thức này là cơ sở để xây dựng mã VHDL mô tả phần cứng cho dự án.

2.1. Phân tích mạch giải mã cho hiển thị LED 7 thanh

Mạch giải mã hiển thị LED 7 thanh là một mạch logic tổ hợp có chức năng chuyển đổi mã nhị phân 4-bit thành tín hiệu điều khiển 7-bit. Mỗi bit đầu ra tương ứng với một đoạn (a, b, c, d, e, f, g) của LED. Có hai loại cấu hình chính: Anode chung và Kathode chung. Với loại Anode chung, các cực Anode của 7 LED được nối chung với nguồn dương (mức logic 1). Để một đoạn LED sáng, ngõ ra tương ứng của bộ giải mã phải ở mức logic 0. Ngược lại, với loại Kathode chung, các cực Kathode được nối chung với đất (mức logic 0), và một đoạn LED sẽ sáng khi ngõ ra tương ứng ở mức logic 1. Việc thiết kế mạch giải mã bao gồm việc lập bảng trạng thái và sử dụng bìa Karnaugh để tối thiểu hóa các hàm logic cho từng ngõ ra, giúp tối ưu hóa tài nguyên logic trên FPGA.

2.2. Nguyên tắc và phương pháp thiết kế bộ đếm mod N

Bộ đếm mod N là một mạch tuần tự có khả năng đếm từ 0 đến N-1 rồi quay trở lại 0. Đây là thành phần cốt lõi trong thiết kế đồng hồ kỹ thuật số để đếm giây, phút (mod 60) và giờ (mod 24). Việc thiết kế một bộ đếm mod N đồng bộ yêu cầu xác định số lượng Flip-Flop (FF) cần thiết (n sao cho 2^n >= N). Có nhiều phương pháp thiết kế, chẳng hạn như phương pháp dùng hàm chuyển hoặc phương pháp MARCUS. Các phương pháp này đều dựa trên việc lập bảng trạng thái chuyển đổi, sau đó xác định các hàm logic cho các đầu vào kích của FF (ví dụ J, K cho JK-FF) để tạo ra chuỗi đếm mong muốn. Đối với các bộ đếm không đồng bộ, kỹ thuật Reset hoặc Preset có thể được sử dụng để buộc bộ đếm quay về 0 khi đạt đến trạng thái N.

III. Tìm hiểu hệ thống phát triển CIC 310 và ngôn ngữ VHDL

Nền tảng thực thi cho dự án thiết kế thử nghiệm đồng hồ kỹ thuật số 24 giờ trên FPGA là hệ thống phát triển CIC-310. Đây là một bộ công cụ phần cứng hoàn chỉnh, được thiết kế chuyên dụng cho việc học tập và thí nghiệm với CPLD/FPGA. Hệ thống CIC-310 bao gồm hai thành phần chính: bảng phát triển mạch số (ví dụ: SN-PLDE2) chứa chip FPGA và các mạch phụ trợ, và bảng thí nghiệm (SN-PLDE3A) cung cấp các thiết bị ngoại vi đầu vào/ra. Bảng thí nghiệm tích hợp sẵn các module như công tắc logic, LED 7 thanh, bộ tạo xung và bàn phím, giúp việc kết nối và kiểm thử thiết kế trở nên thuận tiện. Để lập trình cho chip FPGA, ngôn ngữ mô tả phần cứng VHDL được sử dụng. VHDL (VHSIC Hardware Description Language) là một ngôn ngữ tiêu chuẩn cho phép mô tả hoạt động và cấu trúc của các hệ thống số ở nhiều mức độ trừu tượng khác nhau. Một chương trình VHDL thường bao gồm các đơn vị thiết kế chính như Entity (định nghĩa các cổng vào/ra) và Architecture (mô tả hoạt động bên trong). Ngôn ngữ này hỗ trợ các đối tượng như tín hiệu (signal), biến (variable), hằng số (constant) và cung cấp nhiều kiểu dữ liệu cùng các toán tử logic, số học để mô tả các mạch phức tạp.

3.1. Cấu trúc và chức năng của hệ thống phần cứng CIC 310

Hệ thống CIC-310 là một thiết bị độc lập được thiết kế để đơn giản hóa quá trình thí nghiệm với FPGA. Bảng phát triển mạch chứa chip FPGA, bộ vi điều khiển AT89C2051 để tải cấu hình, và mạch giao diện RS-232 để kết nối với máy tính. Bảng thí nghiệm SN-PLDE3A cung cấp một loạt các module I/O, bao gồm ba bộ công tắc trượt 8-bit, các dãy đèn LED chỉ thị trạng thái, bộ hiển thị LED 7 thanh 6 chữ số, và bộ tạo xung nhịp có thể điều chỉnh tần số. Các module này được kết nối với các chân I/O của FPGA thông qua các jumper, cho phép người dùng tùy biến cấu hình phần cứng một cách linh hoạt cho từng bài toán thiết kế cụ thể.

3.2. Giới thiệu ngôn ngữ mô tả phần cứng VHDL và cấu trúc

VHDL là một ngôn ngữ mạnh mẽ cho phép mô tả hệ thống phần cứng số một cách trừu tượng, không phụ thuộc vào công nghệ chế tạo. Cấu trúc cơ bản của một thiết kế trong VHDL bao gồm hai phần: ENTITYARCHITECTURE. ENTITY khai báo giao diện của mạch, định nghĩa các cổng vào và ra. ARCHITECTURE mô tả chi tiết hoạt động của mạch, có thể được viết theo ba phong cách chính: mô tả luồng dữ liệu (Dataflow), mô tả hành vi (Behavioral) sử dụng các câu lệnh tuần tự trong một PROCESS, hoặc mô tả cấu trúc (Structural) bằng cách kết nối các thành phần con. Sự phân tách này giúp quản lý các thiết kế lớn và tái sử dụng các module một cách hiệu quả.

3.3. Các bước cơ bản trong quy trình thiết kế trên FPGA

Quy trình thiết kế trên FPGA bao gồm nhiều bước tuần tự. Đầu tiên là Nhập thiết kế (Design Entry), nơi mã VHDL hoặc sơ đồ nguyên lý được tạo ra. Tiếp theo là Kiểm tra và mô phỏng (Design Verification) để xác minh chức năng logic của thiết kế. Sau đó, công cụ Tổng hợp (Design Synthesis) sẽ dịch mã mô tả cấp cao thành một danh sách kết nối (netlist) ở mức cổng logic. Bước Thực thi (Design Implementation) sẽ ánh xạ (Map) netlist vào tài nguyên của chip FPGA cụ thể, sau đó định vị (Place) và định tuyến (Route) các kết nối. Cuối cùng, bước Cấu hình (Configuration) sẽ tạo ra một tệp bitstream để nạp vào FPGA, biến nó thành mạch số đã thiết kế.

IV. Hướng dẫn thiết kế đồng hồ trên Maxplus II và CIC 310

Quá trình thiết kế thử nghiệm đồng hồ kỹ thuật số 24 giờ trên FPGA được thực hiện qua hai giai đoạn chính: thiết kế phần mềm trên Maxplus II và kết nối, nạp chương trình lên phần cứng CIC-310. Phần mềm Altera MAX+PLUS II là một môi trường phát triển tích hợp (IDE) mạnh mẽ, cung cấp các công cụ cần thiết từ soạn thảo mã, biên dịch, mô phỏng đến nạp cấu hình cho chip FPGA. Quy trình trên Maxplus II bắt đầu bằng việc tạo một dự án mới, đặt tên và chọn đúng loại chip FPGA đang sử dụng trên bo mạch CIC-310. Sau đó, một tệp soạn thảo văn bản được tạo để viết mã VHDL mô tả toàn bộ logic của đồng hồ, bao gồm các bộ đếm giây, phút, giờ, bộ giải mã và logic điều khiển hiển thị. Sau khi soạn thảo xong, dự án được lưu và kiểm tra lỗi cú pháp. Bước quan trọng tiếp theo là gán chân (Pin Assignment) bằng công cụ Floorplan Editor, nơi mỗi cổng vào/ra trong mã VHDL (như xung nhịp, nút nhấn, các đoạn LED) được liên kết với một chân vật lý cụ thể của chip FPGA. Cuối cùng, dự án được biên dịch hoàn chỉnh để tạo ra tệp cấu hình. Giai đoạn hai là kết nối phần cứng, bao gồm việc cấp nguồn cho bo mạch CIC-310, kết nối với máy tính qua cổng RS-232, và sử dụng phần mềm CPLDEXP để nạp tệp cấu hình vào chip FPGA.

4.1. Quy trình thiết kế và biên dịch dự án trên Maxplus II

Việc thiết kế trên Maxplus II tuân theo một quy trình có cấu trúc. Bước 1: Tạo dự án mới (File > Project > Name). Bước 2: Tạo tệp mã nguồn VHDL (File > New > Text Editor file). Bước 3: Soạn thảo mã logic cho đồng hồ. Bước 4: Lưu và kiểm tra cú pháp (File > Project > Save & Check). Bước 5: Chọn thiết bị FPGA đích (Assign > Device). Bước 6: Gán các cổng vào/ra của thiết kế với các chân vật lý của chip FPGA bằng Floorplan Editor. Đây là bước cực kỳ quan trọng để đảm bảo tín hiệu được kết nối đúng với các thiết bị ngoại vi trên bo mạch CIC-310. Bước 7: Biên dịch toàn bộ dự án (File > Project > Save & Compile) để tạo file nạp. Quá trình này sẽ tổng hợp và tối ưu hóa mã, sau đó thực hiện Place & Route.

4.2. Hướng dẫn kết nối phần cứng và nạp code cho CIC 310

Sau khi có tệp cấu hình từ Maxplus II, bước tiếp theo là nạp chương trình lên bo mạch CIC-310. Đầu tiên, cần đảm bảo bo mạch được cấp nguồn và kết nối với máy tính qua cáp RS-232. Mở phần mềm CPLDEXP - Sinosoinc, chọn đúng cổng COM tương ứng. Sử dụng phần mềm, tìm đến đường dẫn chứa tệp cấu hình (file .pof hoặc .sof) đã được tạo ra. Thêm tệp vào danh sách nạp và nhấn nút "Config" để bắt đầu quá trình tải dữ liệu cấu hình vào chip FPGA. Khi quá trình hoàn tất, chip FPGA sẽ ngay lập tức hoạt động như một đồng hồ kỹ thuật số, và kết quả sẽ được hiển thị trên LED 7 thanh.

V. Kết quả thực nghiệm và ứng dụng của đồng hồ FPGA

Kết quả cuối cùng của dự án thiết kế thử nghiệm đồng hồ kỹ thuật số 24 giờ trên FPGA là một sản phẩm hoạt động ổn định và chính xác, hiển thị thời gian trên module LED 7 thanh của hệ thống CIC-310. Sau khi nạp thành công mã cấu hình, đồng hồ bắt đầu đếm từ 00:00:00. Hoạt động của các bộ đếm giây, phút và giờ tuân thủ đúng quy tắc: bộ đếm giây và phút tuần hoàn trong chu kỳ 60 (0-59), trong khi bộ đếm giờ tuần hoàn trong chu kỳ 24 (0-23). Đặc biệt, tại thời điểm chuyển giao từ 23:59:59, đồng hồ tự động nhảy về 00:00:00, xác nhận rằng logic xử lý tràn số đã được thiết kế chính xác. Dự án cũng tích hợp chức năng điều chỉnh thời gian. Bằng cách sử dụng các công tắc có sẵn trên bo mạch CIC-310 (ví dụ S1-1 và S2-2), người dùng có thể chọn chế độ chỉnh giờ hoặc phút, sau đó tăng giá trị tương ứng. Tính năng này cho thấy sự linh hoạt của thiết kế, cho phép tương tác trực tiếp với phần cứng. Thành công của dự án không chỉ nằm ở việc tạo ra một chiếc đồng hồ, mà còn chứng minh được tính khả thi của việc sử dụng FPGA để nhanh chóng tạo mẫu các hệ thống số phức tạp, mở ra nhiều ứng dụng thực tiễn khác.

5.1. Đánh giá kết quả mô phỏng và hoạt động thực tế

Kết quả thực nghiệm cho thấy sự tương đồng cao so với kết quả mô phỏng trên phần mềm Maxplus II. Đồng hồ hoạt động chính xác theo thời gian thực. Các chữ số được hiển thị rõ ràng trên LED 7 thanh thông qua kỹ thuật quét LED, giúp tiết kiệm số chân I/O của FPGA. Tần số xung nhịp đầu vào được chia để tạo ra tín hiệu 1Hz chuẩn cho bộ đếm giây. Logic điều khiển và chuyển đổi giữa các trạng thái (ví dụ từ 59 giây sang 00 giây và tăng phút lên 1) hoạt động hoàn hảo. Kết quả này khẳng định rằng từ lý thuyết về mạch giải mãbộ đếm mod N đến việc triển khai bằng VHDL đã được thực hiện một cách chính xác.

5.2. Phương pháp điều chỉnh thời gian và tương tác người dùng

Để tăng tính ứng dụng, đồng hồ được thiết kế với cơ chế điều chỉnh thời gian. Tài liệu gốc mô tả việc sử dụng công tắc S1-1 để chuyển đổi giữa chế độ chỉnh giờ và chỉnh phút. Khi ở một chế độ nhất định, công tắc S2-2 được sử dụng như một nút nhấn để tăng giá trị của giờ hoặc phút lên một đơn vị. Logic này được cài đặt trong mã VHDL, liên tục kiểm tra trạng thái của các công tắc này và cập nhật giá trị của các bộ đếm tương ứng. Điều này cho phép người dùng dễ dàng thiết lập thời gian ban đầu cho đồng hồ mà không cần phải nạp lại chương trình.

VI. Kết luận và các hướng phát triển cho dự án đồng hồ FPGA

Dự án thiết kế thử nghiệm đồng hồ kỹ thuật số 24 giờ trên FPGA đã đạt được mục tiêu đề ra, đó là xây dựng thành công một sản phẩm hoạt động dựa trên nền tảng lý thuyết vững chắc và công cụ phát triển chuyên nghiệp. Quá trình từ phân tích yêu cầu, nghiên cứu cơ sở lý thuyết về bộ đếm mod Nmạch giải mã, đến lập trình VHDL trên Maxplus II và triển khai trên phần cứng CIC-310 đã cung cấp một cái nhìn toàn diện về quy trình thiết kế vi mạch số hiện đại. Kết quả thực nghiệm đã chứng minh tính đúng đắn của thiết kế, với đồng hồ hoạt động ổn định và có khả năng tương tác với người dùng. Dự án này không chỉ là một bài tập học thuật mà còn là nền tảng cho nhiều cải tiến và mở rộng trong tương lai. Công nghệ FPGA với tính linh hoạt cao cho phép dễ dàng tích hợp thêm các chức năng mới, biến chiếc đồng hồ đơn giản thành một hệ thống nhúng phức tạp hơn. Hướng phát triển có thể bao gồm việc thêm các tính năng như báo thức, đồng hồ bấm giờ, hoặc kết nối với các cảm biến để hiển thị thông tin về nhiệt độ, độ ẩm, tạo ra một sản phẩm đa chức năng và thông minh hơn.

6.1. Đánh giá tổng quan những kết quả đạt được của dự án

Dự án đã thành công trong việc áp dụng kiến thức lý thuyết về mạch số vào một ứng dụng thực tế. Nó đã chứng minh được năng lực của việc sử dụng ngôn ngữ VHDL để mô tả các hệ thống tuần tự phức tạp. Việc triển khai thành công trên kit FPGA CIC-310 cho thấy sự hiệu quả của việc kết hợp giữa phần mềm mô phỏng và phần cứng thực tế trong quá trình phát triển sản phẩm. Hơn nữa, việc hoàn thành dự án giúp củng cố kỹ năng giải quyết vấn đề, từ khâu thiết kế logic, viết mã, gỡ lỗi cho đến kiểm thử trên phần cứng.

6.2. Tiềm năng mở rộng và cải tiến cho thiết kế trong tương lai

Thiết kế hiện tại có thể được mở rộng theo nhiều hướng. Về phần cứng, có thể thay thế LED 7 thanh bằng màn hình LCD để hiển thị thêm thông tin như ngày, tháng, năm. Về phần mềm, có thể tích hợp thêm các module chức năng như đồng hồ báo thức (alarm), đồng hồ bấm giờ (stopwatch) hoặc lịch vạn niên. Một hướng đi cao cấp hơn là kết nối FPGA với module thời gian thực (RTC - Real-Time Clock) để duy trì thời gian chính xác ngay cả khi mất điện, hoặc kết nối với module Wi-Fi/Bluetooth để đồng bộ thời gian qua internet và điều khiển từ xa qua ứng dụng di động, biến nó thành một thiết bị IoT.

04/10/2025

Trích đoạn nội dung tài liệu

LỜI NÓI ĐẦU Ngày nay với sự phát triển mạnh mẽ của Khoa học và Kỹ thuật, chúng ta phải luôn sáng tạo tìm hiểu những thứ xung quanh, đem lại cho thế giới một thông điệp văn minh tiến hóa vƣợt bật của con ngƣời.Với sự phát triển của xã hội hôm nay chúng ta phải luôn luôn sáng tạo ra cái mới để đem lại cái lợi ích chung cho con ngƣời Nhƣ chúng ta đã biết, đồng hồ kỹ thuật số là vật dụng phổ biến trong cuộc sống của mỗi con ngƣời. Giúp chúng ta nắm bắt đƣợc giờ giấc hằng ngày. Hệ thống phát triển CIC-310 và FPGA là một hệ thống rất hữu ích giúp chúng ta có thể thí nghiệm cũng nhƣ thiết kế thử nghiệm đơn giản dễ dàng hơn. Từ những lý do đó nên em xin chọn đề tài khóa luận là thiết kế thử nghiệm đồng hồ kỹ thuật số 24 giờ trên FPGA.

Bài khóa luận gồm 3 chƣơng: - Chƣơng 1: Cơ sở lý thuyết + Trình bày tóm tắt các mạch đƣợc sử dụng để thiết kế đồng hồ kỹ thuật số 24 giờ - Chƣơng 2: Hệ thống phát triển CIC-310 và FPGA + Tìm hiểu hệ thống phát triển CIC-310 + Cơ bản về lập trình logic FPGA +Ngôn ngữ mô tả phần cứng VHDL - Chƣơng 3: Thiết kế thử nghiệm đồng hồ kỹ thuật số 24 giờ trên FPGA + Tiến hành thiết kế đồng hồ kỹ thuật số 24 giờ trên phần mềm Maxplus II và kết nối phần cứng CIC-310 Bài khóa luận còn gặp nhiều thiếu sót mong thầy cô và các bạn đóng góp thêm để bài khóa luận đƣợc hoàn chỉnh hơn. Em xin chân thành cảm ơn! Hà Nội,ngày 13 tháng 5 năm 2017 Sinh viên thực hiện đề tài Nguyễn Quang Quân MỤC LỤC LỜI NÓI ĐẦU MỤC LỤC DANH MỤC CÁC BẢNG VÀ HÌNH VẼ CHƢƠNG 1: CƠ SỞ LÝ THUYẾT .3 Mạch giải mã hiển thị LED 7 thanh. Trình tự thiết kế bộ đếm .4 Bộ đếm mod N. 6 CHƢƠNG 2: HỆ THỐNG PHÁT TRIỂN CIC-310 VÀ FPGA .1 Hệ thống phát triển CIC-310 .1 Bảng phát triển SN-PLDE2 .2 Bảng thí nghiệm SN-PLDE3A .2 Cơ bản về lập trình logic FPGA .3 Các bƣớc thiết kế FPGA .3 Ngôn ngữ mô tả phần cứng VHDL .1 Giới thiệu ngôn ngữ mô tả phần cứng VHDL .2 Cấu trúc ngôn ngữ VHDL.

30 CHƢƠNG 3:THIẾT KẾ THỬ NGHIỆM ĐỒNG HỒ KỸ THUẬT SỐ 24 GIỜ TRÊN FPGA .1 Thiết kế trên phần mềm Maxplus II .2 Kết nối phần cứng CIC – 310. 46 DANH MỤC TÀI LIỆU THAM KHẢO. 47 DANH MỤC CÁC BẢNG Bảng 1. Bảng trạng thái mô tả hoạt động của mạch giải mã.

Phƣơng trình tối thiểu hóa của các đoạn LED trong LED 7 thanh loại Anode chung. Bảng trạng thái mô tả hoạt động của mạch giải mã LED 7 thanh loại Kathode chung. Phƣơng trình tối thiểu hóa của các đoạn LED trong LED 7 thanh loại Kathode chung. Bảng trạng thái của FF JK.

Bảng trạng thái cuả mạch đếm 10. Kết quả sau khi thực hiện hàm Chuyển. Bảng sự thật cho J,K của từng FF. Bảng trạng thái cho số đếm.

Bảng trạng thái của mạch đếm 5. Bảng sự thật cho J, K của các FF và D khi sử dụng phƣơng pháp MARCUS. Bảng sự thật cho các ngõ vào Reset. 15 DANH MỤC CÁC HÌNH VẼ Hình 1.

Sơ đồ khối của mạch giải mã. Quy ƣớc các đoạn của LED 7 thanh. LED 7 thanh loại Kathode chung. LED 7 thanh loại Anode chung.

Sơ đồ khối của bộ đếm. Sơ đồ phân loại bộ đếm. Các bƣớc thiết kế bộ đếm. Bảng Karnaugh để xác định HB,HC ,HD.

Mạch đếm 10 đồng bộ dùng JK. Bảng Karnaugh xác định J và K. Mạch đếm kiểu RESET. Bảng Karnaugh xác định HD và HB.

Bảng Karnaugh xác định JD và JB. Mạch đếm 10 thiết kế theo kiểu đếm 2x5. Sơ đồ mạch của IC 7490.Dạng sóng ở các ngõ ra của 2 mạch đếm 10. Hệ thống phát triển CPLD/FPGA.

Bảng mạch phát triển mạch SN-PLDE2. Bảng thí nghiệm SN-PLDE3A. Bộ chuyển mạch Logic S1-S3. Hiện thị LED Logic.

Phân định chân cắm của hiển thị 7 phân đoạn. Mã vận hành của bộ hiển thị 7 phân đoạn 6 chữ số. Phần máy phát xung nhịp. Bàn phím ma trận ở chế độ riêng biệt.

Bàn phím ma trận ở chế độ quét hình. Hiển thị 16 phân đoạn. Ổ cắm bộ hiển thị 16 phân đoạn. Bộ mạch bộ hiển thị 16 phân đoạn.

Phân định chân cắm của bộ LED điểm chấm 5x7. Ổ cắm bộ LED điểm chấm 5x7 JP22 và bộ chọn lọc điểm chấmJP24 .Cấu trúc tổng thể một FPGA .Khối logic FPGA. Cấu trúc mô tả phần cứng và các đối tƣợng trong VHDL. Màn hình phần mềm khi khởi động.

Tạo dự án mới. Đặt tên cho dự án là dh_24h. Tạo tệp soạn thảo code mới. Bảng soạn thảo code mới.

Lƣu lại tệp dh_24h .Chọn thông số máy. Chọn thông số máy. Lƣu và kiểm tra lỗi. Hộp thoại kiểm tra lỗi.

Gán các cổng vào/ra cho chip điều khiển. Biên dịch và lƣu dự án. Hộp thoại kiểm tra biên dịch .Chọn cổng kết nối. Nạp code cho thiết bị.

Kết quả thực hiện đồng hồ kỹ thuật số. Bật tắt công tắc S1-1 để chọn vị trí chỉnh giờ hoặc phút .Bật tắt công tắc S2-2 để chỉnh số phút .Kết quả hiện thị đúng với đồng hồ kỹ thuật số 24 giờ. 45 CHƢƠNG 1: CƠ SỞ LÝ THUYẾT Để thực hiện việc thiết kế thử nghiệm đồng hồ kỹ thuật số 24 giờ trên FPGA ta cần tìm hiểu một số mạch logic đƣợc dùng trong khối đồng hồ kĩ thuật số. Dƣới đây sẽ trình bày tóm tắt một số mạch logic sử dụng trong đồng hồ kĩ thuật số 24h.1 Khái niệm - Mã hóa là phƣơng pháp để biến thông tin từ định dạng bình thƣờng sang dạng thông tin không thể hiểu đƣợc nếu không có phƣơng tiện giải mã.

- Giải mã là phƣơng pháp để đƣa từ dạng thông tin đã đƣợc mã hóa về dạng thông tin ban đầu, quá trình ngƣợc của mã hóa. - Bộ giải mã là mạch điện thực hiện việc chuyển từ mã sang tin tức - Sơ đồ khối của mạch giải mã Hình 1. Sơ đồ khối của mạch giải mã 1.2 Phân loại Mạch giải mã đƣợc chia thành: - Mạch giải mã nhị phân sang thập phân - Mạch giải mã hiển thị ký tự số - Mạch giải mã hiển thị LED 1.3 Mạch giải mã hiển thị led 7 thanh LED 7 thanh là loại đèn dùng hiển thị các số từ 0 đến 9, đèn gồm 7 đoạn a, b, c, d, e, f, g, bên dƣới mỗi đoạn là 1 LED (đèn nhỏ) hoặc một nhóm LED mắc song song (đèn lớn). Quy ƣớc các đoạn của LED 7 thanh Có 2 loại đèn 7 thanh: - Loại Kathode chung, dùng cho mạch giải mã có ngõ ra tác động cao Hình 1.

LED 7 thanh loại Kathode chung - Loại Anode chung, dùng cho mạch giải mã có ngõ ra tác động thấp Hình 1. LED 7 thanh loại Anode chung a) Giải mã LED 7 đoạn loại Anode chung Đối với LED 7 đoạn Anode chung vì các Anode chung của các đoạn LED đƣợc nối với nhau và đƣa lên mức logic 1, nên muốn đoạn led nào tắt ta nối Kathode tƣơng ứng lên mức logic 1 và ngƣợc lại muốn đoạn LED nào sáng ta nối Kathode tƣơng ứng xuống mass (mức logic 0). Ví dụ: Để hiện thị số 0 ta nối Kathode của đèn g lên mức logic 1 để đèn g tắt, và nối các Kathode của đèn a, b, c, d, e, f xuống đất nên ta thấy số 0. Lúc đó bảng trạng thái mô tả hoạt động của mạch giải mã LED 7 đoạn Anode chung nhƣ sau: 2 Bảng 1.

Bảng trạng thái mô tả hoạt động của mạch giải mã Led 7 thanh loại Anode chung D B C A a b c d e f g Số hiển thị 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 1 1 1 1 1 0 0 1 0 0 0 1 0 0 1 0 2 0 0 1 1 0 0 0 0 1 1 0 3 0 1 0 0 1 0 0 1 1 0 0 4 0 1 0 1 0 b 0 0 1 0 0 5 0 1 1 0 0 1 0 0 0 0 0 6 0 1 1 1 0 0 0 1 1 1 1 7 1 0 0 0 0 0 0 0 0 0 0 8 1 0 0 1 0 0 0 0 1 0 0 9 1 0 1 0 X X X X X X X X 1 0 1 1 X X X X X X X X 1 1 0 0 X X X X X X X X 1 1 0 1 X X X X X X X X 1 1 1 0 X X X X X X X X 1 1 1 1 X X X X X X X X Dùng bảng Karnaugh để tối thiểu hóa mạch trên và đƣa ra phƣơng trình tối thiểu hóa ở dạng chính tắc 1 và chính tắc 2 nhƣ ở bảng 1. Phƣơng trình tối thiểu hóa của các đoạn LED trong LED 7 thanh loại Anode chung 3 b) Giải mã LED 7 đoạn loại Kathode chung Chọn mức tích cực ở ngõ ra là mức logic 1. Vì Kathode của các đoạn LED đƣợc nối chung với nhau và đƣợc nối xuống mức logic 0 (0v-GND) nên muốn đoạn LED nào tắt ta đƣa Anode tƣơng ứng xuống mức logic 0. Ví dụ: Để hiện thị số 0 ta nối Anode của đèn g xuống mức logic 0 để đèn g tắt, và nối các Kathode của đèn a, b, c, d, e, f đƣợc nối lên nguồn nên các đoạn này sẽ sáng do đó ta thấy số 0.

Lúc đó bảng trạng thái mô tả hoạt động của mạch nhƣ sau: Bảng 1.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ