MÃ HÓA BIT (BIT ENCODING)

Một phần của tài liệu Nghiên cứu và chế tạo mô hình mô phỏng hệ thống CAN trên ô tô đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô (Trang 44)

3.6.1. Phƣơng pháp mã hóa không trở về 0 (Non – Return – to – Zero)

Hình 3.10: Phƣơng pháp mã hóa NRZ

Hệ thống CAN sử dụng phƣơng pháp NRZ để mã hóa dữ liệu. Dãy bit trong tin nhắn đƣợc mã hóa theo NRZ, nghĩa là các bit kh ng phải trở về 0 giữa hai trạng thái có giá trị giống nhau và trạng thái bit chỉ có thể là trội hoặc lặn.

32

3.6.2. Quy luật nhồi bit (Bit Stuffing)

Hình 3.11: Phƣơng pháp nhồi bit

Phƣơng pháp mã hóa NRZ là t n hiệu không có giới hạn trong sự tái đồng bộ. Vì vậy,phƣơng pháp nhồi bit đƣợc dùng để đảm bảo sự đồng bộ tất cả các nút trên Bus. Nhồi bit quy ƣớc rằng mỗi khung dữ liệu hoặc khung yêu cầu từ xa có tối đa 5 bit liên tiếp có trạng thái giống nhau tin nhắn. Khi năm bit có trạng thái giống nhau đƣợc truyền kế tiếp thì thiết bị gửi sẽ kèm theo một bit có trạng thái ngƣợc lại. Thiết bị nhận sẽ xóa những bit đƣợc chèn sau khi nhận. Phƣơng pháp này cho phép phát hiện các lỗi nhƣ: ngắn mạch, nhiễu sóng,…

Phƣơng pháp nhồi bit đƣợc áp dụng cho khung dữ liệu hoặc khung yêu cầu từ xa trong vùng bắt đầu (SOF), vùng phân xử (Arbitration fields), vùng điều khiển (Control fields), vùng dữ liệu (Data fields), vùng kiểm tra vòng lặp thƣờng (CRC fields).

3.6.3. Tỉ lệ bit dữ liệu và bit nhồi

33 Nhìn chung tỉ lệ bit dữ liệu và bit đƣợc nhồi có thể ƣớc lƣợng khoảng 5:1. Nhƣng trong trƣờng hợp xấu, số bit nhồi tối đa đƣợc t nh nhƣ sau:

S_max = ( n – 1) : 4 (3-2) Trong đó n là số bit dữ liệu.

3.6.4. Sự ƣớc lƣợng số bit nhồi

Bảng 3.1: Bảng ƣớc lƣợng số bit nhồi

Bảng trên là kết quả mô phỏng số lƣợng bit nhồi cho tất các khung tiêu chuẩn của CAN. Các khung CAN với mã độ dài dữ liệu là 7 byte, trung bình có nhiều bit nhồi hơn tất cả các khung khác.

34

CHƢƠNG 4: CAN BUS VÀ HỆ THỐNG XỬ LÝ 4.1. SƠ LƢỢC VỀ CAN BUS

4.1.1. Tổng quan

Hệ thống CAN Bus có một cặp dây xoắn nối tiếp với giao thức giao tiếp thời gian thực, nó rất thích hợp trên t nhƣ kết nối các cảm biến (giám sát) và các cơ cấu chấp hành (điều khiển). Tất cả các hệ thống điều khiển (nút) CAN nối song song trên đƣờng truyền dữ liệu và giao tiếp với nhau thông qua khung dữ liệu.

Hình 4.1 Sơ đồ mạng CAN trên ô tô

Hệ thống CAN hình thành bởi các ECU (nút). Mỗi ECU (nút) có thể giao tiếp với bất kỳ ECU khác trong mạng. Các ECU giao tiếp với nhau bằng cách truyền và nhận các gói dữ liệu đƣợc gọi là tin nhắn (message). Mỗi tin nhắn trong hệ thống CAN đƣợc gán một định danh (ID) theo mức độ ƣu tiên của tin nhắn.

35 Một ECU (nút) phải tuân theo tiêu chuẩn ISO 11898 về các thiết bị điện tử đi kèm nhƣ một bộ vi điều khiển, một bộ điều khiển CAN, bộ thu phát có đƣờng truyền dữ liệu ra (Tx), đƣờng truyền dữ liệu đầu vào (Rx). Điện áp chuẩn đầu ra (Vref) cung cấp điện áp đầu ra bằng 0.5xVcc. Bộ thu phát phải đƣợc cấp một nguồn điện áp 5v.

Khi ở một trạng thái (trội hoặc lặn), sự chênh lệch điện áp đầu vào tại một ECU (nút) có thể xác định thông qua sự chênh lệch dòng điện đi qua điện trở đầu vào của ECU (nút) đó. Trƣờng hợp bit trội, các điện trở đầu ra của nút truyền chuyển sang trạng thái On và cho dòng điện đi qua. Còn điện trở đầu ra chuyển trạng thái Off đƣợc sử dụng cho trƣờng hợp bit lặn.

Hình 4.2 Một nút CAN theo tiêu chuẩn ISO 11898-2

Hệ thống CAN hoạt động dựa vào địa chỉ của tin nhắn (Message Base System) khác với địa chỉ của nút (Address Base System), mỗi tin nhắn đƣợc gán một định danh (ID) nhƣng địa chỉ của nút thì mỗi nút đƣợc gán một định danh (ID). Nhƣ vậy hệ thống CAN có thể thêm hoặc bớt một ECU (nút) bằng một ECU khác sẽ không làm ảnh hƣởng đến cả hệ thống.

Một ECU có thể nhận đƣợc nhiều loại tin nhắn khác nhau ngƣợc lại một tin nhắn có thể đƣợc nhận bởi nhiều ECU và công việc sẽ đƣợc thực hiện một các đồng bộ trong hệ thống. Sƣ ƣu tiên của một th ng điệp sẽ dựa vào định danh (ID).Vì vậy hệ thống có thể phân tích thời gian phản hồi của tin nhắn. Điều này có ý nghĩa quan trọng trong việc phát triển ngành t nhƣ thiết kế hệ thống nhúng theo thời gian thực, hệ thống tự động lái,…

36

Hình 4.3: Cấu trúc phân lớp của giao thức CAN

Giao thức CAN đã đƣợc chuẩn hóa trong tiêu chuẩn ISO 11898, chuẩn quy định chi tiết các chức năng và hoạt động của các lớp trong giao thức CAN.Nhƣng đối với lớp ứng dụng (Application) kh ng đƣợc quy định trong chuẩn nhƣng hiện nay có hai giao thức phổ biến và CANopen và DeviceNet.

37 Lớp ứng dụng (Application layer): Là nơi các chƣơng trình mạng thƣờng dùng làm việc nhằm liên lạc giữa các nút trong một mạng. Nó thể hiện thông tin của dữ liệu đƣợc sử dụng bởi các lớp ứng dụng. Ví dụ: ECU ABS, ECU động cơ, ECU hộp số,… Những dữ liệu đƣợc truyền đến lớp quản lý với đúng mục đ ch của nó.

Lớp quản lý (Object layer): Có nhiệm vụ quản lý tin nhắn. Chức năng của lớp quản lý là quyết định thời gian gửi tin nhắn. Ví dụ: Khi cần tín hiệu vị tr bàn đạp ga thì nó sẽ ƣu tiên gửi tin nhắn chƣa dữ liệu đó trƣớc. Đối với tin nhắn đến, lớp quản lý có nhiệm vụ lọc tin nhắn.

Lớp giao vận (Transport layer): Lớp giao vận chuyển có nhiệm vụ chuyển tin nhắn cho lớp quản lý và xử lý tin nhắn để lớp quản lý chuyển tin nhắn đến lớp ứng dụng. Lớp giao vận còn có chức năng phân xử, phát hiện lỗi và báo hiệu.

Lớp vật lý (Physical layer): Là tầng thứ nhất trong khối giao vận. Nó thể hiện các thành phần vật lý của mạng nhƣ hệ thống dây điện, điện áp đƣợc dùng để gửi thông tin.

4.1.2. Độ dài của một Bus

Độ dài của Bus phụ thuộc vào các yếu tố sau: - Độ trễ trên đƣờng truyền Bus.

- Sự khác nhau về lƣợng tử thời gian (Time quantum) bởi mỗi ECU (nút) có xung lock khác nhau.

- Biên độ tin hiệu thay đổi theo điện trở của dây cáp và tổng điện trở của các ECU. Bảng 4.1: Bảng thống kê về tốc độ, chiều dài, thời gian

38

4.1.3. Tín hiệu trên CAN Bus

Lớp vật lý, CAN chuyển đổi giữa hai trạng thái:

- Trạng thái dominant, nghĩa là trạng thái trội hay còn gọi trạng thái chiếm ƣu thế, trạng thái logic 1.

- Trạng thái recessive, nghĩa là trạng thái lặn hay còn gọi trạng thái ẩn, trạng thái logic 0.

Vì tính chất vật lý của Bus, chúng ta cần phân biệt hai dạng truyền: Truyền tốc độ cao (CAN-HIGH), truyền tốc độ thấp (CAN-LOW). Bảng sau thể hiện sự khác nhau giữa hai dạng truyền:

Bảng 4.2: Sự khác nhau giữa CAN-L và CAN-H

Thông số CAN-LOW CAN-HIGH

Tốc độ 125Kb/s 125Kb/s đến 1 Mb/s

Số nút 10 24

Trạng thái Dominant CAN_H = 3.6V

CAN_L = 1.4V

CAN_H = 3.5V CAN_L = 1.5V

Trạng thái Receive CAN_H = 0.0V

CAN_L = 5.0V

CAN_H = 2.5V CAN_L = 2.5V

Tiêu chuẩn ISO 11898 ISO 11519

Ứng dụng Hệ thống điều khiển

điện thân xe

Hệ thống điều khiển động cơ, hệ thống điều khiển truyền lực, hệ thống phanh ABS, hệ thống cân bằng điện tử,…

39

Hình 4.6:Mức điện áp của CAN-H 4.1.4. Đƣờng truyền công suất trong CAN Bus

Hình 4.7: Hệ thống điện CAN Bus

Dòng điện chính đƣợc sinh ra từ nguồn trung tâm của Bus. Cuộn dây có nhiệm vụ ngăn chặn sự ngắt điện áp của tín hiệu. Hệ thống CAN truyền tín hiệu dữ liệu trên các đƣờng dây điện: Truyền theo từng dải cơ bản và điều biến (Modulation).

40

4.1.5. Sự truyền tần số cao (tần số vô tuyền) trong CAN Bus

Hình 4.8: Truyền tần số giữa các nút

Truyền tần số có rất nhiều ƣu điểm khi điều khiển một hệ thống không cần đến các dây dẫn. Trƣờng hợp điển hình khi hai hệ thống phụ di động giao tiếp với nhau. Ứng dụng đơn giản nhất cho một liên kết từ xa là liên kết điểm-điểm, ví dụ một hệ thống CAN Bus liên kết cổng CAN RF (Radio Frequency) để giao tiếp với một hệ thống khác di động.Sự kết nối tần số vô tuyến có thể đƣợc dùng để liên kết giữa hai hay nhiều hệ thống CAN. Ngoài ra, nó có thể thiết lập để truyền một tin nhắn.

4.1.6. Sự truyền hồng ngoại trong CAN Bus (Infrared Transmission)

Hình 4.9: Truyền hồng ngoài giữa các nút

Trong một vài ứng dụng, các mạng con trong hệ thống CAN Bus giao tiếp với nhau bằng hồng ngoại. Hồng ngoại có thể liên kết với các CAN Bus độc lập hoặc một số hệ thống mạng khác có liên kết mạng kiểu Bus (ARCnet là hệ thống có liên kết mạng kiểu

41 sao và Bus) để thực hiện tính một số t nh năng nhƣ truyền tải đƣờng dài hoặc kết nối để điều khiển thiết bị.

4.1.7. Các mức tín hiệu trong CAN Bus (ISO 11898-2)

Hình 4.10: Các mức tín hiệu

Một bộ điều khiển CAN đƣợc kết nối với một bộ thu phát theo tiêu chuẩn ISO 11898 th ng qua đƣờng truyền dữ liệu đầu ra Tx và đƣờng truyền dữ liệu đầu vào Rx. Bộ thu phát kết nối với đƣờng truyền Bus thông qua hai dây CAN-L và CAN-H. Mỗi dây quy định khả năng nhận và truyền dữ liệu khác nhau.Ngoài ra Tx và Rx còn là tín hiệu định hƣớng. Tuy nhiên tín hiệu sai giữa CAN-H và CAN-L thì kh ng đƣợc định hƣớng.

4.1.8. Sự nhiễm điện từ của CAN Bus (Electromagnetic Interference)

Sự truyền tín hiệu của hệ thống CAN không ảnh hƣởng nhiều bởi sự nhiễu điện từ. Bởi vì hai đƣờng truyền Bus đều bị ảnh hƣởng theo một giá trị nhất định nên sự chênh lệch điện áp vẫn kh ng đổi (Vdiff = constant).

42

4.1.9. Bộ lặp (Repeater)

Hình 4.12: Bộ lặp

Bộ lặp theo tiêu chuẩn ISO 11898 có thể đƣợc dùng để ngắt hay cô lặp các phần của CAN Bus hoặc điều khiển nhiều nút hơn hoặc tăng chiều dài Bus lên đến hơn 1km. Bộ lặp có thể sử dụng cho nhiều kiểu mạng khác nhau để đạt các chức năng nêu trên.

4.1.10. Cấu hình Can Bus

Hình 4.13: Cấu hình CAN Bus

Kết cấu hệ thống dây của hệ thống CAN có cấu trúc một đƣờng truyền duy nhất để tránh các sóng phản xạ trên dây cáp. Về cơ bản hệ thống CAN phải phụ thuộc vào nhiều yếu tố nhƣ hệ số thời gian Bit, chiều dài đƣờng truyền Bus, chiều dài kết nối từ nút đến Bus để đảm bảo dữ liệu không bị ảnh hƣởng bởi sóng phản xạ. Trong thực tế các đoạn dây kết nối từ nút đến đƣờng truyền Bus phải đáp ứng các yêu cầu để truyền dữ liệu tốc độ cao. Tốc độ 1Mbit/s thì chiều dài đoạn dây kh ng nên vƣợt quá 0.4m.

43

4.2. CƠ CHẾ GIAO TIẾP VÀ ĐẶC TÍNH CỦA BUS 4.2.1. Cơ chế giao tiếp 4.2.1. Cơ chế giao tiếp

Trong khi các hệ thống Bus khác giao tiếp dựa vào địa chỉ của mỗi nút thì hệ thống CAN dựa vào phƣơng pháp gán địa chỉ vào tin nhắnvà giao tiếp theo hƣớng đối tƣợng, nghĩa là một ECU (nút) sẽ yêu cầu dữ liệu và một ECU sẽ đáp ứng khung dữ liệu tƣơng ứng. Mỗi tin nhắn trao đổi trong hệ thống CAN coi nhƣ là một đối tƣợng và đƣợc gán một mã định danh (ID). Mỗi tin nhắn sẽ có mức độ ƣu tiên và độ dài khác nhau.

Các tin nhắn sẽ kh ng đƣợc gửi tới một nút nhất định mà bất cứ nút nào cũng có thể nhận dữ liệu. Nội dung của tin nhắn đƣợc phân loại dựa vào định danh (VD: tốc độ động cơ, vị tr bƣớm ga,…) Mã định danh kh ng nói lên địa chỉ địch thực của tin nhắn, nó chỉ biểu diễn ý nghĩa của dữ liệu. Vì vây mỗi nút có thể tự quyết định tiếp nhận hay không tiếp nhận tin nhắn th ng qua phƣơng thực lọc tin nhắn (message filtering). Do đó nhiều nút có thể cùng nhận một tin nhắn.

Ngoài ra một nút có thể yêu cầu một nút khác gửi dữ liệu bằng cách yêu cầu khung yêu cầu từ xa (Remote frame). Nút có khả năng cung cấp dữ liệu đó sẽ gửi một khung dữ liệu (Data Frame) cùng mã định danh với khung yêu cầu.

Bên cạnh các t nh năng đơn giản, phƣơng pháp giao tiếp theo hƣớng đối tƣợng mang lại tính linh hoạt và tính nhất quán dữ liệu của hệ thống. Một nút CAN không cần biết dữ liệu của hệ thống (VD: địa chỉ của nút) nên việc bổ sung hay bỏ đi một nút trong mạng không yêu cầu sự thay đổi về phần cứng hay phần mềm. Tính nhất quán của dữ liệu thể hiện qua việc phƣơng pháp gửi tin nhắn đồng loạt và xử lý lỗi.

4.2.1.1. Sự truyền thông giữa các trạm trên Bus

44 Khái niệm truyền th ng trên CAN Bus có nghĩa là mọi trạm trên mạng có thể tiếp nhận các khung dữ liệu của trạm truyền (trạm thứ hai). Sau khi nhận khung, mỗi trạm phải quyết định thông tin đó có nhận hay không? Vì vậy việc lọc và nhận phải đƣợc thực hiện ở tất cả các trạm.

Sự truyền thông trên CAN Bus có thể so sánh với trạm phát thanh truyền hình truyền tải thông tin về tình hình giao thông ở thành phố Hồ Chí Minh. Mỗi tài xế sẽ quyết định liệu thông tin đó có cần thiết hay không?

4.2.1.2. CAN Bus gửi yêu cầu từ xa (CAN Bus Remote Request)

Hình 4.15: CAN Bus gửi yêu cầu từ xa

Những yều cầu dữ liệu từ xa (Remote Transmission Request _RTR) đƣợc v nhƣ những câu hỏi. Nút có câu trả lời sẽ đƣa ra sự giao tiếp với các dữ liệu đƣợc yêu cầu. Khung dữ liệu có thể nhận bởi các nút khác đang cần dữ liệu này. Các khung yêu cầu (Remote) và khung dữ liệu (Data) đƣợc nhận biết bằng mã định danh (ID).

45

4.2.1.3. Nguyên tắc đa truy cập trong CAN Bus (Multimaster Principle)

Hình 4.16: Nguyên tắc đa truy cập trong CAN Bus

Giao thức CAN hỗ trợ truyền thông giữa các ECU (nút) với nhau mà không cần bộ điều khiển trung tâm. Mỗi nút có thể gửi tin nhắn bất kỳ mọi thời điểm. Tuy nhiên truyền tin nhắn thành công hoặc thất bại thì phụ thuộc vào hai yếu tố:

- Bus có rảnh trƣớc khi bắt đầu truyền dữ liệu hay không? - Giao đoạn phân xử có đƣợc thông qua hay không?

Mức độ ƣu tiên dựa vào phần định danh của tin nhắn. Khi Bus ở trạng thái rảnh, một vài nút có thể bắt đầu truyền một khung dữ liệu. Hệ thống CAN sẽ đƣa ra phân xử bằng cách ghi đề một bit trội lên một bit lặn để giành quyền tiếp tục truyền tin nhắn trên Bus. Nút mất quyền truy cập sẽ chuyển sang trạng thái nhận tin nhắn và chờ truyền tin nhắn trong thời gian tiếp theo.

46

4.2.1.4. Phƣơng pháp phân xử trong CAN Bus (Arbitration Method)

Hình 4.17: Sự phân xử trong CAN Bus

Nếu có hai nút hoặc nhiều nút bắt đầu truyền dữ liệu cùng một thời điểm khi nhận ra Bus đang ở trạng thái rảnh, thì sự xung đột của các tin nhắn đƣợc tránh bằng phƣơng pháp CSMA/CD + AMP. Mỗi nút gửi đi các bit định danh của tin nhắn và giám sát các mức làm việc trên Bus. Các bit từ tất cả các bộ phát đều giống nhau thì không có chuyện gì xảy ra.

Tại bit thứ năm, nút thứ nhất và nút thứ ba gửi đi một bit trội. Nút thứ hai gửi một bit lặn nên nó không còn nằm trong sự phân xử của Bus, chuyển sang chế độ chỉ nhận và truyền đi các bit lặn.

Tại bit thứ hai, nút thứ nhất không còn nằm trong sự phân xử của Bus. Điều nay có nghĩa là tin nhắn của nút thứ ba có giá trị nhị phân thấp hơn và do đó có mức ƣu tiên cao hơn các tin nhắn của nút thứ nhất và nút thứ hai. Tin nhắn của nút nào có mức ƣu tiên cao nhất sẽ thắng trong việc phân xử và tiếp tục truyền tin nhắn. Các nút thứ nhất và nút thứ hai sẽ gửi tin nhắn sau khi nút thứ ba hoàn thành.

47

4.2.1.5. Hỗ trợ giao tiếp trong CAN

Hình 4.18: Sự hỗ trợ giao tiếp

Giao thức CAN có hai sự hỗ trợ giao tiếp. Sự hỗ trợ giao tiếp thứ nhất là ghi nhớ nút (Write Object), nghĩa là một khung dữ liệu từ một nút truyền đến một hoặc nhiều bộ tiếp

Một phần của tài liệu Nghiên cứu và chế tạo mô hình mô phỏng hệ thống CAN trên ô tô đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô (Trang 44)

Tải bản đầy đủ (PDF)

(140 trang)