Hi,
your ADC: 12 bit, 3MS/s
STM internal ADC: 12 bit 3MS/s
--> I don´t see the benefit.
*****
1) SPI is multiples of 8 bit. So if you want to transmit 16 bit, you usually just send 2 x 8bits.
But I think the STM32 allowes you to use 16 bit access. This may be a benefit with using your ADCm but at the same time it may cause incompatibilities with 8 bit devices on the bus.
2) Fig 37 does not give timing relations. You need to check Fig1 and Fig2.
see:
https://en.wikipedia.org/wiki/Serial_Peripheral_Interface
It should be Mode0 compatible.
3) Two differnet things:
* ADC SPI SCK frequency is 60MHz max --> set less than 60MHz STM32 SPI clock frequency / baud rate
* ADC data rate / sampling rate is 3MHz max.... this is the /CS frequency. Start a conversion ( falling edge of CS) with a frequency of less than 3MHz.
4) STM32 usually is able to generate CS automatically.
Alternatively you may use a GPIO. For a constant sampling rate:
* use a pulse generating mode (PWM hardware) and synchronize SPI transfer with it.
* or use a counter interrupt
5) 16 bits are transferred. 12 bits ADC data.
You may sihf the data for right or left alignment.
But you may also use it as it is and include this in the math ... for example when multiplying the ADC value to get volts.
Klaus