replacing crystal with TCXO

I think that would work.

I would choose to do something like this:

void DS3234::_read_raw (void)
{
	uint8_t x = 7;

        digitalWrite (_ss_pin, LOW);
        _spi_transfer(0);			// time registers: addr 0-6
	while (x--) {
		*(_buffer + x) = _spi_transfer(0);
	}
        digitalWrite(_ss_pin, HIGH);
}