Skip to content

Conversation

@Alex-Walsh
Copy link
Contributor

No description provided.

ethanmpeterson and others added 30 commits January 2, 2023 15:28
Initially, I was going to try RapidHarness but the projects are limited
to 30 connections. Altium is adding a harness design feature as well so
I thought I would start with this project and transition over if we can
get full access.
@ethanmpeterson
Copy link
Member

STM32.SchDoc

  • It is nice that much of this can carry over from prior work. I am going to focus on the parts you have added as the oscillator circuit, bootmode, bypass caps etc is validated by PMBoard and steering.

  • Designators for all subsheets!

  • This is a matter of opinion to some extent but I think you could move the CAN transceivers up to the top level and feed them right into the connectors page. I don't know if it flows as well have to take the CAN diff pairs up two sheet levels. Might as well bring the transceivers to the top level so that there is no backtracking. Not sure if this made sense. Can discuss further offline.

  • The IMU on the other hand makes sense to have as it does not have any external connections. Easy to leave it nested with the STM32.
    image

  • This red dotted line means there is a naming error. It is saying the net has only one pin. Be sure your port and net names match up here.
    image

  • Looks good otherwise. One thing you MUST do before fab is feeding all these pin assignments into the STM32 CUBE MX tool. This will let you assign the pins as you have them on your board and verify that it is valid config. Ie the CAN buses can be remapped to the pins you want and in the mode you want. Same goes for the GPIO and SPI etc. The software can confirm that there are no internal limitations in the chip that prevent this config. The reason for this is that some peripherals are shared but can be mapped to different groups of pins. The internal multiplexers do not cover every permutation so it is good to verify.

@ethanmpeterson
Copy link
Member

IMU.SchDoc

  • Would consider pasting in the application circuit from the datasheet on the schematic page for reference
    image

  • This can be cleaned up

  • Make one 3V3 connection. Place the caps directly next to one another. Much more readable. Just remember to follow any layout guidelines on capacitor placement.
    image

  • I agree that SPI will probably be easier to debug and work with rather than I2C. I have used these ICM IMUs and they can be annoying to write drivers for.

  • The ports are swapped I believe SDI is going to SDO. As a cheatsheet

    • SDO = Serial Data Out which is connected to MISO on the STM
    • SDI = Serial Data In which is connected to MOSI on the STM.
  • You should also consider capitalizing the port names. Just to be consistent with the rest of the design.
    image

Fix the wire swap and it should work!

@ethanmpeterson
Copy link
Member

CAN.SchDoc

  • Nothing to say here. Termination switch mistake is addressed. Looks good to me.
  • Maybe add a note for layout to indicate which switch position enables bus termination in silk screen

@ethanmpeterson
Copy link
Member

ethanmpeterson commented Jun 17, 2023

Connectors.SchDoc

  • Seems reasonable overall. Not sure if a dedicated page is really needed.
  • You should consider adding some capacitors on the 12 V connectors. Bulk caps are good to smooth things out off the battery, Also consider adding a TVS diode.
  • It would be ideal to have some kind of protection at this point too since blowing up an ecu with a backwards connection would be expensive. You could have a load switch whose enable line is pulled VBATT. That would ensure a correct hookup.
  • Before the load switch itself, you could also have an overvoltage protection PMIC. This stuff is best practice but optional. Bare minimum is some capacitance and TVS diode.
  • I would use a set of 22uF ceramic caps in parallel for minimal ESR.

@ethanmpeterson
Copy link
Member

ethanmpeterson commented Jun 17, 2023

5VBulkhead.SchDoc

  • Add designators. Lookup altium auto annotate. I would just reset all the designators and let altium auto label. Will prevent weirdness like this.
    image

  • Also the 5V load switch has a fault output, we should use it.

  • Make it a port and then tie them all together in the bulk head schematic with just 1 100kOhm pullup. Then connect it to a GPIO input on the micro. You can use this as an interrupt to know when the switch faulted and cut power.
    image

  • Noted earlier, but the shift register interface should certainly include control for the reset and output enable lines as well as base SPI.

@ethanmpeterson
Copy link
Member

shiftRegister.SchDoc

  • Dead short between 5V and ground. MUST FIX, will cause the MAGIC SMOKE
    image

  • Also include a bypass capacitor 0.1uF at the power input. of the shift register.

@ethanmpeterson
Copy link
Member

ethanmpeterson commented Jun 17, 2023

Debugger.SchDoc

  • Cut and paste from the ol PCB design. No major things i see.

  • This deisgn did not use the celestial lib so you will have headaches generating a bom. I did that board w JLCPCB. If it causes problems getting fab outputs you may be better off just keep debug separate but see how it goes.

  • Power page is a little redundant but it is easiest to leave as is. Maybe instead of calling the output rail VCC3V3 for the debugger regulator say VCC3V3DBG or something to separate from the power domain of the rest of the board. a nice knock on effect here is that your laptop gets a bit of protection from not being tied directly to to the rest of the board when connected via USB.

  • change the output net here and in the rest of the debugger schematics
    image

  • Also add status LEDs to the other power rails this is useful.

@ethanmpeterson
Copy link
Member

DebuggerConnectors.SchDoc

  • add a ground return to the UART header

image

@ethanmpeterson
Copy link
Member

ethanmpeterson commented Jun 17, 2023

12V_LS.SchDoc

  • instead of pulling up the PG pin of the switch in this schematic directly, make the PG pin a port. Tie it all together in the bulkhead page with one pullup to 3V3 and connect to the STM32. Another means of fault detection on your 12 V lines.
  • Add capacitors to the input output supply lines. Also add bypass caps to 3.3V VCC pin. Datasheet should have some suggestions, I forget exact numbers.
  • And to answer your question yes you can ground EPAD.

@ethanmpeterson
Copy link
Member

12 V Bulkhead

  • Add the PGOOD signal wiring discussed above

@ethanmpeterson
Copy link
Member

Single 12 V

  • Don't think this page needs to exist. Would just put the Load switch sheet entry and connector directly in TOP.SchDoc.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants