ĐH Công nghệ - ĐHQGHN, 2008 [IMG]http://www.**************/images/smalledit.gif[/IMG] [IMG]http://www.**************/images/node-n.gif[/IMG] Sơ lược:
Chương 1: Tổng quan về mạng điện thoại và cấu tạo máy điện thoại
Chương 2: Nguyên lý hoạt động của máy điện thoại
Chương 3: Vi điều khiển 89C2051 và một số linh kiện sử dụng trong mạch
Chương 4: Tìm hiểu về IC MT8880 dùng phát xung
Chương 5: Thiết kế và lắp ráp mạch chống gọi trộm trộm điện thoại
Cán bộ hướng dẫn: ThS Chử Văn An
Cán bộ đồng hướng dẫn: CN Trần Thanh Hải
59 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 2696 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Khóa luận Nghiên cứu và thiết kế mạch chống gọi trộm điện thoại, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Khi vai trò là cổng nhập, những
chân của port 3 bị kéo suống thấp sẽ đổi dòng vì có nội trở kéo lên.
Port 3 cũng có chức năng của họ MSC- 51 được liệt kê ở bảng sau:
Bảng 2. Chức năng đặc biệt của cổng 3
Bit Tên Địa chỉ bit Chức năng thay thế
P3.0 RXD B0H Nhận dữ liệu cho port nối tiếp
P3.1 TXD B1H Truyền dữ liệu cho port nối tiếp
P3.2 INT0 B2H Ngắt ngoài 0
P3.3 1INT B3H Ngăt ngoài 1
P3.4 T0 B4H Ngõ vào từ bên ngoài cho timer/counter 0
P3.5 T1 B5H Ngõ vào từ bên ngoài cho tmer/counter 1
P3.7 RD B7H Xung đọc bộ nhớ dữ liệu ngoài
Port 3 cũng nhận vài tín hiệu điều khiển trong lúc lập trình Flash và trong lúc
kiểm tra Flash.
- RST : là ngõ vào Reset. Khi ngõnày đưa lên cao (trong ít nhất hai chu kì
máy ), các thanh ghi bên trong AT89C2051 được tải những giá trị thích hợp để khởi
động hệ thống .
Hoàng Đình Thiệp Trường Đại Học 17
Công Nghệ
Tìm hiểu về máy điện thoại cố định và thiết kế mạch chống gọi trộm điện thoại
- ALE/PROG (Address Latch Enable ) : ALE là xung xuất cho phép chốt
byte địa chỉ thấp khi truy cập bộ nhớ ngoài. Chân này còn là ngõ vào của xung lập
trình (PROG) khi lập trình Flash.
Trong hoạt động bình thường, ALE được phát xung với tần số 1/6 tần số dao
động on – chip và có thể được dùng như xung thời gian chuân bên ngoài. Tuy nhiên,
cần chú ý làmột xung ALE sẽ bị mất khi truy cập bộ nhớ ngoài.
Có thể huỷ bỏ chức năng của ALE bằng cách set bit 0 của thanh ghi ở vị trí
8EH. Một bit này được set, ALE chỉ tích cực khi có lệnh MOVX hoặc MOVC. Nếu
không có các lệnh này thì ALE ở mức cao. Việc set bit 0 của thanh ghi ở vị trí 8EH
không làm ảnh hưởng đến vi điều khiển khi truy cập bộ nhớ ngoài.
- PSEN (Progam Store Enable ) : PSEN là xung strobe báo hiệu việc đọc bộ
nhớ trương trình ngoài, PSEN tích cực hai lần (mức thấp ) mỗi chu kì máy, ngoại trừ
hai xung PSEN bị mất khi truy cập dữ liệu ngoài. Khi thi hành chương trình trong
RAM nội, PSEN sẽ ở mức thụ động ( mức cao ).
- EA/Vpp (External Access ) : EA là ngõ vào để cho phép truy xuất bộ nhớ
chương trình từ bên ngoài khi được nối với GND. Khi EA được treo lên nguồn Vcc,
chương trình sẽ được thực thi trong ROM nội. Chân này cũng nhận điện áp 12v (vpp)
trong khi lập trình Flash.
- XTAL1 : Đầu vào của bộ khuếch đại dao động đảo và cũng là đầu vào đến
mạch tạo xung clock nội.
- XTAL2 : Đầu ra của bộ khuếch đại giao động đảo.
3.2: Khảo sát các khối bên trong 89C2051, tổ chức bộ nhớ.
Ngôn ngữ cơ bản của MC51 sử dụng cách phân chia cố định đối với các vùng
khác nhau của bộ nhớ RAM trong để giảm nhẹ công sức cho người sử dụng, khỏi cần
phải có những hiểu biết tường tận về sự phân bố địa chỉ. Vì thế sự xung đột bộ nhớ
được loại trừ. Các vùng được dự trữ chỉ có thể được sử dụng với các từ ngữ mở rộng.
Các địa chỉ bị cấm đã được sử dụng đối với các lệnh MC51 và cũng không cho phép
trao đổi bằng bộ lệnh mở rộng.
Bảng 3: Mô tả RAM trong
7Fh
… Ngăn xếp dùng cho 16 mặt bằng
Procedme
EndProc
Hoàng Đình Thiệp Trường Đại Học 18
Công Nghệ
Tìm hiểu về máy điện thoại cố định và thiết kế mạch chống gọi trộm điện thoại
60h
5Fh
…
30h
Dự trữ các bộ nhớ MEM 0…47 WriMem 1 RdMem 1
2Fh
…
20h
Dự trữ các địa chỉ bit 0…7F
Bit 00h cấm
1Fh
…
10h
Dự trữ
0Fh
…
08h
Count1…Count 8
Loop 1… Loop 8
Count 1 100
Loop1
07h R7
…
00h R0
Dự trữ dùng cho các đoạn chương trình hệ thống
R0 R7 cấm
Khi khởi động một chương trình MC51, bằng lệnh Begin con trỏ ngăn xếp
được đặt giá trị 59h, vì thế ngăn xếp bắt đầu ở địa chỉ 60h. Nhờ vậy , giới hạn trên của
bộ nhớ MEM được ấn định.
Khi sử dụng bộ vi sử lý 8052, người ta đặt ngăn xếp vào vùng từ 80h, bằng
cách thay đổi thanh ghi SP ở đầu của trương trình.
Bộ nhớ chương trình, đặt ở bên ngoài, bắt đầu ở địa chỉ 0000 khi khởi động
chương trình sau mỗi lần Reset. Ở địa chỉ này, bộ biên dịch (compiler) đặt một lệnh
nhảy tới chỗ bắt đầu của chương trình chính. Các địa chỉ đầu tiên cho đến 0032 trước
heat cho phép (enable). Ở đó, mỗi thủ tục ngắt chèn vào một lệnh nhảy tới địa chỉ ngắt
đầu của nó.
Bộ nhớ địa chỉ, đặt ở bên ngoài, được phân chia thành 8kbyte để dùng cho
chương trình và 24 kbyte dùng cho dỡ liệu. Trong hệ phát triển có đặt hai “vùng” nhớ
RAM, 32 Kbyte. Lệnh Reset RAM đặt con trỏ dữ liệu lên địa chỉ 2000h. M ỗi lệnh
WrRAM hoặc RdRAM viết hoặc đọc nối tiếp, trong đó mỗi lần con trỏ dỡ liệu DP lại
được tăng lên 1. Theo cách này có thể sắp xếp dữ liệu một cách đơn giản, chẳng hạn
dữ liệu đo lường. Một cách khác để tổ chức bộ nhớ RAM là sử dụng lệnh Reset RAM
theo cách như trong bảng MC51.TAB. Sự truy nhập tự do lựa chọn địa chỉ có thể đạt
được bằng cách đặt trực tiếp dữ liệu DP.
Bảng 4: MC51 TAB
Hoàng Đình Thiệp Trường Đại Học 19
Công Nghệ
Tìm hiểu về máy điện thoại cố định và thiết kế mạch chống gọi trộm điện thoại
7FFFh
. . . Bộ nhớ dữ liệu
60h
Reset RAM
WRRAM
RDRAM
1FFFh
. . . Mã chương trình
0033h
Procedure . . .
EndProc
Begin . . . End
0032h Tự do dùng cho các
. . . vectơ ngắt
0000h Véctơ Reset
Interrupt : 1Dh
Begin
3.2.1 Hoạt động của bộ định thời timer.
3.2.1.1 Giới thiệu
Một định nghĩa đơn giản của timer là một chuỗi các flip-flop chia đôi tần sồ
nối tiếp với nhau, chúng nhận tín hiệu vào làm nguồn xung nhịp. Ngõ ra của tầng cuối
làm xung nhịp cho flip - flop báo tràn của timer (flip - flop cờ). Giá trị nhị phân trong
các flip - flop của timer có thể xem như đếm số xung nhịp (hoặc các sự kiện) từ khởi
động timer. Ví dụ timer 16 bit sẽ đếm từ 0000H đến FFFFH. Cờ báo tràn sẽ lên 1 khi
số đếm tràn từ FFFFH đến 0000H.
89C051có hai timer 16 bit, mỗi timer có 4 cách làm việc. Người ta sử dụng
các timer để:
Định khoảng thời gian.
Đếm sự kiện.
Tạo tốc độ baud cho port nối tiếp trong 89C2051.
Trong các ứng dụng định nghĩa khoảng thời gian, người ta sử dụng lập trình
timer ở một khoảng đều đặn và đặt cờ tràn timer. Cờ được sử dụng để đồng bộ hóa
chương trình để thực hiện một tác động như kiểm tra trạng thái của các ngõ vào hoặc
gởi sự kiện ra các ngõ ra. Các ứng dụng khác có thể sử dụng việc tạo xung nhịp đều
đặn của timer để đo thời gian trôi qua giữa hai sự kiện (Ví dụ: đo độ rộng xung).
Đếm sự kiện dùng để xác định số lần xảy ra của một số sự kiện. Một “sự
kiện” là bất cứ tác động ngoài nào có thể cung cấp một chuyển trạng thái trên một
chân của 89C2051.
3.2.1.2.Thanh ghi chế độ timer.
Hoàng Đình Thiệp Trường Đại Học 20
Công Nghệ
Tìm hiểu về máy điện thoại cố định và thiết kế mạch chống gọi trộm điện thoại
Thanh ghi TMOD chứa hai nhóm 4 bit dùng để đặt chế độ làm việc cho timer0
và timer1.
Bảng 5: Tóm tắt thanh ghi TMOD.
Bit Tên Timer Mô tả
7 GATE 1 Bit (mở cổng), khi lên, timer chỉ chạy khi INT1 ở mức cao
6 TC/ 1
Bit chọn chế độ counter/ timer
1 = Bộ đếm sự kiện
0 = Bộ định khoảng thời gian
5 M1 1 Bit1 của chế độ ( mode)
4 M0 1
Bit 0 của chế độ
00: Chế độ 0: timer 13 bit
01: Chế độ 1: timer 16 bit
10: Chế độ 2: tự động nạp lại 8 bit
11: Chế độ 3: tách timer
3 GATE 0 Bit (mở) cổng
2 TC/ 0 Bit chọn counter/ timer
1 M1 0 Bit 1 của chế độ
0 M0 0 Bit 0 của chế độ
3.2.1.3. Thanh ghi điều khiển Timer.
Thanh ghi TCON chứa các bit trạng thái và các bit điều khiển cho timer0 và timer1.
Bảng 6: Tóm tắt thanh ghi TCON.
Bit Ký hiệu Địa chỉ Mô tả
TCON.7 TF1 8FH
Cờ báo tràn timer. Đặt bởi phần cứng khi
tràn, được xóa bởi phần mềm hoặc phần
cứng khi bộ xử lí chỉ đến chương trình phục
vụ ngắt.
TCON.6 TR1 8EH Bit điều khiển timer1 chạy. Đặt/ xóa bằng timer để cho phần mềm chạy/ ngưng
TCON.5 TF0 8DH Cờ báo tràn timer 0.
TCON.4 TR0 8CH Bit điều khiển timer chạy.
TCON.3 IE1 8BH
Cờ cạnh ngắt cạnh bên ngoài. Đặt bởi phần
cứng khi phát hiện một cạnh xuống ở
INT1:xóa bằng phần mềm hoặc phần cứng
khi CPU chỉ đến chương trình phục vụ ngắt.
TCON.2 IT1 8AH
Cờ kiểu ngắt một bên ngoài. Đặt/xóa bằng
phần mềm để ngắt ngoài tích cực cạnh
xuống/mức thấp.
Hoàng Đình Thiệp Trường Đại Học 21
Công Nghệ
Tìm hiểu về máy điện thoại cố định và thiết kế mạch chống gọi trộm điện thoại
TCON.1 IE0 89H Cờ cạnh ngắt 0 bên ngoài
TCON.0 ITO 88H Cờ kiểu ngắt 0 bên ngoài
3.2.1.4 Chế độ timer.
a. Chế độ 1 – Chế độ TIMER 16 BIT:
Hoạt động như timer 16 bit đầy đủ.
Cờ báo tràn là bit TFx trong TCON có thể đọc hoặc ghi bằng phần mềm.
MSB của giá trị trong thanh ghi timer là bit 7 của THx và LSB là bit 0 của
TLx. Các thanh ghi timer (TLx/THx) có thể đọc hoặc ghi bất cứ lúc nào bằng phần
mềm.
Xung nhịp timer TLx
(8 bit)
THx
(8 bit)
TFx
Cờ báo tràn
Hình 10: Chế độ Timer 16 bit
b. Nguồn tạo xung nhịp:
Có hai nguồn tạo xung nhịp có thể có, được chọn bằng cách ghi vào C/T
(counter/timer) trong TMOD khi khởi động timer. Một nguồn tạo xung nhịp dùng cho
định khoảng thời gian, cái khác cho đếm sự kiện.
÷ 12Bộ dao động trong
C/T
0: (lên) định khoảng thời gian
Xung nhịp
timer
Chân T0
hoặc T1
Thạch
anh
Hình 11: Nguồn tạo xung nhịp
Định khoảng thời gian (interval timing):
Hoàng Đình Thiệp Trường Đại Học 22
Công Nghệ
Tìm hiểu về máy điện thoại cố định và thiết kế mạch chống gọi trộm điện thoại
Nếu C/T=0 hoạt động timer liên tục được chọn vào timer được dùng cho việc
định khoảng thời gian. Lúc đó, timer lấy xung nhịp từ bộ dao động trên chip. Bộ chia
12 được thêm vào để giảm tần số xung nhịp đến giá trị thích hợp cho các ứng dụng.
Như vậy, thạch anh 12 MHz sẽ cho tốc độ xung nhịp timer 1 MHz. Báo tràn timer xảy
ra sau một số (cố định) xung nhịp, phụ thuộc vào giá trị ban đầu được nạp vào các
thanh ghi timer TLx/THx.
Đếm sự kiện (Event Counting):
Nếu C/T=1, timer lấy nguồn xung nhịp từ bên ngoài. Trong hầu hết các ứng
dụng, nguồn bên ngoài này cung cấp cho timer một xung khi xảy ra một sự kiện –
timer dùng đếm sự kiện. Số sự kiện được xác định bằng phần mềm bằng cách đọc các
thanh ghi TLx/THx vì giá trị 16 bit trong thanh ghi này tăng thêm một cho mỗi sự
kiện.
Nguồn xung nhịp ngoài có từ thay đổi chức năng của các port 3, bit 4 của port
3 (P3.4) dùng làm ngõ vào tạo xung nhịp bên ngoài cho timer 0 và được gọi là “T0”.
Và P3.5 hay “T1” là ngõ vào tạo xung nhịp cho timer 1.
Trong các ứng dụng bộ đếm, các thanh ghi Timer được tăng thêm 1 tương ứng
với chuyển từ 1 xuống 0 ở ngõ vào bên ngoài: Tx, ngõ vào bên ngoài được lấy mẫu
trong S5P2 của mọi chu kỳ máy. Như vậy, khi ngõ vào cao trong một chu kỳ và thấp
trong một chu kỳ kế thì số đếm được tăng thêm một. Gía trị mới được xuất hiện trong
các thanh ghi trong S3P1 của chu kỳ theo sau chu kỳ trong đó phát hện sự chuyển tiếp.
Do đó, mất 2 chu kỳ máy (2µs) để ghi nhận sự chuyển 1 sang 0, tần số ngoài tối đa là
500KHz (giả sử hoạt động ở 12 MHz).
c. Bắt đầu, dừng và điều khiển các Timer:
Phương pháp đơn giản nhất để bắt đầu (cho chạy) và dừng các timer là dùng
các bit điều khiển chạy: TRx trong TCON. TRx bị xóa sau khi Reset hệ thống. Như
vậy, các timer theo mặc nhiên là bị cấm (bị dừng). TRx được đặt lên 1 bằng phần mềm
để cho các timer chạy.
Hoàng Đình Thiệp Trường Đại Học 23
Công Nghệ
Tìm hiểu về máy điện thoại cố định và thiết kế mạch chống gọi trộm điện thoại
Các thanh ghi timer
0 = lên: timer dừng
1 = xuống: timer chạy
Xung nhịp timer
TRx
Hình 12: Bắt đầu và dừng các Timer
Vì TRx ở trong thanh ghi TCON có địa chỉ bit, nên dễ dàng cho việc điều
khiển các timer trong chương trình.
Ví dụ, cho timer 0 chạy bằng lệnh: SETB TR0
Và dừng bằng lệnh: CLR TRO
Trình biên dịch sẽ thực hiện việc chuyển đổi ký hiệu cần thiết từ “TR0” sang
địa chỉ bit đúng. SETB TR0 chính xác giống như SETB 8CH.
Một phương pháp khác để điều khiển các timer là dùng bit GATE trong
TMOD và ngõ vào bên ngoài INTx. Đặt GATE =1 cho phép timer sẽ được điều khiển
bằng INTx. Việc này rất hiệu dụng cho việc đo độ rộng xung như sau: Giả sử INT0 ở
mức thấp nhưng các xung ở mức cao trong khoảng thời gian đo. Khởi động timer 0 ở
chế độ 2 (chế độ timer 16 bit), với TL0/TH0=0000H, Gate = 1 và TR0 = 1. Khi INT0
ở mức cao, timer được mở cổng và được cấp xung nhịp 1 MHz (nếu µC8031/8051
hoạt động ở tần số 12 MHz). Khi INT0 xuống thấp, timer bị ‘đóng cổng’ và thời
khoảng của xung tính bằng µs là số đếm trong TL0/TH0. (Có thể lập trình INT0 để
tạo ra một ngắt khi nó xuống thấp).
Hình sau minh họa Timer 1 hoạt động ở chế độ 1 như một timer 16 bit. Các
thanh ghi timer TL1/TH1 và cờ báo tràn TF1 trong sơ đồ chỉ các khả năng có thể có
của nguồn tạo xung nhịp và dễ cho chạy, dừng và điều khiển timer.
Hoàng Đình Thiệp Trường Đại Học 24
Công Nghệ
Tìm hiểu về máy điện thoại cố định và thiết kế mạch chống gọi trộm điện thoại
Hoàng Đình Thiệp Trường Đại Học 25
÷ 12Bộ dao động trong
0: lên
1: xuống
T1
TR1
GAT
INT
C/T
TF1TH1 TL1
0: lên
1: xuống
Hình 13: Minh họa hoạt động của Timer1 trong chế độ 16bit
d. Khởi động và truy xuất các thanh ghi:
Thông thường các thanh ghi được khởi động một lần ở đầu chương trình để
đặt chế độ làm việc đúng. Sau đó, trong thân chương trình, các timer được cho chạy,
dừng, các bit cờ được kiểm tra và xóa, các thanh ghi timer được đọc và cập nhật v,v…
theo đòi hỏi của các ứng dụng.
TMOD là thanh ghi thứ nhất được khởi động vì nó đặt chế đô hoạt động. Ví
dụ các lệnh sau khởi động timer1 như timer 16 bit (chế độ 1) có xung nhịp từ bộ dao
động trên chip cho việc định khoảng thời gian:
MOV TMOD = 00010000B
Nếu cần số đếm ban đầu, các thanh ghi timer TL1/TH1 cũng phải được khởi
động. Nhớ lại các timer đếm lên và đặt cờ báo tràn khi có sự chuyển tiếp FFFFH sang
0000H. Một khoảng 100µs có thể được định thời bằng cách khởi động giá trị cho
TL1/TH1 làFF9C:
MOV TL1, # 9CH
MOV TH1, # OFFH
Rồi timer được cho chạy bằng cách điều khiển bit như sau:
SETB TR1
Công Nghệ
Tìm hiểu về máy điện thoại cố định và thiết kế mạch chống gọi trộm điện thoại
Cờ báo tràn được tự động đạt lên sau 100µ s. Phần mềm có thể đợi trong 100µ
s bằng cách dùng lệnh rẽ nhánh có điều kiện nhảy đến chính nó trong khi cờ báo tràn
chưa được đặt lên 1:
WAIT: JMB TF1, WAIT
Khi timer tràn, cần dừng timer và xóa cờ báo tràn trong phần mềm:
CLR TR1
CLR TF1
* Đọc timer đang chạy:
Trong một số ứng dụng cần đọc giá trị trong các thanh ghi timer đang chạy. Vì
phải đọc 2 thanh ghi timer, “sai pha” nếu byte thấp tràn vào byte cao giữa hai lần đọc.
Giá trị có thể đọc được không đúng. Giải pháp là đọc byte cao trước, kế đó đọc byte
thấp rồi đọc byte cao một lần nữa. Nếu byte cao đã thay đổi thì lặp lại các hoạt động
đọc. Các lệnh dưới đây đọc các lệnh thanh ghi timer TL1/TH1 vào các thanh ghi
R6/R7:
AGAIN: MOV A,TH1
MOV R6, TL1
CJNE R7, A
3. Hoạt động của bộ ngắt .
3.1 Giới thiệu.
Một interrupt (ngắt) là sự xảy ra một điều kiện – một sự kiện, mà nó gây treo
tạm thời chương trình trong điều kiện có được phục vụ bởi một chương trình khác.
Các interrupt đóng vai trò quan trọng trong việc thiết kế và cài đặt các ứng
dụng vi điều khiển. Chúng cho phép hệ thống bất đồng bộ với một sự kiện và giải
quyết một sự kiện trong khi đó một chương trình khác đang thực thi.
Một hệ thống được điều khiển bằng interrupt cho ta ảo giác là làm nhiều việc
đồng thời. Dĩ nhiên là CPU đồng thời không thể thực thi hơn một lệnh. Nhưng nó có
thể tạm treo việc thực thi một chương trình để thực thi một chương trình khác, rồi
quay về chương trình thứ nhất. Theo cách này, interrupt giống như một chương trình
con, nhưng có một khác biệt trong hệ thống được điều khiển là sự ngắt quãng không
xảy ra như kết quả của một lệnh, mà đáp ứng một sự kiện xảy ra bất đồng bộ với
Hoàng Đình Thiệp Trường Đại Học 26
Công Nghệ
Tìm hiểu về máy điện thoại cố định và thiết kế mạch chống gọi trộm điện thoại
chương trình chính. Người ta không biết lúc nào và ở đâu chương trình chính bị ngắt
quãng.
Chương trình giải quyết ngắt gọi là chương trình phục vụ ngắt (ISR: Interrupt
Service Routine) hoặc bộ xử lý ngắt. ISR thực thi đáp ứng ngắt và thông thường thực
hiện tác vụ nhập hay xuất với một thiết bị. Khi ngắt xảy ra, chương trình chính tạm
thời bị treo và rẽ nhánh đến ISR: ISR thi hành và kết thúc bằng lệnh trở về ngắt.
Chương trình tiếp tục thực thi tại chỗ mà nó tạm dừng. Thường người ta xem chương
trình chính thực thi ở mức nền (cơ sở) và các ISR thực thi ngắt (Interrupt Level).
Người ta dùng thuật ngữ Foreground (phía trước) (Base – Level) chỉ mức nền và
Background (phía sau) (Interrupt – level) chỉ mức ngắt. Hình ảnh các ngắt được mô tả
trong hình sau:
CHƯƠNG TRÌNH CHÍNH
Hoàng Đình Thiệp Trường Đại Học 27
C/tr chính C/tr chính
ISR ISR
* **** * *
ISR
C/tr chính C/tr chính
* *
Hình 14: Minh Họa hoạt động của bộ ngắt
Thực thi chương trình không có ngắt
Thực thi chương trình có ngắt
* : gọi ngắt
** : quay về từ ngắt
3.2 Tổ chức ngắt của 89C2051.
Thật sự tất cả các nguồn ngắt ở 89C2051: 2 ngắt ngoài, 2 từ timer và một ngắt
Port nối tiếp. Tất cả các ngắt theo mặc nhiên đều bị cấm sau khi Reset hệ thống và
được cho phép bằng phần mềm.
Công Nghệ
Tìm hiểu về máy điện thoại cố định và thiết kế mạch chống gọi trộm điện thoại
Khi có 2 hoặc nhiều ngắt đồng thời, 1 ngắt xảy ra trong khi 1 ngắt khác đang
được phục vụ, có cả 2 sự tuần tự hỏi vòng và sơ đồ ưu tiên 2 mức dùng để xác định
thực hiện ngắt. Việc hỏi vòng tuần tự thì cố định nhưng ưu tiên ngắt thì có thể lập
trình được.
*. Cho phép và cấm các ngắt: (Enabling and Disnabling Interrupt)
Mỗi nguồn Interrupt được cho phép hoặc cấm từng ngắt qua một thanh ghi
chức năng đặc biệt có địa chỉ bit IE (Interrupt Enable) ở địa chỉ A8H. Cũng như xác
định bit cho phép riêng biệt cho mỗi nguồn ngắt, có một bit cho phép/cấm toàn bộ
được xóa để cấm hoàn toàn các ngắt được xét (đặt lên 1) để cho phép tất cả các ngắt.
Bảng 7: Tóm tắt thanh ghi IE
Bit Ký hiệu Địa chỉ bit Mô tả (1 = cho phép, 0=cấm)
IE.7 EA AFH Cho phép / cấm toàn bộ
IE.6 - AEH Không được định nghĩa
IE.5 ET2 ADH Cho phép ngắt từ timer 2(8052)
IE.4 ES ACH Cho phép ngắt Port nối tiếp
IE.3 ET1 ABH Cho phép ngắt từ timer 1
IE.2 EX1 AAH Cho phép ngắt ngoài
IE.1 ET0 A8H Cho phép ngắt từ timer 0
IE.0 EX0 A8H Cho phép ngắt ngoài 0
Hai bit phải được đặt lên một để cho phép bất kỳ ngắt nào: Bit cho phép riêng
và bit cho phép toàn bộ. Ví dụ các ngắt từ timer được cho phép như sau:
SETB ET1 ; Cho phép ngắt từ timer 1.
SETB EA ; Đặt bit cho phép toàn bộ.
Hoặc : MOV IE, #10001000B.
Mặc dù hai cách này có cùng một hiệu quả sau khi reset hệ thống nhưng hiệu
quả sẽ khác nếu IE được ghi giữa chương trình. Cách thứ nhất không ảnh hưởng tới 5
Hoàng Đình Thiệp Trường Đại Học 28
Công Nghệ
Tìm hiểu về máy điện thoại cố định và thiết kế mạch chống gọi trộm điện thoại
bit trong thanh ghi IE, trái lại cách thứ hai sẽ xóa các bit khác. Nên khởi trị IE theo
cách thứ hai ở đầu chương trình (nghĩa là sau khi mở máy hoặc reset hệ thống), nhưng
cho phép và cấm các ngắt ngay trong chương trình nên dùng cách thứ nhất để tránh
ảnh hưởng đến các bit khác trong thanh ghi IE.
Ngắt Port nối tiếp có từ Logic OR của ngắt thu (RI) và phát (TI). Các bit cờ
tạo các ngắt được tóm tắc trong bảng sau:
Bảng 8: Các bit cờ tạo ngắt
Ngắt Cờ Thanh ghi SER và vị trí bit
Bên ngoài 0 IE0 TCON.1
Bên ngoài 1 IE1 TCON.3
Timer 0 TF0 TCON.5
Timer 1 TF1 TCON.7
Port nối tiếp TI SCON.1
Port nối tiếp RI SCON.0
3.3 Xử lý ngắt (Processing Interrupt):
Khi ngắt xảy ra và CPU chấp thuận, chương trình chính ngắt quãng những
hoạt động sau đây xảy ra:
+ Lệnh hiện hành hoàn tất việc thực thi.
+ Cất PC vào ngăn xếp.
+ Trạng thái ngắt hiện hành được cất vào bên trong.
+ Các ngắt bị chặn ở mức ngắt.
+ Nạp vào PC địa chỉ vector của ISR.
+ ISR thực thi.
ISR thực thi và đáp ứng ngắt. ISR hoàn tất bằng lệnh RETI (quay về từ ngắt).
Điều này làm lấy lại giá trị cũ PC từ ngăn xếp và lấp lại trạng thái ngắt cũ. Thực thi
chương trình chính ở chỗ mà nó bị dừng.
Các vector ngắt (Interrupt Vectors):
Hoàng Đình Thiệp Trường Đại Học 29
Công Nghệ
Tìm hiểu về máy điện thoại cố định và thiết kế mạch chống gọi trộm điện thoại
Khi chấp nhận ngắt, giá trị được nạp vào PC được gọi là vector ngắt. Nó là
địa chỉ bắt đầu của ISR cho nguồn tạo ngắt. Các vector ngắt được cho bảng sau:
Bảng 9: Các vector ngắt
Ngắt Cờ Địa chỉ vector
Reset hệ thống RST 0000H
Bên ngoài 0 IE0 0003H
Timer 0 TF 0 000BH
Bên ngoài 1 IE 1 0013H
Timer 1 TF 1 001BH
Port nối tiếp T1 hoặc R1 0023H
Vector Reset hệ thống (RST ở địa chỉ 0000H) được để trong bảng này vì theo
nghĩa này nó giống Interrupt: Nó ngắt chương trình chính và nạp giá trị mới cho PC.
Khi “chỉ đến một ngắt”, cờ gây ra ngắt tự động bị xóa bởi phần cứng. Các
ngoại lệ là RI và TI với các ngắt port nối tiếp và TF2, EXF2 với các Interrupt Timer.
Vì có hai nguồn có thể cho mỗi ngắt này, không thực tế để CPU xóa cờ ngắt. Các bit
này phải được kiểm tra trong ISR để xác định nguồn ngắt và cờ tạo ngắt sẽ được xóa
bằng phần mềm. Thông thường một rẽ nhánh xảy ra với một phản ứng thích hợp, phụ
thuộc vào nguồn ngắt.
Vì các vector ngắt ở phần đầu của bộ nhớ chương trình, nên lệnh thứ nhất của
chương trình chính thường là lệnh nhảy qua chương trình chính này. Ví dụ như lệnh
LJMP 0030H.
3.4 Thiết kế chương trình dùng các ngắt.
Hoàng Đình Thiệp Trường Đại Học
Các ví dụ trong các mục trưóc đã không sử dụng các ngắt nhưng đã có vòng
lặp đợi để kiểm tra các cờ báo tràn (TF0 hoặc TF1) hoặc các cờ thu và cờ phát Port nối
tiếp (TI và RI). Vấn đề trong phương pháp này là thời gian thực thi có gía trị của CPU
hoàn toàn không bị tiêu tốn trong việc đợi các cờ. Điều này hoàn toàn không thích hợp
với các ứng dụng của vi điều khiển, trong đó bộ vi điều khiển phải tương tác với nhiều
thiết bị xuất nhập đồng thời.
30
Công Nghệ
Tìm hiểu về máy điện thoại cố định và thiết kế mạch chống gọi trộm điện thoại
Trong phần này ta sẽ khảo sát cách phát triển chương trình dùng vi điều khiển.
Khung đề nghị cho một chương trình phục vụ ngắt như sau:
ORS 0000H ; điểm vào Reset.
Ljmp main; các điểm vào ISR.
Org 0030H; điểm vào chương trình chính.
Main: chương trình chính bắt đầu.
Lệnh thứ nhất nhảy tới địa chỉ 0030H, vừa trên các vị trí mà các ISR bắt đầu.
Như được vẽ hình sau, chương trình chính bắt đầu ở địa chỉ 0030H.
FFFFH
LJMP main
Chương trình chính
0030H
002fH
Các điểm vào Reset
và ngắt 0000H
Hình 15 : Tổ chức bộ nhớ khi dùng các ngắt
a.Chương trình phục vụ ngắt có kích thước nhỏ:
Các chương trình phục vụ ngắt phải bắt đầu ở gần phần đầu của bộ nhớ
chương trình ở các địa chỉ trong bảng các vectơr ngắt. Mặt dù có 8 byte ở các điểm
vào ngắt, thường đủ bộ nhớ để thực hiện các hoạt động mong muốn và quay về
chương trình chính từ IRS.
Nếu chỉ có một nguồn ngắt được sử dụng, ví dụ timer 0, thì có thể sử dụng
khung sau:
ORS 000H; Reset
LJMP MAIN
ORG 000BH; điểm vào time 0
Hoàng Đình Thiệp Trường Đại Học 31
Công Nghệ
Tìm hiểu về máy điện thoại cố định và thiết kế mạch chống gọi trộm điện thoại
TOIRS: ; ISR cho time 0 bắt đầu.
RETI; quay về chương trình chính.
MAIN: Chương trình chính.
Nếu sử dụng nhiều ngắt phải đảm bảo là chúng phải bắt đầu từ vị trí đúng và
không chạy qua ISR kế. Vì chỉ có một ngắt được sử dụng trong ví dụ trên, chương
trình chính có thể bắt ngay sau lệnh RETI.
b. Các chương trình phục vụ ngắt có kích thước lớn:
Nếu ISR dài hơn 8 byte, có thể cần chuyển nó tới một nơi nào đó trong bộ nhớ
chương trình hoặc có thể để nó đi lố qua điểm vào của ngắt kế. Tiêu biểu là ISR bắt
đầu với lệnh nhảy đến vùng nhớ khác ở đó có thể mở rộng chiều dài các ISR. Ví dụ lúc
này chỉ xét timer 0, có thể sử dụng khung sau:
ORS 000H; Reset
LJMP MAIN
ORG 000BH; các vector ngắt tiếp theo.
MAIN:
TOISR: ; ISR cho time 0.
RETI: ; quay về chương trình chính.
Để đơn giản chương trình chỉ làm việc một lúc ban đầu. Chương trình khởi
động Timer, Port nối tiếp và các thanh ghi ngắt cho thích hợp và rồi không làm gì cả.
Công việc được hoàn toàn làm trong ISR. Sau các khởi động, chương trình chứa các
lệnh sau:
HERE: SJMP HERE
Hay dạng viết gắn gọn:
SJMP
Khi ngắt xảy ra, chương trình chính bị ngắt quãng tạm thời trong khi ISR thực
thi. Lệnh RETI ở cuối ISR trả điều khiển về chương trình chính và nó tiếp tục không
làm gì cả. Trong nhiều ứng dụng điều khiển, nhiều công việc thật ra được thực hiện
hoàn toàn trong ISR.
Hoàng Đình Thiệp Trường Đại Học 32
Công Nghệ
Tìm hiểu về máy điện thoại cố định và thiết kế mạch chống gọi trộm điện thoại
Vì sử dụng ngắt, nên lệnh SJMP (HERE:SJMP HERE) có thể được thay thế bằng
các lệnh thực hiện công việc khác trong ứng dụng.
¾ Sơ đồ khối của vi điều khiển
Hình 16: Sơ đồ khối của Vi điều khiển AT89C2051
3.5: Các linh kiện khác trong mạch.
3.5.1: IC LM358.
Hoàng Đình Thiệp Trường Đại Học 33
Công Nghệ
Tìm hiểu về máy điện thoại cố định và thiết kế mạch chống gọi trộm điện thoại
Hình 17: Sơ đồ khối của LM358
IC LM358 cấu tạo bởi hai bộ khuếch đại thuật toán độc lập, chúng được thiết
kế riêng biệt để hoạt động bởi nguồn cung cấp có phạm vi điện thế rộng(3V~32V hoặc
±1,5V~ ±16V). Chúng có công suất tiêu thụ thấp, chịu đựng dòng tiêu hao không phụ
thuộc vào cường độ của dòng điện. IC được ứng dụng rộng rãi, bao gồm các bộ
khuếch đại, tăng dòng một chiều…IC có thể dễ dàng bổ xung trong các hệ thống
nguồn đơn.
3.5.2: IC LM393.
Hình 18: Sơ đồ nguyên lý một bộ so sánh điện áp trong LM393
IC LM393 Gồm hai bộ so sánh điện thế độc lập, chúng được thiết kế để sử
dụng nguồn cung cấp có dải điện thế rộng. Hoạt động bởi nguồn kép có thể chịu được
sự khác nhau giữa hai điện thế là 2V đến 36V, và điện thế cung cấp có thể sai khác tối
thiểu là +1,5V so với điện thế lối vào thông thường. Dòng tiêu hao không phụ thuộc
vào điện thế cung cấp. LM393 có thể hoạt động trong điều kiện nhiệt độ từ -55oC đến
+125oC.
3.5.3: IC 4N35.
Hoàng Đình Thiệp Trường Đại Học 34
Công Nghệ
Tìm hiểu về máy điện thoại cố định và thiết kế mạch chống gọi trộm điện thoại
Hình 19 : Sơ đồ khối của IC 4N35
4N35 bao gồm một diode phát quang Galiium Arsenide và một photo diode
silicon loại NPN. 4N35 được đóng gói theo chuẩn 6 chân. Bề mặt khung có thể tùy
chọn.
CHƯƠNG 4 :
TÌM HIỂU VỀ IC MT8880 DÙNG PHÁT XUNG
4.1 Mô tả chung :
MT8880 là một khối phát xung lưỡng âm đa tần (DTMF) gọi là bộ lọc tiến
trình. Nó được sản xuất tại Zarlink Semiconductor’s sử dụng công nghệ ISO2-CMOS.
Với công suất tiêu tán thấp và độ tin cậy cao. Khối thu DTMF dựa trên chuẩn công
nghiệp MT8870. Khối phát sử dụng một tụ đóng mở chuyển đổi số tương tự cho tín
hiệu DTMF với nhiễu thấp và độ tin cậy cao. Bộ đếm bên trong tạo ra một bursts mode
mà tín hiệu bursts có thể phát với thời gian chính xác. Bộ lọc tiến trình có thể lựa
chọn cho phép một vi xử lý phân tích tín hiệu của quá trình cuộc gọi. Một bus vi xử lý
chuẩn được tạo ra và tương thích với 6800 bộ vi xử lý nối tiếp.
Hình 20 : Sơ đồ khối chức năng
Hoàng Đình Thiệp Trường Đại Học 35
Công Nghệ
Tìm hiểu về máy điện thoại cố định và thiết kế mạch chống gọi trộm điện thoại
H ình 21 : Sơ đồ chân kết nối
4.2 Mô tả chức năng :
IC MT8880 là sự tích hợp cấu trúc máy phát DTMF bao gồm bộ thu DTMF với
bộ khuyếch đại thiết đặt hệ số khuyếch đại bên trong và một máy phát DTMF sử dung
một bộ đếm chuyển đổi giống một bộ đếm chuyển đổi tín hiệu chính xác và chế độ làm
việc của một tiến trình gọi, có thể được chọn lựa với một tần số được tách ra trong một
giải thông đặc biệt. Giao diện của một bộ vi xử lý chuẩn cho phép truy nhập tới một
thanh ghi trạng thái, hai thanh ghi điều khiển và hai thanh ghi dữ liệu.
Mô tả chức năng :
Chân Tên Mô tả
1 IN+ Chân Không đảo
2 IN- Chân đảo
3 GS Chân chon hệ số khuyếch đại
4 V Chân chuyển thế lối ra
5 Vss Chân đất
6 OSSC1 Chân xung DTMF clock / L ối vào dao động
7 OSSC2 Chân ra xung đồng hồ
8 TONE Chân ra tín hiệu (DTMF or single tone)
9 R/W Chân Đọc/Viết lối vào
10 CS Chân chọn chip
11 RS0 Chân lựa chọn điện trở
12 ≡2 Chân vào xung đồng hồ hệ thống
13 IRQ/CP Chân yêu cầu ngắt tới MPU
14-
17
D0-D3 Bus xử lý dữ liệu của bộ vi xử lý
20
18 Est Lối ra thiết bị lái ban đầu
19 St/GT Lối vào thiết bị lái/Thời gian bảo vệ
Hoàng Đình Thiệp Trường Đại Học 36
Công Nghệ
Tìm hiểu về máy điện thoại cố định và thiết kế mạch chống gọi trộm điện thoại
20 VDD Nguồn cung cấp thế dương lối vào
NC Không kết nối
4.3 Cấu hình lối vào :
Sự thiết đặt cấu hình lối vào của MT8880C tạo ra một lối vào điều khiển
khuyếch đại khác giống như một nguồn phân cực mà sử dụng đầu vào phân cực tại
VDD/2 sự điều khiển này tạo ra cho kết nối của điện trở hồi tiếp tới lối vào tiền
khuyếch đại điều chỉnh hệ số khuyếch đại. Trong cấu hình kết nối chân kết nối được
chỉ ra trên hình 22.
Hình 22 : Cấu hình lối vào đơn
Hình 23 chỉ ra sự cần thiết của một cấu hình kết nối khác :
Hình 23 : Cấu hình khác của lối vào
4.4 Thiết diện khối thu :
Sự chia ra nhóm tín hiệu cao và thấp đạt được bằng cách cung cấp một tín hiệu
DTMF tới lối vào 2 của tụ đóng mở số 6 trong bộ lọc thông dải. Giải thông tương ứng
Hoàng Đình Thiệp Trường Đại Học 37
Công Nghệ
Tìm hiểu về máy điện thoại cố định và thiết kế mạch chống gọi trộm điện thoại
với nhóm tần số thấp và cao chỉ ra trên hình 26. Những bộ lọc này có thể kết hợp để
đạt tới tần số 350 Hz đến 440 Hz cho những tín hiệu quay bên ngoài. Mỗi lối ra của bộ
lọc được điều khiển bằng một tụ đóng mở đơn lọc những tín hiệu nhẵn đạt giới hạn.
Giới hạn này được thực thi bởi một bộ so sánh với hệ số khuyếch đại cao. Nó tạo ra sự
trễ để ngăn cản sự tách của mức tín hiệu thấp không mong muốn. Đầu ra của bộ so
sánh tạo ra một giá treo với tần số của tín hiệu DTMF lối vào.
Sau bộ lọc là bộ giải mã sử dụng công nghệ đếm số để quyết định tần số của tín
hiệu đến và kiểm tra xem chúng có tương ứng với tần số chuẩn của tín hiệu DTMF.
Một thuật toán trung bình số phức bảo vệ những tần số mô phỏng ngược lại
những tần số khác lạ giống như tín hiệu thoại. Trong khi tạo ra mức chịu đựng được
tần số nhỏ và sự biến đổi. Thuật toán giá trị trung bình được phát triển để bảo đảm
thuận lợi cho việc liên kết ngắt tiếng nói và sự có mặt của tiếng ồn cùng tần số can
nhiễu. Khi bộ tách nhận ra hai giá trị tín hiệu (điều này đề cập tới điều kiện tín hiệu
trong chuẩn công nghiệp được sử dụng chỉ rõ. Đầu ra của thiết bị lái ban đầu(Est) sẽ
trở lên tích cực. Sự mất tín hiệu điều khiển kế tiếp là nguyên nhân làm cho Est trở
thành thụ động.
4.5 Mạch lái :
Bộ ghi dịch trước của mạch giải mã xung đôi, bộ thu kiểm tra khoảng giá trị của
tín hiệu. Sự kiểm tra này được thi hành bởi hệ số thời gian RC bên ngoài vận hành
bằng Est. Mức logic cao trên Est sẽ tăng khi tụ không tích điện. Với điều kiện đó tín
hiệu thu được duy trì (Est giữ mức cao) với những chu kì thích hợp (tGTP), Vc đạt thế
ngưỡng (VTST) của thiết bị lái tới những thanh ghi tín hiệu đôi. Chốt mã hóa tương ứng
4 bit (xem hinh 26) ở thanh ghi dữ liệu thu. Tại thời điểm này đầu ra của GP được kích
hoạt và điều chỉnh Vc tới VDD.
GP tiếp tục điều khiển ở mức cao khi Est giữ ở mức cao. Cuối cùng, sau một
thời gian trễ ngắn sẽ cho phép lối ra được chốt với giá trị ổn định. Cờ lối ra của mạch
lái trễ đạt được mức cao. Tín hiệu tone được thu và tín hiệu đôi được ghi. Trạng thái
cờ của thiết bị lái trễ có thể được giám sát bằng cách kiểm tra bit thích hợp trong thanh
ghi trạng thái. Nếu chế độ ghi được chọn chân IRQ /CP sẽ được đảy xuống mức thấp
trong khi cờ bộ lái trễ ở mức tích cực.
Giá trị của bộ chốt lối ra được cập nhật dựa trên sự chuyển trạng thái của thiết
bị lái trễ tích cực. Dữ liệu này được đưa tới 4 bit hai chiều trong bus trong khi thanh
Hoàng Đình Thiệp Trường Đại Học 38
Công Nghệ
Tìm hiểu về máy điện thoại cố định và thiết kế mạch chống gọi trộm điện thoại
ghi dữ liệu thu được đọc. Mạch lái làm việc trong chế độ đảo với chuẩn đan xen
ngưỡng giữa các tín hiệu. Vì vậy việc loại bỏ những tín hiệu quá ngắn là có giá trị.
Khối thu sẽ quan tâm đến những tín hiệu ngắn và quan tâm đến giá trị dừng.
Những thuận lợi này cùng với dung lượng của thiết bị lái hệ số thơi gian thu
thập bên ngoài, cho phép nhà thiết kế thay đổi sự thi hành khi gặp một dải rộng của
hệ thống yêu cầu.
Hình 24 : Mạch lái cơ sở
4.6 Điều chỉnh thời gian bảo vệ :
Mạch lái đơn giản ở hình 24 là đầy đủ cho mọi ứng dụng. Giá trị của các thành
phần được chọn theo công thức :
tREC = tDP +tGTP
tID = tDA +tGTA
Giá trị của tDP là tham số thiết bị (xem tính chất của nguồn xoay chiều ), còn giá
trị của tREC là tín hiệu tồn tại nhỏ nhất được nhận bởi bộ thu. Giá trị 0,1 :F cho tụ C1
được dùng cho mọi ứng dụng, giá trị R1 được chon bởi nhà thiết kế.
Thiết bị lái với cách bố trí khác cũng có thể được sử dụng để lựa chọn dải thời
gian bảo vệ tin cậy cho tín hiệu (tone) hiện tại (tGTP) và xung không tồn tại (tGTA).
Cũng cần xem xét một hệ thống đặc biệt đạt được một lúc cả hai giới hạn thu và loại
trừ trên cả hai tín hiệu (tone) và tín hiệu đan xen dừng. Điều chỉnh khoảng thời gian
bảo vệ cũng cho phép nhà thiết kế thay đổi tham số hệ thống giống như khi ngắt tiếng
nói và nhiễu.
Hoàng Đình Thiệp Trường Đại Học 39
Công Nghệ
Tìm hiểu về máy điện thoại cố định và thiết kế mạch chống gọi trộm điện thoại
Tăng tREC ngăn chặn sự ngắt tiếng nói và từ đó thu nhỏ xác suất tái tạo tín hiệu
(tone) bằng cách tiếng nói sẽ được duy trì một giá trị tín hiệu điều kiện đủ dài tới máy
ghi. Lựa chọn tREC ngắn vừa đủ và tD0 dài sẽ thích hợp cho điều kiện ồn lớn. Khi đó sẽ
nhanh chóng giành được thời gian và bỏ qua những xung yêu cầu. Thông tin thiết kế
cho khối điều chỉnh thời gian bảo vệ chỉ ra ở hình 25.
Bộ thu thời gian được chỉ ra trên hinh 28 với sự mô tả của những tín hiệu ở trên
các mức khác nhau.
Hình 25: Khối điều chỉnh thời gian bao vệ
4.7 Bộ lọc tiến trình goi:
Chế độ làm việc của một bộ lọc tiến trình gọi sử dụng IC MT8880C có thể
được lựa chọn cho để cho phép tách các tín hiệu biến đổi và phân biệt tiến trình của
một cuộc gọi trên mạng. Xung vào của cuộc gọi tiến trình và xung vào DTMF là thông
thường. Tuy nhiên xung của cuộc gọi tiến trình có thể được tách nếu chế độ CP được
chọn. Trong khi tín hiệu DTMF không thể được tách khi chế độ CP được chọn (xem
hinh 24). Hình 27 chỉ ra những lợi ích của việc tách dải thông của bộ lọc tiến trình.
Tần số hiện tại ở lối vào được chấp nhận trong dải thông của bộ lọc rất khó đạt được
giới hạn với hệ số khuyếch đại cao của bộ so sánh với chân IRQ /CP là lối ra. Dạng
xung hình vuông lối ra từ schmitt trigger có thể được phân tích bằng một vi xử lý hoặc
một bộ đếm sắp xếp để quyết định bản chất của tín hiệu trong bộ lọc tiến trình sẽ được
Hoàng Đình Thiệp Trường Đại Học 40
Công Nghệ
Tìm hiểu về máy điện thoại cố định và thiết kế mạch chống gọi trộm điện thoại
tách. Những tần số trong vùng loại bỏ sẽ được tách vì vậy chân IRQ /CP được giữ ở
mức thấp.
4.8 Bộ phát xung DTMF:
Máy phát xung DTMF sử dụng trong IC MT8880C có khả năng tạo ra tất cả 6
loại tín hiệu chuẩn DTMF với nhiễu thấp và độ tin cậy cao tất cả những tần số này
được chia ra từ máy phát thạch anh ngoại 3.579545 Hz. Dạng sóng hình sin cho tín
hiệu riêng lẻ được tổ hợp số hóa sử dụng bộ chia chương trình hóa hàng cột và tụ đóng
mở chuyển đổi số tương tự. Tín hiệu hàng cột được trộn và lọc tạo ra 1 tín hiệu DTMF
với lượng nhiễu thấp và độ tin cậy cao. Tín hiệu DTMF đặc biệt là dữ liệu được mã
hoá chỉ ra trên hình 26 phải được viết tới thanh ghi dữ liệu phát. Mã hóa lối ra của bộ
thu cũng tương tự như vậy. Nhất là những tín hiệu được phát (fthấp và fcao) được đề cập
đến như nhóm tín hiệu tần số thấp và nhóm tín hiệu tần số cao. Nhìn vào bảng dưới ta
thấy nhóm tần số thấp là 697 Hz, 770 Hz, 852 Hz và 941 Hz. Nhóm tần số cao là 1209
Hz, 1336 Hz, 1477 Hz, 1633 Hz. Thông thường nhóm biên độ cao và nhóm biên độ
thấp tỉ lệ với nhau khoảng 2 db và được bù suy hao trong vòng lặp. Chu kì của mỗi tín
hiệu bao gồm 32 khoảng thời gian. Chu kì của tín hiệu được điều khiển bởi sự thay đổi
chiều dài của mỗi khoảng thời gian.
Trong khi viết lên thanh ghi dữ liệu phát 4bit dữ liệu bus được chốt và chuyển
tới chân 2 của bộ mã hóa 8 sử dụng mạch chia chưong trình hoá. Những mã này sử
dụng một độ dài thời gian đặc biệt sẽ quyết định tần số của tín hiệu cuối cùng. Khi bộ
chia đạt được giá trị gần đúng giá trị đếm được quyết định bởi lối vào của bộ mã hoá.
Một xung điều chỉnh được phát ra và bộ đệm lai bắt đầu quá trình đếm. Số đoạn thời
gian được cố định là 32, tuy nhiên do độ dài của đoạn thay đổi như đã nói ở phần trên
lên tần số tín hiệu lối ra cũng thay đổi. Đầu ra xung đồng hồ đếm địa chỉ của sóng sin
tra cứu trong ROM.
Bảng tra cứu bao gồm những mã sử dụng tụ đóng mở chuyển đổi số tương tự và
chứa đựng mức thế mức thế một chiều có độ tin cậy cao. Hai bảng nhận dạng được sử
dụng để tạo ra hàng và cột tín hiệu, sau đó chúng được trộn sử dụng sử dụng một bảng
khuyếch đại với ồn nhỏ. Bộ mô tả dao động không cần thiết trong thời gian đầu trong
khi đó máy phát dao động tín hiệu hình sin DTMF phải tiếp tục hoạt động. Vì vậy tạo
ra tín hiệu burst với mức chính xác rất cao. Giới hạn giải thông của bộ lọc được hợp
nhất và đáp ứng tới suy giảm tạo ra trên 8 KHz. Hình 29 cho thấy nhiễu tạo ra có biên
độ rất nhỏ.
Hoàng Đình Thiệp Trường Đại Học 41
Công Nghệ
Tìm hiểu về máy điện thoại cố định và thiết kế mạch chống gọi trộm điện thoại
Hình 26 : Bảng chức năng mã hoá và giải mã
Hình 27 : Tiến trình gọi phản hồi
Hoàng Đình Thiệp Trường Đại Học 42
Công Nghệ
Tìm hiểu về máy điện thoại cố định và thiết kế mạch chống gọi trộm điện thoại
Hình 28 : Lược đồ khối thời gian thu
Hinh 29 : Lược đồ sườn xung
4.9 Chế độ Burst :
Trong ứng dụng chính của điện thoại yêu cầu phải tạo ra tín hiệu DTMF.
Những ứng dụng đặc biệt được yêu cầu từ một tổng đài phát đặc biệt. Tín hiệu thời
gian chuẩn DTMF có thể tái tạo bằng cách sử dụng chế độ burst. Một máy phát sử
dụng burst/pause tồn tại đối xứng được chọn. Burst/pause khoảng 51ms ± 1ms gần
với bít đặt trong thanh ghi trạng thái chỉ thị máy phát đọc thêm dữ liệu. Bộ định thời
chon một giá trị thời gian khoảng 102ms ± 2. Sự mở rộng là cần thiết khi tín hiệu burst
dài hơn 51 ms tồn tại và tín hiệu dừng mong muốn là 51 ms. Chú ý khi chế độ CP hay
chế độ burst được chọn thì tín hiệu DTMF chỉ có thể được phát hoặc thu.
Trong những ứng dụng nơi mà yều cầu tồn tại burst/pause không chuẩn chế độ
burst phải được cấm và cổng phát được đóng mở bằng phần cứng bên ngoài hoặc phần
mềm định thời.
Hoàng Đình Thiệp Trường Đại Học 43
Công Nghệ
Tìm hiểu về máy điện thoại cố định và thiết kế mạch chống gọi trộm điện thoại
4.10 Bộ tạo tín hiệu đơn :
chế độ tạo tín hiệu đơn tồn tại nơi mà những tín hiệu riêng lẻ có thể phát ra từ
nhóm thấp hoặc nhóm cao. Chế độ này cũng có thể dùng cho thiết bị ứng dụng kiểm
tra DTMF, tín hiệu phát xung thừa nhận và đo đạc nhiễu. Thanh ghi điều khiển B mô
tả rất chi tiết khi đề cập đến.
4.11 Bộ tính toán nhiễu :
IC MT8880C có khả năng tạo tín hiệu burst chính xác với nhiễu tần số nhỏ
(xem bảng 10). Tổng khuyếch đại nội bằng khuyếch đại của một bộ tụ đóng mở thông
thấp để thu nhỏ thành phần điều hòa và tạo ra khối điều chế bên trong. Dung lượng của
nhiễu điều hòa cho một tín hiệu đơn được tính toán bằng công thức 1. Nó tỉ lệ tổng
công suất tất cả tần số bên ngoài với công suất tần số cơ bản như percectage. Thành
phần Fourier của tín hiệu lối ra tương ứng với V2f …Vnf khi đo đạc dạng sóng trên lối
ra dung lượng nhiễu hoà âm cho một tín hiệu quay có thể tính toán theo công thức 2.
VL và VH tương ứng với nhóm biên độ thấp và biên độ cao, và V2TMD là tổng của tất cả
những thành phần điều chế bên trong. Một bộ lọc tụ đóng mở bên trong sau bộ chuyển
đổi số tương tự sẽ giảm nhiễu tạo ra xuống mức thấp như trong hình 29.
Công thức 1. THD(%) cho một tín hiệu đơn
Công thức 2. THD(%) cho tín hiệu đôi
4.12 Mạch xung đồng hồ DTMF :
Mạch xung đồng hồ bên trong hoàn thiện khi thêm vào một chuẩn tinh thể
burst hiển thị màu. Tinh thể này có điểm đặc biệt như sau :
Tần số : 3.579545 MHz
Hoàng Đình Thiệp Trường Đại Học
Sai số tần số : ± 0.1 %
44
Công Nghệ
Tìm hiểu về máy điện thoại cố định và thiết kế mạch chống gọi trộm điện thoại
Chế độ cộng hưởng : Song song
Điện dung tải : 18 PF
Trở nối tiếp nhỏ nhất: 150 ohms
Mức điều chỉnh max : 2mW
Số lượng thiết bị của MT8880 mà kết nối như trong hình 12 chỉ giống như một
tinh thể. Ngoài ra lối vào OSC1 trên tất cả các thiết bị có thể điều khiển từ một bộ đệm
TTL với đầu ra OSC2 bên trái không kết nối. (Hình 31).
Hình 30 : Kết nối tinh thể thông thường
4.13 Giao diện bộ vi xử lý :
MT8880 sử dụng một giao diện vi xử lý cho phép điều khiển chính xác chức
năng của máy phát và máy thu. Có 5 thanh ghi kết hợp bên trong với giao diện vi xử lý
có thể chia làm 3 nhóm là : Nhóm thanh ghi dịch, nhóm thanh ghi điều khiển thu phát
và nhóm thanh ghi trạng thái thu phát. Có 2 thanh ghi kết hợp điều khiển dich chuyển
dữ liệu.
Thanh ghi dữ liệu thu bao gồm lối ra được mã hóa. Phần giá trị tín hiệu DTMF
sau được giải mã và là thanh ghi chỉ đọc. Lối ra dữ liệu bên trong thanh ghi dữ liệu
phát sẽ quyết định phần tín hiệu sẽ được tạo ra (xem hình 26 cho việc mã hoá chi tiết).
Dữ liệu chỉ có thể được viết tới thanh ghi phát. Thanh ghi điều khiển thu phát hình
thành từ 2 thanh ghi điều khiển (CRA và CRB) và chiếm những địa chỉ trống giống
nhau. Việc viết lên CRB có thể thực hiện bằng cách thiết đặt giá trị sấp xỉ trên CRA.
Việc viết những địa chỉ tương tự sau đó được điều khiển tới CRB và sau đó chu kì viết
sẽ điều khiển trở lại thanh ghi CRA. Phần mềm reset phải chứa điểm đầu của chương
trình điều khiển đầu tiên và trạng thái thanh ghi sau khi tăng công suất hoặc thiết đặt
lại công suất. Bảng 11, 12, 13, 14 đề cập chi tiết tới thanh ghi điều khiển. Chân
RQI /CP có thể được chương trình hoá và nó tạo ra một yêu cầu ngắt trên giá trị tín
hiệu DTMF hoặc khi bộ phát đọc thêm dữ liệu (chỉ riêng chế độ burst ). Chân RQI /CP
Hoàng Đình Thiệp Trường Đại Học
Công Nghệ
45
Tìm hiểu về máy điện thoại cố định và thiết kế mạch chống gọi trộm điện thoại
được cấu hình như là một thiết bị có lối ra dẫn và nó yêu cầu sự tăng vọt của điện trở
(xem hình 31).
Bảng 10 : Chức năng của các thanh ghi bên trong
RS0 R/W Chức năng
0 0 Viết tới thanh ghi dữ liệu
phát
0 1 Đọc từ thanh ghi dữ liệu thu
1 0 Viết tới thanh ghi điều khiển
1 1 Đọc từ thanh ghi trạng thái
Bảng 11 : Vị trí bít CRA
Bảng 12 : Vị trí bít CRB
Bảng 13 : Mô tả thanh ghi điều khiển A
Bit Tên Chức năng
B0 TOUT Tín hiệu lối ra
B1 CP/ DTMF Chế độ điều khiển
B2 IRQ Cho phép ngắt
B3 RSEL Chọn thanh ghi
Bảng 14 : Mô tả thanh ghi điều khiển B
Bit Tên Chức năng
B0 Burst Chế độ burst
B1 Test Chế độ kiểm tra
B2 S/ D Chế độ phát xung
đơn/đôi
B3 C/ R Tín hiệu hàng/cột
Bảng 15 : Mô tả thanh ghi trạng thái
Bit Tên Thiết đặt cờ trạng
thái
Xoá bỏ cờ trạng thái
B0 IRQ Ngắt sự kiện bít b1
hoặc bit b2 được
thiết lặp
Ngắt thụ động và xoá bỏ
sau khi thanh ghi trạng thái
được đọc
Hoàng Đình Thiệp Trường Đại Học 46
Công Nghệ
Tìm hiểu về máy điện thoại cố định và thiết kế mạch chống gọi trộm điện thoại
B1 Thanh ghi phát dữ
liệu rỗng
Tồn tại xung dừng và
bộ phát sẵn sàng phát
dữ liệu mới
Xoá bỏ sau khi đọc thanh
ghi trạng thái hoặc chế độ
burst không được chon
B2 Thanh ghi thu dữ
liệu đầy
Giá trị dữ liệu ở
trong thanh ghi dữ
liệu thu
Xoá bỏ sau khi đọc thanh
ghi trạng thái
B3 Delayed
Steering
Lập giá trị không tồn
tại trực tiếp DTMF
Xoá bỏ trực tiếp giá trị tín
hiệu DTMF
Hinh 31 : Sơ đồ mạch ứng dụng
Hình 32 : Sơ đồ mạch kiểm tra
Hoàng Đình Thiệp Trường Đại Học 47
Công Nghệ
Tìm hiểu về máy điện thoại cố định và thiết kế mạch chống gọi trộm điện thoại
Hình 33 : Giao diên ghép nối MT8880 với 6802
Hoàng Đình Thiệp Trường Đại Học 48
Công Nghệ
Tìm hiểu về máy điện thoại cố định và thiết kế mạch chống gọi trộm điện thoại
CHƯƠNG 5:
THIẾT KẾ VÀ LẮP RÁP MẠCH CHỐNG GỌI TRỘM ĐIỆN THOẠI.
5.1: Sơ đồ khối và nguyên tắc hoạt động.
Nhận biết máy
chủ nhấc
Nhận biết điện áp
trên đường dây
Vi điều khiển
Điều Khiển MT8880
Phát Xung
LINE
Hình 34: Sơ đồ khối của mạch chống gọi trộm điện thoại
Nguyên lý hoạt động:
Khối “Nhận biết máy chủ nhấc” sẽ nhận biết trạng thái của máy điện thoại ta cầm bảo
vệ xem máy đang nhấc hay đặt tổ hợp, ta quy ước trạng thái nhấc máy (có sụt áp trên
đường thuê bao) là (0), trạng thái đặt máy là (1). Khối “Nhận biết điện áp trên đường
dây” sẽ kiểm tra điện áp trên đường dây, nếu trên đường dây có máy nhấc thì điện áp
là trên đường dây xấp xỉ 7V, nếu không có máy nhấc trên đường dây thì điện áp trên đó
là khoảng 48V (tùy loại tổng đài giá trị này có thể khác nhưng nó lớn hơn 7V nhiều
lần), ta quy ước khi trạng thái điện áp thấp là (0), trạng thái điện áp cao là (1). Vi điều
khiển sẽ được lập trình để thực hiện theo bảng logic sau:
Bảng 16 : Bảng logic kiểm tra trạng thái đường dây
Trạng thái máy
được bảo vệ
Trạng thái
đường dây
Tín hiệu lối ra của
vi điều khiển
0 0 0
1 0 1
Hoàng Đình Thiệp Trường Đại Học 49
Công Nghệ
Tìm hiểu về máy điện thoại cố định và thiết kế mạch chống gọi trộm điện thoại
1 1 0
Không tồn tại trạng thái máy được bảo vệ nhấc (trạng thái 0) mà trạng thái trên đường
dây là (1). Vì khi máy được bảo vệ nhấc thì sẽ có sụt áp trên đường dây.
Theo bảng trên, khi máy được bảo vệ không nhấc và trên đường dây không sụt áp
(nghĩa là không có máy gọi trộm nhấc máy trên đường dây) hoặc khi ta nhấc máy thì
điện áp trên đường dây cũng giảm thì lối ra của vi điều khiển là (0), rơle sẽ không
đóng. Nhưng nếu máy được bảo vệ không nhấc mà điện áp trên đường thuê bao lại
giảm xuống còn khoảng 7V (nghĩa là đã có máy gọi trộm nhấc để quay số trên đường
dây), khi đó lối ra của vi điều khiển sẽ là (1) tương đương với tín hiệu điều khiển đưa
vào khối phát xung. Máy gọi trộm sẽ không thể quay số đến tổng đài được nữa.
5.2: Sơ đồ nguyên lý chi tiết của mạch chống gọi trộm.
Hoàng Đình Thiệp Trường Đại Học 50
Công Nghệ
Tìm hiểu về máy điện thoại cố định và thiết kế mạch chống gọi trộm điện thoại
5.3: Chương trình viết cho vi điều khiển 89C2051.
Strart
Hoàng Đình Thiệp
Công Nghệ Trường Đại Học 51
Tìm hiểu về máy điện thoại cố định và thiết kế mạch chống gọi trộm điện thoại
Set : P1.0 = 0
P3.3: read; P3.4 : read
Kiểm tra:
P3.4 và P3.3
Kiểm tra điện áp
2 đầu line P3.4 = 0
Kiểm tra P3.3
Tín hiệu máy
chủ
Port P1.0 = 1 ,
Điều khiển
MT8880 Phát
xung
Delay
Phần lập trình cho AT8922051 :
;Chương trình điều khiển chống gọi trộm điện thoại
Hoàng Đình Thiệp Trường Đại Học 52
Công Nghệ
Tìm hiểu về máy điện thoại cố định và thiết kế mạch chống gọi trộm điện thoại
ORG 00H
AJMP START
ORG 03H
AJMP SEND
ORG 100H
;**************************************************************
START:
ACALL SETUP ;goi chuong trinh con setup he thong
MOV P1,#000H ;port P1 la loi ra dieu khien MT8880C: P1.0-P1.3 noi
;voi D0-D3
MOV P3,#0FFH ;port P3 la loi vao nhan tin hieu nhac may , tin hieu
;dien ap
MOV P1,#00H
;P3.4= 1 <Tin hieu dien ap nhac may chung tren
;duong day
;P3.3= 1 <Tin hieu may chu nhac
;P3.5= 1 >Dieu khien ket noi giao dien quay so
;P3.2= 0 >Chon chip MT8880
begin:
MOV A,P3 ;Kiem tra sut ap tren duong day
ANL A,#00001000b ;
JNZ begin; ;Neu dien ap tren duong day=0 -> khong sut ap ->
;khong co may goi
;Neu co sut ap thi -> kiem tra may chu
KTMC: MOV A,P3
ANL A,#00000100b
Hoàng Đình Thiệp Trường Đại Học 53
Công Nghệ
Tìm hiểu về máy điện thoại cố định và thiết kế mạch chống gọi trộm điện thoại
JZ begin ;Neu may chu nhac -> tro lai khong bao dong,khong
;pha cuoc goi
;Neu may chu khong nhac ma dien ap sut -> co nguoi
;dang goi trom
baotrom:
MOV P1,#0FFH ;Chuong trinh phat xung goi thue bao khong
;co(112)de goi truoc khi trom goi
SETUP:
MOV TCON,#41H; chay time 1
MOV TMOD,#20H; chay time 1 de tao toc do baud
;ORL PCON,#80H; dat bit SMOD=1 nhan doi tocdo baud
MOV TH1,#0F3H; thiet lap toc do baud F3:4800Hz F9:9600Hz
FC:19200Hz
MOV SCON,#40H; mode 1 ( 8 bit data) 40_chopheptruyen,50_chophepnhan
SETB IE.7 ;cho phep tat ca cac ngat
SETB IE.0 ;cho phep ngat ngoai 0
RET
SEND:
CLR TI
MOV SBUF,A; dua bye data vao thanh ghi cong noi tiep
CHO: JNB TI,CHO; cho toi khi bye truyen xong
CLR TI
RETI
END.
5.4 Sơ đồ khối phần lập trình cho MT8880
Hoàng Đình Thiệp Trường Đại Học 54
Công Nghệ
Tìm hiểu về máy điện thoại cố định và thiết kế mạch chống gọi trộm điện thoại
CHƯƠNG 6: ĐÁNH GIÁ KẾT QUẢ VÀ HƯỚNG MỞ RỘNG CỦA ĐỀ TÀI.
Sau một thời gian nghiên cứu tài liệu và thực nghiệm em đã thực hiện được
một số công việc như sau:
Tìm hiểu nguyên lý hoạt động và nguyên lý quay số của máy điện thoại cố
định .
Tìm hiểu về cấu tạo và tính năng của vi điều khiển 89C2051.
Tìm hiểu vế cấu trúc và tính năng của IC MT8880
Thiết kế mạch phát hiện quay số trộm và ngăn chặn việc quay số trộm.
Thiết kế mạch phát hiện xung quay số và TONE quay số để tránh hiện tượng
vô tình để kênh máy thì máy khác vẫn có thể gọi trộm.
Với việc sử dụng vi điều khiển 89C2051 em muốn có thể phát triển thêm một
số ứng dụng như ghi lại số gọi đến, số gọi đi, tự động quay số, tự động trả lời … Để
lắp thêm vào những máy chưa có những chức năng trên. Việc này sẽ tiết kiệm rất
Hoàng Đình Thiệp Trường Đại Học 55
Công Nghệ
Tìm hiểu về máy điện thoại cố định và thiết kế mạch chống gọi trộm điện thoại
nhiều chi phí vì người sử dụng có thể tận dụng máy điện thoại cũ mà vẫn có những
chức năng cần thiết.
Hoàng Đình Thiệp Trường Đại Học 56
Công Nghệ
Các file đính kèm theo tài liệu này:
- Nghiên cứu và thiết kế mạch chống gọi trộm điện thoại.pdf