Mạch phối ghép Bus với cổng nối tiếp

Một phần của tài liệu Luận văn Tính độ rộng kênh và tốc độ truyền cho một kênh đo tự động nhiều thông số (Trang 43 - 46)

IV. mạch đo vàphối Ghép PC

2.1.Mạch phối ghép Bus với cổng nối tiếp

2. Cấu trúc, hoạt động của mạch trong hệ thống PC

2.1.Mạch phối ghép Bus với cổng nối tiếp

Thành phần chính của mạch là bộ phát nhận không đồng bộ vạn năng (UART) CDP6402. Nó nhận các dữ liệu gửi nối tiếp của PC và sắp xếp các byte dữ liệu ở các

đờng dẫn DOOUT ữD7OUT theo cách song song. Qua đó nó gửi các dữ liệu xếp kề

sát, song song ở DOIN ữD7IN sau khi ở chân TBRL có mức LOW tới PC theo cách

nối tiếp. Để tạo khả năng lựa chọn tốc độ truyền hợp lý ta sử dụng bộ dao động thạch anh với IC.74HC4060. Bộ dao động năng có thể tạo 4 tần số chuẩn, ứng với 4 tốc độ truyền 2400, 4800, 9600 và 19200 Baud.

Tần số ở chân 17 và 40 của bộ UART đợc xây dựng tơng thích với 16 lần tốc độ baud. Chẳng hạn ở lối ra Q4 của IC74C4060 có xung vuông tần số

4,9152 Mhz/ 24 = 307200 Hz. Tần số này ứng với 16 lần tốc độ baud 19.200 baud.

Vì giao diện RS232 quy định mức tín hiệu là ±12v, trong khi đó bộ thu phát

không đồng bộ vạn năng UART CDDP6402 lại chỉ nhận và cho ra mức tín hiệu ±5v

khi trong mạch sử dụng vi mạch Max232 nhằm thích ứng quá trình ghép nối. Vi mạch này nhận mức RS232 đã đợc gửi tới từ PC và biến đổi tín hiệu này thành tín

hiệu TTL, để rồi sau đó dẫn tới UART CDP6402. Ngợc lại khi có tính hiệu TTL ở

đầu ra của UART thì Max232 biến đổi nó thành ±12v để thích ứng với giao diện

RS232 và gửi tới PC. Nhờ Max 232 không những thích ứng đợc quá trình ghép nối mà còn nâng đợc cự ly truyền tín hiệu đi xa hơn (tới 20m).

Với cấu trúc này các đờng dẫn dữ liệu đợc chuyển mạch song song, và do vậy Bus dữ liệu đợc mô tả theo hai hớng. Hai hớng là vì qua cả đờng dẫn này dữ liệu đợc gửi và đọc.

Khi truy nhập đọc các đờng dẫn DxOUT ở bộ UART chuyển sang trạng thái điện trở cao, nh vậy sẽ loại bỏ đợc nguy cơ dữ liệu của bộ UART xung đột với dữ liệu mà một thanh ghi gửi tới. Để đạt mục đích này, lối vào RRD (chân số 4) sẽ chuyển sang mức cao (High) trong chu trình đọc dữ liệu vào.

Nh ta đã biết bộ CDP6402 chỉ có 8 lối ra nên một chu trình ghi, nghĩa là chu trình mà trong đó các dữ liệu và địa chỉ đợc gửi, sẽ phải phân chia thành hai giai đoạn:

- Trớc hết PC gửi địa chỉ của các đối tác cần trao đổi. Các địa chỉ này đợc lu giữ trong vi mạch 74HC573 và cụ thể là nó tồn tại trên các lối ra Q và chờ sẵn sàng.

Sau đây các dữ liệu đợc gửi qua Bus dữ liệu. Để chọn lọc địa chỉ và dữ liệu sao cho không lầm lẫn, ngời ta sử dụng vi mạch GAL16v8 chọn lựa. Vi mạch này điều khiển chân 11 của IC74HC573. Khi chân này ở mức High thì IC 74HC573 sẽ lu trữ các byte dữ liệu xếp kề sát nhau nh là một địa chỉ. ở mức LOW, qua các lối ra Q duy trì trạng thái logic của nó, và cả khi các lối vào D thay đổi mức nó. ở đây từ 8 bít có thể ngời ta chỉ sử dụng 7 bít để tạo địa chỉ. Bít có giá trị cao nhất (R/W) dùng để phân biệt xem dữ liệu một chu trình đọc hay ghi đang xảy ra.

Khi R/W = 1. Dữ liệu có thể đợc gửi. R/W = 0 báo hiệu một chu trình ghi.

Việc đánh địa chỉ đợc thực hiện bằng cách:

Đầu tiên nó xác nhận địa chỉ cơ bản làm căn cứ các địa chỉ tiếp theo đợc nhận biết bằng cách cộng vào địa chỉ cơ bản hay trừ đi một số thích hợp.

Ngời ta quy định, các địa chỉ từ 300 đến 31F dành riêng cho các thiết bị mở rộng, vì vậy khi ghép nối và lập trình cho phần cứng ta chỉ đợc sử dụng cùng địa chỉ quy định này.

Bus địa chỉ ở ổ cắm K quyết định quyền sử dụng 10 đờng dẫn địa chỉ. Trong đó A6, A7 nối đất. A8 = +5v. Đờng dẫn địa chỉ A9 lấy ra trên cửa 7Q của IC74HC573. Sự xắp xếp này đã tạo đợc sự tơng thích lớn nhất trong khi ta kết nối các card mở rộng với PC, cho nên việc ghép nối trở nên dễ dàng và đơn giản.

Trong mạch này các Bus điều khiển đợc tạo nên qua 4 tín hiệu IOW, IOR BUSACC và RESET tơng tự nh ở PC. Khi ở mức LOW, IOW báo hiệu một chu trình ghi và IOR báo hiệu một chu trình đọc.

BUSACC trở về LOW khi một thành viên trong hệ thống Bus trao đổi.

Khi bật điện cấp nguồn nuôi, Reset cho ra một xung High ngắn, đặt lại hệ thống về trạng thái sẵn sàng và IC GAL16V8 tạo nên các tín hiệu điều khiển.

Hình III.7 cho ta đồ thị thời gian của các tín hiệu tham dự vào mạch ghép nối. Tín hiệu DR ở chân 9 của CDP6402 báo hiệu là có một byte tới từ PC đang ở các cửa ra của UART. Bằng xung dơng của chân 11 của 74HC573 các dữ liệu này sẽ đợc đánh giá nh là địa chỉ vào đợc lu trữ.

Các byte theo sau có chứa những dữ liệu đợc chuyển giao từ thành viên đợc trao đổi bằng xung LOW của IOW nhờ vậy chu trình kết thúc.

Hình III.7: Giản đồ xung dùng cho sự ghép nối bus ở cổng RS 232

Một chu trình đọc đợc mở đầu trong đó bít có giá trị cao nhất đợc sử dụng làm địa chỉ. Sau đó GAL16V8 nhận ra rằng cần phải đọc. Rôì đến IOR = 0, trên bus có dữ liệu cần đọc. Trong thời gian này IC GAL16V8 tạo ra một xung LOW ở nối vào TBRL của bộ UART, mở đầu việc gửi tới PC các dữ liệu xếp kề sát nhau.

Một phần của tài liệu Luận văn Tính độ rộng kênh và tốc độ truyền cho một kênh đo tự động nhiều thông số (Trang 43 - 46)