Tải bản đầy đủ (.doc) (62 trang)

Thực Trạng Và Giải Pháp Cho Bài Toán Điều Khiển Máy Hàn Lăn

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 (1020.32 KB, 62 trang )

Mục lục
Lời nói đầu.

PHN 1 GII THIU CHUNG...........................................3
1. Thc trng v gii phỏp cho bi toỏn iu khin mỏy hn ln.....3
1.1. Mỏy hn ln................................................................................3
1.2. H thng iu khin hin nay ca mỏy hn ln. .....................3
1.3. Gii phỏp. ..................................................................................5

PHN 2 GIAO THC CAN.................................................7
2. Lp DataLink....................................................................................7
2.1. Gii thiu....................................................................................7
2.2. Quỏ trỡnh truyn thụng trong mng CAN...................................7
2.3. Cu trỳc cỏc bn tin .................................................................11
2.4. Li v x lý li ........................................................................17
3. Lp Physical....................................................................................21
3.1. Lp PLS (Physical Signaling)..................................................22
3.2. Lp PMA( Physical Medium Attachment)..............................29
3.3. Lp MDI (Medium Dependent Interface ): CiA DS-102.........38

PHN 3 - THC HIN.........................................................40
4. Thit k thit b vo/ra phõn tỏn......................................................40
4.1. Thit k phn cng...................................................................41
4.2. Xõy dng thut toỏn chung thc hin giao thc CAN cho mt
nỳt mng..........................................................................................45
4.3. Xõy dng phn mm iu khin trờn mỏy tớnh:.......................54
Phụ lục : Họ vi điều khiển 8051.57
Tài liệu tham khảo.. 61

Lớp ĐKTĐ 3-K42


1


Lời nói đầu
Trong công cuộc Công nghiệp hoá - Hiện đại hoá của đất nớc cùng
với sự phát triển không ngừng của khoa học kỹ thuật, tự động hoá trong
các dây chuyền công nghệ là vấn đề cấp bách, có ảnh hởng trực tiếp đến
sự phát triển kinh tế nớc ta. Một trong những yếu tố quan trọng cấu thành
nên dây chuyền sản xuất hiện đại là hệ thống điều khiển tự động. Nó
góp phần làm giảm chi phí , tăng năng suất và chất lợng sản phẩm.
Trong thực trạng nền công nghiệp của nớc ta đa số là các dây truyền
lạc hậu, cơ cấu điều khiển vẫn mang nặng tính chất sử dụng sức ngời
hơn là kĩ thuật tự động hoá. Bên cạnh những dây chuyền mới nhập về
chúng ta vẫn có thể nghiên cứu nhằm thay thế hệ thống điều khiển cũ
trong các máy còn sử dụng tốt phần cơ khí.
Trong kì đồ án tốt nghiệp này, em đợc giao nhiệm vụ thiết kế hệ thống
điều khiển tự động cho hai tay máy của thiết bị hàn lăn thay thế cho hệ
thống điều khiển cũ của nó. Với sự hớng dẫn tận tình của thầy giáo Vũ
Vân Hà, em đã từng bớc tiếp xúc trực tiếp với những vấn đề thực tiễn, và
cách giải quyết vấn đề đó. Trong thiết kế đồ án này,em đã nghiên cứu và
đa ra hệ thống điều khiển có cấu trúc phân tán thay thế cho hệ thống cũ
của máy hàn. Sau đây là nội dung đồ án tốt nghiệp của em.
Phần 1 : Giới thiệu chung
I .Thực trạng và giải pháp cho bài toán điều khiển máy hàn lăn .
Phần 2 :Giao thức CAN
II . Lớp Datalink
III . Lớp Physical
Phần 3 : Thực hiện thiết kế các thiết bị phân tán
IV . Xây dựng hệ thống điều khiển.
V . Kết luận


Lớp ĐKTĐ 3-K42

2


PHN 1 GII THIU CHUNG
1. Thc trng v gii phỏp cho bi toỏn iu khin mỏy hn ln.
1.1. Mỏy hn ln.
Mỏy hn ln l mt thit b c s dng rng rói trong cỏc ngnh
cụng nghip sn xut cỏc sn phm s dng v kim loi nh hp,
sn...Mỏy hn ln cú cu to rt phc tp nhng cú th hỡnh dung cu
to ca nú theo s sau :
Bộ phận đưa

Bộ phận đưa

phôi liệu vào

Bộ phận hàn

sản phẩm ra

Cấu tạo cơ bản của máy gồm ba phần :
- Bộ phận đa phôi vào là một tay máy công nghiệp.
- Bộ phận hàn.
- Bộ phận đa sản phẩm ra là một tay máy khác.
Chu trình hoạt động của một tay máy nh sau (T1,T2,P1,P2 là các
sensor vị trí của tay máy)
P1


Sang trái

P2

T1
Sang phải
Lên
T2

Xuống
Gắp

Lên

Xuống
Nhả

Bộ phận hàn có cấu tạo rất phức tạp và cơ chế hoạt động không phải là
vấn đề ta quan tâm nên không đợc trình bày ở đây.
1.2. H thng iu khin hin nay ca mỏy hn ln.
L mt thit b c dựng ph bin, mỏy hn ln ó sm cú mt trong
cụng nghip. Cựng vi nú, cỏc b iu khin cng ó c ch to t rt
sm m ch yu l vi cụng ngh analog. Do c thự ca chc nng, cỏc
b phn ca mỏy hn thng nm cỏch xa nhau trong mt phõn xng,
mt khỏc do cụng ngh lc hu nờn cỏc b phn ny phi cú mt b iu
khin ngay bờn cnh. T thc t sn xut cho thy, cỏc b iu khin ny
Lớp ĐKTĐ 3-K42

3



thường cồng kềnh, hệ thống dây dẫn phức tạp khiến cho công tác giám
sát, điều khiển khó khăn, cộng với chi phí bảo hành, bảo dưỡng rất tốn
kém. Hình sau cho ta một hình dung về hệ thống điều khiển cũ.
I/O

Bộ phận 2

Bộ điều

Bộ điều

khiển 1

khiển 3

Bộ phận 1

Bộ phận 3

Trong đó, bộ phận 1 là một tay máy, bộ phận 2 là sensor đo vị trí của
tay máy, bộ phận 3 là một động cơ làm nhiệm vụ uốn tấm phôi liệu do
tay máy 1 đưa vào thành hình trụ...
Nhu cầu nâng cấp hệ thống điều khiển này là rất cấp bách vì nó ảnh
hưởng trực tiếp đến quá trình sản xuất, chất lượng sản phẩm.
Một hệ thống điều khiển mới sẽ được chấp nhận nếu đạt được các mục
tiêu sau :
 Đáp ứng tốt các yêu cầu về chất lượng điều khiển như tính năng thời
gian thực, ít xảy ra sự cố ...

 Thuận lợi cho người vận hành giám sát và điều khiển các bộ phận
khác nhau của máy từ trung tâm điều khiển.
 Chi phí lắp đặt và bảo dưỡng thấp.
 Dễ dàng trong việc thay thế các thiết bị điều khiển khi xảy ra hỏng
hóc.
Từ những yêu cầu trên ta thấy rằng hệ thống điều khiển mới không thể
không sử dụng mạng truyền thông công nghiệp với cấu trúc phân tán và
một giao thức truyền thông hợp lý vì mạng truyền thông công nghiệp sẽ
cho phép ta kết nối các thiết bị trường cũng như các bộ điều khiển, máy
tính điều khiển giám sát vào một đường bus duy nhất. Cấu trúc phân tán
cho phép phân tán các chức năng xuống cấp trường, giảm chi phí và
công nối dây.
Vậy vấn đề còn lại ở đây chỉ còn là chọn được một giao thức truyền
thông công nghiệp phù hợp với bài toán đã cho cũng như phải tính đến
khả năng áp dụng và mở rộng cho nhiều bài toán khác.

Líp §KT§ 3-K42

4


1.3. Giải pháp.
Như phần trên đã đề cập, việc chọn cho hệ thống điều khiển có cấu
trúc phân tán của ta một giao thức truyền thông là rất quan trọng. Một
giao thức phù hợp sẽ cho chất lượng điều khiển tốt nhưng cũng không
quá phức tạp sẽ dễ dẫn đến chi phí lớn.
Hiện nay, một số giao thức truyền thông đang được dùng phổ biến là:
Fieldbus, Profibus, CAN, Modbus...
Fieldbus, Profibus (mở rộng của Fieldbus) là những hệ thống bus
trường có nhiều ưu điểm, nhưng có cấu trúc tương đối phức tạp và

thường áp dụng cho những bài toán có phạm vi rộng, cho phép sự tham
gia của nhiều thiết bị điều khiển tự động, các trạm kỹ thuật cũng như các
phụ kiện phân tán của các hãng khác nhau cùng làm việc trên cùng mạng
bus. Việc áp dụng chúng trong phạm vi hẹp sẽ khó khăn và không cần
thiết.
Modbus thực chất là một chuẩn giao thức và dịch vụ thuộc lớp ứng
dụng (Application Layer). Nó định nghĩa một tập hợp rộng các dịch vụ
phục vụ trao đổi dữ liệu quá trình, dữ liệu điều khiển và dữ liệu chẩn
đoán. Modbus mô tả quá trình giao tiếp giữa một bộ điều khiển với các
thiết bị khác thông qua cơ chế yêu cầu/ đáp ứng. Modbus hay được dùng
trong các hệ thống thu thập dữ liệu và điều khiển giám sát (SCADA).
Trong khi đó, CAN (Controller Area Network) là một hệ thống bus,
đầu tiên được dùng để nối mạng các phương tiện giao thông cơ giới để
thay thế cách nối điểm-điểm, sau này được chuẩn hoá quốc tế trong ISO
11898 đã từng bước xâm nhập vào một số lĩnh vực tự động hoá nhờ
những ưu thế của nó như tốc độ truyền dẫn tương đối cao ở khoảng cách
ngắn và một vài đặc tính kỹ thuật khác.
Với bài toán trên, giao thức CAN tỏ ra phù hợp bởi nó có những ưu
điểm phù hợp với yêu cầu của bài toán như:
 Có thể đặt cấu hình một các mềm dẻo ( nghĩa là có thể thêm vào
mạng 1 nút mà không cần phải thay đổi gì về phần cứng, phần
mềm).
 Tính toàn vẹn của dữ liệu cao (rất thích hợp với môi trường công
nghiệp nhiễu lớn).
 Tự động phát hiện và báo lỗi.
 Tự động truyền lại bản tin đã sửa lỗi khi bus rỗi ( nâng cao hiệu
suất sử dụng bus).

Líp §KT§ 3-K42


5


 Và như trên đã nói, tốc độ truyền dẫn tương đối cao ở khoảng cách
ngắn rất thích hợp với bài toán có phạm vi địa lý hẹp.
Việc áp dụng mạng truyền thông với giao thức CAN sẽ cho phép
kết nối tất cả các thiết bị điều khiển, thiết bị vào/ra phân tán, máy tính
(có phần giao tiếp theo chuẩn CAN) vào một đường bus duy nhất, sẽ
giảm được chi phí dây nối.
Mô hình tổng quát :

Đối tượng
Máy tính

3

điều khiển
I/O
Để có thể hiểu thêm về CAN và những đặc tính kỹ thuật của giao
thức này, phần 2 sẽ trình bày chi tiết cấu trúc và đặc điểm của nó, góp
phần làm rõ lý do lựa chọn giao thức truyền thông cho bài toán điều
CAN bus
khiển máy hàn lăn.
Bộ điều

Bộ điều

khiển 1

khiển 2


Đối tượng

Đối tượng

1

2

Líp §KT§ 3-K42

6


PHN 2 GIAO THC CAN
CAN (Controller Area Network) l mt giao thc thụng tin ni tip.
Giao thc ny thc hin kt ni cỏc b iu khin di ch thi gian
thc v phõn tỏn vi an ton, tc cao.
Theo tiờu chun CAN 2.0 thỡ CAN bao gm 2 lp ca mụ hỡnh OSI l:
Datalink.
Physical.
2. Lp DataLink
2.1. Gii thiu
Trong mạng CAN, lớp thực hiện liên kết dữ liệu là lớp DataLink. Lớp
này đã đợc chuẩn hoá theo tiêu chuẩn ISO 11898. Nó gồm hai lớp con:
- Lớp Logical Link Control(LLC).
- Lớp Medium Access Control (MAC).
Lớp LLC đa ra các dịch vụ nh : Lọc bản tin ,khai báo chồng ,điều tiết
các dịch vụ.
Lớp MAC chịu trách nhiệm đóng gói dữ liệu, mã hoá khung dữ liệu,

điều tiết quá trình truy nhập trung gian, phát hiện lỗi, báo lỗi, nhận
thông báo lỗi, sắp xếp thứ tự thực hiện các quá trình trên.
2.2. Quỏ trỡnh truyn thụng trong mng CAN.
2.2.1. C ch truyn thụng
Ta xét một mạng CAN có 4 trạm tham gia truyền thông có sơ đồ :

Lớp ĐKTĐ 3-K42

7


Mạng Can cho phép nhiều trạm cùng tham gia truyền thông .Quá trình
truyền thông đợc thực hiện nh sau:
Khi một trạm đợc quyền phát đi bản tin (ở sơ đồ trên trạm 2 đang
truyền), các trạm khác lắng nghe. Sau khi nhận đợc khung bản tin phát đi
từ trạm 2 thì nhiệm vụ của các trạm còn lại là quyết định xem liệu bản
tin đó có đợc chấp nhận hay không. Quá trình truyền thông trong mạng
CAN có thể xem tơng tự nh quá trình truyền nhận của một trạm truyền
thanh, thông tin về tình hình tắc nghẽn của các tuyến đờng đợc gửi đến
tất cả các lái xe đang tham gia giao thông để từ đó họ chọn cho mình con
đờng tốt nhất.
2.2.2. Kh nng truy nhp d liu t xa
CAN cho phép thực hiện phơng thức truy cập dữ liệu của một trạm ở
xa khi có một yêu cầu gửi đến. Yêu cầu truyền dữ liệu từ xa giống nh
dạng một câu hỏi và trạm có câu trả lời sẽ đa ra dữ liệu đợc yêu cầu trong
lần giao tiếp thứ hai. Các trạm đều có thể nhận câu trả lời này nếu cần
thiết. Các khung dữ liệu này đều đợc xác định cụ thể bởi một trờng bit
đặc biệt, nó đợc coi nh là thẻ căn cớc (có thể gọi tên là Identifier). Hình
dới đây minh hoạ :Trạm 1 phát ra một yêu cầu gửi (RTR) cho trạm 2,
trạm 2 nhận đợc yêu cầu gửi, nó sẽ đáp ứng bằng khung bản tin trả lời.


2.2.3. C ch truy nhp Bus
Giao thức CAN cho phép nhiều trạm cùng tham gia truy nhập bus .
Nếu có nhiều hơn một trạm cùng đồng thời truy nhập bus thì sẽ có một
cơ chế trọng tài bit đứng ra phân xử. Phơng thức truy nhập bus ở đây gọi
là truy nhập không tích cực, sử dụng cơ chế trọng tài bit thông thái. Phơng thức này đợc gọi là Cơ chế phân xử đa truy nhập bus thông qua khả
năng tự phát hiện tranh chấp và va chạm trên cơ sở bản tin u
tiên(CSMA/CD+AMP). Sự u tiên của bản tin đợc xác định thông qua
thẻ căn cớc(Identifier). Khi bus ở trạng thái rỗi, một số trạm có thể bắt
Lớp ĐKTĐ 3-K42

8


đầu tiến hành truyền một khung bản tin. Các trạm đều có thể đồng thời
đọc từng bít một từ bus trong khi đang tiến hành gửi từng bít của một
khung bản tin và so sánh với bít vừa đợc phát đi. Nếu nút nào đó phát đi
một bit lặn mà lại đọc về một bit trội hoặc ngợc lại thì nó sẽ mất quyền
truy nhập bus. Hình vẽ sau đây cho ta thấy cả ba nút 1,2 ,4 cùng truy
nhập đờng truyền nhng chỉ có nút 2 dành đợc quyền truy nhập đờng
truyền. Điều này sẽ đợc thực hiện thông qua cơ chế bit trọng tài.

2.2.4. C ch trng ti
Nếu có hai hay nhiều nút bus cùng tham gia truyền tin tại cùng một
thời điểm sau khi phát hiện đờng bus rỗi, sự tranh chấp trong các bản tin
đợc gửi đi tại thời điểm đó đợc giải quyết nhờ thực hiện cơ chế truy nhập
bus kiểu CMSA/CA+AMP. Mỗi nút bus sẽ gửi đi các bít của bản tin căn
cớc và quan sát đờng truyền. Nút bus đợc phép gửi bản tin đi thực sự khi
mà bộ truyền xác định đợc rằng không có xung đột xảy ra trên đờng
truyền.

Hình vẽ dới đây cho ta thấy bít thứ 5 của bản tin căn cớc của nút 1 và 3
truyền đi là bít trội, trong khi đó nút 2 phát đi ở thẻ một bít lặn và đồng
thời đọc đờng bus ngợc trở lại thì nó thu đợc một bít trội, do đó nút này
mất quyền tham gia truyền tin và chuyển sang chế độ nghe đờng truyền
tức là đóng vai trò trung chuyển các bít lặn. Qúa trình truyền từng bít bản
tin căn cớc của nút 1 đến bít 2 thì bị mất quyền tham gia việc phân xử
xung đột bởi nút 3 (lúc này nó gửi đi bit trội nhng nhận lại là bit lặn).
Điều đó có nghĩa là bản tin căn cớc của nút 3 dành đợc quyền u tiên cao
nhất mà không cần phải lặp lại việc phát đi các bản tin căn cớc. Nút 3 đã
dành đợc quyền phát tin, nút 1 và nút 2 sẽ gửi bản tin sau khi nút 3 báo
kết thúc quá trình truyền của nó.

Lớp ĐKTĐ 3-K42

9


2.2.5. Cỏc dch v truyn thụng
Giao thức CAN cung cấp hai dịch vụ truyền thông .Dịch vụ Write
Object truyền một khung dữ liệu (Data Frame) từ một nút (gọi là nút
phát)và nhiều nút khác có thể nhận bản tin này (các nút này gọi là nút
nhận). Quá trình này không tính đến một nút nào đó chấp nhận bản
khung bản tin theo nghĩa đến một điểm nào đó nó mới sử dụng bản tin
này. Dịch vụ này đợc gọi là lớp dịch vụ truyền thông của mạng CAN.
Dịch vụ truyền thông thứ hai sẽ là gọi một bản tin cụ thể ,dịch vụ này
có tên là Read Object. Nó đợc khởi tạo bởi một hay nhiều nút
nhận(Consumer). Do đó các nút này sẽ truyền trở lại một khung dữ liệu
8 bit (Remote Frame). Một nút nào đó sau khi đã nhận Remote Frame
nó sẽ gửi lại một bản tin báo đã nhận đợc tơng ứng. Các điều nói trên đợc
minh hoạ rất rõ trên hình vẽ dới đây


Lớp ĐKTĐ 3-K42

10


2.3. Cu trỳc cỏc bn tin
2.3.1. Cu trỳc khung bn tin d liu.

Cấu trúc của một khung dữ liệu (Data Frame) đợc quy định bởi mỗi
nút của mạng CAN khi nút đó muốn tham gia truyền tin hoặc nó nhận đợc bản tin yêu cầu gửi của một nút nào đó.Độ dài tối đa của một khung
dữ liệu là 8 byte.
Cấu trúc của Data Frame :
Bít trội SOF ,bít này có tác dụng đồng bộ các nút tham gia truyền
thông.
Trờng trọng tài bít Arbitrtion Field cho biết nội dung và thứ tự u tiên
của bản tin.
Trờng bít tiếp theo Control Field chỉ rõ sổ các byte dữ liệu có trong
bản tin.
Trờng bít CRC(Cyclic Redundancy Check) dùng để phát hiện lỗi
truyền thông có thể có. Trờng bit CRC gồm 15 bit liên tiếp nhau và
kết thúc bởi một bít lặn.
Trong thời gian truyền 2 bit ACK(Acknowledgement ) nút nhận sẽ
gửi ra một bít lặn. Mọi nút đều thừa nhận bản tin báo lỗi nh một bản
tin đúng bằng cách gửi lại một bít trội. Cuối (End of Frame) của Data
Frame là chuỗi 7 bít lặn. Giữa hai khung dữ liệu phải là một bít lặn và
3 bit tạm dừng (Intermision Field).
2.3.1.1. Bit mở đầu Start of Frame(SOF).
Sự đồng bộ hoá chặt chẽ đợc thực hiện bất cứ khi nào xảy ra chuyển
mức tín hiệu từ trạng thái lặn sang trội(recessive-to-dominant edge)

khi:
Bus ở trạng thái rỗi.
Đờng truyền ở trạng thái tổng trở cao(treo cao).
Bít cuối của chuỗi bít dừng(Intermission).
Luật thực hiện sự đồng bộ của giao thức CAN yêu cầu quá trình đồng
bộ đặc biệt chặt chẽ để thực hiện đồng thời các bớc nhảy từ trạng thái
Lớp ĐKTĐ 3-K42

11


lặn sang trội trong khi bus ở trạng thái rỗi. Ngoài ra, mỗi lần xảy ra
việc nhận SOF bit đều phải thực hiện việc đồng bộ chặt chẽ. Một bít SOF
có thể đợc nhận trong hợp bus ở trạng thái rỗi cũng nh treo cao và cuối
của khoảng trống nối hai khung dữ liệu. Với mô hình chuẩn Bosch CAN
có thể đồng bộ chặt chẽ không chỉ cho trạng thái bus rỗi mà còn cho cả
trạng thái treo cao và bít cuối của chuỗi ngăn cách giữa hai khung dữ
liệu.
2.3.1.2. Trờng Arbitration Field.
Trờng này có nhiệm vụ phân xử khi có tranh chấp bus xảy ra.

Định dạng chuẩn(Standard Format) của thẻ căn cớc là 11 bit và tơng
thích với thẻ căn cớc chuẩn trong trờng hợp định dạng mở rộng (Extend
Format). Từ hình vẽ ta thấy theo sau 11 bit Identifier là bit RTR. Trong
một khung dữ liệu thì bit RTR phải là bit trội. Trong Remote Frame thì
bít RTR phải là bít lặn. Theo sau thẻ trọng tài (Base ID) là bit IDE đợc
truyền ở trạng thái trội và đợc truyền dới dạng bít lặn trong khung
Extended Format. Vì vậy mà khung Standard Format đánh bại Extend
Format trờng hợp xảy ra xung đột bus .
Extended Format gồm hai phần :Base ID (11 bít) và Extended ID (18

bít). Bit SRR(Substitute Remote Request) thay thế bit RTR và đợc truyền
dới dạng bít lặn. Trong trờng hợp SRR thay đổi và truyền dới dạng bít
trội thì nút nhận sẽ bỏ qua điều đó. Nhng đối với bít trọng tài và nhồi bít
thì giá trị của nó không đợc bỏ qua. Vì bít SRR đợc nhận trớc bít IDE
nên nút nhận không thể quyết định chắc chắn là nó nhận đợc bít SRR hay
bít RTR. Điều đó có nghĩa là bít IDE là cách thức duy nhất giúp ta phân
biệt đợc một khung là Standar Frame hay Extended Frame .
Định đạng của Control Field cũng tơng tự nh Standar Format hay
Extended Format. Control Field trong Standar Format chứa Data Length ,
Code(DLC) và bít IDE. Bít này sẽ trở thành bít trội và bít dự bị r0 cũng
trở thành bít trội. Control Field trong Extended Format bao gồm bít DLC
Lớp ĐKTĐ 3-K42

12


và hai bít dự trữ r0, r1. Hai bít này phải đợc chuyển thành bít trội nhng
các nút thu có thể nhận bít trội hoặc bít lặn .
2.3.1.3. Trờng Control Field

Số byte của trờng dữ liệu trong giao thức CAN đợc xác định bởi Data
Length Code (DLC) có độ rộng là 4 bit và đợc chuyển vào trong trờng
điều khiển Control Field. Độ dài của khung dữ liệu có thể nằm trong
khoảng 0 đến 8 byte. Các DLC nằm trong khoảng 0 đến 7 cho biết độ dài
của trờng dữ liệu (0 đến 7 byte). Các DLC khác dành cho các trờng dữ
liệu có độ dài là 8 byte. Điều đó có nghĩa là các DLC nằm trong khoảng
từ 9 đến 15 có thể đợc dùng cho các ứng dụng đặc biệt khác. Không có
giới hạn cụ thể cho các DLC có thể có.
2.3.1.4. Trờng Data Field


Trờng này chứa dữ liệu của bản tin.
2.3.1.5. Trờng CRC Field.
Trờng này nhằm thực hiện kiểm soát lỗi của khung dữ liệu đợc gửi đi
bằng phơng pháp check sum toán học.

Lớp ĐKTĐ 3-K42

13


Mã kiểm tra vòng CRC gồm 15 bít liên tục và 1 bit lặn CRC cuối cùng
làm nhiệm vụ đánh dấu ranh giới. Quá trình kiểm tra liên tục khung dữ
liệu thông qua một chu kì phụ lên rất phù hợp với các khung bản tin có
số lợng bit nhỏ hơn 127. Mã kiểm tra vòng CRC yêu cầu một khoảng
cách Hamming là 6, nghĩa là cứ 5 bít lỗi ngẫu nhiên xuất hiện trong SOF,
Arbitration, Control and Data Field có thể bị phát hiện. Ngoài ra, nếu nh
có sự xuất hiện các bít lỗi đột biến thì có thể tăng lên đến 15 bit lỗi cũng
có thể bị phát hiện.
2.3.1.6. Trờng Acknowledge Field.

Nh hình vẽ ta thấy trờng ACK có hai bit là AKC Slot và AKC
Delimiter. Bộ truyền của khung gửi cả hai bit đó dới dạng bít lặn. Nút
nhận sẽ đáp lại một bit trội trong thời gian nhận bít ACK Slot qua bộ
truyền khi nó nhận đợc một bản tin đúng. Và nếu nh nút phát hiện ra một
bít trội trong trờng ACK thì nó hiểu rằng đã có ít nhất một nút đã nhận đợc bản tin mà nó phát đi và nó ngừng phát sau khi truyền hết bản tin đó.
2.3.1.7. Trờng End Of Frame (EOF)

Lớp ĐKTĐ 3-K42

14



Mỗi khung dữ liệu Data hay Remote đợc xác định bởi một cờ bit gồm
một chuỗi 7 bít lặn. Trờng EOF đợc đa ra là bởi vì nếu nh có một lỗi toàn
cục CRC thì bộ nhận sẽ phát ra một bản tin báo lỗi Error Frame và nó đợc truyền đi cùng với khung Data Frame hoặc Remote Frame.
2.3.2. Khung Remote Frame

Một nút nguồn có thể yêu cầu gửi dữ liệu từ nút khác (nút đích) bằng
cách gửi một Remote Frame cùng với một thẻ căn cớc mà thẻ này phù
hợp với thẻ căn cớc của khung Data Frame yêu cầu. Sau khi nhận đợc
khung yêu cầu dữ liệu thì nút đích sẽ gửi một Data Frame tơng ứng với
yêu cầu từ xa đã gọi đến. Có hai sự khác biệt giữa hai khung Data Frame
và Remote Frame :
- Trớc hết là bit RTR đợc coi nh là bit trội trong Data Frame và là bit
lặn trong Remote Frame.
- Thứ hai là trong Remote Frame không chứa trờng dữ liệu Data Field.
Hai khung Data Frame và Remote Frame đồng thời gửi thẻ căn cớc của
mình đi nhng khung Data Frame dành đợc quyền truyền bản tin của mình
do có bít trội RTR trong thẻ căn cớc của nó. Vì vậy mà nút đã truyền
khung Remote Frame sẽ nhận đợc trờng dữ liệu mong muốn tức thì.
Còn lại tất cả các trờng khác của Remote Frame đều giống các trờng
của Data frame.
2.3.3. Khung bỏo li Error Frame
2.3.3.1. Khung báo lỗi tích cực

Lớp ĐKTĐ 3-K42

15



Một khung báo lỗi sẽ đợc tạo ra bởi nút phát hiện ra lỗi .Khung này bao
gồm Error Flag và Error Delimiter .Các bít trội của Error Flag ghi chồng
lên dữ liệu bị lỗi của khung Data Frame làm cho qúa trình truyền đợc
tiếp tục.Có thể xảy ra sự trùng chập cờ lỗi do cơ chế quảng bá lỗi.Trờng
Error Delimiter bao gồm 8 bit lặn và cho phép các nút bus khởi động lại
sự truyền thông trên bus một cách rõ ràng sau khi một lỗi xảy ra.
2.3.3.2. Khung báo lỗi bị động

Để ngăn cho bus khỏi tình trạng treo đờng bus do hàng loạt các bản tin
đợc gửi đi từ các nút mặc định lẫn các nút đang bị nhiễu cao thì các nút
này phải đợc hạn chế khả năng chỉ ra lỗi .Một nút trong trạng thái lỗi tích
cực có thể gửi đi một cờ lỗi tích cực trong khi đó nút có lỗi bị động chỉ
có khả năng gửi một bit lặn.
Trong quá trình truyền của Error Delimiter một nút có thể phát hiện
liệu nó có phải là nút đầu tiên trong mạng phát hiện ra lỗi không và do
đó dừng việc truyền dữ liệu.

Lớp ĐKTĐ 3-K42

16


Nút nhận trong trạng thái lỗi chủ động có thể không còn ngắt việc
truyền dữ liệu bởi vì một cờ lỗi lặn không là ảnh hởng đến các mức của
dờng bus.
Một bộ truyền có lỗi bị động có thể vẫn truyền bản tin của chính nó bằng
cách gửi đi một cờ lỗi thụ động.Chú ý ,nếu nh một nút thu đang trong chế
độ lỗi bị động thì sẽ không thể đảm bảo đợc dữ liệu một cách đều đặn.
Để tránh xảy ra việc khoá bus do các nút bị nhiễu đang gửi đi bản tin có
độ u tiên cao, các nút đang ở trạng thái lỗi bị động nên có một khoảng

thời gian trễ truyền . Sau khi truyền, nút ở trạng thái lỗi bị động phải đợi
3+8 bit lặn trớc khi bắt đầu truyền lại.
2.3.4. Khung quỏ ti

Một khung quá tải (Overload Frame) đợc phát ra bởi một nút nếu nh
điều kiện bên trong nút này không thể bắt đầu nhận bản tin tiếp theo
hoặc nếu nh trong thời gian ngừng một trong hai bit đầu tiên của trờng
Intermission là bit trội.Một điều kiện quá tải khác là nếu nh một bản tin
nào đợc các nút thu nhận đúng nhng bít cuối của EOF là bit trội nhng bít
trội này không đợc coi nh là lỗi.Hay nói cách khác, trờng EOF đợc định
dạng cố định chứa một bít không hợp lệ.Quá trình nhận bít trội này có
thể làm mất sự đồng bộ, do đó một khung quá tải phải đợc phát đi. Mô
hình CAN chuẩn theo dõi bit trội tiêu biểu đó nh là bít cuối cùng của trờng Error Delimiter và Overload Delimiter.Đó là hai trờng của khung
quá tải.
Việc truyền Overload Frame yêu cầu một khoảng trễ cho quá trình bắt
đầu truyền. Khung Overload Frame giống nh khung Active Error Frame,
điều khác biệt duy nhất là Overload Frame không tăng bộ đếm lỗi và
không gây ra sự truyền lại của một khung.Mỗi nút chỉ có thể truyền liên
tục 2 khung Overload Frame.
2.4. Li v x lý li

Lớp ĐKTĐ 3-K42

17


2.4.1. Li nhi bit

Các trờng bit còn lại của Data Frame và Remote Frame vẫn đợc định
dạng cố định và không bị nhồi bit. Khung báo lỗi (Error Frame) và

khung qúa tải (Overload Frame) cũng đợc giữ không thay đổi, không bị
mã hoá bằng phơng pháp nhồi bit.
Nếu nh có một nút phát hiện ra tại thời điểm truyền của bít thứ 6 trùng
với mức bit trên bus trong vùng nhồi bit của khung thì nó sẽ phát ra một
Error Frame bắt đầu với thời gian bit tiếp theo.
*) Phơng thức nhồi bit và giải mã bản tin khi đã bị nhồi bit

Bất cứ khi nào bộ truyền phát hiện ra có 5 bit liên tiếp (kể cả bit đợc
nhồi) của một giá trị xác định trong dòng bít đó đợc truyền đi thì nó tự
động chèn thêm 1 bit vào dòng bít thực sự đợc truyền .Bit nhồi sẽ đợc
loại bỏ tự động bởi nút nhận .Nếu có hơn 5 bit liên tiếp với cùng trạng
thái đợc phát hiện giữa Start of Frame và CRC Delimiter, thì luật nhồi
bit đã bị vi phạm.Một Stuff-Error xảy ra và một khung Error Frame phát
ra.Việc gửi bản tin lại đợc lặp lại.
2.4.2. Li bit
Tất cả các nút đều thực hiện việc quan sát bit.Nếu 1bit lỗi xảy ra khi
bộ truyền gửi một bít trội nhng lại phát hiện ra một bit lặn trên đờng bus
Lớp ĐKTĐ 3-K42

18


hoặc gửi một bit lặn nhng lại phát hiện ra một bit trội trên bus .Lúc đó
một khung Error Frame đợc phát ra và bắt đầu gửi ngay sau thời gian bít
tiếp theo.
Khi một bít trội đợc phát hiện thay vì một bit lặn thì sẽ không có lỗi
xảy ra trong Arbitration hoặc Acknowledge Slot bởi vì các trờng bit này
phải có khả năng bị ghi đè bởi một bit trội để đạt đợc thẻ trọng tài và
khả năng nhận biết bản tin là đúng hay sai.
Khi bộ truyền đang gửi một cờ báo lỗi tích cực (Passive Error Flag) nhng

đồng thời lại phát hịên một bit trội thì không thể hiểu đợc cờ lỗi đó.

2.4.3. Li CRC

Với cơ cấu kiểm tra vòng bộ truyền thực hiện kiểm tra check sum cho
chuỗi bit CRC vòng tròn bắt đầu từ bit Start of Frame cho cho đến cuối
của trờng dữ liệu.Chuỗi bit CRC này đợc truyền đi trong trờng CRC
Field của Data Frame hoặc Remote Frame. Một bit lỗi CRC đợc phát
hiện nếu nh kết quả kiểm tra của nút thu khác với chuỗi bit CRC nhận đợc. Trong trờng hợp này nút thu loại bỏ bản tin và truyền một bản tin
báo lỗi ngay sau ACK Delimiter trừ khi một cờ lỗi cho một điều kiện lỗi
khác đã đợc bắt đầu .
Lớp ĐKTĐ 3-K42

19


Bit kiểm tra check sum CRC chỉ dùng cho việc phát hiện lỗi .Nó
không đợc dùng cho xác định lỗi .Khoảng cách Hamming của mã CRC
đợc coi là bằng 6.Với giả thiết đó nó có thể phát hiện tới 5 bit lỗi xuất
hiện phân tán trong bản tin hay cái gọi là lỗi bất thờng có thể lên tới 15
bit.
2.4.4. Li do khụng tho món khong cỏch Hamming

Giả thiết rằng chuỗi đợc thực hiện trong CAN đảm bảo một khoảng
cách Hamming là 6. Nghĩa là các bít lỗi xuất hiện phân tán ngẫu nhiên sẽ
có thể đợc phát hiện ra. Nhng cũng có một số trờng hợp ngẫu nhiên mà ở
đó hai bit lỗi địa phơng không thể phát hiện đợc bởi các nút nhận của
mạng CAN.
Vấn đề này có thể khắc phục đợc bằng việc loại bỏ các đối tợng mà
thẻ căn cớc có sử dụng nhồi bit.

2.4.5. Li Acknowledgement
Lỗi này xảy ra khi một nút nhận phát hiện ra bản tin mà nó nhận đợc là
sai

Khi gửi đi một khung dữ liệu thì hai bit trong trờng ACK Field luôn
là bit lặn. Nếu nh bộ truyền phát hiện ra trong ACK Slot là một bit trội
thì nó hiểu rằng bản tin mà nó phát ra đã có ít nhất một nút nào đó nhận
đợc đúng bản tin của nó. Trong trờng hợp ngợc lại Acknowledge Error
phát ra cho biết bản tin phát đi đã bị sai.

Lớp ĐKTĐ 3-K42

20


2.4.6. Li Form.








Nếu nh bộ truyền phát hiện một bít trội trong trong các trờng định dạng
sẵn CRC Delimiter, ACK Delimiter, End of Frame thì một Form Error
đợc phát ra và một khung Error Frame tạo ra.
* Đánh giá khả năng không phát hiện ra lỗi của mạng CAN
Tỉ lệ xác suất xảy ra lỗi đợc tính theo công thức:
< 4.7 *10-11 *error rate

Khả năng xuất hiện lỗi trong bản tin là rất nhỏ, nếu giả sử rằng tốc độ
mỗi bít lỗi là 0.7s tốc độ bít là 500kbit/s, 8h/day, 365day/year nh vậy
thống kê trung bình sẽ là : trong vòng khoảng 1000 năm mới có một bit
lỗi không phát hiện đơc.
3. Lp Physical.
Nhim v ca lp physical:
Mó hoỏ/Gii mó bit
nh thi gian bit
ng b hoỏ mm
Nhng phng tin truyn thụng i kốm.
c tớnh thu phỏt tin
c tớnh cỏp bus
Ta s trỡnh by nhng khớa cnh v yờu cu ca vic truyn d liu
vt lý gia nhng nỳt ca 1 mng CAN.
Lp vt lý ca CAN cú th chia thnh 3 lp nh.Lp PLS c thc
hin trong nhng chip iu khin ca CAN.Lp PMA miờu t c tớnh
phỏt tin.Lp MDI c t cỏp v c tớnh u ni.
Nhng lp PMA v MDI tuõn theo nhng chun quc t,quc gia v
cụng nghip khỏc nhau vỡ liờn quan n quyn s hu trớ tu.Tiờu chun
chung nht tuõn theo ISO 11898, c t vic truyn tc cao cho mng
CAN c s.
Lớp ĐKTĐ 3-K42

21


Physical Signaling (PLS)
Mã hoá/ Giải mã bit
Định thời gian bit
Đồng bộ hoá


Physical Medium Attachment(PMA)

Đặc tính truyền nhận tin

Medium Dependent Inteface(MDI)
Cáp/Đầu nối

3.1. Lớp PLS (Physical Signaling)
3.1.1. Mã hoá bit

Các bit trong 1 bản tin của mạng CAN được mã hóa theo phương
pháp NRZ(Non-Return–to-Zero). Khi đó trong toàn bộ thời gian bit,
mức bit được sinh ra chỉ có thể là “trội”(dominant) hoặc
“lặn”(recessive). Phương pháp mã hoá khác như là Manchester thì yêu
cầu trong mỗi bit một sườn lên hoặc một sườn xuống, dẫn đến tần số cao
hơn .
Một đặc tính của mã NRZ là tín hiệu không có sườn do đó có thể được
dùng để đồng bộ hoá lại nếu truyền một số lượng lớn các bit liên tục có
mức như nhau. Vì vậy phương pháp nhồi bit được dùng để đảm bảo sự
đồng bộ hoá của tất cả các nút bus. Như vậy trong suốt quá trình truyền
một bản tin, chỉ tối đa 5 bit liên tục là có thể có cùng mức.
Khu vực nhồi bit trong một khung CAN bao gồm SOF (Start Of
Frame),trường trọng tài,trường điều khiển, trường dữ liệu và trường
CRC (Cyclic Redundancy Check).
Tỉ lệ bit nhồi trên tổng số bit sử dụng có thể lấy gần đúng là 1:5,
nhưng trong trường hợp xấu nhất thì số bit nhồi có thể tính theo công
thức sau :

Líp §KT§ 3-K42


22


s_max = (n-1) : 4

với n là số bit dữ liệu

Còn với format chuẩn thì s-max được tính theo công thức sau :
s-max = (34 + 8 dlc –1): 4 = 8+2 dlc
(dlc :data length code )

Do trường điều khiển của khung dữ liệu của CAN chứa 2 bit dành sẵn

của giá trị “trội” và độ dài mã dữ liệu (Data Length Code) nên số bit
nhồi cực đại thực tế không giống như tính theo lý thuyết.
Bảng dưới đây là kết quả mô phỏng của tất cả các khung chuẩn có thể
của CAN .Không có khung nào là có số bit nhồi cực đại .Những khung
CAN có độ dài mã dữ liệu là 7 thì có số bit nhồi trung bình nhiều hơn
những khung khác. Đó là vì sao DLC có giá trị là 0111
( 0 = trội ,1 = lặn).

Líp §KT§ 3-K42

23


3.1.2. Định thời gian bit

Thời gian cho một bit theo lý thuyết là bốn khoảng thời gian không

chồng lên nhau.Mỗi khoảng được tạo bởi một số nguyên lần mức thời
gian đã định trước(Time Quantum – tq).tq là độ phân giải thời gian rời
rạc nhỏ nhất được dùng cho một nút CAN. Độ dài của nó được chia bởi
một bộ phát dao động tần số có thể lập trình được của nút CAN. Có ít
nhất là 8 và nhiều nhất 25 tq cho mỗi bit.Thời gian bit được chọn bằng
cách lập trình độ rộng của tq và số lượng tq trong các khoảng khác
nhau.Bộ điều khiển CAN sẽ làm việc này.
Về cơ bản,khoảng thời gian bit trong CAN có thể chia thành bốn

khoảng nhỏ.Mỗi khoảng đó sẽ gồm một số tq.
SYNC_SEG có độ dài 1 tq . Nó dùng để đồng bộ hoá những nút bus
khác nhau.
PROP_SEG có thể lập trình được để có độ dài từ (1 , 2 … 8) tq . Nó
dùng để bù lại trễ tín hiệu khi qua mạng.
Líp §KT§ 3-K42

24


PHASE_SEG1 có thể lập trình được để có độ dài từ (1 , 2 … 8) tq . Nó
dùng để bù lại trễ những lỗi sườn pha và có thể được kéo dài ra trong
suốt quá trình đồng bộ hoá lại.
PHASE_SEG2 là giá trị lớn nhất của PHASE_SEG1 và khoảng thời gian
quá trình thông tin ( Information Processing Time long) .Nó cũng dùng
để bù lại những lỗi sườn pha và có thể được rút ngắn trong quá trình
đồng bộ hoá lại.
Khoảng thời gian quá trình thông tin (Information Processing Time long)
nhỏ hơn hoặc bằng 2 lần tq.
Tổng số tq phải từ 8 đến 25.
Lập trình điểm lấy mẫu( Sample Point ) cho phép tối ưu thời gian bit :

ví dụ lấy mẫu chậm cho phép độ dài bus lớn nhất còn lấy mẫu sớm cho
phép làm chậm những sườn lên và sườn xuống.
a) Sự lan truyền tín hiệu :

Cần thiết phải bù lại trễ lan truyền tín hiệu trên đường bus và qua các

mạch điện tử giao diện của các nút bus. Tổng thời gian trễ lan truyền của
bộ điều khiển ,bộ cách điện tuỳ chọn, bộ phát và đường bus phải nhỏ hơn
độ dài của khoảng thời gian lan truyền (Propagation Time SegmentProp_Seg) bên trong một bit.
Ta phải tính thêm các khoảng trễ dưới đây tuỳ theo bộ phận được
chọn : bộ điều khiển CAN (50ns tới 60ns), bộ nối quang học
(optocoupler) (40ns tới 140ns), bộ truyền nhận (120ns tới 250ns) và dây
cáp (khoảng 5ns/m). Những khoảng trễ này phải tính hai lần vì sau sự
đồng bộ hoá chặt ,hầu hết các nút ở xa nhận được sự thay đổi sườn với
độ trễ của thời gian lan truyền, và bit của bộ phát phải đợi một thời gian
lan truyền khác để bảo đảm bit định dạng hoặc bit báo đã nhận
Líp §KT§ 3-K42

25


×