Tải bản đầy đủ (.docx) (17 trang)

Bài tập lớn môn thiết kế ngoại vi và kĩ thuật ghép nối (13)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.08 MB, 17 trang )

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG

BÁO CÁO
MƠN HỌC: THIẾT KẾ NGOẠI VI VÀ KỸ THUẬT GHÉP NỐI
Đề số 08: Tìm hiểu về chuẩn giao tiếp CAN
Giảng viên hướng dẫn:

Cơ T.T.T. Hà

Sinh viên:

Vũ Đình Long

B18DCDT138

Hầu Nhật Hoa

B18DCDT082

Đào Cơng Minh

B18DCDT149

Nguyễn Đắc Hưng

B18DCDT102

Nhóm mơn học:

02


Hà Nội, tháng 3 năm 2022


2

Mục lục
I.

Khái niệm.........................................................................................................1

II. Lịch sử phát triển.............................................................................................1
III. Kiến trúc của CAN..........................................................................................2
IV.

Ứng dụng của CAN........................................................................................2

1.

Sử dụng trong chế tạo phương tiện giao thông (thời kỳ đầu)......................2

2.

Mạng điều khiển nhúng..................................................................................2

V.

Cách thức hoạt động, tổ chức của CAN.........................................................4

1.


Nguyên tắc........................................................................................................4

2.

Cách truyền dữ liệu.........................................................................................4

4.

Độ chính xác của chuẩn giao tiếp CAN.........................................................6

5.

ID & Trường xác định quyền ưu tiên (Arbitration Field)...........................7

VI.

Ứng dụng của giao thức CAN trên ô tô.........................................................7

VII.

Ưu điểm và nhược điểm của chuẩn giao tiếp CAN..................................11


3
I.


4
II.


III.

Khái niệm
Controller Area network (CAN bus) là một chuẩn bus ổn định dùng cho
các phương tiện giao thông, đặc biệt là xe hơi. CAN được thiết kế để các vi điều
khiển và các thiết bị giao tiếp với nhau mà khơng cần thơng qua máy tính. CAN là
một giao thức hoạt động dựa trên các gói tin (message-based protocol), ban đầu
được thiết kế ghép kênh (multiplex) các dây điện trong ô tô để tiết kiệm số lượng
dây dẫn, nhưng sau đó được sử dụng rộng rãi hơn trong các trong các hệ thống tự
động hóa cơng nghiệp hay hàng khơng.
CAN cho phép các module khác nhau và các máy tính trên xe ơ tơ nói
chuyện với nhau. Nó như một nhóm các đường dẫn với tốc độ rất cao cho phép các
dữ liệu và các lệnh được nén qua lại từ một module khác nhau. Điều này cho phép
các hệ thống như hệ thống điều khiển điện tử của hệ thống động cơ ECU, hệ thống
phanh chống bó cứng ABS, hệ thống kiểm soát độ bám đường, hệ thống kiểm soát
tay lái, hệ thống cân bằng điện tử, hệ thống treo điện tử, hệ thống kiểm soát làm
lạnh tự động, module điều khiển ánh sáng và hàng chục, hàng trăm hệ thống
khác… tất cả được kết nối với nhau bằng điện tử.
Lịch sử phát triển
CAN được phát triển lần đầu tiên bởi Robert Bosch GmbH, Đức vào năm 1986 khi
họ được Mercedes yêu cầu phát triển một hệ thống liên lạc giữa ba ECU (bộ điều khiển
điện tử) trên xe. Họ nhận thấy rằng UART khơng cịn phù hợp trong tình huống này vì nó
được sử dụng trong giao tiếp điểm – điểm. Nhu cầu về một hệ thống liên lạc đa chủ trở
nên cấp thiết. Bởi vậy, mạng CAN đầu tiên đã xuất hiện vào năm 1987 bởi Intel chế tạo.
Tóm tắt lịch sử:
 Năm 1983: Bắt đầu dự án phát triển mạng trên xe hơi trong nội bộ hãng
Bosch.
 Năm 1986: Chính thức giới thiệu giao thức CAN.
 Năm 1987: Những chíp điều khiển CAN đầu tiên xuất hiện ở nhà sản xuất
linh kiện bán dẫn Intel và Philips.

 Năm 1991: Bosch xuất bản thông số kỹ thuật CAN 2.0.
 Năm 1992: Thành lập nhóm các nhà sử dụng và sản xuất CAN quốc tế: Hội
CAN tự động hóa (CiA). Hội CiA xuất bản giao thức Lớp ứng dụng CAN
(CAN Application Layer, CAL). Những chiếc xe Mercedes-Benz đầu tiên
được trang bị CAN xuất hiện.
 Năm 1993: Xuất bản tiêu chuẩn ISO 11898.
 Năm 1994: CiA tổ chức Hội nghị CAN quốc tế lần thứ nhất (iCC). AllenBradley giới thiệu giao thức DeviceNet.
 Năm 1995: Xuất bản Tiêu chuẩn ISO 11898 sửa đổi (định dạng khung mở
rộng). CiA xuất bản giao thức CANopen.
Trong đó:


5
CiA (CAN in Automation): Là nhóm các nhà sản xuất và sử dụng trên
thế giới phát triển và hỗ trợ CANopen và các giao thức CAN cơ bản lớp cao
hơn khác. Đây là tổ chức phi lợi nhuận được thành lập từ năm 1992 để cung
cấp thông tin về công nghệ CAN cơ bản, sản xuất và tiếp thị. Có khoảng 500
công ty là thành viên của tổ chức phi lợi nhuận này và có trụ sở chính đặt tại
Nuremberg, Đức.
DeviceNet và CANopen: là hai chuẩn quy định hoạt động của CAN ở
lớp cao hơn (Application Layer) dựa trên chuẩn CAN (Chuẩn CAN quy định
việc thực thi giao thức ở lớp Liên kết dữ liệu (Data Link Layer) và lớp vật lý
(Physical Layer))

IV.

Kiến trúc của CAN

CAN là một bus truyền thơng nối tiếp (serial bus) có thể chứa nhiều
master (multi-master) để kết nối các ECU (Electronic Control Unit) như là

những node (nút mạng) trên đường truyền. Cần ít nhất hai node trên đường
truyền CAN để có thể giao tiếp. Trên bus, một node có thể giao tiếp với các
dạng thiết bị như PLD hay máy tính nhúng (embedded computer).

(ví dụ mơ hình sử dụng CAN trên phương tiện giao thơng)

Các node được kết nối với nhau trên một bus vật lý gồm 2 dây xoắn với
trở kháng đặc tính (characteristic impedance) 120 Ω. Hệ thống bus này xác
định mức logic dựa trên sai biệt điện áp (differential signals).

V.

Ứng dụng của CAN
1. Sử dụng trong chế tạo phương tiện giao thông (thời kỳ đầu)
- Khi các hãng xe yêu cầu phát triển một hệ thống liên lạc giữa ba
ECU (bộ điều khiển điện tử) trên xe. Họ nhận thấy rằng UART
không cịn phù hợp trong tình huống này vì nó được sử dụng


6
trong giao tiếp điểm – điểm. Nhu cầu về một hệ thống liên lạc
đa chủ trở nên cấp thiết
- Về mặt lý thuyết, CAN có thể liên kết tới 2032 thiết bị (giả sử
một nút với một mã ID) trên một mạng duy nhất. Nó cung cấp
tốc độ truyền thơng tốc độ cao lên đến 1 Mbits / giây do đó cho
phép điều khiển thời gian thực. Ngồi ra, tính năng hạn chế lỗi
và phát hiện lỗi làm cho nó đáng tin cậy hơn trong môi trường
nhiễu nghiêm trọng.
2. Mạng điều khiển nhúng
- Tự động hóa cơng nghiệp, ứng dụng y tế, xây dựng tự động

hóa, máy dệt, máy móc sản xuất.
- Tự động hóa trong nhà máy: việc điều khiển tự động hóa các
thiết bị có thể sử dụng giao thức DeviceNet, một giao thức xay
dựng trên chuẩn CAN

- Hệ thống thang máy: Các bo điều khiển thông tin với nhau qua
bus CAN ở các tầng và bo mạch chính.


7

- Trong bệnh viện, mạng CAN có thể sử dụng để điều khiển các
thiết bị trong phòng như đèn, bảng điện tử, máy nội soi, máy Xquang, camera, máy in… (giao thức có thể sử dụng là
CANOpen)

VI.

Cách thức hoạt động, tổ chức của CAN
CAN sử dụng CSMA / CD + AMP (Carrier Sense Multiple
Access / Collision Detection with Arbitration on Message Priority). Trước
khi gửi thông điệp, nút CAN sẽ kiểm tra xem bus có bận khơng. Nó cũng
sử dụng để phát hiện khả năng trùng lặp. Những phương thức này cũng
tương tự như Ethernet Tuy nhiên, khi một mạng Ethernet phát hiện xung
đột, cả hai nút gửi sẽ ngừng truyền. Sau đó, nó đợi một khoảng thời gian


8
trễ ngẫu nhiên trước khi thử gửi lại. Điều này làm cho mạng Ethernet rất
nhạy cảm với tải bus cao. Có thể giải quyết vấn đề này với nguyên tắc
xác định quyền ưu tiên rất thông minh trong mạng CAN.

1. Nguyên tắc
Thông điệp dữ liệu được truyền từ bất kỳ nút nào trên bus CAN không
chứa địa chỉ của nút truyền hoặc của bất kỳ nút nhận dự kiến nào.
Thay vào đó, nội dung của thơng điệp được gắn nhãn bởi một số nhận
dạng (ID) là duy nhất trên toàn mạng. Tất cả các nút khác trên mạng đều
nhận được thông điệp và mỗi nút thực hiện kiểm tra sự chấp nhận trên mã
ID để xác định xem thông điệp có liên quan đến nút đó hay khơng. Nếu
thơng điệp có liên quan, nó sẽ được xử lý; nếu khơng thì nó bị bỏ qua.
2. Cách truyền dữ liệu
Chọn chế độ trong 4 chế độ Data Frame, Remote Frame, Error Frame và
Overflow Frame. Các chế độ đều có cách truyền dữ liệu giống nhau, ta xét chế
độ Data Frame (bit RTR = 0)
Khi thiết lập CAN, đầu tiên ta chọn cách truyền:
 chế độ CAN 2.0A – RTR= 0, IDE = 0
 chế độ CAN 2.0B – RTR= 0, SRR = 1, IDE = 1, cấu hình thêm ID
mở rộng (18 bit)
Sau khi thiết lập, cấu hình ID cho từng Node, cấu hình các bit DLC để chọn số
dữ liệu sẽ truyền trong 1 nhịp.
Ta chọn chế độ Data Frame, CAN 2.0A và truyền 8 byte dữ liệu (~DLC =
0100).


9

Khung truyền dữ liệu của Chuẩn giao tiếp CAN
Khi truyền dữ liệu, bit SOF sẽ bắt đầu, sau đó dựa trên các thông số thiết lập sẽ
nhảy vào chế độ cụ thể. Ở đây ta nhảy vào chế độ truyền Data Frame với CAN
2.0A, ở các Node trên mạng lưới sẽ so sánh địa chỉ ID của chúng. Nếu ID
giống sẽ bắt đầu nhận dừ liệu từ Node phát. Khi nhận xong dữ liệu (8 byte) sẽ
tiến hành check hàng (so sánh trường CRC ở Node thu và Node phát). Nếu

đúng thì cho bit ACK về 0, rồi kết thúc nhịp truyền bằng bit kết thúc EOF. Q
trình truyền hồn tất.

3. Độ chính xác của chuẩn giao tiếp CAN
2 đường dây CAN_H và CAN_L đều để truyền dữ liệu. Ở đầu ra của bộ
thu phát CAN, hình ảnh bên dưới, sẽ điều chế tín hiệu TX thành 2 dạng,
đưa vào CAN_H và CAN_L


10

Các thành phần của 1 Node
Trên CAN_H và CAN_L tín hiệu sẽ có dạng đối xứng với nhau. Đối
xứng để làm gì, đối xứng để trên đương dây sai số tạo ra trên CAN_H và
CAN_L là như nhau. Khi đưa ngược lại bộ thu phát CAN để biến đổi,
đưa tín hiệu tổng hợp ra dây RX. Tín hiệu tổng hợp trên dây RX chính là
hiệu của CAN_H và CAN_L. Do sai số tạo ra trên CAN_H và CAN_L là
như nhau, nên khi trừ tín hiệu, sai số này sẽ bị triệt tiêu.

Bus CAN
Đó chính là lý do khiến chuẩn giao tiếp CAN có thể truyền cực xa từ 40m
-> 6km mà vẫn đảm bảo độ chính xác. Các bit ở trường CRC (15bit so
sánh) và ACK (bit xác nhận) giúp tăng độ chính xác của dữ liệu.


11
4. Mức độ ưu tiên của các địa chỉ của Node trong hệ thống

ID là duy nhất và cũng để xác định mức độ ưu tiên của thông điệp.
Giá trị số của mã ID càng thấp thì mức độ ưu tiên càng cao. Điều này cho

phép phân xử nếu hai (hoặc nhiều) nút cạnh tranh để truy cập vào bus
cùng một lúc.
Thơng điệp có mức độ ưu tiên cao hơn được đảm bảo có được quyền
truy cập bus như thể nó là thơng điệp duy nhất được truyền đi. Các thơng
điệp có mức ưu tiên thấp hơn sẽ tự động được truyền lại trong chu kỳ bus
tiếp theo hoặc trong một chu kỳ bus tiếp theo nếu vẫn còn các thơng điệp
khác mà có mức ưu tiên cao hơn đang chờ được gửi.
Mỗi thơng điệp trong CAN có một mã ID là 11bit (A) hoặc 29 bit (B).
ID này là phần nguyên tắc của Arbitration Field trong CAN, trường này
nằm ở đầu mỗi thông điệp CAN. ID xác định loại thông điệp, nhưng cũng
là mức độ ưu tiên của thông điệp.
Các bit trong thơng điệp mạng CAN có thể được gửi ở dạng cao hoặc
thấp. Các bit thấp luôn chiếm ưu thế, có nghĩa là nếu một nút cố gắng gửi
mức thấp và nút khác cố gửi mức cao, kết quả trên các bus sẽ là mức
thấp. Một nút truyền luôn lắng nghe trên bus trong khi truyền. Một nút
gửi mức cao trong Arbitration Field và phát hiện mức thấp biết rằng nó đã
mất quyền ưu tiên. Nó ngừng truyền, để cho nút khác, với một thơng điệp
có mức độ ưu tiên cao hơn, tiếp tục mà không bị gián đoạn.
Hai nút trên mạng không được phép gửi thông điệp có cùng ID. Nếu
hai nút cố gắng gửi một thơng điệp với cùng một ID tại cùng một thời
điểm, trường xác định quyền ưu tiên sẽ không hoạt động. Thay vào đó,
một trong các nút truyền sẽ phát hiện ra rằng thơng điệp của nó bị bóp
méo bên ngồi Arbitration Field. Sau đó, các nút sẽ sử dụng trường xử lý
lỗi của CAN, trong trường hợp này, cuối cùng sẽ dẫn đến việc một trong
các nút truyền bị tắt (chế độ tắt bus).
VII.

Ứng dụng của giao thức CAN trên ô tô
CAN là hệ thống mạng giao tiếp trên ô tô phổ biến nhất hiện nay.
Hệ thống mạng giao tiếp trên ô tô được phát triển từ những năm 1980 tuy

nhiên phải đến những năm đầu thế kỷ 21 thì CAN mới bắt đầu thực sự
thịnh hành và xuất hiện trong các xe mới.


12
Kể từ đó cho đến nay, ngày càng nhiều xe ô tô đã được trang bị hệ
thống CAN, và ở Mỹ, đến năm 2008 khi hầu như tất cả các xe ô tô chở
khách và xe tải nhẹ bán ra tại Mỹ được trang bị mạng giao tiếp này.

CAN là một chuẩn giao tiếp cho phép các module khác nhau và các
máy tính trên xe ơ tơ nói chuyện với nhau. Nó như một nhóm các đường
dẫn với tốc độ rất cao cho phép các dữ liệu và các lệnh được nén qua lại
từ một module khác nhau.
Điều này cho phép các hệ thống như hệ thống điều khiển điện tử của hệ
thống động cơ ECU, hệ thống phanh chống bó cứng ABS, hệ thống kiểm
sốt độ bám đường, hệ thống kiểm soát tay lái, hệ thống cân bằng điện tử,
hệ thống treo điện tử, hệ thống kiểm soát làm lạnh tự động, module điều
khiển ánh sáng và hàng chục, hàng trăm hệ thống khác… tất cả được kết
nối với nhau bằng điện tử.


13

Sơ đồ tổng quát của đường truyền CAN
* Các ecu và cảm biến trong hệ thống CAN:
– ECU điều khiển trượt.
– Cảm biến độ lệch thân xe.
– Cảm biến góc quay vơ lăng.
– Đến ECU chính thân xe.
– Cảm biến túi khí trung tâm.

– ECM.


14
– ECU trung tâm.
– ECU chứng nhận.
– ECU điều khiển gương ngoài.
– ECU chân máy điều khiển chủ động.
– Bộ khuyếch đại điều hồ.
– Đồng hồ táp lơ.
– ECU báo khoảng cách.
– ECU điều khiển vị trí ghế (ghế trước trái).
– AFS ECU.
– ECU nghiêng và trượt đa năng.
* Cách các thiết bị trong ô tô gửi – nhận dữ liệu trên hệ thống CAN
Trong mạng CAN, các thành phần nối với mạng có quyền ngang nhau
trong việc truyền và nhận thông tin ( multi master ), và bất kỳ các thành
phần đó đều có thể truyền cũng như nhận thông tin mà chúng cần từ các
thành phần khác. Tuy nhiên, về thứ tự truyền thì tùy thuộc vào độ ưu tiên
của thông tin mà chúng muốn truyền ( cái này được quy định trong cấu
trúc của tập tin được truyền đi), cái này là để chống quá tải khi có nhiều
thành phần cùng truyền và nhận.
Mỗi module được gắn vào một mạng lưới dữ liệu có khả năng gửi và
nhận tín hiệu và chúng đều có địa chỉ của mình trên mạng lưới cho phép
các module nhận được các thông tin đầu vào và các dữ liệu cần thiết để
hoạt động. Khi module truyền thông tin qua mạng lưới, các thơng tin này
sẽ được mã hóa để tất cả các module khác nhận ra nó đến từ đâu và gửi
thơng tin gì.
Dữ liệu được gửi là một loạt các bit kỹ thuật số bao gồm “0” và “1 “.
Thông số điện áp thấp tương ứng với giá trị “0”, giá trị đo điện áp cao

tương ứng với “1”. Thông thường điện áp thực tế tại đây sẽ được hoạt
động trong phạm vi 5-7 volt.
Thông thường các module điều khiển hoặc cụm mô đun trên xe được giao
nhiệm vụ quản lý lưu lượng mạng. Khi các module thấy một thông điệp
tới, nó sẽ nhìn vào bit đầu tiên trong dịng dữ liệu. Nếu bit là một “0”, nó
sẽ được ưu tiên hơn các thông điệp khác, được gọi là một “trội tin nhắn”.
Nếu bit đầu tiên là một “1” được cho một ưu tiên thấp hơn được gọi là
một “lặn tin nhắn”.
Như vậy, thông điệp ưu tiên cao nhất luôn được thơng qua đến các địa
điểm dự định của nó và những thơng điệp ưu tiên thấp sẽ có thể tạm thời
bị chặn cho đến khi “giao thông trên đường truyền giảm tốc”.


15
Có thể thấy mạng giao tiếp CAN đã giúp 1 chiếc xe ơ tơ bình thường
trở nên “thơng minh” và tiện lợi hơn rất nhiều.

VIII.

Ưu điểm và nhược điểm của chuẩn giao tiếp CAN.
1, Ưu điểm.
Đơn giản, chi phí thấp: bus CAN chỉ có 2 dây giúp kết nối các
module điều khiển với nhau dễ dàng hơn khi so sánh với cách làm truyền
thống. Kèm theo đó là nhiều lợi ích về việc dễ lắp đặt và dễ sửa chữa, bảo
trì khi có sự cố.


Tạo ra một giao thức chung để nhiều nhà cung cấp khác nhau có
thể phát triển các module điều khiển tương thích với nhau



Tính ưu tiên của thông điệp (Prioritization of messages): mỗi thông
điệp được truyền ra từ một nút (node) hay trạm (station) trên bus CAN
đều có mức ưu tiên. Khi nhiều thơng điệp được truyền ra bus cùng lúc thì
thơng điệp có mức ưu tiên cao nhất sẽ được truyền. Cá thơng điệp có mức
ưu tiên thấp hơn sẽ tạm dừng và được truyền lại khi bus rảnh. Việc xác
định mức ưu tiên của thông điệp dựa trên cấu tạo (cấu trúc) thông điệp và
cơ chế phân xử quy định trong chuẩn chuẩn CAN.


Cấu hình linh hoạt: cho phép thiết lập cấu hình thời gian bit, thời
gian đồng bộ, độ dài dữ liệu truyền, dữ liệu nhận, …


Nhận dữ liệu đa điểm với sự đồng bộ thời gian: một thơng điệp có
thể được nhận bởi nhiều node khác nhau trong bus cùng lúc. Tất cả các
node trên bus đều có thể thấy thơng điệp đang truyền trên bus, tùy vào
cấu hình ở mỗi node mà node sẽ quyết định có chấp nhận thơng điệp này
hay không.




Nhiều master (multimaster)

Phát hiện và báo hiệu lỗi: Mỗi thơng điệp có kèm theo mã CRC
(Cyclic Redundancy Code) để thực hiện kiểm tra lỗi. Nếu lỗi xuất hiện,
node nhận sẽ bỏ qua thông điệp lỗi và truyền khung báo lỗi (error frame)
lên bus CAN. Mỗi node trong bus có bộ đếm quản lý lỗi truyền nhận
riêng để xác định trạng thái lỗi của chính nó. Nếu lỗi xuất hiện quá nhiều,

một node có thể tự động ngắt khỏi bus. Ngồi ra cịn một số dạng lỗi khác
có thể được phát hiện với chuẩn CAN.



16
Tự động truyền lại các thông điệp bị lỗi khi bus rảnh: Một thông
điệp được truyền ra bus nếu bị lỗi thì sẽ khơng mất đi mà node truyền
thơng điệp này sẽ giữ nó lại và tự động phát lại thông điệp này khi bus
CAN rảnh cho đến khi thành cơng. Điều này giúp đảm bảo tính tồn vẹn
dữ liệu trong bus


2, Nhược điểm.
Khó tiếp cận hơn, phức tạp hơn các chuẩn giao tiếp khác như I2C,
SPI, UART…

1.


17



×