Ở thời gian đầu trong công nghiệp tự động thì các bộ điều khiển là duy nhất được sử dụng để quản lý, điều khiển các động cơ khác nhau và các hệ thống cơ điện phụ.. Mạng CAN ngày nay là p
Trang 1TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH
BÁO CÁO TỔNG KẾT
ĐỀ TÀI KH&CN CẤP TRƯỜNG
NGHIÊN CỨU CHUẨN TRUYỀN DỮ LIỆU CAN
MÃ SỐ: T2001 - 03
S 0 9
0
S KC 0 0 3 6 4 5
Trang 2NGHIÊN CỨU CHUẨN TRUYỀN DỮ LIỆU CAN
Mã số:T2001-03
Chủ nhiệm đề tài: NGUYỄN TRƯỜNG DUY
Người tham gia: NGUYÊN ĐÌNH PHÚ
TP HCM, 2011
Trang 4PHẦN II GIẢI QUYẾT VẤN ĐỀ
I Mục đích của đề tài 7
II Phương pháp nghiên cứu 7
III Nội dung thực hiện 7
Kết quả đạt được 39
PHẦN III KẾT LUẬN VÀ ĐỀ NGHỊ I Kết luận 40
II Đề nghị 40
TÀI LIỆU THAM KHẢO 41
Trang 5TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH
PHỐ HỒ CHÍ MINH
ĐƠN VỊ: KHOA ĐIỆN – ĐIỆN TỬ
CỘNG HÕA XÃ HỘI CHỦ NGHĨA VIỆT NAM ĐỘC LẬP – TỰ DO – HẠNH PHÖC
Tp.HCM, ngày 15 tháng 12 năm 2011
THÔNG TIN KẾT QUẢ NGHIÊN CỨU
1 Thông tin chung:
- Tên đề tài: Nghiên cứu chuẩn truyền dữ liệu CAN
- Mã số: T2011-03
- Chủ nhiệm đề tài: ThS Nguyễn Trường Duy
- Thành viên đề tài: ThS Nguyễn Đình Phú
- Cơ quan chủ trì: Trường Đại học Sư phạm Kỹ thuật TP.HCM
- Thời gian thực hiện: tháng 03/2011 đến tháng 12/2011
2 Mục tiêu:
Mục tiêu của đề tài là nghiên cứu chuẩn truyền dữ liệu CAN, xây dựng mô hình
truyền dữ liệu giữa 2 hệ thống vi điều khiển dùng mạng CAN Mục tiêu của đề tài gồm 2
phần chính:
- Phần thứ nhất là nghiên cứu lý thuyết về chuẩn truyền dữ liệu mạng CAN
- Phần thứ hai là thiết kế một hệ thống dùng vi điều khiển truyền dữ liệu dùng mạng CAN
4 Kết quả nghiên cứu:
- Nghiên cứu được cấu trúc truyền dữ liệu mạng CAN
- Tóm tắt lý thuyết cơ bản của mạng CAN
- Nghiên cứu vi điều khiển có tích hợp mạng CAN
Trang 6- Địa chỉ ứng dụng: Bộ môn Điện tử Công nghiệp – Khoa Điện Điện tử - Trường Đại học Sư phạm Kỹ thuật Tp.HCM
Trưởng Đơn vị Chủ nhiệm đề tài
Nguyễn Trường Duy
Trang 7PHẦN 1
ĐẶT VẤN ĐỀ
Mạng CAN là mạng truyền dữ liệu nối tiếp được xây dựng bởi BOSCH (một nhà chế tạo thiết bị điện ở Đức) vào đầu năm 1980 Sau đó mạng CAN được chuẩn hóa theo mã số ISO-11898 và ISO-11519, được thiết lập thành phương thức chuẩn cho mạng trong mạng giao thông trong công nghiệp tự động
Ở thời gian đầu trong công nghiệp tự động thì các bộ điều khiển là duy nhất được sử
dụng để quản lý, điều khiển các động cơ khác nhau và các hệ thống cơ điện phụ Tuy
nhiên, sau khi có mạng CAN thì việc điều khiển các động cơ, các cơ cấu trung tâm, đơn vị điều khiển động cơ ECU (engine control unit), … hiệu quả hơn, có thể tăng thêm chức năng, tăng thêm các module điều khiển và quá trình chuẩn đoán cũng hiệu quả hơn
Mạng CAN ban đầu chủ yếu được xây dựng bởi ngành giao thông, được dùng trong
xe chở hành khách, tàu thuyền, xe tải và các loại phương tiện giao thông khác
Mạng CAN ngày nay là phương thức thuyền được sử dụng trong nhiều lãnh vực ứng dụng được gọi là điều khiển mạng nhúng, bao gồm cả công nghiệp tự động, ứng dụng y tế, xây dựng các máy móc tự động, … trong xe hơi mạng CAN được sử dụng để giao tiếp truyền dữ liệu giữa các MCU với nhau và với MCU chính trong hệ thống điều khiển Xem hình 1 và hình 2
Mạng CAN đã chứng tỏ phương thức truyền dữ liệu giữa các cảm biến, các động cơ, các bộ điều khiển và các điểm khác trong các ứng dụng thời gian thực với tính năng ổn định, đơn giản và hiệu suất cao
Chính vì các ưu điểm ổn định, đơn giản và hiệu suất cao và là mạng được sử dụng chuẩn trong công nghiệp nên nhóm chúng tôi muốn thực hiện nghiên cứu truyền dữ liệu mạng CAN để phục vụ cho giảng dạy cũng như cho các ứng dụng trong các hệ thống điều khiển
Trang 8Hình 1 Hệ thống xe ô tô có sử dụng mạng CAN
Hình 2 Hệ thống xe ô tô với các vị trí giám sát, điều khiển liên lạc với nhau dùng
mạng CAN
Trang 9TÌNH HÌNH NGHIÊN CỨU TRONG VÀ NGOÀI NƯỚC
Như đã trình bày ở phần đặt vấn đề thì mạng CAN xuất phát từ nước Đức và mạng
đã phát triển và hoàn thiện thành một mạng truyền dữ liệu chuẩn
Có nhiều mạng truyền thông như mạng Ethernet, mạng Profibus, RS-232, RS422, RS485, mạng CAN, mạng USB, nhưng mạng CAN đã được sử dụng phổ biến trong các
hệ thống điều khiển trong công nghiệp Mỗi mạng có 1 tính năng ưu và khuyết, việc sử dụng mạng truyền dữ liệu nào tùy thuộc vào yêu cầu giao tiếp giữa các hệ thống với nhau Các công ty sản xuất các hệ thống điều khiển sử dụng mạng CAN để truyền dữ liệu với nhau như hình 3 Trong hình cho thấy các thiết bị điều khiển giao tiếp với nhau qua mạng CAN, và giao tiếp với máy tính qua mạng USB
Hình 3 Hệ thống điều khiển dùng mạng CAN và USB
Mạng CAN được sử dụng rất nhiều trong hệ thống điều khiển xe hơi như xe Volvo
để điều khiển, giám sát các yêu cầu hoạt động của xe – xem hình 4
Trang 10triển thì việc sử dụng mạng CAN sẽ trở nên phổ biến nên nhóm nghiên cứu tiến hành nghiên cứu và thực hiện một ứng dụng đơn giản truyền dữ liệu dùng mạng CAN
Trang 11PHẦN 2
GIẢI QUYẾT VấN Đề
I Mục đích của đề tài:
Mục đích của đề tài là nghiên cứu chuẩn truyền dữ liệu CAN, xây dựng mô hình
truyền dữ liệu giữa 2 hệ thống vi điều khiển dùng mạng CAN
Mục đích gồm có 3 phần:
Phần thứ nhất là nghiên cứu lý thuyết về chuẩn truyền dữ liệu mạng CAN
Phần thứ hai là thiết kế một hệ thống dùng vi điều khiển truyền dữ liệu dùng mạng CAN
Phần thứ 3 là sau khi nghiên cứu sẽ biên soạn tài liệu để phục vụ cho giảng dạy lý thuyết và thực hành dùng mạng CAN
II Phương pháp nghiên cứu:
Nghiên cứu tài liệu liên quan đến chuẩn truyền thông mạng CAN từ các sách giáo trình, từ các tài liệu trên mạng Internet
Sau khi nghiên cứu lý thuyết, tiến hành thiết kế mô hình thực và chạy thử
III Nội dung thực hiện:
I Cấu trúc, phương thức mạng CAN
Phương thức truyền của mạng CAN chủ yếu dựa vào mạng topo và chỉ sử dụng 2 dây dẫn cho truyền dữ liệu Bus dữ liệu truyền có cấu trúc nhiều chủ (multimaster) - ở trên bus mỗi thiết bị có thể gởi hoặc nhận dữ liệu
Chỉ có 1 thiết bị duy nhất có thể gởi dữ liệu tại mỗi 1 thời điểm, các thiết bị còn lại ở trạng thái nhận dữ liệu còn được gọi là trạng thái lắng nghe Nếu có hai hoặc nhiều thiết bị
cố gởi dữ liệu cùng 1 thời điểm thì có thiết bị có mức ưu tiên cao nhất được phép gởi dữ liệu còn các thiết bị khác còn lại trở lại chế độ nhận dữ liệu
Như được trình bày trong hình 5 trong ứng dụng giao thông thường sử dụng nhiều hơn 1 mang CAN hoạt động với các tốc độ khác nhau Các thiết bị tốc độ chậm như bộ điều khiển cửa, điều khiển không khí và module thông tin về người lái thì có thể nối chung với mạng tốc độ thấp Các thiết bị đòi hỏi đáp ứng nhanh hơn như hệ thống thắng ABS, module điều khiển truyền và module van tiết lưu (ga) được nối chung với mạng CAN có tốc độ cao
Trang 12Hình 5 Hệ thống điều khiển
Hình 6 trình bày mạng CAN với 3 điểm Phương thức mạng CAN chủ yếu dựa vào phương thức CSMA/CD+AMP (Carrier – Sense Multiple Access/Collision Detection with Arbitration on Message Priority), gần giống với phương thức được sử dụng trong mạng cục bộ LAN Ethernet
Khi mạng Ethernet phát hiện ra xung đột, các điểm gởi sẽ ngừng phát dữ liệu và đợt một khoảng thời gian ngẫu nhiên trước khi thử gởi lại dữ liệu
Tuy nhiên, phương thức CAN giải quyết vấn đề xung đột bằng cách dùng nguyên lý phân xử, chỉ có điểm có mức độ ưu tiên cao nhất có quyền gởi dữ liệu đi
Hình 6 Mạng CAN có 3 điểm
Có hai loại mạng CAN cơ bản là 2.0A và 2.0B
Mạng CAN 2.0A theo chuẩn đầu tiên với 11 bit nhận dạng, trong khi mạng CAN 2.0B là chuẩn mới mở rộng với 29 bit nhận dạng Các bộ điều khiển dùng mạng CAN 2.0B có thể tương thích với các bộ điều khiển dùng mạng CAN 2.0A
Trang 13Có hai bộ điều khiển mạng CAN 2.0A Loại thứ nhất chỉ có khả năng truyền và nhận
dữ thông tin 2.0A và nhận thông tin 2.0B với cờ báo lỗi Loại thứ hai (còn được gọi là 2.0B thụ động) có khả năng truyền và nhận dữ thông tin 2.0A và cũng nhận thông tin 2.0B
và sau đó bỏ qua (không quan tâm)
Các cấu trúc phương thức mạng CAN:
Bus của mạng CAN là đa chủ Khi bus được tự do thì bất kỳ thiết bị nào kết nối với bus đều có thể gởi thông tin
Phương thức bus mạng CAN mềm dẻo Thiết bị kết nối với bus không cần địa chỉ, có nghĩa là các thông tin không thể truyền từ một điểm này đến một điểm khác dựa vào địa chỉ Tín hiệu đơn có thể dành riêng cho điểm đặc biệt hoặc cho nhiều điểm tùy thuộc vào hệ thống được thiết kế Một ưu điểm của việc truyền dữ liệu không có địa chỉ là khi thiết bị thêm vào hoặc rời khỏi bus thì không cần định lại cấu hình
Bus mạng CAN có khả năng yêu cầu phát từ xa (remote transmit request RTR), điều này có nghĩa là một điểm trên bus có thể yêu cầu thông tin từ một điểm khác Thay vì chờ 1 điểm liên tục gởi thông tin thì có thể yêu cầu điểm
đó gởi thông tin Ví dụ trong xe ô tô, nơi mà nhiệt độ của máy là một thông số quan trọng, hệ thống có thể được thiết kế để cho nhiệt độ được gởi trong 1 khoảng thời gian nhất định lên bus
Bus mạng CAN có tốc độ không cố định Bất kỳ tốc độ truyền dữ liệu nào có thể được thiết lập cho tất cả các thiết bị kết nối với bus
Tất cả các thiết bị trên bus có thể phát hiện lỗi Thiết bị phát hiện ra lỗi ngay lập tức thông báo cho các thiết bị khác
Nhiều thiết bị có thể kết nối với bus tại cùng 1 thời điểm và không có giới hạn logic về số lượng thiết bị có thể kết nối Trong thực tế, số lượng đơn vị có thể kết nối với bus là giới hạn bởi thời gian trể của bus và tải
Dữ liệu trên BUS có thể khác nhau và có thể ở 2 trạng thái: trội (dominant) và lặn (recessive)
Hình 7 trình bày trạng thái điện áp trên bus Bus định nghĩa bit „0‟ như là trạng thái trội và bit „1‟ là trạng thái lặn Khi có phân xử trên bus do tranh chấp thì trạng thái bit trội („0‟) luôn chiếm trạng thái bit lặn („1‟) Trong trạng thái lặn („1‟), các điện áp khác nhau CANH và CANL nhỏ hơn điện áp ngưỡng nhỏ nhất (ví dụ ngõ vào bộ nhận kém hơn 0.5V
và ngõ ra bộ phát kém hơn 1.5V) Trong trạng thái trội („0‟), các điện áp khác nhau CANH
và CANL lớn hơn điện áp ngưỡng nhỏ nhất
Trang 14Hình 7 Trạng thái điện áp trên bus mạng CAN
Mạng CAN chuẩn ISO-11898 chỉ định các thiết bị trên bus phải có khả năng thúc cáp dài 40 mét ở tốc độ 1Mb/s Bus dữ liệu càng dài thường chỉ sử dụng để kết nối các thiết bị có tốc độ thấp Hình 8 trình bày sự biến thiên chiều dài bus với tốc độ truyền Ví
dụ với chiều dài 1000m thì tốc độ truyền là tối đa là 40Kb/s
Hình 8 Biến thiên chiều dài bus với tốc độ truyền
Bus mạng CAN được kết thúc bằng các phản hồi tín hiệu nhỏ nhất trên bus Chuẩn ISO-11898 yêu cầu bus có tổng trở đặc tính 120Ω Bus có thể kết thúc bằng 1 trong các phương pháp sau:
Kết thúc chuẩn
Kết thúc phân chia
Kết thúc phân chia có phân cực
Trong kết thúc chuẩn là phương pháp kết thúc phổ biến, một điện trở 120Ω được dùng ở mỗi đầu của bus như hình 9(a)
Trong kết thúc phân chia thì kết thúc bus được chia ra và điện trở duy nhất 60Ω được dùng như hình 9(b) Kết thúc phân chia cho phép giảm suy hao và phương pháp này ngày càng trở nên phổ biến
Trang 15Trong kết thúc phân chia có phân cực thì giống như kết thúc phân chia ngoại trừ mạch điện cầu phân áp và tụ được dùng tại cả hai đầu kết thúc của bus
Hình 9 Điện trở ở mỗi đầu của mạng CAN
Nhiều phương thức mạng được mô tả dùng mô hình kết nối bên trong hệ thống mở bảy lớp (OSI Open System Interconnection) Phương thức mạng CAN bao gồm lớp kết nối dữ liệu (data link layer) và lớp vật lý của mô hình tham chiếu OSI – xem hình 10 Lớp kết nối dữ liệu (DLL – data link layer) bao gồm điều khiển kết nối (LLC Logical Link Control) và điều khiển truy xuất lớp trung (MAC Medium Access Control)
LLC quản lý thông báo quá tải, chấp nhận lọc, phát hiện lỗi và quản lý khôi phục
MAC quản lý gói dữ liệu, mã hóa khung, phát hiện lỗi và serialization/deserialization của dữ liệu
Lớp vật lý bao gồm lớp báo hiệu vật lý (PSL physical Signaling layer), kết nối vật lý lớp trung (PMA physical medium layer) và giao tiếp độc lập lớp trung (MDI medium dependent interface)
PSL quản lý bit giải mã và mã hóa và thời gian của bit
PMA quản lý các đặc tính nhận /thúc
MDI là các kết nối và dây
Trang 16Hình 10 Mô hình các lớp của mạng CAN
Có 4 loại khung thông tin cơ bản trong mạng CAN: dữ liệu, điều khiển từ xa, lỗi và báo quá tải Khung dữ liệu và điều khiển từ xa cần được thiết lập bởi người dùng Hai khung dữ liệu còn lại được thiết lập bởi phần cứng của mạng CAN
II Khung dữ liệu
Khung dữ liệu có 2 dạng: dạng chuẩn (có 11 bit nhận dạng) và dạng mở rộng (có 29 bit nhận dạng) Khung dữ liệu được dùng bởi thiết bị phát để gởi dữ liệu đến thiết bị nhận
dữ liệu và khung dữ liệu là khung quan trọng nhất được điều khiển bởi người dùng
Hình 11 trình bày cấu trúc khung dữ liệu
Hình 11 Cấu trúc khung dữ liệu của mạng CAN
Khung dữ liệu chuẩn bắt đầu với bit bắt đầu của khung (SOF start of frame), theo sau
nó là 11 bit nhận dạng và bit yêu cầu phát từ xa (RTR remote transmission request) Bit nhận dạng và bit RTR tạo thành vùng phân xử tranh chấp xung đột
Vùng điều khiển có 6 bit và xác định bao nhiêu byte dữ liệu nằm trong vùng dữ liệu Vùng dữ liệu có thể nằm trong giới hạn từ 0 đến 8 byte Theo sau vùng dữ liệu là vùng CRC, vùng này sẽ kiểm tra có hay không trình tự nhận bị nhầm lẫn
Vùng ACK có 2 bit và được dùng bởi bộ phát để nhận tín hiệu bắt tay của khung có hiệu lực từ bất kỳ bộ thu nào
Trang 17Kết thúc thông tin được xác định bởi vùng 7 bit kết thúc của khung (EOF end of frame)
Trong khung dữ liệu mở rộng thì vùng phân xử tranh chấp có 32 bit bao gồm nhận dạng 29 bit, 1 bit IDE để xác định thông tin là khung dữ liệu mở rộng, 1 bit SRR (không được sử dụng) và 1 bit RTR Xem hình 12
Hình 12 Khung dữ liệu mở rộng
Khung dữ liệu bao gồm các vùng theo sau:
1 Bắt đầu khung dữ liệu SOF
Bắt đầu khung dữ liệu xác định sự bắt đầu khung dữ liệu và sử dụng chung cho cả 2 dạng chuẩn dạng mở rộng
2 Vùng phân xử tranh chấp
Phân xử tranh chấp được dùng để giải quyết xung đột xảy ra khi có nhiều thiết bị gởi
dữ liệu lên bus tại cùng 1 thời điểm Vùng phân xử xung đột xác định mức độ ưu tiên của khung dữ liệu và có sự khác nhau trong định dạng dữ liệu chuẩn và dữ liệu dạng mở rộng Trong định dạng dữ liệu chuẩn có 11 bit nên có thể thiết lập tới 2032 ID Trong định dạng dữ liệu mở rộng thì có thể thêm 18 bit so với định dạng chuẩn nên có thể thiết lập tới 2032×218 ID
Trong quá trình phân xử xung đột, mỗi thiết bị đang truyền sẽ truyền nhận dạng ID của nó và so sánh nó với mức trên bus
Nếu các mức là bằng nhau thì thiết bị tiếp tục truyền
Nếu thiết bị phát hiện ra mức logic trội trên bus trong khi nó đang cố truyền mức logic lặn, nó sẽ hủy bỏ việc truyền dữ liệu và trở thành thiết bị nhận Chỉ sau khi phân xử xung đột thì chỉ còn 1 thiết bị phát trên bus và thiết bị phát này tiếp tục gởi vùng điều khiển, vùng dữ liệu và các dữ liệu khác của nó
Quá trình xử lý của phân xử xung đột được minh họa như hình 13 bằng ví dụ có 3 điểm với 3 nhận dạng như sau:
Điểm 1: 11100110011 Điểm 2: 11100111111 Điểm 3: 11100110001 Giả sử mức logic lặn tương ứng với mức 1 và mức logic trội tương ứng với mức 0,
Trang 18Hình 13 Xử lý quá trình tranh chấp xung đột Chú ý các thiết bị trên bus không có địa chỉ Chính vì thế tất cả các thiết bị đều nhận
dữ liệu từ bus và mỗi điểm có 1 bộ lọc để nhận thông tin cần thiết
3 Vùng điều khiển – control field
Vùng điều khiển có 6 bit, gồm 2 bit chưa sử dụng – để dành và mã dữ liệu 4 bit (DLC – data length code) dùng để xác định số lượng byte dữ liệu trong thông tin cần phát
đi Vùng điều khiển này được trình bày trong bảng 1, trong bảng cho thấy có thể truyền 8 byte dữ liệu được mã hóa với 6 bit
Trang 194 Vùng dữ liệu – data field
Vùng này chứa dữ liệu hay nội dung của thông tin Kích thước dữ liệu có thể thay đổi từ 0 đến 8 byte Dữ liệu được phát bắt đầu với bit MSB
5 Vùng CRC – CRC field
Vùng CRC gồm có chuỗi 15 bit CRC và 1 bit ranh giới CRC (delimiter) được dùng
để kiểm tra lỗi truyền dữ liệu Việc tính toán kiểm tra lỗi CRC bao gồm bit bắt đầu khung
dữ liệu (start), các bit trong vùng phân xử tranh chấp, các bit trong vùng điều khiển và các bit trong vùng dữ liệu Tính toán kiểm tra CRC và chuỗi CRC đã nhận được so sánh và nếu chúng không tương thích thì phát sinh lỗi
6 Vùng ACK – ACK field
Vùng ACK xác định khung dữ liệu đã nhận là bình thường Vùng này gồm có 2 bit, một cho khe ACK và 1 cho ranh giới ACK
7 Khung điều khiển từ xa – remote frame
Khung điều khiển từ xa được dùng bởi đơn vị nhận để yêu cầu truyền thông tin từ 1 đơn vị phát Nó có 6 vùng – xem hình 14: bắt đầu khung dữ liệu, vùng phân xử tranh chấp, vùng điều khiển, vùng CRC, vùng ACK và kết thúc vùng khung Khung điều khiển từ xa giống khung dữ liệu ngoại trừ không có vùng dữ liệu
Hình 14 Khung điều khiển từ xa
III Lỗi khung dữ liệu
Trang 20V Bit stuffing
Bus mạng CAN dùng bit stuffing – là kỹ thuật dùng cho đồng bộ có chu kỳ cho hoạt động phát – nhận để ngăn chặn lỗi thời gian giữa 2 điểm nhận Sau 5 bit liên tiếp cùng mức logic, 1 bit dữ liệu đảo được thêm vào chuỗi Nếu trong quá trình gởi khung dữ liệu hoặc khung điều khiển từ xa thì cùng mức logic xảy ra trong 5 bit liên tiếp bất kỳ nơi nào
từ lúc bắt đầu khung đến chuỗi CRC, một bit đảo được chèn vào trong bit kế (bit thứ 6) Nếu trong quá trình nhận khung dữ liệu hoặc khung điều khiển từ xa thì cùng mức logic xảy ra cho 5 bit liên tiếp bất kỳ nơi nào từ lúc bắt đầu khung đến chuỗi CRC, bit kế (bit thứ 6) được xóa khỏi khung đã nhận Nếu bit thứ 6 bị xóa có cùng mức logic với bit thứ 5 thì lỗi stuffing được phát hiện
VI CÁC LOẠI LỖI
Bus mạng CAN nhận ra 5 loại lỗi sau:
VII THỜI GIAN BIT TỒN TẠI
Trang 21Tốc độ bit của bus mạng CAN được định nghĩa là số bit được phát đi mỗi giây mà không cần đồng bộ lại Nghịch đảo tốc độ bit chính là thời gian truyền của mỗi bit Tất cả các thiết bị trên mạng CAN phải có cùng tốc độ bit cho dù mỗi thiết bị có tần số xung clock khác nhau Một bit thông tin bao gồm 4 đoạn thời gian không chồng lắp nhau:
Khoảng thời gian đồng bộ (Sync_seg: Synchronization segment)
Khoảng thời gian trì hoàn (Prop_seg: propagation time segment)
Khoảng đệm pha 1 (phase_seg1: phase buffer segment 1)
Khoảng đệm pha 2 (phase_seg2: phase buffer segment 2)
Khoảng thời gian Sync_seg được dùng để đồng bộ các điểm khác nhau trên bus và 1 cạnh được yêu cầu nằm trong khoảng thời gian này
Khoảng thời gian Prop_seg bù cho thời gian trể vật lý trong mạng
Khoảng đệm pha 1 (phase_seg1) và pha 2 (phase_seg2) bù cho cạnh các lỗi pha Các khoảng này có thể kéo dài hoặc ngắn bởi đồng bộ Điểm mẫu là điểm theo thời gian tại đó giá trị thực của bit được xác định và xảy ra tại cuối thời gian phase_seg1 Bộ điều khiển mạng CAN có thể được cấu hình để lấy mẫu 3 lần và sử dụng chức năng chính để xác định giá trị bit thật
Mỗi khoảng có thể chia thành nhiều đơn vị được biết tên lượng tử thời gian của mỗi đoạn có thể thay đổi từ 1 đến 8 Chiều dài của các khoảng thời gian thay đổi là:
Sync_seg thì dài 1 lượng tử thời gian
Prop_seg thì có thể lập trình bằng 1 đến 8 lượng tử thời gian
Phase_seg1 thì có thể lập trình bằng 1 đến 8 lượng tử thời gian
Phase_seg2 thì có thể lập trình bằng 2 đến 8 lượng tử thời gian
Khoảng đệm pha 2 (phase_seg2: phase buffer segment 2)
Bằng cách thiết lập thời gian bit, điểm lấy mẫu có thể được thiết lập cho nhiều đơn vị trên bus có thể lấy mẫu thông tin với thời gian lấy mẫu
Thời gian danh định của bit có thể lập trình từ tối thiểu của 8 lượng tử thời gian đến giá trị lớn nhất là 25 lượng tử thời gian Theo định nghĩa thời gian bit danh định nhỏ nhất
là 1µs tương ứng với tốc độ cực đại là 1Mb/s Thời gian bit danh định (Tbit) được cho bởi:
2 _ 1
_ _
Pr _
Trang 22Ví dụ: giả sử tần số là 20MHz, giá trị bộ chia trước tốc độ baud là 1 và thời gian bit danh định là TBIT = 8*TQ, hãy xác định tốc độ bit danh định
NBR
BIT
/ 625 /
625000 6
1
1 1
Đồng bộ cứng chỉ được dùng tại thời bắt đầu của khung thông tin, khi mỗi điểm của mạng CAN được hiệu chỉnh Sync_Seg của thời gian bit hiện tại của nó với cạnh mức 0 hoặc 1 với bit bắt đầu đã phát của khung Tùy thuộc vào các quy định của đồng bộ, nếu đồng bộ cứng xảy ra thì không có đồng bộ lại
Với đồng bộ lại thì phase_seg1 có thể kéo dài hoặc phase_seg2 có thể ngắn Số lượng thay đổi trong các đoạn đệm phase có giới hạn trên được cho bởi độ rộng nhảy đồng
bộ (SJW synchronization jump width) SJW được lập trình giữa 1 và 4 và giá trị của nó được thêm vào phase_seg1 hoặc trừ bớt từ Phase_seg2
VIII VI ĐIỀU KHIỂN PIC CÓ GIAO TIẾP MẠNG CAN
Tổng quát thì bất kỳ vi điều khiển PIC nào cũng có thể được dùng để thiết kế các ứng dụng dùng mạng CAN nhưng có một vài vi điều khiển PIC có tích hợp module mạng CAN, khi đó công việc thiết kế sẽ đơn giản hơn Các vi điều khiển không có tích hợp mạng CAN thì cũng có thể được dùng trong các ứng dụng dùng mạng CAN nhưng phải thêm mạch điện phần cứng và phần mềm làm tăng giá thành thiết kế và hệ thống phức tạp hơn
Trang 23Hình 15 Các vi điều khiển không tích hợp module giao tiếp mạng CAN
hoặc PIC12 không có tích hợp module mạng CAN Vi điều khiển được kết nối với mạng CAN sử dụng bộ điều khiển mạng CAN MCP2515 và chip thu phát dùng bus mạng CAN MCP2551
Các thiết kế sử dụng mạng CAN sẽ dễ dàng hơn nếu sử dụng các vi điều khiển có tích hợp module mạng CAN Hình 16 trình bày mạch điện phần cứng có tích hợp module mạng CAN Tất cả các điểm của mạng CAN đều có chip thu phát
Bảng 2 liệt kê các vi điều khiển PIC có tích hợp module mạng CAN
Hình 16 Các vi điều khiển có tích hợp module giao tiếp mạng CAN