6.1Đặt vấn đề 6.2Yờu cầu và thủ tục trao đổi tin nối tiếp:

Một phần của tài liệu GIÁO TRÌNH GHÉP NỐI MÁY TÍNH (Trang 59 - 79)

lường, …

- Cỏc cỏch ghộp nối này sử dụng phương phỏp truyền thụng tin (dữ liệu) theo kiểu nối tiếp. cỏc bit dữ liệu được truyền nối tiếp nhau trờn một đường dõy duy nhất. Tại một thời điểm chỉ cú một bit dữ liệu được truyền trờn đường dõy.

- Truyền thụng nối tiếp cú ưu điểm là cần ớt đường dõy, cú thể sử dụng một đường để truyền, một đường để nhận. Thụng tin thu nhận là tin cậy, tuy nhiờn tốc độ truyền là chậm.

- Chuẩn RS232 được xõy dựng thành chuẩn chớnh thức dành cho truyền thụng nối tiếp, do hiệp hội cỏc nhà cụng nghiệp điện tử EIA (Electronic Industries Association) năm 1962. Chuẩn này cho phộp truyền với tốc độ cực đại 19.600 bit/s với khoảng cỏch nhỏ hơn 20 m

- Sau đú ra đời một số chuẩn như RS422, RS449, RS485 cú tốc độ truyền và khoảng cỏch cho phộp xa hơn. Vd: RS422: Tốc độ truyền 10Mbit/s, khoảng cỏch >1000m

6.2 Yờu cầu và thủ tục trao đổi tin nối tiếp:

6.2.1. Yờu cầu:

Khi khoảng cỏch giữa hai thiết bị trao đổi tin là rất lớn, việc sử dụng phương phỏp truyền tin song song sẽ đũi hỏi chi phớ tốn kộm về đường dõy đồng thời cũng khú khăn trong việc chống nhiễu trờn đường truyền. Do đú với việc truyền tin ở khoảng cỏch xa và yờu cầu về tốc độ khụng lớn thỡ phương phỏp truyền tin nối tiếp được sử dụng. Truyền thụng nối tiếp cần thờm cụng đoạn gia cụng tớn hiệu để chuyển tớn hiệu song song thành tớn hiệu nối tiếp để gửi đi, sau đú phải chuyển từ tớn hiệu nối tiếp thành song song ở nơi nhận. Việc gia cụng tớn hiệu này cũng tốn một khoản chi phớ nhưng cũng giảm hơn nhiều so với truyền thụng song song.

Các thiờ́t bi ̣ đõ̀u cuụ́i trong liờn kờ́t nụ́i tiờ́p có thờ̉ là các loa ̣i thiờ́t bi ̣ khác nhau nhưng chúng phải thụ́ng nhṍt với nhau vờ̀ các quy tắc vờ̀ giao thức cũng như đi ̣nh da ̣ng dữ liờ ̣u. Sự thụ́ng nhṍt này đảm bảo dữ liờ ̣u được gửi tới bờn nhõ ̣n và bờn nhõ ̣n có thờ̉ hiờ̉u được dữ liờ ̣u đó. Phõ̀n này sẽ trình bày vờ̀ đi ̣nh da ̣ng dữ liờ ̣u và giao thức truyờ̀n dữ liờ ̣u sử du ̣ng trong truyờ̀n thụng nụ́i tiờ́p, và sẽ chú tro ̣ng hơn tới phương pháp truyờ̀n thụng khụng đụ̀ng bụ ̣ do được dùng trong chũ̉n RS232 của cụ̉ng nụ́i tiờ́p COM

Trong truyờ̀n tin nụ́i tiờ́p, ta ̣i mụ ̣t thời điờ̉m chỉ có mụ ̣t bit dữ liờ ̣u được truyờ̀n đi và các bit dữ liờ ̣u đươ ̣c truyờ̀n tũ̀n tự nhau. Mụ ̣t liờn kờ́t giữa hai bờn có thờ̉ sử du ̣ng hai đường dữ liờ ̣u đờ̉ truyờ̀n theo hai hướng riờng biờ ̣t hoă ̣c có thờ̉ sử du ̣ng chung mụ ̣t đường dữ liờ ̣u đờ̉ truyờ̀n theo cả hai hướng vào các thời điờ̉m khác nhau. Viờ ̣c truyờ̀n thụng sửe du ̣ng chung mụ ̣t đường tín hiờ ̣u cho cả hai hướng go ̣i là truyờ̀n bán song cụng (Half-duplex) còn trường hợp sử du ̣ng hai đường tín hiờ ̣u riờng cho hai hướng cho phép truyờ̀n đụ̀ng thời cả hai hướng thì được go ̣i là truyờ̀n song cụng đõ̀y đủ (Full-duplex). Trong máy tính PC, liờn kờ́t nụ́i tiờ́p sử du ̣ng da ̣ng Full-duplex.

Có mụ ̣t tín hiờ ̣u phải có trong truyờ̀n tin nụ́i tiờ́p đó là tín hiờ ̣u xung đụ̀ng hụ̀ (clock). Tín hiờ ̣u này giúp điờ̀u khiờ̉n dòng dữ liờ ̣u. Bờn gửi và bờn nhõ ̣n sử du ̣ng tín hiờ ̣u này đờ̉ quyờ́t đi ̣nh khi

nào gửi và nhõ ̣n mụ̃i bit. Có hai phương pháp truyờ̀n thụng nụ́i tiờ́p là truyờ̀n thụng đụ̀ng bụ ̣ (Synchronous) và truyờ̀n thụng khụng đụ̀ng bụ ̣ (Asynchronous). Với mụ̃i loa ̣i thì cách sử du ̣ng tín hiờ ̣u clock là khác nhau.

6.2.2. Trao đổi tin đồng bộ: Synchronous

Trong truyờ̀n thụng đụ̀ng bụ ̣, hai bờn truyờ̀n thụng sử du ̣ng chung mụ ̣t đường tín hiờ ̣u clock. Tín hiờ ̣u này được phát ra bởi mụ ̣t bờn hoă ̣c bởi mụ ̣t thiờ́t bi ̣ phát xung đụ̀ng bụ ̣ riờng. Tín hiờ ̣u đụ̀ng bụ ̣ này có thờ̉ có tõ̀n sụ́ thay đụ̉i hoă ̣c có mụ ̣t chu kỳ khụng xác đi ̣nh. Nghĩa là mụ̃i bit truyờ̀n đi đươ ̣c xác đi ̣nh ta ̣i mụ ̣t thời điờ̉m khi có sự thay đụ̉i mức tín hiờ ̣u của tín hiờ ̣u clock. Bờn nhõ ̣n cũng sử du ̣ng sự thay đụ̉i mức đó đờ̉ xác đi ̣nh khi nào thì đo ̣c bit dữ liờ ̣u gửi tới. Thí du ̣ như bờn nhõ ̣n sẽ chụ́t dữ liờ ̣u gửi tới khi xṹt hiờ ̣n sườn lờn của xung clock hay là sự thay đụ̉i mức tín hiờ ̣u từ thṍp lờn cao. Truyền đồng bộ bờn nhận khụng cần phải biết trước tốc độ trao đổi tin mà chỉ cần qua tõm tới tớn hiệu đồng bộ phỏt trờn đường dõy đồng bộ.

Truyờ̀n thụng đụ̀ng bụ ̣ rṍt hữu ích khi truyờ̀n ở khoảng cách gõ̀n bởi nó cho phép truyờ̀n thụng với tụ́c đụ ̣ cao. Tuy võ ̣y với khoảng cách xa, viờ ̣c truyờ̀n thụng đụ̀ng bụ ̣ là khụng khả thi do nó đòi hỏi có thờm mụ ̣t đường tín hiờ ̣u clock, như võ ̣y cõ̀n mụ ̣t đường dõy thờm vào, hơn nữa sẽ dờ̃ bi ̣ nhiờ̃u trờn đường truyờ̀n.

Mỗi khối tin đồng bộ thường gồm nhiều byte, cỏc khối được đỏnh dấu bởi cỏc byte đỏnh dấu khung tin, cỏc byte này cú giỏ trị là 16H ( mĩ ASCII của chữ Sync)

Truyền thụng đồng bộ phải thực hiện liờn tục, khi khụng cú dữ liệu cần truyền thỡ bờn phỏt vẫn tiếp tục phải truyền cỏc dữ liệu “trống” để duy trỡ sự đồng bộ.

Truyền thụng đồng bộ thực hiện kiểm tra lỗi bằng phương phỏp số dư vũng (chia tổng tin của khung cho một đa thức - gọi là đa thức sinh). Số dư của phộp chia được ghi vào một byte FCS ( Frame Check Sum). Ở phớa thu, cũng tớnh tương tự và so sỏnh kết quả. Nếu bằng nhau thỡ tin truyền khụng bị lỗi.

6.2.3. Trao đổi tin khụng đồng bộ - Asynchronous:

Trong truyờ̀n thụng khụng đụ̀ng bụ ̣, đường truyờ̀n sẽ khụng cõ̀n có thờm mụ ̣t đường tín hiờ ̣u clock bởi vì mụ̃i bờn đã có bụ ̣ phát xung đụ̀ng bụ ̣ của riờng nó. Đờ̉ làm được như võ ̣y, hai bờn phải thụ́ng nhṍt mụ ̣t tõ̀n sụ́ xung chung, và tṍt cả các xung clock phải khớp nhau ở mụ ̣t mức đụ ̣ nào đó. Mụ̃i byte truyờ̀n đi sẽ bao gụ̀m mụ ̣t bit Start đờ̉ đụ̀ng bụ ̣ xung đụ̀ng hụ̀ giữa hai bờn và mụ ̣t bit Stop đờ̉ đánh dṍu kờ́t thúc byte được truyờ̀n. Cụ̉ng RS-232 của máy PC sử du ̣ng đi ̣nh da ̣ng khụng đụ̀ng bụ ̣ đờ̉ truyờ̉n thụng với các thiờ́t bi ̣ ngoài như modem, máy in cũng như đờ̉ truyờ̀n thụng với máy tính khác. Tuy rằng cụ̉ng RS-232 có thờ̉ sử du ̣ng phương pháp truyờ̀n đụ̀ng bụ ̣ nhưng phương pháp truyờ̀n khụng đụ̀ng bụ ̣ võ̃n thường được sử du ̣ng nhiờ̀u hơn.

Việc truyền thụng sử dụng phương phỏp khụng đồng bộ khụng cần phải thực hiện liờn tục. Trong trạng thỏi nghỉ, đường tớn hiệu truyền tin sẽ cú trạng thỏi tương ứng với mức tớn hiệu của bit Stop.

Quá trình truyờ̀n thụng khụng đụ̀ng bụ ̣ sử du ̣ng mụ ̣t sụ́ đi ̣nh da ̣ng khác nhau. Thụng du ̣ng nhṍt là da ̣ng 8-N-1. Trong đó mụ̃i byte dữ liờ ̣u gửi đi bao gụ̀m mụ ̣t bit Start, tiờ́p theo đó là 8 bit dữ liờ ̣u, bắt đõ̀u băng bit 0 ( hay bit LSB) và kờ́t thúc bằng mụ ̣t bit Stop.

Ký tự N trong 8-N-1 có nghĩa là trong dữ liờ ̣u truyờ̀n đi khụng có bit chẵn lẻ (Parity bit). Bit chẵn lẻ được sử du ̣ng như mụ ̣t phương pháp kiờ̉m tra lụ̃i truyờ̀n mụ ̣t cách đơn giản. Bit chẵn lẻ có thờ̉ là bit “Chẵn” hoă ̣c bit “Lẻ”. Bit chẵn có nghĩa là bit parity được đă ̣t là chẵn hay lẻ sao cho sụ́ các bit có giá tri ̣ 1 trong các bit dữ liờ ̣u bao gụ̀m cả bit Parity là mụ ̣t sụ́ chẵn, và ngược la ̣i với Parity lẻ. Khi bờn nhõ ̣n nhõ ̣n được byte dữ liờ ̣u nó sẽ kiờ̉m tra đờ̉ tính giá tri ̣ parity của byte được nhõ ̣n, sau đó so sánh với bit parity ở trong byte vừa nhõ ̣n. Nờ́u khụng trùng nhau có nghĩa là đã có lụ̃i xảy ra trờn đường truyờ̀n. Bờn nhõ ̣n sẽ thụng báo la ̣i đờ̉ bờn gửi truyờ̀n la ̣i byte dữ liờ ̣u đó.

Sụ́ bit dữ liờ ̣u truyờ̀n đi trong mụ ̣t lõ̀n truyờ̀n có thờ̉ là từ 5 đờ́n 8 bit tuỳ theo từng ứng du ̣ng. Nờ́u truyờn ký tự ASCII thì ta truyờ̀n 7 bit, nờ́u truyờ̀n giá tri ̣ nhi ̣ phõn (truyờ̀n file) thì sử du ̣ng 8 bit.

Sụ́ bit stop cũng là mụ ̣t tham sụ́ cõ̀n quan tõm. Sụ́ 1 trong 8-N-1 chỉ ra rằng ở đõy ta sử du ̣ng 1 bit Stop. Sụ́ bit stop có thờ̉ là 1,5 hoă ̣c 2 bit.

Tham sụ́ rṍt quan tro ̣ng trong quá trình truyờ̀n thụng đó là tụ́c đụ ̣ truyờ̀n dữ liờ ̣u. Tụ́c đụ ̣ truyờ̀n là sụ́ bit được truyờ̀n trờn đường dõy trờn mụ ̣t đơn vi ̣ thời gian, thụng thường được tính bằng đơn vi ̣ baud. Trong đa sụ́ trường hợp, đơn vi ̣ này tương tương đương với đơn vi ̣ bit trờn giõy (b/s). Với đi ̣nh da ̣ng 8-N-1, tụ́c đụ ̣ truyờ̀n mụ ̣t byte dữ liờ ̣u bằng 1/10 tụ́c đụ ̣ truyờ̀n. Nờ́u ta truyờ̀n với tụ́c đụ ̣ 9600 baud thì trong mụ ̣t giõy truyờ̀n được 960 byte.

6.3 Truyờ̀n thụng nụ́i tiờ́p sử du ̣ng giao diờ ̣n RS-232:

Chúng ta thṍy rằng viờ ̣c truyờ̀n thụng nụ́i tiờ́p đòi hỏi rṍt nhiờ̀u thao tác phải thực hiờ ̣n. Ta phải chuyờ̉n mụ ̣t byte dữ liờ ̣u từ da ̣ng song song thành da ̣ng nụ́i tiờ́p ( bởi vì hõ̀u hờ́t các hờ ̣ thụ́ng sụ́ đờ̀u làm viờ ̣c với các dữ liờ ̣u ở da ̣ng song song). Tiờ́p theo ta phải ta ̣o ra mụ ̣t lời tin theo đúng đi ̣nh da ̣ng cho trước bằng cách thờm các bit Start, Stop, Parity phù hợp. Sau đó ta mới truyờ̀n dữ liờ ̣u đi dưới da ̣ng nụ́i tiờ́p. Cụ̉ng nụ́i tiờ́p của máy PC có mụ ̣t vi ma ̣ch chuyờn dùng đờ̉ điờ̀u khiờ̉n truyờ̀n thụng nụ́i tiờ́p. Do đó, khi sử du ̣ng cụ̉ng RS-232 của máy PC đờ̉ truyờ̀n thụng, tṍt cả cụng viờ ̣c của chúng ta là gửi byte dữ liờ ̣u cõ̀n truyờ̀n ra thanh ghi dữ liờ ̣u của vi ma ̣ch này. Sau đó mo ̣i thao tác của quá trình truyờ̀n thụng kờ̉ trờn sẽ đươ ̣c vi ma ̣ch thực hiờ ̣n dựa theo những thiờ́t lõ ̣p trong quá trình khởi ta ̣o.

6.3.1. Quá trình truyờ̀n mụ ̣t byte dữ liờ ̣u:

Trong tra ̣ng thái rụ̃i, giá tri ̣ logic trờn đường truyờ̀n luụn bằng 1. Đờ̉ báo viờ ̣c bắt đõ̀u truyờ̀n dữ liờ ̣u, bờn gửi đưa giá tri ̣ logic 0 lờn đường truyờ̀n trong khoảng thời gian bằng đụ ̣ dài mụ ̣t bit. Bit đó go ̣i là bit Start. Khi truyờ̀n với tụ́c đụ ̣ 300 baud, mụ ̣t bit có đụ ̣ dài là 3,3 ms, trong khi với tụ́c đụ ̣ 9600 baud thì có đụ ̣ dài 0,1 ms.

Ngay sau bit Start, bờn truyờ̀n gửi tiờ́p 8 bit dữ liờ ̣u kờ́ tiờ́p nhau, bắt đõ̀u bằng bit LSB. Tiờ́p sau đó bờn truyờ̀n sẽ gửi tiờ́p mụ ̣t bit có giá tri ̣ logic 1 lờn đường truyờ̀n và duy trì trong khoảng thời gian ít nhṍt là đụ ̣ dài mụ ̣t bit. Ngay sau đó hoă ̣c sau mụ ̣t khoảng thời gian bṍt kỳ, bit Start tiờ́p theo sẽ được gửi đờ̉ bắt đõ̀u truyờ̀n mụ ̣t byte mới.

6.3.2. Cụ̉ng nụ́i tiờ́p RS 232

Phõ̀n cứng

• Những thuụ ̣c tính của phõ̀n cứng

Những thiờ́t bi ̣ sử du ̣ng cáp nụ́i tiờ́p cho viờ ̣c truyờ̀n thụng được chia làm hai loa ̣i. Đó là DCE (Data Communications Equipment) và DTE (Data Terminal Equipment) DCE là những thiờ́t bi ̣ đươ ̣c sử du ̣ng như mụ ̣t modem của chúng ta, bụ ̣ tiờ́p hợp TA, máy vẽ, ... trong khi đó DTE la ̣i đươ ̣c sử du ̣ng như máy tính hoă ̣c Teminal của chúng ta.

Những phát minh vờ̀ cụ̉ng nụ́i tiờ́p của EIA (Electronics Industry Association) trong đó tiờu biờ̉u là chũ̉n RS 232C. Nó đưa ra nhiờ̀u thụng sụ́ như:

• A “Space” (logic 0) ở giữa +3V và +12V. • A “Mark” (logic 1) ở giữa -3V và -12V. • Vùng giữa +3V và -3V là khụng xác đi ̣nh.

Liờ ̣t kờ ở trờn chỉ là mụ ̣t phõ̀n của danh sách của chũ̉n EIA. Trong đó bao gụ̀m cả Line Capacitance, Maximum Baud Rates, ... Đờ̉ biờ́t chi tiờ́t hơn xin tham khảo chũ̉n EIA RS-232C. Tuy nhiờn nó thõ ̣t thú vi ̣ đờ̉ ghi nhớ rằng Chũ̉n RS -232C chỉ rõ a maximum baud rate of 20,000 BPS!, điờ̀u mà làm cho nó khá chõ ̣m trước những tiờu chũ̉n của ngày nay. Mụ ̣t tiờu chũ̉n mới, RS -232D gõ̀n đõy đã được phát hành.

Cụ̉ng nụ́i tiờ́p có hai loa ̣i ỎsizeÕ, đó là bụ ̣ nụ́i D-Type 25 chõn và bụ ̣ nụ́i D-Type 9 chõn, cả hai loa ̣i này đờ̀u có chung mụ ̣t đă ̣c điờ̉m khác hẳn với cụ̉ng máy in là chụ̃ nụ́i với máy in ở máy PC là ụ̉ cắm, trong khi ở các cụ̉ng nụ́i tiờ́p la ̣i là phích cắm nhiờ̀u chõn. Bờn dưới là bảng kờ́t nụ́i chõn cho bụ ̣ kờ́t nụ́i 9 chõn và 25 chõn D-Type.

D-Type-25 Pin No D-Type-9 Pin No Abbreviation Full Name

Chõn 2 Chõn 3 TD Transmit Data

Chõn 3 Chõn 2 RD Receive Data

Chõn 4 Chõn 7 RTS Request To Send

Chõn 5 Chõn 8 CTS Clear To Send

Chõn 6 Chõn 6 DSR Data Set Ready

Chõn 7 Chõn 5 SG Signal Ground

Chõn 8 Chõn 1 CD Carrier Detect

Chõn 20 Chõn 4 DTR Data Terminal Ready

Chõn 22 Chõn 9 RI Ring Indicator

Bảng 1: D Type 9 Pin and D Type 25 Pin Connectors

Chữ viờ́t tắt

1) Tờn

đõ̀y đủ a) Chức năng

TD Transmit Data Serial Data Output (TXD) - Đõ̀u ra của dữ liờ ̣u RD Receive Data Serial Data Input (RXD) - Dữ liờ ̣u được nhõ ̣p vào CTS Clear to Send Báo rằng Modem sằn sàng trao đụ̉i dữ liờ ̣u.

DCD Data Carrier

Detect

Khi nào modem phát hiờ ̣n ra mụ ̣t ỎCarrierÕ từ mụ ̣t modem kờ́t thúc khác của the phone line, thì Line này trở thành tích cực.

DSR Data Set Ready Thụng báo với UART rằng the modem sẵn sàng thiờ́t lõ ̣p mụ ̣t mụ́i liờn kờ́t .

DTR Data Terminal

Ready

Đõy là sự đụ́i lõ ̣p với DSR. Báo với the Modem rằng the UART sẵn sàng đờ̉ liờn kờ́t .

RTS Request To Send Thụng báo cho the Modem rằng the UART sẵn sàng đờ̉ trao đụ̉i dữ liờ ̣u.

RI Ring Indicator Goes active when modem detects a ringing signal from the PSTN.

• Null Modems

Mụ ̣t Null Modem đươ ̣c sử du ̣ng đờ̉ nụ́i cho hai DTE cùng nhau. Những modem này thường được sử du ̣ng như mụ ̣t cách đờ̉ nụ́i ma ̣ng cho những trò chơi hoă ̣c đờ̉ chuyờ̉n giao giữa các file máy tính sử du ̣ng giao thức Zmodem Protocol, Xmodem Protocol, ... Điờ̀u này cũng có thờ̉ được sử du ̣ng với nhiờ̀u

Microprocessor Development Systems (hờ ̣ thụ́ng phát triờ̉n bụ ̣ vi xử lý).

Hình 1: Sơ đụ̀ nụ́i dõy Null Modem

Trờn đõy là phương pháp ưu tiờn của viờ ̣c nụ́i dõy của mụ ̣t Null Modem. Nó chỉ yờu cõ̀u 3 dõy (TD, RD & SG) đờ̉ mắc đươ ̣c xuyờn thẳng qua vì võ ̣y ảnh hưởng lớn đờ́n chi phí đờ̉ sử du ̣ng cha ̣y cáp dài. Nguyờn lý của thao tác thì đơn giản có lý. Mu ̣c tiờu là làm cho máy tính cho rằng nó là mụ ̣t modem hơn là mụ ̣t computer khác. Any data transmitted from the first computer must be received by the second thus TD is connected to RD. Điờ̀u thứ hai máy tính phải có cùng cơ cṍu

như võ ̣y thì RD được nụ́i tới TD. Báo hiờ ̣u rằng Signal Ground (SG) cũng phải được nụ́i sao cho cả hai grounds phụ̉ biờ́n tới mụ̃i máy tính.

Data Terminal Ready (DTR) lă ̣p la ̣i khi chõn Data Set Ready (DSR) và Data Carrier Detect (DCD) có mă ̣t trờn cả hai (on both computers) máy tính. Khi chõn the Data Terminal Ready ở mức tích cực thì chõn the Data Set Ready và chõn Data Carrier Detect ngay lõ ̣p tức trở thành tích cực (active). Vào thời điờ̉m này máy tính cho rằng the Virtual Modem sẵn sàng được nụ́i và phát hiờ ̣n ra the carrier của modem khác.

Và vṍn đờ̀ cõ̀n lo lắng bõy giờ là chõn the Request to Send và chõn Clear To Send. Trong khi cả hai máy tính giao thiờ ̣p với nhau ở cùng mụ ̣t tụ́c đụ ̣, vì võ ̣y viờ ̣c điờ̀u khiờ̉n luụ̀ng là khụng cõ̀n thiờ́t với hai tuyờ́n này vì chúng có thờ̉ kờ́t nụ́i cùng nhau trờn mụ̃i máy tính. Khi máy tính muụ́n gửi dữ liờ ̣u, nó xác nhõ ̣n sự có mă ̣t của chõn the Request to Send ở mức cao và khi đó nó móc nụ́i với chõn the Clear to Send, lúc này ngay lõ ̣p tức máy tính nhõ ̣n được cõu trả lời rằng nó có thờ̉

Một phần của tài liệu GIÁO TRÌNH GHÉP NỐI MÁY TÍNH (Trang 59 - 79)

Tải bản đầy đủ (DOC)

(79 trang)
w