Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 83 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
83
Dung lượng
2,53 MB
Nội dung
ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP PHẠM ĐỨC TRƯỜNG THIẾTKẾHỆTHỐNGĐIỀUKHIỂNXAQUAĐƯỜNGDÂYTHOẠITRÊNCƠSỞCỦACHÍPDTMF Chuyên ngành: KỸ THUẬT ĐIỆN TỬ Mã số: 60 52 02 03 LUẬN VĂN THẠC SĨ KỸ THUẬT PHÒNG QUẢN LÝ ĐÀO TẠO SAU ĐẠI HỌC NGƯỜI HƯỚNG DẪN KHOA HỌC PGS.TS ĐỖ XUÂN TIẾN KHOA ĐIỆN TỬ TRƯỞNG KHOA Thái Nguyên - 2014 Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ LỜI CAM ĐOAN Tên là: Phạm Đức Trường Học viên lớp: Cao học Kỹ Thuật Điện Tử - Khoá: 14 Trường Đại học kỹ thuật Công nghiệp Thái Nguyên Xin cam đoan luận văn “Thiết kếhệthốngđiềukhiểnxaquađườngdâythoạisởchíp DTMF” Thầy giáo PGS.TS Đỗ Xn Tiến hướng dẫn cơng trình nghiên cứu riêng Tất tài liệu tham khảo có nguồn gốc, xuất xứ rõ ràng Tơi xin cam đoan tất nội dung luận văn nội dung đề cương yêu cầu thầy giáo hướng dẫn Nếu có vấn đề nội dung luận văn, tơi xin hồn tồn chịu trách nhiệm với lời cam đoan Thái Nguyên, ngày tháng năm 2014 Học viên Phạm Đức Trường LỜI CẢM ƠN Trong suốt trình học tập tốt nghiệp, nhận giúp đỡ tận tình thầy Khoa Điện tử - Trường Đại học Kỹ thuật Công nghiệp Đại học Thái Ngun Tơi xin bày tỏ lòng biết ơn thầy giáo Phòng Đào tạo sau đại học giúp đỡ tận tình Tơi đặc biệt muốn cảm ơn Thầy PGS.TS Đỗ Xuân Tiến tận tình giúp đỡ, hướng dẫn tơi thời gian thực đề tài, cảm ơn giúp đỡ gia đình, bạn bè đồng nghiệp thời gian qua Mặc dù cố gắng, song điều kiện thời gian kinh nghiệm thực tế nhiều hạn chế nên khơng thể tránh khỏi thiếu sót Vì vậy, tơi mong nhận đóng góp ý kiến thầy cô bạn bè, đồng nghiệp Tôi xin chân thành cảm ơn! Tác giả luận văn Phạm Đức Trường i MỤC LỤC MỤC LỤC i DANH MỤC CÁC CHỮ VIẾT TẮT iv DANH MỤC BẢNG v DANH MỤC CÁC HÌNH vi MỞ ĐẦU Chương TỔ CHỨC HỆTHỐNGĐIỀUKHIỂNTHIẾT BỊ TỪ XAQUAĐƯỜNG ĐIỆN THOẠI 1.1 Sơ đồ cấu trúc Hệthống 1.2 Chức khối Hệthống 1.2.1 Khối giải mã thu DTMF (Dual Tone Multi Frequency) 1.2.2 Khối phát tín hiệu chng 1.2.3 Khối kết nối thuê bao 1.2.4 Khối điềukhiểnthiết bị 1.2.5 Khối nút nhấn bên 1.2.6 Khối vi xử lý 1.2.7 Khối nguồn 1.2.8 Khối phát cố cảnh báo chỗ 1.2.9 Khối hiển thị Chương TỔNG QUAN VỀ TỔNG ĐÀI ĐIỆN TỬ – PHƯƠNG THỨC LÀM VIỆC CỦA TỔNG ĐÀI VÀ CÁC THUÊ BAO ĐIỆN THOẠI 2.1 Tổng quan Tổng đài điện tử 2.1.1 Sơ lược lịch sử phát triển tổng đài 2.1.2 Khái niệm tổng đài số 2.1.3 Các chức hệthống tổng đài 10 i 2.2 Phương thức làm việc tổng đài thuê bao 10 2.2.1 Đặc tính điện thoạicố định 10 2.2.2 HệthốngDTMF (Dual Tone Multi Frequency) 12 2.2.3 Phương thức quay số 13 2.2.4 Phương thức làm việc tổng đài thuê bao 16 Chương THIẾTKẾ PHẦN CỨNG HỆTHỐNG 18 ii 3.1 Bộ Vi điềukhiển AT89S52 18 3.1.1 Sơ đồ khối Vi điềukhiển AT89S52 18 3.1.2 Sơ đồ chức chân vi điềukhiển AT89S52 19 3.2 Chíp Giải mã Thu - Phát DTMF MT8888 21 3.2.1 Sơ đồ khối MT8888 21 3.2.2 Sơ đồ chức MT8888 21 3.2.3 Bộ Thu - Phát DTMF 23 3.2.4 Kết nối giao tiếp với vi xử lý 25 3.2.4.1 Mô tả chung 25 3.2.4.2 Cách truy cập ghi 26 3.2.4.3 Các ghi 27 3.3 Thiếtkế mạch khối chức 28 3.3.1 Mạch phát tín hiệu chng, kết nối th bao 28 3.3.1.1 Sơ đồ nguyên lý 28 3.3.1.2 Nguyên lý hoạt động 28 3.3.2 Khối thu tín hiệu DTMF 29 3.3.2.1 Sơ đồ nguyên lý 29 3.3.2.2 Nguyên lý hoạt động 30 3.3.3 Khối điềukhiểnthiết bị 31 3.3.3.1 Sơ đồ nguyên lý 31 3.3.3.2 Nguyên lý hoạt động 31 3.3.4 Khối phát cảnh báo cố 31 3.3.4.1 Sơ đồ nguyên lý 31 3.3.4.2 Nguyên lý hoạt động 32 3.3.5 Khối nguồn 32 3.3.5.1 Sơ đồ nguyên lý 32 3.3.5.2 Nguyên lý hoạt động 33 3.3.6 Khối điềukhiển trung tâm 33 3.3.6.1 Sơ đồ nguyên lý 33 3.3.6.2 Nguyên lý hoạt động 33 Chương THIẾTKẾ PHẦN MỀM VẬN HÀNH HỆTHỐNG 34 4.1 Lưu đồ giải thuật vận hành HệthốngĐiềukhiểnthiết bị từ xaquađườngdâythoại 35 4.1.1 Lưu đồ giải thuật 35 4.1.2 Giải thích 35 4.2 C h n g t r ì n h p h ầ n m ề m v ậ n h n h h ệ th ố n g đ i ề u k h i ể n t h i ế t b ị từ xaqua đư n g d â y thoại 37 Chương THỰC NGHIỆM 38 5.1 Giới thiệu hệthốngđiềukhiểnxaquađườngdâythoại 38 5.2 Nguyên lý hoạt động hệthống 38 KẾT LUẬN VÀ KIẾN NGHỊ 41 TÀI LIỆU THAM KHẢO 42 PHỤ LỤC 43 DANH MỤC CÁC CHỮ VIẾT TẮT Từ Viết Tắt Tên Tiếng Anh Tên Tiếng Việt AC Alternating Current Dòng điện xoay chiều CMOS Complementary Metal Oxide - Kết hợp xít kim loại chất Semiconductor bán dẫn CP Call Progress Xử lý gọi CPU Central Processing Unit Bộ xử lý trung tâm CRA Control Register A Thanh ghi điềukhiển A CRB Control Register B Thanh ghi điềukhiển B D/A Digital/Analog Bộ biến đổi số - tương tự DC Direct Current Dòng điện chiều DTMF Dual Tone Multi Frequency Cặp tín hiệu đa tần I/O Input/OutPut Đầu vào/Đầu IC Integrated circuit Vi mạch tích hợp MCS Microchip Computer Solutions Máy tính cỡ nhỏ OPAMP Operational Amplifier Mạch khuếch đại thuận toán PP Peak To Peak Giá trị đỉnh – đỉnh RAM Random Access Memory Bộ nhớ truy xuất ngẫu nhiên RMS Root Mean Square Giá trị hiệu dụng ROM Read-Only Memory Bộ nhớ đọc S/N Signal/Noise Tín hiệu/Nhiễu V Voltage Đơn vị điện áp DANH MỤC BẢNG Bảng 2.1 Các cặp tần sốDTMF 15 Bảng 3.1 Chức riêng chân Port 20 Bảng 3.2 Chức chân MT8888 22 Bảng 3.3 Bảng giải mã tần sốDTMF 24 Bảng 3.4 Cách truy cập ghi 26 Bảng 3.5 Thanh ghi điềukhiển CRA 27 Bảng 3.6 Thanh ghi điềukhiển CRB 27 Bảng 3.7 Thanh ghi trạng thái 27 Bảng 3.8 Chức chân điềukhiển 33 Bảng 5.1 Vị trí khối hệthốngđiềukhiển 38 Bảng 5.2 Mã lệnh điềukhiển 39 DANH MỤC CÁC HÌNH Hình 1.1 Sơ đồ tổng qt hệthống giám sát điềukhiển từ xa Hình 1.2 Sơ đồ khối hệthốngđiềukhiểnthiết bị từ xa Hình 2.1 Tín hiệu mời quay số 11 Hình 2.2 Tín hiệu báo bận 11 Hình 2.3 Tín hiệu hồi âm chuông 12 Hình 2.4 Tín hiệu chng 12 Hình 2.5 Tín hiệu đảo cực 12 Hình 2.6 Bàn phím DTMF 13 Hình 2.7 Bàn phím DTMF ma trận vng 13 Hình 2.8 Dạng sóng quay số kiểu PULSE 15 Hình 3.1 Sơ đồ khối vi điềukhiển AT89S52 18 Hình 3.2 Sơ đồ chân AT89S52 19 Hình 3.3 Cấu trúc MT8888 21 Hình 3.4 Sơ đồ chân MT8888 22 Hình 3.5 Sơ đồ ngun lý khối phát tín hiệu chng kết nối thuê bao 28 Hình 3.6 Sơ đồ nguyên lí khối thu tín hiệu DTMF 30 Hình 3.7 Sơ đồ nguyên lí khối điềukhiểnthiết bị 31 Hình 3.8 Khối phát cố xẩy 31 Hình 3.9 Khối cảnh báo cố xẩy 32 Hình 3.10 Khối nguồn 32 Hình 3.11 Sơ đồ nguyên lý khối điềukhiển trung tâm 33 Hình 4.1 Lưu đồ giải thuật 35 Hình 5.1 Sơ đồ hệthốngđiềukhiển từ xa 38 void Fn_MT8888_Init(void) { Fn_MT8888_ReadSts (); Fn_MT8888_WriteCmd (0); Fn_MT8888_WriteCmd (0); Fn_MT8888_WriteCmd (8); Fn_MT8888_WriteCmd (0); Fn_MT8888_ReadSts (); } void Fn_MT8888_Setup(void) { Fn_MT8888_WriteCmd(13); Fn_MT8888_WriteCmd(0); } void Fn_MT8888_WriteCmd(unsigned char vrc_Cmd) { MT8888_DPORT = vrc_Cmd; MT8888_CS = 0; MT8888_RS0 = 1;//////////////// MT8888_WR = 0; Fn_Delay(10); MT8888_CS = 1; MT8888_WR = 1; } void Fn_MT8888_WriteData(unsigned char vrc_Data) { MT8888_DPORT = vrc_Data|0x0f; MT8888_CS = 0; MT8888_RS0 = 0; MT8888_WR = 0; Fn_Delay(10); MT8888_CS = 1; MT8888_WR = 1; } unsigned char Fn_MT8888_ReadSts(void) { MT8888_CS = 0; MT8888_RS0 = 1; MT8888_RD = 0; Fn_Delay(10); MT8888_CS = 1; MT8888_RD = 1; return(MT8888_DPORT&0x0F); } unsigned char Fn_GetData(void) { unsigned char vruc_Read_Data; Fn_Delay(10); MT8888_WR=1; MT8888_RD=0; MT8888_RS0=0; MT8888_CS=0; Fn_Delay(10); vruc_Read_Data=P1&0x0f; vruc_Read_Data=P1&0x0f; MT8888_CS=1; return vruc_Read_Data; } void delayms(unsigned int time){ while(time ) { unsigned char temp=125; while(temp ); } } void Fn_SYS_Init (void) { Fn_MT8888_Init(); Fn_MT8888_Setup (); EA = 1; // CHO PHEP NGAT TOAN CUC EX0 = 1; // CHO PHEP NGAT NGOAI IT0 = 1; // CHO PHEP NGAT THEO SUON (EX0) LCD_Init (); Fn_CTrol_Init (); } void Fn_CTrol_Init (void) // Khoi tao gia tri cho cac den Led va Role { RL1 = 0; // RL2 = 0; // dialdetect = 0; inputenable = 0; incorrect = 0; correct = 0; } void Fn_CTrol_DelayTime (unsigned int _vrui_Time) { while (_vrui_Time ); } void Fn_CTrol_Button (void) // Dieukhien nut bam { if (BT_RL1 == 0) // CO PHIM BAM O BT1 { Fn_CTrol_DelayTime (10); if (BT_RL1 == 0) { while (BT_RL1 == 0); vruc_GLB_STATUS_ALARM = 0; vruc_GLB_STATUS_RINGDETECT = 0; RL1 = ~RL1; if (RL1 == 1) { LCD_Clear (); LCD_Gotoxy (0,0); LCD_Puts("Bat Relay 1"); } else { LCD_Clear (); LCD_Gotoxy (0,0); LCD_Puts("Tat Relay 1"); } } } if (BT_RL2 == 0) // CO PHIM BAM O BT2 { Fn_CTrol_DelayTime (10); if (BT_RL2 == 0) { while (BT_RL2 == 0); vruc_GLB_STATUS_ALARM = 0; vruc_GLB_STATUS_RINGDETECT = 0; RL2 = ~RL2; if (RL2 == 1) { LCD_Clear (); LCD_Gotoxy (0,0); LCD_Puts("Bat Relay 2"); } else { LCD_Clear (); LCD_Gotoxy (0,0); LCD_Puts("Tat Relay 2"); } } } } void Fn_reset_begin (void) // Reset ve trang thai ban dau { unsigned char vruc_iSeek; for (vruc_iSeek = 0; vruc_iSeek < 4; vruc_iSeek++) { A_Recieved [vruc_iSeek] = 0; } inputenable = 0; vruc_GLB_STATUS_RINGDETECT = 1; LCD_Gotoxy (0,1); LCD_Puts ("Ngat Dk"); delayms(3000); Coichip = 0; P2=0x00; Fn_SYS_Init (); LCD_Gotoxy (0,0); LCD_Puts ("Waiting : "); LCD_Gotoxy (0,1); vruc_GLB_iSeek = 0; vruc_GLB_Value = 0; vruc_GLB_CheckPass = 0; vruc_GLB_Check = 0; vruc_GLBSYS_ReadData = 0; vruc_GLBSYS_ReadDataOld = 0; vruc_GLBSYS_Ok = 0; vruc_GLB_UnLock = 0; vruc_GLBSYS_ConTrol = 0; vruc_GLBSYS_ConTrol_1 = 0; vruc_GLBSYS_ConTrol_2 = 0; vruc_iSeek = 0; } void Fn_CTrol_Proc (void) // Dieukhien { Fn_CTrol_Button (); if (vruc_GLB_STATUS_RINGDETECT == RINGDETECT) { vruc_GLB_STATUS_RINGDETECT = 0; LCD_Clear (); LCD_Gotoxy (0,0); LCD_Puts("Co cuoc goi :"); LCD_Gotoxy (0,1); LCD_PutChar (vruc_GLB_iSeek+48); } if (vruc_GLB_STATUS_ALARM == ALARM) { vruc_GLB_STATUS_ALARM = 0; LCD_Clear (); LCD_Gotoxy (0,0); LCD_Puts("Co su co"); LCD_Gotoxy (0,1); inputenable = 1; delayms(1000); delayms(5000); for (vruc_iSeek1 = 0; vruc_iSeek1 < 10; vruc_iSeek1++) { incorrect = 0; correct = 0; Fn_MT8888_WriteData(A_Phone [vruc_iSeek1]); if (vruc_iSeek1 == 0){LCD_PutChar (0+48);} else { LCD_PutChar (A_Phone [vruc_iSeek1]+48); } incorrect = 1; correct = 1; delayms(1500); } delayms(3000); } } void main(void) { Coichip = 0; P2=0x00; Fn_SYS_Init (); LCD_Gotoxy (0,0); LCD_Puts ("Waiting : "); LCD_Gotoxy (0,1); vruc_GLB_iSeek = 0; vruc_GLB_Value = 0; vruc_GLB_CheckPass = 0; vruc_GLB_Check = 0; vruc_GLBSYS_ReadData = 0; vruc_GLBSYS_ReadDataOld = 0; vruc_GLBSYS_Ok = 0; while(1) { Fn_CTrol_P roc(); if (inputenable == 1)// NEU CHO PHEP KET NOT THI MOI NHAN DU LIEU { vruc_GLBSYS_ReadData = Fn_GetData(); if (vruc_GLBSYS_ReadData != vruc_GLBSYS_ReadDataOld) { if (vruc_GLB_iSeek != 0) { A_Recieved [vruc_GLB_iSeek-1] = vruc_GLBSYS_ReadData; LCD_PutChar (vruc_GLBSYS_ReadData+48); } vruc_GLB_iSeek++; vruc_GLBSYS_ReadDataOld = vruc_GLBSYS_ReadData; } } while (vruc_GLB_iSeek == 5) { unsigned char vruc_iSeek; vruc_GLB_iSeek = 0; LCD_Clear (); for (vruc_iSeek = 0; vruc_iSeek < 4; vruc_iSeek++) { if (A_Recieved [vruc_iSeek] == A_PassWord [vruc_iSeek]) { vruc_GLB_CheckPass++; } } if (vruc_GLB_CheckPass == 4) { vruc_GLB_CheckPass = 0; LCD_Clear (); LCD_Gotoxy (0,0); LCD_Puts ("Xin Chao !"); LCD_Gotoxy (0,1); LCD_Puts ("San Sang "); vruc_GLB_UnLock = 1; vruc_GLB_iSeek = 1; } else { vruc_GLB_iSeek = 1; vruc_GLB_iSeek = 0; vruc_GLB_CheckPass = 0; LCD_Clear (); LCD_Gotoxy (0,0); LCD_Puts ("Mat Khau Sai"); delayms (1000); vruc_GLB_PassError++; if (vruc_GLB_PassError >= 3) { vruc_GLB_PassError = 0; Fn_reset_begin (); } else { LCD_Clear (); LCD_Gotoxy (0,0); LCD_Puts ("Nhap Mat Khau :"); LCD_Gotoxy (0,1); vruc_GLB_iSeek = 1; } } } while (vruc_GLB_UnLock == 1) { vruc_GLBSYS_ReadData = Fn_GetData(); vruc_GLBSYS_ConTrol = vruc_GLBSYS_ReadData; LCD_Clear (); LCD_Gotoxy (0,0); LCD_Puts ("Nhap Ma DK :"); LCD_Gotoxy (0,1); if (vruc_GLBSYS_ConTrol == 6) { LCD_Puts ("DK THIET BI"); delayms (500); } while (vruc_GLBSYS_ConTrol == 6) { vruc_GLBSYS_ReadData = Fn_GetData(); vruc_GLBSYS_ConTrol_1 = vruc_GLBSYS_ReadData; LCD_Clear (); LCD_Gotoxy (0,1); if (vruc_GLBSYS_ConTrol_1 == 1) { LCD_Clear (); LCD_Gotoxy (0,0); LCD_Puts ("DK THIET BI 1"); } while (vruc_GLBSYS_ConTrol_1 == 1) { vruc_GLBSYS_ReadData = Fn_GetData(); LCD_Clear (); LCD_Gotoxy (0,1); LCD_PutChar (vruc_GLBSYS_ReadData + 48); if (vruc_GLBSYS_ReadData == 3) { RL1 = 1; LCD_Clear (); LCD_Gotoxy (0,0); LCD_Puts ("BAT THIET BI 1"); } if (vruc_GLBSYS_ReadData == 4) { RL1 = 0; LCD_Clear (); LCD_Gotoxy (0,0); LCD_Puts ("TAT THIET BI 1"); } if (vruc_GLBSYS_ReadData == 2) { vruc_GLBSYS_ConTrol_1 = 2; } if (vruc_GLBSYS_ReadData == 9) { Fn_reset_begin (); } } if (vruc_GLBSYS_ConTrol_1 == 2) { LCD_Clear (); LCD_Gotoxy (0,0); LCD_Puts ("DK THIET BI 2"); delayms (500); } while (vruc_GLBSYS_ConTrol_1 == 2) { vruc_GLBSYS_ReadData = Fn_GetData(); LCD_Clear (); LCD_Gotoxy (0,1); LCD_PutChar (vruc_GLBSYS_ReadData + 48); if (vruc_GLBSYS_ReadData == 3) { RL2 = 1; LCD_Clear (); LCD_Gotoxy (0,0); LCD_Puts ("BAT THIET BI 2"); } if (vruc_GLBSYS_ReadData == 4) { RL2 = 0; LCD_Clear (); LCD_Gotoxy (0,0); LCD_Puts ("TAT THIET BI 2"); } if (vruc_GLBSYS_ReadData == 1) { vruc_GLBSYS_ConTrol_1 = 1; } if (vruc_GLBSYS_ReadData == 9) { Fn_reset_begin (); } } if (vruc_GLBSYS_ReadData == 9) { Fn_reset_begin (); } } } } } ... TỪ XA QUA ĐƯỜNG ĐIỆN THOẠI 1.1 Sơ đồ cấu trúc Hệ thống Một hệ thống điều khiển từ xa bao gồm ba thành phần chính: Trung tâm điều khiển, đường dây truyền dẫn tín hiệu, hệ thống thiết bị cần điều. .. Tác giả thiết kế sơ đồ khối hệ thống điều khiển từ xa qua đường dây thoại: Hình 1.2 Sơ đồ khối hệ thống điều khiển thiết bị từ xa 1.2 Chức khối Hệ thống 1.2.1 Khối giải mã thu DTMF (Dual Tone... xảy trường hợp người ngồi điều khiển hệ thống vơ tình quay số ngẫu nhiên Chính mà tác giả lựa chọn đề tài: Thiết kế hệ thống điều khiển xa qua đường dây thoại sở chíp DTMF cho luận văn Ý nghĩa