Chẩn Đoán Cơ Bản - FlexRay

MyS2Love
Bình luận: 0Lượt xem: 681

MyS2Love

Tài xế O-H
FlexRay là một giao thức truyền thông mạng nội bộ trong ô tô do FlexRay Consortium phát triển. FlexRay được thiết kế nhanh hơn và đáng tin cậy hơn mạng CAN và TTP nhưng đắt hơn. FlexRay Consortium đã giải thể vào năm 2009, nhưng hiện nay tiêu chuẩn FlexRay đã trở thành một phần của bộ tiêu chuẩn ISO (từ ISO 17458-1 đến 17458-5).

chuẩn đoán cơ bản.png
FlexRay hỗ trợ tốc độ (bitrate) lên tới 10 Mbit/s, hỗ trợ tô-pô hình sao và kênh, có hai kênh độc lập nhằm bảo đảm lỗi dung sai (giao tiếp có thể tiếp tục với băng thông nhỏ lại nếu một kênh không hoạt động). Kênh hoạt động dựa trên chu kì thời gian, chia thành hai phần, phần tĩnh (static segment) và phần động (dynamic segment). Phần tĩnh từ đầu được phân thành các lát nhỏ, mỗi lát dành cho một nốt tham gia giao tiếp, bảo đảm thời gian thực mạnh hơn tiền bối của nó là mạng CAN. Phần động hoạt động gần giống CAN, các nốt chiếm quyền kiểm soát kênh nếu nó rảnh, cho phép các hành vi event-trigger.

chuẩn đoán cơ bản 1.png

Hàng loạt ô tô đầu tiên áp dụng FlexRay là BMW X5 vào cuối năm 2006, nhằm kích hoạt một hệ thống giảm xóc nhanh và mới. BMW 7 Series sử dụng FlexRay đầy đủ vào năm 2008.

Các mẫu xe sử dụng FlexRay

  1. Audi A4 (2017), A6, A7, A8, TT (2014), Q7 thế hệ thứ 2 (2015), R8 (2015)
  2. Bentley Flying Spur (2013), Bentley Mulsanne
  3. Bmw X5 từ 2007, Bmw 1-series, Bmw 3-series, Bmw 5-series, Bmw 5-series Gran Turismo, Bmw 7-series
  4. Lamborghini Huracan
  5. Mercedes-Benz S-class, E-class, C-class
  6. Rolls-Royce Ghost
  7. Land Rover
  8. Volvo XC90 (2015)
Bộ định giờ (Clock)

Hệ thống FlexRay gồm có một kênh và các bộ xử lý (electronic control unit, hay ECU).

Mỗi ECU có một bộ định giờ độc lập. Clock drift (đồng hồ đo các tiến trình nhanh, chậm khác nhau) phải nhỏ hơn 0.15% so với clock reference, sao cho chênh lệch giữa bộ định giờ chậm nhất và bộ định giờ nhanh nhất trong hệ thống không lớn hơn 0.3%. Điều này có nghĩa là nếu ECU-s là một sender (bên gửi) và ECU-r là một receiver (bên nhận), thì trong mỗi 300 chu kì bên gửi sẽ có từ 299 đến 301 chu kì bên nhận. Các bộ định giờ được tái đồng bộ đủ thường xuyên để bảo đảm không xảy ra vấn đề. Bộ định giờ được gửi trong một hình phân tĩnh.

Bit trên kênh (bus)

Mỗi lần chỉ có một ECU ghi lên kênh. Mỗi bit gửi đi được giữ trên kênh trong 8 chu kì clock lấy mẫu (sample clock). Bên nhận giữ bộ đệm lưu 5 mẫu cuối, và dùng phần đa số (majority) của 5 mẫu cuối làm tín hiệu vào (input signal). Các lỗi truyền chu kì đơn có thể ảnh hưởng đến kết quả gần vùng biên của các bit, nhưng sẽ không ảnh hưởng đến chu kì ở giữa vùng chu kì 8.

chuẩn đoán cơ bản 2.png

Các mẫu bit

Giá trị của bit được mẫu ở chính giữa vùng 8-bit. Các lỗi được dịch về các chu kì tận cùng và bộ định giờ thì được đồng bộ hóa thường xuyên để tích tụ đủ nhỏ. (tích tụ nhỏ hơn 1 chu kì trên 300 chu kì, và suốt quá trình truyền bộ định giờ được đồng bộ hóa hơn một lần trong mỗi 300 chu kì).

Định dạng Frame

Giao tiếp truyền tin thông qua các frame (khung). Tin nhắn gồm có các byte , được đóng gói như sau:

  • Transmission Start Signal (TSS, Tín hiệu Bắc đầu Truyền) – bit 0
  • Frame Start Signal (FSS, Tín hiệu Frame bắt đầu) – bit 1
  • m lần:
  • Byte Start Signal 0 (BSS0, Tín hiệu bắt đầu byte 0) – bit 1
  • Byte Start Signal 1 (BSS1, Tín hiệu bắt đầu byte 1) – bit 0
  • Bit 0 của byte thứ i
  • Bit 1 của byte thứ i
  • Bit 2 của byte thứ i
  • ...
  • Bit 7 của byte thứ i
  • Frame End Signal (FES, Tín hiệu kết thúc Frame) – bit 0
  • Transmission End Signal (TES, Tín hiệu kết thúc truyền) – bit 1
Nếu không có gì được truyền đi, kênh sẽ được giữ ở trạng thái 1 (điện thế cao), để tất cả các bên nhận biết rằng việc liên lạc đã bắt đầu khi điện thế rơi xuống 0.

Bên nhận biết tin nhắn đã được gửi đi hoàn toàn hay chưa bằng cách kiểm tra BSS0 (1) hoặc FES (0) đã được nhận hay chưa. Lưu ý 8-chu kì trên 1 bit không liên quan gì đến các byte. Cần 80 chu kì để truyền đi một byte. 16 chu kì dành cho BSS0 và BSS1 và 64 chu kì dành cho các bit của nó. Cũng lưu ý rằng BSS0 có giá trị 1, và BSS1 có giá trị 0.

Đồng bộ hóa

Các bộ định giờ được tái đồng bộ hóa khi tín hiệu được bầu chọn thay đổi từ 1 thành 0, nếu bên nhận đang ở trong trạng thái nhàn rỗi hay đang trông đợi BSS1.

Khi sự đồng bộ hóa được thực hiện xong trên tín hiệu được bầu chọn, các lỗi nhỏ về truyền tin trong suốt quá trình đồng bộ hóa ảnh hưởng lên các bit biên có thể làm cho sự đồng bộ hóa lệch đi không quá một chu kì. Vì có nhiều nhất 88 chu kì giữa sự đồng bộ hóa (BSS1, 8 bit của byte cuối, FES và TES - 11 bit của mỗi chu kì 8), và clock drift không lâu hơn 1 trên 300 chu kì, sự tích tụ có thể làm lệch clock không quá 1 chu kì. Các lỗi nhỏ truyền tin trong suốt quá trình nhận có thể chỉ ảnh hưởng lên các bit biên. Vì thế trong tình huống xấu nhất, hai bit chính giữa sẽ chính xác nên giá trị mẫu cũng sẽ chính xác.

Dưới đây là ví dụ về một trường hợp cực kì xấu - lỗi trong quá trình đồng bộ hóa, một chu kì bị mất đi vì clock drift và lỗi trong quá trình truyền.

Các lỗi đã xảy ra trong ví dụ:

  • Do có một lỗi bit đơn trong quá trình đồng bộ hóa, sự đồng bộ hóa bị trễ một chu kì
  • Bộ định giờ của bên nhận chậm hơn bộ định giờ của bên gửi, nên bên nhận lỡ mất một chu kì (được đánh dấu X). Điều này sẽ không xảy ra lần nữa trước việc đồng bộ hóa tiếp theo do giới hạn về clock drift lớn nhất được phép.
  • Do có một lỗi bit đơn trong quá trình truyền, một bit được bầu chọn sai gần kết quả. Mặc dù nhiều lỗi nhưng quá trình nhận vẫn đúng.
  • Ô màu lục là các điểm lấy mẫu (sampling points). Tất cả ngoại trừ điểm đầu tiên đều được đồng bộ hóa bởi edge (cạnh, biên) 1->0 trong giai đoạn truyền đi như hình.
chuẩn đoán cơ bản 3.png

Công cụ phát triển

Khi phát triển và/hoặc gỡ rối với bus FlexRay, việc kiểm tra tín hiệu phần cứng có thể rất quan trọng. Các logic analyzer (bộ phân tích logic) và bus analyzer(phân tích kênh) là các công cụ dùng để thu thập, phân tích, giải mã, lưu trữ tín hiệu để con người có thể xem các tín hiệu dạng sóng tốc độ cao ở một thời điểm khác.

Tương lai của FlexRay

Bus FlexRay có các nhược điểm như các mức điện thế hoạt động thấp hơn và sự không đối xứng ở các cạnh gây ra các vấn đề khi tăng chiều dài mạng. Ethernet có thể thay thế FlexRay trong các ứng dụng không cực kì an toàn và cần băng thông lớn.

Nguồn :OBDVietNam
 

Bạn hãy đăng nhập hoặc đăng ký để phản hồi tại đây nhé.

Bên trên