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. |