Tải bản đầy đủ (.doc) (5 trang)

Tài liệu Xây dựng các chương trình ứng dụng cho PLD có trong phòng thí nghiệm của khoa KTĐT1 doc

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (80.22 KB, 5 trang )

Xây dựng chơng trình ứng dụng cho các pld
có trong phòng thí nghiệm của khoa kTĐT 1
I.Tính cấp thiết của đề tài
Hiện nay tại phòng thí nghiệm của khoa Kĩ thuật Điện tử 1 đợc trang bị các thiết bị dùng để
lập trình cho các cấu kiện PLDs (Programmable Logic Devices). Việc nghiên cứu triển khai các
ứng dụng của PLD cho sinh viên thực hành là rất cần thiết. Tuy nhiên, cho đến nay chỉ có một số
ứng dụng của PLD đợc đa vào một số bài thí nghiệm thuộc môn học Kĩ thuật số ở khoa Kĩ thuật
Điện tử 1. Đề tài này ngoài việc tạo điều kiện cho sinh viên (nhất là sinh viên đại học) đợc tiếp xúc
cũng nh phát triển các ứng dụng của PLD vẫn còn bị hạn chế ở trong khoa (lập trình cho các PLD
và chạy các ứng dụng trên các tấm mạch có sẵn trong phòng thí nghiệm) nó còn góp phần nghiên
cứu, triển khai các ứng dụng mới cho PLD. Kết quả của đề tài giúp cho các sinh viên ít có điều
kiện tiếp xúc với tài liệu và các thiết bị về PLD có thể nắm đợc phơng pháp lập trình cho PLD (sử
dụng phần mềm SNAP) và cách triển khai các ứng dụng lên các tấm chạy thử.
II. Nội dung khoa học
1. Tổng quan về PLD
Các cấu kiện lập trình đợc (PLD) là các mảng cổng logic tiêu chuẩn, có thể đợc cấu hình
bằng các phơng trình khác nhau để thực hiện nhiều hàm logic. Đơn giản nhất là các mạch logic
liên hợp nh bộ giải mã hoặc ghép kênh, sau đó là các bộ ghi, phức tạp hơn nữa là các mô hình
trạng thái đợc dùng trong điều khiển hệ thống. Trong phòng thí nghiệm hiện nay có tấm ứng dụng
PLD 28-110, nó cho phép tiến hành với hai loại cấu kiện khác nhau là PLC18V8Z và PLC42VA12
(hai loại này dễ phân biệt với nhau vì PLC18V8Z có 20 chân, còn PLC41VA12 có 24 chân).
Để tiện dùng trên tấm ứng dụng 28-110, các PLD đã đợc lắp sẵn theo modul. Modul 28-110
gắn sẵn PLC18V8Z, modul 28-102 gắn sẵn PLC42VA12.
2. Phần mềm SNAP
2.1 Giới thiệu.
SNAP (Synthesis Netlist Analysis & Program software) là một chơng trình phần mềm của
hãng Philips Semiconductors đợc dùng để thiết kế mạch logic trên những cấu kiện có thể lập
trình đợc của Philips. Quy cách xây dựng phơng trình logic thì không phụ thuộc vào loại cấu kiện
PLD. Sau khi mô phỏng và gỡ rối cho một mạch logic, trớc hết ta có thể xác định rõ bản thiết kế
mạch, sau đó chọn bộ thiết bị PLD.
2.2 Các b ớc tiến hành trong SNAP


SNAP là một chơng trình phần mềm điều khiển thực đơn có tính tác động qua lại. Sơ đồ
menu cho phép ta chọn loại hình hoạt động trong SNAP nh mong muốn.
SNAP 1.90 Copyright 1993 PHILIPS SEMICONDUCTOR All rights reserved

Project : DEMO


Use cursor keys to select modul
Use function keys to enter
1:HELP 2:RUN 3:PROJECT 4:STATUS 5:SETUP 6:SAVE 7:DOS 8:EDIT 9:PRINT 10:EXIT
Các hộp trên hình vẽ trên thể hiện các hoạt động trong Snap để ta có thể lựa chọn ở bất cứ
thời điểm nào mà không cần phải theo thứ tự.
3. Phơng pháp thiết kế PLD.
Con đờng hữu hiệu nhất để thiết kế khi sử dụng logic lập trình là tiệm cận hộp đen. Trớc hết,
ta vẽ một hộp đen để thể hiện chức năng, thêm các lối vào ra cần thiết đó xác lập các mối liên
quan của các đầu ra với tổ hợp khác nhau của các đầu vào. Đặc tính đầu ra có thể đợc biểu diễn
theo các biểu thức logic hoặc bằng sự chuyển đổi các trạng thái của mạch.
- Các bớc tuần tự để thiết kế logic lập trình:
1. Xác định chức năng.
Minimizer
Equations
Abel2Snap
ScCapture
NetConv Edif NetGen MacSel
Merger
Waveforms
SimNet Compiler
TestVector SimScl SimFlt ModGen DPI
SimPrt Plot
2. Tạo các phơng trình.

3. Đa các phơng trình vào máy tính.
4. Mô phỏng và kiểm tra.
5. Biên dịch.
6. Lập trình cho cấu kiện.
7. Kiểm tra chức năng.
Sau khi hoàn thành bớc1, bớc 2 ta thực hiện bớc 3 nh sau:
Nh ta đã biết phơng trình logic và phơng trình trạng thái đều nằm trong file ENQ. Do đó, ta
tạo một đề án mới dùng phím F3 (project), Snap tạo ra file mẫu cho phơng trình <project>, ENQ
file mới này có nội dung nh sau:
@PINLIST
@GROUPS
@TRUTHTABLE
@LOGIC EQUATIONS
@INPUT VECTORS
@OUTPUT VECTORS
@STATE VECTORS
@TRANSITIONS
4. Một ví dụ cụ thể: MUX/DEMUX 4:4
4.1 Chức năng:
MUX/DEMUX 4:4 thực hiện chức năng phân kênh và ghép kênh với bốn lối vào và bốn lối ra
tuỳ chọn.
4.2 Lập trình:
ở thí dụ này ta lập trình bằng phơng pháp phơng trình logic
@PINLIST
ena I; "Đầu vào kiểm soát lối ra cho phép,nhận tích cực thấp "
dcs I; "Đầu vào điều khiển hớng tín hiệu: dcs=0 x to y dcs=1 y to x"
xa0 I; "Đầu vào địa chỉ của kênh x"
xa1 I; "Đầu vào địa chỉ của kênh x"
ya0 I; "Đầu vào địa chỉ của kênh y"
ya1 I; "Đầu vào địa chỉ của kênh y"

x0 B; " Lối vào/ ra dữ liệu x0"
x1 B; " Lối vào/ ra dữ liệu x1"
x2 B; " Lối vào/ ra dữ liệu x2"
x3 B; " Lối vào/ ra dữ liệu x3"
y0 B; " Lối vào/ra dữ liệu y0"
y1 B; " Lối vào/ra dữ liệu y1"
y2 B; " Lối vào/ra dữ liệu y2"
y3 B; " Lối vào/ra dữ liệu y3"
@LOGIC EQUATIONS
xzero = /xa1 * /xa0;
xone = /xa1 * xa0;
xtwo = xa1 * /xa0;
xthree = xa1 * xa0;
yzero = /ya1 * /ya0;
yone = /ya1 * ya0;
ytwo = ya1 * /ya0;
ythree = ya1 * ya0;
x_to_y = x0 * xzero + x1 * xone + x2 * xtwo + x3 * xthree;
y_to_x = y0 * yzero + y1 * xone + y2 * ytwo + y3 * ythree;
*********** Ghép kênh 4:4 x to y ***************
y0 = /ena * /dcs * yzero * x_to_y;
y1 = /ena * /dcs * yone * x_to_y;
y2 = /ena * /dcs * ytwo * x_to_y;
y3 = /ena * /dcs * ythree * x_to_y;
********** Phân kênh 4:4 y to x *****************
x0 = /ena * dcs * xzero * y_to_x;
x1 = /ena * dcs * xone * y_to_x;
x2 = /ena * dcs * xtwo * y_to_x;
x3 = /ena * dcs * xthree * y_to_x;
********* Đầu ra cho phép **********************

y0.oe = /ena * /dcs * yzero;
y1.oe = /ena * /dcs * yone;
y2.oe = /ena * /dcs * ytwo;
y3.oe = /ena * /dcs * ythree;
x0.oe = /ena * dcs * xzero;
x1.oe = /ena * dcs * xone;
x2.oe = /ena * dcs * xtwo;
x3.oe = /ena * dcs * xthree;
III. Phơng pháp nghiên cứu của đề tài
Việc thực hiện nghiên cứu khoa học có các phơng pháp cơ bản sau:
. Phơng pháp nghiên cứu lí luận
. Phơng pháp quan sát
. Phơng pháp thực nghiệm khoa học
. Phơng pháp điều tra
. Phơng pháp mô hình hoá
. Phơng pháp sơ đồ hoá(GRAP)
. Phơng pháp phân tích và tổng kết kinh nghiệm
Với đề tài này việc thu nhận thông tin thông qua tài liệu về PLD và phần mềm SNAP là rất
quan trọng, nó là cơ sở để xây dựng các ứng dụng cho PLD và việc triển khai nó. Vì vậy, đề tài
này đã sử dụng phơng pháp nghiên cứu lí luận cho việc thu thập những thông tin cần thiết trong
các nguồn tài liệu có liên quan. Tuy nhiên, việc thực hiện đề tài này ngoài lí thuyết còn cần các
thiết bị chuyên môn, các phơng tiện kĩ thuật đặc biệt . Do đó trong quá trình thực hiện, nhóm
nghiên cứu đã sử dụng đồng thời phơng pháp thực nghiệm khoa học trong phòng thí nghiệm.
Việc sử dụng song song hai phơng pháp này đã giúp cho kết quả của đề tài vừa có tính
chính xác của việc nghiên cứu trên lí thuyết và tính thực tiễn cao.
IV.Khả năng ứng dụng trong thực tiễn
Với mục đích ban đầu của đề tài là xây dựng chơng trình ứng dụng cho các PLD có trong
phòng thí nghiệm nên ứng dụng lớn nhất của đề tài là phục vụ cho các bài thực hành của sinh
viên. Tuy nhiên, trong thực tế có rất nhiều loại cấu kiện PLDs với các chức năng khác nhau, do đó
nó cũng có nhiều ứng dụng khác nhau cho từng loại cấu kiện cụ thể. Đề tài này đã thực hiện xây

dựng 3 ứng dụng thực tiễn cho thực hành đó là:
. Giải mã LED 7 đoạn.
. MUX DEMUX 4:4.
. Điều khiển Motor bớc.
Với ứng dụng Giải mã LED 7 đoạn , ta sử dụng cấu kiện PLC18V8Z. ứng dụng Mux-
Demux 4:4 và Điều khiển Motor bớc, ta sử dụng cấu kiện PLC42VA12. Cả 3 ứng dụng này đều
có PLD đợc lắp sẵn theo modul trên tấm ứng dụng 28-110 để chạy thử. Ngoài ra, khả năng ứng
dụng PLD rất lớn và có nhiều ý nghĩa, đề tài này cũng viết chơng trình lập trình thực hiện điều
khiển đèn giao thông và điều khiển giờ đánh trống vào, ra lớp học. Việc đa ra ứng dụng thực tế
phải cần có các cấu kiện PLD cụ thể

×