66 Các bộ điều khiển trên đƣờng truyền Bus có một trong các trạng thái sau:
- Trạng thái lỗi chủ động: Bộ điều khiển tham gia giao tiếp trên đƣờng truyền Bus bình thƣờng. Khi hệ thống phát hiện lỗi thì nó sẽ gửi đi cờ báo lỗi chủ động.
- Trạng thái lỗi bị động: Bộ điều khiển kh ng đƣợc phép gửi một cờ báo lỗi chủ động. Nó vẫn tham gia giao tiếp trên đƣờng truyền Bus nhƣng khi hệ thống phát hiện lỗi thì nó chỉ đƣợc phép gửi cờ báo lỗi bị động. Sau khi thực hiện một lần truyền, bộ điều khiển ở trạng thái lỗi bị động sẽ phải chờ trƣớc khi bắt đầu truyền tiếp.
- Trạng thái không hoạt động (Bus off):Vì bộ điều khiển ở trạng thái ngắt nên bộ điều khiển không tham gia truyền dữ liệu trên đƣờng truyền Bus.
5.3.1.1. Khung lỗi chủ động (Active Error Frame)
Hình 5.6: Khung lỗi chủ động
Khi một nút phát hiện lỗi trên đƣờng truyền Bus thì một khung lỗi sẽ đƣợc truyền đi. Khung lỗi chƣa một cờ lỗi (Error Flag) và một khoảng phân cách lỗi (Erro Delimiter). Các bit trội của cờ lỗi sẽ ghi đề lên khung dữ liệu bị lỗi và ngăn ngừa việc nhận dữ liệu của các nút khác.Khi tín hiệu cờ báo lỗi đƣợc gửi đi, các bộ điều khiển khác nhận ra lỗi và ngừng nhận dữ liệu để gửi cờ lỗi của chính nó.Cuối cùng là 8 bit lặn của vùng phân cách lỗi cho phép khởi động lại sự giao tiếp trên đƣờng truyền Bus.
5.3.1.2. Khung lỗi bị động (Passive Error Frame)
Hệ thống CAN ngăn ngừa sự tắc ngẽn trên đƣờng truyền Bus thì các khung lỗi đƣợc gửi từ các nút bị lỗi sẽ bị hạn chế. Một nút lỗi chủ động sẽ gửi đi cờ báo lỗi trội còn một nút lỗi bị động sẽ gửi đi cờ báo lỗi lặn. Trong vùng phân cách lỗi, nút sẽ kiểm tra xem liệu nó có phải là nút đầu tiên phàn hồi lỗi hay không? Nếu nó là nút đầu tiên thì ngừng truyền dữ liệu.
Các bộ tiếp nhận lỗi bị động không làm ảnh hƣởng đến việc truyền dữ liệu, bởi vì các cờ báo lỗi lặn không ảnh hƣởng đến mức độ ƣu tiên trên đƣờng truyền Bus. Bộ truyền lỗi bị động có thể ngắt truyền tin nhắn bằng cách truyền đi một cờ lỗi bị động.
67
Hình 5.7: Khung báo lỗi bị động
Chú ý: Khi một bộ nhận đang trong trạng thái lỗi bị động thì tính bên vững, nhất quan của dữ liệu kh ng đƣợc đảm bảo.
5.3.2. Các bộ đếm lỗi
Mỗi bộ điều khiển CAN đều có hai bộ đếm để phục vụ cho việc hạn chế lỗi: Bộ đếm lỗi truyền (Transmit Error Counter_TEC) và bộ đếm lỗi nhận (Receive Error Counter_REC)
5.3.2.1. Bộ đếm lỗi truyền (Transmit Error Counter_TEC)
68 0-96: Nút đang ở trạng thái lỗi chủ động (Active Error) dƣới mức giới hạn cảnh báo. Nếu bộ đếm vƣợt quá giá trị 96 lỗi thì bộ điều khiển CAN sẽ thiết lập cảnh báo.
97-127: Nút đang ở trạng thái lỗi chủ động. Bộ đếm nằm trong khoảng giá trị này nghĩa là nút gặp vấn đề nặng (nhiễu nặng).
128-225: Nút đang ở trạng thái lỗi bị động. Tuy nhiên, một vài bộ điều khiển CAN không thông báo cho hệ thống biết về sự thay đổi vì nhiễu tín hiệu.
>225: Nút sẽ chuyển sang trạng thái ngắt kết nối (Bus Off). Bộ vi xử lý sẽ đƣợc thông báo về tình trạng của nút.
5.3.2.2. Bộ đếm lỗi nhận (Receive Error Counter_REC)
Hinh 5.9: Bộ đếm lỗi nhận
Về lý thuyết, một nút lỗi truyền đi một cờ lỗi thì các nút khác sẽ tăng bộ đếm lỗi của chúng thêm một đơn vị. Do đó, nhà chế tạo đã đƣa ra các quy luật hạn chế lỗi của CAN.Giá trị số lỗi nhận (REC) sẽ đƣợc giới hạn bằng một số thức (127). Trong các model của Bosch, số lỗi nhận chỉ có dung lƣợng 8 bit. Vì vậy giá trị số lỗi nhận không thể tăng lên trong chế độ lỗi bị động.
5.4. Các quy luật hạn chế lỗi
Hệ thống CAN phải tuân theo một số quy tắc nhằm hạn chế lỗi:
1. Khi bộ nhận phát hiện lỗi, sự đếm lỗi sẽ tăng lên một, trừ khi lỗi bit trong quá trình gửi một cờ lỗi chủ động hay một cờ báo quá tải (Overload Flag).
2. Sau khi gửi đi một cờ báo lỗi, bộ nhận phát hiện một bit trội thì bộ đếm lỗi nhận sẽ tăng lên 8.
69
3. Khi bộ truyền đi một cờ lỗi thì bộ đếm lỗi bộ truyền sẽ tăng lên 8
Ngoại trừ:
- Trƣờng hợp 1: Bộ truyền đang ở trạng thái lỗi bị động và nó phát hiện ra một lỗi xác nhận (ACK Error) bởi vì bộ điều khiển không tìm thấy một bit ACK trội và không tìm thấy một bit trội khi nó gửi cờ báo lỗi bị động.
- Trƣờng hợp 2: Bộ truyền gửi đi một cờ báo lỗi do lỗi nhồi bit xảy ra trong vùng phân xử. Phƣơng pháp nhồi bit phải đƣợc thực hiện trƣớc bit RTR. Đáng lẽ bộ điều khiển phải gửi đi một bit trội theo tình trạng trên đƣờng truyền Bus tuy nhiên nó lại gửi một bit lặn. Trong hai trƣờng hợp trên bộ đếm lỗi truyền sẽ kh ng thay đổi.
4. Khi bộ truyền đang gửi một cờ báo lỗi chủ động (Active Error Flag) hoặc một cờ báo quá tải (Overload Flag) thì nó phát hiện một bit lỗi thì bộ đếm lỗi truyền sẽ tăng lên giá trị 8.
5. Khi bộ nhận đang gửi một cờ báo lỗi chủ động (Active Error Flag) hoặc một cờ báo quá tải (Overload Flag) thì nó phát hiện một bit lỗi thì bộ đếm lỗi nhận tăng lên 8.
6. Một nút kh ng đƣợc phép có 7 bit trội liên tiếp sau khi gửi một cờ báo lỗi chủ động, cờ báo lỗi bị động, cờ báo quá tải. Khi bộ điều khiển CAN phát hiện bit trội thứ 14 trong chuỗi bit trội liên tiếp (bộ điều khiển CAN gửi đi cờ lỗi chủ động và cờ lỗi quá tải) hoặc phát hiện bit trội thứ 8 trong chuỗi bit trội liên tiếp theo sau cờ lỗi bị động và sau một chuỗi 8 bit trội bổ sung vào tin nhắn. Mỗi bộ truyền sẽ tăng bộ đếm lỗi của nó lên 8 và mỗi bộ nhận cũng sẽ tăng bộ đếm lỗi của nó lên 8.
7. Bộ điều khiển CAN truyền thành công một tin nhắn (tin nhắn có khung xác nhận và không có lỗi cho đến khi kết thúc vùng kết thúc) thì số lỗi của bộ truyền sẽ giảm một, trừ trƣờng hợp số lỗi bộ truyền là 0.
8. Bộ điều khiển CAN nhận thành cộng một tin nhắn (tin nhắn không có lỗi đến khoảng ACK (ACK Slot) và gửi thành công bit của vùng ACK) thì sỗ lỗi của bộ nhận sẽ giảm một, trƣờng trƣờng hợp số lỗi bộ nhận từ 1 đến 127. Bộ đếm lỗi nhận lớn hơn 127 sẽ thiết lập một giá trị giữa 119 và 127.
9. Khi số lỗi truyền bằng hoặc vƣợt quá 128 hay khi số lỗi bộ nhậnbằng hoặc vƣợt quá 128 thì nút đang ở trạng thái lỗi bị động. Một nút đáp ứng một trong hai điều khiển trên thì nút trở thành nút lỗi bị động và nó phải gửi đi cờ báo lỗi bị động.
10. Một nút chuyển sang trạng thái ngắt (Bus Off) khi bộ đếm lỗi truyền bằng hoặc vƣợt quá 256 lỗi.
11. Một nút đang ở trạng thái lỗi bị động chuyển sang trạng thái lỗi chủ động khi bộ đếm lỗi truyền và bộ đếm lỗi nhận có giá trị nhỏ hơn hoặc bằng 127.
70
12. Khi bộ đếm lỗi nhận và bộ đếm lỗi truyền đƣợc thiết lập về giá trị 0 khi hệ thống CAN xuất hiện 128 lần 11 bit lặn liên tiếp trên đƣờng truyền Bus thì nút ở trạng thái ngắt chuyển sang trạng thái lỗi chủ động.
Chú ý:
- Một nút có giá trị bộ đếm lỗi lớn hơn 96 thì đƣờng truyền Bus bị nhiễu nặng. Chúng ta phải tiến hành các phƣơng pháp kiểm tra.
- Trong khi khởi động (Start-up) một nút trên đƣờng truyền Bus truyền một vài tin nhắn thì nó sẽ không có sự xác nhận, phát hiện lỗi, lặp lại tin nhắn. Vì lý do này, một nút chuyển sang trạng thái lỗi bị động nhƣng nó kh ng chuyển sang trạng thái ngắt đƣợc.
71
CHƢƠNG 6: ỨNG DỤNG CAN TRÊN XE VÀ TƢƠNG LAI CỦA CAN
6.1. YÊU CẦU GIAO TIẾP GIỮA CÁC HỆ THỐNG ĐIỀU KHIỂN TRÊN XE
Hiện nay, xe t thƣờng có một lƣợng lớn các thiết bị điện tử đƣợc sử dụng cho các mục đ ch điều khiển khác nhau.Đây là kết quả một phần nhu cầu của khách hàng mong muốn chiếc xe trở nên thoải mái hơn, an toàn hơn và một phần yêu cầu của các nhà chức trách về cải thiện khí thái nhằm bảo vệ m i trƣờng. Các thiết bị điều khiển phải đáp ứng các đòi hỏi trong sự điều chỉnh động cơ, hộp số, hệ thống phanh ABS, hệ thống cân bằng điện tử,…
Các sự điều chỉnh trên xe cần một lƣợng lớn các thao tác nhƣ giám sát, cảnh báo, điều khiển các cơ cấu chấp hành. Nhƣ vậy, các thiết bị điện tử phải trao đổi dữ liệu với nhau để đảm bảo các thao tác hoạt động một cách trơn tru nhất. Ngày xƣa, phƣơng pháp truyền thống của việc trao đổi dữ liệu là chuyển dữ liệu từ điểm này đến điểm kia. Phƣơng pháp truyền thống ngày càng trở nên phức tạp, tốn kém, khó bảo trì.Bởi vì các chức năng điều khiển trở nên phức tạp hơn, các hệ thống trở nên phức tạp hơn với số lƣợng các kết nối lơn. Ngoài ra, một số hệ thống đã đƣợc phát triển với nhiều t nh năng trên một thiết bị điều khiển. Ví dụ:Hệ thống điều khiển động cợ dựa vào tín hiệu cảm biến oxy để điều chỉnh khí nạp và nhiện liệu trong buồng đốt; Hệ thống phanh ABS dựa vào tín hiệu tốc độ xe để điều khiển cơ cấu chấp hành để tránh bị trƣợt; Hệ thống hỗ trợ phanh dựa vào tín hiệu khoảng cách để cảnh báo ngƣời lái xe khi xe vƣợt quá khoảng cách an toàn. Vì mục đ ch phát triển một chiếc xe tự động hóa trong tƣơng lai nên các vấn đề liên kết mạng của các thiết bị điện tử phải đƣợc giải quyết. Các vấn đề sẽ đƣợc giải quyết hệ thống mạng kiểu bus liên kết các dữ liệu. Do đó, BOSCH đã phát triển hệ thống CAN, nó đã đƣợc chứng nhận theo tiêu chuẩn quốc tế ISO 11898 và đƣợc vài nhà sản xuất thiết bị bán dẫn. Trong hệ thống CAN Bus, các nút đƣợc v nhƣ là cảm biến, bộ phận chấp hành, bộ điều khiển kết nối dữ liệu với nhau trên đƣờng truyền Bus.
Giao thức CAN phù hợp với lớp liên kết dữ liệu của mẫu chuẩn OSI của ISO đáp ứng các nhu cầu theo thời gian thực của các ứng dụng trên ô tô. Giao thức mạng có thể phát hiện và điều chỉnh các lỗi truyền thông tin nhƣ các nguyên nhân gây ra lỗi bởi nhiễu, hệ thống tự động gửi lại thông tin bị lỗi. Nhƣ vậy, ƣu điểm của hệ thống CAN trên xe là mỗi nút có thể truyền dữ liêu trên đƣờng truyền Bus và dữ liệu đƣợc truyền đến các tất cả các nút trong hệ thống. Thông qua bộ lọc tin nhắn, nút sẽ nhận dữ liệu cần thiết cho việc điều khiển.
6.2. ỨNG DỤNG CỦA CAN TRÊN XE Ô TÔ
Ngày nay, nhà sản xuất ô tô áp dụng nhiều ứng dụng khác nhau để đáp ứng các yêu cầu của nhà chức trách và khách hàng. Mỗi ứng dụng đều có một vai trò quan trọng trong việc điều khiển trên ô tô. Ban đầu, hệ thống CAN Bus chỉ đƣợc sử dụng cho hệ thống
72 điều khiển động cơ bởi sự hạn chế của các thiết bị điện tử.Tuy nhiên, sự phát triển không ngừng của các thiết bị điện tử đã giúp các nhà sản xuất xe hơi sử dụng hệ thống CAN Bus nhƣ một tiêu chuẩn kết nối truyền dẫn trong các hệ thống điều khiển khác nhƣ hệ thống điều khiển điện thân xe, hệ thống điều khiển hộp số và hệ thống điều khiển các thiết bị giải trí.Ngoài ra, hệ thống CAN hƣớng đến các hệ thống kiểm tra tín hiệu tự động trên xe đƣa vào sử dụng nhƣ cộng cụ chẩn đoán. Từ đây, các thiết bị chẩn đoán trên CAN tiêu chuẩn ISO 15765 đã đƣa vào sản xuất. Các lớp liên kết dữ liệu và các lớp ứng dụng đã đƣợc quy định rõ và nó trở thành điều bắt buộc ở Châu Âu.
Ngành công nghiệp ô tô phải phát triển các chức năng mới nhằm đáp ứng các yêu cầu khắc khe của khách hàng về sự thoải mái và an toàn. Ngoài ra họ còn phải đáp ứng các yêu cầu về bảo vệ m i trƣờng của các nhà chức trách. Vì vậy, các nhà sản xuất phải nâng cấp bằng chức năng điều khiển về động cơ, hệ thống truyền lực, hệ thống phanh, hệ thống đèn chiếu sáng, hệ thống điều hòa, hệ thống điều chỉnh gƣơng hoặc ghê, hệ thống chìa khóa th ng minh và đặc biệt là hệ thống giải trí trên xe. Ngoài ra, các dòng xe cao cấp có một vài chức năng đặc biệt đƣợc tính hợp trên xe nhƣ hệ thống treo điện tử để tạo cảm giác thoải mái cho ngƣời ngồi trong xe, hệ thống cân bằng điên tử đảm bảo sự an toàn khi xe vào cua gấp, hệ thống giữ làn đƣờng nhằm tạo cảm giác thoải mái và an toàn cho ngƣời lái và các yếu tố ảnh hƣởng tới động cơ để tiết kiệm nhiên liệu xe.
Hình 6.1 Hệ thống CAN Bus trong hệ thống điều khiển an toàn và ổn định của xe
Đƣờng truyền CAN Bus số 1 là đƣờng giao tiếp với các hệ thống điều khiển khác nhƣ hệ thống điều khiển động cơ, hệ thống điều khiển phanh ABS, hệ thống điều khiển cân bằng điện tử ESP,… Đƣờng truyền CAN Bus số 1 có ký liệu KWP 2000 là đƣờng truyền
73 thƣờng đƣợc sử dụng để chẩn đoán. Đƣờng truyền CAN Bus số 2 đƣợc dùng để lập trình lại cho hệ thống điều khiển.
Trong sơ đồ trên, đƣờng truyền số 2 nằm độc lập so với đƣờng truyền CAN số 1. Tuy nhiên nó có một kết nối với đƣờng truyền CAN số 1 thông qua các mạch bên trong hệ thống điều khiển hệ thống truyền động (PCM).
Trong tƣơng lai một số t nh năng mới đƣợc tích hợp trên xe nhƣ hệ thống tránh va chạm bằng cách sử dụng cảm biến tính toán khoảng giữa các xe để báo hiệu cho ngƣời lái, hệ thống đèn th ng minh có thể điều khiển tự động để tránh gây tai nạn cho ngƣời đi ngƣợc chiều, hệ thống phát hiện vật cản trên đƣờng thông qua cảm biến radar. Ngoài ra, các t nh năng th ng tin giải trí và giao tiếp cũng đƣợc phát triển trên xe hơi nhƣ kết nối Internet, hệ thống GPS để dẫn đƣờng,… Đặc biệt là nhà sản xuất cố gắng sẽ tích hợp một số t nh năng cao cấp nhƣ sự tƣơng tác giữa xe với xe hoặc giữa xe với cơ sở hạ tầng trong truyền thông. Tất cả t nh năng cao cấp cần một hệ thống cực mạng liên kết hay sự kết hợp các đƣờng dẫn th ng tin đƣợc chia ra nhƣ CAN.
Vì các vấn đề liên quan đến mạng liên kết trong xe và đƣờng truyền dẫn nên hiệp hội kỹ sƣ t (SAE) đã soạn thảo tài liệu về các loại ứng dụng:
- Ứng dụng loại A (LIN) là ứng dụng sử dụng đối với kết nối liền khung xe và thiết bị công suất, nhƣ c ng tắc thông thƣờng, đèn trƣớc, đèn sau và đèn phanh, t n hiệu flash, điều chỉnh ghế và gƣơng, kéo cửa sổ, khoá cửa,…Đó là các chức năng kh ng ảnh hƣởng nhiều đến tính an toàn của ngƣời sử dụng nên chúng có thể đƣợc thực hiện bởi đƣờng truyền tốc độ thấp, với tốc độ truyền khoảng 10Kbit/s, với 1 dây đơn là mức truyền dữ liệu trung bình.
- Ứng dụng loại B (CAN-L) là ứng dụng sử dụng để kết nối thiết bị hay các chi tiết th ng minh hơn, phức tạp hơn, nhƣ bảng tap-lo, thiết bị điều hoà kh ng kh ,… Tốc độ truyền dữ liệu yêu cầu 40Kbit/s.
- Ứng dụng loại C (CAN-H) là ứng dụng sử dụngđối với việc truyền dữ liệu tốc độ cao ở thời gian thực và tín hiệu phân tích hồi đáp, trong khoảng 1 đến 10 mili giây. Các tín hiệu liên quan đến động cơ và hộp số và chức năng điều khiển phanh, và yêu cầu mức truyền dữ liệu từ 250Kbit/s đến 1 Mbit/s.
- Ứng dụng loại D (MOST) là ứng dụng sử dụng đối với mạng liên kết của hầu hết các