직렬 버스 (자동차 응용 프로그램) [폐쇄] 견고하고 쉽게 구현할 수 있습니다.

StackOverflow https://stackoverflow.com/questions/144600

문제

주요 선택 기준 인 경우 자동차 임베디드 시스템에서 어떤 직렬 통신 버스를 사용 하시겠습니까?

  • 전기적으로 강력합니다
  • 느린 속도 (32kb/s)
  • 쉽게 프로그래밍 할 수 있습니다
  • 마이크로 컨트롤러와 쉽게 인터페이스 할 수 있습니다

많은 데이터를 전송하지는 않지만 주기적으로 고속 (100-500Hz)으로 주기적으로 전송해야합니다. 지상 라인에 소음이있는 경우 RS-232가 충분히 신뢰할 수 없습니다. Can-Bus는 흥미로워 보이지만 경험이 없습니다.

우리는 현재 AVR AT90CAN128 마이크로 컨트롤러의 조합에 관심이 있습니다.

도움이 되었습니까?

해결책

이미 AT90CAN128을 선택했는데, 다른 AVR 프로세서와 비교하여 눈에 띄는 기능은 CAN 버스를 지원하는 것입니다. 데이터 속도 및 소음 면역 요구 사항이있는 자동차 응용 프로그램에 대한 선택이 실제로는 없습니다. 할 수있는 것 이외의 자동차 고객에게 행진하면 사용하지 않기로 한 결정을 방어하는 데 항상 지출하게됩니다.

그렇게 말하면, 자동차와 같은 적대적인 환경에서 소음 면역을 위해서는 차등 신호를 사용하는 버스가 필요합니다. I2C 또는 SPI를 배제합니다. 다른 요구 사항을 충족하기 때문에 불행한 일입니다. @andrew edgecombe가 지적한 것처럼 RS-485는 실행 가능합니다.

상업용 제품을 만들지 않고 엔진 실에 넣기 위해 자신이 사용하기 위해 무언가를 구축하는 경우 USB를 사용할 수 있습니다. USB는 승객 실의 노트북과 쉽게 인터페이스 할 수있게하며, 고음 환경을 위해 설계되지는 않지만 상이하게 높은 전압으로 신호를 보냅니다.

다른 팁

모든 신뢰성에 대해 Canbus를 지나갈 수는 없습니다 (그러나 그것은 당신이 선택한 프로세서에 의해 암시 되었습니까?)

인터페이스하려는 내용에 따라 매우 간단 할 수 있습니다. 기본 레벨 프로토콜은 매우 간단합니다. 그러나 다른 비 독점 장치와 대화하려면 더 높은 프로토콜 (예 : Canopen)을 구현해야합니다.

그러나 CANBUS가 적절하지 않으면 RS485 또는 RS422 (토폴로지에 따라 다름)를 권장합니다. 당신이 달성하려는 모든 것이 포인트 to 포인트 커뮤니케이션이라면 RS232와 동일합니다. (Multidrop Comms를 지원하려는 경우 자신의 프로토콜 레이어를 맨 위에 올려 놓아야합니다.)

다른 두 가지 훌륭한 선택 할 수 있다 Lin과 Flexray입니다. 더 간단하고 느린 인터페이스입니다 Flexray 보다 강력하고 브레이크의 실시간 제어와 같은 안전 중요 시스템을 위해 설계되었습니다.

다양한 버스 선택이 어떻게 상호 관계를 보이는지에 대한 훌륭한 개요 차트를 보려면 미끄러지 다.

나는 항상 캔이 자동차 커뮤니케이션에서 최고라고 제안합니다.

  • 물리적 계층의 데이터 전송에 전기 결함이 있더라도 견딜 수있는 차동 라인이 있습니다.
  • 신뢰할 수있는 속도를 제공 할 수 있으며 대부분의 자동차 소프트웨어 응용 프로그램에서 500kbaud 속도 속도를 제공합니다.
  • 컨트롤러 사서함 및 등록 구조를 할 수 있다는 것을 알고 있다면 인터페이스가 쉽습니다.

다른 사람들이 말했듯이, 캔은 느린 속도가 느린 표준, 견고하며 더 강력합니다.

그리고 더 큰 시스템이 필요한 경우 버전 2.6.15의 Linux 커널에는 지원이 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top