Projekt

Allgemein

Profil

Eval » Historie » Version 1

Maximilian Seesslen, 07.10.2025 15:02

1 1 Maximilian Seesslen
h1. Eval
2
3
(Polnisch fuer Ausfall, Stoerung)
4
5
There are some issues that can only be tested via power resets.
6
7
* SPI has an issue that it needs retries
8
* Looks like configuration I2C EEPROM gets reset to defaults
9
* RTC-offline-test (Wie lange haelt die RTC Batterie)
10
11
The device has an CANBus in and an CANBus out. The testsoftware is on the DUT. The DUT sends the command to toggle power line to Awaria via CAN.
12
The switch-off time has to be an parameter. The RTC-Tests will be complex, the Awaria software shall be simple and generic.
13
14
An data multiplexer can be used along with a mosfet for power line.
15
Data lines for CAN and UART have to be cut. 
16
In order to cut UART, an Debug-Adapter chaining would be needed. Or Uart is available via Host-USB.
17
18
Optionally controll it via USB from PC, not MCU. Optically isolated GPIOs.
19
20
h1. Problem
21
22
Circuit does not help at all when power is injected into device via Pullup of RS232. Lines can be disabled too. But whole
23
debug connector can cause issues: No debug connection at all.
24
FPC with UART only? All signals disconnectable?
25
26
A problem is the debug adapter. Switching the signals from one MCU to another is not nice. 
27
Flashing the MCU that controlls the lines may result in dead board. Fixed lines are better; always able to flash a device.
28
29
-Usually a reset is enough. The total off test is quite special. But there is no output available.-
30
31
The periphery tests need a complete disconnect, even when for some problems a reset was enough.
32
33
Uart of Awira? optional when main tests are running on PC.
34
DUT is connected to Awira via debug connector and canbus or power line.
35
Awira is connected to CAN bus.
36
PC is connected via debug board to Awira, signal routed to DUT.
37
Flip-Flop for debug routing would be nice. A big button to route the debug port is nice.
38
SN74LVC1G80DCKR
39
2xUart
40
2xSWD
41
2xBoot/Reset
42
VDD Target
43
-Jumperresistor to connect the uart of the DUT to awaria.-
44
45
h1. Usecases
46
47
* Devices have their own test-software and ask awaria to perform an power-cycle for them. Result is stored in option Bytes.
48
** Because the software is running on DUT, debug can stay routed to DUT.
49
50
* PC performs test. DUT has to send Log-Events when errors show up and when device is up and running. DUT firmware can be the productive firmware.
51
** Tester-Firmware on PC is quite generic
52
** CAN may not be available yet (CANDis). That was one intention of repeated log code
53
** CANDis may be configured to use USB. No UART output here. USB does also not help then.
54
55
* Long time tests. Device can be in a permanent reboot loop with alternating writing/reading EEPROM. Awaria can persist status and result. Cordyceps can readout values at any time.
56
57
h2. Usecases with products
58
59
* I2C has an issue that some times the board has to wait at bootup quite long time till i2c eeprom is functional.
60
** How much time can it take till i2c is functional
61
** Is fix working 100%; device will boot 100 times
62
63
* CANDis looses touch calibration; SPI has an issue that some times the board has to wait at bootup quite long time till spi flash is functional.
64
** How much time can it take till spi is functional
65
** Is fix working 100%; device will boot 100 times
66
67
* CANDis; measure RTC durability
68
** Can be done via Awaria in case the test has to run over months
69
70
* CANSwitch; check I2C-EEPROM-Config reliability
71
72
* Long time boot tests
73
74
* Miniminutnik
75
** redirected Uart would make sense here
76
77
h2. Problems:
78
79
* RTC: Cant check if there was an I2C problem or RTC was actually not valid. CI2cSlace-Class needs better status handling besides "isPresent". DeviceError or ContentError
80
* Waste biwak with TDT-Specific values? Use own error code range. LogEvents support custom data types.
81
82
h1. Parts
83
84
* MCU: The smallest thing
85
* Multiplexer: "Link":https://www.tme.eu/de/katalog/analoge-multiplexer-und-schalter_100222/?params=383:1443902,1474454_anzahl-kanale:4,16&activeView=parameter&onlyInStock=1&productListOrderBy=1000015
86
** MC14551BDG bis zu 1K RON: 1050
87
** TS5A23166DCUR cool, 2 channels, up to 100mA, 1,8-6,5V
88
** Habe:
89
*** DG408LEDQ-T1-GE3; .#273;  1:8
90
*** DG409LEDQ-T1-GE3; .#321;  2x 1:4
91
*** ADG736; .#315; 2x1:2
92
*** *RS2102XN ADG836YRMZ* Das ist er; 2x
93
** MAX4760; 8 Channels; Paarweise schalten
94
** TMUX1574 4xSPDT; 1 Schalter; 0.474€; 1,8V logic
95
** *PI5C3257QE*; 4xSPDT; 1 Schalter; 0.229€; 2 Davon und gut ist.
96
97
* High/Low-side switch
98
** TDE1707BFP
99
** Im Prinzip reichen ein N und ein P MOSFET. Der N-Mosfet schaltet den P Mosfet gleich mit.
100
101
* Big EEPROM, device can store test info from DUT. Maybe a second EEPROM just for costom data persisting. Can hold data in RAM.
102
103
Spannungs/Strom zu umstaendlich.
104
105
"Cables":https://www.tme.eu/de/katalog/ffc-fpc-bander_113269/?params=673:1451575;425:1478584;1184:1479746&activeView=parameter&queryPhrase=fpc&onlyInStock=1&productListOrderBy=1000015
106
107
108
h1. RTC-Tests
109
110
Can have a region in SPI-Flash.
111
If the Settings are not ok, just have an terminal.
112
The test can only be started from terminal.
113
rebootTest <startTime>
114
115
Start. 
116
* Cut 2 Seconds. Time OK?
117
* Cut 4 Seconds. Time OK?
118
* Cut 8 Seconds. Time OK?
119
120
When it fails, "destroy" test-config in spi flash
121
122
h1. Off-Desk tests 
123
124
* Awaria can toggle an CANDis till RTC is not valid any more.
125
* The test could run for month
126
* An eeprom is enough to store the result. The device can be connected to PC and data can be read via UART or CAN.
127
* Only CAN may be connected when debug is not accessible on device. Target Node-ID has to be configured. This can be done via CAN.
128
* Progress LEDs needed
129
* This is the 99,9% solution.
130
* Broken EEPROM-Config can not be detected because ID does not match any more; result is timeout. But reboot can be stoped, problem can be seen.
131
*
132
133
h1. Connectors
134
135
* CANBus-In
136
* CANBus.Out
137
* -Power in, 5V, 3V-
138
* Power out, 5V, 3V
139
* -USB PC to MCU-
140
* -USB PC to DUT-
141
* Debug in
142
* Debug out
143
144
Debug, CAN, power only?
145
CAN-Geraete koennten auch standalone laufen, Testsoftware auf PC.
146
147
2x Uart
148
2x SWD
149
1x Reset
150
1x Boot0
151
2x CAN
152
(DEBUG: VDD_5VIN, GND, VDD_TGT, SWO)
153
154
USB schalten is overkill, andere Platine.
155
156
* Battery lifetime checks.
157
158
* How long does minutnik-eink run with one charge?
159
** It has to send pings via Uart.
160
** Printing uptime periodically would do the job. -> Avoid power injection?
161
162
h1. Further examples
163
164
* Toggle miniminutnik till eeprom error. Instead of an battery, the 3V connector has to be feeded.
165
Strange setup; PC reads UART output of DUT and controls Awaria via CAN.
166
167
h1. Usecases
168
169
* Reboot until RTC is broken
170
** How to detect problems?
171
*** Device schickt selber commandos ab. Via CAN.
172
** Sobald geraet bootet funtkioniert Seriel auch wieder
173
174
Am einfachsten:
175
176
SWD ist garnicht durchgeroutet
177
Nur UART RX/TX gehen auf eigenen debug anschluss.
178
Ist device off, hat man eine COmmandline von Awaria.
179
Es koennen Programme abgefahren werden wie "peridoc 60 3".
180
Taster On/Off bricht Programm auch ab.
181
Auf dem Host sieht man abwechselnd Statistic und Target Output.
182
Awaria kann auch auf CAN Nachricht warten (I2C problem).
183
SWD doch durchrouten, dann ist flaschen kein Problem.
184
   switch 1: CAN+UART
185
   switch 2: SWDIO, SWCLK, boot, reset
186
187
Battery lifetime checks:
188
* Target gibt periodisch Uptime aus. Awaria schaltet sich peridisch auf
189
* I2C Problem: "expect 63 0x495 0x0": Stop as soon as system state has problems
190
* RTC test: Reboot-count can be send as TDT
191
192
Optionally not switch UART? No usecase.