Khóa luận Nghiên cứu và thiết kế mạch chống gọi trộm điện thoại

Đ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

pdf59 trang | Chia sẻ: lvcdongnoi | Lượt xem: 2584 | Lượt tải: 1download
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:

  • pdfNghiên cứu và thiết kế mạch chống gọi trộm điện thoại.pdf
Luận văn liên quan