Thiết kế và thi công mạch hẹn giờ đa năng có thể cấu hình qua cổng USB - Pdf 32



ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA KHOA HỌC & KỸ THUẬT MÁY TÍNH
BÁO CÁO ĐỒ ÁN TIN HỌC

Đề tài :

Thiết kế và thi công mạch hẹn giờ đa năng có thể cấu
hình qua cổng USB
GVHD : Bùi Văn Hiếu


hệ thống số
la mã. Mục đầu tiên trình bày ngắn gọn về lịch sử hình thành và phát triển
của chuẩn giao tiếp USB. Mục số 2 sẽ đề cập đến các thành phần cấu thành chuẩn giao
tiếp, phần này giúp ta làm quen với một số thuật ngữ thường dùng.Sau khi được làm quen
với các thuật ngữ,chúng ta sẽ chuyển sang mục 3 với các thông tin về các thành phần
chính tham gia trực tiếp quá trình vận chuyển. Sang mục số 4 sẽ đem đến cho chúng ta
nhữ
ng chi tiết về các loại kiểu truyền nhận. Trong mỗi kiểu truyền sẽ nhắc đến các đặc
tính của từng kiểu truyền như là tính sẵn sàng của thiết bị, cấu trúc kiểu truyền, kích
thước lớn nhất của từng gói dữ liệu cũng như tốc độ của mỗi kiểu truyền. Mỗi thông tin
về một kiểu truyền sẽ được nhắc lạ
i nhiều trong ở phía sau. Tiếp theo chúng ta sẽ được
tìm hiểu thêm về cơ chế hoạt động của giao tiếp thông qua sự điểm danh, đây là hoạt
động cơ bản và quan trọng nhất trong quá trình truyền nhận dữ liệu giữa thiết bị và máy
tính .Trong mục 5 này sẽ trình bày từng bước của quá trình điểm danh. Các mục còn lại
trình bày một phần của quá trình giao tiếp diễn ra trên host, các mục này bao gồm giao
tiếp trên host và host lựa ch
ọn driver. Riêng mục 7 sẽ đề cập đến driver thiết bị. Phần 3
của báo cáo mô tả việc thi công mạch demo giao tiếp USB, các bản mô tả mạch luận lý
của mạch được thể hiện qua các hình trong Orcad capture cis, phần này cũng bao gồm
luôn đoạn code firmware cho vi điều khiển. Phần cuối cùng của bản báo cáo sẽ giới thiệu
một số hàm cơ bản trong viết ứng dụng giao tiếp với thiết bị
.
Phần 1: Tổng quan về vi điều khiển PIC và so sánh các trình biên dịch C cho PIC SV:Trần Quốc Gia Phú, Trần Hạ Long - 2 Mục lục hình
Hình 1:Sơ đồ chân. ............................................................................................................. 8
Hình 2:Kiến trúc hình sao phân tầng USB........................................................................ 17
Hình 3:Các giao dịch trong truyền điều khiển read. ......................................................... 21
Hình 4: Các giao dịch trong truyền điều khiển write........................................................ 22
Hình 5: Giao dịch IN và OUT của hai kiểu truyền bulk và ngắt. ..................................... 24
Hình 6: Giao dịch đồng bộ IN và OUT............................................................................. 27
Hình 7 :Module kết nối USB và điều khiển trong Orcard capture cis............................. 38
Hình 8: Module hiển thị.................................................................................................... 39
Hình 9: sơ đồ giao tiếp từ chương trình ứng dên driver. ................................................. 48
Phần 1: Tổng quan về vi điều khiển PIC và so sánh các trình biên dịch C cho PIC SV:Trần Quốc Gia Phú, Trần Hạ Long - 4

Mục lục bảng
báng1:Những đặc tính thiết bị............................................................................................. 7
Bảng2:Bảng so sánh các trình soạn thảo code cho vi điều khiển PIC. ............................. 13
Bảng3: mô tả các dây trong cáp truyền............................................................................. 15
Bảng4:so sánh tốc độ các kiểu truyền............................................................................... 20

Phần 1: Tổng quan về vi điều khiển PIC và so sánh các trình biên dịch C cho PIC


tương ứng với USB Specification Revision 2.0 .
- Module này hỗ trợ cả hai sự kết nối low-speed(1.5 Mb/s) và full-speed ( 12 Mb/s)
cho tất cả các kiểu chuyển đổi dữ liệu được hỗ trợ.
- PIC18F4550 cũng tích hợp transceiver(máy thu) và regulator(máy điều chỉnh) 3.3V
riêng , đồng thời hỗ trợ việc sử dụng những transceiver bên ngoài và regulator điện áp
khác.
c)Multiple Oscillator Options And Features (Đa tuỳ chọn bộ tạo dao động và
những tính năng ) :
Tất cả các thiết bị trong họ PIC18F2455/2550/4455/4550 cung cấp 12 sự chọ
n lựa
khác nhau bộ phận tạo dao động.Cho phép user có phạm vi lựa chọn lớn hơn trong việc
phát triển ứng dụng phần cứng.Bao gồm :
a. Bốn chế độ Crystal : dùng thạch anh hay bộ tạo dao động bằng gốm
b. Bốn chế độ xung clock ngọai : cho phép tuỳ chọn sử dụng 2 chân ( chân nhận dao
động ngoại vào và chân đưa ra xung clock đã được chia 4 ra) hoặc sử dụng 1 chân (chân
nhận dao động ngoại vào , chân còn lại đượ
c dùng như cổng I/O chung )
Phần 1: Tổng quan về vi điều khiển PIC và so sánh các trình biên dịch C cho PIC SV:Trần Quốc Gia Phú, Trần Hạ Long - 6

c. Khối thiết bị tạo dao động nội :cung cấp clock 8 MHz (độ sai lệch 2%) , một nguồn
INTRC(xấp xỉ 31kHz,ổn định qua nhiệt độ và nguồn VDD) , một dải 6 sự lựa chọn tần số
clock từ 125kHz đến 4MHz, vậy là có tổng cộng 8 tần số dao động để người dùng lựa
chọn .
Tuỳ chọn này còn cho phép giải phóng 1 chân bộ tạ

a chỉ Offset bằng kí tự đánh chỉ số
d)Enhanced CCP Module (Tăng cường module CCP):
-Trong mode PWM module này cung cấp 1,2 hay 4 chân output (được điều chế) để
điều khiển việc chạy half-bridge và full-bridge .
-Những tính năng khác : tự động shutdown để vô hiệu hoá PWM output trong ngắt
hay trường hợp có lựa chọn điều kiện ; tự động restart để kích hoạt lại output khi điều
kiện đã bị xoá .
e)Enhanced Addressable USART :
Phần 1: Tổng quan về vi điều khiển PIC và so sánh các trình biên dịch C cho PIC SV:Trần Quốc Gia Phú, Trần Hạ Long - 7

Automatic Baud Rate Detection và Baud Rate Generator 16-bit để tăng dộ phân giải .
Khi vi điều khiển dùng khối tạo dao động nội , EUSART cung cấp chế độ ổn định cho
những ứng dụng giao tiếp với bên ngoài mà không cần đến nguồn crystal ngoại (hay
nguồn năng lượng hỗ trợ).
f)10-bit A/D Converter (Bộ biến đổi ADC 10-bit):
Module này hợp nhất thời gian thu nhận chương trình , khi 1 kênh truyền được chọn
lựa và một quá trình chuyển đổi xảy ra , không cần chờ thời gian làm mẫu và như vậy
giảm bớt code overhead .
g)Dedicated ICD/ICSP Port ( Dành cho ICD/ICSP Port):
Cho phép người dùng phát triển những ứng dụng dùng I/O cường độ cao mà vẫn giữ
khả năng nhập chương trình và debug trong mạch .
3.Những đặc tính thiết bị :
Tính năng

SV:Trần Quốc Gia Phú, Trần Hạ Long - 8 4.Sơ đồ chân :

Hình 1:Sơ đồ chân.

II)Đánh giá các trình biên dịch:
Hiện nay trên thế giới, có rất nhiều nhà sãn trình biên dịch dựa theo ngôn ngữ C dành
cho các dòng vi điều khiển PIC. Trong số các trình biên dịch này, có một số đựơc sử
dụng rất rộng rãi và phồ biến trên toàn thế giới như :CCS –C, Microchip C18,C30; Hi-
tech PICC , IAR embedded Workbench. Các trình biên dịch này chiếm hầu hết thị phần
trong lĩnh vực trình biên dịch cho PIC. Do có nhiều trình biên dịch nên viêc lựa chọn ra
một trong số đó sẽ không dễ dàng cho lắm. Viêc lựa chọn này cũng phả
i dựa trên nhiều
tiêu chí để phù hợp với điều kiện và mục đich sử dụng. Tiêu chí để đánh giá đựơc một
chưong trình cũng có rất nhiều. Thông thường khi đánh giá người ta chỉ đánh giá dựa
theo một số tiêu chí chủ yếu như là: giá cả, đặc điểm ngôn ngữ, thư viện hỗ trợ, IDE và
benchmark. Trong phần này sẽ trình bày việc so sánh các trình biên dịch thông qua các
tiêu chí đã đề cập ở
trên. Phần so sánh này được thực hiện bởi những người có kinh
nghiệm về lập trình PIC trên diễn đàn khá nổi tiếng về vi điều khiển PIC. Các diễn đàn
thường do các công ty sãn xuất trình biên dịch lập ra hoặc do những người phát triển các
ứng dụng vi điều khiển lập ra.
1.Phần đánh giá trên forum của CCS:

PICC pic 12 bit
và 14 bit
PICC18 pic 16-
bit
dsPICC pic 24-
bit
PIC16/17 pic
14 bit
PIC18 pic 16
bit
dsPIC pic 24
bit
Hệ điều hành Windows ,Linux Windows Windows ,Linux
Mac OS ,Sun
Windows
Giá
cả
License:
12-bit = $50
14-bit = $150
16-bit = $200
24-bit = $250
12-bit, 14-bit +
IDE = $350
12-bit, 14-bit,
16-bit + IDE =
$500
24-bit + IDE =
$350
12-bit, 14-bit,

IDE = $250
License:
14-bit + IDE =
$2,695
16-bit + IDE =
$2,695
24-bit + IDE =
$2,695
Includes:
1-year
Warranty

Phần 1: Tổng quan về vi điều khiển PIC và so sánh các trình biên dịch C cho PIC SV:Trần Quốc Gia Phú, Trần Hạ Long - 10
Maintenance:
(30-60 days
included)
12-bit =
$40/year

Có Không Không Không
Kiểu dữ liệu
Integers:
int1
int8
int16
int32

Float:
32-bit
Integers:
int8
int16
int32 Float:
32-bit for
C18/C30
64-bit for
C30
Integers:
int1
int8
int16
int32

Float:
24-bit
32-bit

đến hằng
Có Có Có Có
Ghi đè hàm Có Không Không Không
Tham số tham
khảo
Có Có Không Không
Tham số mặc
định
Có Không Không Không
Có thể xác
định dữ liệu C
trong bộ nhớ
không phải là
RAM
Có Không Không Không
Tự động đóng
gói các biến
bit
Có Không Có Không
Phần 3 Thư viện hỗ trợ
Các hàm về
char/string
Có Có Có Có
Thư viện math Có Có Có Có
Các hàm về hệ
thống file
Không Không Không Có
Các hàm về bộ
nhớ động
Có Không Không Có

Phần 4 IDE
IDE + debug Có Có Có Có
Hỗ trợ tạo
project
Có Có Có Có
Tự động sinh
tài liệu
Có Không Không Không
Tự động kiểm
tra lỗi văn bản
Có Không Không Không
Phần 5 Benchmark
Chương trình
đọc nhiệt độ
và hiển thị lên
màn hình LCD
ROM: 1638
RAM: 34
ROM: 3036
RAM: 293
ROM: 3879
RAM: 30
ROM: 7838
RAM: 148
Số thực dấu
chấm động ,ví
dụ :
float f = 5.0, g
= 600.0, h;
h = f*g;

ROM: 1705
RAM: 37
ROM: 5042
RAM: 190
Hàm tính CRC
của chuỗi 50
byte trên
RAM
Time: 481 us
ROM: 544
RAM: 74
Time: 991 us
ROM: 687
RAM: 289
Time: 506 us
ROM: 858
RAM: 66
Time: 890 us
ROM: 1022
RAM: 137

Bảng2:Bảng so sánh các trình soạn thảo code cho vi điều khiển PIC.
2.Phần đánh giá trên forum của microchip:
Theo forum trên trang web microchip.com của hãng microchip thì đề cao trình biên
dịch của Hitech và C18 do chính hãng sãn xuất hơn. Một số ý kiến trên trang này cho
rằng đoạn code C được biên dịch bằng PICC Hi-tech có độ dài chỉ bằng khoảng phân
nữaso với đoạn code được biên dịch bằng CCS. Do đó giá của PICC Hi-tech cao hơn so
với CCS PIC-C.
Nhưng theo một số ý kiến khác trên đây cho rằng vi
ệc so sánh sự tối ưu trong biên -Theo số mục đề cập và số đông ý kiến trên các trang này thì ở trong nước trình biên
dịch được sử dụng nhiều nhất là CCS PIC-C. Các ý kiến trên diễn đàn này cũng có khá
nhiều ý kiến tương đồng so với các diễn đàn đã nêu trên. Qua thống kê trên hai trang này
thì tỉ lệ sử dụng CCS PIC-C là rất lớn.
-Sau khi hỏi qua kinh nghiệm từ các bậc đàn anh đi trước trong trườ
ng, các ý kiến
được nêu ra trên các forum đề cập ở trên chúng tôi quyết định sử dụng trình biên dịch
CCS PIC-C. Quyết định sử dụng CCS cũng ảnh hưởng rất lớn từ các yêu cầu thực tế do
yêu cầu của đề tài thực tập. Do trong chương trình được tích hợp sẵn các chức năng, các
thường trình phục vụ quá trình giao tiếp. Ngoài các file đăc tả khai báo giao tiếp cũng
được cung cấp sẵn trong chương trình, làm giảm rất nhiề
u công sức trong việc thực thi đề
tài

Phần 2: Giao tiếp USB SV:Trần Quốc Gia Phú, Trần Hạ Long - 15

Phần 2: Giao tiếp USB
I)Sự ra đời của chuẩn USB:
USB 1.0 được giới thiệu lần đầu tiên vào tháng 11 năm 1995. USB là kết quả của sự
phối hợp phát triển giữa Intel, Microsoft, Philipp và US robotics. Chuẩn USB nguyên

3 D+ Xanh lá cây Dữ liệu +
4 GND Đen Đất
Bảng3: mô tả các dây trong cáp truyền 2.Điều khiển host:
Phần 2: Giao tiếp USB SV:Trần Quốc Gia Phú, Trần Hạ Long - 16

-Một giao tiếp sẽ không thành công nếu nhà sãn xuất PC không hỗ trợ nó. ,cả nhà sãn
xuất PC và nhà sãn xuất thiết bị ngoại vi hỗ trợ USB. Một máy tính được sãn xuất từ năm
1997 đến nay hầu hết dược tích hợp điều khiển host USB và có ít nhất là 2 cổng USB.
Nếu một computer không có điều khiển host tích hợp trong mianboard,có thể gắn thêm
một card mở rộng cắ
m vào vào các khe trên bus PCI. Nhưng tiện lợi nhất vẫn là điều
khiển USB trên card PC được tích hợp sẵn.
-Điều khiển host định dạng dữ liệu cho việc truyền nhận dữ liệu trên bus và chuyển
đổi định dạng dữ liệu nhận được sang định dạng các cấu thành của hệ điều hành có thể
hiểu được. Ngoài ra diều khiển host còn thể hiện các chứ năng liên quan đến việ
c quản lý
liên lạc trên bus.
3.Hệ điều hành:

đều chia sẻ chung một đường đến host. Chỉ có một thiết bị có thể
giao tiếp với host tại một thời điểm. Cho việc mở rộng băng thông, ta có thể thiết lập
đường dữ liệu thứ 2 đến host bằng việc gắn một card mở rộng với một điều khiển host
mới và một hub root mới. Card mở rộng hỗ trợ đa điề
u khiển host vẫn được hỗ trợ.
Phần 2: Giao tiếp USB SV:Trần Quốc Gia Phú, Trần Hạ Long - 17

-Trong một vài trường hợp, với các thiết bị tổ hợp nơi các hub có thể ẩn bên trong các
ngoại vi, các ngoại vi này có thể xuất hiện để được sử dụng trong các dạng mắc xích bánh
răng của kết nối, nơi này các ngoại vi gắn vào điểm cuối của một xích. Nhưng topology
của USB lại đa năng và phức tạp hơn m
ắc xích bánh răng thông thường. Mỗi ngoại vi kết
nối đến hub quản lý liên lạc với host, và các ngoại vi này và các hub không giới hạn việc
kết nối với một mắc xích đơn.
-Hình 2 sẽ mô tả kiến trúc trừu tượng của tiered star topology. Hình 2:Kiến trúc hình sao phân tầng USB.
III)Các thành phần tham gia vận chuyển:
1.Điểm cuối thiết bị(Endpoint):
-Tất cả các các đường vận chuyển đều phải xuất phải từ điểm cuối hoặc kết thúc tại
điểm cuối của thiết bị. Điểm cuối là một bộ đệm có khả năng lưu nhiều byte. Cụ thể hơn
bộ đệm này là môt khối bô nhớ dữ liệu hoăc cũng có thể là m
ột thanh ghi trong chip điều

những dữ liệu chứa trong nó. Giao dịch SETUP là loại duy nhất mà thiết bị buộc phải
luôn luôn chấp nhận. Các kiểu truyền khác có thể sử dụng giao dịch IN hoặc OUT, nhưng
chỉ có truyền điều khiển mới sử dụng giao dịch SETUP.
-Mỗi giao dịch thực chứa một
địa chỉ thiết bị và một địa chỉ điểm cuối. Khi một thiết
bị nhận một giao dich OUT hoặc SETUP chứa địa chỉ của nó, phần cứng lưu dữ liệu lại
trong một vị trí xác định cho điểm cuối đồng thời kích hoạt một ngắt. Thường trình xử lý
ngắt trong thiết bị sau đó sẽ xử lý dữ liệu nhận được và b
ất cứ những gì mà giao dịch yêu
cầu. Khi một thiết bị nhận được một giao dịch IN chứa địa chỉ của nó, nếu thiết bị sẵn
sàng gửi dữ liệu, phần cứng gửi dữ liệu từ điểm cuối được định nghĩa vào bus và kích
hoạt ngắt. Thường trình phục vũ ngắt trong thiết bị sẽ thực hiện những điều c
ần thiết để
chuẩn bị cho giao dịch IN kế tiếp.
2.Đường ống(pipe):
-Trước khi một truyền được thực thi, host và thiết bị phải thiết lập môt đường ống.
Đường ống không phải là một đối tượng vật lý, nó chỉ là mốt quan hệ giữa điểm cuối
thiết bị và phần mền điều khiển host.
-Host thiết lập đường ống nhanh chóng sau khi hệ th
ống hoạt động hoặc thiết bị kết
nối vào, trong việc yêu cầu thông tin cấu hình từ thiết bị. Nếu thiết bị được tháo gỡ khỏi
bus, hsot sẽ xóa bỏ đường ống không còn được sử dụng.
-Host còn có thể yêu cầu đường ống mới hay gỡ bỏ đường ống không cần thiết vào
thời gian khác bằng cách yêu cầu một cấu hình hoặc giao tiếp thay thế.Mỗi thiết bị

một đường ống điều khiển chuẩn sử dụng điểm cuối số 0.
-Host nhận thông tin cấu hình bao gồm mô tả(descriptor) cho muỗi điểm cuối mà thiết
bị muốn sử dụng. Mỗi mô tả điểm cuối là một khối thông tin báo cho host biết những gì
cần biết về điểm cuối trong ra lệnh giao tiếp với nó.Mô tả bao gồm địa chỉ
điểm cuối, loại

nhiều mục đích khác.
b)Tính sẵn sàng:
Mỗi thiết b
ị phải hỗ trợ truyền điều khiển trên đường ống mặc định tại điểm cuối 0.
Một thiết bị có thể có thêm đường ống được cấu hình cho truyền điều khiển, nhưng thật
sự là không cần thiết. Ngay cả khi thiết bị cần gửi nhiều yêu cầu điều khiển, host có thể
xác định băng thông dựa theo số và kích cỡ c
ủa điểm cuối yêu cầu. Hơn nữa với số
đường ống điều khiển, điểm cuối điều khiển thêm sẽ không cho phép mở rộng.
c)Cấu trúc:
-Truyền điều khiển sử dụng cấu trúc định nghĩa với 2 hay 3 giai đoạn(stage): setup,
data, status. Một giai đoạn gồm một hay nhiều giao dịch(transaction).
-Trong giai đoạn setup, host bắt đầu gửi mộ
t giao dịch setup bằng cách gửi thông tin
về yêu cầu. Gói token chứa 1 PID(định danh gói) định nghĩa kiểu truyền là truyền điều
khiển. Gói dữ liệu chứa thông tin về yêu cầu, bao gồm số yêu cầu tùy theo truyền điều
khiển có gian đoạn data hay không và nếu có thì có hướng dữ liệu di chuyển.
-Trong giai đoạn data gồm một hay nhiều giao dịch IN hoặc OUT, được gọi là giao
dịch data. Tùy theo yêu cầu, host hoặc ngoại vi sẽ
là điểm bắt đầu của giao dịch, nhưng
các gói dữ liệu trong giai đoạn data phải đi theo một hướng nhất định.
-Trong giai đoạn status bao gồm một hoặc nhiều giao dịch IN hoặc OUT, và cũng
được gọi là giao dịch status. Trong giai đoạn này thiết bị sẽ báo cáo sự thành công hay
thất bại của giai đoạn trước đó. Điểm nguồn của các gói dữ liệu trong giai đ
oạn status là
bên nhận được dữ liệu trong giai đoạn dat trước đó. Khi truyền điều khiển không có giai
đoạn data, thiết bị gửi gói dữ liệu về tình trạng của giai đoạn status.
-Hình 2 va hình 3 dưới đây sẽ minh họa rõ các giai đoạn trong trong quá trình thực
hiện một truyền điều khiển.
d)Kích thước của một gói dữ liệu:


Bảng4:so sánh tốc độ các kiểu truyền.
f)Phát hiện và xử lý lỗi:
Nếu một thiết bị không trả lời bắt tay, host sẽ thử gửi lại. Sau ba lần thử,host sẽ chấm
dứt liên lạc với thiết bị cho dến khi vấn đê được làm sáng tỏa. Truyền điều khiển sử dụng
bit toggle data để chắn rằng dữ liệu không bị thất lac. Trong giai đoạ
n data, khi nhận một
gói dữ liệu, host trả về ACK và gửi token OUT để bắt đầu giai đoạn status. Nếu device
không nhận được ACK, thiết bị phải làm sáng tỏa trong việc nhận OUT Token thì mới
được chuyển sang giai đoạn status. Thiết bị phải chấp nhận tất cả các gói SETUP. Nếu
một gói SETUP được gửi đến trước khi truyền lần trước được hoàn thành, thiết bị sẽ bỏ
qua gói SETUP đó.

Phần 2: Giao tiếp USB SV:Trần Quốc Gia Phú, Trần Hạ Long - 21

IN Data ACK
idleidle
NAK
Stall
idle
idle
Gói token
Host > Device
Gói Data

trả về 1 ACK
idle
data error
Gói Token
Host > thiết bị
Gói data
Host > Thiết bị
Gói handshake
Host > Thiết bị
ACKDATAOUT
NAK
STALL
idle
idle
idle
idle
idle
Data error
Host gửi
gói Token
OUT
Host gửi gói dữ
liệu
Thiết bị trả về
status
Một truyền điều khiển read, giao dịch status
Data1
Gói dữ liệu đầu là
Data1, theo sau là
các gói Data0/1

Truyền bulk chỉ có thể thực hiện được ở những thiết bị hỗ trợ tốc độ full hay tốc độ
cao. Thiết bị không nhất thiết phải hỗ trợ kiểu truyền này. Một số lớp thiết bị đặc biệt có
thể hỗ trợ kiể
u truyền này.
b)Cấu trúc:
-Một truyền bulk bao gồm một hoặc nhiều giao dịch(transaction) IN hoặc OUT.
Truyền bulk chỉ theo một hướng nhất định, tất cả các giao dịch từ host đến điểm cuối đều
phải theo một hướng là IN hoặc OUT. Nếu muốn truyền theo hai hướng thì cần phải có
đường ống chia sẽ dùng để truyền theo mỗi hướng.
-Truyền bulk có thể kết thúc theo hai cách: Khi dữ liệu yêu cầ
u cần được truyền đã hết
hay gói dữ liệu nhỏ hơn kích thước lớn nhất của gói đã được miêu tả trong descriptor. Để
giành thời gian thời gian bus tích cực, host sử dụng giao thức Ping trong một vài lần
truyền điều khiển ở tốc độ cao. Nếu truyền bulk tốc độ cao có nhiều hơn một gói dữ liệu
và thiết bị trả về NYET sau khi nhận một trong các gói đó, host s
ử dụng giao thức Ping
để tìm ra khi nào nó sẵn sàng để bắt đầu giao dịch data tiếp theo, nếu thiết bị là thiết bị
tốc độ full mà dữ liệu được truyền trong bus tốc độ cao thì host sử dụng phương thức plit
transaction để truyền.
-Hình 4 dưới đây sẽ minh họa tiến trình thực hiện một giao dịch IN hoặc OUT của một
lần truyền Bulk hoặc truyền ngắt.
c)Kích thước của m
ột gói dữ liệu:
Truyền ở bus tốc độ full thì được tối đa 1.216 Megabyte/giây. Truyền ở bus tốc độ cao
thì tối đa 53.248 Megabyte/giây. Điều khiển host đảm bảo một truyền bulk sẽ hoàn thành
nhưng không dành nhiều băng thông cho kiểu truyền này. Nếu bus quá bận một lần thực
hiện việc truyền sẽ kéo dài. Nhưng trong lúc bus trống thì nó là kiểu truyền nhanh nhất.
d)Phát hiện và xử lý lỗi:
truyền bulk sử
dụng phương pháp phát hiện lỗi trong lúc truyền. Trong quá trình

Host gửi một gói
IN
Thiết bị đáp ứng
với gói dữ liệu
hoặc status
Nếu Host nhận
được dữ liệu không
bị lỗi nó trả về ACK
Một giao dịch OUT của truyền ngắt hay truyền bulk
Gói Token
Host > thiết bị
Gói data
Host > Thiết bị
Gói handshake
Host > Thiết bị
INININ
IN
IN
idle
idle
idle
idle
idle
Data error
Host gửi gói
Token OUT
Host gửi gói dữ liệu
Thiết bị trả về status

Hình 5: Giao dịch IN và OUT của hai kiểu truyền bulk và ngắt.


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status