Tín hiệu tương tự từ tổng đài đưa đến qua C3 tiếp tục qua R4, qua R5 và đến chân đảo cực –IN của MT8870.
Khi MT8870 nhận được tín hiệu đảo cực từ chân 15 tức là chân STD (MT8870) nó sẽ lên mức logic 1 và làm cho chân 12 của vi điều khiển 89C51 ngắt INT0 thông qua cổng đảo 74LS04. Đồng thời cả hai chân RD (chân 17) của 89C51 cho hoạt động mức logic 1 có địa chỉ 8000 nối với chân OE\(MCM6264) và chân WR (chân 16) của 89C51 nối với chân WE\ (MCM6264) cho phép đọc hoặc ghi dữ liệu từ RAM ngoài ở mức logic 0.
Chân TOE (chân 10) của MT8870 sẽ tác động khi ngõ vào ở mức logic 1 và xuất ra ở ngõ ra Q1 đến Q4 sau đó đưa dữ liệu về vi xử lý AT89C51 để xử lý sau khi đã nhận được một con số hợp lệ. Khi đó Port 1 của 89C51 có nhiệm vụ xuất dữ liệu đến 2 thành phần như sau:
Port 1.0 Port 1.3 nối với 4 đầu vào của IC 74LS247 là IC dùng giải mã từ BCD sang led 7 đoạn.
Port 1.4 Port 1.7 nối với 4 đầu vào của IC 74LS154 có nhiệm vụ giải mã từ 4 sang 16, được sử dụng để chọn led.
Tất cả các chân anod của hệ thống 12 led 7 đoạn sẵn sàng hoạt động khi có tác động xung của Port 1 từ CPU gởi tới.
94 trang |
Chia sẻ: linhlinh11 | Lượt xem: 747 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Đồ án Thiết kế và thi công mạch tính cước điện thoại giao tiếp bằng máy tính, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ên ta khảo sát một máy tính 8-bit đơn board (single – board) mang tên SBC-51 thích hợp cho việc nghiên cứu 8051 và phát triển các sản phẩm dựa trên 8051. SBC-51 sử dụng một chương trình monitor cung cấp các lệnh điều khiển (command) cơ bản cho hoạt động của hệ thống và tác động qua lại với người sử dụng.
SBC – 51:
Một vài công ty cung cấp các máy tính đơn board dựa trên 8051 tương tự như máy tính được mô tả trong mục này. Tuy nhiên là thiết kế cơ bản của một máy tính đơn board dùng 8051 không thay đổi nhiều giữa các sản phẩm khác nhau do các công ty khác nhau cung cấp. Do có nhiều đặc trưng được đặt trong chip 8051, việc thiết kế một máy tính đơn board dùng 8051 không phức tạp, chỉ cần có các kết nối cơ bản đến bộ nhớ ngoài và giao tiếp với máy tính.
Ta cũng cần đến chương trình monitor được chứa trong ROM. Các yêu cầu của hệ cơ bản này như là kiểm tra và thay thế các vị trí nhớ hoặc nạp các chương trình ứng dụng từ máy tính xuống được cần đến. SBC-51 được mô tả ở đây cùng một chương trình monitor đơn giản nhằm cung cấp các chức năng cơ bản vừa nên.
Hình trên là sơ đồ mạch của SBC-51. Toàn bộ thiết kế chỉ bao gồm 10 vi mạch (IC), tuy nhiên các thiết kế này cũng đủ khả năng và linh hoạt để hỗ trợ cho việc phát triển các sản phẩm phức tạp dựa trên 8051. Hoạt động của 8051 chủ yếu dựa vào chương trình monitor thường trú trong EPROM và việc truyền thông với một thiết bị đầu cuối hiển thị video VDT ( video display terminal) kết nối với 8051.
SBC-51 bao gồm thêm, ngoài chức năng đặc trưng chuẩn của 80C51, 16 KB EPROM ngoài, 8,25 KB RAM ngoài, bộ nhớ định thời 14-bit và 22 đường xuất nhập. Cấu hình được trưng bày bao gồm các linh kiện và thành phần sau:
2 điện trở
1 thạch anh
1 chuyển mạch nút nhấn
3 đầu nối
13 jumper định cấu hình
Vì phải sử dụng bộ nhớ ngoài, port 0 và port 2 không còn được dùng để xuất nhập. Do các port 1 và port 3 chỉ sử dụng một phần cho các đặc trưng cụ thể, một số đường của port 1 và port 3 có thể được sử dụng cho mục đích xuất nhập, tùy thuộc vào cấu hình.
Nguồn xung clock cho 89C51 là một thạch anh 12 MHz được kết nối theo cách thông thường với mạch dao động bên trong 89C51. Chân RST (reset) được điều khiển bởi một mạch R-C để reset hệ thống tự động khi cấp nguồn, đồng thời ta có thể reset hệ thống bằng tay nhờ vào một chuyển mạch nút nhấn. Port 0 là port đa hợp hai nhiệm vụ, vừa là bus dữ liệu (D0 đến D7) vừa là byte thấp của bus địa chỉ (A0 đến A7) như đã đề cập. Mạch chốt 8-bit 74HC373 được điều khiển chốt bởi tín hiệu ALE sẽ duy trì byte thấp của bus địa chỉ trong suốt chu kỳ bộ nhớ. Vì 89C51 không có ROM trong chip, chương trình thực thi phải chứa trong ROM ngoài nên chân EA phải nối với 0 V nhờ jumper cấu hình X2.
Việc kết nối với máy tính hoặc VDT sử dụng giao tiếp nối tiếp RS232C. Đầu nối DB25 được nối dây trở thành một DTE (data terminal equipment : thiết bị đầu cuối dữ liệu ) với dữ liệu phát trên chân TxD (chân 2), dữ liệu thu trên chân RxD (chân 3) và chân 7 nối đất (0V).
Các phương pháp giao tiếp:
Giao tiếp với bàn phím số Hex:
Giao tiếp với bàn phím thường được cần đến đối với các thiết kế dựa trên bộ vi điều khiển. Nhập từ bàn phím và xuất ra LED là sự lựa chọn kinh tế để giao tiếp với người sử dụng và thường thích hợp với các ứng dụng phức tạp. Các thí dụ bao gồm việc giao tiếp người sử dụng với lò vi ba hoặc máy đổi tiền tự động.
Hình bên trình bày cách giao tiếp giữa port 1 và bàn phím số hex. Bàn phím có 16 phím được sắp xếp thành 4 hàng và 4 cột. Các đường hàng được nối với các bit từ 4 đến 7 còn các đường cột được nối với các bit từ 0 đến 3 của port 1.
Giao tiếp với các đèn 7-đoạn:
Giao tiếp với một đèn 7-đoạn được minh họa một mạch giao tiếp với bốn đèn 7-đoạn chỉ sử dụng ba trong số các đường xuất nhập của 8951. Hiển nhiên đây là một thiết kế được cải tiến đặc biệt là khi có nhiều đèn led 7-đoạn được kết nối. Trung tâm của thiết kế này là vi mạch giải mã và kích đèn 7-đoạn MC14499 của Motorola, vi mạch này chứa bên trong nhiều mạch cần thiết cho việc kích 4 đèn 7-đoạn.
Các thành phần được thêm vào chỉ là tụ định thời 0,015 uF, 8 điện trở giới hạn dòng 47 Ω và 4 transistor 2N3904
Giao tiếp với Loa:
Hình bên dưới trình bày giao tiếp giữa 8051 và loa. Các loa nhỏ, chẳng hạn các loa trong máy tính cá nhân hoặc đồ chơi trẻ em, có thể được kích từ một cổng logic. Một đầu cuộc dây của loa ghép với +5V, đầu còn lại ghép với ngõ ra của 74LS04. Cổng đảo được cần đến do cổng này có khả năng cấp và hút dòng cao hơn các chân port của 8051.
Giao tiếp với RAM không mất nội dung:
RAM không mất nội dung NV-RAM (non-volatile RAM) là bộ nhớ bán dẫn duy trì được nội dung khi ta không cung cấp điện cho RAM. NVRAM kết hợp cả hai: các phần tử của RAM tĩnh và các phần tử của ROM lập trình được và xóa được (EPROM). Mỗi một bit của RAM tĩnh được phủ bởi một bit của EPROM. Dữ liệu có thể qua lại giữa hai bit nhớ và như vậy giữa hai bộ nhớ.
NVRAM chiếm một vị trí quan trọng trong các ứng dụng của bộ vi xử lý và bộ vi điều khiển. NVRAM được sử dụng để lưu các dữ liệu và các tham số được cài đặt, các dữ liệu và tham số này thỉnh thoảng được thay đổi bởi người sử dụng nhưng phải được duy trì khi không cung cấp điện.
Thí dụ nhiều thiết kế của VDT không sử dụng các chuyển mạch DIP mà sử dụng NVRAM để lưu trữ các thông tin được cài đặt như là tốc độ baud, cho phép hoặc không cho phép bit chẵn lẻ, kiểm tra chẵn hay lẽ v.v.. Mỗi khi VDT được cấp điện, các tham số này được gọi từ NVRAM và hệ thống được khởi động tưng ứng một cách phù hợp. Khi một tham số được thay đổi bởi người sử dụng (thông qua bàn phím), giá trị mới được lưu trong NVRAM.
Các modem có đặc trưng tự động quay số thường lưu các số điện thoại trong bộ nhớ nội. Các số điện thoại này thường được lưu trong NVRAM. Mười số điện thoại với 7 digit cho mỗi số được lưu trong 35 byte (bằng cách mã hóa mỗi một digit ở dạng số BCD).
NVRAM được sử dụng trong thí dụ giao tiếp này là X2444 của Xicor, một công ty chuyên sản xuất NVRAM và EPROM. X2444 chứa 256 bit RAM tĩnh được phủ bởi 256 bit EEROM. Các dữ liệu được truyền qua lại giữa hai bit nhớ hoặc bằng các lệnh được gởi đi từ bộ vi xử lý trên mạng giao tiếp nối tiếp hoặc bằng cách sử dụng hai ngõ vào STORE và RECALL. Các dữ liệu không bị mất được lưu trong EEROM trong khi dữ liệu độc lập được truy xuất và cập nhật trong RAM. Các đặc trưng của X2444 như sau:
Lý tưởng khi sử dụng với các máy tính đơn chip
Định thời tĩnh
Giao tiếp I/O tối thiểu
Tương thích với port nối tiếp (COPSTM, 8051)
Dễ dàng giao tiếp với các port của các bộ vi điều khiển
Các mạch hỗ trợ tối thiểu
Đặc trưng không mất thông tin được điều khiển bởi phần cứng và phần mềm
Bảo vệ bộ nhớ tối đa
Tương thích TTL
Tổ chức 16 x 16
Công suất tiêu tán nhiệt thấp
Dòng tích cực: điển hình 15 mA
Dòng lưu trữ: điển hình 8 mA
Dòng chờ: điển hình 6 mA
Dòng nghỉ: điển hình 5 mA
Phương pháp giao tiếp với máy tính:
Việc giao tiếp giữa máy tính và thiết bị ngoại vi có thể được thực hiện bằng 3 cách:
Giao tiếp bằng Slot-Card.
Giao tiếp qua cổng song song (máy in).
Giao tiếp qua cổng nối tiếp (COM).
Giao tiếp bằng slot-card:
Bên trong máy tính, ngoài những khe cắm dùng cho card vào – ra, card màn hình, vẫn còn những rãnh cắm còn trống. Để giao tiếp với máy tính, ta có thể thiết kế card mở rộng để gắn vào khe cắm mở rộng này. Ở máy tính PC/XT rãnh cắm chỉ có 1 loại với độ rộng 8 bit và tuân theo tiêu chuẩn ISA (Industry Standard Architecture). Rãnh cắm theo tiêu chuẩn ISA có 62 đường tín hiệu, qua các đường tín hiệu này máy tính có thể giao tiếp dễ dàng với thiết bị bên ngoài thông qua card mở rộng.
Trên rãnh cắm mở rộng, ngoài 20 đường địa chỉ, 8 đường dữ liệu, còn có một số đường điều khiển như: Reset, IOR, IOW, AEN, CLK, Do đó card giao tiếp với máy tính qua slot card đơn giản, số bit có thể tăng dễ dàng, giảm được số linh kiện, tốc độ truyền dữ liệu nhanh (truyền song song). Tuy nhiên, do khe cắm nằm bên trong máy tính nên khi muốn gắn card giao tiếp vào thì phải mở nắp ra, điều này gây bất tiện cho người sử dụng.
Giao tiếp bằng cổng song song:
Việc giao tiếp giữa vi điều khiển 8051 với máy tính được thực hiện qua ổ cắm 25 chân ở phía sau máy tính. Qua cổng này dữ liệu được truyền đi song song, nên đôi khi còn được gọi là cổng ghép nối song song, thường có địa chỉ 0x0378.
Việc điều khiển cổng song song thông qua 3 thanh ghi là: Data Port, Status Port và Control Port. Địa chỉ của thanh ghi Data Port chính là địa chỉ của cổng song song, địa chỉ Status Port = địa chỉ Data Port +1, địa chỉ Control Port = địa chỉ Data Port + 2.
Thanh ghi Data Port là thanh ghi I/O, tất cả dữ liệu vào/ra trên thanh ghi Data Port là dữ liệu thật, nghĩa là khhi ta ghi một mức logic 1 ra thiết bị bên ngoài thì thiết bị này nhận được đúng mức logic 1. Tương tự khi đọc vào.
Thanh ghi Control Port là thanh ghi xuất, chỉ có các ngõ ra /Select in, /Autofeed, /Stobe có mức logic đảo, nghĩa là để ghi ra các chân này một mức logic 0 thì ta cần đưa vào thanh ghi Control Port dữ liệu có mức logic 1 vào các bit tương ứng với các chân cần tác động.
Thanh ghi Status Port là thanh ghi nhận, hầu như các bit dữ liệu của thanh ghi này nhận vào đúng mức logic ngoại trừ bit Busy thì có mức logic đảo.
D7
D6
D5
D4
D3
D2
D1
D0
D7
D6
D5
D4
D3
D2
D1
D0
D7
D6
D5
D4
D3
D2
D1
D0
Data 7
Data 6
Data 5
Data 4
Data 3
Data 2
Data 1
Data 0
Busy
/ACK
PE
Select
/Error
/IRQ
Reserved
Reserved
Reserved
Reserved
Direction
IRQ Enab
/Select
INIT
/Autofeed
/Stobe
Chức năng các chân của cổng COM 25 chân:
CHÂN
KÝ HIỆU
VÀO/RA
MÔ TẢ
1
/Strobe
Lối ra (output)
: Byte được in
2
D0
Lối ra
Đường dữ liệu D0
3
D1
Lối ra
Đường dữ liệu D1
4
D2
Lối ra
Đường dữ liệu D2
5
D3
Lối ra
Đường dữ liệu D3
6
D4
Lối ra
Đường dữ liệu D4
7
D5
Lối ra
Đường dữ liệu D5
8
D6
Lối ra
Đường dữ liệu D6
9
D7
Lối ra
Đường dữ liệu D7
10
/ACK
Lối vào (Input)
Acknowledge (Xác nhận )
11
Busy
Lối vào
1: Máy in bận
12
PE
Lối vào
Lựa chọn
13
Select
Lối vào
Tự nạp
14
/Autofeed
Lối ra
Error
15
/Error
Lối vào
0: Đặt lại máy in
16
INIT
Lối ra
Select in
17
/Select in
Lối ra
Nối đất
18
GND
GND
-nt-
19
GND
-nt-
20
GND
-nt-
21
GND
-nt-
22
GND
-nt-
23
GND
-nt-
24
GND
-nt-
25
GND
-nt-
Chức năng các chân của cổng song song.
Khi máy tính gởi dữ liệu ra cổng máy in muốn dữ liệu này qua với thiết bị bên ngoài thường giao tiếp qua một vi mạch 8255. IC 8255 làm việc ở chế độ 1: Port A là nhập dữ liệu; Port B xuất dữ liệu.
Giao tiếp bằng cổng nối tiếp:
Cổng nối tiếp RS232 là một giao diện phổ biến rộng rãi nhất. Người ta còn gọi cổng này là cổng COM1, còn cổng COM2 để tự do cho các ứng dụng khác. Giống như cổng máy in cổng COM cũng được sử dụng một cách thuận tiện cho việc giao tiếp với thiết bị ngoại vi.
Việc truyền dữ liệu qua cổng COM được tiến hành theo cách nối tiếp. Nghĩa là các bit dữ liệu được truyền đi nối tiếp nhau trên một đường dẫn. Loại truyền này có khả năng dùng cho các ứng dụng có yêu cầu truyền khoảng cách lớn hơn, bởi vì các khả năng gây nhiễu là nhỏ đáng kể hơn khi dùng cổng song song ( cổng máy in).
Cổng COM không phải là một hệ thống bus. Nó cho phép dễ dàng tạo ra liên kết dưới hình thức điểm với điểm giữa hai máy cần trao đổi thông tin với nhau, một thành viên thứ ba không thể tham gia vào cuộc trao đổi thông tin này.
Từ bảng chức năng các chân bên trên cho ta thấy cổng COM có tổng cộng 8 đường dẫn, chưa kể đến đường nối đất. Trên thực tế có hai loại cổng COM, một loại 9 chân và một loại 25 chân. Cả hai loại này đều có chung một đặc điểm.
Việc truyền dữ liệu xảy ra ở trên hai đường dẫn. Qua chân ra TXD máy tính gởi dữ liệu của nó đến thiết bị bên ngoài. Trong khi đó các dữ liệu mà máy tính nhận được lại được dẫn đến chân RXD, các chân khác đóng vai trò như là tín hiệu hỗ trợ khi trao đổi thông tin, và vì thế không phải trong mọi trường hợp ứng dụng đều dùng hết.
Các chân và đường dẫn được mô tả như sau:
CHÂN
(loại 9 chân)
CHÂN
(loại 25 chân)
KÝ HIỆU
VÀO/RA
MÔ Tả
1
8
DCD
Lối vào
Data carrier Detect
2
3
RXD
Lối vào
Receive Data
3
2
TXD
Lối ra
Transmit Data
4
20
DTR
Lối ra
Data Terminal Ready
5
7
GND
Nối đất
6
6
DSR
Lối vào
Data Set Ready
7
4
RTS
Lối ra
Request to Send
8
5
CTS
Lối vào
Clear to Send
9
22
RI
Lối vào
Ring Indicator
Chức năng các chân của cổng nối tiếp.
Dùng 1 xung clock để đồng bộ quá trình nhận theo từng bit ký tự. Máy sẽ cung cấp tín hiệu clock cho cả hai đầu phát và thu.
Ưu điểm: chỉ truyền data, không cần thêm tín hiệu đồng bộ vào chuỗi data làm cho việc truyền sẽ nhanh hơn.
Nhược điểm: phải thêm 1 kênh thứ hai để truyền tín hiệu clock song song với kênh truyền data.
Truyền bất đồng bộ nối tiếp:
Thêm vào phía trước mỗi ký tự 1 bit START và phía sau 1 hoặc 2 bit STOP. Máy thu sẽ tách bit START để khởi động tín hiệu đồng bộ dùng cho việc thu các bit ký tự. Các bit STOP được dùng để ngăn cách các bit ký tự. Phương pháp này cho phép truyền ngẫu nhiên, không cần truyền liên tục.
Vì phải thêm các bit STOP, START nên tốc độ truyền tổng quát là chậm so với truyền đồng bộ nhưng lại đơn giản rẻ tiền hơn.
Tốc độ truyền bất đồng bộ: 75, 110, 300, 1200 bit/s
Tốc độ truyền đồng bộ: 2400, 4800, 9600 bit/s
Thông tin nối tiếp bất đồng bộ:
Dẫn nhập:
Truyền số liệu nối tiếp cho phép trao đổi thông tin giữa máy tính và thiết bị ngoại vi từng bit một. Số liệu trao đổi thường được gởi theo các nhóm bit (tạo thành một ký tự hay một từ). Thí dụ: một ký tự được thể hiện bằng mã ASCII. Trao đổi nối tiếp chỉ cần một đường dây tín hiệu hay một kênh liên lạc.
Truyền số liệu nối tiếp được sử dụng khi:
Thiết bị ngoại vi cần trao đổi số liệu vốn đã là vào/ra nối tiếp.
Ví dụ: Teletype, băng từ, cassette
Khoảng cách giữa máy tính và thiết bị ngoại vi tương đối lớn. Nếu khoảng cách đó tăng thì giá thành tăng lên theo tổng số đường dây dẫn số liệu. Giá của hệ còn phụ thuộc vào các bộ khuyếch đại đường dây và bộ thu. Do đó sử dụng phương pháp trao đổi nối tiếp sẽ kinh tế hơn.
Tốc độ truyền (còn gọi là tốc độ Baud) được xác định như tổng số lần thay đổi tín hiệu trong một giây. Nếu tín hiệu truyền đi là mã nhị phân thì tốc độ truyền tương ứng với số Bit truyền trong 1 giây. Các kênh thông tin được đánh giá bằng tốc độ truyền. Nếu số liệu đựoc truyền với tốc độ ngoài khả năng của kênh sẽ xảy ra lỗi, bên thu sẽ nhận được thông tin đúng.
Hệ thống truyền số liệu nối tiếp gồm các dạng:
Đơn công (One way hay Simplex): Số liệu chỉ được gởi đi theo một hướng.
Bán song công (Either way hay half-duplex): Số liệu được gởi theo hai hướng nhưng mỗi thời điểm chỉ được truyền theo một hướng.
Song công (both way hay full-duplex): Số liệu được truyền đồng thời theo hai hướng.
Truyền số liệu nối tiếp có thể là:
Đồng bộ (ĐB)
Bất đồng bộ (BĐB)
Điểm chung của hai phương pháp này là đòi hỏi thông tin khung (frame) thêm vào thông tin số liệu để tạo điều kiện cho bên thu/ nhận biết dạng của số liệu.
Điểm khác nhau cơ bản là:
Trong truyền BĐB, thông tin không cần cho từng ký tự, trong khi đó, ở truyền đồng bộ thông tin khung chỉ cần ở một chuỗi ký tự hay một khối (Block).
Truyền số liệu nối tiếp ĐB có hiệu suất lớn hơn BĐB nhưng đòi hỏi việc giải mã phức tạp hơn.
Phương pháp truyền ĐB sử dụng ở môi trường truyền dẫn tốc độ cao, truyền BĐB dùng ở môi trường truyền dẫn chậm hơn.
Trong truyền BĐB, dạng số liệu được cấu tạo từ các Bit số liệu cơ bản (các Bit thông tin và kiểm tra chẵn lẻ) và thêm phía trước một Bit khởi động (Start) và phía sau một hay nhiều Bit dừng (Stop). Bit Start có mức logic “0” được định nghĩa như mức điện áp dương trong chuẩn RS-232C. Bit Stop có mức logic “1”. Bit START báo cho phía thu bắt đầu nhận ký tự và đồng bộ với bên phát.
Quá trình đồng bộ này chỉ kéo dài trong thời gian “1” ký tự. Một hay nhiều Bit Stop được đưa vào sau ký tự để đảm bảo rằng Bit START của ký tự tiếp theo sẽ tạo ra quá trình chuyển tiếp trên đường dây liên lạc. Bên thu có thể đuổi kịp bên phát nếu xung đồng bộ có chậm hơn. Mặt khác, nếu đồng bộ bên thu nhanh hơn bên phát, bên thu sẽ thấy có khoảng cách giữa các ký tự nhưng giải mã số liệu vẫn đúng. Như vậy, cho phép một sai số nhất định giữa bên thu và bên phát trong truyền nối tiếp bất đồng bộ.
Trong truyền nối tiếp đồng bộ, một hay vài ký tự khung sẽ được thêm vào một nhóm ký tự. Những ký tự này gọi là ký tự đồng bộ. Nhờ những ký tự này, thiết bị thu tái tạo được các ký tự thông tin từ chuỗi Bit. Sự đồng bộ phải được giữ suốt trong một chuỗi ký tự dài. Ký tự đồng bộ thường được đưa vào từ kênh liên lạc ở Modem ngay từ bên ngoài.
Thủ tục truyền nối tiếp bất đồng bộ:
Đặc điểm của tín hiệu truyền nối tiếp bất đồng bộ là:
Tần số CLOCK thu, phát phân biệt với cùng một tần số danh định tùy theo tốc độ truyền bit.
Các ký tự truyền với những thời điểm liên tục, truyền riêng biệt và ngẫu nhiên.
Đường truyền giữ ở trạng thái mức 1 trong khoảng cách giữa các ký tự, gọi là trạng thái rỗi (idle).
Đối với một ký tự thì LSB (Least Significant Bit) được truyền đầu tiên lần lượt là các bit kế tiếp.
Ở đầu phát:
Khi tín hiệu Load = 1 thì dữ liệu ở dạng song song sẽ được nạp vào TSR (từ ngõ nhập dữ liệu).
Khi tín hiệu Load = 0 thì các bit này sẽ được dịch nối tiếp ra đường truyền. Thanh ghi dịch phát TSR cũng sẽ bao gồm mạch logic tự động thêm các bit START và bit STOP.
Ở đầu thu:
Sẽ nhận biết điểm bao một ký tự bằng cách tách bit START nhờ mạch phát hiện bit START (START BIT DETECT) khi trạng thái đường truyền dẫn chuyển từ 1 xuống 0 và lúc này bộ phận điều khiển sẽ điều khiển thanh ghi dịch bắt đầu dịch các bit trên đường dây vào. Sau 11 lần dịch (1 BIT START + 8 BIT DATA + 2 BIT STOP) thì có thể đọc được ký tự dạng song song ở ngõ ra thanh ghi dịch khi có tín hiệu Read.
Để kiểm tra sai khi truyền, trong 8 bit Data sẽ có một bit kiểm tra theo một trong hai thủ tục sau:
Kiểm tra chẵn (Even parity): Tổng số bit một trong 8 bit phải luôn luôn chẵn.
Kiểm tra lẻ (Odd parity): Tổng số bit 1 luôn luôn lẻ.
Như vậy, ở đầu phát sẽ có bộ phận đếm số bit 1 của 8 bit dữ liệu và tùy theo hình thức kiểm tra chẵn hay lẻ sẽ thêm vào bit cuối cùng giá trị 0 hoặc 1 cho thích hợp.
Ở đầu thu sẽ đếm số bit 1 của mỗi ký tự để xác định xem tình hình dữ liệu đến có đúng hay không?
Tất cả các thủ tục trên không phải là bắt buộc mà có thể thay đổi khác nhau tùy theo việc cài đặt thông sô ban đầu bởi người thực hiện việc truyền. Chỉ bắt buộc là thủ tục ở hai đầu thu và phát tương ứng nhau. Tất cả những công việc đã mô tả ở trên sẽ được thực hiện bởi một bộ phận giao tiếp thông tin bất đồng bộ mà thành phần chính là chip LSI- gọi là UART.
Thông tin nối tiếp đồng bộ:
Các thủ tục truyền nối tiếp bất đồng bộ đơn giản và rẻ tiền, nhưng chỉ thích hợp khi truyền các thông tin ngắn hoặc một vài ký tự cách quãng. Đối với các tập tin dài, sử dụng phương thức truyền thông tin đồng bộ sẽ hiệu quả hơn. Trong phương pháp này, thông tin được truyền theo từng khối (Blocks). Mỗi khối bao gồm một số tuần tự các ký tự và không cần các bit Start, bit Stop, mà sẽ đồng bộ theo từng khối cũng như việc kiểm tra sai.
Trong các hệ thống đồng bộ, tín hiệu Clock của máy phát sẽ được truyền qua máy thu song song với dữ liệu để dùng làm xung Clock cho việc dịch chuyển các bit thu. Nếu trong thực tế không thể thực hiện việc truyền tín hiệu xung Clock, thì máy thu sẽ tự tạo ra tín hiệu này. Do đó sẽ phức tạp hơn và có giá thành cao hơn so với thông tin bất đồng bộ. Để tránh các trường hợp các chuỗi bit 0 hoặc 1 kéo dài đôi khi dùng mã nhị phân đặc biệt để máy thu giữ được khả năng đồng bộ. Máy thu gởi một hoặc nhiều ký tự đồng bộ nhận dạng khi bắt đầu việc truyền và ngay khi nhận được bit đồng bộ, máy thu bắt đầu nhận bit. Phần lớn các mạng đồng bộ sử dụng các nghi thức do IBM tạo ra là nghi thức đồng bộ nhị phân BISYNC ( Binary Synchronous) hoặc đồng bộ đường điều khiển dữ liệu SDLC (Synchronous Data Link Control).
Các giao tiếp chuẩn RS-232C và RS-449 cung cấp các chân sau để truyền tín hiệu Clock:
Đối với RS-232:
Chân 15: TCLK- Transmit CLOCK (từ DCE).
Chân 17: RCLK- Receive CLOCK (từ DCE).
Chân 24: ETCLK- Externel Transmit CLOCK (từ DCE).
Đối với RS-449
Chân 6 và chân 23: Send Timing
Chân 8 và chân 26: Receive Timing
Chân 17 và chân 35: Terminal Timing (từ DCE).
Khi dùng Modem đồng bộ thì tín hiệu định thời sẽ được cung cấp từ Modem đến máy tính. Tần số Clock phát có thể tạo từ Modem hoặc thiết bị đầu cuối.
Cơ chế truyền thông nối tiếp giữa hai thiết bị:
Hai thiết bị truyền thông bắt tay với nhau được, cơ bản ở mỗi thiết bị phải đảm bảo về giao thức truyền, địa chỉ của mỗi thiết bị, kết nối đường truyền, tập lệnh truyền và nhận, phân cấp vùng nhớ đệm, xử lý tín hiệu.
Thiết bị 1
Thiết bị 2
3
2
5
3
2
5
Giao thức
Địa chỉ
Tập lệnh
Bộ nhớ
Xử lý tín hiệu
Giao thức
Địa chỉ
Tập lệnh
Bộ nhớ
Xử lý tín hiệu
Truyền thông nối tiếp trong VB:
Trong ngôn ngữ VB có chứa một tập thuộc tính của trình điều khiển MS Comm32.OXC để phục vụ cho quá trình truyền thông bắt tay giữa máy tính với máy tính khác hoặc thiết bị điều khiển khác (vi điều khiển, PLC v.v..). Làm việc với điều khiển truyền thông VB MS communication ta phải gán thành phần với giao diện ứng dụng.
Cách gán: Project->Components->Control->Mircosoft Comm Control 6.0 ->MSComm
Trong phần này, chỉ cung cấp một số thuộc tính cơ bản trong tập lệnh trên để phục vụ một số bài tập cơ bản về truyền thông nối tiếp.
Comport [ Xác lập và trả về số của cổng truyền thông, ví dụ com1, com2]
Setting [Xác lập và trả về tốc độ truyền, tính chẵn lẻ, các bit dữ liệu truyền và dừng]
PortOpen [Xác lập và trả về tình trạng của cổng truyền, mở cổng và đóng cổng]
InputLen [Xác lập và trả về số ký tự đọc từ vùng đệm nhận, nếu giá trị bằng 0 thì điều khiển MSComm đọc toàn bộ nội dung của vùng đệm nhận khi Input được dùng]
Input [Trả về và xóa các ký tự từ vùng đệm nhận]
Output [Viết chuỗi ký tự tới vùng đệm truyền]
PHẦN IV:
THIẾT KẾ VÀ THI CÔNG PHẦN CỨNG
CHƯƠNG I:
SƠ ĐỒ KHỐI – NGUYÊN LÝ HOẠT ĐỘNG
SƠ ĐỒ KHỐI:
Khối cảm biến gác máy, nhấc máy và đảo cực
Khối hiển thị
Khối thu tín hiệu DTMF
Khối giao tiếp
đường dây
Khối xử lý trung tâm
Khối giao tiếp RS_232
Máy tính
NGUỒN
CUNG CẤP
Khối lưu trữ
CHỨC NĂNG CÁC KHỐI:
Máy tính:
Máy tính có nhiệm vụ thực hiện việc tính toán giá cước, lưu trữ tất cả các thông số của cuộc gọi và giao tiếp với các thiết bị bên dưới qua cổng RS_232.
Khối giao tiếp RS-232:
Có nhiệm vụ chuyển đổi tín hiệu chuẩn TTL sang chuẩn RS_232 và ngược lại.
Khối xử lý trung tâm:
Có nhiệm vụ nhận biết và xử lý các thông tin của cuộc gọi, truyền các thông tin này về máy tính, nhận các lệnh từ máy tính và thực thi những lệnh này, xuất tín hiệu ra khối hiển thị cho người gọi tiện theo dõi.
Khối giao tiếp đường dây:
Có nhiệm vụ cách ly về mặt điện áp của đường dây điện thoại và hệ thống tính cước.
Khối thu DTMF:
Khối thu DTMF hoạt động nhờ vào IC MT8870 dùng để giải mã Tone, giải mã các số từ bàn phím của điện thoại và đưa dữ liệu về cổng xuất dữ liệu qua bus dữ liệu.
Khối hiển thị:
Bao gồm các transistor dẫn khuếch đại công suất bão hòa cho hệ thống led 7 đoạn, IC giải mã 74LS154, các led 7 đoạn. Các transistor được kích từ khối giải mã địa chỉ và từ port 1 của vi điều khiển.
Khối hiển thị: hiển thị các thông số về giá thành, thời gian và số cuộc gọi ở thời điểm hiện tại.
Khối cảm biến gác máy, nhấc máy và đảo cực:
Nhận biết được các trạng thái của tổng đài và tạo ra một mức logic ứng với những thông tin này để khối xử lý trung tâm nhận biết và xử lý.
Khối nguồn:
Tạo ra một nguồn điện thỏa mãn yêu cầu về điện áp cung cấp cho tất cả các linh kiện trong mạch
Khối lưu trữ:
Bao gồm khối chốt địa chỉ, khối RAM nhớ ngoài và nguồn pin CMOS. Khối lưu trữ này có nhiệm vụ chốt địa chỉ và dữ liệu từ khối xử lý trung tâm đưa tới sau đó đưa vào bộ RAM nhớ ngoài để phòng khi mất điện thì số liệu vẫn còn được lưu tiện hơn cho người quản lý. Pin CMOS làm nguồn nuôi cho RAM, vì khối xử lý trung tâm (trong mạch tính cước này ta dùng vi xử lý AT89C51) không có bộ nhớ trong.
SƠ LƯỢC VỀ HOẠT ĐỘNG CỦA SƠ ĐỒ KHỐI:
Để mạch hoạt động ta phải cấp nguồn ≥ 7V. Khi hệ thống được cung cấp nguồn, nguồn điện áp sẽ đến tất cả từng linh kiện trong từng khối của hệ thống, CPU được cấp nguồn sẽ bắt đầu hoạt động ở địa chỉ 0000H.
Đường dây thuê bao từ tổng đài đi vào “khối giao tiếp đường dây”, sau khi được bảo vệ quá áp đi qua “khối cảm biến nhấc máy, gác máy và đảo cực”. Khối xử lý trung tâm có nhiệm vụ nhận biết trạng thái của thuê bao đang nhấc máy hay gác máy thông qua khối cảm biến này.
Khi thuê bao gác máy thì tín hiệu không có nên hệ thống ở chế độ nghỉ. Khi thuê bao nhấc máy, tổng đài sẽ gởi tín hiệu mời quay số. Lúc này “khối thu tín hiệu DTMF” sẽ nhận tín hiệu chọn số của thuê bao đang thiết lập cuộc gọi từ “khối giao tiếp đường dây” tới thuê bao khác ở dạng tín hiệu song âm đa tần là tín hiệu Tone (DTMF_ Dual Tone Multi Frequency), rồi giải mã sau đó đưa tới khối xử lý trung tâm.
Khối xử lý trung tâm nhận biết các tín hiệu đưa tới và xuất ra khối hiển thị, đồng thời khối này cũng có nhiệm vụ truyền dữ liệu đến khối giao tiếp RS_232 và đưa vào máy tính. Khối xử lý trung tâm còn đưa dữ liệu vào khối lưu trữ vì bên trong khối xử lý trung tâm không có chế độ lưu trữ dữ liệu ( phòng khi mất điện).
Sau khi chấm dứt cuộc gọi, CPU sẽ gởi tín hiệu chấm dứt cuộc gọi (tín hiệu gác máy) về máy tính và chờ nhận giá sau cùng của cuộc gọi. Ngay lập tức khối xử lý sẽ khởi động chương trình tính tiền đưa đến khối hiển thị để hiển thị số tiền và lưu vào khối lưu trữ và sẵn sàng chờ cuộc gọi kế tiếp.
Khi nhận được tín hiệu xóa từ máy tính, CPU tiến hành xóa tất cả các thông số về cuộc gọi gần nhất và quay về trạng thái chờ nhấc máy.
CHƯƠNG II:
THIẾT KẾ VÀ GIẢI THÍCH NGUYÊN LÝ HOẠT ĐỘNG CỦA MẠCH THEO TỪNG KHỐI
KHỐI XỬ LÝ TRUNG TÂM CPU:
Sơ đồ nguyên lý:
Reset
Khối xử lý trung tâm CPU là bộ não của hệ thống máy tính, nó quản lý tất cả các hoạt động trong hệ thống và thi hành các hoạt động đếm và tính cước điện thoại trên dữ liệu. Nó là tập hợp các mạch logic thực hiện các hoạt động đem về các lệnh và thực thi các lệnh.
Nguyên lý hoạt động:
Trong máy tính cước, khối CPU chính là trái tim của máy tính cước, nó tiếp nhận và xử lý các thông tin hoạt động của máy. Tuy nhiên ở hệ thống quản lý của máy tính cước này thì CPU chỉ đảm nhiệm một số công việc nhất định. Việc chọn một CPU có độ bền cao, khả năng làm việc ổn định, các thông số và linh kiện kèm theo không quá khắt khe và phức tạp, là một yêu cầu quan trọng trong việc thiết kế. Cho nên ta chọn vi điều khiển AT89C51 vì chúng có nhiều ưu điểm (tập lệnh linh hoạt, bộ dao động được tích hợp bên trong ), việc lập trình không khó, hơn nữa giá thành không cao.
Khối điều khiển trung tâm có nhiệm vụ điều khiển mọi hoạt động của máy tính cước, bao gồm các hoạt động sau:
Nhận biết trạng thái nhấc máy, gác máy của thuê bao. Khi thuê bao nhấc máy, khối điều khiển sẽ nhận biết trạng thái của thuê bao và báo trạng thái này về máy tính và chờ nhận tín hiệu tone quay số từ bàn phím.
Nhận tone quay số từ Port 1 và giải mã tone quay số (ở đây ta chỉ giải mã tín hiệu dạng tone của điện thoại bởi vì các linh kiện điện thoại hiện nay hầu như không còn sử dụng cách phát pulse để quay số). Sau khi nhận được một số thì gởi về máy tính xử lý, đồng thời cho hiển thị ra Led thông qua port 1 để người gọi tiện theo dõi. Sau đó nhận về giá tiền của cuộc gọi tương ứng với số đã quay.
Thiết lập trạng thái chờ cuộc gọi từ ngoài vào khi có lệnh từ máy tính.
Nhận biết tín hiệu đảo cực từ tổng đài hay tín hiệu không đảo cực để xử lý.
Nếu có đảo cực (P3.7 = 0) thì sẽ gởi tín hiệu đếm thời gian tính tiền ngay khi được thông thoại.
Nếu không có tín hiệu đảo cực (P3.7 =1 ) thì khoảng 10s sau khi người gọi quay số xong CPU sẽ gởi tín hiệu đếm thời gian tính tiền.
Tính toán:
Mạch reset hệ thống:
Để Reset (công tắc SW1) hệ thống chân RST (chân Reset của 89C51 ) phải ở mức cao ít nhất 2 chu kỳ máy (T≥2µs) và VRST ≥3V (mức điện áp tối thiểu mà vi xử lý AT89C51 xem là mức logic 1), do đó ta chọn : VRST = 3 V ; T = 40 ms
Điện trở cần đủ nhỏ để tránh trường hợp dòng nạp cho tụ phân cực bên trong 89C51, chọn R1 = 100Ω. Điện áp ở chân RST là:
VRST = Vcc.e
Do đó: e = Vcc / VRST
=ln
→t =
t= R.C : khoảng thời gian từ khi đóng nguồn
C =
Điện áp của VRST là 3 V do đó RC = 3,9x10-6
Do VRST có thể lớn hơn nên để đảm bảo reset có thể hoạt động tốt ta chọn:
R2 = 8, 2KΩ
C10===13,6F
Vậy ta chọn C10 = 10µF/50V
RESET
Khi mới cấp nguồn 5V vào, do quá trình quá độ nên tụ điện xem như ngắn mạch do đó chân Reset được nối thẳng lên nguồn 5V. Vì vậy mạch được reset lại từ đầu.
Mạch dao động:
Vi điều khiển 89C51 có bộ dao động nằm bên trong vi mạch, do đó độ ổn định về tần số của mạch coi như thỏa mãn. Mặt khác độ ổn định của mạch còn phụ thuộc vào thạch anh hay mạch dao động RC bên ngoài. Ta chọn thạch anh vì nó dao động với tần số chuẩn và làm cho mạch đơn giản.
Ngoài ra ở điều kiện lý tưởng tần số làm việc của CPU phải hoàn toàn tương thích với tốc độ truy xuất dữ liệu của bộ nhớ.
Ở vi điều khiển 89C51 tần số làm việc tối đa lên đến 24MHz, nhưng do CPU còn dùng giao tiếp nên ta chọn thạch anh có tần số là 11,059 MHz.
Chọn Y1= 12MHz.
KHỐI RAM NHỚ NGOÀI:
Trong mạch tính cước này ta sử dụng SRAM 6264 có dung lượng 8 KB dùng để lưu trữ chương trình và dữ liệu.
Trong đó A0 – A12 : 13 đường địa chỉ vào.
WE\ : cho phép ghi ở mức logic 0.
OE\ : cho phép xuất ở mức logic 0.
CS1\: cho phép chọn vi mạch hoạt động (mức 0).
Bộ nhớ SRAM có khả năng lưu trữ thông tin trong nó chừng nào còn được cấp điện.
Thời gian truy xuất Tac = 250 ns.
Bảng trạng thái làm việc của SRAM 6264
WR\
CS\
CS
OE\
Output
Not select
X
H
X
X
High Z
Not select
X
X
L
X
High Z
Output Disable
H
L
H
H
High Z
Read
H
L
H
L
D Out
Write
L
L
H
H
D In
Chức năng:
Bộ nhớ RAM ( Random Access Memory) là bộ nhớ truy xuất ngẫu nhiên có nghĩa là bất kỳ ô nhớ nào cũng dễ dàng truy xuất trong bộ nhớ.
Bộ nhớ RAM dùng để lưu trữ tạm thời chương trình và dữ liệu, nội dung các ô nhớ trong RAM thay đổi liên tục khi vi xử lý thực hiện chương trình.
Một nhược điểm lớn của RAM là dữ liệu chứa trong RAM sẽ bị mất khi RAM bị mất nguồn cung cấp nhưng điều này đã được cải thiện nhờ dùng một nguồn pin dự phòng để nuôi RAM.
Có hai loại bộ nhớ RAM:
RAM tĩnh (Static RAM): sự tồn tại dữ liệu trong SRAM dưới dạng tắt hay bão hòa của các transistor nên sự ổn định của dữ liệu theo thời gian là khá bền.
RAM động (Dynamic RAM): dữ liệu được tồn trữ trong DRAM dưới dạng điện tích trong điện dung ký sinh nên rất dễ bị thất thoát bởi hiện tượng rò rỉ, vì vậy khi dùng DRAM ngoài mạch giải mã như thường mà người ta còn phải có một mạch làm tươi, do đó sẽ làm phức tạp thêm cho mạch.
Từ những đặc điểm trên, bộ nhớ SRAM phù hợp với máy tính cước này.
Vì máy có thể nhớ tới 255 cuộc đàm thoại bao gồm số tiền, số cuộc gọi v.v.. nên SRAM được chọn sẽ là 6264 có dung lượng 8Kbytes.
Nguyên lý hoạt động của SRAM 6264:
SRAM 6264 là bộ nhớ được chế tạo theo công nghệ CMOS, có dung lượng 65536 bit được tổ chức thành 8192x8 bit (8Kbyte), điện áp cung cấp là +5V, thời gian truy cập khoảng 150ns. Ngõ vào/ra dữ liệu được dùng chung, các ngõ vào/ra tương thích TTL. Công suất tiêu tán ở trạng thái chờ rất thấp chỉ khoảng 0,1 mW so với khi hoạt động bình thường là 200 mW.
KHỐI CHỐT ĐỊA CHỈ:
Trong máy tính cước, CPU được dùng là vi điều khiển 89C51 có đặc điểm là 8 bit thấp của địa chỉ được đa hợp với 8 bit dữ liệu. Vi mạch dùng để chốt địa chỉ là vi mạch chốt 74LS573.
Sơ đồ khối:
Chức năng:
IC 74LS573 là IC dùng để chốt dữ liệu 8 bit, có ngõ ra ba trạng thái chung chân điều khiển chốt dữ liệu và chung chân điều khiển ba trạng thái cho cả 8 bit ngõ ra IC 74LS573, sử dụng chốt dữ liệu bằng D Flip-Flop sau đây bảng trạng thái hoạt động của 74LS573.
Tên các chân
Mô phỏng
D0-D7
LE\
OE\
Q0-Q7
Nhập dữ liệu
Chốt có thể xuất (hoạt động ở mức cao)
Trạng thái ra có thể xuất (hoạt động ở mức thấp)
Trạng thái chốt ngõ ra
OUTPUT
Chốt chặn
D
Ngõ ra O
L
L
L
H
H
H
L
X
H
L
X
X
H
L
Q0
Z
L= Mức thấp H= Mức cao X= Không đề cập
Z= Mức ngưỡng cao Q0= Điều kiện trước của Q
Ký hiệu
Thông số
DM74LS
Đơn vị
Min
Ave
Max
VCC
Điện áp cung cấp
4.75
5
5.25
V
VIH
Điện áp ngõ vào mức cao
2
V
VIL
Điện áp ngõ vào mức thấp
0.8
V
IOH
Dòng ngõ ra mức cao
-2.6
mA
IOL
Dòng ngõ ra mức thấp
24
mA
TA
Nhiệt độ môi trường
0
70
0C
Ký
hiệu
Thông số
Điều kiện
Min
Loại
Max
Đơn vị
VI
Điện áp định mức ngõ vào
VCC=Min; II=-18 mA
-1.5
V
VOH
Điện áp ngõ ra mức cao
VCC=Min; IOH=Max
VIL=Max
2.7
3.4
V
VOL
Điện áp ngõ ra mức thấp
VCC=Min; IOL=Max
VIH=Min
0.35
0.5
V
IOL=4Ma; VCC=Min
0.25
0.4
II
Dòng định mức ngõ vào
VCC=Max; VI=7V
1
mA
IIH
Dòng ngõ vào mức cao
VCC=Max;VI=2.7V
20
µA
IIL
Dòng ngõ vào mức thấp
VCC=Max; VI=0.4V
-0.4
mA
IOS
Dòng ngắn ngõ ra
VCC=Max
-130
mA
ICC
Dòng cung cấp
VCC=Max
50
mA
IOZH
Trạng thái dòng ngõ ra nối tắt mức cao
VCC=VCCH
VOZH=2.7V
20
µA
IOZL
Trạng thái dòng ngõ ra nối tắt mức thấp
VCC=VCCH
VOZL=0.4V
-20
µA
Ký hiệu
Tham số
RL=2kΩ,
CL=50Pf
Đơn vị
Min
Max
tPLH
tPHL
Thời gian trễ dữ liệu đến Q
27
18
ns
tPLH
tPHL
Thời gian trễ LE đến Q
36
25
ns
tPZH
tPZL
Trạng thái thời gian thay đổi OE đến Q
20
25
ns
tPHZ
tPLZ
Trạng thái thời gian thay đổi OE đến Q
20
25
ns
tS(H)
tS(L)
Thời gian đưa dữ liệu đến LE
3
7
ns
tH(H)
tH(L)
Thời gian lưu dữ liệu đến LE
10
10
ns
tW(H)
Độ rộng xung
15
ns
Nguyên lý hoạt động:
Vi mạch 74LS573 dùng để chốt địa chỉ do CPU xuất ra:
8 ngõ vào của 74LS573 được kết nối với 8 ngõ AD0 AD7 (Port 0) của CPU 89C51.
8 ngõ ra của 74LS573 được kết nối với các đường địa chỉ của SRAM và EPROM.
Vi mạch 74LS573 có 8 Flip-Flop D và 8 cổng đệm điều khiển. Tín hiệu điều khiển chốt địa chỉ được CPU đưa ra ở chân ALE (Address Latch Enable) được nối vào chân LE (Chip) của 74LS573.
Ở nửa chu kỳ đầu chương trình làm việc, các Flip-Flop D của 74LS573 sẽ chốt các địa chỉ do CPU đưa tới, khi đó chân LE ở mức 1. Ở nửa chu kỳ còn lại, C ở mức 0 dữ liệu xuất ra ở Q chính là dữ liệu ở các ngõ vào trước đó, lúc này các đường Port 0 sẽ rảnh rỗi để nhận và xuất dữ liệu đến SRAM và EPROM.
KHỐI GIAO TIẾP RS_232:
Sơ đồ khối và sơ đồ nguyên lý:
Sơ đồ khối:
Sơ đồ nguyên lý:
Nguyên lý hoạt động:
Vì máy tính hoạt động (cụ thể là cổng nối tiếp) ở chuẩn RS_232 (có mức điện áp 15V) không thể giao tiếp trực tiếp được với những thiết bị khác có chuẩn TTL (có điện áp từ 0 đến 5V), nên một vấn đề đặt ra là làm sao để máy tính và các thiết bị TTL giao tiếp được với nhau. IC Max232 của hãng Maxim đã giải quyết được vấn đề này. Sơ đồ trên được kết nối theo khuyến cáo của nhà sản xuất. Khi có tín hiệu truyền từ thiết bị lên ở chuẩn TTL thì IC Max232 sẽ chuyển tín hiệu đó sang 15V và ngược lại.
KHỐI CẢM BIẾN, NHẤC MÁY, GÁC MÁY, ĐẢO CỰC:
Optocouple hay còn gọi là Optoisolator là một loại linh kiện quang được sử dụng để tạo mạch cách ly nguồn điện. Nó cho phép người thiết kế mạch điều khiển ngõ ra bằng thay đổi năng lượng cấp cho ngõ vào. Tuy nhiên hai phần ngõ vào và ngõ ra của mạch được cách ly về điện bằng một điện trở vô cùng lớn. Linh kiện này có thể là photodiode, transistor, opamp hoặc các linh kiện khác giao tiếp được mạch điều khiển. Mạch điều khiển thường sử dụng Led hồng ngoại.
Sơ đồ khối:
C6
10uF
Hình 5.1: Khối cảm biến, gác máy, nhấc máy, đảo cực
Nguyên lý hoạt động:
Khi có dòng chạy qua Led, led sẽ phát ra sóng hồng ngoại và dưới tác dụng của sóng hồng ngoại bộ phận thu như photodiode sẽ bị tác động và dẫn điện. Như vậy, hai mạch ngõ vào và ngõ ra được cách ly với nhau.
Mạch điều khiển từ xa sử dụng optocouple loại 4N35 là loại có phần thu transistor.
Lúc không đảo cực: nghĩa là công tắc của chân 1( U7) và chân 2 (U8) (xem hình 5.1) được nối lại với nhau, chân TXD và chân RXD sẽ được truyền trực tiếp với nhau.
Để bắt đầu cuộc gọi, khi thuê bao bắt đầu nhấc máy, và điều này báo hiệu cho tổng đài biết rằng thuê bao muốn thiết lập cuộc gọi, đồng thời ngõ ra P3.3 tức là chân INT1 của 89C51 xuất ra mức logic 1 qua điện trở R14=150Ω để phân cực cho transistor Q15 hoạt động kéo theo các tiếp điểm của Rơle đóng lại (Rơle có tác dụng tạo đảo cực giả).
Thuê bao bắt đầu quay số, tín hiệu vào mạch làm cho ISO1 chạy, tức là chân RXD ở mức logic 0 và chân TXD ở mức logic 1. Chương trình phần mềm sẽ nhận biết và xử lý với mức logic của hai chân này sau đó cho phép mạch hoạt động ở chế độ đảo cực.
Khi tổng đài biết rằng có thuê bao muốn thiết lập cuộc gọi, thì tổng đài sẽ gởi tín hiệu mời quay số, tín hiệu sẽ đi qua chân 3 của tiếp điểm rơle, qua điện trở R4, qua tụ C3, qua điện trở R5, đi vào chân đảo cực –IN của vi mạch MT8870. Tín hiệu đó sau khi vào bộ thu DTMF hoạt động ở chế độ tone, nó có tác dụng giải mã các phím bấm của điện thoại thành các bit dữ liệu để đưa về vi xử lý nhận biết và xử lý. Chân STD của MT8870 đưa tín hiệu vào INT0 và chương trình phần mềm điều khiển xử lý sau 10s chân cho phép đọc RD\ của vi điều khiển 89C51 sẽ qua các cổng logic và tác động vào chân TOE của MT8870 để cho phép các bit dữ liệu xuất ra qua Q1 Q4 vào CPU để xử lý tính tiền.
Tín hiệu sau khi vào MT8870 để xử lý thì quay ra để nối thông thoại với thuê bao. Khi thuê bao gác máy, vi xử lý tính toán số tiền và thời gian đàm thoại kể từ khi thuê bao bên kia bắt đầu nhấc máy và hiển thị toàn bộ thời gian, số tiền ra led.
Tính toán:
Tụ C6 có nhiệm vụ bypass toàn bộ tín hiệu mà tổng đài sẽ cấp cho thuê bao. Tín hiệu có tần số thấp nhất là tín hiệu chuông có tần số 15Hz 65Hz. Vì vậy ta có:
fc ≤ f = 25Hz.
ð C6 ≥
Mà R = RTĐ + RTB = 1200Ω (khi thuê bao nhấc máy)
ð C6 = = 5,3F
Vậy ta chọn C6 = 10µF/150V.
Vì điện áp ngược đặt vào hai đầu diode của opto 4N35 là 6V nên để an toàn cho opto trong khi hoạt động ta chọn hai diode zener có Vz = 3V để ổn định điện áp. Lúc này điện áp rơi trên 2 opto tối đa là 3,7 V. Vì vậy, khi một opto hoạt động thì điện áp ngược đặt lên opto còn lại không vượt quá giới hạn cho phép.
Khi thuê bao nhấc máy, dòng thông thoại cấp cho thuê bao từ (20-100 mA).
Cho dòng của tổng đài cấp cho thông thoại nhỏ nhất là 20mA.
Chọn Opto là 4N35, chọn dòng qua led là 4mA, điện áp sụt trên led của Opto là:
V = 2V.
Dòng qua R14 là: I = 20 – 4 = 16mA.
R14 = ==0,125KΩ
Chọn R14= 150Ω
KHỐI GIẢI MÃ DTMF:
IC MT8870 là một mạch thu tín hiệu DTMF hoàn chỉnh cả hai chức năng mạch lọc tách băng thông và giải mã tín hiệu DTMF ra tín hiệu số 4 bit nhị phân. IC này được sản xuất bằng công nghệ CMOS, kích thước nhỏ, ít tốn kém năng lượng và khả năng ứng dụng rộng rãi. IC được tổng hợp từ nhiều mạch chức năng (được mô tả bên dưới):
Sơ đồ khối và sơ đồ nguyên lý:
Sơ đồ khối:
SƠ ĐỒ KHỐI CẤU TRÚC BÊN TRONG CỦA IC MT8870
Sơ đồ nguyên lý:
Khối giải mã DTMF
Bảng trạng thái:
FLOW
FHIGH
DIGIT
TOE
Q4
Q3
Q2
Q1
ANY
L
Z
Z
Z
Z
697
1209
1
H
0
0
0
1
697
1336
2
H
0
0
1
0
697
1477
3
H
0
0
1
1
770
1209
4
H
0
1
0
0
770
1336
5
H
0
1
0
1
770
1477
6
H
0
1
1
0
852
1209
7
H
1
1
1
1
852
1336
8
H
1
0
0
0
852
1477
9
H
1
0
0
1
941
1336
0
H
1
0
1
0
941
1209
*
H
1
0
1
1
941
1477
#
H
1
1
0
0
697
1633
A
H
1
1
0
1
770
1633
B
H
1
1
1
0
852
1633
C
H
1
1
1
1
941
1633
D
H
0
0
0
0
Chức năng:
Chức năng lọc tách tín hiệu DTMF làm hai nhóm Tone thấp và Tone cao:
Giải mã 16 cặp tín hiệu DTMF (tương ứng với 16 phím trên bàn phím máy điện thoại) thành mã 4 bit nhị phân.
IC còn được cung cấp thêm phần khuyếch đại vi sai ở ngõ vào, có thể điều chỉnh được độ lợi.
IC hoạt động với thạch anh 3, 579MHz.
IC có phần chốt ba trạng thái ở ngõ ra giao tiếp với bus dữ liệu.
Một số ứng dụng của IC MT8870:
Điều khiển từ xa.
Mạch thu cho tổng đài.
Mạch tính cước điện thoại v.v ..
Nguyên lý hoạt động:
IC MT8870 sẽ giải mã tín hiệu DTMF được đưa vào từ khối giao tiếp đường dây và cho ra số BCD 4 bit và đưa tới CPU. Khi một cặp DTMF được giải mã đúng và chốt ở ngõ ra thì đồng thời một tín hiệu ngắt (mức logic 1) cũng được tạo ra ở chân 15 (STD). Tín hiệu này qua cổng Not biến đổi thành mức logic 0 đưa đến chân INT0 của CPU để báo cho CPU nhận tín hiệu DTMF vừa được giải mã thông qua 4 bit của port 1.
Chân TOE được gắn lên mức cao để mỗi khi có một phím ấn được nhấn thì luôn thu được 4 bit ở ngõ ra từ Q1 đến Q4 của IC MT8870.
Chân 8 và chân 7 của MT8870 được nối tới một thạch anh 3,579MHz, dùng làm tần số xung clock cho IC hoạt động.
Chân 10 ở mức thấp, MT8870 sẽ tạo xung báo cho CPU biết qua chân INT0 để tạo ngắt, khi đó CPU sẽ chuyển sang chế độ tone. Lúc đó, vi mạch MT8870 sẽ nhập các số dưới dạng tín hiệu các mã sóng DTMF đồng thời các ngõ ra Q1 Q4 ở mức tổng trở cao.
Chân 16 nối với chân 17 bằng một điện trở có giá trị 390, chân 17 nối lên nguồn qua tụ 104 pF nhằm tạo một khoảng thời gian trễ thích hợp cho dữ liệu chốt ở ngõ ra trước khi tạo một tín hiệu ngắt trên chân STD.
Để kết nối giữa hai chân này ta phải qua cổng đảo của IC 74LS04 để tạo ngắt ngoài cho vi xử lý AT89C51.
Tính toán:
Việc thiết kế mạch đơn giản do nhà sản xuất đã đưa ra các mạch cứng dạng chuẩn từ đó ta có thể ứng dụng luôn mạch dạng chuẩn này. Tuy nhiên, để phù hợp với mục đích thiết kế ta có thể thay đổi một số thông số:
Mạch thu Tone:
Sơ đồ mạch:
DTMF
Theo khuyến cáo của nhà sản xuất:
R4=102KΩ1%
R5= 71,5 KΩ 1%
C3= 100nF5%
Chọn: R4= 100 KΩ
R5=100 KΩ
C3=100nF
Mạch lái chuẩn:
Trước khi thu nhận một cặp Tone giải mã, bộ thu phải kiểm tra xem thời hằng của tín hiệu có đúng không. Việc kiểm tra này được thực hiện bởi một bộ R5, C6 bên ngoài.
Sơ đồ mạch:
Khi chân EST lên mức logic cao làm cho VC6 (điện áp tụ) tăng lên khi xả tụ. Khi mà EST vẫn còn ở mức cao trong một thời gian hợp lệ (tGTP) thì VC6 tiến tới mức ngưỡng Vtst để nhận một cặp Tone và chốt 4 bit mã tương ứng với nó.
Thanh ghi Receive Data Register, lúc đầu chân GT được kích hoạt và đẩy VC6 lên tới VCC.
Cuối cùng sau một thời gian delay ngắn cho phép việc chốt data thực hiện xong thì cờ của mạch lái lên mức high báo rằng cặp Tone thu đã được lưu vào thanh ghi. Dữ liệu thu được sẽ đi ra Data Bus theo hai chiều. Khi thanh ghi Receive Data được đọc, mạch lái hoạt động lại nhưng theo chiều ngược lại để kiểm tra khoảng dừng giữa hai số quay. Ngoài ra còn cho phép ta thiết kế điều chỉnh hoạt động cho phù hợp với các đòi hỏi khác nhau của ứng dụng.
Việc điều chỉnh thời gian như trên ta phải tính toán sao cho đạt độ ổn định và chống nhiễu cao nhất.
Theo khuyến cáo của nhà sản xuất:
R7= 390 KΩ1%
C10= 100nF5%
Chọn: R7=390 KΩ
C10= 100nF
Chọn thạch anh X2= 3,358MHz.
KHỐI HIỂN THỊ LED:
Sơ đồ khối:
Nguyên lý hoạt động:
Như hình trên ta thấy, để led 7 đoạn sáng ta phải làm cả hai công việc đó là đưa dữ liệu từ port 1 (P1.0 đến P1.3 của AT89C51) đến 74LS245 và đưa tín hiệu chọn led từ port 1 (P1.4 đến P1.7 của AT89C51) ra IC 74LS154 giải mã 4 sang 16 để chọn led cần hiển thị. Vì led 7 đoạn có công suất lớn nên ta dùng các loại Transistor được thiết kế ở chế độ đóng ngắt (bão hòa) để điều khiển.
Dựa vào tính chất lưu ảnh của mắt người nên ta dùng phương pháp quét led để điều khiển hiển thị led. Nếu trong một đơn vị thời gian ta cho ảnh của led sáng tắt liên tục (≥ 24 lần) thì mắt người có cảm giác nhìn hình ảnh đó liên tục. Hơn nữa bằng phương pháp quét ta sẽ tiết kiệm được năng lượng do việc cho led sáng chỉ trong một khoảng thời gian nhỏ.
Tuy nhiên nhược điểm của phương pháp này là độ sáng của led phụ thuộc vào các linh kiện mắc bên ngoài như transistor, điện trở; tần số quét led phải thích hợp (do led sẽ sáng mờ nếu tần số quét lớn, led sẽ nhấp nháy nếu tần số quét chậm) và phải nằm trong vùng đáp ứng của các linh kiện.
Tính toán các giá trị trong khối:
Vì các led được điều khiển theo phương pháp quét nên tại một thời điểm có 8 đoạn led (của một con led 7 đoạn) được sáng nên phải tính giá trị dòng tổng qua 8 đoạn led này. Vì thời gian quét led rất nhanh nên để đảm bảo led được sáng tốt, dòng led phải cao (không giống như phương pháp chốt dòng chỉ là 10 – 20 mA), ở đây ta chọn dòng quét qua mỗi đoạn led là Iled = 30 mA, nguồn cung cấp cho led +5V. Trong sơ đồ nguyên lý có tất cả 12 đoạn led nên dòng tổng mà mỗi transistor phải tải là 360mA
Ta chọn các transistor A1015 có các thông số sau:
Pmax = 400mW
VCEMAX = 50V
ICMAX =150mA
β = 250
Ta có: Ic = Iled = 30mA
Vì các transistor A1015 được thiết kế ở chế độ bão hòa nên:
IB ≥k.Ic/β
Chọn k = 3 để các transistor A1015 hoạt động ở chế độ bão hòa sâu:
ð IB = 3 x 30/250 = 0,36mA
Các loại IC họ TTL có mức logic 1 là 3,5V; mức logic 0 là 0,7V
ð R41 = = = 7,8K Ω
Ta chọn : Các điện trở từ R41 đến R52 đều có giá trị là 10K Ω
Nguồn nuôi cho RAM:
Sơ đồ khối:
Nguyên lý hoạt động:
Khi có nguồn 5V một phần qua Zener D9 và R3 nạp vào pin, và một phần nuôi bộ nhớ (RAM) qua Zener D8.
Khi mất điện, pin lập tức phóng điện qua D7 để nuôi bộ nhớ (RAM).
Tính toán:
Chọn Zener D7, D8, D9 là 1N4148
Vcc=5V
Sụp áp qua Zener là 0,7V.
Điện áp nguồn nuôi RAM là: Vng=Vcc-0,7=5-0,7=4,3V.
Điện áp nguồn dự trữ chọn 3,6V
Vpin= Vcc–VR3 – VD9= 3,6 V
ð VR3 = Vcc–Vpin – 0,7 V= 5 - 0,7 – 3,6 = 0,7 V
Mà VR = I.R3
Chọn dòng nạp cho pin I= 10 mA
ð R3 = = =70 Ω
Chọn R3=100 Ω
Khối nguồn:
Sơ đồ khối:
Nguyên lý hoạt động:
Tụ C7, C8 là các tụ lọc nguồn, có nhiệm vụ sau khi qua diode D21 lấy điện áp DC để đưa vào IC ổn áp.
LM7805 là IC ổn áp , có nhiệm vụ tạo ra một nguồn áp ổn định cung cấp cho các tất cả các linh kiện trong mạch.
Tính toán:
Tụ C7, C8 là tụ cấp nguồn cần có giá trị đủ lớn để đảm bảo lọc tốt.
Vì vậy ta chọn chúng là tụ hóa gồm: C7 có giá trị 100 µF/16V, C8 có giá trị 1000 µF/16V.
Để IC ổn áp cho ra được nguồn 5V ta phải đưa vào một nguồn áp ≥ 7V. Vì các tụ lọc có giá trị lớn nên điện áp cầu tại đầu ra của biến áp là:
VOBA = = 5 V.
Bên trong mạch, bộ phận cần dòng nhiều nhất là phần hiển thị có dòng đến 240 mA và tất cả các linh kiện trong mạch sử dụng nguồn ổn áp 5V nên ta chọn IC ổn áp là: LM7805 có khả năng cung cấp dòng lên đến 1 A.
Giải thích hoàn chỉnh nguyên lý hoạt động của mạch:
Để mạch hoạt động thì thuê bao phải đăng ký đảo cực ở tổng đài. Ở đây ta dùng rơle để tạo đảo cực giả.
Khi hệ thống được cung cấp nguồn, nguồn điện áp sẽ đến tất cả các vi mạch của máy. CPU được cấp nguồn sẽ bắt đầu hoạt động ở địa chỉ 0000H.
Khi thuê bao gác máy, điện trở mạch vòng DC của đường dây thuê bao rất lớn ( >20 KΩ) nên xem như không có dòng chạy qua thuê bao. Vì vậy cả hai Opto ISO1 và Opto ISO2 đều không dẫn, do đó hai chân vi xử lý RxD và TxD đều ở mức 1. Lúc này vi xử lý biết thuê bao đang gác máy.
Khi thuê bao nhấc máy, điện trở mạch vòng của thuê bao giảm xuống chỉ còn 150 Ω 1500 Ω. Lúc này đường dây thuê bao có dòng DC chạy qua, khi đó tín hiệu từ tổng đài điện thoại gửi đến chân 5 làm cho ISO1 hoặc ISO2 hoạt động, dòng sẽ chạy qua R11 làm cho 4N351 dẫn hoặc qua R10 làm 4N352 dẫn.
Khi 4N351 (U7) hoạt động, đồng nghĩa với chân RXD của 89C51 xuống mức logic 0. Chân TXD vẫn ở mức logic 1, chương trình phần mềm sẽ hiểu và nó sẽ tác động theo chế độ đảo cực. Tín hiệu INTERRUP1 từ chân 13 của 89C51 qua R14 phân cực cho Q15 làm cho 2 tiếp điểm rơle đóng khi cuộn dây rơle hoạt động.
Tín hiệu tương tự từ tổng đài đưa đến qua C3 tiếp tục qua R4, qua R5 và đến chân đảo cực –IN của MT8870.
Khi MT8870 nhận được tín hiệu đảo cực từ chân 15 tức là chân STD (MT8870) nó sẽ lên mức logic 1 và làm cho chân 12 của vi điều khiển 89C51 ngắt INT0 thông qua cổng đảo 74LS04. Đồng thời cả hai chân RD (chân 17) của 89C51 cho hoạt động mức logic 1 có địa chỉ 8000 nối với chân OE\(MCM6264) và chân WR (chân 16) của 89C51 nối với chân WE\ (MCM6264) cho phép đọc hoặc ghi dữ liệu từ RAM ngoài ở mức logic 0.
Chân TOE (chân 10) của MT8870 sẽ tác động khi ngõ vào ở mức logic 1 và xuất ra ở ngõ ra Q1 đến Q4 sau đó đưa dữ liệu về vi xử lý AT89C51 để xử lý sau khi đã nhận được một con số hợp lệ. Khi đó Port 1 của 89C51 có nhiệm vụ xuất dữ liệu đến 2 thành phần như sau:
Port 1.0Port 1.3 nối với 4 đầu vào của IC 74LS247 là IC dùng giải mã từ BCD sang led 7 đoạn.
Port 1.4Port 1.7 nối với 4 đầu vào của IC 74LS154 có nhiệm vụ giải mã từ 4 sang 16, được sử dụng để chọn led.
Tất cả các chân anod của hệ thống 12 led 7 đoạn sẵn sàng hoạt động khi có tác động xung của Port 1 từ CPU gởi tới.
BÁO CÁO KẾT QUẢ THI CÔNG
***
Thời gian đầu của nhiệm vụ, em đã gặp phải những sự khó khăn nhất định về kiến thức chuyên ngành, vì phải chọn đề tài nào cho phù hợp và chưa biết kết quả thi công như thế nào.
Nhưng nay, với đề tài “Thiết kế và thi công mạch tính cước điện thoại giao tiếp với máy tính” em đã hoàn thành những nhiệm vụ cơ bản được giao.
Về phần cứng: Do sai sót trong phần thi công vẫn còn một vài chi tiết nhỏ nên mạch vẫn chưa hoàn chỉnh. Khối hiển thị Led chạy tốt, các led hiển thị đẹp.
Về phần mềm: Về cơ bản đã hoàn thành, phần mềm viết cho vi điều khiển đã thực hiện những nhiệm vụ cơ bản như nhận biết trạng thái của cuộc gọi, thu và giải mã DTMF, quét led hiển thị.
Với thời lượng 3 tháng có thể đủ với một người làm thuần thục, nhưng đối với em đó là khoảng thời gian tìm tòi và học hỏi để bổ sung cho riêng mình có thêm nhiều kiến thức hơn về chuyên ngành đặc biệt trong lĩnh vực viễn thông ngày càng đang phát triển như hiện nay, để có thể thích ứng và không bị bở ngỡ với công việc thực tế sau này.
Đề tài “Thiết kế và thi công mạch tính cước điện thoại giao tiếp với máy tính” tuy không mới nhưng đã thu hút em rất nhiều bởi tính phổ biến của nó trên thị trường và phát triển rất hiệu quả nhằm đem lại lợi ích cho người dân. Bởi vậy, em cũng muốn làm ra một sản phẩm cho riêng mình.
Trong khoảng thời gian còn lại em sẽ cố gắng khắc phục những hạn chế của đề tài về phần cứng để đề tài được hoàn thiện hơn.
TÀI LIỆU THAM KHẢO
Lê Văn Tiến Dũng: Practice of Computer measured and Controlled System. ÐHKTCN TP. HCM.
Microsoft Visual Basic 6.0 Programmer's guide Microsoft Press.
Ngô Diên Tập: Ðo lường và điều khiển bằng máy tính NXBKHKT, 1996
8051 Họ Vi Ðiều Khiển
Các file được dùng từ các website viễn thông
Các luận án tốt nghiệp của các bạn bè khóa trước