Wiki » Historie » Version 53
Maximilian Seesslen, 17.12.2024 12:01
1 | 40 | Maximilian Seesslen | [[Schematics]] |
---|---|---|---|
2 | |||
3 | 1 | Maximilian Seesslen | h1. Wiki |
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 | 3 | Maximilian Seesslen | * RTC-offline-test (Wie lange haelt die RTC Batterie) |
10 | 1 | Maximilian Seesslen | |
11 | 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. |
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 | 2 | Maximilian Seesslen | |
14 | An data multiplexer can be used along with a mosfet for power line. |
||
15 | 13 | Maximilian Seesslen | 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 | 2 | Maximilian Seesslen | |
18 | 15 | Maximilian Seesslen | Optionally controll it via USB from PC, not MCU. Optically isolated GPIOs. |
19 | 12 | Maximilian Seesslen | |
20 | 14 | Maximilian Seesslen | 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 | 1 | Maximilian Seesslen | debug connector can cause issues: No debug connection at all. |
24 | 15 | Maximilian Seesslen | FPC with UART only? All signals disconnectable? |
25 | 14 | Maximilian Seesslen | |
26 | 37 | Maximilian Seesslen | 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 | 38 | Maximilian Seesslen | -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 | 39 | Maximilian Seesslen | Flip-Flop for debug routing would be nice. A big button to route the debug port is nice. |
38 | SN74LVC1G80DCKR |
||
39 | 2xUart |
||
40 | 38 | Maximilian Seesslen | 2xSWD |
41 | 1 | Maximilian Seesslen | 2xBoot/Reset |
42 | VDD Target |
||
43 | 39 | Maximilian Seesslen | -Jumperresistor to connect the uart of the DUT to awaria.- |
44 | |||
45 | 24 | Maximilian Seesslen | h1. Usecases |
46 | 1 | Maximilian Seesslen | |
47 | * Devices have their own test-software and ask awaria to perform an power-cycle for them. Result is stored in option Bytes. |
||
48 | 41 | Maximilian Seesslen | ** Because the software is running on DUT, debug can stay routed to DUT. |
49 | |||
50 | 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. |
51 | ** Tester-Firmware on PC is quite generic |
||
52 | 1 | Maximilian Seesslen | ** CAN may not be available yet (CANDis). That was one intention of repeated log code |
53 | 24 | Maximilian Seesslen | ** CANDis may be configured to use USB. No UART output here. USB does also not help then. |
54 | 41 | Maximilian Seesslen | |
55 | 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. |
56 | 24 | Maximilian Seesslen | |
57 | 28 | Maximilian Seesslen | h2. Usecases with products |
58 | 1 | Maximilian Seesslen | |
59 | 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. |
60 | 42 | Maximilian Seesslen | ** How much time can it take till i2c is functional |
61 | ** Is fix working 100%; device will boot 100 times |
||
62 | 36 | Maximilian Seesslen | |
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 | 53 | Maximilian Seesslen | ** How much time can it take till spi is functional |
65 | 42 | Maximilian Seesslen | ** Is fix working 100%; device will boot 100 times |
66 | 36 | Maximilian Seesslen | |
67 | 1 | Maximilian Seesslen | * CANDis; measure RTC durability |
68 | 46 | Maximilian Seesslen | ** Can be done via Awaria in case the test has to run over months |
69 | 43 | Maximilian Seesslen | |
70 | 1 | Maximilian Seesslen | * CANSwitch; check I2C-EEPROM-Config reliability |
71 | 36 | Maximilian Seesslen | |
72 | * Long time boot tests |
||
73 | 43 | Maximilian Seesslen | |
74 | * Miniminutnik |
||
75 | ** redirected Uart would make sense here |
||
76 | 25 | Maximilian Seesslen | |
77 | 28 | Maximilian Seesslen | 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 | 25 | Maximilian Seesslen | |
82 | 2 | Maximilian Seesslen | h1. Parts |
83 | |||
84 | * MCU: The smallest thing |
||
85 | 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 |
86 | 3 | Maximilian Seesslen | ** MC14551BDG bis zu 1K RON: 1050 |
87 | ** TS5A23166DCUR cool, 2 channels, up to 100mA, 1,8-6,5V |
||
88 | 6 | Maximilian Seesslen | ** Habe: |
89 | 7 | Maximilian Seesslen | *** DG408LEDQ-T1-GE3; .#273; 1:8 |
90 | 20 | Maximilian Seesslen | *** DG409LEDQ-T1-GE3; .#321; 2x 1:4 |
91 | 8 | Maximilian Seesslen | *** ADG736; .#315; 2x1:2 |
92 | 20 | Maximilian Seesslen | *** *RS2102XN ADG836YRMZ* Das ist er; 2x |
93 | 21 | Maximilian Seesslen | ** MAX4760; 8 Channels; Paarweise schalten |
94 | ** TMUX1574 4xSPDT; 1 Schalter |
||
95 | ** PI5C3257QE; 4xSPDT; 1 Schalter; 0.229€ |
||
96 | 6 | Maximilian Seesslen | |
97 | 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. |
98 | 4 | Maximilian Seesslen | |
99 | Spannungs/Strom zu umstaendlich. |
||
100 | 10 | Maximilian Seesslen | |
101 | 35 | 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 |
102 | |||
103 | 10 | Maximilian Seesslen | h1. RTC-Tests |
104 | |||
105 | Can have a region in SPI-Flash. |
||
106 | 11 | Maximilian Seesslen | If the Settings are not ok, just have an terminal. |
107 | The test can only be started from terminal. |
||
108 | rebootTest <startTime> |
||
109 | |||
110 | 10 | Maximilian Seesslen | Start. |
111 | * Cut 2 Seconds. Time OK? |
||
112 | * Cut 4 Seconds. Time OK? |
||
113 | 1 | Maximilian Seesslen | * Cut 8 Seconds. Time OK? |
114 | 11 | Maximilian Seesslen | |
115 | When it fails, "destroy" test-config in spi flash |
||
116 | 12 | Maximilian Seesslen | |
117 | 48 | Maximilian Seesslen | h1. Off-Desk tests |
118 | |||
119 | * Awaria can toggle an CANDis till RTC is not valid any more. |
||
120 | * The test could run for month |
||
121 | * An eeprom is enough to store the result. The device can be connected to PC and data can be read via UART or CAN. |
||
122 | * 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. |
||
123 | * Progress LEDs needed |
||
124 | * This is the 99,9% solution. |
||
125 | * 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. |
||
126 | 49 | Maximilian Seesslen | * |
127 | 48 | Maximilian Seesslen | |
128 | 12 | Maximilian Seesslen | h1. Connectors |
129 | |||
130 | * CANBus-In |
||
131 | * CANBus.Out |
||
132 | 45 | Maximilian Seesslen | * -Power in, 5V, 3V- |
133 | 31 | Maximilian Seesslen | * Power out, 5V, 3V |
134 | 17 | Maximilian Seesslen | * -USB PC to MCU- |
135 | 1 | Maximilian Seesslen | * -USB PC to DUT- |
136 | 45 | Maximilian Seesslen | * Debug in |
137 | * Debug out |
||
138 | 17 | Maximilian Seesslen | |
139 | Debug, CAN, power only? |
||
140 | 18 | Maximilian Seesslen | CAN-Geraete koennten auch standalone laufen, Testsoftware auf PC. |
141 | |||
142 | 2x Uart |
||
143 | 2x SWD |
||
144 | 1x Reset |
||
145 | 19 | Maximilian Seesslen | 1x Boot0 |
146 | 2x CAN |
||
147 | 22 | Maximilian Seesslen | (DEBUG: VDD_5VIN, GND, VDD_TGT, SWO) |
148 | 23 | Maximilian Seesslen | |
149 | USB schalten is overkill, andere Platine. |
||
150 | 47 | Maximilian Seesslen | |
151 | * Battery lifetime checks. |
||
152 | |||
153 | 1 | Maximilian Seesslen | * How long does minutnik-eink run with one charge? |
154 | 47 | Maximilian Seesslen | ** It has to send pings via Uart. |
155 | 51 | Maximilian Seesslen | ** Printing uptime periodically would do the job. -> Avoid power injection? |
156 | 52 | Maximilian Seesslen | |
157 | h1. Further examples |
||
158 | |||
159 | * Toggle miniminutnik till eeprom error. Instead of an battery, the 3V connector has to be feeded. |
||
160 | Strange setup; PC reads UART output of DUT and controls Awaria via CAN. |