Như đã biết, trong các hệ thống truyền dữ liệu có hai cách đưa tín hiệu lên đường truyền: nối tiếp và song song
Trang 1☯ CHƯƠNG 4 TRUYỀN NỐI TIẾP BẤT ĐỒNG BỘ
♣ HỆ THỐNG TRUYỀN Dữ LIỆU
Vận hành Dung lượng kênh truyền
♣ MẪU TÍN HIỆU TRONG TRUYỀN BẤT ĐỒNG BỘ
♣ VÀI IC THỰC HIỆN GIAO THỨC BẤT ĐỒNG BỘ
6402 của INTERSIL
6850 của MOTOROLA
8251 của INTEL
Như đã biết, trong các hệ thống truyền dữ liệu có hai cách đưa tín hiệu lên đường truyền: nối tiếp và song song
Cách truyền song song thường được truyền trên một khoảng cách ngắn, ví dụ giữa các thiết bị trong cùng một phòng như từ máy tính sang máy in
Cách truyền nối tiếp thường được thực hiện khi khoảng cách truyền khá xa
Ngoài ra, trong cách truyền nối tiếp, dựa vào cách thực hiện sự đồng bộ giữa nơi phát
và thu ta có hai chế độ hoạt động: đồng bộ và bất đồng bộ
Trong chế độ bất đồng bộ, xung đồng hồ được tạo ra một cách riêng rẻ ở máy phát và máy thu dựa vào tần số danh định tương ứng với vận tốc truyền (bit rate hoặc baud rate) Trong chế độ đồng bộ, nơi phát có thể gửi xung đồng hồ tới nơi thu theo một kênh truyền song song với kênh truyền dữ liệu hoặc nơi thu tự tạo ra xung đồng hồ bằng cách tách tín hiệu thời gian từ dòng dữ liệu
Chương này bàn đến chế độ truyền nối tiếp bất đồng bộ Chúng ta sẽ lần lượt giới thiệu tính chất chung của hệ thống truyền dữ liệu, các giao thức của hệ thống truyền bất đồng
bộ Chúng ta cũng sẽ khảo sát vài IC thực hiện chức năng biến đổi song song ↔ nối tiếp trong các thiết bị thu phát
4.1 HỆ THỐNG TRUYỀN DỮ LIỆU
4.1.1 Vận hành
Một mẫu hệ thống truyền dữ liệu gồm 3 bộ phận chính (H 4.1)
- Một cặp thiết bị xử lý tín hiệu (Terminal, vd máy tính), một của máy phát (chuyển thông tin thành tín hiệu số) và một của máy thu (chuyển dữ liệu số thành thông tin)
- Một cặp giao diện nối tiếp, được gọi là thiết bị đầu cuối (Data Terminal Equipment,
DTE) mà nhiệm vụ chính là biến đổi chuỗi dữ liệu song song thành nối tiếp ở máy phát và nối
tiếp thành song song ở máy thu, đồng thời thực hiện một số chức năng khác theo yêu cầu của người sử dụng
- Một cặp giao diện truyền dữ liệu, được gọi là thiết bị truyền dữ liệu (Data Communication Equipment, DCE), thực hiện sự giao tiếp giữa DTE và môi trường truyền
Trang 2
⎯→
⏐
Máy tính hay Terminal phát
Bản tin
⎯→ Giao diện nối tiếp
DTE ⎯→ Giao diện truyền dữ liệu
⏐
⏐
⏐Báo nhận
⏐ Kênh truyền ⏐
⏐
⏐
⎯⎯
Máy tính hay Terminal thu
Bản tin
←⎯
Giao diện nối tiếp
Giao diện truyền
dữ liệu
DCE
⏐
←⎯ (H 4.1)
Vận hành của hệ thống như sau : Máy tính gửi bản tin dưới dạng một chuỗi ký tự song song tới DTE Ở đây bản tin được chuyển sang dạng nối tiếp để phát đi từng bit ở từng thời điểm Đối với các hệ thống bất đồng bộ, thiết bị DTE sẽ thêm vào các bit Start và Stop ở mỗi
ký tự nối tiếp này và nếu có yêu cầu, bit kiểm tra chẵn lẻ cũng được thêm vào ở đây Đây là một dòng nối tiếp các tín hiệu nhị phân tương thích với các chuẩn về điện của EIA như RS-232C (D), RS-422A hoặc 423A DCE là bộ phận chuyển tín hiệu ra kênh truyền Dạng chính xác của DCE tùy thuộc vào kênh truyền, ví dụ, các DCE được dùng thúc đường dây hiện nay
là RS-422A hoặc 423A có thể thích hợp để truyền tín hiệu dải nền với khoảng cách tối đa là 1200m còn nếu dùng đường dây điện thoại để truyền thì DCE tương thích phải là các Modem
Ở máy thu bộ phận giao tiếp biến đổi chuỗi ký tự nối tiếp thành song song được đọc bởi máy tính hay thiết bị truyền tin đầu cuối khác
Một bản tin báo nhận được phản hồi tới máy phát để báo nhận đồng thời báo lỗi, nếu
có lỗi bản tin sẽ được phát lại sau khi sửa lỗi Trong trường hợp này máy thu đã trở thành máy phát
4.1.2 Dung lượng của kênh truyền
Khả năng và phẩm chất của một kênh truyền xác định bởi dung lượng của nó
Nhắc lại, một tín hiệu tần số x , tín hiệu lấy mẫu phải có tần số tối thiểu là 2x, yêu cầu một băng thông tối thiểu là x để truyền , nếu dùng n bit để mã hóa tín hiệu này thì vận tốc
truyền sẽ là 2nx, ta gọi C = 2nx là dung lượng của kênh truyền Ví dụ, trong điện thoại tần
số tín hiệu là 2,7kHz nếu dùng 1 bit (n = 1) để mã hóa tín hiệu thì dung lượng kênh truyền C
= 5,4kbps, nếu dùng số 2 bit ( n = 2) thì C = 10,8kbps
Như vậy dung lượng của kênh truyền tỉ lệ với số bit dùng mã hóa tín hiệu và băng
thông của nó Nhưng khi băng thông của kênh truyền càng lớn thì tính miễn nhiễu của hệ
thống càng kém nên để gia tăng dung lượng kênh truyền người ta thường tăng số bit dùng mã hóa tín hiệu và dùng phương pháp điều chế đa pha
4.2 Mẫu tín hiệu trong chế độ truyền bất đồng bộ
Trong chế độ truyền bất đồng bộ thông tin được truyền đi dưới dạng từng ký tự và khoảng cách các ký tự là ngẫu nhiên Tuy nhiên để tạo sự đồng bộ giữa máy phát và thu, giao thức tầng 2 (Data link protocol) có qui định cụ thể về mẫu tín hiệu trong hệ thống truyền bất đồng bộ như sau :
- Mỗi ký tự gồm một số bit gọi là ký tự dữ liệu, số này có thể là 5 đối với mã Baudot,
7 nếu là mã ASCII (American Standard Code for Information Interchange) và 8 nếu là mã EBCDIC (Extended Binary-Coded Decimal Information Code, mã BCD mở rộng)
Trang 3- Ngoài ra, để tạo sự đồng bộ, kèm theo các bit mã ký tự còn có các bit Start ở trước mỗi ký tự và các bit Stop ở sau mỗi ký tự Các bit Start là các bit 0 và các bit Stop là bit 1
Số bit Start luôn luôn là 1 bit còn số bit Stop có thể là 1, 1,5 hoặc 2 bit
- Nếu có thêm bit kiểm soát chẵn lẻ (parity bit) thì bit này nằm trước bit Stop
- Ở trạng thái nghỉ máy phát luôn phát đi bit 1 gọi là bit nghỉ (idle bit), như vậy máy
thu dò ra bit Start khi có sự biến đổi từ 1 xuống 0, sau đó là một chuỗi bit có số lượng theo qui định của giao thức
Lưu ý là trong truyền dữ liệu, bit LSB của ký tự luôn được truyền đi trước và có
hai cách viết (và đọc) một bản tin: theo chiều mũi tên hướng về bên phải và theo chiều hướng
về bên trái
- Viết theo chiều mũi tên hướng về bên phải : bit LSB của ký tự đầu tiên sẽ nằm bên
phải của bản tin Thí dụ bản tin dùng mã ASCII gồm 3 ký tự ABC có mã lần lượt là 41H (1000001), 42H (1000010) và 43H (1000011), bit LSB của ký tự đầu tiên (A) được phát đi trước và phải nằm bên phải của bản tin nên chuỗi dữ liệu được phát đi có dạng:
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯→
C B A p1000011 p1000010 p1000001
Với cách viết này, mỗi mẫu mã hóa của mỗi ký tự được giữ nguyên chiều của nó nhưng thứ tự các ký tự trong bản tin đã bị đảo
- Viết theo chiều mũi tên hướng về bên trái : bit LSB của ký tự đầu tiên sẽ nằm bên
trái của bản tin Với thí dụ trên, bit LSB của ký tự đầu tiên (A) được phát đi trước và phải nằm bên trái của bản tin nên chuỗi dữ liệu được phát đi có dạng:
←⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
A B C 1000001p 0100001p 1100001p
Với cách viết này, thứ tự các ký tự trong bản tin được giữ nguyên nhưng các bit trong mỗi ký tự đã bị đảo chiều
Bit kiểm tra chẵn lẻ (parity bit), nếu có, sẽ được thêm vào sau mỗi ký tự (bit p trong các thí dụ trên)
Ở máy phát thanh ghi dịch biến đổi tín hiệu song song thành nối tiếp, được điều khiển bởi tín hiệu Load/Shift, các bit Start và Stop được tự động thêm vào khi mạch hoạt động
Ở máy thu khi bộ phận dò phát hiện bit Start bởi sự thay đổi từ 1 xuống 0, sẽ tạo ra tín hiệu điều khiển thanh ghi dịch, sau khi dịch đủ số bit qui định của tín hiệu kể cả bit parity và bit Stop, ký tự dữ liệu được đọc ra dưới dạng song song từ thanh ghi dịch
(H 4.2) (H 4.2) mô tả dạng của tín hiệu trên đường truyền bất đồng bộ (tín hiệu là mẫu chữ C với parity chẵn và một bit Stop) và bộ phận biến đổi song song ↔ nối tiếp trong máy phát và thu Bộ phận này chính là các thanh ghi dịch
Trang 4Sự đồng bộ ở các thanh ghi dịch phát và thu được tạo bởi xung đồng hồ ở máy phát và xung đồng hồ ở máy thu Dĩ nhiên các xung đồng hồ này phải có cùng tần số, đó là tần số tương ứng với vận tốc truyền bit của hệ thống Nếu xung đồng hồ ở nơi thu không phù hợp với xung đồng hồ ở nơi phát, lỗi do độ lệch thời gian có thể xảy ra Có hai loại lỗi : Lỗi khi đọc bit và lỗi do sai khung Lỗi do sai khung được tạo ra bởi sự tích lũy các độ lệch thời gian, bit cuối cùng bị sai đưa tới sai khung
(H 4.3) (H 4.3) là một ví dụ, giả sử thời gian cho một bit là 0,1 s (T = 0,1s =100ms) và sự sai lệch là 7% sớm hơn ở máy thu, như vậy máy thu đọc bit đầu tiên ở thời điểm 93 ms thay vì 100ms, bit thứ hai ở 186ms cho đến thời điểm 744ms máy thu đang đọc bit thứ 7 nhưng nhầm là bit thứ 8, như vậy bit cuối cùng của tín hiệu đã bị đọc sai, nếu bit thứ 8 là bit 1 thì máy thu nhầm là bit Stop và kết quả là có sự sai khung
Bit Stop là bit kiểm tra độ lệch thời gian tương đối chính xác, nếu máy phát hiện bit Stop không phải là bit 1 thì sẽ báo lỗi khung ta nói bit Stop là khoảng bảo vệ tối thiểu giữa các khung ký tự Ngoài ra bit parity cũng giới hạn được sai sót này và các sai sót do nhiễu, tuy nhiên phương pháp phát hiện lỗi này không đạt độ tin cậy 100% vì nếu số bit sai là số chẵn thì máy thu không phát hiện được
4.3 Vài IC thực hiện TRUYỀN nối tiếp bất đồng bộ
Trước đây việc thu phát bất đồng bộ được thiết kế dựa trên các IC loại SSI và MSI Ví
dụ, để tạo và kiểm tra chẵn lẻ, người ta có thể dùng các cổng EX-OR
Hiện nay sự phát triển của công nghệ chế tạo IC cho phép sử dụng các vi mạch LSI để thực hiện các chức năng thu phát thỏa mãn giao thức truyền bất đồng bộ Chúng ta giới thiệu
dưới đây vài IC thu phát bất đồng bộ (Universal Asynchronous Receiver,Transmitter, UART)
hoặc IC điều hợp giao tiếp thông tin bất đồng bộ (Asynchronous Communication Interface
Adapter, ACIA), đó là các IC :
- UART 6402 của Intersil
- ACIA 6850 của Motorola
- USART 8251A của Intel
4.3.1 UART 6402 của Intersil
4.3.1.1 - Tính năng kỹ thuật tổng quát
6402 là UART loại IC CMOS/LSI dùng để giao tiếp với máy tính hoặc µP qua kênh
dữ liệu nối tiếp bất đồng bộ
Trang 5- Máy phát đổi dữ liệu song song thành nối tiếp và tự động thêm vào các bit Start và Stop
- Máy thu chuyển đổi các bit Start, ký tự dữ liệu, bit parity và bit Stop thành dữ liệu song song, kiểm tra lỗi
Chiều dài của các ký tự dữ liệu có thể là 5, 6, 7 hoặc 8 bit Parity có thể là chẵn hay lẻ, việc kiểm tra và tạo bit parity có thể bỏ qua, nếu không có yêu cầu Có thể dùng 1, 1,5 hoặc 2 bit Stop
4.3.1.2 - Mô hình (H 4.4)
(H 4.4)
- Ý nghĩa các chân của IC :
TRE : Transmit Reg Empty : Ngã ra, báo thanh ghi phát trống
TBRL : Trans Buf Reg Load : Ngã vào, nạp dữ liệu vào thanh ghi đệm phát & phát
TBRE : Trans Buf Reg Empty : Ngã ra, mức cao báo thanh ghi đệm phát trống, sẵn
sàng nhận dữ liệu
TBR 7 - TBR 0 : Trans Buf Reg Data : Dữ liệu để nạp vào thanh ghi đệm phát
DR : Data Received : Ngã ra, lên cao báo đã thu được một ký tự dữ liệu
ROE : Receive Buffer Output Enable : Cho phép thu tín hiệu từ thanh ghi đệm thu
RBR 7 - RBR 0 : Receive Buf.Reg Data : Dữ liệu thu từ thanh ghi đệm thu
CRL : Control Reg Load : Ngã vào, mức cao cho phép nạp từ điều khiển vào thanh
ghi điều khiển
CR 4 - CR 0 : Control Reg Data : Tổ hợp 5 bit tạo thành một từ điều khiển
PE,FE,OVE : Parity, Framing, Overflow flags : Cờ báo lỗi chẵn lẻ, lỗi khung, lỗi tràn
SOE : Status O/P Enable : Cho phép ngã ra trạng thái
MRST : Master Reset : Đặt lại IC
RC,TC : Receive Clock, Trans Clock : Xung đồng hồ Thu, Phát
Trang 6RxD, TxD : Receive Data, Trans Data : Dữ liệu thu phát
Việc chọn các chuẩn trong giao thức theo qui định của bảng 4.1 dưới đây
Bảng 4.1 : 6402 control word
CR 4
CR 3
Chọn chiều dài ký tự Character Length Select CLS 1
CLS 0
00 = 5 bit
01 = 6 bit
10 = 7 bit
11 = 8 bit
CR 2 Có Kiểm Tra chẵn lẻ ?
PI (Parity Inhibit) 1 = không kiểm tra chẵn lẻ và PE = 0 0 = có kiểm tra chẵn lẻ
CR 1 Chọn Kiểm Tra chẵn
EPE (Even Parity Enable) 1 = kiểm tra chẵn 0 = kiểm tra lẻ
CR 0 Chọn số bit stop
SBS Stop Bit Select
0 = 1 bit stop
1 = 1,5 (ký tự 5 bit)
1 = 2 (ký tự 6, 7, 8 bit)
4.3.1.3 - Vận hành
- Vận hành của IC được thực hiện qua các thao tác sau đây :
- Khởi động :
Để khởi động 6402, lần lượt thực hiện 3 bước :
- Đặt từ điều khiển vào các chân CR 4 - CR 0 để chọn giao thức truyền
- Đưa chân CRL lên cao để nạp từ điều khiển vào thanh ghi điều khiển
- Đưa chân MRST lên cao để reset máy thu và máy phát
- Phát một ký tự :
Để nạp một ký tự vào thanh ghi phát và phát đi, lần lượt thực hiện các bước :
- Chân TBRE lên cao báo thanh ghi đệm phát trống
- Các bít của ký tự được nạp vào chân TBR 7 - TBR 0
- Đưa TBRL lên cao để nạp data vào thanh ghi đệm
- Tín hiệu phát đi khi TBRL xuống thấp
- Thu một ký tự :
Để thu một ký tự, lần lượt thực hiện các bước sau :
- Chân DR lên cao báo đã thu một ký tự mới
- Đưa ROE xuống thấp để đọc ký tự từ ngã ra của bộ đệm vào CPU
- Đọc các trạng thái lỗi ở các ngã PE, FE và OVE (Các chân này cho phép bởi
SOE ở trạng thái thấp) Mức cao của các chân này cho biết đã phát hiện lỗi PE cho biết lỗi chẵn lẻ, FE cho biết lỗi khung và OVE cho biết lỗi tràn (Overrun) là lỗi do tốc độ thu ký tự
lớn hơn tốc độ đọc ký tự
- Reset thanh ghi thu bằng cách đưa chân DRRST xuống mức thấp
Tốc độ phát và thu bit tùy thuộc vào xung đồng hồ trên hai chân TC và RC 6402 có
mạch chia 16 cố định để tần số xung clock vào phải bằng 16 lần tốc độ baud mong muốn Tốc
độ có thể lên tới 250 kbps
4.3.1.4 Giao tiếp của 6402 với vi xử lý
Giao tiếp giữa 6402 và bộ vi xử lý có phần phức tạp (H 4.5), nhưng ít sử dụng phần
mềm khi thực hiện các chức năng thu phát
Trang 7(H 4.5)
- Việc thực hiện giao thức bất đồng bộ (tức tạo từ điều khiển) nhờ vào khóa chuyển mạch điện tử
- Việc báo lỗi thực hiện nhờ một led
- Mạch được Reset bởi cả phần cứng và phần mềm
- Mạch đơn ổn thực hiện chức năng Reset thanh ghi thu tự động sau khi thu đủ ký tự
- Việc đọc ký tự thu tác động bởi tín hiệu RD ở CPU và tín hiệu select UART từ
mạch giải mã địa chỉ
- Tương tự cho việc nạp dữ liệu vào thanh ghi đệm phát để phát : tác động bởi tín hiệu
WR của CPU và tín hiệu select UART
- Các ngắt riêng biệt của µP được tạo ra bởi tín hiệu DR và TBRE
4.3.2 ACIA 6850 của Motorola
4.3.2.1 - Đặc tính tổng quát
Về tính chất vật lý, 6850 thuộc loại NMOS có 24 chân, được thiết kế để giao tiếp với
bus của họ µP 6800 của Motorola
6850 có thể lập trình phần mềm và chỉ có một thanh ghi điều khiển
Ngoài ra, với 6850 ta có thể thiết lập các giao thức sau đây :
- Có thể truyền 8 hoặc 9 bit
- Có thể chọn parity chẵn hoặc lẻ
- Kiểm tra lỗi parity, overrun, và framing
- Có thể chọn các mode hoạt động với tần số xung đồng hồ chia cho hệ số 1, 16 hoặc
64
- Tốc độ truyền dữ liệu lên tới 500 kbps
- Có các chức năng điều khiển ngoại vi/modem
- Có 1 hoặc 2 bit Stop
- Có thanh ghi dữ liệu đôi
Trang 84.3 2.2 - Mô hình và sơ đồ khối (H 4.6)
(H 4.6)
* Ý nghĩa các chân :
- CS 2 , CS 1 , CS 0 : Chip slect : chọn chip
- RS : Reg Select : Chọn thanh ghi (1: Dữ liệu; 0: Điều khiển)
- R/ W : Read/Write
- IRQ : Interrupt request : Yêu cầu ngắt
- D 7 -D 0 : Data Bus I/O : Bus dữ liệu vào/ra
- E : Data I/O Enable and Clkng (Điều khiển xuất nhập dữ liệu vào/ra bus)
- RxCLK, TxCLK : Ngã vào xung đồng hồ thu, phát
- CTS : Clear To Send
Trang 9- RTS : Request To Send
- CD : Carrier Detect : Dò sóng mang
- RxD, TxD : Dữ liệu thu, phát
- V SS : Mass nguồn (GND)
- V DD : Nguồn dương (+5 V)
Các chi tiết của giao thức được chọn bằng cách ghi 1 byte vào thanh ghi điều khiển dựa theo bảng 4.2 Trạng thái thu phát và trạng thái lỗi được đọc từ thanh ghi trạng thái, dựa vào bảng 4.3
Thanh ghi điều khiển hoặc thanh ghi trạng thái được chọn khi chân RS xuống thấp và thanh ghi dữ liệu thu hoặc phát được chọn khi RS lên cao Thanh ghi dữ liệu phát và điều
khiển chỉ có thể ghi (write) Thanh ghi dữ liệu thu và trạng thái chỉ có thể đọc (read)
Bảng 4.2 6850 Control Register Word Bits
D 7 Cho phép ngắt thu
C 7
1 = IRQ ở thấp khi thanh ghi đệm thu đầy
0 = Không cho phép ngắt thu
D 6 Điều khiển ngắt phát - phát
C 6
00 = RTS low Không cho phép ngắt phát
01 = RTS low Cho phép ngắt phát
D 5 C 5 10 = RTS high Không cho phép ngắt phát
11 = RTS low Không cho phép ngắt phát & Phát bit 0 (break level)
D 4 Chọn chiều dài ký tự, KTchẵn
lẻ, Số bit stop
C 4
000 = 7 bit + Chẵn + 2 Stop
001 = 7 bit + Lẻ + 2 Stop
010 = 7 bit + Chẵn + 1 Stop
D 3 C 3 011 = 7 bit + Lẻ + 1 Stop
100 = 8 bit + 2 Stop
101 = 8 bit + 1 Stop
D 2 C 2 110 = 8 bit + Chẵn + 1 Stop
111 = 8 bit + Lẻ + 1 Stop
D 1 Chon hệ số chia tần xung C K
C 1
00 = : 1
01 = : 16
11 = Master Reset
Ghi chú : * Master reset, thanh ghi điều khiển có bít C 1 C 0 = 11, Reset tất cả các bít của thanh ghi trạng thái và đưa chân RTS và IRQ lên cao
* Bít C 7 = 1, CPU bị ngắt nếu:
- Thanh ghi dữ liệu thu đầy - Bị tràn
- Có một biến đổi từ thấp lên cao ở chân CD (modem không dò ra sóng mang) Bảng 4 3 6850 Status Register Bits
D 7 Trạng thái pin IRQ
IRQ
1 = IRQ low Reset bởi việc đọc thanh ghi đệm thu hay viết vào thanh ghi phát
D 6 Lỗi chẵn lẻ
PE 1 = Có lỗi chẵn lẻ Set/Reset khi chuyển dữ liệu thu
D 5 Lỗi tràn (Overrun)
OVRN
1 = Báo lỗi tràn và giữ bit RDRF = 1 Set/Reset khi chuyển dữ liệu thu
D 4 Lỗi khung
FE 1 = Có lỗi khung Set/Reset khi chuyển dữ liệu thu
D 3 Xóa để phát
CTS Tùy trạng thái chân CTS
Chân CTS ở mức cao sẽ vô hiệu hóa bit TDRE
D 2 Dò sóng mang
CD 1 = chân ( xem ghi chú) CD ở mức cao (no carrier)
D 1 Thanh ghi phát trống
TDRE 1= Phần phát chờ nhận ký tự Reset bởi việc ghi vào thanh ghi phát
Trang 10D 0 Thanh ghi thu đầy
RDRF 1 = Phần thu chờ đọc ký tự Reset bởi việc đọc thanh ghi đệm thu
Ghi chú : bit CD lên 1 làm cho chân IRQ xuống thấp khi bit C 7 set = 1 Bit CD vẫn giữ 1 sau khi pin
CD xuống thấp và bị xóa sau khi đọc thanh ghi trạng thái, và thanh ghi dữ liệu thu, hoặc cho đến khi MRST xảy ra
Thông tin trong thanh ghi trạng thái được đọc bởi CPU và cho biết trạng thái hiện
hành của 6850
Bit D 0 : (RDRF) Bít này set 1 sau khi data nhận được đã truyền từ thanh ghi dịch thu tới thanh đệm thu và nó được xóa sau khi CPU đã đọc data
Bit D 1 : (TDRE) Bít này được set khi data đã chuyển từ thanh ghi đệm phát đến thanh ghi dịch phát, nó được xóa khi CPU viết từ mới vào thanh ghi đệm phát
Bit D 2 : (CD) Bít này được set nếu Modem không dò ra sóng mang
Bit D 3 : (CTS) Bít này được reset ( =0) nếu có tín hiệu tác động xóa để gửi
Bit D 4 : (FE) Bít này set nếu máy thu không dò ra bít stop ( sai khung)
Bit D 5 : (OVRN) Bít này set nếu 6850 chuyển data thu được từ thanh ghi dịch thu vào
thanh ghi đệm thu trước khi CPU đọc nội dung trong thanh ghi này, nó chỉ rằng có một phần bản tin bị mất Bít này được reset khi CPU đọc thanh ghi đệm thu
Bit D 6 : (PE) Bít này set khi máy thu dò ra lỗi parity
Bit D 7 : (IRQ) Bít này set khi có tín hiệu tác động trên ngã ra IRQ tới CPU
4.3.2.3 Vận hành
Vận hành 6850 được mô tả qua các bước : Khởi động, phát một ký tự và thu một ký tự
- Khởi động :
Chú ý rằng 6850 không có reset phần cứng Việc reset chip được điều khiển bằng cách
ghi byte điều khiển vào thanh ghi điều khiển (lập các bit C0 = C1 = 1)
- Reset chip: các bit trong thanh ghi trạng thái về 0 và hai chân RTS và IRQ lên cao
- Lập trình từ điều khiển để chọn giao thức hoạt động
- Phát một ký tự
Khi đã khởi động chip ta chỉ cần 2 bước để phát một ký tự
- Chân CTS phải ở mức thấp
- Đợi cho đến khi bít TDRE = 1 (trong thanh ghi trạng thái)
- Ghi ký tự cần phát vào thanh ghi dữ liệu phát Một ví dụ để thấy hoạt động phát của 6850 Từ điều khiển ghi vào thanh ghi có dạng
10101101 Do bit D 6 và D 5 là 0 và 1, một tín hiệu mức thấp tác động cho bởi chân RTS gửi tới modem, sau một thời gian trễ xác định, modem gửi tín hiệu tác động mức thấp tới chân
CTS , báo dữ liệu sẵn sàng để gửi đi CPU đọc thanh ghi trạng thái và nếu bit D 1 (TDRE) lên
1 nó sẽ gửi từ kế tiếp đến thanh ghi đệm phát, từ này được chốt vào thanh ghi khi chân E chuyển từ mức cao xuống thấp, điều này khiến cho bit TDRE reset xuống 0 Mạch logic bên
trong tạo bit kiểm tra lẻ theo yêu cầu và chuyển dữ liệu cùng với bit start, bit parity và bit stop
vào thanh ghi dịch phát Dữ liệu được chuyển ra ngoài trên đường TxD với bit rate bằng 1/16 tần số xung đồng hồ ở chân TxCLK
Khi dữ liệu đã chuyển vào thanh ghi dịch phát bit TDRE của thanh ghi trạng thái lên
1, một lần nữa vì bit D 6 và D 5 của thanh ghi điều khiển là 0 và 1 nên khi TDRE lên 1 một tín hiệu ngắt tự động gửi đến CPU ở ngã ra IRQ CPU trả lời bằng cách gửi từ thứ 2 tới thanh
ghi đệm phát mặc dù từ thứ nhất có thể chưa hoàn toàn chuyển ra ngoài Sở dĩ được như vậy
vì 6850 dùng thanh ghi đôi và việc này làm gia tăng vận tốc truyền