Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 33 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
33
Dung lượng
0,98 MB
Nội dung
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN VIỄN THÔNG oOo BÀI TẬP LỚN TRUYỀN SỐ LIỆU VÀ MẠNG ĐỀ TÀI CONTROL AREA NETWORK GVHD: Nguyễn Khánh Lợi Lớp: A03 Nguyễn Thắng Anh Quân 1813708 Nguyễn Anh Quốc 1813733 Nguyễn Tấn Sang 1813803 Nguyễn Hoàng Quân 1813705 TP.HCM, Ngày 28 tháng 12 năm 2020 Trang GVHD: Nguyễn Khánh Lợi MỤC LỤC DANH SÁCH HÌNH ẢNH .3 CHƯƠNG Giới thiệu chung 1.1 Khái niệm .5 1.2 Lịch sử hình thành 1.3 Quá trình phát triển đến CHƯƠNG Cấu tạo CAN 2.1 Tổng quan .7 2.2 Lớp vật lý 2.3 Cơ chế giao tiếp 12 2.4 Giải tranh chấp bus 13 2.5 Cấu trúc “CAN frame” .14 2.6 Nominal Bit Time .18 2.7 Sự đồng xung clock .19 2.8 Truyền nhận message 22 2.9 Xử lý lỗi 23 CHƯƠNG Mô MCU .25 3.1 Chuẩn bị phần cứng 25 3.2 Cài đặt thông số 27 CHƯƠNG Ứng dụng thực tế .31 CHƯƠNG Ưu điểm khác biệt can so với kết nối khác .32 TÀI LIỆU THAM KHẢO .33 Trang GVHD: Nguyễn Khánh Lợi DANH SÁCH HÌNH ẢNH Figure 1.1 Sơ đồ kết nối ECU ô tô trước giao thức CAN đời Figure 2.1 Sơ đồ kết nối ECU ô tô giao thức CAN đời .7 Figure 2.2 NRZ method Figure 2.3 Kỹ thuật Bit Stuffing .8 Figure 2.4 Giản đồ thời gian Figure 2.5 Tốc độ tỉ lệ nghịch với độ dài bus Figure 2.6 Tốc độ bit- độ dài- bit time 10 Figure 2.7 CAN low speed 11 Figure 2.8 CAN high speed 11 Figure 2.9 Sự kháng nhiễu với ảnh hưởng điện từ 12 Figure 2.10 Giải tranh chấp bus 14 Figure 2.11 Khung truyền .14 Figure 2.12 CAN Data frame .15 Figure 2.13 CAN standard frame 15 Figure 2.14 CAN extended frame .16 Figure 2.15 CRC field 16 Figure 2.16 CAN remote frame 17 Figure 2.17 CAN error frame .17 Figure 2.18 Baudrate định nghĩa thời gian cho bit 18 Figure 2.19 Mỗi bit cấu tạo segments 19 Figure 2.20 Vấn đề đồng 19 Figure 2.21 Lấy mẫu bit .20 Figure 2.22 Sơ đồ khối nhận CAN message 22 Figure 2.23 Sơ đồ khối độ truyền CAN message 22 Trang GVHD: Nguyễn Khánh Lợi Figure 2.24 Các loại lỗi khác .24 Figure 3.1 MCU STM32F103C8T6 .25 Figure 3.2 Transceiver TJA 1050 25 Figure 3.3 Sơ đồ khối Transceiver 26 Figure 3.4 Saleae logic analyser 26 Figure 3.5 Bit timing 27 Figure 3.6 Tần số ngoại vi cài đặt MCU 27 Figure 3.7 Khởi tạo việc truyền liệu 28 Figure 3.8 Tiến hành truyền liệu .28 Figure 3.9 Phần mềm giải mã thành cơng gói liệu truyền .29 Figure 3.10 Tín hiệu dây CANH đo oscilloscope 29 Figure 3.11 Tín hiệu dây CANL đo oscilloscope 30 Figure 3.12 Tín hiệu vi sai 30 Trang GVHD: Nguyễn Khánh Lợi CHƯƠNG GIỚI THIỆU CHUNG 1.1 Khái niệm CAN viết tắt (Controller Area network) mạng điều khiển khu vực hay đơn giản gọi mạng CAN, mạng công nghệ ghép nối tiếp, giao thức giao tiếp có khung truyền liệu lớn 1.2 Lịch sử hình thành - Vào năm đầu thập niên 1980, công nghiệp xe ngày phát triển mạnh mẽ Cùng với phát triển gia tăng nhu cầu tự động hóa thiết bị điện tử ( ECU: Electronic Control Unit) sử dụng xe Khi hầu hết ECU kết nối với thông qua giao tiếp nối tiếp thông thường RS232, UART,… Điều dẫn đến việc kiểm soát hoạt động ECU việc liên kết chúng với trở nên phức tạp, kết cấu cồng kềnh chi phí nối dây khơng nhỏ - Ví dụ việc kết nối ECU CAN chưa đời: Figure 1.1 Sơ đồ kết nối ECU ô tô trước giao thức CAN đời - Để giải vấn đề đó, Cơng ty Robert Bosch GmbH Đức bắt đầu phát triển giao thức CAN từ nằm 1983 thức cơng bố vào năm 1986 Hội nghị hiệp hội Kỹ sư ô tô (Society of Automotive Engineers – SAE) Detroit, Michigan, Mỹ 1.3 Quá trình phát triển đến - Những chip điều khiển CAN sản xuất Intel Philips, xuất Trang GVHD: Nguyễn Khánh Lợi thị trường vào năm 1987 Năm 1994, CAN thức trở thành tiêu chuẩn quốc tế (ISO 11898) trở thành tiêu chuẩn bắt buộc áp dụng rộng rãi ô tô châu Âu Xe Mercedes-Benz W140 xe trang bị CAN - Cho tới nay, giao thức CAN sử dụng phổ biến cho phương tiện giao thông, đặc biệt xe sử dụng rộng rãi hệ thống tự động hóa cơng nghiệp hay hàng không Trang GVHD: Nguyễn Khánh Lợi CHƯƠNG CẤU TẠO CỦA CAN 2.1 Tổng quan - CAN chuẩn ISO (ISO 11898) cho truyền thông tin tiếp Giao thức BOSCH xây dựng vào năm 1980 cho ứng dụng tự động Ngày CAN sử dụng rộng rãi công nghiệp tự động Chuẩn CAN bao gồm: Tầng vật lý Tầng liên kết liệu: Vài loại thông điệp Các chuẩn phân xử cho truy cập bus Các phương pháp dò lỗi giam lỗi - CAN mạng điều khiển vùng cho phép thiết bị Bus giao tiếp nối tiếp với thông qua dây nối (CAN – High CAN – Low) Các thiết bị Bus gọi Node (trong xe ta coi chúng ECU), chúng lên tới vài chục Node phạm vi từ vài trăm mét đến vài kilomet mà đảm bảo tốc độ truyền tín hiệu điều tạo nên khác biệt CAN so với giao thức khác - Ví dụ việc CAN Bus làm cho kết nối thiết bị xe trở nên đơn giản hơn: Figure 2.1 Sơ đồ kết nối ECU ô tô giao thức CAN đời Trang GVHD: Nguyễn Khánh Lợi 2.2 Lớp vật lý 2.2.1 None-return-to-zero Mỗi bit mạng CAN mã hóa phương pháp None-return-to-zero (NRZ method) Trong suốt trình bit, mức điện áp dây giữ ngun, có nghĩa suốt q trình bit tạo, giá trị giữ khơng đổi Figure 2.2 NRZ method 2.2.2 Bit Stuffing Một ưu điểm cách mã hóa NRZ mức bit giữ suốt q trình Điều tạo vấn đề độ ổn định lượng lớn bit giống nối tiếp Kỹ thuật Bit Stuffing áp đặt tự động bit có giá trị ngược lại phát bit liên tiếp chuyển Figure 2.3 Kỹ thuật Bit Stuffing Trang GVHD: Nguyễn Khánh Lợi 2.2.3 Bit Timing Ta định nghĩa thời gian đơn vị nhỏ nhất, Time Quantum Thời gian phân số thời gian dao động bus Một bit khoảng đên 25 quanta Figure 2.4 Giản đồ thời gian 2.2.4 Độ dài bus: - Độ dài bus phụ thuộc vào thông số sau: Độ trễ lan truyền đường dây bus Sự khác thời gian Time Quantum (định nghĩa trên), khác xung clock nút Biên độ tín hiệu thay đơi theo điện trở cáp tông trở vào nút Figure 2.5 Tốc độ tỉ lệ nghịch với độ dài bus Trang GVHD: Nguyễn Khánh Lợi Figure 2.6 Tốc độ bit- độ dài- bit time - Cần ý module kết nối vào bus CAN phải hỗ trợ vớ tốc độ tối thiểu 20kbit/s Để sử dụng bus có độ dài 200m, cần thiết phải sử dụng Optocoupleur để sử dụng bus dài km, phải cần hệ thống kết nối trung gian repeater bridge 2.2.5 Trạng thái “Dominant” “Recessive” - Ở lớp vật lý, Bus CAN định nghĩa hai trạng thái “Dominan” “Recessive” tương ứng với hai trạng thái Trạng thái “Dominant” chiếm ưu so với trạng thái “Recessive” Bus trạng thái “Reccessive” node phát trạng thái “Dominant” Điều tạo khả giải chanh chấp nhiều Master muốn chiếm quyền sử dụng bus Bởi tính chất vật lý bus, cần thiết phải phân biệt dạng truyền: Truyền CAN low speed Truyền CAN high specd Bảng sau tổng kết tính chất khác dạng, đặc biệt tốc độ: Thông số CAN low speed CAN high speed Tốc độ 125kb/s 125kb/s tới Mb/s Số nút bus tới 20 tới 30 Trang 10 GVHD: Nguyễn Khánh Lợi Figure 2.19 Mỗi bit cấu tạo segments - Nominal Bit Time, tính theo giây, nghịch đảo dung lượng bus: 2.7 Sự đồng xung clock Mỗi nút phải tạo thời gian danh nghĩa Bit Time để nhận phát liệu xuống bus với đồng nút khác Thực tế, Nominal Bit Time nút không đồng với nhau, giá trị đọc từ bus thời điểm lấy mẫu không giá trị với thời điểm mong muốn Độ trễ làm ảnh hưởng nút nhận frame, mà có thời gian tính toán CRC gởi bit dominant ACK Slot để xác nhận frame Figure 2.20 Vấn đề đồng Trang 19 GVHD: Nguyễn Khánh Lợi Figure 2.21 Lấy mẫu bit 2.7.1 Cơ chế đồng Đồng cứng (Hard Synchronization): Chỉ xảy chuyển cạnh bit từ recessive thành dominant ( logic ”1” thành “0”) bus rảnh, báo hiệu Start of Frame (SOF) Đồng cứng làm cho đếm bit timing khởi động lại, gây nên chuyển cạnh SyncSeg Tại thời điểm này, nút Trang 20 GVHD: Nguyễn Khánh Lợi nhận đồng với nút phát Đồng cứng xảy lần suốt message Và đồng lại khơng xảy bit (SOF) mà đồng cứng xảy 2.7.2 Cơ chế đồng lại (Resynchronizafion): Được thực để bảo toàn đồng thực đồng cứng Thiếu đồng lại, nút nhận khơng thể có đồng lệch pha dao động nút Sự tính tốn mức độ đồng lại đưa từ giá trị sai số pha e phụ thuộc vào giá trị SJW: Nếu sai số pha e (c=0, chuyển cạnh Sync Seg), chế đồng lại giống đồng cứng Nếu sai số pha e dương bé giá trị tuyệt đối SJW, PHASE.SEG kéo dài thêm đoạn SJW Cuối cùng, sai số pha e âm lớn giá trị SJW tuyệt đối, PHASE_SEG ngănlại đoạn SJW Lỗi pha < 𝑒 < SJW Tác động lên PHASE_SEG Kéo dài thêm 𝑒 Làm ngắn đoạn 𝑒 𝑒 < |𝑒| < SJW 𝑒 >0 𝑒 > SJW Tác động lên PHASE_SEG Kéo dài thêm SJW Làm ngắn đoạn SJW 𝑒 < |𝑒| > SJW Bảng tóm tắt kết chế Trang 21 GVHD: Nguyễn Khánh Lợi 2.8 Truyền nhận message Figure 2.22 Sơ đồ khối nhận CAN message Figure 2.23 Sơ đồ khối độ truyền CAN message Trang 22 GVHD: Nguyễn Khánh Lợi 2.9 Xử lý lỗi - Khi truyền frame bus, lỗi truyền ảnh hưởng đến hoạt động nút bus Lỗi đến từ nút, làm cho mạng khơng cịn hoạt động xác Vì vậy, nhiều cách phát lỗi sử dụng CAN - Các loại lỗi: Bit Error: nút truyền gửi bit xuống bus, kiểm tra xem mức điện áp bus có với bit cần gửi hay khơng Nếu khơng đúng, báo hiệu Bit Error Tuy nhiên, Bit Error không báo hiệu trường hợp sau: Khơng có Bit Error tác động bit dominant gửi vùng ID thay cho bit recessive Cũng vậy, vùng ACK Slot, thay cho bit recessive Một nút phát gửi cờ lỗi (bit recessive) nhận bit dominant, ko cần phải báo hiệu Bit Error Lỗi Stuffing (Stuff Error): Một lỗi Stuffing phát lần có bit hay nhiều liên tục đường dây Bus Tuy nhiên, lỗi Stuffing không báo vùng ID, vùng điều khiển vùng CRC Cơ chế Bit Stuffing không áp dụng sau CRC Trong trường hợp, lỗi Bit-Stuffing không báo đoạn kết thúc Frame hay vùng ACK Lỗi Cyclic Redundancy (CRC Error): Nếu giá trị CRC tính tốn nút nhận không giống với giá trị gửi nút phát có lỗi CRC(CRC Error) Lỗi ACK Delimiter: Một lỗi ACK Delimiter báo nút nhận không thấy bit recessive vùng ACK Delimter hay vùng CRC Delimiter Lỗi Slot ACK (ACK Error): Một lỗi Slot ACK báo nút phát khơng đọc thấy bit dominant vùng Slot ACK Trang 23 GVHD: Nguyễn Khánh Lợi Figure 2.24 Các loại lỗi khác Trang 24 GVHD: Nguyễn Khánh Lợi CHƯƠNG MÔ PHỎNG BẰNG MCU 3.1 Chuẩn bị phần cứng Figure 3.1 MCU STM32F103C8T6 - Bao gồm ngoại vi bxCAN (Basic Extended CAN): Hỗ trợ chuẩn CAN 2.0A B Bit rate tối đa đạt 1Mb/s Hỗ trợ ngắt (transmit, FIFO, error and status) Figure 3.2 Transceiver TJA 1050 Trang 25 GVHD: Nguyễn Khánh Lợi Figure 3.3 Sơ đồ khối Transceiver - Bộ điều khiển CAN kết nối với chuyển đổi CAN – Transceiver thông qua đường CAN Tx CAN Rx Chức chuyển đổi để chuyển đổi từ tín hiệu số đường TX thành tín hiệu vi sai bus CAN (CAN_H CAN_L) chuyển đổi từ tín hiệu vi sai bus CAN thành tín hiệu số RX Figure 3.4 Saleae logic analyser - Sử dụng để đo hiển thị tín hiệu Digital lên máy tính qua cổng giao tiếp USB - Thông số kỹ thuật: kênh nhận xử lý tín hiệu số (Digital) khoảng điện áp từ 0~5.5VDC, tín hiệu Trang 26 GVHD: Nguyễn Khánh Lợi lớn 1.5VDC mức High, nhỏ 1.5VDC mức Low Tần số lấy mẫu tối đa: 25Mhz 3.2 Cài đặt thông số 3.2.1 Bit timing: Figure 3.5 Bit timing - Trong tq thời gian lượng tử hóa, có giá trị (tần số APB1/prescaler)-1 setup Figure 3.6 Tần số ngoại vi cài đặt MCU - Như tq=(20*106 / 4)-1 = 200ns Trang 27 GVHD: Nguyễn Khánh Lợi - Chọn tBS1 = 8*tq tBS2 = tq ta có Bit time tq + tBS1 + tBS2 = 2000ns Và bit lấy mẫu 90% thời gian 3.2.2 Xử lý truyền liệu: - Để truyền mẫu tin, cần chọn mailbox rỗng, cài đặt thông số mã cước (Id), chiều dài liệu (DLC), chế độ Identifier, có yêu cầu truyền lại không Figure 3.7 Khởi tạo việc truyền liệu - Đưa data vào mailbox Tích cực bit TXRQ để thực yêu cầu truyền Lúc mailbox vào trạng thái chờ, đến đạt mức ưu tiên CAN bus rảnh (idle) để phát - Sau phát xong phần cứng báo tích cực bit RQCP TXOK Figure 3.8 Tiến hành truyền liệu 3.2.3 Kết quả: Trang 28 GVHD: Nguyễn Khánh Lợi Figure 3.9 Phần mềm giải mã thành cơng gói liệu truyền Figure 3.10 Tín hiệu dây CANH đo oscilloscope Trang 29 GVHD: Nguyễn Khánh Lợi Figure 3.11 Tín hiệu dây CANL đo oscilloscope Figure 3.12 Tín hiệu vi sai Trang 30 GVHD: Nguyễn Khánh Lợi CHƯƠNG ỨNG DỤNG THỰC TẾ - CAN ứng dụng nhiều lĩnh vực khác như: Xe ô tô, tàu khách tàu hàng, hệ thống điện tử hàng hải, điện tử máy bay, hàng khơng, tự động hóa nhà máy, điều khiển máy cơng nghiệp, tự động hóa tịa nhà, thang máy, thiết bị y tế với tốc độ lên tới 1Mbit/s - Ứng dụng mạng doanh nghiệp: Xây dựng mạng phụ để khởi động hệ thống hỗ trợ tháo lắp thiết bị bo PC lớn dùng để định tuyến - Ứng dụng bệnh viện: điều khiển thiết bị phòng bảng điện tử, máy nội soi, máy X-quang, camera, máy in - Ứng dụng tự động hóa nhà máy: điều khiển tự động hóa thiết bị - Ứng dụng hệ thống thang máy: Các bo điều khiển thông tin với qua bus CAN tầng bo mạch - Ứng dụng hệ thống cửa tự động: Ứng dụng cửa Nabco Trang 31 GVHD: Nguyễn Khánh Lợi CHƯƠNG ƯU ĐIỂM VÀ SỰ KHÁC BIỆT CỦA CAN SO VỚI CÁC KẾT NỐI KHÁC - Đơn giản, chi phí thấp: Bus CAN có dây giúp kết nối module điều khiển với dễ dàng so sánh với cách làm truyền thống Việc giúp cho việc lắp đặt, sửa chữa, bảo trì hệ thống có cố cách dễ dàng - Tạo giao thức chung để nhiều nhà cung cấp khác phát triển module điều khiển tương thích với - Tính ưu tiên thơng điệp (Prioritization of messages): thông điệp truyền từ nút (node) hay node (station) bus CAN có mức ưu tiên Khi nhiều thông điệp truyền bus lúc thơng điệp có mức ưu tiên cao truyền Các thông điệp có mức ưu tiên thấp truyền lệnh ưu tiên thực Việc xác định mức ưu tiên thông điệp dựa quy định chuẩn ISO11898 - Cấu hình linh hoạt: Cho phép thiết lập cấu hình bao gồm thời gian bit, thời gian đồng bộ, độ dài liệu truyền, liệu nhận - Nhận liệu đa điểm với đồng thời gian: thơng điệp nhận nhiều node khác bus lúc Tất node bus thấy thông điệp truyền bus, tùy vào cấu hình node mà node định có chấp nhận thông điệp hay không - Nhiều master (Multimaster): Có thể quản lí từ nhiều nguồn - Phát báo lỗi: Mỗi thơng điệp có kèm theo mã CRC (Cyclcic Redundancy Code) để thực kiểm tra lỗi Nếu lỗi xuất hiện, node nhận bỏ qua thông điệp lỗi truyền khung báo lỗi (error frame) lên bus CAN Mỗi node bus có đếm quản lý lỗi truyền nhận riêng để xác định trạng thái lỗi Nếu lỗi xuất nhiều, node tự động ngắt khỏi bus Ngồi cịn số dạng lỗi khác phát với chuẩn CAN - Tự động truyền lại thông điệp bị lỗi bus rảnh: Một thông điệp truyền bus bị lỗi khơng mà node truyền thơng giữ lại tự động phát lại thơng điệp bus rảnh thành công Điều giúp đảm bảo tính tồn vẹn liệu bus Trang 32 GVHD: Nguyễn Khánh Lợi TÀI LIỆU THAM KHẢO [1] Khái niệm giao tiếp CAN (bkaii.com.vn) [2] CAN bus – Wikipedia tiếng Việt [3] CAN Bit Time Calculation (can-wiki.info) [4] Controller Area Network (CAN) Overview - NI [5] CAN Bus Explained - A Simple Intro (2020) (csselectronics.com) [6] STM32F101xx, STM32F102xx, STM32F103xx, STM32F105xx and STM32F107xx advanced Arm®-based 32-bit MCUs - Reference manual [7] Mastering STM32 by Carmine Noviello Trang 33 ... viết tắt (Controller Area network) mạng điều khiển khu vực hay đơn giản gọi mạng CAN, mạng công nghệ ghép nối tiếp, giao thức giao tiếp có khung truyền liệu lớn 1.2 Lịch sử hình thành - Vào năm... 3.6 Tần số ngoại vi cài đặt MCU 27 Figure 3.7 Khởi tạo việc truyền liệu 28 Figure 3.8 Tiến hành truyền liệu .28 Figure 3.9 Phần mềm giải mã thành cơng gói liệu truyền ... 2000ns Và bit lấy mẫu 90% thời gian 3.2.2 Xử lý truyền liệu: - Để truyền mẫu tin, cần chọn mailbox rỗng, cài đặt thông số mã cước (Id), chiều dài liệu (DLC), chế độ Identifier, có u cầu truyền