Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tek26e_modelo_eletronico

Renode multi-node simulation of the TEK-26E electronic architecture, aimed at CAN integration tests in CI.

Status

abandoned. Everything below works and is reproducible:

  • BMS (STM32F412RETx) and VCU (STM32F767VGTx) boot their real firmware
  • Both reach their state machines with no faults raised
  • Seven frames flow on the Powertrain hub, counted in virtual time

What is missing

  • Cell voltages. Slave_XX_Voltage never appears. The 12 ADBMS6830 on the isoSPI chain are not modelled, so the BMS has nothing to report. It logs Chain BAD: expected 12, found 0 but no longer faults, because the EEPROM sets BYPASS_CHECKS. Anything testing undervoltage, balancing or SOC needs a chain responder first — a device answering the ADBMS6830 command set with valid PEC15.
  • ADC readings. Renode 1.16.1 has no STM32F4 ADC model, so currents and temperatures read zero on the BMS.
  • No watchdog. WWDG accepts writes and reads zero. A reset-by-watchdog path in the firmware will not reproduce.
  • Signal-level assertions. Tests can only say "the frame arrived", not "the signal is right". The DBCs in FSLART/T26_DBC plus cantools would close this.
  • SocketCAN / ROS2 bridge. Linux only, never started.

Layout

Path What
platforms/*.repl Minimal per-node platforms, built on upstream Renode CPU repls
scripts/hubs.resc The CAN hubs + global quantum
scripts/stubs.resc Stand-ins for the nodes that are not simulated
peripherals/*.cs Models compiled at runtime by include
scripts/<node>.resc One machine per node
scripts/tek26e.resc Full scenario
scripts/platform_check.resc Loads every platform with no firmware (syntax/address check)
tests/*.robot Robot Framework suites for renode-test

Nodes

Node MCU Base repl CAN
BMS STM32F412RETx stm32f412.repl (pulls in stm32f4.repl) can1=Powertrain 1M, can2=Handcart 500k
VCU STM32F767VGTx stm32f777.repl can1=Data, can2=Powertrain, can3=Autonomous — all 1M

Firmware

Node Repo Branch
BMS https://github.com/FSLART/lart_bms beta-v2.1 (Firmware/)
VCU https://github.com/FSLART/VCU_STM32_Firmware_V1 sensors_can

DBCs live in https://github.com/FSLART/T26_DBC.

ELF paths are script variables defaulting to build/:

renode -e "$bms_elf=@/path/to/lart_bms.elf; $vcu_elf=@/path/to/vcu.elf; i @scripts/tek26e.resc"

Run

& "path\to\renode.exe" -e "i @scripts/dev.resc"

Debugging

scripts/debug.resc opens one GDB stub per node, port 3333 + node index. Kept out of tek26e.resc so CI never waits for a debugger.

Monitor - no debugger, scales to the whole car:

sysbus GetSymbolAddress "masterCfg"
cpu PC
cpu LogFunctionNames true
sysbus LogPeripheralAccess sysbus.can2 true
logLevel -1 i2c1.eeprom

About

Montagem de um ambiente de simulação em Renode para o veículo Formula Student TEK-26E

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages