00H Xử lý thuê bao gác máy 01H Xử lý thuê bao nhấc máy 0AH Nạp các giá trị ban đầu 0BH Đổ chuông thuê bao trong 0CH Thông thoại với trung kế 10H Kiểm tra trạng thái trung kế 11H Xử lý tr
Trang 1PHẦN 4 : PHẦN MỀM ĐIỀU KHIỂN
1 NGUYÊN LÝ HOẠT ĐỘNG:
Chương trình sẽ kiểm tra và xử lý một cách tuần tự từ thuê bao thứ nhất đến thuê bao thứ tám sau đó đến hai trung kế rồi quay trở lại thuê bao thứ nhất Một chu kỳ quét từ thuê bao đầu tiên đến thuê bao cuối cùng rồi đến hai trung kế là 4ms Chu kỳ này đủ nhỏ để kịp theo dõi sự thay đổi trạng thái thuê bao và cũng đủ lớn để xử lý hết tất cả thuê bao và trung kế Tuỳ theo trạng thái tức thời của thuê bao hay trung kế được quét đến mà chương trình sẽ xử lý một cách tương ứng
Việc quản lý các thuê bao và trung kế dựa trên 16 byte bộ nhớ lưu ở Ram nội dành riêng cho từng thuê bao, trung kế Mỗi trạng thái của thuê bao hay trung kế sẽ được xử lý bởi một chương trình con tương ứng dựa vào biến CODE_TB CODE_TB
sẽ thay đổi theo từng giai đoạn thực hiện của thuê bao hay trung kế
00H Xử lý thuê bao gác máy
01H Xử lý thuê bao nhấc máy
0AH Nạp các giá trị ban đầu
0BH Đổ chuông thuê bao trong
0CH Thông thoại với trung kế
10H Kiểm tra trạng thái trung kế
11H Xử lý trung kế gọi vào
12H Kiểm tra thời gian đổ chuông thuê bao trong
13H Thông thoại cho trung kế
Trang 22 XỬ LÝ THUÊ BAO TRONG:
Khi cấp dial tone, nếu sau 10s mà thuê bao chưa bấm số CPU sẽ cắt dial tone và cấp busy tone cho thuê bao
Khi thuê bao đã quay số thứ nhất, nếu sau 10s mà thuê bao chưa bấm số thứ hai thì CPU cấp busy tone cho thuê bao
Khi được cấp busy tone, nếu sau 10 hồi busy tone mà thuê bao chưa gác máy, CPU sẽ ngắt Busy tone và chuyển thuê bao sang trạng thái treo máy
Khi thuê bao được đổ chuông sau 20 hồi chuông mà thuê bao chưa nhấc máy CPU sẽ cắt chuông và trả thuê bao về trạng thái gác máy
Chương trình có sử dụng các biến đếm sau:
Count1: Đếm hồi âm chuông
Count2, Count3: đếm thời gian âm hiệu
Trạng thái âm hiệu được thể hiện qua biến TONE
TONE = 00H: ngắt âm hiệu khỏi thuê bao
TONE = FFH: kết nối hiệu với thuê bao
Để xác định có thuê bao ngoài gọi vào trung kế hay không ta căn cứ vào mức logic của chân RD trong mạch trung kế
Điều khiển cuộc gọi nội bộ:
Gọi A và B là hai thuê bao của tổng đài nội bộ A là thuê bao gọi và B là thuê bao bị gọi Khi A nhấc máy (CPU nhận biết trạng thái này thông qua việc đọc HSO của A), tiến hành đóng thuê bao A với Dial tone Sau khi được cấp dial tone thuê bao A bắt đầu bấm số
Sau khi nhận biết số thông qua việc đọc tone DTMF, CPU sẽ kiểm tra thuê bao gọi và link thoại có rỗi không, nếu cả hai đều rỗi thì CPU sẽ tiến hành cấp chuông cho thuê bao bị gọi và cấp Ring Back tone cho thuê bao gọi Nếu thuê bao bị gọi nhấc máy CPU sẽ ngắt Ring Back tone của thuê bao gọi và tiến hành thông thoại cho hai thuê
Trang 3bao Sau khi thông thoại, khi một trong hai thuê bao gác máy CPU sẽ nhận biết trạng thái này và giải phóng link thoại đồng thời cấp Busy tone cho thuê bao còn lại
Trường hợp ngược lại, nếu thuê bao bị gọi hoặc link thông thoại không rỗi CPU
sẽ cấp Busy tone cho thuê bao còn lại
3 XỬ LÝ TRUNG KẾ:
Khi xét thấy chân RD ở mức 0 thì CPU biết được có chuông đổ vào trung kế Khi có chuông đổ vào trung kế, CPU sẽ quét xem có thuê bao rỗi hay không Nếu có CPU sẽ đổ chuông cho thuê bap rỗi đầu tiên mà nó quét đến Nếu thuê bao được đổ chuông nhấc máy, CPU sẽ ngắt chuông và tiến hành đóng tải giả để tạo trạng thái nhấc máy đối với tổng đài Ngược lại, nếu sau 20 hồi chuông mà thuê bao được đổ chuông không nhấc máy, CPU sẽ ngắt chuông thuê bao
Điều khiển cuộc gọi ra ngoài:
Gọi A là thuê bao nội bộ và B là thuê bao của tổng đài ngoài Khi thuê bao A muốn gọi thuê bao B thì bấm số 9 CPU sẽ kiểm tra xem có trung kế rỗi không, nếu không có trung kế nào rỗi thì đưa thuê bao về trạng thái nghe busy tone, nếu có thì tiến hành đóng Relay trung kế tạo trạng thái nhấc máy với tổng đài ngoài Sau đó việc nhận
số, giải mã và thông thoại đều do tổng đài ngoài xử lý Khi thông thoại, nếu A gác máy thì CPU sẽ nhận biết và tiến hành ngắt Relay trung kế tạo trạng thái gác máy với tổng đài ngoài
Điều khiển cuộc gọi từ ngoài vào:
Khi có cuộc gọi từ ngoài vào CPU sẽ nhận biết được thông qua mức logic của
RD Nếu RD lên mức 1 thì tiến hành cấp chuông cho thuê bao rỗi đầu tiên mà nó quét đến Nếu đang đổ chuông mà thuê bao ngoài gác máy thì CPU sẽ ngắt chuông của thuê bao nội bộ Nếu đang đổ chuông mà thuê bao nội nhấc máy, CPU sẽ ngắt chuông và kết nối thuê bao với trung kế đồng thời đóng Relay tạo trạng thái nhấc máy đối với tổng đài ngoài Sau khi thuê bao nội gác máy CPU sẽ giải phóng kết nối giữa thuê bao
Trang 44 LƯU ĐỒ GIẢI THUẬT CHƯƠNG TRÌNH CHÍNH
Y
N
Y N
Y N
Y N
Y N
Y N
PHẦN 5 : KẾT LUẬN
Start
Nạp các giá trị
mặc định
i=0
i=
1 0
Khởi động
Xử lý gác máy
Timer tràn
Code i
=00H
Code i
=01H
Code i
=02H
Code i
=n
Xử lý nhấc máy
Xử lý cấp dial
Xử lý chương trình con thứ n
Trang 5Tổng đài nội bộ là 1 thiết bị rất phổ biến trong thực tế , nhưng do thời gian làm
Đồ Án có hạn , kinh nghiệm thực tế còn kém nên trong quá trình thực hiện đề tài còn mắc nhiều sai sót và hạn chế , rất mong sự đánh giá của quý thầy cô và sự góp ý của các bạn sinh viên để đề tài hoàn chỉnh hơn