Tải bản đầy đủ (.pdf) (8 trang)

điều khiển máy khoan bằng máy tính điện tử, chương 4 docx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (97.79 KB, 8 trang )

Chương 4: Quá trình phát nối tiếp
Để phát một byte trên đường dây kết nối nối tiếp, cổng
được giả đònh là đã được khởi sự với tốc độ baud và các phần
chọn khung (Frame) nối tiếp thích hợp. Chúng ta cũng giả đònh
rằng các byte sẽ được phát đi trên cổng nối tiếp số 1 (COM1).
1. Trước tiên, xác đònh đòa chỉ cơ sở cổng I/O bằng cách đọc một
từ (Word) từ vùng dữ lệu BIOS tại 40:OH đối với cổng nối
tiếp COM1. Nếu trò = 0: Không có cổng nối tiếp hoạt động
nào được gắn ở đây và dó nhiên không có dữ liệu nào được
gửi đi.
2. Hai đường điều khiển MODEM là DTR (DATA Terminal
Ready) và RTS (Request to Send) được xác lập lên mức cao
(DTR = 1, RTS = 1).
- DTR thông báo cho thiết bò kết nối biết rằng máy tính đang
hoạt động và sẵn sàng để liên lạc.
- RTS báo cho thiết bò kết nối biết rằng máy tính muốn gửi
dữ liệu.
- Hai đường này được kích khởi bằng cách ghi trò 3 thanh ghi
MCR (MODEM control Regester) của UART.
3. Kế đó, kiểm tra hai đường trạng thái CTS (Clear To Send).
Những đường này nằm trong các bit 4 và 5 của thanh ghi
MSR (MODEM Status Regester).
- DSR báo cho máy tính biết thiết bò kết nối đã được bật lên
và sẵn sàng.
- CTS báo cho máy tính biết rằng thiết bò kết nối đã sẵn
sàng đối với dữ liệu.
- Các đường trạng thái này nên được kiểm tra trong 2ms hay
cho đến khi cả hai đều chuyển sang mức cao. Khi cả hai
đường này đều ở mức cao, thiết bò được kết nối với cổng
nối tiếp đã báo hiệu cho biết nó đã sẵn sàng cho một byte.
Một lỗi đáo hạn (timeout error) được báo hiệu bởi phần


mềm nếu một trong hai đường dẫn còn ở mức thấp lâu hơn
khoảng 2ms.
4. Đến đây thiết bò kết nối đã sẵn sàng tiếp nhận một byte,
UART phải được kiểm tra xem liệu thanh ghi chứa dữ liệu
phát THR (Transmit Holding Regester) đã sẵn sàng có một
byte chưa. Thanh ghi LSR (Line Status Regester), bit 5, được
xác lập lên mức cao khi thanh ghi chứa dữ liệu này trống rỗng
và sẵn sàng cho một byte. Một lần nữa, giống ở bước 3 nếu
thanh ghi THR không thể trở nên hữu dụng trong 2ms, thì
phần mềm sẽ báo một lỗi đáo hạn, và bỏ qua việc phát đi.
5. Nếu cho đến bây giờ chưa xảy ra việc đáo hạn, byte có thể
được gửi đến thanh ghi chứa dữ liệu phát của UART.
6. Sau đó, UART phát byte từ thanh ghi chứa dữ liệu phát vào
thanh ghi dòch TSR (từ đây các bit dữ liệu được dòch ra và gửi
đi), và tạo dạng khung nối tiếp.
 Quá trình nhạân nối tiếp.
Để nhận 1 byte từ đường dây kết nối nối tiếp, cổng được giả
đònh như trên (cho cổng COM3):
1. Trước tiên, xác đònh đòa chỉ cơ sở cổng I/O bằng cách đọc một
từ (Word) từ vùng dữ liệu BIOS tại 40:4H đối với cổng nối
tiếp COM3. Nếu trò = 0: Không có cổng nối tiếp hoạt động
nào được gắn ở đây và dó nhiên không có dữ liệu nào được
gửi đi.
2. Hai đường điều khiển MODEM là DTR (DATA Terminal
Ready) và RTS (Request to Send) được xác lập lên mức cao
(DTR = 1, RTS = 1).
- Điều này thông báo cho thiết bò kết nối biết rằng máy tính
đang hoạt động và sẵn sàng liên lạc. Điều này được thực
hiện bằng cách ghi trò 1 các thanh ghi MMC của UART.
3. Kế đó kiểm tra tín hiệu trên đường trạng thái DSR. Tín hiệu

này xuất hiện trong bit 5 của thanh ghi MSR. DSR báo cho
máy tính biết rằng thiết bò kết nối đã được bật lên và sẵn
sàng. DSR sẽ được kiểm tra cho đến khi nó lên mức cao hay
cho đến khi hết 2ms trước khi một lỗi đáo hạn được báo hiệu.
4. Kế đó, vùng đêïm nhận được kiểm tra để xem dữ liệu đã nhận
được dữ liệu nào chưa. Bit 0 của thanh ghi LSR chứa một cờ
hiệu báo dữ liệu đã sẵn sàng. Nó được xét lên 1 khi vùng
đệm có dữ liệu. Nếu cờ báo dữ liệu sẵn sàng không được xét
sau 2ms, thì phần mềm sẽ khai báo một lỗi đáo hạn, và tác vụ
bò bỏ qua.
5. Nếu cho đến bây giờ chưa xảy ra việc đáo hạn, byte có thể
được đọc từ vùng đệm nhận của UART.
- Trong chế độ bất đồng bộ, 8251 A dòch số liệu trên dây
RxD từ bit một. Sau mỗi bit, thanh ghi thu được so sánh với
thanh ghi chứa ký tự SYN. Nếu hai thanh ghi chưa bằng
nhau thì 8251 A dòch bit khác và tiếp tục so sánh cho đến
khi hai thanh ghi bằng nhau. 8251 A kết thúc chế độ bất
đồng bộ và đưa tín hiệu SYNDET (Synch Detect) để báo
đồng bộ đã hoàn tất.
- Nếu USART được nạp từ điều khiển để làm việc với hai
ký tự SYNC, quá trình bất đồng bộ cũng như trên. Nhưng
hai ký tự kế tiếp nhau sẽ được so sánh với hai ký tự SYNC
trước khi đạt được sự đồng bộ. Ở chế độ bất đồng bộ bit
chẵn/lẻ sẽ không phải kiểm tra. USART ở chế độ đuổi bắt
đồng bộ với hai điều kiện:
- USART được khởi động ở chế độ đồng bộ.
- USART đã nhận lệnh ở chế độ bất đồng bộ.
 Khối phát
Khối này nhận số liệu song song từ đơn vò trung tâm, chèn
thêm các thông tin rồi chuyển sang nối tiếp và gửi ra thân

TxD (Transmiter DATA).
- Ở chế độ bất đồng bộ, khối phát chèn thêm bit START, bit
kiểm tra chẵn lẻ paraty và một hay hai bit STOP.
- Trong chế độ đồng bộ, khối phát chèn thêm các ký tự
SYNC. Những ký tự đồng bộ này phải được phát trước khi
bản tin bắt đầu. Nếu trong khi phát có khoảng trống giữa
hai ký tự thì USART tự động chèn các ký tự đồng bộ vào.
- Trong cả hai chế độ đồng bộ và bất đồng bộ, quá trình
phát chỉ được cho phép khi tín hiệu TxE (Transmiter
Enable) và tín hiệu CTS, ở trạng thái tích cực. Nếu
USART được đặt ở chế độ đồng bộ từ ngoài, chân
SYNDET sẽ là cửa vào và nhận tín hiệu để đồng bộ khi
thu.
- Khối phát có thể gửi tín hiệu cắt (BREAK). Đó là một chu
kỳ liên tục các bit SPACE trên đường dây liên tục và đưọc
dùng ở chế độ truyền song công để cắt quá trình gửi thông
tin ở đầu cuối.
- USART sẽ gửi tín hiệu cắt liên tục nếu bit D
3
của byte
lệnh được thiết lập
 Khối điều khiển Modem
Khối này tạo và nhận tín hiệu RTS (Request to Send).
 Ngoài ra, còn có các tín hiệu ra DTR (Data Terminel
Ready) và tín hiệu vào DSR (Data Set Ready). Đó là
những tín hiệu vạn năng.
 Tín hiệu DTR điều khiển bởi bit D
2
bởi byte lệnh.
 Tín hiệu DSR thể hiện ở bit D

7
của thanh ghi trạng thái.
 USART không đònh nghóa các tín hiệu này một cách cứng
ngắc. Thông thường:
- Tín hiệu DTR qua Modem để chỉ rằng thiết bò đầu cuối sẵn
sàng truyền.
- DSR là tín hiệu từ Modem để chỉ trạng thái sẵn sàng liên lạc.
 Khối điều khiển vào/ra
Logic điều khiển đọc/ghi giải mã các tín hiệu điều khiển từ
Bus điều khiển của đơn vò trung tâm thành những tín hiệu đều
khiển các cổng dẫn số liệu đến Bus nội của USART.
Bảng sau cho biết sự liên quan giữ các tín hiệu CE, C/D\ RD\
CE C/D\
RD\ WR\ Ý Nghóa
0
0
0
0
1
0
1
0
1
x
0
0
1
1
x
1

1
0
0
x
CPU đọc số liệu từ USART
CPU đọc trạng thái từ USART
CPU ghi số liệu vào USART
CPU ghi lệnh vào USART
Bus của USART ở trạng thái trở
kháng cao
 Khối thu
Khối thu nhận dữ liệu nối tiếp ở chân RxD và chuyển
thành số liệu song song (P/PC). Trước khi bộ thu làm việc, bit
D
2
trong Command world của byte lệnh phải ở trạng thái cho
phép. Nếu bit này không được lập, bộ thu sẽ không tạo ra tín
hiệu RxRDI.
- Trong chế độ bất đồng bộ, 8251 A kiểm tra mức điện áp
của đầu vào RxD. Khi có thay đổi mức logic từ 1 xuống 0,
8251 A khởi động bộ đếm thời gian trong khối thu khi đặt
thời gian ½ bit, 8251 A kích mẫu đầu vào RxD. Tại thời
điểm này có 2 trường hợp xảy ra:
- Nếu đầu vào RxD có mức logic cao thì sự thay đổi từ 1
xuống 0 ở RxD trước lúc kích mẫu là do nhiễu hay khối thu
đã khởi động bộ đếm trong khi nhận bit số liệu. Như vậy
có sai 8251 bỏ lệnh đang thực hiện và chuẩn bò ký tự mới.
- Nếu đầu vào RxD có mức logic thấp trong thời điểm kích
mẫu. 8251 tiếp tục kích mẫu để nhận giá trò của các bit số
liệu, bit kiểm tra chẵn lẻ và các bit dừng. Sau đó, 8251

tách các bit khung và chuyển số liệu qua Bus trong đến
thanh ghi đệm số liệu thu. Tín hiệu RxRDI được tạo ra để
báo cho trung tâm biết số liệu thu đã sẵn sàng.
- Trong chế độ đồng bộ, khối thu kích mẫu các bit số liệu
của ký tự rồi đưa đến đệm số liệu thu và lập cờ RxRDI. Vì
bộ thu nhóm một số bit thành ký tự nên được xác đònh bit
số liệu đầu tiên là cần thiết. Để đồng bộ giữa bộ thu và bộ
phát, nếu có trống trong dãy ký tự thì 8251 tự động chèn
ký tự SYNC vào. Quá trình đồng bộ được thực hiện trong
quá trình bất đồng bộ.
 Khối đệm vào ra
- Khối đệm vào ra chứa: Thanh ghi trạng thái, thanh ghi
số liệu thu (thanh ghi đệm số liệu thu), thanh ghi số liệu
phát và lệnh (thanh ghi đệm số liệu phát và lệnh).
- Như vậy, chỉ có một thanh ghi chứa thông tin chuyển từ
đơn vò trung tâm vào USART. Thông tin này bao gồm số
liệu và lệnh, do vậy phải có sự phân chia thời gian giữa
lệnh và số liệu. Lệnh phải được gửi trước số liệu. Trước
khi gửi số liệu vào USART. Đơn vò trung tâm phải kiểm tra
tín hiệu sẵn sàng phát TxRDI. Nếu gửi thông tin khi
TxRDI ở trạng thái chưa sẵn sàng số liệu chuyển đi có thể
sai

×