---
title: "STM32 W5500 Learn Autosar"
url: "https://maker.wiznet.io/Aimee0/projects/stm32-w5500-learn-autosar/"
markdown_url: "https://maker.wiznet.io/Aimee0/projects/stm32-w5500-learn-autosar/md"
type: "UCC: User Created Content"
author: "Aimee"
author_url: "https://maker.wiznet.io/Aimee0/"
original_author: "aimee"
original_url: "https://github.com/ThanhHung2000/STM32F103C8_T6_Lear_autosar_Hung"
published: "2025-10-22"
language: "en"
hardware: ["WIZnet W5500"]
likes: 0
views: 455
comments: 0
source: "WIZnet Makers (https://maker.wiznet.io/)"
---

# STM32 W5500 Learn Autosar

> It’s a communication and control gateway based on the STM32F103C8T6.

Original author: aimee (source: https://github.com/ThanhHung2000/STM32F103C8_T6_Lear_autosar_Hung)

## Components

- **WIZnet W5500** x 1 ([docs](https://docs.wiznet.io/Product/Chip/Ethernet/W5500))

WIZnet parts: W5500 ([Datasheet](https://docs.wiznet.io/Product/Chip/Ethernet/W5500/datasheet?utm_source=maker&utm_medium=project&utm_campaign=w5500), [product hub](https://maker.wiznet.io/products/w5500/))

## Article

### Project Overview

This project is designed for learning or implementing AUTOSAR (Automotive Open System Architecture) using the STM32F103 microcontroller.
It integrates various peripherals including CAN, Ethernet (W5500), UART, I2C, ADC, Timer, and Watchdog, enabling stable and flexible data communication between field devices and upper-level systems.

**Autosar?**

AUTOSAR (Automotive Open System Architecture) is an international standard architecture that defines a standardized software framework for automotive electronic control units (ECUs).

> 이 프로젝트는 STM32F103을 사용해 자동차 ECU용 운영체제 표준인 AUTOSAR를 학습 또는 구현을 목적으로 한 프로젝트입니다.
> CAN, Ethernet(W5500), UART, I2C, ADC, 타이머, 워치독 등 다양한 주변장치를 통합하여, 현장 장치(Field Device)와 상위 시스템 간의 안정적이고 유연한 데이터 통신을 제공합니다.
>
> **Autosar?**
>
> 자동차용 전자제어장치(ECU, Electronic Control Unit) 소프트웨어의 표준화된 구조를 정의한 국제 표준 아키텍처입니다.

### Purpose

The system functions as a Field Controller or Gateway Controller, serving as a communication bridge between different industrial networks.

**Main Functions:**

- Transmit data collected from the CAN bus to upper systems via Ethernet (UDP) or UART(Modbus)

- Deliver external commands from Ethernet or UART to field nodes (CAN devices) for control actions

> 이 시스템은 현장 제어기(Field Controller) 또는 **통신 게이트웨이(Gateway Controller)**로 동작하며, 서로 다른 산업 네트워크 간의 데이터 교환을 중계하는 역할을 수행합니다.
>
> **주요 기능:**
>
> - CAN 버스에서 수집한 데이터를 Ethernet(UDP) 또는 UART(Modbus)를 통해 상위 시스템으로 전송
>
> - Ethernet 또는 UART를 통해 수신된 외부 명령을 **현장 노드(CAN 장치)**로 전달하여 제어 명령 수행

### System Architecture

The software architecture is inspired by AUTOSAR principles, emphasizing:

- **Layered design** for scalability and maintainability

- **Modularization** of functional blocks (communication, control, system services)

- **Communication abstraction** for flexible protocol integration

> 소프트웨어 구조는 AUTOSAR 아키텍처에 따라 설계되었습니다.
> 핵심 설계 개념은 다음과 같습니다:
>
> - **계층화(Layered Design)** : 유지보수성과 확장성을 고려한 구조적 설계
>
> - **모듈화(Modularization)** : 통신, 제어, 시스템 서비스 기능의 독립적 구성
>
> - **통신 추상화(Communication Abstraction)** : 다양한 프로토콜을 유연하게 통합할 수 있는 구조

### Key Features

| Feature | Description |
| --- | --- |
| **CAN Communication** | Operates at 500 kbps, supports filter configuration and interrupt-based message reception > 500 kbps 속도로 동작, 필터 설정 및 인터럽트 기반 메시지 수신 지원 |
| **Ethernet (W5500)** | Connected via SPI, supports UDP protocols > SPI로 연결, UDP 전송 |
| **UART Communication** | Supports Modbus RTU, firmware update, debugging, and logging > Modbus RTU 통신, 펌웨어 업데이트, 디버깅, 로깅 등 다중 용도 시리얼 채널 |
| **I2C Communication** | Interfaces with RTC modules (e.g., DS3231/DS1307) for time management > RTC(예: DS3231/DS1307) 시간 관리 모듈과 연동 |
| **ADC** | Single-channel analog input for voltage, temperature, and sensor monitoring > 단일 채널 센서 입력 (전압, 온도 등 아날로그 값 모니터링) |
| **Timer Framework** | Manages periodic tasks (1 ms / 10 ms / 1 s) using `Delay_SetTimer()` > 1 ms / 10 ms / 1 s 주기 태스크 관리 (`Delay_SetTimer()`) |
| **Watchdog** | Detects system faults and performs automatic reset (1-second timeout) > 시스템 이상 감지 및 자동 리셋 (1초 타임아웃) |
| **Firmware Update** | Firmware replacement managed via `Update_FW_ComTask()` routine > `Update_FW_ComTask()` 루틴을 통한 펌웨어 교체 관리 |
| **LED Heartbeat** | 1 Hz toggle signal for system health monitoring > 시스템 생존 신호(1 Hz 토글)로 상태 모니터링 |

### Significance

This project demonstrates a **lightweight implementation of AUTOSAR architectural principles** on a small MCU (STM32F103C8T6).
It provides an excellent foundation for **industrial and automotive embedded system developers** to learn and experiment with standardized, layered software architectures.

**Typical Applications:**

- CAN ↔ Ethernet (Modbus) Gateway

- Field Data Logger

- AUTOSAR-based ECU Learning Project

- Multi-protocol Communication Controller on Small MCUs

> 이 프로젝트는 AUTOSAR의 구조적 설계를 소형 MCU(STM32F103C8T6) 에 경량화해서 구현한 사례로,
> 산업용 및 자동차용 임베디드 시스템 개발자에게 표준화된 계층 구조 설계 방법론을 학습하고 실험할 수 있는 좋은 기반이 됩니다.
>
> **응용 예시:**
>
> - CAN ↔ Ethernet or UART 게이트웨이
>
> - 현장 데이터 수집기(Field Data Logger)
>
> - 자동차 ECU 학습용 AUTOSAR 구조 실습 프로젝트
>
> - 소형 MCU 기반 멀티프로토콜 통신 컨트롤러 개발

---

Source: https://maker.wiznet.io/Aimee0/projects/stm32-w5500-learn-autosar/
