Nội dung bài giảng môn Thiết bị ngoại vi và ghép nối nội dung chương 4: Giới thiệu BUS chuẩn cho ghép nối mở rộng
Nội dung bài giảng môn Thiết bị ngoại vi và ghép nối nội dung chương 4: Giới thiệu BUS chuẩn cho ghép nối mở rộng của Học viện Công nghệ Bưu chính Viễn thông với những kiến thức và thông tin bổ ích giúp sinh viên tham khảo, ôn luyện và phục vụ nhu cầu học tập của mình cụ thể là có định hướng ôn tập, nắm vững kiến thức môn học và làm bài tốt trong những bài kiểm tra, bài tiểu luận, bài tập kết thúc học phần, từ đó học tập tốt và có kết quả cao cũng như có thể vận dụng tốt những kiến thức mình đã học vào thực tiễn cuộc sống. Mời bạn đọc đón xem!
Môn: Thiết bị ngoại vi và ghép nổi
Trường: Học viện Công Nghệ Bưu Chính Viễn Thông
Thông tin:
Tác giả:
Preview text:
lOMoARcPSD| 10435767
CHƯƠNG 4 – GIỚI THIỆU BUS CHUẨN CHO GHÉP NỐI MỞ RỘNG LT6
4.1 KHÁI NIỆM VỀ BUS MỞ RỘNG
Bus mở rộng là hệ thống ường tín hiệu cho phép ghép nối nhiều thiết bị vào một hệ
thống vi xử lý, cho phép việc mở rộng hệ thống iều khiển. Các bus mở rộng có thể ược
thực hiện dưới nhiều dạng khác nhau như: Các bo mạch sẵn sàng cho việc lắp thêm các
linh kiện mở rộng, các cổng kết nối, các khe cắm (slot). Đặc tính quan trọng của các bus
là cho phép nhiều thiết bị cùng kết nối tới hệ thống trên cùng một bus, và tại một thời
iểm chỉ có một thiết bị truyền dữ liệu với CPU trên bus. Để thực hiện ược nguyên tắc
kết nối trên, trên bus thường cung cấp ầy ủ các tín hiệu ịa chỉ, dữ liệu, iều khiển và cả
nguồn cung cấp. Tuy nhiên, ối với các thiết bị giao tiếp yêu cầu cung cấp công suất lớn
cần cung cấp nguồn riêng từ bên ngoài. Các tín hiệu iều khiển trên BUS có thể là các tín
hiệu iều khiển chuẩn cung cấp tứ CPU, có thể là các tín hiệu thông báo trạng thái thiết
bị, các tín hiệu bắt tay truyền dữ liệu, ….
Bus mở rộng có thể ở dạng song song, khi ó các bit dữ liệu, ịa chỉ và các tín hiệu iều
khiển sẽ có các ường dây dẫn iện riêng, trên các bo mạch giao tiếp cần thiết kế các bộ
giải mã ịa chỉ sao cho thiết bị giao tiếp có ịa một ịa chỉ riêng, không trùng với ịa chỉ của
các thiết bị trong hệ thống và các thiết bị mở rộng khác. Bus mở rộng cũng có thể truyền
dữ liệu dưới dạng nối tiếp, khi ó các giá trị ịa chỉ, dữ liệu và iều khiển ều ược sắp vào
khung truyền dữ liệu trên bus. Sau âu sẽ lần lượt giới thiệu một số loại bus mở rộng
thông dụng trong các hệ thống vi xử lý và máy tính 4.2 BUS ISA
Bus ISA lần ầu tiên xuất hiện cùng với PC XT ược thiết kế ở dạng 8 bit, sử dụng tần
số 4,77MHz (bằng với xung bộ xử lý). Sau nhiều năm cải tiến, chuẩn ược chính thức
công nhận và mang tên Industry Standard Architecture (ISA) vào năm
1982. Trong hệ thống IBM PC/AT 80286, bus ISA ược nâng lên 16 bit. Vào lúc này, tốc
ộ bus hệ thống mới chỉ ạt 6 MHz; sau ó không lâu thì ạt 8 MHz.
Hình 4.1: Cấu tạo bus ISA lOMoARcPSD| 10435767
Bus ISA dùng giao tiếp 16 bit, xung 8MHz (mức xung chuẩn của bộ xử lý) và ạt tốc
ộ truyền dữ liệu trên lý thuyết là 16MBps. Tuy nhiên, tốc ộ thực tế bị giảm i một nửa
(còn 8MBps) vì cần dành 1 ường bus cho ịa chỉ và một ường bus khác cho dữ liệu 16
bit. Thiết bị dùng khe mở rộng ISA phát triển cho ến cuối thập niên 1990 bởi vì khả năng
áp ứng của thiết bị ngoại vi lúc này mới chỉ ở mức 5MBps. GND /I/O CH CK B1 A1 RESET DRV D7 + 5V D6 IRQ2 D5 -5V D4 DRQ2 D3 -12V D2 OWS D1 +12V D0 GND I/O CH RDY B10 A10 /SMEMW AEN /SMEMR A19 /IOW A18 /IOR A17 /DACK3 A16 /DRQ3 A15 /DACK1 A14 DRQ1 A13 /DEF A12 CLK A11 B20 A20 IRQ7 A10 IRQ6 A9 IRQ5 A8 IRQ4 A7 IRQ3 A6 /DACK2 A5 T/C A4 ALE A3 +5V A2 OSC A1 B31 A31 GND A0 lOMoARcPSD| 10435767
Hình 4.2: Vị trí các tín hiệu trên bus ISA
Trên các máy tính cá nhân, khi bộ xử lý trở nên nhanh hơn và cần băng thông dữ liệu
lớn hơn thì chuẩn ISA không áp ứng nổi. Cuối thập niên 90, hầu hết card ISA còn lại ều
chỉ mang tính ại diện cho công nghệ 8 bit. Các thiết bị dùng ường truyền 16 bit như bộ
iều khiển ĩa cứng, bộ xử lý ồ họa và card mạng bắt ầu cảm thấy "chật chội" trong giới
hạn băng thông của ISA. Cái chết của ISA ã ược chính thức văn bản hóa trong tài liệu
“PC99 System Design Guide” do Intel và Microsoft biên soạn vào năm 1999. Có khá
nhiều lĩnh vực cần ến tốc ộ nhanh hơn ISA như hiển thị ồ họa ộ phân giải cao, chiếu
phim và hoạt ảnh; ngoài ra, tốc ộ ĩa cứng và giao tiếp mạng cũng ã vượt qua mức áp ứng của ISA.
Đối với các thống vi xử lý iều khiển khác, chuẩn ISA vẫn có thể ảm nhận ược các
chức năng giao tiếp với các hệ thống thiết bị yêu cầu tốc ộ chậm và chuẩn này vẫn còn
ược sử dụng khá phổ biến trong công nghiệp.
Bus ISA thực hiện việc ệm các tín hiệu ịa chỉ, dữ liệu, và iều khiển trong hệ thống
trung tâm ưa ra khe cắm ể có thể thực hiện các bo mạch giao tiếp bên ngoài. Bus ISA
chuẩn ược thực hiện theo cấu trúc của bộ vi xử lý 8088 nên có bus dữ liệu 8 bit và bus
ịa chỉ 20 bit. Rãnh cắm ISA chuẩn có 62 chân, cho phép thực hiện các bo mạch mở rộng
hai mặt. Cấu tạo khe cắm bus ISA chuẩn 8 bit như trên hình 4.1, vị trí các tín hiệu trên
bus ược mô tả trên hình 4.2, và chức năng của các tín hiệu mô tả trong bảng 4.1.
Bảng 4.1: Mô tả chức năng các tín hiệu trên bus ISA Tín hiệu Tên Mô tả A0-A19 Bus ịa chỉ
Hai chục (20) bit thấp hơn của bus iạ chỉ hệ thống, (tín hiệu hai chiều) ôi khi hý hiệu là SA0 -SA19 AEN Cho phép
iạ chỉ Chân Address enable cho phép dùng 1 card mở
(Address enable - tín rộng ể cấm khối logic giải mã ịa chỉ I/O cục bộ của hiệu ra)
nó. Nó kích hoạt ở mức cao khi hoạt ộng, tín hiệu
này chỉ cho thấy hoặc quá trình truy nhập trực tiếp
bộ nhớ (DMA) hoặc quá trình làm tươi lại ang ược iều khiển trên các bus. D0- D7 Bus dữ liệu
Tám bit dữ liệu cho phép truyền giữa bus chủ và (tín hiệu hai chiều) card mở rộng lOMoARcPSD| 10435767 CLK Tín hiệu giữ nhịp
Thực hiện giữ nhịp bus ược ặt bằng 4,772727MHz (tín hiệu ra)
ối với bus PC và 8.33MHz ối với bus ISA, ảm bảo
việc ồng bộ hoá ối vơi quá trình truyền dữ liệu (tín
hiệu này ược bắt nguồn từ xung ồng hồ OSC). ALE Chốt iạ chỉ
Chốt ịa chỉ bus chỉ cho bus mở rộng thấy là tín (Address latch, tín
hiệu iều khiển bus iạ chỉ và chu trình bus là hợp hiệu ra)
lệ. Như vậy nó chỉ cho thấy chỗ bắt ầu của một
chu trình bus trên bus mở rộng. IOR Đọc vào ra I/O read
Tín hiệu lệnh ọc vào/ra chỉ ra cho thấy một chu (tín hiệu hai chiều)
trình ọc I/O ang ược tiến hành IOW Ghi vào/ra
Tín hiệu lệnh ghi vào/ra chỉ cho thấy một chu trình
bus ghi I/O ang ược tiến hành (I/O write, tín hiệu hai chiều)
SMEMR Đọc bộ nhớ hệ thống Tín hiệu ọc bộ nhớ hệ thống báo hiệu một chu trình (System
memory bus ọc bộ nhớ hệ thống trong phạm vi bus ịa chỉ read, tín hiệu ra) 20 bit ( 0h – FFFFFh)
SMEMW Ghi vào bộ nhớ hệ Tín hiệu ghi vào bộ nhớ vào hệ thống chỉ cho thấy thống
(System một chu trình bus ghi vào bộ nhớ hệ thống trong
phạm vi ịa chỉ 20 bit (0h ến FFFFFh) memory write, tín hiệu ra) IO CH Bus read ,bus sẵn RDY sàng (tín hiệu vào)
Tín hiệu bus sẵn sàng cho phép một card mở rộng
kéo dài thời lượng cần có cho 1 chu trình bus OWS
Trạng thái chờ bằng Trạng thái chờ ợi zero (hay không có trạng thái
0 (Zero wait states - tín chờ) cho phép 1 card mở rộng rút bớt thời lượng hiệu vào)
cần có cho một chu trình bus. DRQ1-
DMA request, yêu Tín hiệu yêu cầu truy nhập trực tiếp chỉ cho thấy DRQ3
cầu DMA (tín hiệu một thiết bị ghép nối ang ề nghị truy nhập bộ nhớ vào) trực tiếp DACK1- Xác nhận
DMA Xác nhận DMA chỉ cho thiết bị ghép nối ang yêu DACK3
cầu biêt DMA sử lý yêu cầu của nó (DMA acknowledge, tín hiệu ra) lOMoARcPSD| 10435767 REF Refresh (tín hiệu ra)
Tín hiệu làm tươi lại ược sử dụng ể báo tin cho bản
mạch biết nó sẽ làm 1 chu trình làm tươi lại. T/C Đếm ầu
cuối Chân này cho thấy truy nhập DMA ã tiếp hành
(Terminal count - tín xong và tất cả các byte ã ược truyền hiệu vào) IRQ2-
Interrupt request. Yêu Tín hiệu yêu cầu ngắt, nó chỉ cho thấy là thiết bị IRQ7 cầu ngắt
ghép nối ang ề nghị bộ vi xử lý phục vụ OSC Bộ dao
Tín hiệu từ bộ dao ộng tinh thể cung cấp cho ộng tinh
các ứng dụng mở rộng. Tốc ộ ồng hồ này bằng 3 lần tốc ộ SLK thể (crystal oscillator - tín hiệu ra)
RESET Đặt lại trạng thái ban Đặt lại về trạng thái ban ầu cho bản mạch mở ầu (Reset drive, tín DRV hiệu ra) rộng ã cắm vào bus ISA I/O
Kiểm tra vào/ra (I/O Tín hiệu kiểm tra vào ra cho thấy bộ nhớ của thiết
CHCHK Check - tín hiệu vào) bị ghép nối ã bị phát hiện có 1 lỗi chẵn lẻ
Nguồn nuôi (tín hiệu Cung cấp iện áp nguồn cho card mở rộng. 5V ra) 12V và GND
Hình 4.3: Cấu tạo bus ISA 16 bit lOMoARcPSD| 10435767 D1 C1 /MEM CS16 /SBHE /I/O CS16 LA23 IRQ10 LA22 IRQ11 LA21 IRQ12 LA20 IRQ13 LA19 IRQ14 LA18 /DACK0 LA17 D10 C10 DRQ0 /MEMR /DACK5 /MEMW DRQ5 SD08 /DACK6 SD09 DRQ6 SD10 /DACK7 SD11 DRQ7 SD12 D18 C18 Vcc SD13 /MASTER SD14 GND SD15
Hình 4.4. Sơ ồ rãnh cắm thứ hai của Bus ISA Bus ISA 16 bit ược cấu trúc theo tiêu
chuẩn công nghiệp (ISA - Industry Standard Architecture). Ưu iểm của bus này là có
thể cho phép cùng một lúc xử lý với 16 bit dữ liệu. Việc mở rộng thêm một rãnh cắm
bổ sung cho phép có ược tính tương thích với bus PC, rãnh cắm thứ hai thẳng hàng với
ISA chuẩn 8 bit trên ó chứa 8 bit dữ liệu và 4 ường dẫn ịa chỉ (hình 4.3). Ngoài ra bus
ISA còn có bus iạ chỉ 24 bit cho phép nhiều nhất là 16 Mbyte bộ nhớ có thể ịnh ịa chỉ ược và giống như bus
ISA chuẩn, nó sử dụng tốc ộ ồng hồ cố ịnh bằng 8MHz. Trong các máy tính có tần số
giữ nhịp nhanh hơn 8MHz , bus ISA chạy chậm hơn những phần còn lại của máy tính.
Các tín hiệu thêm trong bus ISA 16 bit mô tả trên hình 4.4, và chức năng của chúng cho trong bảng 4.2.
Bảng 4.2: Các tín hiệu thuộc rảnh cắm thứ 2 của bus ISA 16 bit Tín hiệu Tên Mô tả lOMoARcPSD| 10435767 LA17-LA23
Bus ịa chỉ (tín hiệu hai
Bít cao của ịa chỉ của bus ịa chỉ hệ thống. chiều) SBHE
Cho phép byte cao của hệ Chân này cho thấy dữ liệu ược chờ ợi ở 8
thống (System byte high bit phía trên của bus dữ liệu (D8-D15) enable) SD08-SD15
Bus dữ liệu (tín hiệu hai
Bít trên của bus dữ liệu cung cấp nửa thứ chiều)
hai của bus dữ liệu 16bit MEMR
Đọc bộ nhớ (Memory read Lệnh ọc bộ nhớ cho thấy một quá trình ọc – Ngõ ra)
khi ịa chỉ của ô nhớ ở trong phạm vi
100000h –FFFFFFh (16 M byte) của bộ nhớ MEMW Ghi vào bộ nhớ (ngõ ra)
Lệnh ghi vào bộ nhớ, cho ta thấy 1 quá
trình ghi bộ nhớ ịa chỉ bộ nhớ ở trong phạm vi 100000h-FFFFFFh. MEMCS16
Bộ nhớ 16 bit dùng cho Cho biết thiết bị ghép nối ã ược ịnh ịa chỉ là thiết bị ghép nối.
thiết bị có bộ nhớ 16 bit IO CS 16
Thiết bị ghép nối vào ra 16 Chỉ cho biết thiết bị ghép nối ịnh ịa chỉ là thiết bị ghép nối và bit (16 bit I/O slave) o ra 16 bit Các
ường dẫn yêu cầu Các ường dẫn yêu cầu truy nhập trực tiếp DRQ0,
DMA (DMA request lines) bộ nhớ chỉ cho thấy là thiết bị ghép nối ang DRQ5DRQ7 yêu cầu truy nhập DMA.
Đường xác nhận truy nhập Đường này bổ sung, cho thiết bị ghép nối
DACK0, trực tiếp bộ nhớ (DMA)
ang yêu cầu biết là DMAC ang xử lý yêu DACK5DACK7 cầu của nó. MASTER
Bus sẵn sang (bus ready, Tín hiệu này cho phép bộ vi xử lý khác iều ngõ vào)
khiển: ường dẫn iều khiển ,ường dẫn dữ
liệu và ường dẫn ịa chỉ của hệ thống.
Yêu cầu ngắt (Iterrrupt Tín hiệu yêu cầu ngắt bổ sung cho thấy card
IRQ10IRQ12; request, ngõ vào)
mở rộng ang yêu cầu bộ vi xử lý phục vụ IRQ14 –
(chú ý ường IRQ13 thông thường ĩa cứng sử IRQ15
dụng và ược bao gồm trong bus IDE) Vcc Điện áp nguồn +5V Cung cấp iện áp nguồn U28 lOMoARcPSD| 10435767 74HC688
Hình 4.5: Mạch kết nối bộ biến ổ ADC trên bus ISA
Hình 4.5 là một ví dụ iển hình cho kỹ thuật ghép nối ở BUS ISA. Vi mạch 74HC688
có chức năng “so sánh” ịa chỉ ược ưa vào từ các ường ịa chỉ của BUS ISA và ịa chỉ ược
ặt trước ở các chân Q0 ến Q7 của vi mạch này. Nếu “=” sẽ có một mức logic “0” ở ầu
ra P=Q. Mức logic này sẽ dùng ể iều khiển bộ ệm BUS (74HC245) và bộ giải mã ịa
(74HC138). Vi mạch ADC0804 ược ghép vào BUS ISA thông qua 74HC245 và ược lựa
chọn bằng một ầu ra của 74HC138. Cấu tạo iển hình của một card ISA như trên hình 4.6. lOMoARcPSD| 10435767
Hình 4.6: Card ISA 8 bit và 16 bit 4.3
PCI (Peripheral Component Interconnect)
Bus PCI ược Intel phát triển ể giao tiếp với các thiết bị ngoại vi tốc ộ cao vào những
năm 1992, và hiện ang dần thay thế các bus cổ iển ISA và EISA. Sự phát triển của bus
PCI ã thay ổi qua nhiều phiên bản, có thể kể ến như sau: •
PCI phiên bản 1.0: ra ời vào năm 1992 bao gồm hai loại: loại chuẩn (32 bit) và loại ặc biệt (64 bit) •
PCI phiên bản 2.0: ra ời năm 1993 •
PCI phiên bản 2.1: ra ời năm 1995 •
PCI phiên bản 2.2: ra ời tháng 1 năm 1999 •
PCI-X 1.0 ra ời tháng 9 năm 1999 •
mini-PCI ra ời tháng 11 năm 1999 •
PCI phiên bản 2.3 ra ời tháng 3 năm 2002 •
PCI-X phiên bản 2.0 ra ời tháng 7 năm 2002 •
PCI Express phiên bản 1.0 ra ời tháng 7 năm 2002 và ít lâu sau là 1.1 •
PCI Express phiên bản 2.0 ra ời 15 tháng 1 năm 2007 •
PCI Express phiên bản 3.0 sẽ ra mắt khoảng năm 2010.
Bus PCI tốc ộ 33,33 Mhz, ộ rộng 32 bit là bus PCI thông dụng nhất cho ến thời iểm
năm 2007 dùng cho các bo mạch mở rộng (bo mạch âm thanh, bo mạch mạng, bo mạch
modem gắn trong...Tuy nhiên có một số bus PCI khác như sau: •
PCI 66 Mhz: Độ rộng bus: 32 bit; Tốc ộ bus: 66 Mhz; Dữ liệu chuyển trong một
xung nhịp: 1; Băng thông: 266 Mbps •
PCI 64 bit: Độ rộng bus: 64 bit; Tốc ộ bus: 33 Mhz; Dữ liệu chuyển trong một xung
nhịp: 1; Băng thông: 266 Mbps •
PCI 64 Mhz/66 bit: Độ rộng bus: 64 bit; Tốc ộ bus: 66 Mhz; Dữ liệu chuyển trong
một xung nhịp: 1; Băng thông: 533 Mbps •
PCI-X 64: Độ rộng bus: 64 bit; Tốc ộ bus: 66 Mhz; Dữ liệu chuyển trong một xung
nhịp: 1; Băng thông: 533 Mbps lOMoARcPSD| 10435767 •
PCI-X 133: Độ rộng bus: 64 bit; Tốc ộ bus: 133 Mhz; Dữ liệu chuyển trong một xung
nhịp: 1; Băng thông: 1066 Mbps •
PCI-X 266: Độ rộng bus: 64 bit; Tốc ộ bus: 133 Mhz; Dữ liệu chuyển trong một xung
nhịp: 2; Băng thông: 2132 Mbps •
PCI-X 533: Độ rộng bus: 64 bit; Tốc ộ bus: 133 Mhz; Dữ liệu chuyển trong một xung
nhịp: 4; Băng thông: 4266 Mbps
Những bus PCI 66 Mhz hoặc 64 bit theo liệt kê trên không thông dụng trong các máy
tính cá nhân, chúng thường chỉ xuất hiện trên các máy chủ hoặc máy trạm. Hình dáng
các khe cắm PCI và PCI X như trên hình 4.7. Bảng 4.3 mô tả chức năng các tín hiệu trên
bus PCI và bảng 4.4 mô tả vị trí của chúng trên rãnh cắm.
Bảng 4.3: Chức năng các tín hiệu trên bus PCI 32 bit. CLK Xung nhịp 33MHz, 66MHz … RST# Tín hiệu reset ADO ÷ AD31
Tuyến ịa chỉ khi FRAME# ở mức thấp C/BEO ÷ 3# BUS
Cho biết loại của truyền dữ liệu ( ọc/viết bộ nhớ, ngoại vi…) (Command BytesEnables) PAR
Kiểm tra parity của ADO÷31 và C/BEO÷3 IRDY# (Initiator Ready) TRDY# (Target Ready)
Hai dữ liệu bắt tay giữa bộ phát và bộ nhận dữ liệu trên tuyến PCI STOP#
Tín hiệu target báo cho initiator ể chấm dứt giao dịch,
initiator là chủ của tuyến (bus master) còn target là bus slave. CLK Xung nhịp 33MHz, 66MHz … RST# Tín hiệu reset ADO ÷ AD31
Tuyến ịa chỉ khi FRAME# ở mức thấp C/BEO ÷ 3# BUS
Cho biết loại của truyền dữ liệu ( ọc/viết bộ nhớ, ngoại vi…) (Command BytesEnables) PAR
Kiểm tra parity của ADO÷31 và C/BEO÷3 IRDY# (Initiator Ready) TRDY# (Target Ready)
Hai dữ liệu bắt tay giữa bộ phát và bộ nhận dữ liệu trên tuyến PCI lOMoARcPSD| 10435767 STOP#
Tín hiệu target báo cho initiator ể chấm dứt giao dịch,
initiator là chủ của tuyến (bus master) còn target là bus slave.
Việc truyền dữ liệu do initiator bắt ầu thông qua C/BE và IRDY còn target trả lời thông qua TRDY# và STOP# LOCK#
Tín hiệu initiator báo dành riêng một số ịa chỉ của target. IDSEL (Initialigation Tín hiệu chọn chip Devia Select) DEVSEL# (Device
Của nó trên tuyến PCI do target iều khiển khi nó thấy ịa
chỉ của nó trên tuyến PCI Select): REQ#
Yêu cầu dùng bus (request) GNT# Cho biết yêu cầu REQ#
Đã ược chấp nhận (grant) PERR# (Parity Error) SERR# (System Error) Sai hệ thống INTA#, INTB#, INIC#, Các tín hiệu ngắt INID# SBO# SDONE(Snoop Dùng cho card memory Backoff)(Snoop done) PRSNT 1 ÷ 2#
Cho biết có board cắm vào slot và công suất tiêu thụ của board ó CLKRUN# (Clock
Cho phép iều khiển xung nhịp CLK Running)
MGGEN (66 MHz enable) Cho biết xung nhịp 33 MHz hay 66 MHz AD 32 ÷ 63
32 ường ịa chỉ và dữ liệu cao trong PCI 64 bit. C/BE 4 ÷ 7#
Dùng khi truyền 64 bit kết hợp với REQ 64# và ACK 64#, PAR 64
REQ 64# (Request 64 bit transfer)
ACK 64# (Acknowledge 64 bit transfer) lOMoARcPSD| 10435767 TCKTDITDOTMSTRST#(Test Các tín hiệu thử clock)(Test data input)(Test
output)(Test mode Select)(Test Reset)
Bảng 4.4: Vị trí các tín hiệu trên bus PCI 1 -12V TRST# 1 -12V TRUST 2 TCK +12V 2 TCK +12V 3 Ground TMS 3 Ground TMS 4 TDO TDI 4 TDO TDI 5 +5V +5V 5 +5V +5V 6 +5V INTA# 6 +5V INTA# 7 INTB# INTC# 7 INTB# INTC# 8 INTD# +5V 8 INTD# +5V 9 PRSNT1# Reserved 9 PRSNT1# Reserved 10 Reserved +5V (I/O) 10 Reserved +3.3V (I/O) 11 PRSNT2# Reserved 11 PRSNT2# Reserved 12 Ground Ground 12 Connector Key 3.3V key 13 Ground Ground 13 Connector Key 3.3V key 14 Reserved Reserved 14 Reserved Reserved 15 Ground RST# 15 Ground RST# 16 CLK +5V (I/O) 16 CLK 17 Ground GNT# 17 Ground +3.3V (I/O) 18 REQ# Ground 18 REQ# Ground 19 +5V (I/O) Reserved 19 +3.3V (I/O) Reserved 20 AD[31] AD[30] 20 AD[31] AD[30] 21 AD[29] +3.3V 21 AD[29] +3.3V 22 Ground AD[28] 22 Ground AD[28] lOMoARcPSD| 10435767 23 AD[27] AD[26] 23 AD[27] AD[26] 24 AD[25] Ground 24 AD[25] Ground 25 +3.3V AD[24] 25 +3.3V AD[24] 26 C/BE[3]# IDSEL 26 C/BE[3]# IDSEL 27 AD[23] +3.3V 27 AD[23] +3.3V 28 Ground AD[22] 28 Ground AD[22] 29 AD[21] AD[20] 29 AD[21] AD[20] 30 AD[19] Ground 30 AD[19] Ground 31 AD[18] +3.3V 31 AD[18] +3.3V 32 AD[17] AD[16] 32 AD[17] AD[16] 33 C/B +3.3V 33 C/BE[2]# +3.3V 34 Ground FRAME# 34 Ground FRAME# 35 IRDY# Ground 35 IRDY# Ground 36 +3.3 TRDY# 36 +3.3V TRDY# 37 DESVEL# Ground 37 DESVEL# Ground 38 Ground STOP# 38 Ground STOP# 39 LOCK# 3.3V 39 LOCK# 3.3V 40 PER SDONE 40 PERR# SDONE 41 +3.3 SBO# 41 +3.3V SBO# 42 SER Ground 42 SERR# Ground 43 +3.3 PAR 43 +3.3V PAR 44 C/BE[1]# AD[15] 44 C/BE[1]# AD[15] 45 AD[14] +3.3V 45 AD[14] +3.3V 46 Ground AD[13] 46 Ground AD[13] 47 AD[12] AD[11] 47 AD[12] AD[11] 48 AD[10] Ground 48 AD[10] Ground 49 Ground AD[09] 49 M66EN AD[09] 50 Connector Key 50 Ground Ground 5V key lOMoARcPSD| 10435767 51 Connector Key 51 Ground Ground 5V key 52 AD[08] C/BE[0]# 52 AD[08] C/BE[0]# 53 AD[07] +3.3V 53 AD[07] +3.3V 54 +3.3 V AD[06] 54 +3.3V AD[06] 55 AD[05] AD[04] 55 AD[05] AD[04] 56 AD[03] Ground 56 AD[03] Ground 57 Ground AD[02] 57 Ground AD[02] 58 AD[01] AD[00] 58 AD[01] AD[00] 59 +5V (I/O) +5V (I/O) 59 3.3V (I/O) 3.3V (I/O) 60 ACK 64# REQ 64# 60 ACK 64# REQ 64# 61 +5V +5V 61 +5V +5V 62 +5V +5V 62 +5V +5V 32 bit end Connector key Connector key 64 bit spacer Connector key Connector key 64 bit spacer (a) Rãnh cắm PCI X (b) Rãnh cắm PCI
Hình 4.7 : Cấu tạo các r ãnh cắm PCI
Do sự phức tạp của tuyến PCI, việc tự thiết kế và chế tạo card PCI tương ối khó
khăn, òi hỏi sử dụng các linh kiện FPGA có mật ộ tích hợp cao, mạch in nhiều lớp và
công nghệ dán, ngoài ra việc lập trình cho card này cũng không phải dễ dàng mà phải
thông qua các hàm Windows API. Việc thiết kế sẽ trở nên dễ dàng hơn nếu dùng các bộ
PCI development kit có sẵn. Các bộ kit này giúp tạo các ứng dụng PCI khác nhau cùng
với phần mềm kèm theo. Cấu tạo một card giao tiếp PCI như vậy như trên hình 4.8.
Ngoài ra, do chuẩn PCI ược sử dụng rộng rãi trong kỹ thuật, nên các hãng khác nhau
chế tạo khá nhiều các card PCI với các tính năng khác nhau. Các card này có thể là các
card giao tiếp số, tương tự a dụng hoặc các card chuyên dụng cho các ứng dụng khác
nhau trong thực tế. Bảng 4.5 giới thiệu một số card giao tiếp qua bus PCI của hãng Advantech. lOMoARcPSD| 10435767
Bảng 4.5: Các card giao tiếp PCI của hãng Advantech PCL- Adapter, analog I/O channels PCL- Multilap Analog and 10501
to DB-37 connector – vào ra 812PG Digital I/O Card - Vào ra tương tự số và tương tự. PCL- Digital I/O port extender - PCL- 32-channel S.E. Isolated 10502
Cổng vào ra số mở rộng 813B A/D Card – ADC cách ly PCL- Adapter, dual flat cables to
PCL-816 16-bit High-resolution 10503
DB-37 connector – Giao tiếp DAC Card – DAC 16 bit DB37 cáp dẹp PCL- 330 kS/s, 12-bit High-Speed PCL-816- 2-channel D/A Module 1800 Multifunction Card DA-1 for PCL-816 – Hai kênh DAC - Card a năng tốc ộ cao PCL- 8-channel 25 kHz PCL- 16-channel 100 kHz 711B Multifunction DAS Card 818H Multifunction DAC Card PCL- 8-channel 25 kHz PCL- 16-channel 100 kHz 711S Multifunction DAC Card 818HD Multifunction DAS Card
PCL-720 Digital I/O and Counter Card PCL- 16-channel 100 kHz 818HG High-gain DAS Card
PCL-722 144-bit Digital I/O Card PCL- 16-channel 40 kHz 818L Multifunction DAS Card
PCL-724 24-bit Digital I/O Card PCL- 16-channel 40 kHz 818LS Multifunction DAS Card
PCL-725 Relay Actuator and Isolated PCL-832 3-Axis Servo Motor D/I Card Control Card
PCL-726 6-channel D/A Output Card PCL-833 3-Axis Quadrature Encoder and Counter Card lOMoARcPSD| 10435767
PCL-727 12-channel D/A Output Card PCL-836 6-channel Counter/Timer Card
PCL-728 Isolated 2-channel D/A Output PCL-839 3-axis Stepping Motor Card Control Card
PCL-730 32-channel Isolated Digital PCL-841 Dual-port Isolated I/O Card CANbus Interface Card
Hình 4.8 : Card phát triển ứng dụng giao tiếp trên bus PCI
Hình 4.9 : Card PCI cung cấp các tín hiệu cho các thiết bị bên ngoài lOMoARcPSD| 10435767 4.4 USB
USB (Universal Serial Bus) là một chuẩn kết nối tuần tự trong máy tính. USB sử
dụng ể kết nối các thiết bị ngoại vi với máy tính, chúng thường ược thiết kế dưới dạng
các ầu cắm cho các thiết bị tuân theo chuẩn cắm-là-chạy (plug-and-play) mà với tính
năng gắn nóng (hot swapping) thiết bị (cắm và ngắt các thiết bị không cần phải khởi ộng lại hệ thống).
USB là một giao thức truyền dữ liệu tuần tự giữa máy vi tính (hay chủ USB) với các
thiết bị ngoại vi. Máy vi tính ược coi như chủ của hệ thống bus. Nguyên tắc kết nối này
hoàn toàn tương tự cách trao ổi thông tin trong mạng máy tính. Dữ liệu sẽ ược truyền trên USB theo hai chế ộ:
- Chế ộ tốc ộ cao (full-speed mode) với tốc ộ 12 Mbs.
- Chế ộ tốc ộ chậm (low-speed mode) với tốc ộ 1,5 Mbs.
Thiết bị ngoại vi làm việc ở vị trí tớ ược nối trực tiếp với máy tính chủ hay gián tiếp
qua bộ tiếp nối hub. Hub là bộ tiếp nối ược xếp ặt theo cấu trúc hình sao và mỗi hub ều
nằm ở trung tâm của hình sao ó. Hình 4.10 cho thấy ví dụ cách bố trí một mạng USB.
Những ưu iểm lớn của USB là:
- Ghép nối ơn giản do ổ cắm ược chuẩn hóa,
- Linh hoạt trong sử dụng,
- Triển khai ơn giản, và rẻ tiền
Một ưu iểm nữa của USB là tính năng cắm-là-chạy “nóng” (hot plug-and-play).
Người sử dụng có thể cắm thêm hoặc tháo ra một thiết bị ngoại vi không cần tắt máy
chủ hay cài ặt lại hệ thống. Thiết bị ngoại vi cũng không cần bản mạch phụ trên máy chủ
vì chức năng này ược phần mềm hệ thống ảm nhiệm. Khi phát hiện ra một thiết bị ngoại
vi mới, hệ iều hành sẽ tự ộng cài ặt các phần mềm iều khiển thiết bị. Với 7 bit ịa chỉ,
ngoài máy chủ USB có thể quản lý tối a 127 thiết bị ngoại vi. Cấu trúc tầng của USB
ược miêu tả trong hình 4.11. lOMoARcPSD| 10435767
Hình 4.10: Sơ ồ cấu trúc ghép nối các thiết bị ngoại vi dùng USB
Hình 4.11: Sơ ồ cấu trúc ghép nối tầng của các thiết bị ngoại vi dùng USB
Chủ USB thường là một máy vi tính cá nhân với hệ iều hành có khả năng quản lý
USB. Trong máy tính, vi mạch PCI-ChipSet ảm nhiệm về phần cứng iều khiển mạng
USB. Cấu trúc phần mềm iều khiển USB ược chia thành từng phần như sau:
- Phần iều khiển chủ ể kết nối phần cứng USB với phần còn lại của cấu trúc phần mềm.
- Phần mềm có tác dụng như một lớp (layer) giữa phần iều khiển chủ và phần mềm iều khiển tớ,
- Phầm mềm tớ cho phép trao ổi với thiết bị ngoại vi giao tiếp qua cổng USB.
Một mạng USB chỉ ược phép có một chủ USB. Máy tính sử dụng phần cứng và phần
mềm USB ể làm việc như một chủ bus. Máy tính nhận biết việc cắm thêm hay rút ra một
thiết bị ngoại vi ể khởi ộng quá trình ánh số (enumeration) và các quá trình truyền dữ
liệu khác trong bus. Máy tính cũng có trách nhiệm kiểm tra trạng thái, thống kê hoạt ộng
và kiểm tra ghép nối iện giữa bộ iều khiển chủ và các thiết bị USB ngoại vi.
Cáp USB bao gồm 4 dây. Hai dây (D+, D-) ược sử dụng ể truyền tải dữ liệu theo
phương pháp vi sai. Hai dây còn lại là dây nguồn (Vbus) và dây tiếp ất (GND). Cáp rẻ
tiền và không ược chắn bảo vệ thường ược dùng cho thiết bị chậm (1,5Mbs). Thiết bị
nhanh (12Mbs) òi hỏi cáp ược chắn bảo vệ. Phích cắm của cáp ược chia ra làm hai loại:
loại A nối với máy tính, loại B nối với thiết bị ngoại vi. Để tránh nhầm lẫn, hai phích
cắm này cấu tạo cơ học khác nhau và không ổi chỗ cho nhau ược. lOMoARcPSD| 10435767
Hình 4.12: Sơ ồ cấu trúc cáp USB
Ở phía các thiết bị ngoại vi, các ầu (D+, D-) ược bảo vệ bởi iện trở cuối. Thiết bị tốc
ộ nhanh cần có iện trở nối ất cho ầu D+, thiết bị chậm cần iện trở nối nguồn cho ầu D-.
Những iện trở này tạo nên các mức iện thế khác nhau giữa D+ và D-, giúp cho máy chủ
phát hiện ược việc cắm hay rút một thiết bị ra khỏi mạng USB.
Các thiết bị ngoại vi USB có chức năng tớ trong mạng bus, chúng ược chia ra làm hai loại thiết bị USB:
- Hub thường gồm có một bộ iều khiển hub và một bộ lặp lại (repeater). Một hub có
nhiệm vụ chuyển hướng một ổ cắm USB thành nhiều ổ cắm. Ví dụ một hub có thể có
một ổ cắm hướng về máy chủ (ngược) và 4 ổ cắm ra thiết bị (xuôi) dùng ể cắm hub
mới hay các thiết bị chức năng.
- Thiết bị chức năng là các thiết bị ngoại vi của máy vi tính như chuột, bàn phím,
joystick, camera. Để ơn giản hóa việc ghép nối, màn hình và bàn phím còn ược cấy
thêm một hub ể có thể nối tiếp sàn các thiết bị khác. Mọi thiết bị USB ều phải tuân thủ
theo quy ước USB ể máy chủ có thể phát hiện ược chúng.
Nhìn chung, mọi thiết bị USB ều ược thiết kế từ ba thành phần chính:
- Một cơ cấu giao diện tuần tự SIE (serial interface engine), là một vi mạch tích hợp.
Thành phần này chịu trách nhiệm nhận và gửi dữ liệu theo giao thức USB.
- Một tổ hợp giữa phần cứng và firmware chịu trách nhiệm truyền dữ liệu giữa SIE và
iểm cuối của thiết bị qua những giao diện (hay còn gọi là ường ống) thích hợp của chúng.
- Thành phần thứ ba là phần chức năng của thiết bị ngoại vi (chức năng bàn phím, chức năng chuột…)
Điểm cuối là ầu nguồn hay ầu phát của một thiết bị ngoại vi USB, có thể coi chúng
là những thanh ghi dữ liệu có thể ọc ược hoặc ghi lên tùy theo chiều truyền dữ liệu.
Đường ống (pipe) là phần mềm quản lý iểm cuối của thiết bị USB chủ (máy tính). Cũng
có thể hiểu chúng là những kênh phần mềm, ược gọi lên trong phần mềm iều hành USB
và có nhiệm vụ truyền tin ến iểm cuối của thiết bị ngoại vi. Mọi thiết bị trong mạng USB
sẽ cùng chia dải tần qua một giao thức khung truy nhập máy chủ (host-scheduled token-
based protocol). Khi máy chủ ưa ra một khung truy nhập (token) vào mạng USB, thiết
bị tương ứng sẽ phát hiện ra ịa chỉ của nó ược gài trong khung và trả lời lại máy chủ. lOMoARcPSD| 10435767
Máy USB chủ sẽ giữ bus hoạt ộng liên tục bằng cách truyền một gói (packet) khởi
ầu khung SOF (start or frame) trong chu kỳ 1ms. Dải tần của bus sẽ ược chia bởi các
thiết bị USB trong khoảng thời gian 1ms này (1KHz). Nhìn chung, một lần truyền tin USB cần ến 3 gói: - Gói khung (token packet),
- Gói dữ liệu (data packet),
- Và gói bắt tay (handshack packet). 8 bit 7 bit 4 bit 5 bit PID ADDR ENDP CRC5 Khung (token) 8 bit 0-1023 byte 16 bit PID DATA CRC16 Dữ liệu 8 bit PID Bắt tay 8 bit 11 bit 5 bit PID Số khung CRC50 Khởi ầu khung
Hình 4.12: Cấu trúc giao thức USB (PID: loại gói (packet identification); ADDR: ịa chỉ
(address); ENP: iểm cuối (endpoin); CRC: mã kiểm tra quay vòng dư (cyclic
redudancy code); dữ liệu (data)
Mỗi gói ều có một mã 8 bit nhận dạng gói. Một cuộc truyền bắt ầu khi bộ iều khiển
chủ gửi một gói khung (token packet) gồm ịa chỉ thiết bị ADDR, số hiệu iểm cuối ENP,
hướng của cuộc truyền và dạng ống. Thiết bị có ịa chỉ tương ứng sẽ chọn bằng cách giải
mã ịa chỉ của nó từ gói khung. Trường ghi hướng cuộc gọi truyền trong gói khung sẽ
khiến máy chủ yêu cầu thiết bị ngoại vi phát dữ liệu. Thiết bị ngoại vi sẽ trả lời bằng gói
dữ liệu (data packet), nếu không máy chủ sẽ tiếp túc bằng việc truyền dữ liệu. Nói chung,
sau khi nhận ược dữ liệu, nơi nhận (chủ hoặc ngoại vi) sẽ gửi lại một gói bắt tay. Gói
này có thể có ý nghĩa: chấp nhận dữ liệu ACK (acknowledge), không chấp nhận dữ liệu
NACK (non- acknowledge) hay tắc STALL.
Truyền dữ liệu USB là giai oạn nằm giữa phần mềm máy chủ và iểm cuối của một
thiết bị ngoại vi. Thông tin có thể i theo hai chiều hay một chiều. Máy chủ xử lý việc
trao ổi dữ liệu với từng thiết bị ngoại vi một cách ộc lập. USB quản lý bốn loại dữ liệu :
iều khiển, ngắt, ồng bộ cách ly (isochronous) và khối. lOMoARcPSD| 10435767
Truyền iều khiển (control transfer) là truyền hai chiều. Loại truyền này ược sử
dựng ể cài ặt thiết bị ngoại vi. Giao thức truyền iều khiển bao gồm một giai oạn khung,
giai oạn dữ liệu và giai oạn trả lời. Mọi thiết bị ngoại vi USB ều phải xử lý ược loại truyền này.
Truyền ngắt (interrupt transfer) là truyền một chiều. Loại truyền này ược dùng
cho các thiết bị ngoại vi như bàn phím, chuột, và joystick,. Vì chủ USB (máy tính) không
thể bị ngắt nên các ngắt từ thiết bị ngoại vi ược xử lý trong vòng ợi. Chương trình hệ
thống có nhiệm vụ xử lý vòng ợi này. Giao thức truyền ngắt khởi ộng khi máy chủ bắt
ầu bằng một khung IN ( IN token). Thiết bị ngoại vi trả lời bằng một gói NAK nếu
không có ngắt. Nếu có ngắt, thiết bị ngoại vi trả lời bằng một gói dữ liệu. Khi nhận hết
dữ liệu máy chủ sẽ trả lời bằng một gói ACK nếu dữ liệu không có lỗi hoặc không trả
lời nếu có lỗi. Nếu bị nghẽn ở iểm cuối của thiết bị ngoại vi, nó sẽ gửi ến máy chủ gói
STALL và ợi phần mềm hệ thống xử lý .
Truyền ồng bộ cách ly thực hiện truyền một chiều. Hướng cuộc truyền có thể từ
thiết bị ngoại vi ra máy chủ hoặc ngược lại. Vì thế cần hai iểm cuối ở thiết bị ngoại vi
hoặc hai ường ống phần mềm ở phía máy chủ. Giao thức truyền ồng bộ cách ly bắt ầu
bằng một gói IN hoặc OUT từ máy chủ tùy theo hướng truyền và loại iểm cuối. Ví dụ,
trong trong trường hợp gói IN thiết bị ngoại vi truyền dữ liệu về.Ttrường hợp gói OUT
máy chủ tiếp tục bằng cách truyền dữ liệu. Truyền ồng bộ cách ly không dùng gói bắt
tay ể thông báo kết quả truyền. Vì thế thông tin có thể bị thất lạc. Loại truyền này thường
ược dùng cho iện thoại hay loa.
Truyền khối thực hiện truyền hai chiều. Hướng truyền có thể từ iểm cuối về máy
chủ hay ngược lại. Như vậy một thiết bị ngoại vi cần cả hai chiều dữ liệu sẽ cần có hai
iểm cuối. Giao thức truyền khối gồm có hai giai oạn: khung, dữ liệu và bắt tay. Nếu thiết
bị kẹt giữa sẽ không có giai oạn dữ liệu mà chỉ co khung và bắt tay. Dữ liệu sẽ ược
truyền qua ống từ một vùng ệm dữ liệu trong bộ nhớ của chương trình tương ứng một
iểm cuối của thiết bị ngoại vi.
Ngay sau khi một thiết bị ngoại vi ược cấm vào mạng USB, máy chủ sẽ ược báo dựa
vào sự thay ổi diện thế ở các ầu D+, D-. Máy chủ coi ó là một sự kiện thay ổi trạng thái
cổng USB và coi thiết bị ngoại vi như ã có trong bus. Nếu máy chủ ang ở trạng thái nghỉ
(suspend) thì thiết bị ngoại vi sẽ ánh thức nó. Khi máy chủ phát hiện ra thiết bị mới trong
mạng, nó sẽ kiểm tra chính xác cổng thiết bị và cho phép nó. Máy chủ sau ó sẽ truyền
tín hiệu khởi ộng (reset) về thiết bị ngoại vi và ợi ít nhất trong 10 mili giây. Sau 10 mili
giây cổng thiết bị ược coi là sẵn sàng hoạt ộng. Nếu thiết bị ngoại vi ang hoạt ộng trong
thời iểm cắm, nó không thể khởi ộng lại ược. Để giải quyết vấn ề này, bộ vi iều khiển
USB cho phép khởi ộng rời. Đặt iểm này cho phép một mặt bộ vi iều khiển tiếp tục thực
hiện nhiệm vụ của thiết bị ngoại vi, mặt khác phía giao diện USB sẽ tiếp nhận tín hiệu lOMoARcPSD| 10435767
khởi ộng từ máy chủ và trả lời nó. Sau khi khởi ộng , máy chủ có thể cung cấp cho thiết
bị nguồn iện tới 100mA qua hai dây dẫn Vbus và GND. Tại thời iểm này, thiết bị ược
ang ở trạng thái hoạt ộng.
Quá trình ánh số (enumertion process) bao gồm: nhận thông tin từ thiết bị ngoại vi,
gán ịa chỉ cho thiết bị và gán giá trị cấu hình cho thiết bị. Quá trình này trải qua bốn bước:
- Bước 1: máy chủ ưa ra lệnh Get_Descriptor ến ịa chỉ mặc ịnh qua một ường ống iều
khiển. Thiết bị ngoại vi sẽ truyền lại máy chủ thông tin về nó như: hạng thiết bị, hãng
sản xuất, kích thước gói tối a của iểm cuối…
- Bước 2: Máy chủ gán cho thiết bị một ịa chỉ bằng lệnh Set_Address. Thiết bị (hay
vi xử lý 8x930) sẽ nhận ịa chỉ này tại iểm cuối số 0 và lưu trữ vào một thanh ghi tương ứng.
- Bước 3: Máy chủ yêu cầu và ọc cấu hình các thiết bị ngoại vi bằng lệnh
Get_Configuration. Thiết bị sẽ trả lời với số giao diện, số iểm cuối, loại truyền iểm
cuối, kích thước gói, hướng truyền, nhu cầu iện v.v.
- Bước 4: Bước cuối cùng của quá trình liệt kê là việc gán cấu hình cho thiết bị qua lệnh Set_Configuation.
Sau khi quá trình liệt kê ược hoàn thành, thiết bị ngoại vi sẵn sàng thu và phát dữ
liệu trên USB. Trong quá trình liệt kê, thông tin về thiết bị ngoại vi ược truyền về phần
mềm hệ thống. Phần mềm hệ thống sẽ nạp driver thích hợp ể iều khiển chức năng của
thiết bị ngoại vi cho ến khi nó ược ngắt ra khỏi mạng USB.
Ngay sau khi thiết bị ngoại vi ược gở khỏi cổng USB, thay ổi về hiệu iện thế trên D+
và D- sẽ báo cho máy chủ biết về sự kiện này. Máy chủ sẽ cấm cổng tương ứng qua bộ
iều khiển USB. Phần mềm hệ thống USB (là một phần của hệ iều hành) sẽ phát hiện ra
là thiết bị ã ược gỡ và giải phóng tài nguyên phần cứng mà thiết bị ã giành lấy. Nếu thiết
bị dùng iện bus, nguồn iện sẽ bị ngắt ể dành cho các thiết bị khác. Thiết bị ược gỡ sẽ làm
việc tiếp trong chế ộ ứng một mình (stand-alone), chẳng hạn iện thoại USB sẽ tiếp tục
ược sử dụng như một iện thoại thường. Nếu thiết bị ược gỡ là một hub thì mọi thiết bị
ược cắm vào hub này ược coi như gỡ ra khỏi mạng, hệ iều hành sẽ giải phóng tài nguyên của các thiết bị này.
Để iều khiển cổng USB các thiết bị thường sử dụng vi iều khiển USB 8x930 của
Intel. Vi iều khiển USB 8x930 là một vi iều khiển 8 bit với bộ nhớ và cổng ngoại vi cấy
ở bên trong. Ngoài ra vi iều khiển này còn có một bộ iều khiển USB. Vi mạch 8x930 xử
lý ược cả bốn loại truyền dữ liệu: iều khiển, ngắt ồng bộ cách biệt và khối. Truyền dữ
liệu giữa thiết bị và máy chủ ược thực hiện qua một cặp iểm cuối ở bên trên trong bộ iều lOMoARcPSD| 10435767
khiển USB. Mỗi cặp iểm cuối ược trang bị một bộ ệm FIFO phát và một bộ ệm FIFO
thu. Tùy theo từng ứng dụng và loại truyền dữ liệu người sử dụng có thể chọn kích thước FIFO khác nhau. Driver thi ết bị Điều khiển Ph ần mềm hệ iều cấu hình hành, l ập cấu h ình ( Windows 95) Điều khiển cấu Hub hình phụ driver USB driver Universal Host Control Intertace Driver
Hình 4.13: Cấu trúc phần mềm USB trong hệ iều hành Windows
Vi mạch 8x930 dùng cho hub có giao diện USB với thiết bị ngoại vi và khả năng hub
cho phép nối thiết bị ngoại vi hay hub. Dùng 8x930 ta sẽ có 4 cổng xuôi ngoài (ra thiết
bị) và 1 cổng xuôi trong. Hoạt ộng của bộ iều khiển USB ược lập trình qua các thanh ghi
chức năng ặc biệt SFR (special function registers). Giao thức USB ược cấy trong ROM
của 8x930, người lập trình 8x930 không cần ể ý ến vấn ề này. Chương trình iều khiển
8x930 có thể chia ra thành các phần sau:
- Khởi ộng, ghi lên các thanh ghi SRF.
- Liệt kê (trả lời lệnh liệt kê của máy chủ như Get_Descriptor, Set_Adress,
Get_Configuration và Set_Configuration). lOMoARcPSD| 10435767
- Phát gồm ba bước: bước tiền phát (pre-transmit) chuẩn bị dữ liệu, bước truyền dữ liệu
qua phần cứng bộ iều khiển USB và bước hậu phát (post transmit).
- Thu gồm hai bước: bước tiền thu (post receive) và bước nhận dữ liệu qua phần cứng.
- Phần cuối cùng của firmware trong 8x930 là chương trình iều khiển thiết bị ngoại vi.
Chẳng hạn, nếu thiết bị ngoại vi là một bàn phím thì 8x930 sẽ ảm nhiệm công việc của
8048 cổ iển như quét bàn phím các chức năng iều hành bàn phím khác. 4.5 SCSI
Ngoài các chuẩn kết nối thông thường ở các PC như: IDE, SATA, IEEE 1394, USB.
Chuẩn giao tiếp SCSI (Small Computer System Interface, ọc là skuzzy) thực chất là
một loại bus song song tốc ộ cao. Tương tự EIDE, SCSI là bus iều khiển dòng dữ liệu
(I/O) giữa bộ xử lý và thiết bị ngoại vi (thông dụng nhất chính là ĩa cứng). Nhưng khác
EIDE, SCSI nối vào bus PCI thông qua host adapter – thiết bị không giữ chức năng iều
khiển mà chỉ iều phối, liên kết thiết bị SCSI thành chuỗi luận lý. Nếu xét về số lượng
thiết bị quản lý, SCSI thực sự mạnh vì có thể quản lý ến
16 thiết bị (tính cả host adapter); trong khi IDE chỉ quản lý ược 2 ổ ĩa cứng và EIDE
hỗ trợ 4 thiết bị. Hơn nữa, giao tiếp SCSI còn thích hợp với nhiều chủng loại thiết bị: ổ
ĩa cứng, ổ CD-ROM, ổ CD-R, ổ quang, máy in, máy quét, bộ chuyển ĩa, card mạng,…
Thường ta hay nối các thiết bị như ổ ĩa cứng, ổ CD-ROM … vào máy tính qua hai
lọai cổng IDE và SCSI. Trong khi cổng IDE chỉ cho phép nối với hai thiết bị thì SCSI
cho phép nối với 16 thiết bị khác nhau. Trong khi cổng IDE thường gắn liền với
Mainboard thì SCSI lại dùng card riêng biệt gọi là SCSI-Control với một oạn cáp bản
chuyên dùng (có một số Mainbord ã có sẵn SCSI-Control).
Mỗi thiết bị trong chuỗi, kể cả host adapter, ều ược cấp một ịnh danh duy nhất ể phân
biệt. Định danh thiết bị phải không trùng nhau và không cần tương ứng theo thứ tự vật
lý. Hầu hết host adapter SCSI ều có cổng trong và ngoài ể người dùng linh hoạt mở rộng
chuỗi thiết bị. Khác với các chuẩn giao tiếp ĩa cứng khác, bạn phải ặt thiết lập kết thúc
(terminate) tại hai thiết bị ầu và cuối chuỗi nhằm loại bỏ hiện tượng dội tín hiệu và ảm
bảo sự toàn vẹn dữ liệu truyền trên bus. Thiết lập terminate cũng linh hoạt: có thể dùng
jumper vật lý hoặc thiết lập từ phần mềm.
Chuỗi thiết bị SCSI chuẩn hỗ trợ ến 8 thiết bị, sử dụng ID từ 0 ến 7. Card SCSI (host)
thường chọn ID 7 và khởi ộng hệ iều hành từ thiết bị có ID nhỏ nhất. Hầu hết hệ thống
SCSI ặt ID ổ ĩa cứng khởi ộng bằng 0, giá trị ID từ 1 ến 6 ược dành cho những thiết bị
không khởi ộng. Khi hệ thống SCSI khởi ộng, tất cả thiết bị trên bus ược liệt kê kèm với giá trị ID.
Card SCSI chỉ lấy một IRQ từ hệ thống còn các thiết bị gắn vào adapter này thì không
cần. Vì thế, hệ thống cho phép mở rộng khá dễ dàng. Chỉ cần gắn thêm card lOMoARcPSD| 10435767
SCSI thứ hai, bạn ã có thể mở rộng thêm 7 thiết bị nữa. Tuy nhiên, dùng adpater SCSI
ôi (twin-channel) lại hấp dẫn hơn: 15 thiết bị ngoại vi chỉ yêu cầu một IRQ. Đặc biệt,
thiết bị ngoại vi SCSI có thể giao tiếp với máy tính qua cổng song song nhưng tốc ộ thấp.
Hình 4.14: Kết nối trên bus SCSI
Về vật lý SCSI là chuẩn giao tiếp song song cho tới nay ã có một số chuẩn sau:
SCSI-1 có lớp vật lý và giao thức 8 bit cận ồng ộ, không cân bằng, giao tiếp nà sử
dụng ầu nối 50 chân. Cả dữ liệu và lệnh ều ược truyền trên 8 ường dây data với tốc ộ 5
MBps (5Mhz), chuẩn này cho phép kết nối 7 thiết bị, nó sử dụng cáp A với ầu nối 50
dây như mô tả trong bảng 4.6.
SCSI – 2 hay còn gọi là FAST – SCSI là bus sử dụng chế ộ cận ồng bộ cho lệnh và
ồng bộ cho dữ liệu. Nó có thể truyền 8 bit với tốc ộ 10 MBps (clock 10 Mhz) với cáp A
ầu nối 50 chân, hoặc truyền 16 bit với tốc ộ 20 MBps (clock 10 Mhz) sử dụng cáp B với
ầu nối 68 chân. Số thiết bị sử dụng trên bus có thể tăng lên 15 thiết bị. Ở chế ộ cáp B, sử
dụng tín hiệu vật lý sai lệch với cáp xoắn ôi ể có thể tăng khoảng cách truyền. Các tín
hiệu cáp B mô tả trên bảng 4.6.
Với SCSI – 3 dữ liệu ược truyền 8 bit với tốc ộ 20 MBps trên cáp 50 chân, hoặc 16
bit với tốc ộ 40 MBps với chuẩn cáp 68 chân. Số thiết bị có thể sử dụng trên bus tăng
lên 16 (cho chuẩn fast 10). Chuẩn này sử dụng cáp P với chuẩn truyền tín hiệu sai lệch. lOMoARcPSD| 10435767
(bảng 4.7) Ngoài ra chuẩn này còn có một số tốc ộ truyền nhận khác tùy thuộc vào bộ
truyền nhận dữ liệu như:
- SE (Single End): hoạt ộng ở chế ộ cận ồng bộ nó có các chế ộ Fast-5, Fast-10, Fast-20
tất cả ều truyền ở chế ộ ơn cực tính.
- MSE (Multi Single End): cũng là loại truyền cận ồng bộ với các chế ộ Fast-5, Fast10 và Fast-20 ơn cực.
- LVD (Low Voltage Diffirence): truyền cận ồng bộ có các chế ộ Fast-5, Fast-10, Fast-
20 và Fast-40 ơn cực hoặc Fast-10 và Fast-80 cân bằng.
- HVD (High Voltage Diffirence): là loại bus 32 bit nhưng ã không còn sử dụng.
Hình 4.14: Kết nối các thiết bị trên bus SCSI
Fast-20 chạy với tốc ộ 20 MBps (8bit) hoặc 40 MBps (16 bit). Fast-40 chạy với tốc
ộ 40 MBps (8bit) hoặc 80 MBps (16 bit). Fast-80 chạy với tốc ộ 80 MBps (8bit) hoặc
160 MBps (16 bit). Ultra SCSI [Fast-20] với tốc ộ 20 MBps (8bit) hoặc 40 MBps (16
bit). Thông thường các chuẩn nay sử dụng cáp cực ại 10 mét cho 4 thiết bị hoặc 15 mét
cho 5 thiết bị. Ultra2 SCSI [Fast-40] chạy với tốc ộ 40 MBps (8bit) hoặc
80 MBps (16 bit), cáp dài cực ại 12 mét. Ultra3 SCSI [Fast-80] chạy với tốc ộ 80 MBps
(8bit) hoặc 160 MBps (16 bit), bus này bao gồm kiểm tra CRC.
SCSI-4 còn gọi là Ultra 320 hay Fast-160 chay với tốc ộ 320 MBps với bus rộng 16
bit. Chuẩn này sử dụng cáp P 68 ường với các tín hiệu ịnh mô tả trên bảng 4.7.
SCSI-5 có tốc ộ truyền giống SCSI-4 nhưng sử dụng loại cáp ặc biệt VHDCI
(Very High Density Cable Interconnect) với ầu nối P – 68 chân. lOMoARcPSD| 10435767
Bảng 4.6: Các tín hiệu trên cáp A và cáp B SCSI không cân bằng Cáp A ơn cực Cáp B sai lệch Chân Tín hiệu Chân Tín hiệu Chân Tín hiệu Chân Tín hiệu 1 GND 26 D0- 1 GND 2 GND 2 GND 27 D1- 3 GND 4 Data bit 8 3 GND 28 D2- 5 GND 6 Data bit 9 4 GND 29 D3- 7 GND 8 Data bit 10 5 GND 30 D4- 9 GND 10 Data bit 11 6 GND 31 D5- 11 GND 12 Data bit 12 7 GND 32 D6- 13 GND 14 Data bit 13 8 GND 33 D7- 15 GND 16 Data bit 14 9 GND 34 Dparity 17 GND 18 Data bit 15 10 GND 35 GND 19 GND 20 Parity P1 11 GND 36 GND 21 GND 22 -ACKB 12 Reserved 37 Reserved 23 GND 24 GND 13 Open 38 TRMPWR 25 GND 26 -REQB 14 Reserved 39 Reserved 27 GND 28 Data bit 16 15 GND 40 GND 29 GND 30 Data bit 17 16 GND 41 ATN- 31 GND 32 Data bit 18 17 GND 42 GND 33 TERMPWRB 34 TERMPWRB 18 GND 43 BSY- 35 TERMPWRB 36 TERMPWRB 19 GND 44 ACK- 37 GND 38 Data bit 19 20 GND 45 RST- 39 GND 40 Data bit 20 21 GND 46 MSG- 41 GND 42 Data bit 21 22 GND 47 SEL- 43 GND 44 Data bit 22 23 GND 48 C/D- 45 GND 46 Data bit 23 24 GND 49 REG- 47 GND 48 Parity P2 25 GND 50 I/O- 49 GND 50 Data bit 24 51 GND 52 Data bit 25 53 GND 54 Data bit 26 55 GND 56 Data bit 27 57 GND 58 Data bit 28 59 GND 60 Data bit 29 61 GND 62 Data bit 30 63 GND 64 Data bit 31 65 GND 66 Parity P3 67 GND 68 GND lOMoARcPSD| 10435767
Bảng 4.7: Các tín hiệu ầu nối P chuẩn SCSI Cáp P ơn cực Cáp P sai lệch Chân Tín hiệu Chân Tín hiệu Chân Tín hiệu Chân Tín hiệu 1 GND 35 D12- 1 D12+ 35 D12- 2 GND 36 D13- 2 D13+ 36 D13- 3 GND 37 D14- 3 D14+ 37 D14- 4 GND 38 D15- 4 D15+ 38 D15- 5 GND 39 DPATH- 5 DPATH+ 39 DPATH- 6 GND 40 D0- 6 GND 40 GND 7 GND 41 D1- 7 D0+ 41 D0- 8 GND 42 D2- 8 D1+ 42 D1- 9 GND 43 D3- 9 D2+ 43 D2- 10 GND 44 D4- 10 D3+ 44 D3- 11 GND 45 D5- 11 D4+ 45 D4- 12 GND 46 D6- 12 D5+ 46 D5- 13 Open 47 D7- 13 D6+ 47 D6- 14 GND 48 DPARITY- 14 D7+ 48 D7- 15 GND 49 GND 15 DPARITY+ 49 DPARITY- 16 GND 50 GND 16 DIFFSENS 50 GND 17 TRMPWR 51 TRMPWR 17 TRMPWR 51 TRMPWR 18 TRMPWR 52 TRMPWR 18 TRMPWR 52 TRMPWR 19 RESERVED 53 RESERVED 19 RESERVED 53 RESERVED 20 GND 54 GND 20 ATN+ 54 ATN- 21 GND 55 ATN- 21 GND 55 GND 22 GND 56 GND 22 BSY + 56 BSY - 23 GND 57 BSY - 23 ACK+ 57 ACK- 24 GND 58 ACK- 24 RST + 58 RST - 25 GND 59 RST - 25 MSG+ 59 MSG- 26 GND 60 MSG- 26 SEL+ 60 SEL- 27 GND 61 SEL- 27 C/D+ 61 C/D- 28 GND 62 C/D- 28 REQ+ 62 REQ- 29 GND 63 REQ- 29 I/O+ 63 I/O- 30 GND 64 I/O- 30 GND 64 GND 31 GND 65 D8- 31 D8+ 65 D8- 32 GND 66 D9- 32 D9+ 66 D9- 33 GND 67 D10- 33 D10+ 67 D10- 34 GND 68 D11- 34 D11+ 68 D11- lOMoARcPSD| 10435767 4.6 IEEE1394 BUS
Chuẩn giao diện tuần tự cao tốc 1394 (high performance serial interface) ra ời năm
1995. Tương tự như USB, giao diện IEEE 1394 là một bus tuần tự cao tốc. Chuẩn 1394
của IEEE là một hệ bus tuần tự cho phép truyền dữ liệu với tốc ộ 100, 200 hay
400 Mbit/s (so với 1 Mbit/s và 12 Mbit/s của USB). Chuẩn bổ sung 1394b (ra ời năm
1999) còn quy ịnh tốc ộ từ 800 ến 3200 Mbit/s. Chuẩn này cho phép truyền dữ liệu hình
ảnh chuyển ộng trong thời gian thực, cho phép nối và ngắt các thiết bị ngoại vi như ổ
ĩa, máy in, máy quét hình, máy ảnh số v.v… Bus 1394 là một bus thông minh và làm
việc ộc lập với máy tính chủ.
Giao tiếp tuần tự IEEE 1394 là một giải pháp rẻ tiền so với hệ mạng cục bộ LAN hay
mạng rộng WAN. Nguyên tắc truyền dữ liệu của IEEE 1394 (cũng như USB) dựa trên
nguyên tắc truyền gói dữ liệu. IEEE 1394 có ưu iểm so với SCSI là khả năng ngắt nối
thiết bị ngoại vi mà không cần phải khởi ộng lại máy tính chủ. Tốc ộ truyền của IEEE
1394 có thể sánh với các chuẩn mạng cao tốc như ATM, HPPI và cáp quang.
Giao diện IEEE 1394 không thay thế mà bổ sung cho giao diện USB. Trong khi
USB ược dùng làm giao diện chuẩn cho các thiết bị ngoại vi chậm như iện thoại, bàn
phím, chuột thì IEEE 1394 ược dùng cho các thiết bị cần truyền dữ liệu nhanh như máy
quay phim số, ổ ĩa DVD, ổ ĩa cứng. Trong tương lai gần, hai giao diện
USB và IEEE 1394 sẽ thay thế toàn bộ các chuẩn giao diện cổ iển của máy vi tính cá
nhân tương thích IBM. Bảng 4.8 so sánh hai giao diện hiện ại này.
Bảng 4.8: So sánh USB và IEEE 1394 Tham số USB IEEE 1394 Tốc ộ truyền Trung bình, 1 Mbit/s ến 12 Nhanh, 100 Mbit/s ến 32 Mbit/s Mbit/s
Rẻ tiền (ít hơn 1 dollar Mỹ) Giá thành (thời Vừa phải (15 dollar Mỹ) iểm 1999) Cấu hình
Hình sao, với máy tính cá nhân Rẽ nhánh, ộc lập với máy làm chủ ở trung tâm tính cá nhân lOMoARcPSD| 10435767 Ứng dụng
Máy quay phim số, máy quay
Chuột, bàn phím, cần iều phim DVD. Thiết bị lưu trữ dữ
khiển, màn hình, hub, thiết bị liệu, máy quét hình.
âm thanh, máy quét ảnh, máy ảnh số Sử dụng Đơn giản Đơn giản
Những ặc iểm ưu việt của 1394 là:
- Khả năng có nhiều chủ bus.
- Tháo gỡ khi máy ang hoạt ộng (hot plugging), tháo gỡ thiết bị khiến hệ bus tự ộng
khởi ộng, cài ặt và làm việc tiếp.
- Kết nối cáp chuẩn.
- Địa chỉ iểm nối thay ộng (thay ổi ược).
- Tốc ộ nhanh (100 Mbps ến 400 Mbps)
Tương tự như USB, mỗi iểm nối có tác dụng như bộ lặp (repeater) và có khả năng
phân nhánh thành một mạng dạng thân cây. Khoảng cách tối a giữa hai iểm nối là 4,5 m
và chiều sâu rẽ nhánh là 16 iểm (chiều dài tối a một mạng 1394 là 72 m). Tín hiệu ược truyền theo mã NRZ.
Hình 4.15: Cấu trúc mạng bus IEEE 1394 1) Điểm nối, 2) Mô un, 3) Cổng giao diện lOMoARcPSD| 10435767
Cấu trúc bus IEEE 1394 ược ịnh nghĩa theo các iểm nối (node). Một iểm nối trong
bus là một ơn vị ược gán ịa chỉ. Các iểm nối có thể ược khởi ộng và xác ịnh ộc lập với
các iểm nối trong mạng, nhiều iểm nối nằm trong một mô un. Cần phân biệt cấu trúc các
thiết bị trong bus IEEE 1394:
- Cấu trúc mô un là cấu trúc vật lý của các thiết bị (cùng nằm trong một vỏ máy…),
các iểm nối trong mô un có thể dùng chung một ổ cắm nối với mạng bus.
- Cấu trúc iểm nối là cấu trúc logic (có ịa chỉ riêng biệt, có khả năng khởi ộng ộc lập).
Một iểm nối có một ịa chỉ riêng, một bộ nhớ ROM ghi mã hiệu và chức năng iểm nối
và bộ nhớ RAM chứa các thanh ghi trạng thái/ iều khiển theo quy ịnh của chuẩn
IEEE 1394. Một iểm nối có thể có nhiều ơn vị chức năng hoạt ộng ộc lập với nhau
nhưng cùng ược khởi ộng khi vận hành iểm nối.
Cấu trúc mạng bus (topology) ược phân biệt thành 2 môi trường:
- Môi trường cáp nối là một mạng cáp không ấu vòng. Cáp IEEE 1394 gồm ba ôi dây
dẫn: hai ôi tín hiệu và một ôi nguồn iện. Mỗi cổng giao diện gồm có một iện trở kết
thúc cáp (termination), bộ phát/nhận (transceiver) mà một số mạch logic ơn giản.
Cáp và các cổng giao diện có tác dụng như các bộ lặp (repeater) ược dùng ể mô
phỏng một mạng bus duy nhất. Đôi cáp nguồn cung cấp iện thế từ 8 ến 40 V với dòng
tối a 1,5A, cho phép các cổng giao diện (bộ nhắc lại) vẫn hoạt ộng trong khi thiết bị chính (mô un) ngắt iện.
- Môi trường cơ sở (backplane) bao gồm hai dây dẫn song song trong hệ thống (trên
bản mạch chính). Các ổ cắm trên hệ bus này cho phép ghép các iểm nối và hệ thống.
Trong các hệ thống này, bus song song thường dùng hai ổ cắm hay hai dây dẫn ược
chuẩn IEEE dự trữ. Mức tín hiệu trên môi trường cơ sở tuỳ thuộc theo hệ thống thiết
bị (Ví dụ Futurebus + dùng BTL, VME dùng TTL, Fastbus và SC1 dùng ECL).
Như ã ề cập ở trên, cáp bus IEEE 1394 gồm 4 dây dẫn: Hai ôi dây tín hiệu ược xoắn
thành từng cặp ể giảm nhiễu iện từ: ỏ/xanh lục và cam/xanh biển. Đôi dây nguồn iện
chạy song song: dây en tiếp ất, dây trắng mang iện thế nguồn. Cấu trúc cụ thể của cáp
và kết nối bus IEEE 1394 ược mô tả cụ thể trong hình 4.16. Các tín hiệu trên các ầu nối
ược mô tả trong bảng 4.9.
Hình 4.16: Cấu trúc kết nối cáp IEEE 1394 lOMoARcPSD| 10435767
Bảng 4.9: Các tín hiệu chuẩn IEEE 1394
Chân Loại 4 chân Loại 6 chân Loại 9 chân Tín hiệu 1 TPB* VP TPB* Twisted Pair B, Minus 2 TPB VG TPB Twisted Pair B, Plus 3 TPA* TPB* TPA* Twisted Pair A, Minus 4 TPA TPB TPA Twisted Pair A, Plus 5 Sheild (VG) TPA* TPA(R) Twisted Pair A, Ground 6 - TPA VG Power – Ground 7 Sheild NC Non Connect 8 VP Power Voltage 9 TPB(R) Twisted Pair B, Ground Plug Sheild GND
Chuẩn 1394 làm việc theo nguyên tắc gói dữ liệu cho môi trường cáp dẫn (như USB).
Bus 1394 ược tổ chức như một không gian ịa chỉ bộ nhớ cho các thiết bị ngoại vi. Địa
chỉ một thiết bị rộng 65 bit, chia thành các phần sau:
- 10 bit mã số mạng.
- 6 bit mã số iểm nối (node)
- 48 bit ịa chỉ bộ nhớ
Với cấu trúc này, bus 1394 có thể quản lý ược 1023 mạng, 63 iểm nối (hay thiết bị
ngoại vi) và 281 Terabyte bộ nhớ. Tài nguyên bus ược lưu trữ trong các thanh ghi của
không gian ịa chỉ, từng thanh ược ọc và ghi như truy nhập giữa vi xử lý và bộ nhớ. Hình
4.17 minh hoạ cách ịnh ịa chỉ trong hệ thống bus IEEE 1394. Giao thức IEEE 1394 gồm 3 lớp chính hình 4.17.
- Lớp truyền (transaction layer) thực hiện các giao thức trao ổi dữ liệu ( ọc, ghi, khoá).
- Lớp nối LINK (link layer) có trách nhiệm ịnh nghĩa, kiểm tra dữ liệu và óng/mở gói
dữ liệu khi truyền và nhận dữ liệu trên mạng bus. Lớp này ược phép phục vụ trực lOMoARcPSD| 10435767
tiếp chương trình ứng dụng trong chế ộ truyền ồng bộ. Tại chế ộ này, lớp LINK cũng
có trách nhiệm tạo ra nhịp ồng hồ ồng bộ.
- Lớp vật lý PHY (physical layer) có ba nhiệm vụ chính:
1. Biên dịch dữ liệu nhị phân ra tín hiệu iện.
2. Có trách nhiệm làm chủ ạo bus và chỉ cho phép một iểm nối duy nhất truyền thông tin trong một thời iểm.
3. Định nghĩa giao diện vật lý (ổ cắm, chân cắm v.v.).
Bus 1394 cho phép truyền dữ liệu trong hai cơ chế:
- Không ồng bộ: truyền dữ liệu theo ịa chỉ trên bus, dành cho ứng dụng không cần
truyền nhanh như máy in, máy quyét v.v. 0 Bus s ố 0 Bus s ố 0 C ấu trúc CSR 512 Bus s ố 1 Bus s ố 1 Bus tu ần tự Vùng d ữ liệu 1024 kh ởi ộng 1 K B ROM 2048 Vùng d ữ liệu kh ởi ộng Bus s ố 1022 Điểm nối số 62 private Bus s ố 1023 Điểm nối số 62 Thanh ghi ội bộ) b ( us n 256M Loa ịa chỉ B ộ nhớ S ố bus S ố iểm nối Khô ng gian ịa chỉ Private S ố bus S ố iểm nối K/gian private (FFFFEH)
Địa chỉ private (0 ến FFFFEH) Thanh ghi S ố bus S ố iểm nối K/gian thanh ghi (FFFFEH)
Địa chỉ thanh ghi (0 ến FFFFEH) Ví d ụ 1023 63 D 1 0 48575D Thanh ghi “CYCLE_TIME” D = 3FFH = 3FH = FFFFFH 512 = F FFF F FFF F000 0200 = 200H
Hình 4.16: Cách ịnh ịa chỉ bus IEEE 1394 . lOMoARcPSD| 10435767
Hình 4.17: Các lớp giao thức IEEE 1394
- Đồng bộ: truyền dữ liệu theo số kênh, một gói dữ liệu ồng bộ cần khoảng 125
microgiây nên loại này thích hợp cho ứng dụng cần truyền dữ liệu nhanh (ví dụ như hình chuyển ộng). 4.7 PROFIBUS
PROFIBUS (Process Field Bus) là một mạng trong hệ truyền thông mở. Về phương
diện vật lý, PROFIBUS là một mạng iện mà các ừờng dẫn là cable ồng trục ược bọc kín,
cáp xoán ôi hoặc cable quang. PROFIBUS là một hệ thống bus ựợc phát triển tại Đức từ
năm 1987, do 21 công ty và cơ quan nghiên cứu hợp tác. Sau khi ược chuẩn hoá quốc
gia với DIN 19245, PROFIBUS còn ược ưa vào trong chuẩn IEC 61784 - một chuẩn mở
rộng trên cơ sở IEC 61158 cho các hệ thống sản xuất công nghiệp. Với sự ra ời của các
chuẩn mới IEC 61158 và IEC 61784 cũng như với các phát triển mới gần ây PROFIBUS
không chỉ dừng lại là một hệ thống truyền thông, mà còn ựợc coi là một công nghệ tự
ộng hoá. PROFIBUS ịnh nghĩa các ặc tính của một hệ thống bus cho phép kết nối nhiều
thiết bị khác nhau, từ các thiết bị trường cho tới vào/ra phân tán, các thiết bị iều khiển và giám sát.
PROFIBUS ịnh nghĩa 3 loại giao thức là PROFIBUS-FMS, PROFIBUS-DP và
PROFIBUS-PA. FMS là giao thức nguyên bản của PROFIBUS, ược dùng chủ yếu cho
việc giao tiếp giữa các máy tính iều khiển giám sát. Bước tiếp theo là sự ra ời của DP lOMoARcPSD| 10435767
vào năm 1993- một giao thức ơn giản và nhanh hơn nhiều so với FMS. PROFIBUS - DP
ược xây dựng tối ưu cho việc kết nối các thiết bị vào/ra phân tán và các thiết bị trường
với các máy tính iều khiển PROFIBUS-FMS và PROFIBUS-DP lúc ầu ược sử dụng phổ
biến trong các nghành công nghiệp chế tạo lắp ráp. Tuy nhiên gần ây, vai trò của
PROFIBUS-FMS ngày càng mờ nhạt bởi sự cạnh tranh của các hệ dựa trên nền ethernet
(Ethernet/IP, Profinet, highspeed- ethernet,…). Trong khi ó phạm vi ứng dụng của
PROFIBUS-DP ngày càng lan rộng sang nhiều lĩnh vực khác. PROFIBUS-PA là kiểu
ặc biệt ược sử dụng ghép nối trực tiếp các thiết bị trường trong các lĩnh vực tự ộng hoá
các quá trình có môi trường dễ cháy nổ ặc biệt trong công nghiệp chế biến. Thực chất
PROFIBUS -DP chính là sự mở rộng của PROFIBUS-DP xuống cấp trường cho lĩnh
vực công nghiệp chế biến. Ngày nay PROFIBUS là hệ bus trường hàng ầu thế giới với
hơn 20% thị phần và với hơn 5 triệu thiết bị lắp ặt trong khoảng 500 000 ứng dụng.
• Kiến trúc giao thức
PROFIBUS chỉ thực hiện các lớp 1, lớp 2 và lớp 7 theo mô hình qui chiếu OSI, như
minh họa trên hình 4.18 Tuy nhiên, PROFIBUS-DP và -PA bỏ qua cả lớp 7 nhằm tối ưu
hoá việc trao ổi dữ liệu quá trình giữa cấp iều khiển với cấp chấp hành. Một số chức
năng còn thiếu ược bổ sung qua giao diện sử dụng nằm trên lớp 7. Bên cạnh các hàm
dịch vụ DP cơ sở và mở rộng ược quy ịnh tại lớp giao diện sử dụng, hiệp hội PI còn ưa
ra một số qui ịnh chuyên biệt về ặc tính và chưc năng ặc thù của thiết bị cho một số lĩnh
vực ứng dụng tiêu biểu. Các ặc tả này nhằm mục ích tạo khả năng tương tác và thay thế
lẫn nhau của thiết bị của nhiều nhà sản xuất.
Bảng 4.10: Kiến trúc giao thức của PROFIBUS
Cả ba giao thức FMS, DP, PA ều có chung lớp liên kết dữ liệu (Lớp FDL).
PROFIBUS-PA có cùng giao diện sử dụng như DP, tuy nhiên tính năng của các thiết bị
ược qui ịnh nhằm phù hợp với môi trường làm việc dễ cháy nổ. Kỹ thuật truyền dẫn
MPB (Manchester Code, Bus Powered) theo ICE 1158-2 cũ ở ây ảm bảo vấn ề an toàn lOMoARcPSD| 10435767
và cung cấp nguồn cho các thiết bị qua cùng dây dẫn bus. Để tích hợp các oạn mạng DP
vàPA có thể dùng các bộ chuyển ổi (DP/PA-link, DP/PA-Coupler) có sẵn trên thị trường.
Lớp ứng dụng của FMS bao gồm 2 lớp con là FMS (Fieldbus Message Specification)
và LLI (Lower Layer Interface). Trong ó FMS chính là tập con của chuẩn MMS. Lớp
FMS ảm nhiệm nhiệm vụ xử lý giao thức sử dụng và cung cấp các dich vụ truyền thông
trong khi ó LLI có vai trò trung gian cho FMS kết nối với lớp 2 mà không phụ thuộc vào
các thiết bị riêng biệt. Lớp LLI còn có nhiệm vụ thực hiện các chức năng bình thường
thuộc lớp 3-6, ví dụ tạo ngắt nối kiểm soát lưu thông.
Lớp vật lý của PROFIBUS qui ịnh về kỹ thuật truyền dẫn tín hiệu môi trường truyền
dẫn, cấu trúc mạng và giao diện cơ học, các kỹ thuật truyền dẫn sử dụng ở ây là RS-458,
RS-558-IS (IS: Intrinsically Safe) và cáp quang ối với DP và FMS cũng như MBP ối với
PA. RS-458-IS ược phát triển trên cơ sở RS-458 ể có thể sử dụng trong môi trường òi hỏi an toàn cháy nổ.
Lớp liên kết dữ liệu ở PROFIBUS ược gọi là FDL (Fieldbus Data Link), có chức
năng kiểm soát truy nhập bus, cung cấp các dịch vụ cơ bản cho việc trao ổi dữ liệu một
cách tin cậy không phụ thuộc vào phương pháp truyền dẫn ở lớp vật lý.
Phương pháp thâm nhập : PROFIBUS sử dụng các phương pháp thâm nhập vào mạng
ược qui ịnh ở EN 50170, Volume 2 bao gồm các phương pháp:
1. Token Bus cho các trạm chủ
2. Master-Slave (chủ-tớ) cho các trạm tớ
Phương pháp thâm nhập ường dẫn hoàn toàn không phụ thuộc vào môi trường truyền
thông. Hình 2.3 minh hoạ phương pháp thâm nhập ường dẫn của một mạng PROFIBUS.
Hình 4.18: Phương pháp thâm nhập ường dẫn trong mạng PROFIBUS lOMoARcPSD| 10435767
Hình 4.19: Kết nối mạng PROFIBUS
Truyền thông của các trạm chủ (hay còn gọi là trạm tích cực) ược iều khiển bằng một
vòng logic (Logical Ring-LR). Vòng này ược thiết lập trước khi ưa mạng vào hoạt ộng.
Vòng này quyết ịnh tại thời iểm nào, trạm chủ nào tích cực và tích cực trong bao lâu.
Trạm chủ ược tích cực còn gọi là trạm chiếm giữ token. Trong thời giam trạm nào chiếm
giữ token trạm ó có quyền thâm nhập vào ường dẫn ể gửi các iện tín. Vòng logic hoàn
toàn không phụ thuộc vào cấu trúc của các trạm chủ với nhau trong mạng. Khoảng thời
gian cho phép một trạm chủ thâm nhập vào ường dẫn, hay nói một cách khác khoảng
thời gian trạm chủ chiếm giữ token, ược gọi là thời gian token. Nếu hết thời gian token
mà trạm vẫn chưa gửi xong dữ liệu, thì chỉ có dữ liệu nào của trạm có mức ưu tiên cao
nhất ược tiếp tục truyền i, nếu không phải trường hợp như vậy, thì trạm chủ ó phải ngừng
quá trình truyền thông và ợi cho ến lượt sau. Nếu trạm nào ược chiếm giữ token nhưng
lại không có nhu cầu truyền thông thì token ược tự ộng chuyển sang trạm ến lượt tiếp
theo ó trong hàng theo qui ịnh của vòng logic. Thông thường thời gian token ược qui ịnh
chung cho các trạm chủ trong mạng. Nếu một trạm tớ ược nối với một trạm chủ ang
chiếm giữ token thì trong thời gian token trạm tớ sẽ bị hỏi và phải nhận các thông tin do
trạm chủ cung cấp. Một trạm tớ không bao giờ ược chiếm giữ token.
PROFIBUS phục vụ cho việc trao ổi dữ liệu giữ các thiết bị trường với dung lượng
thông không lớn. Các trạm chỉ thực hiện ược việc trao ổi trong thời gian mạng còn hoạt
ộng. Trong SIMATIC mạng PROFIBUS thường ược nối với một
CP. PROFIBUS-DP cung cấp dịch vụ truyền thông giữa các trạm SIMATIC S7 và các
thiết bị trường (DP-LAVE) ể thực hiện trao ổi dữ liệu vào/ra của một quá trình. Quá
trình trao ổi dữ liệu giữa DP-Master và DP-Slave ược thực hiện theo chu trình lặp lại và
với một dung lượng thông tin không lớn.
Những tính chất ặc trưng của mạng PROFIBUS:
1. Thông qua PROFIBUS có thể thực hiện ược ồng thời những hàm chức năng của các
dịch vụ truyền thông sau : lOMoARcPSD| 10435767 -
FDL,FMS và các hàm chức năng của S7. -
DP, FDL và các hàm chức năng của S7.
2. Thời gian thâm nhập mạng do phương pháp token quyết ịnh
3. PROFIBUS-DP tạo ra khả năng trao ổi dữ liệu giữa trạm chủ và trạm tớ của các nhà
sản xuất khác nhau. Theo DP mà không cần có giao diện ặc biệt nào.
4. Đối với SIMATIC S7/M7 tồn tại các giao diện tích hợp PROFIBUS-DP (2 giao diện
ối với S7 hoặc một module giao diện cho các M7-CPU). Điều ó có nghĩa là: -
Đối với mạng chỉ có duy nhất một chủ (Monomaster) tại giao diện tích
hợp có thời gian áp ứng nhỏ (1-2ms ối với tốc ộ truyền 12Mbit/s). -
Giao diện tích hợp rất kinh tế vì có giá thành rẻ và chiếm ít diện tích.
5. Thời gian áp ứng nhanh (1-5ms) khi òi hỏi một trạm tớ DP (DP-Slave) phục vụ trạm chủ.
6. PROFIBUS cho phép trao ổi dữ liệu giữa các thạm theo FMS hoặc FDL mà không
cần phải có thiết bị liên kết ặc biệt.
Dữ liệu kỹ thuật của mạng PROFIBUS ược biểu diễn trong bảng 4.11.
Bảng 4.11: Dữ liệu kỹ thuật của PROFIBUS lOMoARcPSD| 10435767 4.8 GPIB
Vào ầu những năm 1970, hãng Hewlett Packard ưa ra ưa ra chuẩn giao tiếp (HB-IB)
ể kết nối các dòng thiết bị o lường của hãng, sau ó chuẩn này ược IEEE chấp nhận vào
năm 1975. Chuẩn giao tiếp bus IEEE 488 (HP-IB), hoặc bus giao tiếp a dụng GPIB
(General Purpose Interface Bus) ược phát triễn ể kết nối các thiết bị o lường khác nhau,
và ể các thiết bị này có thể truyền dữ liệu qua lại dưới sự iều khiển của một hoặc nhiều
sự iều khiển. GPIB hỗ trợ một dải rộng các thiết bị o lường và các thiết bị khác, từ các
thiết bị có tốc ộ truyền dữ liệu rất cao tới các thiết bị có tốc ộ truyền dữ liệu rất thấp.
GPIB cho phép kết nối 15 thiết bị với nhau và cho phép thiết lập các thiết bị, bao
gồm cả các bộ iều khiển nếu chúng là một phần của hệ thống. Một thiết bị nối vào bus
này có thể giữ ba chức năng sau: là một bộ iều khiển (controller), một bộ nhận dữ liệu
(listener) hoặc một bộ phát dữ liệu (talker). Một thiết bị có thể chỉ có một trong 3 chức
năng trên tại một thời iểm.
- Bộ nhận dữ liệu (Listener) có thể nhận dữ liệu và các tín hiệu iều khiển từ mmột thiết
bị khác nối tới bus, nhưng nó không ược tạo ra giữ liệu. Ví dụ, máy phát sóng là một listener.
- Bộ phát tín hiệu (Talker): chỉ có khả năng cấp dữ liệu ra bus, mà không thể nhận dữ
liệu. Ví dụ iển hình cho talker là băng từ, máy ọc mã vạch. Chú ý là tại một thời iểm
chỉ có một talker ược hoạt ộng ể cấp dữ liệu ra bus, nhưng có thể có nhiều listener
tích cực ể cùng nhận và xử lý dữ liệu.
- Bộ thu phát tín hiệu (Talker and Listener): Hai chức năng này có thể tích hợp trong
một thiết bị, khi ó thiết bị vừa có thể truyền vừ có thể nhận dữ liệu trên bus.
Một máy o a chức năng số là vi dụ iển hình cho một Talker and Listener. Dữ liệu nó
nhận là các giá trị thang o thích hợp và cung cấp ra bus các dữ liệu cho iện áp, dòng iện, iện trở ….
- Các bộ iều khiển (Controllers): sử dụng ể giám sát luồng dữ liệu trên bus và cung
cấp các chức năng xử lý. Bộ iều khiển trong hệ thống IEEE 488 luôn là một bộ vi iều
khiển, một số hãng sản xuất các bộ iều khiển chuyên dụng cho GPIB.
Chức năng iều khiển cũng có thể là một PC hoặc một máy tính tương thích PC.
Một bộ iều khiển trực tiếp sẽ iều khiển các thiết bị là listener hoặc talker. Bus cho
phép có nhiều bộ iều khiển, nhưng tại một thời iểm chỉ có một bộ iều khiển ược phép
hoạt ộng. Một thiết bị trong bus cần ược gán một ịa chỉ duy nhất trong dải từ 0 ến 30.
Độ dài cực ại cho tổng các ường truyền trên bus là 20 mét. Cáp cho một thiết bị o hay
một thiết bị bất kỳ nối vào mạng ược khuyến cáo là 2 mét (cực ại là 4 mét). Khi sử dụng
chuẩn GPIB mở rộng thì chiều dài cáp cực ại có thể dài hơn 20 mét. lOMoARcPSD| 10435767
Các thiết bị có cùng chuẩn bus GPIB có thể kết nối trực tiếp với nhau với các tín hiệu
như trên hình 4.20. Các tín hiệu kết nối bao gồm 8 ường dữ liệu và 8 ường iều khiển.
Cáp thực tế sử dụng cho chuẩn này sẽ bao gồm 24 dây với 8 ường chống nhiễu và GND,
cáp sử dụng ầu nối 24 chân với thứ tự các chân mô tả trong bảng 4.12. Hình 4.20: Cấu hình GPIB
Bảng 4.12: Mô tả các tín hiệu trên chân cắm cổng GPIB IEEE 488
Chân Tên tín hiệu Mô tả tín hiệu Chân Tên tín Mô tả tín hiệu hiệu 1 DIO1 Data In/Out 1 13 DIO5 Data In/Out5 2 DIO2 Data In/Out 2 14 DIO6 Data In/Out 6 3 DIO3 Data In/Out 3 15 DIO7 Data In/Out 7 4 DIO4 Data In/Out 4 16 DIO8 Data In/Out 8 5 EOI End or Identify 17 REN Remote End 6 DAV Data Valid 18 Shield Ground (DVA) 7 NRFD Not Ready for Datat 19 Shield Ground (NRFD) 8 NDAC Not data Accept 20 Shield Ground (NDVA) 9 IFC Interface Clear 21 Shield Ground (IFC) 10 SRQ Service Requist 22 Shield Ground (SRQ) 11 ATN Attention 23 Shield Ground (ATN) 12 Shield Chassis Ground 24 Single GND Single Ground lOMoARcPSD| 10435767
Hình 4.21: Cấu tạo cơ khi ầu nối GPIB
- ANT (Attention): khi ở mức thấp (tích cực) hệ thống ặt tất cả các thiết bị trong chế
ộ lệnh (Command Mode), khi ở mức cao hệ thống ặt tất cả các thiết bị trong chế ộ
dữ liệu (Data Mode). Trong chế ộ lệnh bộ iều khiển sẽ truyền dữ liệu tới các thiết bị,
còn trong chế ộ dữ liệu, talker sẽ truyền dữ liệu cho các listener. Tất cả các thiết bị
trên bus cần giám sát và áp ứng tín hiệu ATN trong vòng 200 ns.
- EOI (End or Identify): Chỉ thị việc truyền dữ liệu cuối cùng trong một chuỗi dữ liệu,
hoặc do bộ iều khiển cung cấp chỉ thị vòng song song tới một thiết bị (có kết nối với ATN).
- IFC (Interface Clear): do bộ iều khiển sử dụng ể treo trạng thái hoạt ộng hiện hành,
chuyển tất cả các thiết bị trên bus về trạng thái rỗi. Tất cả các talker ược thiết lập
trạng thái không truyền dữ liệu và tất cả các listener ược thiết lập trạng thái không truyền dữ liệu.
- REN (Remote Enable): Được bọ iều khiển sử dụng ể ạt tất cả các thiết bị ở chế ộ lập
trình (Programming mode). Các listener sẽ ược thiết lập chế ộ hoạt ộ từ xa (Remote
Operating) nếu nhận ược úng ịa chỉ của chúng. Khi REN tích cực mức thấp thiết bị
ược thiết lập chế ộ iều khiển cục bộ (Local Control). Tất cả các thiết bị sẽ giám sát
tín hiệu REN và áp ứng trong vòng 100ns.
- SRQ (Service Request): ược cung cấp từ một thiết bị bất kỳ,ể chỉ thị thiết bị cần ược
phục vụ. Tín hiệu này ược sử dụng như một tín hiệu yêu cầu ngắt, bộ iều khiển có
thể che tín hiệu này trong vòng phục vụ của nó. Tín hiệu SRQ ược xoá trong vòng iều khiển nối tiếp.
- DIO1 – DIO8 (Data Input Output): là bus dữ liệu hai chiều. Mỗi ường dữ liệu là một
tín hiệu song song – nối tiếp (Serial byte Parallel). Tức là dữ liệu ược truyền cận ồng lOMoARcPSD| 10435767
bộ trên các ường dây, và sẽ có tất cả 8 kênh truyền cận ồng bộ như vậy. Theo tiêu
chuẩn dữ liệu sẽ dưới dạng mã ASCII 7 bit, tuy nhiên IEEE không ịnh nghĩa dạng mã hoá cho dữ liệu.
- NRFD (Not Ready for Data): Đây là một trong ba tín hiệu bắt tay ược sử dụng ề thiết
bị thông báo nó ang ở trạng thái không sẵn sàng cho việc truyền dữ liệu, tín hiệu này tích cực mức thấp.
- DVA (Data Valid): cũng là một tín hiệu bắt tay tích cực mức thấp sử dụng ể chỉ thị
có một dữ liệu hợp lệ trên bus.
- NDAC (Not Data Accepted): là tín hiệu bắt tay tích cực mức thấp sử dụng ể chỉ thị
một thiết bị không chấp nhận dữ liệu.
GPIB ịnh nghĩa các của 03 ường dây bắt tay ể thực hiện tất cả việc truyền dữ liệu
trên bus. Bus hoạt ộng ở chế ộ cận ồng bộ (Asynchronous) với tần số 500 Khz ở iều kiện
chuẩn, và có thể lên tới 1 Mhz khi có các iều kiện ặc biệt. Mỗi lần trên bus truyền 8 bit
dữ liệu, nên bus có thể hoạt ộng với tốc ộ 4 – 8 MBps. Bus là kênh thông tin hai chiều
và dữ liệu có thể truyền theo cả hai hướng. Hình 4.22 mô tả kết nối nhiều thiết bị trên bus.
Hình 4.22: Kết nối nhi ều thiết bị trên GPIB
Để các thiết bị hoạt ộng trên bus, trước hết bộ iều khiển sẽ gửi một thông iệp giao
tiếp (interface message) trên bus ể chọn một thiết bị tích cực. Mỗi thiết bị sẽ có một ịa
chỉ duy nhất ược mã hoá bằng 5 bit BCD. Bằng các ịa chỉ này, bộ iều khiển có thể thiết
lập từng thiết bị truyền nhận hoặc không truyền nhận dữ liệu trên bus. Nếu thiết bị có cả
chức năng truyền nhận, bộ iều khiển chỉ có thể chọn một chức năng tại một thời iểm,
còn nếu thiết bị chỉ có chức năng nhận dữ liệu nó sẽ không thể truyền dữ liệu tới bộ iều khiển. lOMoARcPSD| 10435767
Ba chức năng talker, listener và controller có thể kết hợp trong một số chế ộ hoạt ộng
của hệ thống như quét nối tiếp (serial poll), quét song song (parallel poll), thiết bị truyền
và nhận ịa chỉ (secondary talk and listen addresses), iều khiển từ xa/cục bộ
(remote/local capability), và xoá một thiết bị (trigger).
Các thiết bị sẽ dựa vào các thông iệp trên bus kết hợp với các tín hiệu iều khiển ể thực
hiện việc truyền dữ liệu. Ba tín hiệu iều khiển DAV, NRFD và NDAC ược sử dụng như
3 ường bắt tay liên ộng ể iều khiển việc truyền dữ liệu. Một talker tích cực sẽ iều khiển
ường DAV (Data Valid), các listener sẽ iều khiển các ường NRFD và NDAC.
Ở trạng thái không hoạt ộng các talker sẽ giữ ường DAV ở mức cao (khôg có dữ liệu
truyền), trong khi các listener giữ ường NRFD ở mức cao (sẵn sàng nhận dữ liệu) và
NDAC ở mức thấp (không có dữ liệu nhận). Sau khi ặt dữ liệu lên bus talker sẽ tác ộng
tín hiệu DAV mức thấp (dữ liệu hợp lệ – data valid). Các listener sẽ tác ộng NRFD mức
thấp và NDAC mức cao (nhận dữ liệu – data accepted). Trước khi Talker ngưng cấp dữ
liệu ra trên bus, tín hiệu DAV sẽ tác ộng mức cao ể thống báo dữ liệu trên bus không
còn hợp lệ lâu nữa. Nếu tín hiệu ATN mức cao trong quá trình này, thì thông tin truyền
trên bus ược xem là một dữ liệu (thông iệu phụ thuộc một thiết bị), nếu ATN mức thấp
thì thông tin trên bus ược hiểu là một thông iệp giao tiếp như: nhận, truyền, không nhận, không truyền.
Ngoài các ường dữ liệu và ba tín hiệu bắt tay ở trên, năm tín hiệu còn lại trên bus ược
gọi là tín hiệu iều khiển (hay tín hiệu quản lý bus). Các tín hiệu này sử dụng ể cho phép
các bộ iều khiển và các thiết bị khác trên bus cho phép, ngắt, báo cờ và treo các hoạt ộng trên bus.
Tất cả các ường trên GPIB là tín hiệu 03 trạnt thái, ngoại trừ các ường SQR, NRFD và
NDAC ở dạng cực thu hở. Theo tiêu chuẩn tải giả chống dội tại ầu cuối bus sẽ sử dụng
iện trở 3K kéo lên 5V và một iện trở 6.2K nối xuống GND, các iện trở sử dụng loại sai số 5%.
Tiêu chuẩn này cũng cho phép nhận dạng các thiết bị trên bus, mỗi thiế bị cần có nhãn
từ 1 tới 2 ký tự dán gần ầu nối GPIB ể nhận dạng thiết bị, các nhãn này bao gồm:
C Controller – bộ iều khiển
T Talker – Bộ truyền dữ liệu
L Listener – Bộ nhận dữ liệu
AH Acceptor Handshake – Bộ nhận tín hiệu bắt tay
SH Source Handshake – Nguồn cáo tín hiệu bắt tay
DC Device Clear – Thiết bi xoá
DT Device Trigger – thiết bị trigger
RL Remote Local – Từ xa cục bộ lOMoARcPSD| 10435767
PP Parallel Poll – Quét song song
TE Talker Extended – Thiết bị truyền mở rộng
LE Listener Extended – Thiết bị nhận mở rộng
Các thiết bị ược nối theo chuỗi liên tiếp, nên một ầu nối sau khi cắm vào thiết bị bằng
một ầu ực, thông thường có thêm một ầu cái phía sau nó ể kết nối cho thiết bị tiếp theo.
Các thiết bị có thể kết nối với nhau theo dạng thẳng hoặc dạng hình sao.
Hầu hết các thiết bị ều hoạt ộng thông qua sử iều khiển của hoặc một bộ iều khiển
bên trong thiết bị, hoặc bằng bộ iều khiển HPIB riêng. Khi sử dụng bộ iều khiển bên
trong các thiết bị ở trạng thái cục bộ (Local State), còn khi sử dụng bộ iều khiển HPIB
riêng nó ược gọi là thiết bị iều khiển từ xa (Remote state). Khi bộ iều khiển hệ thống bị
reset hoặc mới cấp nguồn, các thiết bị sẽ ở trạng thái iều khiển từ xa. Khi bộ iều khiển
hệ thống gửi thông iệp bỏ qua (Abort), hoặc sau khi ược ịa chỉ hoá, thì các thiết bị cũng
chuyển sang chế ộ iều khiển từ xa. 4.9 I2C BUS
I2C (Inter-Intergrated Circuit, ọc là eye-two-see hoặc eye-squared-see) là chuẩn
giao tiếp 2 dây (còn gọi là Two-wired Serial interface) do Philips ưa ra. Mục tiêu là tạo
kết nối ơn giản giữa các IC với các IC khác hoặc với các thiết bị ngoại vi.
Chuẩn I2C ược hỗ trợ bởi nhiều nhà sản xuất IC và trở thành chuẩn công nghiệp
trong giao tiếp iều khiển.
Hình 4.22: Kết nối nhiều thiết bị trên bus I2C
Giao tiếp I2C có các chế ộ hoạt ộng là: o 1 Master và 1 Slave o 1 Master và nhiều Slave o lOMoARcPSD| 10435767 Nhiều Master và nhiều Slave
I2C sử dụng 2 ường nối dạng cực máng hở là SDA - Serial Data và SCL – Serial
Clock, do ó cần ược nối với iện trở kéo lên. Điện áp sử dụng thường là +5V hoặc +3.3V.
SDA là chân truyền dữ liệu và theo 2 hướng, trong khi ó, SCL là chân truyền xung clock
và chỉ theo 1 hướng từ Master ến Slaver. SDA SDA Transmitter Receiver Transmitter Receiver SCL SCL
Khi Master truyền dữ liệu tới Slaver
Khi Master nhận dữ liệu từ Slaver
Hình 4.23: Các tín hiệu SDA và SCL trên bus I2C
Trong kết nối I2C thì Master giữ vai trò iều khiển và giữ nhịp cho toàn hệ thống
bằng xung clock trên chân SCL. Trong khi ó Slave hoàn toàn thụ ộng và ược iều khiển
bởi Master. Master có thể truyền dữ liệu cho Slave hoặc nhận dữ liệu từ Slave. Tuy
nhiên, các Slave không thể trực tiếp làm việc với nhau mà chỉ có thể thông qua Master.
Mỗi thiết bị tham gia vào giao tiếp I2C có một ịa chỉ duy nhất, bao gồm 7 bits. Địa chỉ
này do nhà sản xuất quy ịnh (một số IC có thể iều chỉnh ược ịa chỉ của mình bằng cách
thay ổi các bit ịa chỉ thấp). Master sẽ sử dụng ịa chỉ này ể giao tiếp với Slave mong
muốn trên bus I2C. Tuy nhiên trong mạng cũng có một số ịa chỉ ặc biệt không ược sử dụng trong bảng 4.13.
Bảng 4.13: Các ịa chỉ ặc biệt trong mạng I2C Địa chỉ R/W Chú thích 0000-000 0 General Call 0000-000 1 START byte 0000-001 x 0000-010 x 0000-011 x 0000-1xx x 1111-1xx x 1111-0xx x ịa chỉ slave 10 bits
Tốc ộ truyền trên bus I2C bao gồm 3 chế ộ: Chế ộ chuẩn (Standard mode) có tốc ộ
clock 100 Khz, Chế ộ nhanh (Fast mode) có clock 400 Khz và tốc ộ cao (High Speed mode) có clock là 3.4 MHz. lOMoARcPSD| 10435767
Hình 4.24 mô tả việc truyền dữ liệu trên bus I2C, các bước truyền dữ liệu bao gồm: - Gửi bit START (S)
- Gửi ịa chỉ slave muốn giao tiếp (ADDR)
- Gửi bit READ(R)-1 hoặc WRITE(W)-0 - Chờ / gửi bit ACK
- Gửi/nhận byte dữ liệu (DATA) - Chờ / gửi bit ACK
- Quay lại bước 5 nếu muốn gửi/nhận nhiều byte hoặc gửi bit STOP (P)
Hình 4.24: Khung truyền dữ liệu trên I2C
Khi truyền dữ liệu từ Master tớI Slaver, Master gửi chuỗi S - ADDR - W vào bus
I2C và chờ tín hiệu ACK. Nếu có một Slave có ịa chỉ úng với chuỗi ADDR thì nó sẽ
phát tín hiệu ACK. Khi ó Master sẽ gửi byte DATA và chờ ACK, cứ lặp i lặp lại cho
ến khi ã truyền xong. Cuối cùng Master gửi P ể dừng hoặc S ể bắt ầu lại quá trình truyền (hình 4.25).
Hình 4.25: Các bước truyền dữ liệu từ Master ến Slaver trên I2C lOMoARcPSD| 10435767
Hình 4.26: Các bước truyền dữ liệu từ Slaver tới Mastertrên I2C
Khi truyền dữ liệu từ Slaver tới Master, Master gửi chuỗi S - ADDR - R vào bus I2C
và chờ tín hiệu ACK. Nếu có một Slave có ịa chỉ úng với chuỗi ADDR thì nó sẽ phát
tín hiệu ACK và gửi tiếp byte DATA ầu tiên. Sau khi nhận ược byte DATA, Master
gửi lại ACK và byte DATA tiếp theo lại ược Slave gửi. Khi không muốn nhận thêm dữ
liệu, Master gửi tín hiệu NACK và P/S (hình 4.26).
Tín hiệu START và STOP chỉ có thể ược tạo ra từ Master, ịnh thời của chúng theo
SCL ược mô tả trên hình 4.27. Ngay khi nhận ược tín hiệu này, Slave sẽ tự reset mức
giá trị logic của mình. Điều này cho phép Master khởi ộng lại toàn bộ kết nối bất cứ khi nào.
Hình 4.27: Định thời bit START và STOP
Start lặp (Sr): Ngay sau khi hoàn thành việc gửi/nhận dữ liệu với một Slave, Master có
thể ngay lập tức khởi tạo một kết nối mới ến một Slave khác mà không cần phải qua giai oạn STOP.
Ví dụ: S-ADDR-(R/W)-ACK-DATA-ACK-Sr-ADDR-(R/W)-ACK-DATA-ACK-P
Ứng dụng chủ yếu của Sr là trong kết nối I2C với nhiều Master, khi mà một Master dù
ã hoàn thành việc truyền dữ liệu nhưng không muốn trả lại quyền kiểm soát bus cho
Master khác. Trong kết nối I2C một Master thì việc này là không cần thiết.
Định dạng dữ liệu truyền: Mỗi block truyền bao gồm 8 bits theo quy tắc bit có trọng
số cao ược truyền i trước (MSB-first). Block khởi tạo bao gồm ịa chỉ 7 bits và 1 bit
R/W. Mỗi block ược i kèm theo sau bởi 1 tín hiệu ACK.
Hình 4.28: Thay ổi mức tín hiệu SDA lOMoARcPSD| 10435767
Việc thay ổi mức tín hiệu trên SDA ược thực hiện khi SCL ở mức thấp như trên hình
4.28, vì nếu ở mức cao sẽ trùng với tín hiệu START và STOP.
Bit ACK / NACK: Sau khi nhận ược 8 bit DATA thành công, thiết bị nhận sẽ giữ
SDA ở mức thấp trong xung clock kế tiếp ể tạo tín hiệu ACK nhằm báo hiệu cho bên
gửi. Việc gửi/nhận tín hiệu lại tiếp tục hoặc dừng lại tùy theo Master. Nếu việc nhận dữ
liệu có lỗi, bên nhận sẽ giữ SDA ở mức cao trong xung clock kế tiếp nhằm tạo tín hiệu
NACK. Khi ó, có 2 trường hợp xảy ra:
- Slave ang gửi cho Master: Master sẽ tạo tín hiệu STOP hoặc reSTART.
- Master ang gửi cho Slave: thông thường, Master sẽ tạo NACK sau khi ã nhận ược byte
DATA cuối cùng, nó báo hiệu cho Slave biết việc truyền dữ liệu ã kết thúc.
Hình 4.29: ACK và NACK trên I2C
Ngoài ra khi sử dụng bus I2C cần lưu ý:
- Khi một Slave cần thời gian ể thu thập dữ liệu, xử lý ngắt hoặc v.v…, nó có thể giữ
ường SCL ở mức thấp. Master khi ó sẽ phải chờ cho ến khi SCL ược giải phóng ể tiếp tục.
- Số lượng thiết bị gắn kết vào bus I2C không chỉ phụ thuộc vào số lượng ịa chỉ có thể
cung cấp mà còn bao gồm cả iện dung của toàn bus. Mức iện dung tối a cho phép là 400 pF.