2009-06-25 114 views
32

Ngôn ngữ lập trình nào được sử dụng phổ biến nhất trên hệ thống ô tô? Loại dữ liệu nào được thu thập trong khi đang chạy? Nền tảng nào nó sử dụng?Ngôn ngữ lập trình ô tô

Tôi cũng quan tâm đến ô tô lai/điện mới, họ sử dụng ngôn ngữ và nền tảng nào?

Cảm ơn!

Trả lời

3

OBD-II là giao diện thu thập dữ liệu ô tô.

Về mặt ngôn ngữ lập trình, tôi cho rằng nó có khả năng chồng lấp với nhiều môi trường được nhúng khác; C có thể được sử dụng, RTOS như VXWorks, v.v. 1394 (firewire) đang bắt đầu được sử dụng cho mạng.

Có một trang web tìm kiếm thú vị được gọi là 'Automotive Design Line'

+0

Đó là về xe hơi năng lượng mới? – hws

+0

Tôi tưởng tượng nó vẫn sẽ áp dụng cho xe hybrid vì nó được sử dụng trong thử nghiệm khí thải ở California mà có một yêu cầu cho một giao diện tiêu chuẩn. Đối với các loại phích cắm điện có thể không áp dụng, nhưng nhà để xe vv được thiết kế cho OBD-II nên tôi sẽ không ngạc nhiên nếu các nhà sản xuất nhỏ hơn đặc biệt tiếp tục sử dụng nó vì lý do đó –

+0

Cảm ơn rất nhiều , câu trả lời của bạn rất hữu ích! Thế còn xe pin nhiên liệu, năng lượng hydro và xe điện mặt trời thì sao? – hws

40

Đồ điện tử trong ngành công nghiệp ô tô thường được dựa trên vi điều khiển nhúng. Như vậy, các ngôn ngữ lập trình thường là C, C++ và assembly. Trong một số trường hợp, một ngôn ngữ cấp cao hơn như ladder-logic được sử dụng để mô tả logic điều khiển thực tế.

Xe ô tô hiện đại có một số hệ thống máy tính riêng biệt, mỗi hệ thống được thiết kế để kiểm soát một khía cạnh cụ thể của hoạt động của xe. Thường có một bộ điều khiển cho động cơ, một cho bộ truyền động, một cho thiết bị điện tử bảng điều khiển, một cho hệ thống phanh ABS, điều khiển lực kéo, v.v.

Mỗi mô-đun điều khiển này có bộ đầu vào và đầu ra. Bộ điều khiển động cơ, ví dụ, đọc nhiều cảm biến bao gồm nhiệt độ nước làm mát, tốc độ động cơ, lượng oxy, vị trí bướm ga, v.v. Và, dựa trên những đầu vào này, nó đưa ra quyết định về việc thúc đẩy động cơ. Trong xe hybrid và xe chạy bằng điện, hệ thống điều khiển động cơ, tất nhiên, hoàn toàn khác nhau. Vẫn còn một bộ điều khiển, nhưng thay vì chỉ đưa ra quyết định về nhiên liệu, nó có thể đưa ra quyết định về thời điểm tham gia động cơ điện so với động cơ khí, bao nhiêu năng lượng để áp dụng cho mỗi động cơ điện, v.v.

Điều khiển khác nhau các mô-đun được kết nối với nhau bằng cách sử dụng mạng trong xe. Có nhiều cách khác nhau để triển khai mạng này, nhưng một trong những cách phổ biến nhất là CAN (Mạng vùng điều khiển). Mạng này cho phép các mô-đun điều khiển riêng lẻ gửi và nhận thông tin từ các mô-đun khác ở tốc độ cao trong khi xe đang hoạt động.

update: Dưới đây là một số liên kết để đọc thêm:

CAN systems từ AA1Car.com
The Hybrid Bible từ CarBibles.com
Sensors Make Cars Smarter - một bài báo từ thiết kế Tin tức

update: đây là một bài viết gần đây về chủ đề có thể quan tâm:

This Car Runs On Code - một bài viết từ Discovery.com

+1

+1 câu trả lời toàn diện đẹp –

+0

Cảm ơn rất nhiều. Tiếng Anh của tôi kém, tôi cần thêm thời gian để hiểu bạn trả lời. Nếu có thể, bạn có thể đưa ra nhiều câu trả lời hơn.Cảm ơn bạn rất nhiều. – hws

+0

@Colin Pickard: Cảm ơn bạn. Tôi upvoted của bạn cho đề cập đến OBD-II và J1394. Tôi không có ý tưởng rằng firewire đã được đưa vào sử dụng cho ô tô. –

8

Ngôn ngữ lập trình phổ biến nhất cho ECU ô tô (bộ điều khiển điện tử) thực hiện các ứng dụng thời gian thực cứng trong điều khiển tàu điện hoặc khung gầm là đến nay C. Phần mềm thường được thực hiện đầu của hệ điều hành ô tô cụ thể theo OSEK hoặc AUTOSAR.

Trong các thiết bị dành riêng cho thông tin giải trí, bạn có thể tìm thấy các ngôn ngữ khác hoặc thậm chí là các hệ điều hành chính thống.

OBD-II chỉ là một tập hợp con thông tin được thu thập trong xe hơi điển hình vì OBD-II chủ yếu nhắm mục tiêu đến động cơ. Ngoài ra còn có rất nhiều dữ liệu chẩn đoán được thu thập cho các ứng dụng khác, ví dụ: cho các chức năng thoải mái.

CAN là giao diện bus phổ biến "cổ điển" nhưng các tiêu chuẩn gần đây với băng thông rộng hơn (ví dụ: Flexray) đang tăng trưởng đặc biệt cho phần mềm quan trọng về an toàn. Đối với một số mục đích thậm chí Ethernet cổ điển được sử dụng.

Tôi muốn gửi một số siêu liên kết nhưng hệ thống danh tiếng SO của không cho phép này ...

8

Sử dụng C là rất phổ biến trong ngành công nghiệp ô tô mà một cơ quan ngành công nghiệp đã đưa ra một bộ tùy chỉnh các tiêu chuẩn cho nó - Misra C.

Misra C, trong một hệ thống an toàn quan trọng, thực tế là một ngôn ngữ khác với C bình thường - không có con trỏ hàm, không phân bổ bộ nhớ, khá nhiều không sử dụng các tính năng ngôn ngữ C cụ thể.

Về cơ bản, đó là Ada với cú pháp C.

1

C và vi điều khiển được sử dụng nhiều nhất trong trường Ô tô. Bạn phải có kiến ​​thức hệ thống nhúng.

0

Ngăn xếp phần mềm ô tô đang trở nên phức tạp hơn, nó không chỉ là vi điều khiển nữa. Ngày nay cũng có một ngăn xếp phần mềm IVI chạy trên một bộ xử lý khá mạnh, tức là ATOM hoặc ARM v7, vv Vì vậy, các ngôn ngữ lập trình đã thay đổi cho phù hợp, bạn có thể sử dụng các ngôn ngữ thông dịch chẳng hạn.

1

tính năng Automotive Application mã trong MATLAB C, C++ ...

BSP mã hóa trong C hoặc C++

AUTOSAR là nền tảng chung hoặc kiến ​​trúc được sử dụng trong các ngành công nghiệp Automovie.

+0

Câu đầu tiên có nghĩa là gì? – WEFX

+0

Chức năng của CAR (Wiper, Light, vv) được mã hóa bằng MATLAB, C, C++ ... – Shivang

Các vấn đề liên quan