CƠ SỞ LÍ THUYẾT
Tổng quan về mạng giao tiếp trên ô tô
Mạng giao tiếp trên ô tô, hay còn gọi là mạng giao tiếp trên các phương tiện giao thông (Vehicle Bus), là hệ thống các hộp điều khiển như ECM, TCM, BCM, và ABS, cho phép chúng giao tiếp và trao đổi thông tin mà không cần tăng số lượng dây dẫn Để tối ưu hóa việc điều khiển và giảm thiểu dây dẫn, hiện nay, tất cả các loại phương tiện, từ ô tô con, xe tải, đầu kéo, máy công trình, máy bay, xe quân sự đến xe máy, đều áp dụng mạng giao tiếp này.
Ngày nay, sự phát triển công nghệ ô tô đã dẫn đến việc một chiếc xe châu Âu bình thường có khoảng 30 hộp điều khiển khác nhau, trong khi xe sang có thể lên đến hàng trăm Mỗi hệ thống như điều khiển ghế ngồi, mở cốp hay âm thanh đều có hộp điều khiển riêng, và tất cả chúng được kết nối để trao đổi tín hiệu Chẳng hạn, hộp điều khiển hộp số TCM nhận tín hiệu từ tốc độ động cơ và bàn đạp ga để thực hiện việc sang số, trong khi tín hiệu tốc độ xe hiển thị trên đồng hồ táp lô có thể được lấy từ hộp điều khiển hộp số hoặc hộp ABS, cho thấy sự liên kết chặt chẽ giữa các hệ thống.
Sự phát triển của hệ thống điều khiển điện tử đã giảm thiểu đáng kể số lượng dây điện trong ô tô, giúp tiết kiệm chi phí sản xuất và tối ưu hóa không gian Hệ thống này không chỉ nâng cao độ chính xác trong các quy trình xử lý mà còn giảm thiểu lỗi so với các phương pháp truyền thống.
Khi nhu cầu về an toàn, tiện lợi và độ chính xác gia tăng, việc kết nối các hộp điều khiển trở nên cần thiết để trao đổi thông tin nhanh chóng và chính xác Mạng giao tiếp ô tô hiện nay là giải pháp tối ưu cho những yêu cầu này.
2.1.2 Các loại giao thức giao tiếp trên ô tô:
Các loại giao thức phổ biến trên ô tô hiện nay:
- Media Oriented Systems Transport (MOST)
Trong tương lai, các xe tự hành hoàn toàn sẽ cần một khối lượng dữ liệu lớn và tốc độ truyền dẫn cao hơn các giao thức hiện tại như J1979, J1850, và ISO 9141 Để đảm bảo an toàn cho người lái, các mạng như CAN và FlexRay không đủ khả năng đáp ứng yêu cầu này Do đó, Ethernet TSN (Time-Sensitive Networking) và Ethernet AVB (Audio Video Bridging) được xem là những giải pháp giao tiếp tiềm năng cho các phương tiện tự hành.
2.1.3 Yêu cầu về mạng giao tiếp:
2.1.3.1 Tốc độ truyền dữ liệu:
Tốc độ truyền dữ liệu là đơn vị đo lường khối lượng thông tin được truyền trong một đơn vị thời gian, thường được tính bằng bit/giây Các thuật ngữ khác như transfer rate, data rate, bit rate và baud rate cũng được sử dụng để chỉ cùng một khái niệm Tùy thuộc vào ứng dụng cụ thể, yêu cầu về tốc độ truyền có thể khác nhau; tốc độ cao thường đi kèm với áp lực về độ tin cậy và chi phí cao, trong khi tốc độ chậm có thể gây ra vấn đề về băng thông và độ trễ Bên cạnh đó, chiều dài đường truyền cũng ảnh hưởng đến tốc độ truyền dữ liệu.
Bảng 2.1 Các loại giao thức truyền thông hay sử dụng trên ô tô
LIN MOST FlexRay Định nghĩa Controller Area
Loại Bus Bus thông thường
Bus thông thường và bus quang học
Phạm vi ứng dụng Truyền lực và hộp số
Thoải mái /tiện nghi Đa phương tiện và infortainment
Tất cả các phạm vi
Yêu cầu này đề cập đến vấn đề độ nhiễu trong truyền thông tin Lý tưởng nhất, dữ liệu truyền đi cần phải hoàn toàn không bị nhiễu, mất mát hay sai sót Tuy nhiên, môi trường mạng trên ô tô rất phức tạp và chịu nhiều ảnh hưởng điện từ từ động cơ và các hệ thống điện khác, khiến việc đạt được trạng thái không nhiễu là điều không khả thi Do đó, việc giảm thiểu ảnh hưởng của nhiễu là rất cần thiết.
Các ứng dụng Điều khiển động cơ, hệ thống mạng điều khiển truyền lực và ABS/ESP
Hệ thống mạng điện tử thân xe và thoải mái và tiện nghi
Chi phí thấp của việc mở rộng CAN bus mang lại nhiều lợi ích cho các ứng dụng đơn giản trong lĩnh vực điện tử Nó giúp cải thiện sự thoải mái và tiện nghi trong việc điều khiển truyền lực, hộp số, cũng như quản lý thông tin audio và video.
Hệ thống sử dụng cho các ứng dụng liên quan tính an toàn và đơn giản
Cấu trúc liên kết Tuyến bus Tuyến bus Tuyến bus
Cấu trúc không gian vòng
Cấu trúc không gian hình sao
Tốc độ truyền dữ liệu
Tiêu biểu 10Mbit/s Tối đa 20Mbit/s
Về mặt lý thiết lên đến
Tối đa 22 trên passive bus/sao
Cơ cấu điều khiển Dựa theo tác động Dựa theo tác động Dựa theo theo gian
Dựa theo thời gian và tác động
Dựa theo thời gian và tác động
Sự triển khai Tất cả các xe Tất cả các xe Tất cả các xe
Dòng xe cao cấp của các nhà sản xuất xe châu Âu Ứng dụng thí điểm
Sự phân loại SAE Lớp C Lớp B Lớp A Phương tiện di động
Giảm thiểu sự nhiễu trong quá trình truyền tin là một trong những ưu tiên hàng đầu, vì mức độ kháng nhiễu của hệ thống còn phụ thuộc vào mức độ an toàn và mục đích sử dụng của nó.
Hiện nay, có nhiều phương pháp khác nhau để tăng cường khả năng kháng nhiễu cho hệ thống, bao gồm cả giải pháp phần cứng và phần mềm, cũng như tích hợp trong cơ chế vận hành của các giao thức truyền tin Một số phương pháp kháng nhiễu tiêu biểu bao gồm cáp xoắn đôi, bit chẵn lẻ và checksum.
2.1.3.3 Khả năng đáp ứng thời gian thực: Đây là một đặc tính có yêu cầu khắt khe hơn về mặt thời gian (thời gian truyền tin và thời gian đáp ứng), trong đó độ sai lệch là cực kì nhỏ Yêu cầu về thời gian thực chỉ xuất hiện ở một vài hệ thống đặc biệt và thường còn đi kèm với yêu cầu về độ tin cậy
Hệ thống hoạt động theo thời gian thực tương đối, tuân thủ thời gian phản hồi yêu cầu, mặc dù đôi khi có thể vượt quá thời gian này mà không gây ra ảnh hưởng nghiêm trọng, chẳng hạn như hiện tượng giật hình khi truyền hình ảnh hoặc livestream.
Thời gian thực tuyệt đối là yêu cầu quan trọng đối với các hệ thống an toàn trên ô tô, nơi mà bất kỳ sai sót nào trong quá trình truyền và phản hồi thông tin đều có thể dẫn đến kết quả sai lệch Những sai sót này không chỉ làm giảm độ chính xác của các tính toán mà còn có thể gây ra những vấn đề nghiêm trọng, ảnh hưởng đến sự an toàn và tính mạng của người sử dụng.
2.1.3.4 Số node tham gia vào mạng:
Việc giới hạn số lượng node tối đa trong một mạng mang lại nhiều ý nghĩa đặc biệt:
Một trong những ý nghĩa quan trọng là giảm thiểu độ trễ trong việc truyền tin Khi số lượng node tham gia vào mạng giảm, xác suất xảy ra tranh chấp giữa các tin nhắn được truyền đồng thời sẽ giảm theo.
Mạng nội bộ trên xe thường gặp khó khăn trong việc sử dụng một loại giao thức đồng nhất cho toàn bộ hệ thống, do các vấn đề kỹ thuật, chi phí và tính phù hợp với mục đích sử dụng.
Tổng quan về mạng CAN
2.2.1 Lịch sử phát triển mạng CAN:
CAN là giao thức giao tiếp mạnh mẽ, hỗ trợ các hệ thống điều khiển thời gian thực với độ ổn định cao, bảo mật tốt và khả năng chống nhiễu hiệu quả.
CAN được phát triển bởi Bosch GmbH từ năm 1983 và chính thức ra mắt vào năm 1986 Công nghệ này đã được Hiệp hội Kỹ sư Ô tô Mỹ (SAE) công nhận, với trụ sở chính đặt tại Detroit, Michigan.
Vào những năm đầu sau khi ra mắt, Intel và Philips là hai nhà sản xuất đầu tiên cung cấp chip xử lý cho CAN (1987), với Mercedes-Benz W140 trở thành chiếc ô tô thương mại đầu tiên trang bị công nghệ này Hiện nay, hầu hết các dòng ô tô hiện đại đều hỗ trợ CAN, và gần như tất cả các nhà sản xuất chip lớn trên thế giới như Siemens, Motorola, NEO, Infineon, Mitsubishi và TI đều sản xuất chip tích hợp CAN.
Ngoài ngành công nghiệp ô tô, giao thức CAN còn được ứng dụng phổ biến trong nhiều lĩnh vực như tự động hóa, đóng tàu, tàu ngầm, nông nghiệp và y tế, nhờ vào độ tin cậy cao của nó.
Kể từ khi ra mắt lần đầu, Bosch đã phát triển nhiều phiên bản khác nhau cho CAN, nhưng có thể tóm gọn lại rằng các phiên bản này đều mang những đặc điểm nổi bật và cải tiến đáng kể.
+ CAN 2.0 A : CAN tiêu chuẩn, 11-bit ID
+ CAN 2.0 B tiêu chuẩn: CAN tiêu chuẩn, 11-bit ID
+ CAN 2.0 B mở rộng: CAN mở rộng, 29-bit ID
Năm 1993, hiệp hội ISO đã phát hành tiêu chuẩn ISO 11898 để chuẩn hóa giao thức CAN, tuy nhiên, cần lưu ý rằng tiêu chuẩn này không bao gồm toàn bộ các đặc tính của CAN mà Bosch đã quy định.
ISO 11898-1: CAN lớp liên kết – dữ liệu_ CAN tốc độ cao
ISO 11898-2: CAN lớp vật lý_ CAN tốc độ cao
ISO 11898-3: CAN lớp vật lý_ CAN tốc độ thấp
Theo sau ISO 11898, còn rất nhiều phiên bản khác nhằm tiêu chuẩn hóa CAN tính đến thời điểm hiện tại
2.2.2 Đặc điểm của mạng CAN:
Node là thành phần độc lập trong mạng CAN, có khả năng xử lý và truyền nhận dữ liệu Mỗi node thường bao gồm ba thành phần chính: vi điều khiển (MCU), chip điều khiển CAN và chip thu-phát Trong mạng CAN, nhiều node có thể giao tiếp với nhau thông qua việc gửi và nhận các gói dữ liệu gọi là message, và mỗi node có thể nhận nhiều loại message khác nhau.
Gói dữ liệu trong CAN được truyền dưới dạng message, mỗi message mang một ID riêng biệt tùy thuộc vào mức độ ưu tiên Một message có thể được gửi đến nhiều node nhận khác nhau Dữ liệu trong message được truyền qua các khung, bao gồm khung dữ liệu, khung yêu cầu dữ liệu, khung báo lỗi và khung báo quá tải.
2.2.2.2 Tốc độ truyền dữ liệu:
CAN tốc độ cao (CAN High Speed): được định nghĩa trong tiêu chuẩn ISO 11898-
2 và hoạt động với tốc độ 125kbit/s đến 1Mbit/s và được sử dụng cho mạng lưới của các hệ thống sau:
- Hệ thống kiểm soát động cơ (Motronic cho động cơ xăng và động cơ diesel điều khiển điện tử)
- Điều khiển hệ thống truyền lực bằng điện tử
- Các hệ thống cân bằng xe (ESP)
- Các hệ thống hỗ trợ (điều khiển hành trình lái - ACC)
CAN tốc độ thấp (CAN Low Speed) được quy định trong tiêu chuẩn ISO 11898-2, hoạt động với tốc độ từ 5 đến 125 kbit/s Công nghệ này thường được áp dụng trong các mạng lưới của các hệ thống khác nhau.
- Điều khiển hệ thống máy điều hòa
2.2.2.3 Giá trị của Bus CAN:
Bus có hai giá trị logic bổ sung: 'trội' và 'lặn' Khi truyền đồng thời các bit 'trội' và 'lặn', giá trị bus sẽ là 'trội' Mức 'trội' được biểu thị bằng '0', trong khi mức 'lặn' được biểu thị bằng '1'.
Giá trị trội: là giá trị điện áp của bus được chủ động thay đổi bởi nút CAN muốn truyền tín hiệu Giá trị tương ứng là 0
Giá trị lặn trong hệ thống CAN là điện áp của bus bị động, được trả về giá trị mặc định bởi điện trở cuối khi không có nút nào muốn truyền tín hiệu, với giá trị tương ứng là 1 Đối với CAN tốc độ cao và CAN tốc độ thấp, giá trị lặn và giá trị trội có sự khác biệt rõ rệt, nhưng định nghĩa của chúng vẫn giữ nguyên.
Trong hệ thống CAN, khi ở trạng thái lặn, cả hai dây CAN High và Low đều có điện áp ổn định ở mức 2.5V Khi chuyển sang trạng thái trội, điện áp của dây CAN H tăng lên 3.5V, trong khi điện áp của dây CAN L giảm xuống còn 1.5V Sự thay đổi này tạo ra một chênh lệch điện áp giữa CAN H và CAN L là 2V trong trạng thái trội, trong khi ở trạng thái lặn, chênh lệch này là 0V.
Hình 2.2 Chuyển đổi tín hiệu CAN H và CAN L tốc độ cao
Bộ thu phát bao gồm một bộ nhận, có chức năng khuếch đại và đánh giá tín hiệu từ hai dây CAN H và CAN L Sau khi xử lý, bộ nhận truyền tín hiệu đã chuyển đổi với điện áp đầu ra là 2V (3.5V – 1.5V) đến vùng nhận CAN của thiết bị điều khiển.
Vì hai dây CAN được xoắn vào nhau, do đó trong trường hợp bị nhiễu thì sẽ tác động như nhau đến cả hai dây
Hình 2.3 Điện áp trên hai dây High và Low của CAN tốc độ cao khi bị nhiễu
Trong hệ thống CAN tốc độ thấp, điện áp trên hai dây CAN H và CAN L có sự khác biệt rõ rệt Khi ở trạng thái lặn, dây CAN H được thiết lập ở mức 0V, trong khi dây CAN L duy trì điện áp 5V Ngược lại, khi ở trạng thái trội, điện áp của dây CAN H sẽ tăng lên.
Khi giá trị định trước là 3.6V, điện áp của dây CAN L giảm xuống -3.6V, dẫn đến điện áp dây CAN H tăng lên 3.6V (0V + 3.6V = 3.6V) trong trạng thái trội Đồng thời, điện áp dây CAN L giảm xuống mức tối đa 1.4V (5V - 3.6V = 1.4V) ở trạng thái trội Do đó, sự chênh lệch điện áp giữa CAN H và CAN L trong trạng thái lặn là 5V, còn trong trạng thái trội là 2.2V.
Hình 2.5 Chuyển đổi tín hiệu CAN H và CAN L tốc đô thấp
Hệ thống hiển thị thông tin trên ô tô
2.3.1 Tổng quát về hệ thống hiển thị thông tin trên ô tô:
Hệ thống thông tin trên xe cung cấp các bảng đồng hồ, màn hình và đèn báo, giúp tài xế và kỹ thuật viên nắm bắt tình trạng hoạt động của các hệ thống chính Thông tin được truyền đạt đến tài xế qua hai hình thức: dạng tương tự với táp lô kim và dạng số với táp lô hiện số.
Hệ thống thông tin bao gồm các đồng hồ và đèn báo sau:
Đồng hồ tốc độ xe (speedometer)
Đồng hồ đo quãng đường (odometer)
Đồng hồ tốc độ động cơ (tachometer)
Đồng hồ áp lực nhớt
Đồng hồ nhiệt độ nước làm mát
Đồng hồ báo nhiên liệu
Đèn báo áp suất nhớt thấp
Đèn báo nguy hiểm hoặc ưu tiên
Đèn báo mức nhiên liệu thấp
Đèn báo hệ thống phanh
Hình 2.23 Đèn tín hiệu trên ô tô
Hệ thống thông tin analog bao gồm đồng hồ kim và đèn báo, giúp kiểm tra và theo dõi hoạt động của các bộ phận quan trọng của động cơ và toàn bộ xe.
Tín hiệu Analog là tín hiệu liên tục, được biểu diễn qua đồ thị dạng đường liên tục như sin, cos hoặc các đường cong khác Tín hiệu này mang tính chất tương tự, nghĩa là hình dạng của tín hiệu sau vẫn giống như tín hiệu trước, mặc dù cường độ có thể khác nhau Trong các thiết bị điện, tín hiệu analog thường là dòng điện, đồng thời cũng bao gồm âm thanh và hình ảnh mà chúng ta tiếp nhận Trong lĩnh vực viễn thông, tín hiệu analog được thể hiện qua sóng điện từ, bao gồm cả ánh sáng mà mắt thường không nhìn thấy.
Tín hiệu digital là tín hiệu số rời rạc, không nối tiếp, được biểu diễn bằng hệ nhị phân với hai mức điện thế 0 và 1, trong đó 1 tương ứng với mức điện thế cao và 0 là mức điện thấp Để hiển thị tín hiệu digital, thường sử dụng VFD, đèn LED hoặc LCD VFD được ứng dụng phổ biến trong đồng hồ hiển thị số trên các xe đời mới Đồng hồ hiển thị số có nhiều đặc điểm nổi bật.
Độ tin cậy cao nhờ hiển thị số, không có chi tiết chuyển động quay
Hiển thị tốt nhất cho mỗi đồng hồ
SƠ LƯỢC VỀ PHẦN CỨNG VÀ PHẦN MỀM
Sơ lược về phần mềm sử dụng
3.1.1 Giới thiệu về lập trình Python:
Python là ngôn ngữ lập trình bậc cao đa năng, được Guido van Rossum phát triển và ra mắt lần đầu vào năm 1991 Ngôn ngữ này nổi bật với tính dễ đọc, dễ học và dễ nhớ, phù hợp cho người mới bắt đầu lập trình Cấu trúc rõ ràng của Python cho phép viết mã lệnh với số lần gõ phím tối thiểu Vào tháng 7 năm 2018, Van Rossum đã từ chức lãnh đạo cộng đồng Python sau 30 năm Python sử dụng kiểu dữ liệu động và cơ chế cấp phát bộ nhớ tự động, tương tự như các ngôn ngữ như Perl, Ruby và Tcl Dự án Python được phát triển dưới hình thức mã nguồn mở, do tổ chức phi lợi nhuận Python Software Foundation quản lý.
3.1.2 Giới thiệu về Sublime Text:
Sublime Text là trình soạn thảo mã nguồn đa nền tảng, hỗ trợ nhiều ngôn ngữ lập trình và ngôn ngữ đánh dấu Nó cho phép người dùng mở rộng chức năng thông qua các plugin, thường được phát triển và duy trì bởi cộng đồng theo giấy phép phần mềm miễn phí Giao diện lập trình ứng dụng Python (API) của Sublime Text giúp người dùng dễ dàng tùy chỉnh và nâng cao trải nghiệm lập trình.
3.1.3 Giới thiệu về phần mềm Arduino:
Arduino bao gồm cả phần cứng và phần mềm, với phần mềm lập trình là Arduino IDE, dễ dàng tải về và cài đặt Giao diện của Arduino IDE rất đơn giản, giúp bạn quản lý và tải mã code lên board mạch Arduino một cách thuận tiện Ngôn ngữ lập trình của Arduino là C/C++, nhưng lập trình với Arduino đơn giản hơn nhiều so với lập trình vi điều khiển, nhờ vào việc giao tiếp với phần cứng thông qua các thư viện, giúp che giấu những phức tạp liên quan đến phần cứng.
Sơ lược về phần cứng
Khi bắt đầu với lập trình Arduino, Arduino Uno là mạch phổ biến nhất Hiện nay, phiên bản Arduino Uno R3 đã ra mắt, đánh dấu thế hệ thứ 3, mang đến khả năng lập trình cho các ứng dụng điều khiển và dễ sử dụng nhất trong các dòng Arduino hiện có.
Vi điều khiển ATmega328 họ 8 bit
Điện áp hoạt động 5V DC (chỉ được cấp qua cổng USB)
Tần số hoạt động 16 MHz
Dòng tiêu thụ khoảng 30mA
Điện áp vào khuyên dùng 7-12V DC
Điện áp vào giới hạn 6-20V DC
Số chân Digital I/O14 (6 chân PWM)
Mỗi chân của vi điều khiển ATmega328 được trang bị các điện trở kéo lên, tuy nhiên, các điện trở này không được kết nối mặc định.
Số chân Analog 6 (độ phân giải 10bit)
Dòng tối đa trên mỗi chân I/O30 mA
Dòng ra tối đa (5V) 500 mA
Dòng ra tối đa (3.3V) 50 mA
Bộ nhớ flash32 KB (ATmega328) với 0.5KB dùng bởi bootloader
SPI (Serial Peripheral Bus) là một chuẩn truyền thông nối tiếp tốc độ cao do Motorola phát triển, hoạt động theo mô hình Master-Slave Trong hệ thống này, một chip Master điều phối quá trình truyền thông với các chip Slave, cho phép truyền thông chỉ diễn ra giữa Master và Slave Đặc biệt, SPI hỗ trợ truyền thông song công (full duplex), cho phép quá trình truyền và nhận dữ liệu diễn ra đồng thời.
Chuẩn truyền thông “4 dây” được gọi như vậy vì nó bao gồm bốn đường giao tiếp chính: SCK (Serial Clock), MISO (Master Input Slave Output), MOSI (Master Output Slave Input) và SS (Slave Select).
SCK giữ vai trò quan trọng trong giao tiếp SPI, vì đây là chuẩn truyền đồng bộ yêu cầu một đường giữ nhịp Mỗi nhịp trên chân SCK tương ứng với việc truyền tải một bit dữ liệu, cho phép thông tin được gửi đi hoặc nhận về một cách chính xác.
MISO, or Master Input/Slave Output, functions as an input line for the Master chip and as an output line for Slave chips The MISO connections of the Master and Slave devices are directly linked to each other, facilitating communication between the components.
MOSI (Master Output / Slave Input) là đường truyền dữ liệu, trong đó nếu là chip Master thì đây là đường Output, còn nếu là chip Slave thì MOSI hoạt động như Input MOSI của chip Master và các chip Slave được kết nối trực tiếp với nhau.
SS – Slave Select là tín hiệu chọn Slave để giao tiếp Trên các chip Slave, đường SS sẽ ở mức cao khi không hoạt động Khi chip Master kéo đường SS của một Slave xuống mức thấp, giao tiếp giữa Master và Slave đó sẽ được thiết lập.
1 đường SS trên mỗi Slave nhưng có thể có nhiều đường điều khiển SS trên Master, tùy thuộc vào thiết kế của người dùng
+ MISO mang các dữ liệu từ các thiết bị SPI về Arduino
+ MOSI mang các dữ liệu từ Arduino đến các thiết bị SPI
+ SS chọn thiết bị SPI cần làm việc
Atmega328 là vi điều khiển 8 bit mạnh mẽ hơn Atmega8, được sản xuất bởi Atmel thuộc dòng MegaAVR Nó sử dụng kiến trúc RISC với bộ nhớ chương trình 32KB ISP flash có khả năng ghi xóa hàng nghìn lần, cùng với 1KB EEPROM và 2KB SRAM, mang lại dung lượng RAM lớn trong thế giới vi xử lý 8 bit.
Hình 3.3 Các chân của ATMega 328
Chip Atmega 328P có thông số kỹ thuật như sau:
Điện áp hoạt động: 1.8V đến 5V
Xung nhịp lớn nhất: 20Mhz
Nhiệt độ hoạt động: -40°C đến 85°C
Hai bộ Timer/Counter 8-bit
Một bộ Timer/Counter 16-bit
Chiều rộng: 8.255 mm Ý nghĩa các chân:
Chân VCC: Chân số 7 là VCC cấp điện áp nguồn cho vi điều khiển Nguồn điện cấp trong khoảng 1,8 – 5,5V
Chân GND của vi điều khiển được kết nối với chân số 8 và chân số 22, đóng vai trò quan trọng trong việc thiết lập mạch điện Để bảo vệ vi điều khiển, việc sử dụng một mạch ổn áp là cần thiết, và một giải pháp đơn giản là áp dụng IC.
Port B: Gồm 8 chân từ PB0 – PB7, các chân này có chức năng làm đường nhập/xuất và nhiều chức năng phụ khác
Port C: Gồm 7 chân từ PC0 – PC6, ngoài chức năng làm các đường nhập/xuất thì còn có 5 chân có chức năng đầu vào cho bộ chuyển đổi ADC
Port D: Gồm 8 chân từ PD0 – PD7, chức năng giống với các chân ở Port B
Chân RESET: Nằm ở chân số 1 của vi điều khiển dùng để thiết lập lại trạng thái ban đầu cho vi điều khiển
Chân XTAL (chân số 9 và 10) trên vi điều khiển được sử dụng để nhận nguồn xung clock từ bên ngoài, thường kết hợp với thạch anh và tụ điện để tạo ra nguồn xung clock ổn định cho hoạt động của vi điều khiển.
Chân AVCC là nguồn cung cấp cho cổng C và bộ chuyển đổi ADC, vì vậy nó cần được kết nối với nguồn cấp VCC từ bên ngoài, ngay cả khi bộ ADC không hoạt động.
Chân AREF: AREF là chân chuẩn analog cho bộ chuyển đổi ADC
Các chức năng cơ bản của ATmega328P:
Điều khiển động cơ: Chip ATmega328P sử dụng các chân PB1, PB2, PB3, PD3, PD5, PD6 cho phép xuất xung PWM dùng để điều khiển động cơ
Giao tiếp với các module ngoại vi thông qua 6 kênh ADC từ PC0 tới PC5
Truyền nhận dữ liệu thông qua các chuẩn giao tiếp: I2C, UART, SPI
Vi điều khiển MCP2515 trong bộ điều khiển CAN thực hiện quản lý gói dữ liệu, mã hóa và giải mã khung dữ liệu, phát hiện lỗi và đồng bộ hóa dữ liệu Nó hỗ trợ CPU trong việc quản lý tin nhắn và hoàn toàn tương thích với các tiêu chuẩn của CAN 2.0B.
Module CAN dùng chip CAN Controller MCP2515 và bộ truyền nhận CAN TJA1050 là module mở rộng ngoại vi CAN
Module còn tích hợp các Jump J1 J2, trong đó:
J1 là jump chọn chế độ tốc độ giao tiếp; khi Jump 1 được nối, chip TJA1050 cho phép giao tiếp trên mạng CAN-BUS với tốc độ cao nhất lên tới 1M Ngược lại, nếu Jump 1 không được kết nối, chip TJA1040 sẽ giao tiếp với BUS CAN ở tốc độ thấp hơn 10 kbps, giúp tăng khoảng cách truyền tín hiệu và kết nối nhiều node mạng CAN hơn trên bus vật lý.
J2 là jump nối điện trở liên kết, giúp xác định vị trí của module trong mạng CAN Mỗi BUS CAN được trang bị 2 điện trở 120 Ohm ở hai đầu Khi J2 được nối, module sẽ hoạt động như nốt mạng đầu hoặc nốt mạng cuối Ngược lại, nếu module giao tiếp với mạng CAN BUS đã có sẵn điện trở ở hai đầu, J2 không cần phải nối.
- Chuẩn giao tiếp SPI, có chân ngắt khi nhận được gói tin hợp lệ
- Điện áp hoạt động: 4.75 ~5.25V Tương thích đầy đủ với chuẩn ISO 11898 cho hệ thống hoạt động ổn định, chính xác