Khi truyền tín hiệu trên Bus, tín hiệu giữa các nút phải có một thời gian trễ nhất định. Tổng thời gian trễ của các bộ phận nhƣ bộ điều khiển CAN (CAN Controller), bộ truyền tín hiệu (Opto-coupler), bộ thu phát (Transceiver) phải nhỏ hơn phân đoạn thời gian truyền trễ (Prop_Seg) trên một bit.
Các bộ phân điện tử phải bù trừ thời gian trễ sao cho phù hợp. Bộ điều khiển CAN từ 50ns đến 62ns, bộ truyền tín hiệu (Opto-coupler) 40ns đến 140ns, bộ thu phát từ 120ns đến 250ns, dây cáp khoảng 5ns/m.
Sự trễ sẽ đƣợc hệ thống CAN kiểm tra lại sau khi đồng bộ nhằm đảm bảo đúng giới hạn yêu cầu. Nút xa nhất là cột mốc để tính thời gian trễ phù hợp cho việc truyền dữ liệu. Nhƣ vậy, chúng ta phải sử dụng các bộ phận điện tử (bộ thu phát, bộ điều khiển) đạt chuẩn ISO 11898, vi điều khiển phải xử lý tốc độ cao.
30
Hình 3.8: Truyền tín hiệu trong CAN BUS 3.5.3. Tỉ số tốc độ và chiều dài Bus (Data – Rate/ Bus Length)
Hình 3.9: Tỉ số giữa tốc độ và chiều dài Bus
Để đánh giá hệ thống CAN, chúng ta phải dựa tốc độ truyền dữ liệu và chiều dài Bus có thể truyền. Hai yếu tố này ảnh hƣởng lẫn nhau, ví dụ: tốc độ bit tối đa là 1Mbit/s với chiều dài Bus 40m, tốc độ truyền 50Kbit/s với chiều dài Bus 1000m. Theo tiêu chuẩn
31 ISO 11898, hệ thống CAN có chiều dài tối đa là 1000m nhƣng chúng ta có thể tăng chiều dài hơn 1000m bằng việc sử dụng thêm các thiết bị hỗ trợ hoặc bộ lặp.
3.5.4. Chiều dài của CAN Bus
Theo tiêu chuẩn ISO 11898, tốc độ truyền dữ liệu và chiều dài mạng đạt đƣợc với các thiết bị đạt tiêu chuẩn:
- Tốc độ 1Mbit/s tƣơng ứng với 40m - Tốc độ 500Kbit/s tƣơng ứng với 100m - Tốc độ 250Kbit/s tƣơng ứng với 250m - Tốc độ 125Kbit/s tƣơng ứng với 500m - Tốc độ 50Kbit/s tƣơng ứng với 1000m
Chiều dài tối đa có thể đạt đƣợc của đƣờng truyền Bus trong mạng CAN về cơ bản đƣợc xác định bởi các hiệu ứng vật lý sau:
- Sự trễ của các nút đƣợc kết nối với Bus và sự trễ trên đƣờng truyền Bus.
- Sự chênh lệch trong độ dài lƣợng tử thời gian của bit do sự dao động tƣơng đối của các hệ thống
- Sự giảm biên độ tín hiệu do các điện trở nối tiếp của dây cáp Bus và điện trở đầu vào của các nút.
3.6. MÃ HÓA BIT (BIT ENCODING)
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)