Luận văn tốt nghiệp
Hệ thống báo giờ tự động Nguyên lí hoạt động tổng quát:
Hệ thống báo giờ tự động là một hệ vi xử lí nên hoạt động của hệ thống là
sự kết hợp chặt chẽ giữa phần cứng và phần mềm.
Vi xử lí được đặt ở chế độ “auto reset” nên khi mới mở điện vi xử lí sẽ bắt
đầu đọc bộ nhớ tại đòa chỉ 0000h. Đây cũng là đòa chỉ bắt đầu của chương trình
hệ thống. Ngoài ra, mạch kiểm soát ngắt sẽ cấm tín hiệu Timer tác động vào
ngắt
NMI
của Z80 nhằm mục đích tránh việc tạo thời gian thực sai dẫn đến hệ
thống báo giờ sai.
Về mặt phần mềm:
Khi mới mở điện chương trình hệ thống sẽ khởi động mạch hiển thò (khởi tạo
8279) để mạch hiển thò sẵn sàng hiển thò dữ liệu thời gian thực từ vi xử lí gởi tới.
Ngoài ra, chương trình hệ thống còn reset mạch báo chuông …
Mạch bàn phím hoạt động khi chương trình con Keypro được gọi để phục vụ
cho Settime, Hottime hay Skiptime.
Phần “cấu tạo và nguyên tắt hoạt động của các khối mạch” sẽ giúp chúng ta
hiểu rõ hơn hoạt động của Hệ Thống. Bước đầu tiên trong việc thiết kế Hệ
Thống là phân bố bộ nhớ và thực hiện giải mã đòa chỉ cho các bộ phận của Hệ
Thống.
Luận văn tốt nghiệp
Hệ thống báo giờ tự động2.2_Bộ nhớ Hệ Thống và giải mã đòa chỉ:
2.2.1_Bộ nhớ Hệ Thống:
Hệ Thống báo giờ tự động là một hệ vi xử lí nên việc phân bố bộ nhớ
4KB
2FFFh2000hMẠCH HIỂN THỊ 4KB
1FFFh1800hCHƯA DÙNG 2KB
17FFh1000hRAM
Program Inhibit
V
IL
V
IH
V
IL
V
IL
V
IH
V
IL
X
Vpp
V
IL
Vpp
Vcc
Vcc
Vcc
Vcc
Vcc
Dout
High Z
Din
Dout
High Z
H
L
L
L
X
H
L
H
X
H
H
L
High Z
High Z
Dout
Din
Bảng 2 : BẢNG MÔ TẢ HOẠT ĐỘNG CỦA IC – RAM 6116
Hình 4: SƠ ĐỒ CHÂN CHỨC NĂNG CỦA RAM 6116
Vùng nhớ còn lại được dành cho các bộ phận: bàn phím, hiển thò, điều
khiển báo hiệu.
2.2.2_ Mạch giải mã đòa chỉ:
Nhiệm vụ mạch giải mã đòa chỉ là thực hiện hoạt động giải mã để tạo ra
các tín hiệu : chọn IC nhớ ROM , RAM (CS chip select) và các tín hiệu điều
khiển chọn các bộ phận bàn phím, hiển thò, điều khiển báo hiệu.
Mạch giải mã đòa chỉ là một mạch giải mã từ 3 ra 8 đường sử dụng 3
đường đòa chỉ A12, A13, A14 để giải mã tạo 8 đường tín hiệu điều khiển và chọn
chip.
Bảng giải mã đòa chỉ chi tiết cùng các tín hiệu điều khiển như sau:
0
0 0 0
0 0 1
0 0 1
0 1 0
0 1 1
1 0 0
x x …… x
0 x …… x
1 x …… x
x x … x
x x … x
x x …… x
0000h – 0FFFh
1000h - 17FFh
1800h – 1FFFh
2000h – 2FFFh
3000h - 3FFFh
4000h - 4FFFh
1CS
2CSDPL
BDR
KBD
Hình 6: SƠ ĐỒ CHI TIẾT MẠCH BỘ NHỚ
Các tín hiệu
1CS
,
2CS
thực hiện chọn IC ROM và IC RAM. Tín hiệu
RD
từ P điều khiển việc đọc dữ liệu trong ROM và RAM, tín hiệu
WR
cho
phép P ghi dữ liệu vào RAM.
Giản đồ thời gian các chu kì P đọc và ghi bộ nhớ như hình 7:
Luận văn tốt nghiệp
Hệ thống báo giờ tự động
CLOCK
A0-A15 VALID ADDRESS
MERQ
RD D0-D7 DATA IN
WR
= L
Đọc bàn phím 4000h – 4FFFh L
KBD
= L
Luận văn tốt nghiệp
Hệ thống báo giờ tự động2.3_ Khảo sát tính chất ngắt
NMI
:
(NON_ MASKABLE INTERRUPT)
Ngắt NMI (ngắt không thể che bằng phần mềm) của Z80 là ngắt có độ ưu
tiên tuyệt đối. Khi có ngắt
NMI
tác động, chương trình Hệ Thống sẽ tạm dừng
công việc hiện tại để thực hiện chương trình phục vụ ngắt
NMI
bắt đầu tại đòa
chỉ 0066h.
Với yêu cầu đặt ra là Hệ Thống làm việc với thời gian thực, nên đòi hỏi việc
đếm thời gian phải thực hiện chính xác và được ưu tiên hàng đầu. Do đó, ngắt
NMI dành cho việc đếm thời gian thực. Tuy nhiên, ngoài hoạt động đếm thời
gian thực chương trình Hệ Thống còn phải thực hiện các công việc khác như:
phục vụ bàn phím, phục vụ việc báo hiệu cũng như hiển thò. Ngắt
NMI
không
chương trình Hệ
Thống tạm dừng công việc hiện tại và thực hiện chương trình phục vụ ngắt NMI ,
nếu tín hiệu ngắt
NMI
tiếp tục được giữ ở mức logic thấp thì sau khi chương
trình phục vụ ngắt
NMI
thực hiện xong, P sẽ trở về thực hiện công việc dở
dang trước khi phục vụ ngắt mà không bận tâm đến tín hiệu ngắt NMI dù lúc
Luận văn tốt nghiệp
Hệ thống báo giờ tự độngnày vẫn đang ở mức tích cực thấp. Để nhận ngắt trở lại, chân
NMI
của Z80 phải
được kéo lên mức logic cao trước khi có tín hiệu ngắt kế tiếp.
Như vậy có thể nói rằng, khi tín hiệu
NMI
ở mức thấp và P nhận ngắt thì
việc thăm dò ngắt sẽ không được thực hiện cho đến khi tín hiệu
NMI
lên mức
cao. Việc cho tín hiệu NMI lên mức cao trước khi có tín hiệu ngắt kế tiếp tương
đương với việc khôi phục hoạt động thăm dò ngắt của P .
Tóm lại, để hoạt động đếm thời gian thực không ảnh hưởng đến các hoạt
động khác của Hệ Thống (trong đó có việc P nhận ngắt
INT
) thì độ rộng xung
gọi ngắt gọi ngắt
Hệ thống báo giờ tự độngSai số này là sai số max, thực tế không phải lúc nào tín hiệu gọi ngắt
NMI
cũng ngay vừa lúc P nhận một lệnh dài nhất nên tần số hoạt động của Hệ
Thống = 500KHz là chấp nhận được.
Tần số xung clock này cũng được cấp cho IC 8279 để hiển thò.
Để tận dụng số lượng cổng logic trên mạch cũng như đơn giản trong thiết kế,
mạch dao động được thiết kế như sau:
Hình 9: SƠ ĐỒ MẠCH TẠO XUNG ĐỒNG HỒ
2.4.2_Mạch đònh thời.
Mạch đònh thời có nhiệm vụ tạo ra xung nhòp tuần hoàn phục vụ cho việc
đếm thời gian thực. Việc đếm thời gian thực đòi hỏi phải thực hiện một cách
chính xác và ổn đònh. Do đó, mạch đònh thời phải tạo ra tín hiệu đònh thời có tần
số thật chính xác và có tính ổn đònh cao.
Tín hiệu đònh thời tác động vào ngắt
NMI
. Khi có ngắt
NMI
chương trình
tạo thời gian thực sẽ tăng lên 1 đơn vò thời gian (1 giây).
Để có được tín hiệu đònh thời tần số 1Hz có độ chính xác và tính ổn đònh cao
mặc nhiên không thể sử dụng mạch dao động RC vì giá trò R,C không ổn đònh
theo thời gian cũng như nhiệt độ.
Có thể dùng mạch dao động thạch anh để có được tín hiệu đònh thời ổn đònh
và chính xác. Tuy nhiên, giá trò thạch anh bán ngoài thò trường ít nhất cũng vài
trăm KHz, cho nên phải tốn thêm mạch chia tần số thì mới có được tín hiệu đònh
thời tần số 1Hz.
Chính vì vậy người viết chọn mạch dao động trong đồng hồ GIMIKO, đây là