Luận văn thạc sĩ: Thiết kế bộ điều khiển CAN cài đặt trên FPGA

Khám phá thiết kế bộ điều khiển CAN trên FPGA trong luận văn thạc sĩ kỹ thuật điện tử, ứng dụng và lợi ích trong ngành công nghiệp.

Chuyên ngành

Kỹ Thuật Điện Tử

Người đăng

Ẩn danh

Thể loại

luận văn thạc sĩ

2009

126
1
0

Phí lưu trữ

35 Point

Tóm tắt

I. Giới thiệu về bộ điều khiển CAN

Bộ điều khiển CAN (bộ điều khiển CAN) là một phần quan trọng trong hệ thống giao tiếp nối tiếp, được phát triển để đáp ứng nhu cầu truyền thông trong các ứng dụng công nghiệp và ô tô. Giao thức này cho phép nhiều thiết bị giao tiếp với nhau mà không cần một bộ điều khiển trung tâm. Mỗi nút trong mạng có thể gửi và nhận thông điệp, giúp tăng tính linh hoạt và độ tin cậy của hệ thống. Việc thiết kế bộ điều khiển CAN trên FPGA (FPGA) mang lại nhiều lợi ích, bao gồm khả năng tùy chỉnh cao và hiệu suất xử lý tốt. Luận văn này tập trung vào việc hiện thực hóa bộ điều khiển CAN trên FPGA, sử dụng ngôn ngữ Verilog để mô phỏng và kiểm tra chức năng của hệ thống.

1.1 Lịch sử phát triển của CAN

Giao thức CAN được phát triển bởi Robert Bosch GmbH vào năm 1986, nhằm giải quyết vấn đề chi phí dây điện trong ô tô. Ban đầu, nó chỉ được sử dụng trong ngành công nghiệp ô tô, nhưng sau đó đã mở rộng ra nhiều lĩnh vực khác. Sự phát triển của CAN đã tạo ra một nền tảng vững chắc cho các hệ thống nhúng, nơi mà tốc độ truyền thông và độ tin cậy là rất quan trọng. Giao thức này đã trở thành tiêu chuẩn trong nhiều ứng dụng, nhờ vào khả năng xử lý lỗi và tính năng phân xử ưu tiên trong việc truyền thông điệp.

II. Giao thức CAN và các thành phần của nó

Giao thức CAN (giao thức CAN) được định nghĩa bởi các tiêu chuẩn ISO 11898 và ISO 11519, với khả năng truyền thông tin ở tốc độ cao lên đến 1Mbit/s. Giao thức này bao gồm các lớp dữ liệu và lớp vật lý, cho phép các thiết bị trong mạng giao tiếp hiệu quả. Mỗi thông điệp trong CAN có một phần nhận dạng, giúp xác định độ ưu tiên của thông điệp. Điều này rất quan trọng trong các ứng dụng yêu cầu độ tin cậy cao, như trong ngành công nghiệp ô tô. Hệ thống CAN cho phép nhiều thiết bị giao tiếp qua một bus chung, giúp giảm thiểu chi phí và tăng tính linh hoạt trong thiết kế hệ thống.

2.1 Cấu trúc và hoạt động của giao thức CAN

Cấu trúc của giao thức CAN bao gồm các thành phần chính như bộ điều khiển CAN, bộ thu phát và bus CAN. Bộ điều khiển CAN có nhiệm vụ tạo frame từ thông điệp và xử lý các thông điệp nhận được. Bộ thu phát chuyển đổi tín hiệu số thành tín hiệu điện để truyền qua bus. Bus CAN bao gồm hai đường tín hiệu CAN-High và CAN-Low, giúp loại bỏ nhiễu và đảm bảo tính ổn định trong truyền thông. Giao thức này sử dụng phương pháp phân xử dựa trên độ ưu tiên, cho phép các thông điệp quan trọng được truyền đi trước, đảm bảo tính hiệu quả trong việc xử lý thông tin.

III. Thiết kế bộ điều khiển CAN trên FPGA

Thiết kế bộ điều khiển CAN trên FPGA (thiết kế bộ điều khiển CAN) là một quá trình phức tạp, bao gồm việc phát triển mô hình RTL (Register Transfer Level) và mô phỏng chức năng của nó. Việc sử dụng FPGA cho phép tối ưu hóa hiệu suất và khả năng mở rộng của hệ thống. Luận văn này trình bày chi tiết quy trình thiết kế, từ việc xác định yêu cầu đến việc hiện thực hóa và kiểm tra chức năng của bộ điều khiển. Mô hình được phát triển bằng ngôn ngữ Verilog, cho phép kiểm tra và xác minh tính chính xác của thiết kế trước khi triển khai trên phần cứng.

3.1 Quy trình thiết kế và kiểm tra

Quy trình thiết kế bộ điều khiển CAN bao gồm nhiều bước, từ việc phân tích yêu cầu đến việc phát triển mô hình và kiểm tra. Mô hình RTL được phát triển dựa trên các đặc tả của giao thức CAN, và sau đó được mô phỏng để kiểm tra tính năng. Việc kiểm tra bao gồm việc truyền nhận các frame thông điệp và kiểm tra cơ chế dò lỗi. Kết quả kiểm tra cho thấy bộ điều khiển hoạt động chính xác và đáp ứng được các yêu cầu đặt ra. Sự thành công trong việc thiết kế và kiểm tra bộ điều khiển CAN trên FPGA mở ra nhiều cơ hội ứng dụng trong các hệ thống nhúng hiện đại.

09/02/2025

Trích đoạn nội dung tài liệu

Chương 1.1 Lịch sử của CAN CAN (Controller Area Network) là một giao thức giao tiếp nối tiếp dùng bus chia sẻ bắt ñầu phát triển vào năm 1986 bởi Robert Bosch GmbH. Sự gia tăng số lượng của các hệ thống ñiều khiển phân bố trên xe hơi và sự gia tăng chi phí ñi dây ñiện trên thân xe ñã dẫn ñến sự ra ñời của giao thức CAN nối tiếp dùng cho ô tô. Mặc dù ban ñầu nó chỉ ñược sử dụng trong công nghiệp ô tô, nhưng nó ñã nhanh chóng ñược ứng dụng trong các hệ thống nhúng ví dụ như hệ thống ñiều khiển trong công nghiệp nơi mà giao tiếp tốc ñộ cao ñược yêu cầu. Với sự công nhận của ngày càng nhiều ngành công nghiệp, giao thức ñã ñược ñổi tên ngắn gọn là CAN.2 Cái nhìn tổng quát về CAN Một hệ thống CAN gởi ñi các thông ñiệp qua một mạng lưới bus nối tiếp.

Mỗi nút ñược kết nối với nhau thông qua mạng lưới. Không cần thiết phải có một bộ ñiều khiển trung tâm. Sơ ñồ khối của một mạng CAN ñiển hình ñược trình bày trong 1.1 Ứng dụng 1 Ứng dụng 2 Bộ ñiều khiển Bộ ñiều khiển CAN Ứng dụng 3 Ứng dụng 4 Bộ ñiều khiển Bộ ñiều khiển Hình 1-1 Giao tiếp dùng CAN CAN là một giao thức giao tiếp multi-master nên mỗi nút trong hệ thống ngang hàng với nhau. Mỗi bộ xử lí có thể gởi thông ñiệp tới các bộ xử lí còn lại.

Nếu một bộ xử lí nào ñó gặp thất bại, các bộ xử lí khác trong hệ thống vẫn tiếp tục hoạt ñộng bình thường. Khi một nút nào ñó muốn truyền thông ñiệp trên mạng thì phải ñợi cho ñến khi bus rãnh. Mỗi thông ñiệp có một phần nhận dạng và mọi nút ñều nhận ñược thông ñiệp. Nút sẽ chọn ra thông ñiệp thích hợp và bỏ qua các thông ñiệp còn lại.

Giao thức CAN ñược thiết kế dùng cho những thông ñiệp ngắn dài không quá 8 byte. Giao thức không ngắt quãng dữ liệu ñang truyền nhưng nó gán ñộ ưu tiên cho các thông ñiệp ñể ngăn chặn sự xung ñột và ñể ñảm bảo rằng những thông ñiệp khẩn cấp ñược truyền ñi trước. Giao thức CAN còn bao gồm các cơ chế dò lỗi và hạn chế lỗi mạnh mẽ Luận Văn Tốt Nghiệp Trang 8 HV: Phan Phúc Cường Thiết Kế Bộ Điều Khiển CAN cài ñặt trên FPGA GVHD: Th.S Hồ Trung Mỹ nhằm ñảm bảo cho sự truyền nhận với ñộ tin cậy cao. Tính mạnh mẽ còn thể hiện ở chỗ mỗi nút bị lỗi sẽ ñược loại bỏ khỏi mạng lưới mà không ảnh hưởng tới phần còn lại của mạng lưới.

Không giống như một mạng lưới truyền thống như USB hay Ethernet, CAN không gởi những block lớn dữ liệu từ nút A sang nút B dưới dự giám sát của một bộ ñiều khiển bus. Trong một mạng CAN, nhiều thông ñiệp ngắn ñược truyền ñi rộng rãi trong toàn bộ mạng lưới, cho phép tính nhất quán về mặt dữ liệu ở mỗi nút của hệ thống. Giao tiếp qua lại trong một CAN bus bắt ñầu khi ứng dụng cung cấp cho bộ ñiều khiển dữ liệu cần truyền. Bộ ñiều khiển cung cấp giao tiếp giữa ứng dụng và CAN bus.

Chức năng của bộ ñiều khiển CAN là biến ñổi dữ liệu ñược ứng dung cung cấp thành thông ñiệp dạng frame ñể truyền ñi trên bus. Một bộ thu phát nhận dòng dữ liệu nhập nối tiếp từ bộ ñiều khiển và biến ñổi thành một tín hiệu vi sai. Những tín hiệu vi sai ñược truyền vật lý trên CAN bus. CAN bus bao gồm ñường tín hiệu CAN CAN-High và CAN-Low.

Hai ñường tín hiệu này ñược phân cực ñể loại nhiễu. CAN sử dụng một kĩ thuật phân xử bit trong ñó thứ tự ưu tiên truy cập bus ñược xác ñịnh bởi một phần nhận dạng 11 bit. Nhờ vào kiến trúc này mà một nút với phần nhận dạng thấp hơn sẽ có thứ tự ưu tiên cao hơn. Mỗi bộ ñiều khiển trong mạng sẽ nhận bất kì thông ñiệp nào ñược truyền trên bus.

Dựa vào cơ chế lọc, bộ ñiều khiển quyết ñịnh liệu thông tin nhận ñược có thích hợp với ứng dụng mà nó giao tiếp hay không và sau ñó tiến hành xử lí thông tin.3 Vấn ñề ñược nhắm tới Vấn ñề cuối cùng ñược nhắm tới là thiết kế và phát triển một con chip hiện thực bộ ñiều khiển CAN. Con chip này sẽ giao tiếp với ứng dụng qua một bộ cảm biến (sensor) và một bộ phát (actuator). Cảm biến cung cấp tín hiệu tương tự ñể truyền trên mạng. Tín hiệu tương tự gởi từ bộ cảm biến của ứng dụng tới bộ chuyển ñổi ADC và ñược chuyển sang tín hiệu số.

Tín hiệu số sau ñó gởi tới bộ vi xử lí ñể xử lí dữ liệu và quyết ñịnh việc truyền thông ñiệp thông qua mạng CAN. Nó cũng xử lí các thông ñiệp nhận ñược từ mạng CAN. Sơ ñồ khối của bộ ñiều khiển CAN ñược trình bày trong hình vẽ 1. Luận Văn Tốt Nghiệp Trang 9 HV: Phan Phúc Cường Thiết Kế Bộ Điều Khiển CAN cài ñặt trên FPGA GVHD: Th.S Hồ Trung Mỹ Bộ cảm biến Bộ phát Bộ chuyển ñổi ADC Tín hiệu tương tự từ cảm biến ñược chuyển sang tín hiệu số và gởi tới bộ vi xử lí Bộ vi xử lí Cung cấp thông ñiệp sẽ truyền ñi và nhận thông ñiệp từ bộ ñiều khiển giao thức Bộ ñiều khiển giao thức CAN Tạo frame từ thông ñiệp theo giao thức và tái tạo thông ñiệp từ các frame nhận ñược Bộ thu phát Chuyển tín hiệu nhị phân sang tín hiệu ñiện ñể tương thích với môi trường truyền vật lí CAN bus Hình 1-2 Giải pháp cho Bộ ñiều khiển CAN Bộ ñiều khiển giao thức CAN nhận thông ñiệp chưa ñược ñịnh dạng từ bộ vi xử lí, tạo frame theo ñặc tả của giao thức và cũng tái tạo thông ñiệp từ frame nhận ñược.

Các tín hiệu số truyền ñi bởi bộ ñiều khiển giao thức ñược chuyển thành tín hiệu ñiện bởi bộ thu phát ñể tương thích với ñường truyền vi sai. Sự tích hợp các khối riêng rẽ này lại tạo nên bộ ñiều khiển CAN.4 Hiện thực bộ ñiều khiển giao thức CAN trên FPGA Sự quan tâm ñến hệ thống CAN ñang gia tăng một cách nhanh chóng bởi vì sẽ có ngày càng nhiều các ứng dụng dùng CAN và thêm vào ñó nhiều thiết bị hiện có trên thị trường có khả năng giao tiếp với hệ thống CAN. Những yêu cầu ngày một tăng của các ứng dụng liên quan tới mức ñộ tích hợp, khả năng sử dụng lại của code và sản phẩm cuối cùng dẫn tới nhu cầu phát triển một hệ thống hoàn chỉnh trên một con chip. Mục tiêu của luận văn này là thiết kế, hiện thực và trình bày công việc của một bộ ñiều khiển giao thức CAN.

Luận Văn Tốt Nghiệp Trang 10 HV: Phan Phúc Cường Thiết Kế Bộ Điều Khiển CAN cài ñặt trên FPGA GVHD: Th.S Hồ Trung Mỹ 1.5 Tiến hành Mục tiêu của luận văn này là hiện thực bộ ñiều khiển CAN trên. Mô hình RTL (Register Transfer Level) của bộ ñiều khiển giao thức ñược phát triển dựa trên Verilog HDL và việc mô phỏng chức năng của mô hình ñược ñã ñạt ñược kết quả. Việc truyền nhận các frame thông ñiệp khác nhau ñược kiểm tra với mô hình mạng CAN có 4 bộ ñiều khiển giao thức. Hành vi chính xác của bộ ñiều khiển giao thức CAN ñược kiểm tra nhiều hơn bằng việc gây ra lỗi và kiểm lại cơ chế dò lỗi.

Mô hình tổng hợp của bộ ñiều khiển giao thức CAN ñã ñạt ñược và kiểm tra tương ñương ñược thực hiện. Mô phỏng ñộng ñược thực hiện trên FPGA ñể kiểm tra tính năng của bộ ñiều khiển giao thức. Luận Văn Tốt Nghiệp Trang 11 HV: Phan Phúc Cường Thiết Kế Bộ Điều Khiển CAN cài ñặt trên FPGA GVHD: Th.S Hồ Trung Mỹ Chương 2.GIAO TIẾP NỐI TIẾP SỬ DỤNG GIAO THỨC MẠNG ĐIỀU KHIỂN 2.1 Giới thiệu về giao thức giao tiếp Nhu cầu giao tiếp tăng mạnh dẫn ñến sự phát triển ña dạng của các loại giao thức giao tiếp. Các giao thức khác nhau tùy theo ứng dụng mà chúng thiết kế.

Cụ thể là, các giao thức nhắm vào các ứng dụng công nghiệp là giao thức “ñầu cuối cấp cao” (higher end) “ñầu cuối cấp thấp” (lower end). Giao thức “ñầu cuối cấp cao” hay còn gọi là “factory bus” nhắm ñến hệ thống thông tin toàn bộ factory, trong ñó giao thức “ñầu cuối cấp thấp” hay còn gọi là “fieldbus” nhắm ñến hệ thống thông tin xử lý nội hay còn gọi là hệ thống thông tin bộ cảm biến/ bộ phát. Thuận lợi về chi phí và tính năng cao cấp bởi kĩ thuật bán dẫn cùng với sự phát triển của mạng và hệ thống truyền thông kết quả là xuất hiện nhu cầu về các phương tiện tiên tiến hơn cho hệ thống thông tin chuẩn hóa cao cấp trong lĩnh vực ứng dụng fieldbus. Ngành công nghiệp này ñòi hỏi những hệ thống ñiều khiển linh ñộng mà có mức ñộ chuẩn hóa cấp cao.

Mức ñộ chuẩn hóa cấp cao này dẫn ñến các các giải pháp có thể dùng lại ñược dưới dạng các mô ñun phần cứng và phần mềm mà chúng dễ dàng thích ứng các nhu cầu và các giải pháp ña dạng. Số lượng giao thức fieldbus ñã tăng ñều ñặn trong 2 thập kỉ vừa qua, trong ñó Profibus, Interbus-S, P-Net, LON hay FIP là các chuẩn giao thức ñược chấp nhận. Ngành công nghiệp xe hơi ñã phát triển một số hệ thống ñiện tử ñáp ứng nhu cầu ngày càng cao về sự tiện lợi, tiện nghi và ñộ an toàn ñồng thời là yêu cầu về giảm sự tiêu thụ nhiên liệu và cải thiện mức ñộ ô nhiễm. Kết quả là mức ñộ phức tạp của hệ thống ñiều khiển và nhu cầu về trao ñổi dữ liệu ñòi hỏi ngày càng nhiều dây dẫn và các tín hiệu kết nối.

Điều ñó thúc giục sự thay thế phương pháp ñi dây hiện tại bằng kiến trúc mạng ở ñó tất cả các nút trong mạng giao tiếp với nhau qua bus chung. Sử dụng CAN, bộ ñiều khiển, bộ cảm biến, và bộ phát giao tiếp với nhau theo thời gian thực, tốc ñộ lên ñến 1Mbits/s, qua 2 dây bus dữ liệu nối tiếp. Giao thức CAN ñược mô hình bởi Virtual Leveled Systems Architecture (VLSA) dựa trên khái niệm “biến chia sẻ” (Shared Variables). Trong mô hình này, các tác vụ riêng lẻ nằm trên hệ thống ñiều khiển truyền tin có nhiệm vụ như là một phần của chương trình ñiều khiển.

Luận Văn Tốt Nghiệp Trang 12 HV: Phan Phúc Cường Thiết Kế Bộ Điều Khiển CAN cài ñặt trên FPGA GVHD: Th.S Hồ Trung Mỹ Hình 2-1 Sơ ñồ ñơn giản của mạng truyền tin Trong hình trên, tất cả các nút kết nối ñến bus CAN chung. Các nút tương tác với quá trình xử lý thực qua các cảm biến và bộ phát.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Bài viết "Thiết kế bộ điều khiển CAN trên FPGA cho luận văn thạc sĩ kỹ thuật điện tử" trình bày một nghiên cứu sâu sắc về việc phát triển bộ điều khiển CAN (Controller Area Network) sử dụng công nghệ FPGA (Field Programmable Gate Array). Tác giả không chỉ giải thích các nguyên lý cơ bản của hệ thống CAN mà còn đi vào chi tiết về quy trình thiết kế và triển khai trên FPGA, mang lại cái nhìn rõ ràng về ứng dụng thực tiễn trong lĩnh vực kỹ thuật điện tử. Bài viết này sẽ hữu ích cho những ai đang tìm kiếm kiến thức về thiết kế hệ thống nhúng và các ứng dụng của FPGA trong công nghiệp.

Nếu bạn muốn mở rộng thêm kiến thức về các chủ đề liên quan, hãy tham khảo các tài liệu như Luận văn thạc sĩ kỹ thuật điện tử thiết kế mô hình ganlstm cho tạo sinh âm nhạc, nơi bạn có thể tìm hiểu về ứng dụng của mô hình học sâu trong âm nhạc. Ngoài ra, Luận văn thạc sĩ kỹ thuật điện tử thiết kế hệ thống nhúng nhận dạng chữ viết tay cũng sẽ cung cấp cho bạn cái nhìn về các hệ thống nhúng và nhận dạng tín hiệu. Cuối cùng, Luận án nghiên cứu thiết kế và chế tạo thiết bị ghi đo bức xạ hiện trường sử dụng kỹ thuật xử lý tín hiệu số dsp vào mảng các phần tử logic lập trình fpga sẽ giúp bạn hiểu rõ hơn về ứng dụng của FPGA trong các thiết bị đo lường. Những tài liệu này sẽ giúp bạn mở rộng kiến thức và khám phá thêm nhiều khía cạnh thú vị trong lĩnh vực kỹ thuật điện tử.