Tải bản đầy đủ (.pdf) (24 trang)

NGUYÊN LÝ HỌAT ĐỘNG CỦA MẠNG CAN

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (443.13 KB, 24 trang )

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN ĐÀO TẠO SAU ĐẠI HỌC

ĐỀ TÀI
NGUYÊN LÝ HỌAT ĐỘNG CỦA
MẠNG CAN
Giảng viên hướng dẫn
Học viên

: PGS-TS NGUYỄN VĂN KHANG
Nhiệm vụ

Lớp

Phạm Hữu Lưu

Trang 2- 6

KTTT1B

Đỗ Huy Thao

Trang 7-11

KTTT1B

Lưu Văn Dũng

Trang 12-16


KTTT1B

Đỗ Hữu Trọng

Trang 17- 21

KTTT1B

Hà Nội, tháng 12/2011


MỤC LỤC
1. Giới thiệu. ........................................................................................................................ 2
2. Giao thức của CAN. ........................................................................................................ 3
Lớp vật lý (physical layer)............................................................................................... 5
Mã hóa bit và đồng bộ hóa. ............................................................................................. 6
Định dạng khung dữ liệu ................................................................................................. 6
Khung Data:..................................................................................................................... 7
Remote frame................................................................................................................. 9
Khung lỗi ........................................................................................................................ 9
Overload frames .............................................................................................................. 9
Kĩ thuật truy nhập ....................................................................................................... 10
Phân xử bus.................................................................................................................... 10
Quản lí lỗi ...................................................................................................................... 12
Giới hạn lỗi .................................................................................................................... 13
Dịch vụ truyền thông ..................................................................................................... 14
Mơ hình cho sự tương tác các thiết bị ........................................................................... 15
3 Các tính năng chính của CAN ........................................................................................ 15
Ưu điểm ......................................................................................................................... 15
Nhược điểm ................................................................................................................... 16

4 CAN-dựa trên giao thức ứng dụng ................................................................................. 18
CANopen ....................................................................................................................... 18
DeviceNet ...................................................................................................................... 20
Tài liệu tham khảo ......................................................................................................... 22

1


1. Giới thiệu.
CAN (Control Area Network) đã được bắt đầu từ hơn 20 năm trước. Vào đầu năm 1980,
một nhóm kỹ sư của nhà sản xuất xe hơi Bosch GmbH đang tìm kiếm một hệ thống bus
nối tiếp thích hợp ứng dụng trong ơ tơ. Những giải pháp lúc đó khơng thích hợp cho các
ứng dụng cho ơ tơ. Thực tế, hệ thống bus này phải cung cấp được các đặc tính mới mà
chưa có trong các hệ thống cấu trúc các bus hiện thời. kiến trúc bus mới này được sự hỗ
trợ của Intel và các hãng sản xuất bán dẫn.
Kiến trúc Bus trường (Fieldbus) mới này được giới thiệu chính thức vào năm 1986 với
tên là “Automotive Serial Controller Area Network” tại hội nghị SAE tổ chức tại Detroit.
Nó được dựa trên hệ thống đa truy nhập chia sẻ chung, gần giống như phương thức đa
truy nhập cảm biến sóng mang (CSMA). Tuy nhiên, khía cạnh khác biệt của CAN là
CAN chấp nhận cơ chế phân chia truy nhập để giải quyết vấn đề xung đột trên bus và có
sự ưu tiên cho các thơng điệp. Hơn nữa, đó là cơ chế phát hiện lỗi và quản lý đường
truyền để nâng cao khả năng chống lỗi của toàn hệ thống.
Trong những năm sau đó, cả Intel và Philips đã bắt đầu cho sản xuất chip hỗ trợ CAN
với hai hướng khác nhau. Giải pháp của Intel (thường gọi là fulCAN) u cầu ít năng lực
CPU của host vì phần lớn các giao tiếp và chức năng quản lý mạng được thực hiện trực
tiếp bởi bộ quản lý mạng. Đối với Philips (thường gọi là BasicCAN) thì giải pháp đơn
giản hơn, nhưng yêu cầu nhiều hơn năng lực các CPU của host giao tiếp với bộ điều
khiển mạng. Từ những năm 1990, hơn 15 nhà cung cấp bán dẫn trong đó có Siemens,
Motorola và NEC đã đưa vào sản xuất hàng triệu chip hỗ trợ CAN chủ yếu cho các nhà
sản xuất xe hơi như Mercedes – Benz, Volvo, Volkswagon, BMW, Renault và Fiat.

Chỉ tiêu kỹ thuật của CAN version 2.0 do Bosch đưa ra được trình lên thành tiêu chuẩn
quốc tế bắt đầu từ những năm 1990. Đề xuất trên được chấp thuận và xuất bản thành tiêu
chuẩn ISO11898 [ISO898] cuối năm 1993. Trong đó chứa các miêu tả của giao thức truy
nhập mạng và cấu trúc lớp vật lý. Vào năm 1995, một phụ lục thêm vào ISO 11898 mô tả
cấu trúc mở rộng cho các bộ nhận dạng bản tin đã được duyệt. Chỉ tiêu kỹ thuật của CAN
hiện nay đang trong quá trình xem xét, tổ chức lại và được chia thành bốn phần riêng biệt
: ISO1, ISO2, ISO3, TTC. Những tài liệu chuẩn đưa ra các đặc tính kỹ thuật cho lớp thấp
nhưng lại khơng có hướng dẫn hoặc khuyến nghị dùng cho các lớp cao hơn của OSI và
đặc biệt là lớp ứng dụng. Đó là lý do tại sao những ứng dụng ban đầu của CAN ngồi
ngành ơ tơ (như máy may, hệ thống y tế,.. ) chấp nhận giải pháp ad-hoc. Năm 1992,
nhóm những người sử dụng CAN trong lĩnh vực tự động lần đầu tiên đề cập đến tiêu
chuẩn CAN của lớp ứng dụng. Những nỗ lực này đã phát triển chỉ tiêu kỹ thuật của lớp
ứng dụng của CAN (CAL) trong những ứng dụng chung. CAL được dự định để lấp
khoảng trống giữa quá trình ứng dụng tập trung và hỗ trợ giao tiếp ở lớp dưới. Nhưng
2


trong thực tế đã không thành công, với lý do chính là CAL được ứng dụng độc lập, bởi
mỗi người tự mở rộng, phát triển đặc tính riêng để phù hợp với lĩnh vực riêng của mình.
Mặc dù được dùng cho những ứng dụng trong lĩnh vực sản xuất phương tiện vận tải,
CAN bắt đầu được công nhận và sử dụng trong các lĩnh vực khác nhau. Ví dụ, năm 1990,
Allen-Bradley và Honeywell bắt đầu dự án điều khiển tập trung dựa trên CAN. Tuy dự án
bị từ bỏ vài năm sau đó, nhưng Allen Brandy và Honeywell đã tiếp tục công việc độc lập
với nhau và tập trung vào những giao thức lớp cao hơn. Kết quả của những hoạt động
trên là giải pháp Allen Bradley DeviceNet và hệ thống Honeywell Smart Distributed
System (SDS). Vì một số lý do, SDS tồn tại được trong thực tế bằng một số giải pháp bên
trong của Honeywell Microswitch, cịn DeviceNet thì nhanh chóng chuyển thành hiệp hội
nhà sản xuất Open DeviceNet và được chấp nhận rộng rãi trong một số nhà sản xuất tại
Mĩ và trở thành đối thủ cạnh tranh nguy hiểm của các giải pháp đã được sử dụng rộng rãi
như Profibus-DP và Interbus.

Bên cạnh SDS và DeviceNet, cịn có một số những sáng kiến quan trọng khác tập trung
vào CAN và những ứng dụng của nó, CAN đã được hình thành trong khung dự án
European Espirit ASPIC thực hiện bởi Bosch GmbH. Mục đích của CAN Open là xác
định đặc tính dựa vào CAL mà nó có thể hỗ trợ giao tiếp trong sản xuất, những đặc tính
ban đầu của CAN Open được hoàn thiện hơn nữa và được đưa ra vào năm 1995. Sau đó,
cả CAN Open và DeviceNet trở thành tiêu chuẩn châu Âu và đang được sử dụng rộng rãi,
đặc biệt trong hai lĩnh vực là xưởng tự động và điều khiển thiết bị tập trung.
2. Giao thức của CAN.
Cấu trúc các giao thức của CAN được xây dựng dựa vào mơ hình OSI. Tuy nhiên, trong
phần lớn những mạng hiện tại sử dụng ở lớp thấp trong sản xuất tự động, giao thức này
chỉ thực hiện trong vài lớp. Điều này làm cho giảm chi phí và tăng hiệu quả khi triển
khai. Thực tế, giảm số lớp là làm giảm trễ khi xử lý và khi thu phát bản tin và làm đơn
giản hơn cho phần mềm.
Mạng CAN (ISO1) bao gồm lớp vật lý và lớp liên kết dữ liệu (data link) như mô tả trong
hình dưới đây.

3


Hình 1 : giao thức mạng CAN
Lớp vật lý mục đích để quản lý hiệu quả truyền dữ liệu thơng qua phương tiện truyền
dẫn, quản lý về mặt điện của phương tiện truyền dẫn, cách định thời và đồng bộ hóa.
Lớp liên kết dữ liệu được chia thành hai lớp con, đó là LLC và MAC. Mục đích của
MAC là điều khiển truy nhập các thiết bị truyền dẫn vào bus để tránh xung đột bus. Lớp
con MAC cũng bao gồm chức năng đóng khung và giải mã khung dữ liệu, kiểm tra lỗi,
báo hiệu.
Lớp con LCC tạo ra tính năng linh hoạt trong việc phục vụ cho các giao thức lớp mạng
trên nó, trong khi vẫn liên lạc hiệu quả với các kỹ thuật khác nhau bên dưới nó. LLC với
vai trò là lớp phụ tham gia vào quá trình đóng gói, và xác định bản tin nào là thuộc về
node thu này không.

Một điều đáng chú ý của CAN là khả năng mềm dẻo trong triển khai của dịch vụ trên
LLC và trong khả năng chọn kênh truyền tin vật lý, từ đó có thể khơng cần thay đổi nhiều
trong lớp MAC.
4


Lớp vật lý (physical layer).
Đặc tính của lớp vật lý trong mạng CAN là có thể ứng dụng trong nhiều hệ thống như
những hệ thống liên quan đến báo hiệu vật lý được miêu tả trong ISO11898-1 [ISO1].
Nhưng phương tiện truy nhập (ví dụ, thiết bị thu – phát) được miêu tả trong ISO11898-2
[ISO2] và ISO11898-3 [ISO3] tương ứng với tốc độ truy nhập cao và tốc độ truy nhập
thấp.
Topo mạng có thể là topo bus chung. Đường dây bus kết thúc bằng điện trở (khuyến nghị
là 120 Ohm) để triệt tiêu tín hiệu phản xạ lại. Và cũng vì lý do tín hiệu phản xạ, nên tiêu
chuẩn topo mạng CAN càng gần về một đường đơn giản càng tốt. Có thể dùng những đấu
nối bus với thiết bị truy nhập, nhưng độ dài của nó phải là ngắn nhất có thể. Ví dụ, tốc độ
1 Mb/s, độ dài đầu nối phải ngắn hơn 30cm.
Các loại bus có thể dùng như sau:
-

Bus hai dây, (đường bus là 2 đường dây dẫn, các thiết bị truy nhập được nối vào
hai dây bus đó). Trong trường hợp này cần dùng dây xoắn đôi để tránh nhiễu điện
từ.

-

Bus một dây. Rẻ hơn, đơn giản hơn, khó tránh nhiễu hơn, thường được ứng dụng
thích hợp trong ơ tơ.

-


Truyền dẫn quang. Hồn tồn tránh được nhiễu điện từ và có thể dùng trong mơi
trường nguy hiểm. Truyền dẫn quang phù hợp khi kết nối những nhà máy, xưởng
ở cách nhau xa hoặc phân bố trong một vùng rộng lớn.

Tốc độ truyền bít dữ liệu trong mạng CAN là 50Kb/s – 1 Mb/s (là tốc độ lớn nhất với
mạng CAN). Chiều dài lớn nhất của bus CAN phụ thuộc trực tiếp vào tốc độ bit. Hai
thông số này cũng liên quan đến các thông số khác như độ trễ do bộ thu - phát và bộ
ghép nối. Ví dụ sự phụ thuộc giữa hai thơng số này: 500 kb/s ~ 100m cực đại; 125kb/s ~
500m cực đại. Bộ lặp có thể được dùng để tăng khoảng cách trong mạng hoặc mở rộng
mạng, đặc biệt khi ở những nhà xưởng rộng lớn phải truyền tốc độ bit thấp hoặc trung
bình. Tuy nhiên, nó có thể gây trễ trên đường truyền tin, vì vậy, giá trị lớn nhất của chiều
dài bus bị giảm khi tốc độ bit tăng cao. Dùng repeater cũng tạo ra được những topo khác
nhau của mạng (ví dụ, hình cây, sao, hình lược,…). Trong trường hợp này thì nếu thiết
kế tốt có thể tăng hiệu quả mở rộng vùng của mạng CAN

5


Mã hóa bit và đồng bộ hóa.
CAN dùng mã hóa thông tin NRZ, với các bit ‘0’ và ‘1’. Trong suốt qúa trình của 1 bít
mức điện áp của dây được giữ nguyên. Thông tin đồng bộ không được mã hóa với dữ
liệu. Đồng bộ bit của mỗi node được thực hiện bằng vịng khóa pha số (DPLL), nó sẽ
tách thơng tin định thời trực tiếp từ dịng bit nhận được từ bus, sườn của tín hiệu được
dùng cho đồng bộ đồng hồ, bù sai số và bù trôi, đồng bộ cho đồng hồ node local.
Để cung cấp mức độ đồng bộ giữa các node, thì số bit cho đồng bộ ở biên phải đủ. Để
làm được điều này, CAN dựa vào kỹ thuật nhồi bit (bit stuffing). Trong thực tế, cứ năm
bit liên tiếp có cùng giá trị của dãy bit thì node phát sẽ nhồi thêm một bit nhồi. Bit nhồi
này sẽ được dễ dàng loại bỏ bởi node thu một cách an toàn và nhận được dãy bit ngun
gốc ban đầu. Ví dụ như trong hình vẽ dưới.


Hình 2: Kĩ thuật nhồi bít
Trên lý thuyết, số lượng bit được nhồi vào nhiều nhất là cứ sau 5 bit của dãy gốc lại nhồi
thêm một bit nhồi. Như vậy, sẽ làm chậm đi tốc độ bit xuống còn 80% tốc độ bit ban đầu
khi số lượng bit nhồi là cực đại. Trong thực tế, số lượng bit nhồi sẽ nhỏ hơn như vậy, và
ảnh hưởng của bit nhồi cũng ít hơn. Và, khơng phải tất cả các trường của khung tín hiệu
truyền đều được nhồi bit như trên, mà chỉ áp dụng từ trường SOF (Start Of Frame) đến
trường CRC, cịn các trường khác của khung tín hiệu sẽ không được nhồi bit thêm.
Định dạng khung dữ liệu
Miêu tả trong ISO1 có hai dạng khung dữ liệu: Khung tiêu chuẩn, khung mở rộng. Hai
loại khung này khác nhau ở chiều dài trường nhận dạng (identifier field) và một vài bit
trong trường phân xử (arbitration). Khung tiêu chuẩn (còn gọi là CAN 2.0A) định nghĩa
11 bit trường nhận dạng, tương đương 2048 bộ nhận dạng khác nhau. Tuy nhiên, nhiều
bộ điều khiển CAN chỉ cung cấp 2032 mức (từ 0 ~ 2031). Khung mở rộng (gọi là CAN
2.0B) có 29 bit trong trường nhận dạng, tức là cung cấp hơn 500 triệu mức khác nhau để
phân biệt khung cho đủ mọi loại ứng dụng. Việc dùng nhận dạng khung mở rộng cũng
tương thích với CAN 2.0A nhưng cũng thường dẫn tới lỗi mất điều khiển, và hay dẫn đến
6


mạng không ổn định. Cho nên, bộ điều khiển CAN loại 3 được phát triển gọi là CAN
2.0B thụ động. Nó hoạt động và xử lý khung của CAN 2.0A, trong khi CAN 2.0B truyền
thống thì bỏ qua khung loại này.
Đáng lưu ý là trong thực tế, với lý do là khung của CAN 2.0A ngắn hơn và đơn giản hơn
CAN 2.0B nên hiệu quả giao tiếp cao hơn và cũng chuẩn xác hơn. Và do vậy, CAN 2.0A
được chấp nhận trong hầu hết các hệ thống CAN hiện tại. Hơn nữa, các hệ thống CAN
hướng sử dụng các giao thức ở lớp cao như CANOpen, DeviceNet thường dựa vào cấu
trúc CAN 2.0A này.
Có 4 loại khung dữ liệu: Data, remote, error và overload. Dưới đây, ta sẽ miêu tả từng
loại khung.

Khung Data:
Khung data là khung dữ liệu, để gửi tín hiệu thơng tin qua mạng.

Hình 3: Định dạng khung dữ liệu
Trong khung tiêu chuẩn và khung mở rộng có khác nhau về phân bố các trường, bit trong
phân bổ cho trường phân xử và trường điều khiển, thể hiện trong hình vẽ trên.
Trong đó:
-

SOF (Start Of Frame): 1 bit, chức năng là bắt đầu một khung, và chức năng đồng
bộ bit. Giá trị “0”.

-

Identifier: Đây là trường nhận dạng, để nhận dạng duy nhất loại khung của dữ liệu
dịch vụ đang dùng trên mạng. Lớp MAC sẽ dùng trường này để nhận dạng, quản
lý quyền ưu tiên của khung, và được dùng bất cứ khi nào có xảy ra xung đột. Giá
trị của trường nhận dạng này càng thấp thì quyền ưu tiên càng cao. Trong khung
7


tiêu chuẩn thì trường này có 11 bit, trong khung mở rộng thì ngồi 11 bit này thì
cịn có thêm 18 bit (18bit ID extension) nữa như trên hình vẽ.
-

RTR: (Remote Transmission Request). Có 1 bit. Để phân biệt giữa khung Data và
khung Remote. Giá trị “0” thì là khung data, giá trị là “1” thì là khung remote.
Khung data có ưu tiên cao hơn khung remote nếu có cùng một giá trị trường nhận
dạng.


-

IDE: Identifier extension. Có 1 bit. Dùng để nhận dạng khung này là khung tiêu
chuẩn hay khung mở rộng. Giá trị “0” thì là khung tiêu chuẩn. Giá trị “1” thì
khung này là khung mở rộng.

-

r0, r1: là 2 bit reserved. Đây là bit dành riêng, có giá trị “0”.

-

SRR: substitute remote request. 1 bit. Cũng là các bit dành riêng cho các mục đích
riêng.

-

DLC: Data length code. 4 bit. Dùng để chỉ ra độ dài của trường data trong khung.
Vì có 4 bit nên giá trị có thể từ 0 ~ 15. Nếu giá trị của trường này nằm trong
khoảng từ 0 ~ 8 thì thể hiện độ dài của trường data. Nếu nằm trong khoảng từ 9 ~
15 thì độ dài của trường data là 8 và cũng tương ứng với từng loại ứng dụng của
data.

-

0 ~ 8 byte Data: chứa từ 0 ~ 8 byte dữ liệu thông tin cần truyền trên mạng. Lưu ý
là 8 byte là độ dài lớn nhất của trường này.

-


CRC: Cyclic Redundancy Check. Dùng để kiểm tra lỗi bit.

-

ACK field: 2 bit. Báo cho node phát biết được rằng node nhận nhận đúng frame
không. Nếu 2 bit này đều bằng “0” thì báo hiệu nhận đúng frame nhận được từ
node gửi.

-

EOF: End Of Frame. 7 bit liền nhau, giá trị “1”. Thể hiện khung được nhận hồn
thiện khơng lỗi truyền dẫn cho đến bit cuối cùng của trường này.

-

IMS: intermission. 3 bit giá trị “1”. Giữa các khung khác nhau chèn thêm những
bit IMS này.

8


Remote frame
Remote frame tương tự như khung dữ liệu. Khác nhau duy nhất là chúng khơng mang dữ
liệu. (ví dụ trường dữ liệu không xuất hiện trong trường hợp này). Chúng thường được dùng để
yêu cầu một khung xác định được gửi trên mạng bởi node đầu xa. Cần chú ý rằng node
yêu cầu không biết ai là ngừoi tạo ra các thơng tin liên quan. Nó phụ thuộc vào bên nhận
để phát hiện node phải trả lời.
Trường DLC trong Remote frame xa không được sử dụng bởi giao thức CAN. Dù vậy nó
được đặt cùng giá trị như khung dữ liệu tương ứng để giải quyết trạng trường hợp mà một
vài node gửi yêu cầu từ xa có cùng số nhận dạng tại cùng một thời điểm

Cũng nên chú ý rằng do cách mà bit RTR được mã hóa, nếu một yêu cầu được thực hiện
cho một đối tượng ở cùng thời điểm mà việc truyền dẫn của đối tượng này được bắt đầu,
sự cạnh tranh được giải quyết theo hướng ưu tiên khung dữ liệu.

Khung lỗi
Khung lỗi đựoc sử dụng để thông báo cho các node trong mạng rằng một lỗi đã xảy ra.
Chúng chứa hai trường error flag và error delimiter. Có hai loại cờ lỗi (error flag) là cờ chủ
động được tạo bởi 6 bít dominant và cờ lỗi thụ động được tạo bởi sáu bít recessive. Một
cờ lỗi chủ động (active error flag) vi phạm các luật nhồi bít hoặc các phần định dạng cố
định trong khung đang được trao đổi. Vì vậy, nó biểu thị một trường hợp lỗi mà trường
hợp lỗi này được phát hiện bởi tất cả các trạm còn lại kết nối vào mạng. Mỗi node phát
hiện được một trường hợp lỗi sẽ phát ra một cờ lỗi. Bằng cách này, theo sự truyền dẫn
của cờ lỗi, có từ 6 đến 12 bit dominant trên bus
Trường “error delimiter” bao gồm 8 bit recessive. Sau khi truyền một cờ lỗi. mỗi node bắt đầu
gửi bit recessive đồng thời giám sát trạng thái bus cho đến khi một bit recessive được tìm thấy. Khi
đó, node gửi 7 bits recessive như thế là hồn chỉnh trường error delimiter.

Overload frames
Khung quá tải có thể được sử dụng bởi các bên nhận chậm để làm chậm họat động của
mạng. Điều này được thực hiện bằng cách thêm độ trễ giữa các các dữ liệu liên tiếp
và/hoặc các khung đầu xa. Định dạng khung rất giống với khung lỗi. Đặc biệt nó chứa
một cờ quá tải được theo sau bởi một delimiter tràn . Chú ý rằng các bộ điều khiển CAN
ngày nay là rất nhanh nên khung quá tải này hầu như không sử dụng.
9


Kĩ thuật truy nhập
Cơ chế điều khiển truy nhập mà CAN tin dùng là CSMA (carrier sense multiple access).
Khi không có khung nào được trao đổi, mạng rỗi và mức độ sử dụng trên bus là
recessive. Trước khi gửi một một khung, các node phải có được trạng thái của mạng.

Nếu mạng rỗi, khung được truyền ngay tức khắc. Nếu không, node mạng phải chờ việc
truyền khung hiện tại kết thúc. Mỗi khung bắt đầu với bit SOF ở trạng thái “dominant”
thông báo cho các node khác rằng mạng đã chuyển tới trạng thái bận.
Mặc dù là hiếm khi xảy ra nhưng có thể hai hoặc nhiều hơn các node mạng cùng bắt đầu
truyền tại một thời điểm. Điều này có thế xảy ra vì trễ lan truyền trên bus dù sao cũng
lớn hơn khơng. Vì vậy một node có thể bắt đầu truyền trong khi bít SOF của khung khác
cịn đang đi trên bus. Trong trường hợp này thì xung đột sẽ xảy ra. Trong mạng CSMA
dựa trên phát hiện xung đột, điều này chắc chắn dẫn đến các khung liên quan bị hỏng và
như thế có nghĩa là chúng phải được truyền lại. Hậu quả là tốn thời gian và băng thông
hiệu dụng của mạng giảm. Trong điều kiện tải cao, nó có thể dẫn đến nghẽn: Khi số
lượng xung đột là quá cao đến mức mà băng thông hiệu dụng trên mạng Ethernet thấp
hơn tốc độ dữ liệu cần truyền, mạng sẽ bị trễ.
Không giống như Ethernet, CAN có thể giải quyết cạnh tranh một cách chắc chắn để cả thời
gian lẫn băng thông thông không bị bỏ phí. Vì vậy điều kiện nghẽn có thể khơng xảy ra nữa
và tồn bộ băng thơng lí thuyết của hệ thống là sẵn sàng thực sự cho truyền thông.
Sự thực là sự canh tranh trên CAN xảy ra thường xuyên hơn mọi ngừoi nghĩ. Khi một
node có một khung cần truyền nhận thấy bus bận hoặc không cạnh tranh, nó chờ cho kết
thúc trao đổi khung hiện tại và ngay sau khi thời gian nghỉ trơi qua, nó bắt đầu truyền. Ở
đây node này có thể cạnh tranh với các node khác cũng có yêu cầu truyền vừa được tạo
ra. Trong trường hợp này, các node khác đồng bộ đúng thời điểm bít SOF đầu tiên được
nhận thấy trên mạng.
Điều này có nghĩa rằng hoạt động của mạng CAN là một hàng đợi truyền dẫn phân bố
diện rộng ở đây các bản tin được lựa chọn cho truyền dẫn theo thứ tự ưu tiên.

Phân xử bus
Đặc tính khác biệt nhất của kĩ thuật truy nhập của mạng CAN là khả năng giải quyết một
cách triệt để bất kì xung đột mà nó có thể xảy ra trên mạng. Lần lượt, nó có thể thực hiện
bởi cơ chế phân xử bằng cách tìm ra khung nào khẩn cấp nhất mỗi lần có cạnh tranh bus.
Cơ chế phân định bus cho phép sự xung đột được giải quyết bằng cách dừng truyền dẫn
của các khung liên quan ngoại trừ khung có độ ưu tiên cao nhất (ví dụ bộ nhận dạng thấp

10


nhất). Kĩ thuật phân xử khai thác các tính năng đặc biệt của lớp vật lí của CAN và phối
hợp giữa tất cả các node. Đặc biệt, mức độ của bus là dominant nếu tối thiểu một node
đang gửi một bit dominant hoặc ngược lại mức độ trên bus là recessive nếu tồn bộ các
nơt đang phát các bít recesive.
Bằng phương pháp kĩ thuật đếm ngược nhị phân (binary countdown), ngay sau bit SOF,
mỗi node phát bộ nhận dạng bản tin một cách nối tiếp trên bus, bắt đầu từ bít quan trọng
nhất. Khi phát, mỗi node kiểm tra trạng thái trên bus so với giá trị của bit đang được phát
ra. Nếu node đang phát một bít recesive, ngược lại trạng thái trên bus là cao dominant,
node hiểu rằng nó mất sự cạnh tranh và rút lui ngay tức khắc. Đặc biệt, nó ngừng phát và
thiết lập cổng đầu ra của nó ở trạng thái “recessive” để khơng can thiệp với các node đang
cạnh tranh khác. Đồng thời nó chuyển tới trạng thái nhận để đọc các khung đến.
Kĩ thuật đếm ngựoc nhị phân đảm bảo rằng trong trường hợp một xung đột xảy ra, toàn
bộ các node đang gửi khung ưu tiên thấp hơn sẽ không truyền dẫn vào lúc cuối của
trường phân xử (arbitration field) ngoại trừ node đang gửi khung có độ ưu tiên cao nhất
(cũng chú ý rằng node chiến thắng thậm chí khơng nhận ra là có xung đột xảy ra). Có
nghĩa là hai node trong một mạng CAN không thể phát các bản tin liên quan đến cùng
một đối tương (đặc trưng bởi một cùng một bộ nhận dạng) ở cùng một thời điểm. Nếu
khơng, thì sự xung đột khơng thể quản lí có thể xảy ra, nó gây ra các lỗi truyền dẫn. Nó
sẽ gần như chắc chắn dẫn đến bùng nổ lỗi trên bus vì đặc tính truyền lại tự động của bộ
điều khiển CAN cho đến khi các trạm liên quan được ngắt ra bởi cơ chế giới hạn lỗi.
Như vậy thì chỉ một node có thể phát một đối tượng.
Một ngoại lệ đối với luật này là các khung khơng có trường dữ liệu, ví dụ các khung đầu
xa. Trong trường hợp này, nếu một xung đột xảy ra giữa các khung có cùng một bộ nhận
dạng, chúng sẽ gối lên nhau hồn tồn và vì vậy khơng cịn xung đột thực sự xảy ra. Nó
cũng đúng với khung dữ liệu có trường dữ liệu khơng rỗng miễn là nội dung của trường
này là giống hệt toàn bộ các khung có chung bộ nhận dạng. Dù vậy, nó là khơng có ý
nghĩa nếu gửi các khung có trường dữ liệu thế này.

Tất cả các node mất cạnh tranh phải cố gắng phát lại ngay sau khi sự trao đổi của khung
hiện tại kết thúc. Các node sẽ cố gắng gửi các khung lại ngay sau khi thời gian nghỉ được
nhận thấy trên bus. Ở đây, một sự xung đột mới có thể xảy ra liên quan đến các khung
được gửi bởi các node mà yêu cầu truyền dẫn cho các node này được tạo ra khi bus đang
bận.
Một ví dụ chỉ rõ họat động của pha phân xử trong CAN được phác ra trong hình 4. Ở
đây, ba node (là các nôt A, B, và C) bắt đầu phát một khung ở cùng thời điểm (có thể ở
cuối thời gian nghỉ sau khi khung trước đó được phát). Ngay sau khi một node hiểu nó
11


mất cạnh tranh, nó chuyển mức độ đầu ra của nó tới giá trị recessive để nó khơng giao
tiếp với các node phát khác nữa. Sự kiện này xảy ra khi node A gửi bit ID5 trong khi đối
với node B nó xảy ra ở bit ID2. Node C có thể gửi tồn bộ trường bộ nhận dạng và sau
đó nó có thể tiếp tục phát phần cịn lại của khung

Bộ nhận dạng

SOF

4

3

RTR

10

9


8

7

6

5

2

Dòng bit gửi bởi node A (msg. id.
= 100 111xxxxx)

1

0

0

1

1

1

Dòng bit gửi bởi node B (msg. id.
= 100 1101 11xx)

1


0

0

1

1

0

1

1

1

Dòng bit gửi bởi node C (msg. id.
=100 1101 1010)

1

0

0

1

1

0


1

1

0

1

0

Mức trên bus
Chế độ nhận
Chế độ nhận

1

0

Điều khiển và dữ liệu

Hình 4: Pha phân xử trong CAN
Quản lí lỗi
Một trong những yêu cầu chính, cơ bản trong định nghĩa giao thức CAN là sự cần thiết
để có một hệ thơng tin mạnh mẽ, có thể phát hiện ra hầu như các lỗi truyền dẫn. Vì vậy,
phần định nghĩa quản lí lỗi được quan tâm đặc biệt.
Đặc tả CAN đưa ra năm cơ chế khác nhau để tìm lỗi truyền dẫn:
1. Kiểm tra mã vòng dư ( Cyclic redundancy check). Khi truyền một khung, node truyền
sẽ thêm 15 bit mã CRC vào cuối của khung. Node nhận sẽ xem xét lại CRC xem nó có
phù hợp với khung được phát. Nói chung, CRC được sử dụng trong CAN có thể phát

hiện lên tới 5 bít lỗi được phân bố bất kì trong khung hoặc một cụm lỗi lên tới 15 bit.
2. Kiểm tra khung: Các trường định dạng cố định trong khung nhận được có thể dễ dàng
được kiểm tra lại giá trị mong muốn. Ví dụ như trường CRC và ACK delimiter cũng như
trường EOF phải ở mức độ recesive. Nếu một hoặc nhiều hơn các bit sai được phát hiên,
khung lỗi sẽ phát lại.
3. Kiểm tra xác nhận (Acknowledgement check): node phát kiểm tra xem bit ACK có được
đặt giá trị “dominant” trong khung nhận được không. Nếu không, một lỗi
acknowledgement sẽ được tạo ra.
12


4. Bit giám sát: Mỗi node phát sẽ so sánh trạng thái trên bus so với giá trị của bit đang
được phát ra. Nếu khơng phù hợp thì lỗi sẽ được tạo ra. Việc kiểm tra lỗi như thế này rất
hiệu quả trong việc tìm kiếm lỗi nội bộ có thể xảy ra trong node phát.
5. Bit nhồi (bit stuffing): Mỗi node kiểm tra luật nhồi bít từ bit SOF tới CRC xem có bị
vi phạm khơng. Lỗi này xảy ra khi phát hiện 6 bit giá trị giống hệt nhau trên bus.
Xác xuất lỗi trong bản tin không được tìm ra trong mạng CAN ở điều kiện họat động
thực tế đã được đánh giá khoảng 4.7x10−11 hoặc ít hơn.

Giới hạn lỗi
Để tránh một node đang họat động sai gửi lặp các khung lỗi gây ra nghẽn tồn bộ mạng,
có cơ chế giới hạn lỗi trong đặc tả CAN. Đơn vị giới hạn lỗi giám sát lớp con MAC xem
có họat động đúng khơng, nếu node họat động sai, nó sẽ ngắt node ra khỏi bus. Cơ chế
giới hạn lỗi được nghĩ ra để phân biệt sự khác nhau giữa hư hỏng vĩnh viễn và các xáo
trộn ngắn mà nó gây bùng lên các lỗi trên bus. Theo cơ chế này, mỗi node có thể ở một
trong ba trạng thái sau:
-

Lỗi chủ động
Lỗi bị động

Bus bị ngắt

Các node lỗi chủ động và lỗi bị động xảy ra trong truyền thông ở cùng một cách. Dù
vậy, chúng phản ứng đối với điều kiện lỗi là khác nhau. Chúng gửi cờ lỗi chủ động
trước và gửi cờ lỗi bị động sau đó. Đó là vì một node lỗi bị động đã trải qua vài lỗi, vì
vậy nó nên tránh can thiệp họat động của mạng (một cờ lỗi bị động thực sự không làm
sai lạc việc trao đổi khung đang xảy ra).
Đơn vị giới hạn lỗi sử dụng hai bộ đếm để giám sát hoạt động của node tương ứng với
lỗi truyền dẫn và được gọi là bộ đếm lỗi truyền dẫn (transmission error count -TEC) và
bộ đếm lỗi nhận (receive error count -REC). Quy luật của TEC và REC khá phức tạp
nhưng có thể được tóm tắt như sau: Mỗi lần lỗi được phát hiện, bộ đếm tăng lên một số
lượng nhất định, ngược lại khi trao đổi thành cơng thì chúng giảm đi một. Thêm nữa, số
lượng tăng lên cho mỗi node mà được phát hiện có lỗi lần đầu cao hơn node mà đơn
giản chỉ trả lời cờ lỗi. Bằng cách này, bộ đếm của các node lỗi tiến đến giá trị cao hơn
node đang họat động chuẩn thậm chí khi thỉnh thoảng có lỗi vì nhiễu điện từ.

13


Khi bộ đếm vượt giá trị ngưỡng đầu tiên (127), node được chuyển đến trạng lỗi thụ động để
cố gắng khơng ảnh hưởng đến mạng. Ở thời điểm này, nó có thể khơng phát bất kì khung
nào trên mạng và nó có thể được chuyển tới trạng thái lỗi chủ động sau khi nó được reset và
cấu hình lại.

Dịch vụ truyền thông
Theo đặc điểm kỹ thuật ISO [ISO1], lớp con LLC của CAN cung cấp hai dịch vụ truyền
thông: L_DATA, được sử dụng để phát đi các giá trị của một đối tượng cụ thể qua
mạng, và L_REMOTE được sử dụng để hỏi về giá trị của một đối tượng cụ thể được phát
đi từ thiết bị khác. Từ đó
xem, những tín hiệu gốc được thực hiện trực tiếp

trong H/W bởi bộ điều khiển mạng CAN
Không giống như hầu hết các giao thức mạng khác dựa vào địa chỉ nút , CAN thông qua
các thông điệp, mỗi thông điệp được trao đổi qua mạng (thường được gọi là một đối
tượng) được gán một ID duy nhất, mà biểu thị rõ ràng ý nghĩa của các đối tượng
đó trong tồn bộ hệ thống.
Truyền thông được thực hiện trong CAN. Trong thực tế, xác định các đối tượng được
trao đổi qua mạng theo thông điệp của chúng chứ không phải là nút họ đang dự định , khi
đó phép đa truy cập và làm cho nó rất dễ dàng kiểm sốt quản lý các tương tác giữa các
thiết bị theo mơ hình mạng.Việc trao đổi thông tin trong CAN diễn ra theo ba giai
đoạn được thể hiện trong hình 5:
1. Đóng gói thơng tin mã hóa và truyền các khung liên quan trên bus (kỹ thuật phân chia
truy
nhập
sẽ giải
quyết
bất
kỳ tranh
chấp
bus có thể
xảy
ra);
2. Do thông tin được truyền trên cả bus, nên mỗi node đều nhận được và xử lý trong bộ
đệm của node đó

14


Hình 5
3. Chức năng lọc (FAF) tại mỗi nút xác định có hay khơng có thơng tin là liên quan
đến các node của mình. Để có cơ sở xử lý hoặc bỏ đi

Trong trao đổi dữ liệu được mô tả trong hình 5, nút B là truyền một số loại thơng tin, có
liên quan tới các nút A và D. Node C, thay vào đó,khơng quan tâm đến dữ liệu này, do
đó, họ bị từ chối bởi các chức năng lọc (chức năng FAF được định trước).
Mơ hình cho sự tương tác các thiết bị
Kỹ thuật truy cập của CAN làm cho mạng này đặc biệt thích hợp để sử dụng trong hệ
thống phân phối mà giao tiếp theo các mơ hình Producer/consumer. Trong mạng này dữ
liệu được gửi lên bus và được định danh rõ trong thông điệp gủi lên bus. thơng tin được
gửi trong CAN ngay khi nó trở nên sẵn sàng, mà không cần sự can thiệp của một bộ điều
phối tập trung. Điều này sẽ cải thiện sự đáp ứng của toàn bộ hệ thống.
Mạng CAN cũng được sử dụng để kết nối các thiết bị trong các hệ thống dựa trên
một mơ hình giao tiếp thơng thường master-slave . Trong trường hợp này, chủ có
thể sử dụng các thông điệp để hỏi thông tin trên bus. Node sẽ trả lời bằng 1 bản tin khác
với các thơng tin liên quan.
Từ đó thấy được sự tương tác giữ các thiết bị được thực hiện trong CAN một
cách khá linh hoạt hơn hơn master-slave mạng thông thường, chẳng hạn như Profibus
DP. Trong CAN, nó khơng cần thiết để trả lời (khung dữ liệu) theo yêu cầu (từ xa khung)
ngay lập tức. Nói cách khác, mạng bận trong khi thiết bị đang cố gắng gửi trả lời. Điều
này cho phép tồn bộ băng thơng về mặt lý thuyết có sẵn cho các ứng dụng. Hơn nữa, câu
trả lời có chứa giá trị được yêu cầu phát sóng trên tồn bộ mạng lưới, và do đó nó có thể
được đọc bởi tất cả các nút liên quan, ngoài các yêu cầu truyền từ xa.
3 Các tính năng chính của CAN
Kỹ thuật truy cập trung bình mà CAN cơ bản thực hiện mỗi nút được kích hoạt để cạnh
tranh trực tiếp cho bus sở hữu ,để nó có thể gửi tin nhắn riêng của mình (điều này có
nghĩa rằng CAN là một hệ thống đa chủ thực sự). Điều này có thể được thuận lợicho sử
dụng
trong các hệ thống hướng
sự
kiện.

Ưu điểm

CAN đơn giản hơn và mạnh mẽ hơn so với các chương trình truy cập dựa trên mã thơng
báo (ví dụ như Profibus khi được sử dụng trong cấu hình đa chủ). Trong thực tế, không
15


cần phải xây dựng hoặc duy trì vịng hợp lý, cũng không phải để quản lý việc lưu hành
các mã thông báo xung quanh các trạm chủ.Trong cùng một cách, đáng chú ý hơn
linh hoạt hơn so với các giải pháp dựa trên thời gian đa truy cập (TDMA) hoặc tin
nhắn kết hợp phương pháp tiếp cận - hai kỹ thuật được thông qua bởi Sercos
và INTERBUS, tương ứng. Điều này là bởi vì tin nhắn trao đổi khơng phải được
biết trước.
Khi so sánh với FIP, cuối cùng, nó khơng cần thiết để có một nút
trong mạng đóng vai trị phân xử bus, có thể trở thành một điểm lỗi của tồn bộ hệ thống.
Vì trong CAN tất cả các nút có thể là nút chủ (ít nhất là từ điểm nhìn của các cơ
chế MAC), nó rất đơn giản cho họ để thông báo cho các lỗi không đồng
bộ, chẳng hạn như báo động hoặc các điều kiện lỗi nghiêm trọng. Trong tất cả các trường
hợp quan trọng, CAN rõ ràng là tốt hơn so với các trích dẫn các giải pháp trên.
Nhờ cơ chế phân xử, chắc chắn rằng thơng điệp sẽ khơng trì hỗn bằng cách ưu tiên thấp
hơn trao đổi (hiện tượng này được gọi là đảo ngược ưu tiên). một tin nhắn vẫn có thể bị
trì hỗn bởi một ưu tiên thấp hơn đã bắt đầu truyền. Điều này là không thể tránh
khỏi trong bất kỳ hệ thống . Tuy nhiên, như kích thước khung truyền của CAN là rất
nhỏ (khung hình tiêu chuẩn 135 bit dài nhất ), ngăn chặn thời gian của các tin nhắn khẩn
cấp nói chung khá thấp. Điều này làm cho CAN có mạng lưới đáp ứng, giải
thích lý do tại sao nó được sử dụng trong nhiều ứng dụng điều khiển thời gian thực mặc
dù băng thông hẹp.
Các đặc điểm trên đã được xem xét cẩn thận khi giao nhận dạng khác nhau
các đối tượng đã được trao đổi trong các ứng dụng điều khiển phân tán thời gian thực. tin
nhắn khẩn cấp nhất (tức là, các tin nhắn đặc trưng bởi thời hạn chặt chẽ) nên được chỉ
định ID thấp nhất (ví dụ, ID 0 nhãn thơng điệp có ưu tiên cao nhất trong bất kỳ
mạng CAN).

Nhược điểm
Mặc dù vốn đã khá hoàn hảo, nhưng kỹ thuật giám sát của CAN lại đặt ra những
hạn chế nghiêm trọng về hiệu suất có thể thu được bằng mạng. Trong thực tế, để cho cơ
chế phan xử bus hoạt động chính xác, nó là cần thiết cho tín hiệu để truyền từ một
nút nằm ở một đầu bus xa nhất (ở đầu kia) và trở về với nút đầu tiên trước khi tăng mức
độ thông điệp trên bus.
Thời điểm lấy mẫu nằm khoảng giữa của mỗi bit (vị trí chính xác có thể được lập trình
cho thiết bị), trễ truyền cũng do phân cứng của máy thu phát , ngắn hơn khoảng 1 / 4 thời
gian bit (giá trị chính xác phụ thuộc cấu hình thời gian bit trong bộ điều khiển CAN).
16


Khi tốc độ lan truyền của tín hiệu là cố định (khoảng 200 m / μsec trên dây đồng), điều
này có nghĩa là tối đa độ dài cho phép bus nhất thiết phải hạn chế, và phụ thuộc
trực tiếp vào tỷ lệ bit chọn cho mạng. Ví dụ, một 250 kb / s mạng CAN có thể dài nhất
200 m. Tương tự như vậy, chiều dài bus tối đa cho phép khi tốc độ bit được chọn bằng
1 Mb / s là 40 m .Điều này, đến một mức độ nào đó, giải thích lý do tại sao tỷ lệ bit tối
đa được cho phép bởi các chi tiết kỹ thuật CAN [ISO1] đã được giới hạn trong 1 Mb / s.
Đó là giá trị lưu ý rằng giới hạn này phụ thuộc vào các yếu tố vật lý, và do đó nó khơng
thể được khắc phục bất kỳ cách nào bởi những tiến bộ trong công nghệ thu phát (để làm
một so sánh, nó nên được đề cập rằng, hiện nay, một số công nghệ truyền thông rẻ tiền có
sẵn trên thị trường cho phép tỷ lệ bit theo thứ tự của hàng chục hoặc hàng trăm Mb / s).
Trong số các giải pháp có thể được hình thành để nâng cao các hiệu
suất của CAN, có thời gian kích hoạt CAN (TTCAN) giao thức [TTC], mà những con
chip đầu tiên có sẵn. Nếu truyền khơng đồng bộ khơng được phép trong hệ thống (có
nghĩa là kỹ thuật phân chia truy cập là không thực sự được sử dụng), TTCAN hiệu
quả hoạt
động
như một
hệ

thống TDMA và
do
đó
khơng có giới hạn về tỷ lệ bit (mà có thể được tăng lên vượt quá giới hạn lý thuyết
của CAN). Tuy nhiên, hoạt động của mạng lưới kết quả đáng chú ý là khác nhau từ CAN.
Các giải pháp khác đã xuất hiện trong các tài liệu, chẳng hạn như
WideCAN WCAN], trong đó cung cấp tỷ lệ bit cao hơn và vẫn dựa trên kỹ thuật phân xử
CAN thông thường. Tuy nhiên, hiện nay, quan tâm của họ chủ yếu là lý thuyết.
Thực hiện
Theo kiến trúc điều khiển CAN có thể được phân loại thành hai loại khác nhau:
BasicCAN và FullCAN.
Các bộ điều khiển BasicCAN được cung cấp bộ đệm truyền nhận như trong truyền thống
UARTs. Khung lọc chức năng, tránh tràn thì bộ đệm có kich thước gấp
đơi , cho phép một khung mới được nhận được từ bus trong khi trước đó đang được đọc
bởi bộ
điều
khiển . Một

dụ
về một
bộ
điều
khiển
dựa trên chương trình BasicCAN được cho bởi Philips PCA82C200.
FullCAN triển khai, thay vào đó, thấy trước một số lượng bộ đệm nội bộ có thể được cấu
hình để nhận hoặc truyền tải một số thông điệp đặc biệt.Trong trường hợp này, chức
năng lọc được thực hiện trực tiếp ở điều khiển CAN.1 khung dữ liệu liên quan đến nút
được nhận từ mạng, nó được lưu trữ trong bộ đệm , sau đó có thể được đọc bởi bộ điều
khiển Nói chung, giá trị mới chỉ đơn giản là ghi đè lên những giá trị trước đó, và điều này
17



khơng dẫn đến một tình trạng bị tràn (giá trị cũ của một biến được thay thế bởi một một
mới hơn). Intel 82526 và82527 bộ điều khiển CAN được dựa trên kiến trúc FullCAN
Bộ điều khiển FullCAN, nói chung, bộ điều khiển của một số hoạt động do đó được coi
là mạnh hơn so với bộ điều khiển BasicCAN, tuy nhiên, gần đây nhất bộ điều khiển
CAN nhúng có các nguyên tắc hoạt động của cả hai kiến trúc ở trên.
4 CAN-dựa trên giao thức ứng dụng
Để giảm chi phí thiết kế và thực hiện hệ thống tự động, một số ứng dụng cấp cao hơn trên
giao thức đã được định nghĩa trong những năm qua, dựa trên trao đổi dữ liệu bằng các
ban tin giữa các nút ( tất cả các chức năng của các lớp liên kết dữ liệu CAN được thực
hiện trực tiếp trong phần cứng trong các bộ điều khiển CAN hiện hành) làm tăng hiệu quả
và độ tin cậy của việc trao đổi dữ liệu). Mục đích của các giao thức như là có thể sử
dụng các dữ liệu gốc.
Hiện nay, hai trong số các giải pháp phổ biến rộng rãi nhất cho việc kiểm sốt q
trình và sản xuất tự động là CANopen [COP] và DeviceNet [DNET]. Cả hai đều xác định
một đối tượng mô tả hành vi của thiết bị. Điều này cho phép khả năng tương tác và thay
thế trong thiết bị đến từ các nhà sản xuất khác nhau. Trong thực tế, miễn là một thiết
bị phù hợp với một thống số nhất định, có thể được sử dụng thay thế cho thiết bị khác
cùng thơng số đó
CANopen
CANopen ban đầu được hình thành dựa trên các dịch vụ truyền thơng được cung cấp bởi
lớp ứng dụng CAN (CAL). Tuy nhiên, các thơng số kỹ thuật mới nhất [DS301] khơng
cịn rõ ràng . Thay vào đó, các dịch vụ truyền thơng có liên quan đã được nhúng trực
tiếp trong CANopen. Trong CANopen, các phương tiện thông tin liên lạc đối tượng
(COBs
● Đối tượng dữ liệu xử lý (PDOs), được sử dụng để trao đổi thời gian thực, chẳng
hạn như thông tin sử dụng để kiểm soát các hệ thống vật lý;
● Đối tượng dữ liệu dịch vụ (SDOs), được sử dụng cho các thông tin liên lạc không-thời
gian

● Đối tượng khẩn cấp (EMCY), được sử dụng bởi các thiết bị thông báo cho các ứng
dụng kiểm
khi
có lỗi
đã
xảy
ra;

18


● Đối tượng đồng bộ hóa (SYNC), được sử dụng để đạt được sự động đồng bộ và phối
hợp trong hệ thống.
Mặc dù kỹ thuật truy nhập CAN tới các node thông qua master, hệ thống CANopen hoạt
động kiểu master/slave, để đơn giản hóa cấu hình hệ thống và quản lý
mạng. trong một mạng CANopen có chỉ là một ứng dụng chủ (chịu trách nhiệm thực
sự kiểm soát hoạt động của hệ thống ) và lên đến 127 thiết bị slave (cảm biến / các thiết
bị truyền động). Mỗi thiết bị được xác định bằng một địa chỉ 7-bit duy nhất, được gọi
là định danh nút, trong một phạm vi từ 1 đến 127.
Lưu trữ thông tin đối tượng
Bất kỳ thiết bị CANopen được mơ tả hồn tồn bằng thơng tin của đối tượng, mỗi đối
tượng giải quyết liên quan đến thơng tin liên lạc trên bus có thể hoặc chức năng có sẵn
để tương tác với hệ thống điều khiển vật lý (ví dụ xác định loại thiết bị, tên của nhà sản
xuất, phiên bản phần cứng và phần mềm).
Tất cả các đối tượng có liên quan đến một nút cho trước đó được lưu trữ lại được gọi
là (OD) của nút đó. Với 16 bít địa chỉ lưu.
Các từ điển đối tượng được chia thành bốn phần riêng biệt, theo chỉ số . Chỉ số
1000H được sử dụng để xác định các kiểu dữ liệu. Chỉ số từ 1000H -1FFFH, thay vào
đó, được sử dụng để mơ tả các thơng số cụ thể (ví dụ, giao diện của thiết bị như
của mạng CAN). Chỉ số từ 2000H để 5FFFH được sử dụng bởi các nhà sản xuất thiết

lập cơ bản của các chức năng của thiết bịvà để mở rộng . Cuối cùng, chỉ số
từ 6000H để 9FFFH được sử dụng để mô tả tất cả các đặc điểm thiết bị (như được định
nghĩa trong một cấu hình thiết bị).
Quản lý mạng
Có hai loại chức năng liên quan đến quản lý mạng: điều khiển nút và kiểm soát lỗi. Node
điều khiển dịch vụ được sử dụng để kiểm sốt hoạt động của 1 node trong mạng . Ví dụ,
họ có thể được sử dụng để khởi động hoặc dùng node, để thiết lập lại trạng thái , hoặc cấu
hình node
Dịch vụ kiểm sốt lỗi, được sử dụng để giám sát các hoạt động chính xác của mạng. Với
2 có chế là bảo vệ node và xung nhịp . nên 1 thiết bị cần gửi 1 bản tin thì lớp quản lý
mang sẽ đưa ra yêu cầu.
Phân loại thiết bị
19


Để cung cấp khả năng tương tác, một số hồ
hóa trong CANopen. Được liệt kê như sau:

sơ thiết

bị đã được

chuẩn

● Các thiết bị I / O [DS401], trong đó bao gồm cả hai đầu vào kỹ thuật số và analog / đầu
ra
thiết
bị.
● Ổ đĩa và điều khiển chuyển động, được sử dụng để mô tả cácsản phẩm kỹ thuật
số chuyển

động,
chẳng hạn như, ví
dụ, động cơ bước và servo-ổ
đĩa.
● Giao
diện
người
máy
● Các thiết bị đo và điều khiển vịng kín, để đo lường và kiểm sốt số lượng vật lý.
● IEC
61131-3 các
thiết
bị
lập
trình
● Thiết bị mã hóa
DeviceNet
DeviceNet [DNET] là một giao thức rất linh hoạt để được sử dụng trong các môi
trường tự động. Cần lưu ý rằng tiết bị hoạt đông với DeviceNet hơi phức tạp hơn so
với các thiết bị CANopen. Tuy nhiên, DeviceNet cung cấp tính năng bổ xung
cho CANopen như mạng phức tạp với nhiều thiết bị chủ
Thêm vào đó là các dịch vụ trên lớp ứng dụng, các đặc điểm kỹ thuật
DeviceNet cũng xác định chi tiết lớp vật lý như kết nối và dây cáp (cáp mỏng, dày ). Cần
lưu ý rằng cáp trong DeviceNet có thể được sử dụng cho cảtín hiệu và cấp nguồn (bằng
cách sử dụng bốn dây cộng với dây đất).
Mỗi mạng DeviceNet có thể bao gồm đến 64 thiết bị khác nhau,có nghĩa là mỗi nút được
xác định bằng một ID MAC 6-bit. Các tỷ lệ bit cho phép tốc độ bít 125, 250, và 500 kb/s,
có nghĩa là chiều dài bus cho phép là 100m.
Mơ hình đối tượng
Các xử lý và chức năng của mỗi thiết bị được mô tả chi tiết trong DeviceNet đó là truyền

thơng, hệ thống, và ứng dụng cụ thể các đối tượng. xác định tất cả các các khía cạnh liên
quan đến một kết nối (bao gồm cả định danh CAN và chế độ kích hoạt )
Dữ liệu và dịch vụ trong mỗi thiết không được giải quyết bằng phân cấp, mà là dựa trên
các thành phần sau đây: MAC ID (tức là, địa chỉ của thiết bị), ID lớp, ví dụ ID, thuộc
tính ID, và mã dịch vụ. Bốn định danh đầu tiên thường đượcquy định vào ngay
8 bit, trong khi các dịch vụ mã bao gồm một số ngun 7-bit.
Mơ hình truyền thơng

20


Truyền thông giữa các nút (hoặc điểm điểm hoặc đa điểm) diễn ra theo một mơ hình
hướng đối tượng. Bằng cách sử dụng 11-bit ID, nó có thể cung cấp một địa chỉ dựa trên
bốn nhóm tin nhắn, theo một thứ tự giảm ưu tiên:
• Nhắn tin nhóm 1 bao gồm các định danh ưu tiên cao nhất, và cho phép lên đến
16 thơng điệp khác nhau mỗi nút;
• Nhắn tin nhóm 2 về cơ bản đề cập đến các master/slave kết nốithiết lập được xác
định trước;
• Nhắn tin nhóm 3 là tương tự như nhóm tin nhắn 1, nhưng nó bao gồm các ưu
tiên khung thấp;
• Nhắn tin nhóm 4 chủ yếu được sử dụng cho quản lý mạng.
Về cơ bản, hai loại thơng tin liên lạc có thể là: thông điệp rõ ràng và I / O thông
báo. Thông điệp được sử dụng để trao đổi dữ liệu chung giữa các thiết bị, chẳng hạn như
cấu hình, quản lý, và chẩn đoán. Loại trao đổi diễn ra trên mạng lưới ở mức ưu tiên
thấp. I / O tin nhắn được sử dụng để trao đổi tin nhắn thời gian thực ưu tiên cao theo mơ
hình product/customer.
Bởi vì hệ thống truyền thông cơ bản là dựa trên một mạng CAN,mỗi khung dữ liệu có thể
bao gồm nhiều nhất là 8 byte. Nếu một mục dữ liệu vượt quá kích thước này, một giao
thức phân mảnh đã được quy định tại DeviceNet quản lý tách tin nhắn và chuyển sang tin
nhắn kế tiếp.


21


Tài liệu tham khảo
[IS898] International Standard Organisation, Road Vehicles — Interchange of Digital
Information —
Controller Area Network for High-Speed Communication, ISO IS 11898, November
1993.
[ISO1] International Standard Organisation, Road Vehicles — Controller Area Network
— Part 1: Data
Link Layer and Physical Signalling, ISO WD 11898-1, 1999.
[ISO2] International Standard Organisation, Road Vehicles — Controller Area Network
— Part 2:High
Speed Medium Access Unit, ISO WD 11898-2, 1999.
[ISO3] International Standard Organisation, Road Vehicles — Controller Area Network
— Part 3: Low
Speed Medium Access Unit, ISO WD 11898-3, 1999.
[TTC] International Standard Organisation, Road Vehicles — Controller Area Network
— Part 4:
Time-Triggered Communication, ISO WD 11898-4, 2000.
[DS102] CAN in Automation International Users and Manufacturers Group e.V., CAN
Physical Layer for
Industrial Applications — Two-Wire Differential Transmission, CiA DS 102, version
2.0, 1994.
[TIN]Tindell, K.W., Burns, A., and Wellings, A.J., Calculating controller area network
(CAN) messages
response times, Control Engineering Practice, 3, 1163–1169, 1995.
[WCAN]Cena, G. and Valenzano, A., A multistage hierarchical distributed arbitration
technique for prioritybased real-time communication systems, IEEE Transactions on Industrial Electronics,

49,
22


1227–1239, 2002.
[COP] European Committee for Electrotechnical Standardisation, Industrial
Communications
Subsystem Based on ISO 11898 (CAN) for Controller–Device Interfaces — Part 4:
CANopen, EN
50325-4, 2001.
[DNET] European Committee for Electrotechnical Standardisation, Industrial
Communications
Subsystem Based on ISO 11898 (CAN) for Controller–Device Interfaces — Part 2:
DeviceNet, EN
50325-2, 2000.
[DS301] CAN in Automation International Users and Manufacturers Group e.V.,
CANopen —
Application Layer and Communication Profile, CiA DS 301, version 4.02, 2002.
[DS401] CAN in Automation International Users and Manufacturers Group e.V.,
CANopen — Device
Profile for Generic I/O Modules, CiA DS 401, version 2.0, 1999.

23



×