1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

62 358 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 62
Dung lượng 9,51 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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ó

Trang 1

Môc lôc

Lêi nãi ®Çu

PH N 1 GI I THI U CHUNG ẦỚ Ệ 3

1 Thực trạng và giải pháp cho bài toán điều khiển máy hàn lăn 3

1.1 Máy hàn lăn 3

1.2 Hệ thống điều khiển hiện nay của máy hàn lăn .3

1.3 Giải pháp .5

PH N 2 GIAO TH C CAN ẦỨ 7

2 Lớp DataLink 7

2.1 Giới thiệu 7

2.2 Quá trình truyền thông trong mạng CAN 7

2.3 Cấu trúc các bản tin 11

2.4 Lỗi và xử lý lỗi 17

3 Lớp Physical 21

3.1 Lớp PLS (Physical Signaling) 22

3.2 Lớp PMA( Physical Medium Attachment) 29

3.3 Lớp MDI (Medium Dependent Interface ): CiA DS-102 38

PH N 3 - TH C HI N Ầ Ự Ệ 40

4 Thiết kế thiết bị vào/ra phân tán 40

4.1 Thiết kế phần cứng 41

4.2 Xây dựng thuật toán chung thực hiện giao thức CAN cho một nút mạng 45

4.3 Xây dựng phần mềm điều khiển 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

Trang 2

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

Trang 3

PHẦN 1 – GIỚI THIỆU CHUNG

1 Thực trạng và giải phỏp cho bài toỏn điều khiển mỏy hàn lăn 1.1 Mỏy hàn lăn.

Mỏy hàn lăn là một thiết bị được sử dụng rộng rói trong cỏc ngành cụng nghiệp sản xuất cỏc sản phẩm sử dụng vỏ kim loại như đồ hộp, sơn Mỏy hàn lăn cú cấu tạo rất phức tạp nhưng cú thể hỡnh dung cấu tạo của nú theo sơ đồ sau :

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 Xuống Lên Xuống

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ệ thống điều khiển hiện nay của mỏy hàn lăn

Là một thiết bị được dựng phổ biến, mỏy hàn lăn đó sớm cú mặt trong cụng nghiệp Cựng với nú, cỏc bộ điều khiển cũng đó được chế tạo từ rất sớm mà chủ yếu là với cụng nghệ analog Do đặc thự của chức năng, cỏc

bộ phận của mỏy hàn thường nằm cỏch xa nhau trong một phõn xưởng, mặt khỏc do cụng nghệ lạc hậu nờn cỏc bộ phận này phải cú một bộ điều

Bộ phận đưa

phôi liệu vào Bộ phận hàn

Bộ phận đưa sản phẩm ra

Trang 4

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ũ.

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

Bộ điều khiển 1

khiển 3

Trang 5

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)

Trang 6

 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 :

Để 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 khiển máy hàn lăn

Bộ điều khiển 1

Bộ điều khiển 2

Máy tínhđiều khiển

Đối tượng

1

Đối tượng 2

Đối tượng 3I/O

CAN bus

Trang 7

PHẦN 2 – GIAO THỨC CAN

CAN (Controller Area Network) là một giao thức thụng tin nối tiếp Giao thức này thực hiện kết nối cỏc bộ điều khiển dưới chế độ thời gian thực và phõn tỏn với độ an toàn, tốc độ cao

Theo tiờu chuẩn CAN 2.0 thỡ CAN bao gồm 2 lớp của mụ hỡnh OSI là:

 Datalink

 Physical

2 Lớp DataLink

2.1 Giới thiệu

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 truyền thụng trong mạng CAN.

2.2.1 Cơ chế truyền thụng

Ta xét một mạng CAN có 4 trạm tham gia truyền thông có sơ đồ :

Trang 8

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ả năng truy nhập dữ liệu 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 nhập 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

Trang 9

đầ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

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ó

Trang 10

2.2.5 Cỏc dịch vụ truyền 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

Trang 11

2.3 Cấu trỳc cỏc bản tin

2.3.1 Cấu trỳc khung bản tin dữ liệu

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

Trang 12

“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

Trang 13

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

Trang 14

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)

Trang 15

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

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 lỗi Error Frame

2.3.3.1 Khung báo lỗi tích cực

Trang 16

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ỉ

Trang 17

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ỏ tải

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 Lỗi và xử lý lỗi

Trang 18

2.4.1 Lỗi nhồi 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

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 Lỗi 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

Trang 19

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 Lỗi 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

Trang 20

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 Lỗi do khụng thoả món khoảng 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 Lỗi 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

Trang 21

2.4.6 Lỗi 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

Những lớp PMA và MDI tuõn theo những chuẩn quốc tế,quốc gia và cụng nghiệp khỏc nhau vỡ liờn quan đến quyền sở hữu trớ tuệ.Tiờu chuẩn chung nhất tuõn theo ISO 11898, đặc tả việc truyền tốc độ cao cho mạng

Trang 22

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 :

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

Trang 23

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)

Trang 24

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

Trang 25

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 Prop_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

Trang 26

được(Acknowledge) của bộ nhận là hợp lệ Theo chuẩn ISO 11898 của

bộ truyền nhận và bộ nối quang học thì ta có thể có độ dài bus cực đại là 9m ở tốc độ 1Mbit/s

Trang 27

b) Tỉ lệ dữ liệu /độ dài bus:

Ở tỉ lệ bit thấp hơn 1Mbit/s, chiều dài bus có thể kéo dài đáng kể Tỉ

lệ dữ liệu ở 50kbit/s cho phép độ dài bus lên đến 1km Bộ truyền nhận theo chuẩn ISO 11898 đặc tả độ dài bus cực đại khoảng 1km.Nhưng nó cho phép sử dụng thiết bị cầu nối hoặc bộ lặp để tăng khoảng cách cho phép giữa những nút theo chuẩn ISO 11898 lên hơn 1km

Độ dài đường bus lớn nhất có thể đạt được trong mạng CAN được xác định cơ bản theo những hiệu quả vật lý sau:

- Trễ vòng lặp của những nút bus đã kết nối và trễ của đường bus

- Sự khác nhau về khoảng thời gian bit do dung lượng của bộ phát dao động giữa những nút

- Sự sụt giảm biên độ tín hiệu do điện trở nối tiếp của đường dây cáp và điện trở đầu vào của nút bus

Trang 28

Bảng trên cho ta độ dài bus có thể đạt được với bộ truyền phát và đường cáp bus theo tiêu chuẩn ISO 11898.Chú ý ở đây không xem xét đến những bộ nối quang học.

3.1.3 Sự đồng bộ hoá lại

Một mạng CAN bao gồm một vài nút , mỗi nút được cấp xung đồng hồ bởi một bộ phát dao động riêng.Do đó,sự chuyển pha có thể xảy ra trong các nút khác nhau.Mỗi bộ điều khiển CAN cung cấp một cơ chế đồng bộ hoá lại (đồng bộ hoá mềm) để bù lại sự chuyển pha khi nhận một khung CAN

Sườn xung thông thường được chứa trong Sync_Seg.Nhưng khi bộ phát chậm hơn, nghĩa là sườn xung được phát hiện trong Prop_Seg ,thì bộ nhận sẽ kéo dài Phase_Seg1 với giá trị lớn nhất được lập trình của RJW (Resynchronization Jump Width - độ rộng nhảy đồng bộ hoá lại)( RJW

=1 4 tq ).(hình trên)

Trong trường hợp bộ phát nhanh hơn nghĩa là sườn xung được phát hiện trong Phase_Seg2 đằng trước thì bộ nhận sẽ rút ngắn Phase_Seg2 với giá

trị lớn nhất được lập trình của RJW (RJW = 1 4 tq) (hình dưới đây)

Chỉ có duy nhất một sự đồng bộ hoá lại được cho phép bên trong một thời gian bit

Trang 29

3.2 Lớp PMA( Physical Medium Attachment)

Những phương tiện truyền thông kèm theo :

- CAN tốc độ cao (ISO 11898-2)

- CAN tốc độ thấp (ISO 11519-1)

- Bộ truyền nhận chịu lỗi (ISO 11898-3)

- Bộ trao đổi/móc nối (ISO 11992)

- Dây đơn (SAE 2411)

- Truyền bằng cáp quang

- Truyền không dây

Có một số tiêu chuẩn chính thức và chuẩn công nghiệp qui định về phương tiện truyền thông kèm theo của giao thức CAN

Quan trọng nhất cho những ứng dụng thông thường là chuẩn CAN tốc

độ cao ISO 11898

Các chuẩn kỹ thuật ISO 11519-1 trong tương lai gần sẽ không được sử dụng mà chỉ được tiêu chuẩn LBS của Đức( DIN 9684) dùng trong các máy nông nghiệp

Các bộ truyền nhận có khả năng chịu lỗi được dùng trong các mạch điện tử của xe hơi ,sẽ được tiêu chuẩn hoá bởi ISO TC22 SC3 WG1 Tiêu chuẩn ISO 11992 đầu tiên được phát triển cho việc kết nối trao đổi/móc nối ,và có khả năng chịu lỗi

Giải pháp cáp quang cũng như truyền không dây cũng khả thi

Trang 30

3.2.1.Chuẩn CAN tốc độ cao ISO 11898-2

3.2.1.1 Chuẩn khởi tạo mạng ISO 11898-2

Chuẩn ISO 11898-2 giả thiết rằng kỹ thuật nối dây gần với cấu trúc dây đơn để giảm thiểu ảnh hưởng của sự phản xạ trên đường bus.Các đường bus phải được nối với những điện trở ở cả 2 đầu

3.2.1.2 Chuẩn ISO 11898-2 về nút

Nút bus tuân thủ chuẩn ISO 11898-2 yêu cầu một bộ vi điều khiển và một bộ điều khiển CAN , được nối với bộ truyền nhận thông qua một đường dữ liệu ra nối tiếp (Tx) và một đường dữ liệu vào nối tiếp (Rx) Điện áp chuẩn đầu ra Vref theo lý thuyết là 0.5xVcc.Bộ truyền nhận phải được cấp nguồn với điện áp danh định là +5V

Ở điều kiện tĩnh,hiệu điện thế đầu vào tại một nút bus được xác định bằng dòng điện chạy qua điện trở vi sai đầu vào của nút đó.Trong trường hợp một bit trội đầu ra những tranzitor của nút phát được bật lên ,gây ra một dòng điện chạy qua, trong khi những tranzitor đó được khoá cho một bit lặn

3.2.1.3 Những mức Bus danh định

Những nút bus sẽ kiểm tra điều kiện “lặn” của bus nếu điện áp của

CAN_H không cao hơn điện áp của CAN_L +0.5V.Nếu điện áp của CAN_H cao hơn ít nhất 0.9V so với CAN_L thì sau đó điều kiện bus

Trang 31

“trội” sẽ được kiểm tra Điện áp danh định cho tình trạng trội là 3.5V đối với đường CAN_H và 1.5V cho đường CAN_L.

3.2.1.4 Nhiễu điện từ

Do sự vi sai tự nhiên của tín hiệu truyền nên CAN không nhạy cảm với nhiễu ,bởi vì cả hai đường bus bị ảnh hưởng theo cùng một cách dẫn đến sinh ra tín hiệu vi sai không bị ảnh hưởng(Vdiff = constant)

3.2.1.5 Những mức tín hiệu của chuẩn ISO tốc độ cao:

Một bộ điều khiển CAN được kết nối với một bộ truyền nhận tuân thủ ISO 11898 thông qua đường dữ liệu ra nối tiếp Tx và đường dữ liệu vào nối tiếp Rx.Bộ truyền nhận sẽ được gắn vào đường bus thông qua hai đầu nối bus của nó là CAN_H và CAN_L.Hai đầu nối này sẽ cung cấp khả năng truyền ,nhận vi sai.Tx và Rx là những tín hiệu liên hệ trực tiếp.Tín hiệu vi sai giữa CAN_H và CAN_L là gián tiếp Mỗi nút CAN phát sẽ đọc đầu ra quay lại nhưng có sự trễ giữa những bit được phát đi

và những bit đã được nhận tuỳ theo sự xem xét

Ngày đăng: 23/04/2016, 18:12

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w