- Chế độ đồng bộ : Phát: 8251A bắt đầu phát dữ liệu ngay sau khi CPU nạp từ SYNC cho đến khi không còn tín hiệu để phát, thanh ghi đệm phát trống mà CPU không nạp ký tự kế tiếp thì 825
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
- -BÀI TẬP LỚN
ĐỀ TÀI : NGHIÊN CỨU TÌM HIỂU VỀ VI MẠCH TRUYỀN TIN
NỐI TIẾP USART 8251A
GIÁO VIÊN HƯỚNG DẪN : Th.S NGUYỄN THANH HẢI NHÓM THỰC HIỆN : NHÓM 5
SINH VIÊN THỰC HIỆN : NGUYỄN VĂN CẢNH
PHẠM VĂN NGUYÊN HÀN NGỌC QUÂN
VŨ DUY QUANG PHẠM XUÂN TUẤN
HÀ NỘI - 2016
Trang 2Đề Tài Kiến Trúc Máy Tính
Tên đề tài: Nghiên cứu tìm hiểu về vi mạch truyền tin nối tiếp USART 8251A (Universal Synchronous-Asynchronous Receiver-Transmitter).
Nội dung và yêu cầu: Trình bày được đặc điểm, chức năng tổng quát của USART 8251A, sơ đồ chân, chức năng các chân, sơ đồ khối, chức năng các khối, các thanh ghi của 8251A để thấy được nguyên lý làm việc của nó.
Lớp: Khoa học máy tính 1.
Khóa: 10.
Nhóm 5: Nguyễn Văn Cảnh, Phạm Văn Nguyên , Hàn Ngọc Quân,
Vũ Duy Quang, Phạm Xuân Tuấn.
Trang 3Mục lục
I Đặc điểm USART-8251.………3
II Chức năng tổng quát USART-8251A……… … 3
III Sơ đồ nối chân USART-8251A……… 4
1.Chức năng các chân.……… 5
IV Sơ đồ khối USART-8251……… 6
1.Chức năng các khối.……….7
V Mô tả các tín hiệu của USART 8251A………….……… 8
VI Các thanh ghi của USART 8251A……… ……… 12
1. Các thanh ghi điều khiển……….……….………… ….13
2 Thanh ghi trạng thái đường dây……….………… ….16
3 Các thanh ghi đệm……… ……… 18
VII N guyên lý làm việc của USART 8251A ……….……… ….19
Trang 4Ӏ.Đặc điểm USART-8251 (Universal Synchronous/Asynchronous Receiver
Transmitter)
USART-8251 là một mạch giao diện vào/ra khả lập trình của hãng Intel CácӀ tính
năng chủ yếu của mạch bao gồm:
Hoạt động ở một trong hai chế độ đồng bộ hoặc không đồng bộ
- Chế độ đồng bộ :
Phát: 8251A bắt đầu phát dữ liệu ngay sau khi CPU nạp từ SYNC cho đến khi không còn tín hiệu để phát, thanh ghi đệm phát trống mà CPU không nạp ký tự kế tiếp thì 8251A tự động thêm từ SYNC vào và phát đi
Thu: Khi sự đồng bộ được thực hiện từ bên trong, lệnh ENTER HUNT phải được lập trình trong từ lệnh đầu tiên, việc này khiến 8251A dò từ SYNC trong dòng dữ liệu đến, sau khi dò ra USART chấm dứt chế độ HUNT và máy thu trong tình trạng đồng bộ hóa, chân SYNDET lên cao để báo cho
μP biết.P biết
Hoạt động đồng bộ với mã 5 – 8 bits, ký tự đồng bộ nội bộ hoặc từ bên ngoài, có chế độ đồng bộ tự động
- Chế độ không đồng bộ:
Ở chế độ truyền bất đồng bộ máy thu dò và ngưng hoạt động tự động mà không cần sự điều khiển của CPU Kết thúc một cuộc liên lạc, TxD line luôn trở về trạng thái nghỉ.Trạng thái logic của bit D0 (Tx Enable) cho phép máy truyền xong các ký tự đã nạp vào thanh ghi mặc dù có lệnh dừng
Hoạt động không đồng bộ với mã 5 – 8 bits, hệ số xung nhịp 1, 16 hoặc 64 lần tốc độ Baud, tạo ký tự tạm dừng; với 1, 2 1 1 và 2 bits Stop, phát hiện lỗi bit Start và ký tự Break (tạm dừng)
Tốc độ truyền cực đại trong chế độ đồng bộ là 64K baud, trong chế độ cận đồng bộ là 19,2 K baud
Hoạt động truyền nhận dữ liệu song công, với hai bộ đệm truyền và nhận riêng biệt
Phát hiện các lỗi truyền như : chẵn lẻ, sai khung, overrun
Hoạt động tương thích với các vi xử lý họ Intel
Tất cả các tín hiệu vào ra tương thích logic TTL
ӀӀ Chức năng tổng quát của USART 8251
cấu hình chức năng của mạch USART-8251 rất uyển chuyển nhờ được thiết lập bằng phần mềm Trong môi trường trao đổi dữ liệu, giao diện nối tiếp thực hiện việc biến đổi dữ liệu song song của hệ thống thành dạng dữ liệu nối tiếp để gửi đi và biến dạng
Trang 5khi thực hiện công việc biến đổi, USART-8251 sẽ tự động bỏ đi hoặc thêm vào các bit hoặc ký tự đồng nhất chức năng trong kỹ thuật thu phát thông tin Chính nhờ vậy, giao diện giữa CPU và USART-8251 là hoàn toàn minh bạch, chỉ đơn thuần là gửi đi hay nhận về một byte dữ liệu
Truyền nối tiếp với dữ liệu được chuyển thành từng bit, sử dụng một dây dẫn duy nhất
để truyền dữ liệu., cách truyền nối tiếp thường được sử dụng khi khoảng cách truyền khá xa, do chỉ phải sử dụng một dây dẫn và một bộ nhập xuất dữ liệu
Dạng biểu diễn song song sử dụng các dây dẫn riêng rẽ đối với từng bit truyền
Ví dụ: Nếu một hệ số sử dụng các số 8-bit thì cần 8 dây song song Chi phí sẽ tốn kém hơn, nhưng bù lại toàn bộ 8 bit sẽ được truyền trong một xung đồng hồ, tốc độ là cực nhanh Cách chuyền song song thường được truyền trên một khoảng cách ngắn ví dụ các thiết bị trong cùng một phòng như từ máy tính sang máy in
ӀӀӀ Sơ đồ nối chân của USART 8521
USART 8251A được chế tạo bằng kỹ thuật NMOS và có 28 chân, tốc độ truyền dữ
liệu lên tới 64 Kpbs Khác với 6402, ở 8251A tất cả dữ liệu đến và từ P đều đi qua Bus dữ liệu (Data Bus) nối với các chân D7 - D0
1 28
2 27
3 26
4 25
5 24
6 23
7 22
8 21
9 20
10 19
11 18
12 17
13 16
14 15
D2
D3
RxD
GND
D4
D5
D6
D7
TxC
WR
CS
CD
RD
RxRDY
D1 D0 Vcc RxC
DTR RTS
RESET LCK TxD TxEMPTY CTS
SYNDET/BD TxRDY
DSR
Trang 61.Chức năng các chân
a Nhóm tín hiệu ghép nối với vi xử lý gồm:
- CS (chân 11) nối với bộ giải mã địa chỉ (A1 - An) để chọn hai thanh ghi (A0 điều khiển trạng thái, A0 = 0 đệm số liệu)
- C/D (chân 12) nối với đường dây địa chỉ A0 để chọn một trong hai cặp thanh ghi trên
- WR (chân 10) nối với đường dây WR của vi xử lý
- RD (chân13) nối với đường dây RD của vi xử lý
- CLK (chân 20) nối với đường dây CLK của vi xử lý
Reset (chân 21) nối với đường dây Reset của vi xử lý
- D0 - D7 (chân 27, 28, 1, 2, 5, 6, 7, 8) nối với các đường dây số liệu D0-D7 của vi xử lý
b Nhóm tín hiệu ghép nối với Modem:
- DTR (chân 24), RTS (chân 23)
- DSR (chân22), CTS (chân 17)
c Nhóm tín hiệu ghép nối với đường dây truyền - nhận và khối ghép nối:
- TxEMPTY (chân 18) thanh ghi đệm truyền rỗng
- TxD (chân 19) cho số liệu truyền
- RxD (chân 3) cho số liệu nhận
- TxRDY (chân 15) báo số liệu truyền sẵn sàng
- RxRDY (chân 14) báo số liệu nhận sẵn sàng
- Syn/Break : chỉ đồng bộ/ đứt dòng tin
d Nhóm tín hiệu ghép nối với máy phát xung nhịp:
- TxC : nhịp truyền
- RxC : nhịp nhận
Trang 7IV Sơ đồ khối
Trong đó:
CS : Chip Select - chọn vi mạch
RD : Read - đọc
WR : Write - ghi
C/D : Control/Data - điều khiển/số liệu
CLK : Clock - Nhịp
D0-D7 : Data bus I/O - Bus dữ liệu vào/ra
TxC : Transmit Clock - Nhịp truyền
Bộ đệm truyền (P:S)
Bộ đệm bus dữ liệu
Logic điều khiển đọc ghi
Bộ điều khiển truyển
Các tín hiệu điều khiển Modem
Bộ đệm nhận (S:P)
RESET
CLK
C/D
RD
WR
CS
DSR
DTR
CTS
RTS
D0 - D7
TxRDY TxE TxC
RxD
RxRDY RxC SYNDET
TxD
Bộ điều khiển nhận
Trang 8RxC : Receiver Clock - Nhịp nhận
RST : Reset - Xóa
DTR : Data Terminal Ready - Số liệu của TBĐC sẵn sàng
DSR : Data Set Ready - Bộ số liệu sẵn sàng
RTS : Request To Send - yêu cầu gởi
CTS : Clear To Send - Xóa gởi
TxD : Transmit Data - Số liệu truyền
RxD : Receiver Data - Số liệu nhận
TxRDY : Transmit Ready - Sẵn sàng truyền
RxRDY : Receiver Ready - Sẵn sàng nhận
TxEMTY : Transmit Register Emty - Thanh ghi truyền rỗng
Syn/BRK : Synch / Break Detect - Đồng bộ / phát hiện đức đoạn tin
1.Chức năng các khối:
- Bộ đệm dữ liệu.
Là bộ đệm 3 trạng thái hai chiều với độ rộng 8 bits dùng làm giao diện giữa CPU và mạch 8251 Dữ liệu được gửi đi hay nhận về qua bộ đệm khi thực hiện lệnh INPut hay lệnh OUTput trong CPU Các từ lệnh (Command Word), từ điều khiển (Control Word) hay thông tin trạng thái cũng được chuyển qua thanh đệm dữ liệu Thanh ghi trạng thái lệnh (Command Status Register), thanh ghi dữ liệu ra (Data Out Register) và thanh ghi dữ liệu vào (Data In Register) là những thanh ghi độc lập
và cùng được kết nối BUS dữ liệu của hệ thống thông qua đệm dữ liệu
- Khối logic điều khiển đọc ghi.
Khối này sẽ nhận các tín hiệu cung cấp từ Bus điều khiển của hệ thống sẽ tạo ra các tín hiệu điều khiển cho toàn bộ hoạt động của 8251
- Khối điều khiển modem (Modem Control).
Vi mạch 8251 có một tập tín hiệu vào/ra có thể sử dụng để đơn giản hoá việc phối ghép với các MODEM Các tín hiệu do khối chức năng điều khiển Modem tạo
ra nhằm mục đích hoàn toàn tương thích với các tín hiệu điều khiển trao đổi thông tin thông qua thiết bị Modem khi cần thiết Đó là các tín hiệu DSR (Data Set Ready), DTR (Data Terminal Ready), RTS (Request To Send), và CTS (Clear To Send)
- Bộ đệm truyền (Transmitter Buffer).
Trang 9Đệm phát tiếp nhận dữ liệu song song từ đệm dữ liệu, chuyển đổi thành chuỗi bits nối tiếp, chèn thêm các ký tự hoặc các bit thích hợp cần thiết trong kỹ thuật truyền tin và gửi chuỗi bits này ra đầu phát TxD theo sườn xuống của xung nhịp phát TxC Khối phát bắt đầu công việc ngay khi tín hiệu CTS = “0” và dừng lập tức với trạng thái được giữ nguyên khi TxE là “0” hay CTS = “1”
- Bộ điều khiển truyền (Transmitter Control).
Khối điều khiển phát giám sát toàn bộ mọi hoạt động liên quan đến truyền dữ liệu nối tiếp Khối có nhiệm vụ chấp nhận và tạo ra tất cảc các tín hiệu tương ứng để thực hiện việc tuyền dữ liệu
- Bộ đệm nhận (Receiver Buffer).
Đệm thu thu nhận dữ liệu nối tiếp và chuyển đổi thành dữ liệu song song sau khi
đã loại bỏ những ký tự hoặc bit tương ứng sử dụng trong kỹ thuật thu phát thông tin Tín hiệu thu được đưa qua chân RxD và được dịch chuyển vào thanh ghi đệm thu theo sườn lên của xung RxC
- Bộ điều khiển nhận (Receiver Control).
Khối này có chức năng quản lý tất cả các hoạt động liên quan đến bộ nhận, bao gồm các chức năng sau:
+ Ngăn chặn các lỗi nhận dữ liệu của 8251, như xác định mức thấp trên đường RxD là trạng thái không sử dụng (điều kiện ngắt) hay trạng thái dữ liệu thấp Trước khi bắt đầu nhận các kí tự nối tiếp, mức 1 phải có trên đường RxD ngay sau tín hiệu Reset Sau đó bộ nhận sẽ kiểm tra để phát hiện bit thấp (Start bit) để xác định trạng thái bắt đầu nhận dữ liệu Chức năng này chỉ hoạt động trong chế độ cận đồng bộ và chỉ thực hiện một lần sau mỗi lần Reset
+ Ngăn chặn sai Start bit do xung nhiễu tức thời, bộ điều khiển nhận sẽ lấy mẫu start bit ở cạnh xuống và xác nhận lại nó một lần nữa trong khoảng giữa bit
+ Phát hiện lỗi chẵn lẻ của dữ liệu nhận được và thiết lập bit thông báo lỗi tương ứng trong thanh ghi trạng thái
+ Trong chế độ cận đồng bộ sẽ phát hiện lỗi sai khung khi không tìm thấy bit stop sau byte dữ liệu vừa nhận được
V Mô tả các tín hiệu của 8251:
- RESET: là một ngõ vào tác động mức cao để khởi động lại 8251, sau khi nhận được
tín hiệu này 8251 sẽ trở về trạng thái ban đầu và cần phải lập trình lại các từ lệnh mới Xung Reset cần kéo dài ít nhất trong 6 chu kỳ xung clock Ngoài ra từ lệnh cũng có thể khởi động lại cho 8251, đó là chế độ khởi động mềm Tín hiệu này có thể nối tới RESET của CPU để 8251 được reset cùng với toàn bộ hệ thống
Trang 10- CLK (Clock): Là ngõ vào cung cấp xung nhịp định thời cho hoạt động cho các khối
bên trong 8251 Tín hiệu này có thể lấy từ một bộ tạo clock TTL Không có ngõ vào ra nào tác động phụ thuộc vào CLK, nhưng tần số xung đưa tới ngõ vào này phải lớn hơn
30 lần tốc độ truyền nhận
*Các tín hiệu điều khiển chế độ hoạt động của 8251.
- WR (ghi): Ngõ vào tác động mức thấp, 8251 nhận tín hiệu này từ bus điều khiển hệ
thống để xác định chế độ CPU ghi dữ liệu hoặc từ điều khiển tới 8251
- RD (đọc): Là một ngõ vào tác động mức thấp nhận tín hiệu từ bus điều khiển hệ thống
xác định chế độ CPU đọc dữ liệu hoặc từ trạng thái từ 8251
- C/D: Ngõ vào này tác động cùng với các tín hiệu RD hoặc WR để xác định tín hiệu ghi
tới 8251 là dữ liệu hay từ điều khiển, và dữ liệu đọc từ 8251 là dữ liệu hay từ trạng thái Một đường địa chỉ có thể nối tới ngõ vào, này để xác định 1 địa chỉ đọc ghi dữ liệu, và một địa chỉ để đọc chi điều khiển
- CS (Chip Select): Là ngõ vào tác động mức thấp chọn mạch của 8251 Việc đọc ghi
8251 chỉ thực hiện được khi đã chọn mạch (CS=0) Khi CS=1 bus dữ liệu sẽ treo lên trạng thái trở kháng cao và các tín hiệu RD, WR sẽ không có tác dụng Tín hiệu này được nối tới bộ giải mã địa chỉ vào ra Các chế độ hoạt động của 8251 tương ứng với các tín hiệu điều khiển được mô tả trong bảng sau:
CS CD WR RD Chế độ 0
0 0 0 0 1
0 0 1 1 x x
1 0 1 0 1 x
0 1 0 1 1 x
CPU gi dữ liệu tới 8251 CPU đọc dữ liệu từ 8251 CPU ghi các từ lệnh tới 8251 CPU đọc từ trạng thái từ 8251 Data bus ở trở kháng cao Không chọn mạch data bus ở trở kháng cao
*Các tín hiệu điều khiển modem
8251 có một loại các tín hiệu tạo ra từ bộ điều khiển modem để giao tiếp một cách đơn giản với hầu hết các loại modem Các tín hiệu này tạo ra nhằm mục đích giao tiếp với các modem nhưng cũng có thể sử dụng các mục đích khác nếu cần thiết
Trang 11- DSR (Data Set Ready): Là một ngõ vào nối tới DSR của modem Khi ngõ vào này tác
động, bit DSR trong thanh ghi trạng thái sẽ tác động, vì thế CPU có thể kiểm tra ngõ vào này bằng cách đọc từ trạng thái Ngõ vào này được sử dụng để kiểm tra trạng thái của modem Modem tác động tín hiệu này bằng 0 là để thông báo tới CPU việc nó đã nối ghép hoàn chỉnh với đường điện thoại, và đang sẵn sàng cho việc truyền dữ liệu Các modem quay số tự động sẽ gửi tín hiệu này tới CPU khi nó quay số thành công tới một đầu cuối khác
- DTR (Data Terminal Ready): Là một ngõ ra tác động mức thấp, tín hiệu này có thể
lập xoá bằng các ghi dữ liếu tới bit DTR của từ lệnh lập trình cho 8251 Tín hiệu này nối tới modem để điều khiển hoạt động của modem CPU sẽ tác động tín hiệu này khi đã khởi động xong 8251 để sẵn sàng truyền dữ liệu với modem Một số modem sẽ không thể thông báo trạng thái đã nối ghép được với đường điện thoại cho đến khi tín hiệu này tác động Một số modem không sử dụng tín hiệu này Một số modem có công tắc để chuyển chế độ sử dụng hoặc không sử dụng tín hiệu này
- RTS (Request To Send): Là một ngõ ra tác động mức thấp khi lập trình bit RTS trong
từ lệnh lập trình cho 8251 Tín hiệu này được gửi tới modem để yêu cầu gửi dữ liệu tới đường ra TxD Tín hiệu này sử dụng kết hợp với CTS để điều khiển luồng dữ liệu giữa CPU và modem Trong chế độ đồng bộ tín hiệu này sử dụng để điều khiển luồng tín hiệu giữa các modem
- CTS (Clear to Send): Là ngõ vào tác động mức thấp cho phép 8251 truyền chuỗi dữ
liệu nối tiếp khi bit TxEnable trong từ lệnh bằng 1 Còn nếu TxEnable = 0 hoặc CTS =1 trong khi đang truyền thì 8251 sẽ truyền xong hết tất cả các bit dữ liệu hiện có và ghi lệnh TxDisable trước khi ngưng Tín hiệu này từ modem gửi tới 8251 để thông báo nó sẵn sàng nhận dữ liệu Trong chế độ đồng bộ tín hiệu này sử dụng điều khiển luồng thông tin giữa các modem
*Các tín hiệu truyền dữ liệu
- TxD: (Transmit Data): Là ngõ ra sử dụng để truyền dữ liệu nối tiếp từ 8251 ra ngoài
thiết bị ngoại vi Dữ liệu song song tại bộ đệm truyền sẽ dịch lần lượt ra ngõ này tại mỗi cạnh lên của TxC
- TxReady: (Transmitter Ready): Ngõ ra này sử dụng thông báo cho CPU biết bộ đệm
truyền đã sẵn sàng nhận một kí tự dữ liệu Tín hiệu này có thể sử dụng ngắt CPU để yêu cầu CPU truyền tới 8251 một byte dữ liệu mới Tín hiệu này sẽ bị che bởi bit TxEnable, CPU cũng có thể kiểm tra trạng thái ngõ ra này bởi phần mềm bằng lệnh đọc từ trạng thái của 8251 và kiểm tra bit TxREADY Ngõ ra này sẽ tự động reset ở cạnh xuống của tín hiệu WR\ (tức là khi một kí tự dữ liệu được nạp tới từ CPU)