Projekt

Allgemein

Profil

Wiki » Historie » Version 59

Maximilian Seesslen, 07.10.2025 14:54

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