Tổng quan nghiên cứu
Mạng điều khiển khu vực (Controller Area Network - CAN) ra đời từ năm 1986 do tập đoàn Robert Bosch GmbH phát triển, hiện đã trở thành tiêu chuẩn truyền thông xương sống trong hơn 90% phương tiện giao thông hiện đại và các hệ thống tự động hóa công nghiệp. Trong bối cảnh số lượng vi điều khiển phân tán trên các phương tiện ngày càng gia tăng, việc sử dụng các mạng nối tiếp như CAN giúp cắt giảm từ 60% đến 70% khối lượng dây dẫn vật lý, đồng thời nâng cao độ an toàn vận hành. Vấn đề nghiên cứu trọng tâm của luận văn là thiết kế và hiện thực hóa bộ điều khiển giao thức CAN hoàn chỉnh ở mức truyền thanh ghi (Register Transfer Level - RTL) bằng ngôn ngữ mô tả phần cứng Verilog HDL, sau đó kiểm tra và cài đặt thực nghiệm trên chip lập trình được FPGA.
Mục tiêu cụ thể của công trình bao gồm việc phân tích chuyên sâu chuẩn giao tiếp CAN theo tiêu chuẩn quốc tế ISO 11898, xây dựng đặc tả kiến trúc phần cứng chi tiết, mô phỏng kiểm tra chức năng và tổng hợp mạch logic để nạp lên bo mạch FPGA Altera DE2. Phạm vi nghiên cứu bao gồm việc hiện thực hóa toàn bộ tầng liên kết dữ liệu (Data Link Layer) và tầng vật lý (Physical Layer) với tốc độ bit truyền dữ liệu đạt mức tối đa 1 Mbps, hỗ trợ khung thông điệp tiêu chuẩn CAN 2.0A với mã nhận dạng 11-bit. Ý nghĩa thực tiễn của đề tài thể hiện qua việc làm chủ công nghệ thiết kế lõi IP (Intellectual Property Core), giúp giảm độ trễ phân xử xung đột bus xuống 0 chu kỳ trễ bổ sung và duy trì tỷ lệ mất gói tin ở mức xấp xỉ 0% trong các điều kiện tải bus cao, tạo tiền đề cho việc tích hợp hệ thống hoàn chỉnh trên một chip (System On a Programmable Chip - SOPC) phục vụ công nghiệp điện tử tại Việt Nam.
Cơ sở lý thuyết và phương pháp nghiên cứu
Khung lý thuyết áp dụng
Nghiên cứu được xây dựng trên nền tảng mô hình phân tầng ISO/OSI rút gọn của chuẩn CAN, tập trung vào hai tầng chính: tầng liên kết dữ liệu (chia thành hai phân tầng con là Điều khiển liên kết logic LLC và Điều khiển truy xuất môi trường truyền MAC) và tầng vật lý theo chuẩn ISO 11898 tốc độ cao (lên đến 1 Mbps) cùng ISO 11519 tốc độ thấp (125 kbps).
Cơ chế phân xử bus dựa trên nguyên lý truy cập đa điểm cảm nhận sóng mang có phát hiện xung đột và phân xử theo mức ưu tiên thông điệp (CSMA/CD+AMP). Mạng sử dụng cấu trúc nối dây AND (Wired-AND), trong đó mức logic 0 là bit ưu thế (dominant) và mức logic 1 là bit không ưu thế (recessive). Khi nhiều nút cùng phát, thông điệp có mã nhận dạng (ID) mang giá trị số học nhỏ hơn sẽ chiếm quyền ưu tiên phát sóng mà không làm hỏng dữ liệu (phân xử không phá hủy).
Phương pháp mã hóa đường truyền sử dụng mã không trở về 0 (NRZ) kết hợp kỹ thuật chèn bit bù (Bit Stuffing) theo quy tắc: tự động chèn 1 bit có mức logic đảo sau 5 bit liên tiếp có cùng mức logic. Định thời bit được chuẩn hóa bằng cách chia một chu kỳ bit lý thuyết thành 4 phân đoạn: phân đoạn đồng bộ (Sync_Seg cố định 1 Tq), phân đoạn truyền (Prop_Seg từ 1 đến 8 Tq), phân đoạn đệm pha 1 (Ph_Seg1 từ 1 đến 8 Tq) và phân đoạn đệm pha 2 (Ph_Seg2 từ 1 đến 8 Tq). Bên cạnh đó, mô hình chặn lỗi tự động sử dụng hai bộ đếm lỗi truyền (TEC) và lỗi nhận (REC) để phân loại trạng thái nút mạng thành 3 cấp độ: Error Active (bộ đếm nhỏ hơn hoặc bằng 127), Error Passive (bộ đếm từ 128 đến 255) và Bus Off (bộ đếm vượt quá 255).
Phương pháp nghiên cứu
Nghiên cứu áp dụng quy trình thiết kế vi mạch số chuẩn công nghiệp, bắt đầu từ việc phân tích đặc tả chức năng, mô hình hóa hệ thống bằng Verilog HDL, xác minh mô phỏng (functional verification), tổng hợp logic (synthesis) và kiểm thử thực tế trên phần cứng.
Nguồn dữ liệu thực nghiệm được thu thập từ quá trình mô phỏng hành vi của 4 nút mạng CAN ảo hoạt động đồng thời trong môi trường kiểm thử ModelSim, kết hợp đo đạc tín hiệu thực tế bằng công cụ phân tích logic SignalTap II trên kit FPGA Altera DE2 (chip Cyclone II EP2C35F672C6). Cỡ mẫu thử nghiệm bao gồm hơn 1.000 kịch bản truyền nhận khung dữ liệu (Data Frame), khung yêu cầu từ xa (Remote Frame), khung báo lỗi (Error Frame) và khung quá tải (Overload Frame). Phương pháp chọn mẫu kịch bản bao gồm cả trường hợp truyền dữ liệu thông thường lẫn việc chủ động đưa vào 5 loại lỗi phần cứng (lỗi CRC 15-bit, lỗi định dạng khung, lỗi xác nhận ACK, lỗi quan sát bit và lỗi bit stuffing) nhằm kiểm tra toàn diện khả năng phản ứng của bộ điều khiển.
Lý do lựa chọn phương pháp thiết kế RTL trên FPGA là vì công nghệ này cho phép kiểm chứng chính xác các ràng buộc thời gian thực ở tần số xung nhịp 50 MHz, rút ngắn trên 80% thời gian phát triển mẫu thử so với chế tạo vi mạch ASIC truyền thống, đồng thời tích hợp dễ dàng với bộ xử lý nhúng Nios II trong thời gian nghiên cứu kéo dài 12 tháng.
Kết quả nghiên cứu và thảo luận
Những phát hiện chính
Quá trình thiết kế và thực nghiệm đã mang lại 4 phát hiện kỹ thuật quan trọng:
Thứ nhất, module Định thời bit (Bit Timing Logic - can_btl) thực hiện việc đồng bộ cứng và tái đồng bộ với bước nhảy định thời (SJW) từ 1 đến 4 đơn vị thời gian (Tq) đạt độ chính xác cao. Điểm lấy mẫu (Sample Point) được cố định chính xác tại thời điểm kết thúc phân đoạn pha 1, giúp hệ thống duy trì sai số định thời dưới 2% ở tốc độ truyền tối đa 1 Mbps trên đường truyền vi sai gắn trở kháng 120 Ohm.
Thứ hai, module Xử lý dòng bit (Bit Stream Processor - can_bsp) kiểm soát hoàn hảo quá trình phân xử bus không phá hủy giữa các nút. Thực nghiệm với mô hình 4 nút mạng cho thấy khi 2 nút cùng phát thông điệp đồng thời, nút có ID độ ưu tiên thấp hơn đã tự động phát hiện mất quyền phân xử ngay tại bit thứ 4 của trường mã nhận dạng 11-bit, lập tức chuyển sang chế độ nhận mà không tạo ra bất kỳ xung đột hay sai lệch bit nào trên bus.
Thứ ba, cơ chế quản lý lỗi 3 trạng thái hoạt động chính xác theo tiêu chuẩn CAN 2.0. Bộ đếm lỗi TEC và REC tăng chính xác 8 đơn vị khi phát hiện cờ lỗi Active và giảm 1 đơn vị sau mỗi khung truyền nhận thành công. Khi số lỗi truyền vượt ngưỡng 255, nút mạng tự động ngắt kết nối vào trạng thái Bus Off, giúp ngăn ngừa 100% nguy cơ nghẽn mạng cục bộ do nút hỏng gây ra.
Thứ tư, kết quả tổng hợp logic trên chip FPGA Altera Cyclone II cho thấy toàn bộ IP Core CAN chiếm dụng khoảng 2.500 đến 3.200 phần tử logic (Logic Elements - LEs), tiết kiệm hơn 15% diện tích so với các giải pháp IP Core thương mại tương đương của hãng Renesas, đồng thời đáp ứng tốt ràng buộc thời gian hoạt động ở xung nhịp hệ thống 50 MHz.
Thảo luận kết quả
Hiệu năng tối ưu của thiết kế bắt nguồn từ kiến trúc phân rã module hợp lý giữa khối định thời can_btl, khối xử lý dòng bit can_bsp và khối quản lý thanh ghi can_registers. Việc tích hợp khối lọc chấp nhận (can_acf) với 4 thanh ghi mã lọc và 4 thanh ghi mặt nạ cho phép lọc bỏ ngay tại phần cứng các gói tin không liên quan, giúp giảm tải hơn 40% số lượng ngắt (interrupt) gửi lên bộ vi xử lý trung tâm.
So với các nghiên cứu và vi mạch chuyên dụng trong ngành như dòng chip CAN của Renesas hay Philips SJA1000, thiết kế này thể hiện sự tương thích hoàn toàn về mặt giao thức và định dạng khung truyền. Mức chênh lệch điện thế trên cặp dây vi sai CAN_H và CAN_L đạt chuẩn 2.0V ở trạng thái dominant (logic 0) và xấp xỉ 0V ở trạng thái recessive (logic 1), bảo đảm khả năng chống nhiễu vượt trội trong môi trường công nghiệp.
Dữ liệu kiểm thử thực nghiệm được minh chứng rõ nét thông qua các biểu đồ dạng sóng thu được từ công cụ SignalTap II. Dạng sóng hiển thị chi tiết từng giai đoạn: phát hiện bit Start of Frame (SOF), quá trình tự động chèn bit đảo sau chuỗi 5 bit 1 liên tiếp, việc nút nhận phản hồi bit 0 trong khe ACK 2-bit và dạng sóng các cờ lỗi Active Error gồm 6 bit 0 liên tiếp khi xuất hiện sự cố đường truyền.
Đề xuất và khuyến nghị
Dựa trên kết quả thiết kế và thử nghiệm, 4 giải pháp cụ thể được đề xuất nhằm nâng cao tính ứng dụng của công trình:
-
Nâng cấp chuẩn giao tiếp sang CAN-FD (Flexible Data-Rate): Nhóm nghiên cứu cần mở rộng kiến trúc bộ xử lý dòng bit can_bsp để hỗ trợ chuẩn CAN-FD trong vòng 12 tháng tới. Mục tiêu là nâng tốc độ truyền payload lên mức 5 đến 8 Mbps và mở rộng kích thước trường dữ liệu từ 8 byte lên 64 byte, do các kỹ sư thiết kế phần cứng tại các viện nghiên cứu bán dẫn trực tiếp đảm nhận.
-
Tích hợp giao diện bus công nghiệp chuẩn AMBA AXI/AHB: Kỹ sư vi mạch cần chuyển đổi khối giao tiếp thanh ghi từ chuẩn cục bộ sang giao diện bus AMBA AXI4 trong lộ trình 6 tháng, nhằm đạt thông lượng truyền nhận dữ liệu nội chip trên 100 MHz khi kết nối với các vi xử lý ARM hoặc RISC-V.
-
Chuẩn hóa và đóng gói thành phẩm IP Core thương mại: Doanh nghiệp công nghệ vi mạch trong nước cần tiến hành quy trình đóng gói IP Core theo chuẩn đóng gói quốc tế, xây dựng bộ kiểm chuẩn tự động (Universal Verification Methodology - UVM) nhằm nâng độ bao phủ mã (Code Coverage) đạt trên 98% trước quý 3 năm tới.
-
Xây dựng cấu trúc dự phòng kép cho hệ thống an toàn ô tô: Các kỹ sư tích hợp hệ thống ô tô nên triển khai mô hình 2 bộ điều khiển CAN song song trên cùng một chip FPGA nhằm đáp ứng chuẩn an toàn chức năng phương tiện ISO 26262 mức ASIL-D, bảo đảm thời gian chuyển mạch dự phòng khi có sự cố dưới 10 micro-giây.
Đối tượng nên tham khảo luận văn
Luận văn là nguồn tư liệu chuyên sâu có giá trị cao cho 4 nhóm đối tượng sau:
-
Kỹ sư thiết kế vi mạch và lập trình phần cứng (RTL/FPGA Engineers): Cung cấp mã nguồn Verilog chuẩn hóa, phương pháp xây dựng máy trạng thái hữu hạn (FSM) phân cấp và quy trình tổng hợp mạch logic đáp ứng đầy đủ các ràng buộc về diện tích và thời gian định thời.
-
Nhà phát triển hệ thống nhúng và điện tử ô tô (Automotive Embedded Developers): Giúp hiểu rõ cơ chế vận hành ở tầng vật lý và tầng liên kết dữ liệu của mạng CAN, làm cơ sở xây dựng các bộ điều khiển ECU, cụm cảm biến thông minh và cổng phân phối mạng trên phương tiện vận tải.
-
Giảng viên và học viên cao học chuyên ngành Kỹ thuật Điện tử: Tài liệu tham khảo học thuật giá trị cho các môn học Thiết kế vi mạch số (Digital IC Design), Hệ thống trên chip (SoC) và Mạng truyền thông công nghiệp, minh họa sinh động quy trình nghiên cứu từ lý thuyết đến thực nghiệm trên kit Altera DE2.
-
Doanh nghiệp tự động hóa và chế tạo thiết bị công nghiệp: Cung cấp giải pháp thay thế các chip điều khiển CAN ngoại vi nhập khẩu bằng cách nhúng trực tiếp lõi IP vào FPGA/CPLD, giúp hạ giá thành sản xuất phần cứng từ 30% đến 50% cho mỗi thiết bị đo lường và điều khiển phân tán.
Câu hỏi thường gặp
-
Giao thức CAN giải quyết tranh chấp đường truyền như thế nào khi có nhiều nút cùng phát thông điệp?
CAN sử dụng cơ chế phân xử không phá hủy dựa trên mã nhận dạng 11-bit và cấu trúc mạch Wired-AND. Bit mức 0 (ưu thế) luôn ghi đè lên bit mức 1 (không ưu thế). Khi hai nút cùng truyền, nút nào gửi bit 1 trong khi nút kia gửi bit 0 tại cùng một vị trí bit sẽ tự động nhận biết bị mất quyền và chuyển sang chế độ nhận mà không làm gián đoạn thông điệp ưu tiên.
-
Kỹ thuật chèn bit bù (Bit Stuffing) hoạt động theo nguyên lý nào và có tác dụng gì?
Do CAN sử dụng mã hóa NRZ không kèm xung clock, bộ điều khiển sẽ tự động chèn thêm 1 bit có mức logic đảo sau mỗi chuỗi 5 bit liên tiếp có cùng mức logic trong các trường từ SOF đến chuỗi CRC. Kỹ thuật này tạo ra các cạnh chuyển mức bắt buộc để mạch định thời liên tục tái đồng bộ, đồng thời dùng để phát hiện lỗi khi xuất hiện 6 bit đồng mức liên tiếp.
-
Hai bộ đếm lỗi TEC và REC kiểm soát trạng thái của một nút mạng ra sao?
Mỗi nút mạng CAN duy trì hai bộ đếm: bộ đếm lỗi truyền (TEC) và bộ đếm lỗi nhận (REC). Khi gặp sự cố lỗi, bộ đếm tăng thêm 8 điểm; khi truyền nhận thành công, bộ đếm giảm 1 điểm. Nếu bộ đếm vượt mức 127, nút chuyển sang chế độ cảnh báo Error Passive; khi TEC vượt quá 255, nút tự động ngắt kết nối vào trạng thái Bus Off để tránh gây nghẽn mạng toàn hệ thống.
-
Việc cài đặt bộ điều khiển CAN trên FPGA mang lại lợi ích gì so với sử dụng vi mạch CAN độc lập?
Hiện thực hóa bộ điều khiển CAN trên FPGA cho phép tích hợp nguyên khối bộ điều khiển cùng vi xử lý mềm (như Nios II) và các ngoại vi trên một chip duy nhất (SOPC). Cách tiếp cận này giúp tiết kiệm 30% đến 50% diện tích bo mạch PCB, tăng tốc độ trao đổi dữ liệu nội bộ và cho phép tùy biến linh hoạt số lượng bộ đệm cũng như bộ lọc chấp nhận theo yêu cầu ứng dụng.
-
Cấu trúc khung dữ liệu CAN 2.0A chứa tối đa bao nhiêu byte và có những trường kiểm tra an toàn nào?
Khung dữ liệu tiêu chuẩn CAN 2.0A mang từ 0 đến 8 byte dữ liệu ứng dụng do trường mã độ dài dữ liệu (DLC 4-bit) quy định. Khung được bảo vệ nghiêm ngặt bởi trường kiểm tra lỗi dư thừa CRC 15-bit, 1-bit phân cách CRC, cùng khe xác nhận ACK 2-bit cho phép các nút nhận gửi phản hồi tức thời ngay trong quá trình truyền khung.
Kết luận
- Luận văn đã thiết kế thành công lõi IP bộ điều khiển CAN 2.0A hoàn chỉnh ở mức RTL bằng ngôn ngữ Verilog HDL, tuân thủ nghiêm ngặt tiêu chuẩn quốc tế ISO 11898.
- Hiện thực hóa đầy đủ các tính năng cốt lõi bao gồm định thời bit, phân xử bus không phá hủy, đóng/mở gói 4 loại khung và cơ chế chèn bit bù.
- Tích hợp 5 phương pháp phát hiện lỗi đa tầng cùng thuật toán chặn lỗi 3 cấp độ (Error Active, Error Passive, Bus Off) đảm bảo độ tin cậy truyền thông tối đa.
- Tối ưu hóa tài nguyên phần cứng xuất sắc, chỉ sử dụng khoảng 2.500 đến 3.200 Logic Elements trên chip FPGA Altera Cyclone II với tần số hoạt động 50 MHz.
- Hoàn tất quy trình kiểm nghiệm thực tế trên kit Altera DE2 kết hợp bộ vi xử lý Nios II và công cụ phân tích tín hiệu SignalTap II.
Đóng góp lớn nhất của công trình là cung cấp một giải pháp IP Core mạng nội bộ mở, hiệu năng cao và có khả năng tái sử dụng linh hoạt cho ngành công nghiệp vi mạch và hệ thống nhúng tại Việt Nam. Lộ trình phát triển tiếp theo trong 12 đến 18 tháng tới tập trung vào việc nâng cấp lõi hỗ trợ chuẩn CAN-FD và tích hợp bus hệ thống AMBA AXI. Các kỹ sư và nhà nghiên cứu quan tâm hãy ứng dụng ngay giải pháp thiết kế này để nâng cao tính tự chủ công nghệ và tối ưu hóa chi phí cho các sản phẩm điện tử thông minh!