Khi các bit dữ liệu dịch sang phải, thì các giá trị 0 được đưa vào từ bên trái. Khi MSB của Byte dữ liệu ở vị trí đầu ra của thanh ghi dịch thì giá trị 1(ban đầu đã được nạp vào bit thứ 9) sẽ được điền vào ngay bên trái của bit MSB, còn các bit kể từ nó sang trái đều có giá trị 0. Điều kiện này sẽ chỉ thị cho khối điều khiển phát thực hiện lần dịch cuối cùng và sau đó đưa trả /SEND về mức thụ động, đồng thời thiết lập cờ ngắt TI. Thời điểm này rơi vào chu kỳ thứ 10 của bộ đếm chia 16, sau thời điểm “ghi vàoSBUF”.
ĐỀ CƯƠNG MÔN HỌC KỸ THUẬT VI ĐIỀU KHIỂN
KHOA ĐIỆN –ĐIỆN TỬ - ĐHSPKT-HY_12/2004 Trang 44
Quá trình nhận tin được khởi đầu bằng việc phát hiện có sự chuyển trạng thái từ 1 về 0 ở đường thu nối tiếp RxD. Để phát hiện chính xác, tín hiệu trên RxD được lấy mẫu ở tốc độ gấp 16 lần tốc độ Baud của đường truyền. Khi sự chuyển trạng thái (từ 1 về 0) được phát hiện thì bộ đếm chia 16 được tái xác lập ngay và giá trị 1FFh được ghi vào thanh ghi dịch đầu vào (Input shift register). Việc tái thiết lập bộ đếm chia 16 sẽ đồng nhất thời điểm tràn của nó với các biên
(ranh giới) thời gian của bit đang đi tới đầu thu.
Mỗi bit được chia thành 16 phần (States) thời gian bằng nhau (16 phần của bộ đếm). Tại các phần thời gian thứ 7, 8, 9 của mỗi bit, bộ phát hiện bit (Bit Detector) sẽ trích mẫu giá trị của RxD. Giá trị được chấp nhận là giá trị đã có ở ít nhất 2 trong 3 mẫu. Phương pháp này được thực hiện để chống nhiễu đường truyền. Nếu giá trị được chấp nhận đối với bit đầu tiên không phảI là 0 (không phảI bit START), thì các mạch thu được tái xác lập để quay lại chờ một đột biếntừ 1 về 0 khác. Nếu bit khởi đầu (START) có giá trị hợp lệ thì dữ liệu được dịch vào thanh ghi dịch đầu vào, và quá trình nhận tin được tiếp tục.
Khi các bit dữ liệu đi vào từ bên phải của thanh ghi dịch, thì các giá trị 1 được dịch ra bên trái của nó. Khi bit khởi đầu đến vị trí tận cùng bên trái của thanh ghi dịch (ở chế độ 1, nó là thanh ghi 9 bit), nó sẽ chỉ thị cho khối điều khiển nhận (Rx Control) thực hiện phép dịch chuyển cuối cùng, rồi nạp SBUF và RB8, và thiết lập RI. Tín hiệu để nạp SBUF và RB8, và để thiết lập RI sẽ được tạo ra khi và chỉ khi các điều kiện sau đây được thoả mãn ở thời điểm xung nhịp cuối cùng được tạo ra:
1. RI=0, và
2. Hoặc SM2=0, hoặc bit STOP nhận được =1.
Nếu một trong hai điều kiện này không được thảo mãn, thì Byte tin nhận được sẽ bị mất. Nếu cả 2 điều kiện được thoả mãn, thì bit dừng chuyển vào RB8, 8 bit dữ liệu chuyển vào SBUF, và RI được kích hoạt. Tại thời điểm này, bất kể các điều kiện trên được thoả mãn hay không, thì khối điều khiển vẫn quay trở lại để tiếp tục chức năng phát hiện đột biến mới từ 1 về 0 trên đường thu tin RxD.
2.9.7 Hoạt động của chế độ 2 và 3:
Ở chế độ này 11 bit được truyền đi (thông qua TxD) hoặc nhận vào (thông qua RxD), bao
gồm: 1 bit khởi đầu (0), 8 bit dữ liệu (LSB đầu tiên), 1 bit dữ liệu thứ 9 có thể lập trình được và 1 bit dừng (1). Khi truyền tin đi, bit dữ liệu thứ 9 (TB8) có thể được gán giá trị 0 hoặc 1. Khi nhận tin, bit dữ liệu thứ 9 chuyển vào RB8 trong SCON. Tốc độ Baud có thể lập trình được bằng 1/32 hoặc 1/64 tần số của bộ dao động ở chế độ 2. Chế độ 3 có thể có tốc độ Baud khả biến do Timer 1 hoặc Timer 2 tạo ra, tuỳ thuộc vào trạng thái của các bit TCLK và RCLK.
Hình 2.21 (Seriel Port Mode 2) và Hình 2.22 (Seriel Port Mode 3) là các sơ đồ chức năng
và đồthịthời gian của các chế độ 2 và 3. Phầnnhận tin đượctổchứcgiốngnhư chếđộ
ĐỀ CƯƠNG MÔN HỌC KỸ THUẬT VI ĐIỀU KHIỂN
KHOA ĐIỆN –ĐIỆN TỬ - ĐHSPKT-HY_12/2004 Trang 45
Quá trình truyền tin được khởi đầubằng bất kỳ lệnh nào mà có sử dụng SBUF như một thanh ghi đích. Tín hiệu “ghi vào SBUF” cũng nạp bit TB8 vào vị trí bit thứ 9 của thanh ghi dịch truyền và chỉ thị cho khối điều khiển truyền (Tx Control) rằng có yêu cầu phải truyền tin. Quá trình truyền được bắt đầu tại S1P1 của chu kỳ máy ngay sau thời điểm tràn của bộ đếm chia 16. Do đó, các bit được đồng bộ đối với chu kỳ bộ đếm chia 16, chứ không phải với tín hiệu “ghi vàoSBUF”.
Quá trình truyền bắt đầu khi tín hiệu /SEND được kích hoạt, và bit khởi đầu được đặt tại TxD. Sau đó đến tín hiệu DATA được kích hoạt. Điều này cho phép mở thông đường truyền từ thanh ghi dịch truyền đến đầu ra TxD. Xung nhịp đầu tiên chuyển giá trị 1 (Bit dừng) vào vị trí bit thứ 9 của thanh ghi dịch. Còn sau đó chỉ các giá trị 0 được đưa vào. Vì vậy, khi các bit dữ liệu dịch ra sang phải, thì các giá trị 0 được đưa vào từ bên trái. Khi TB8 ở vị trí đầu ra của thanh ghi dịch, thì bit dừng chuyển đến bên trái của TB8, và tất cả các giá trị ở bên trái của nó đều là giá trị 0. Điều kiện này chỉ thị cho khối điều khiển phát (Tx Control) thực hiện phép dịch cuôí cùng và sau đó trả SEND về trạng thái thụ động, đồng thời thiết lập TI. Thời điểm này ứng với chu kỳ lần thứ 11 (sự quay vòng lần thứ 11) của bộ đếm chia 16 sau khi có tín hiệu “ghi vàoSBUF”.