mck1117 / atlas

2 stars 1 forks source link

Communication Interfaces #15

Open kjngineering opened 3 years ago

kjngineering commented 3 years ago

1x USB - supports composite profile (config serial/Mass Storage - SD) 1x Universal Serial (RS232/LIN) - Could be used to receive GPS data or drive LIN devices (Alternator/Wipers)? 2x CAN2.0A 1x CANFD (5mbit-8mbit Xcvr) - now "common" in OEM 1x Ethernet (all the STM32 we are looking at now has this hardware) - is also now common in "OEM" could consider Two-Wire Ethernet. Could be good for config, file download or device comms/hacking.

mck1117 commented 3 years ago

1x CANFD

STM32F4/F7 can't do CANFD, only H7 (and G4)

1x Ethernet

It's not clear how much overhead this would incur - we don't have the luxury of a multi-core cpu or fpga, so the comms share a cpu with running the engine.

mck1117 commented 3 years ago

Two-Wire Ethernet

a what?

kjngineering commented 3 years ago

If there is no cost overhead then surely H7 is the logical choice? Can FD, lots of ram and flash, good peripheral set to support this sort of stuff?

H747 is also dual core so has a M4 along for the ride (if you wanted a co-processor in the same architecture we currently use) in a 208 pin LQFP.

kjngineering commented 3 years ago

Two-Wire Ethernet

a what?

SPE (single pair ethernet) is a newish 10Mbit standard. https://www.pulseelectronics.com/single-twisted-pair-ethernet-automotive/

I know little about it other than I saw some automotive connector standards for it recently.

mck1117 commented 3 years ago

The cost is a wash with the H7, but there is a catch.

The way we have the ADCs configured currently: ADC1 -> slow stuff ADC2 -> phase-aligned sampling for the MAP sensor ADC3 -> knock (and maybe some debug modes that are mutually exclusive with knock, like an oscilloscope for the VR sensor)

The H7 also has 3 ADCs, but ADC1 and 2 are tightly tied together, so you can't operate them independently.

Right now, that means that we get no phase-aligned MAP sampling on H7. My V8 Volvo, the only car running on H7 that I know of, doesn't mind that too much, since it has a large intake manifold volume. A smaller manifold or ITBs would care much much more about exactly when the MAP is sampled.

mck1117 commented 3 years ago

The H7 also has 3 ADCs, but ADC1 and 2 are tightly tied together, so you can't operate them independently.

Some napkin math suggests we may actually be able to sample EVERY CHANNEL at the fast 10khz by using ADC1+ADC2 at the same time, each sampling half the channels, which means we could do phase-aligned MAP sampling on H7.

kjngineering commented 2 years ago

MCP2003 seems to implement LIN pretty easily from a UART. I've run into a few switches and lamps that are LIN controlled now.