Как рассчитать частоту дискретизации внешнего АЦП?
Мне интересно, сможет ли кто-нибудь объяснить мне это.
Я хочу рассчитать частоту дискретизации внешнего АЦП. Я использую ADS8320 с максимальной частотой дискретизации 100 кГц с Arduino MEGA 2560. Делитель SPI установлен на 128, что делает частоту SPI 125 кГц. Скорость передачи данных составляет 115200 бод (не уверен, важно ли это).
Спасибо большое!
@4everUnitedFan, 👍1
2 ответа
Легко.
Основываясь на ваших настройках, определите скорость SPI.
Взгляните в техническое описание АЦП и определите его кадр передачи. То есть, количество импульсов на кадр/выборку.
Произведение чисел 1 и 2 даёт минимальное время на кадр. Обратное ему значение — максимальная скорость передачи данных в вашем приложении. Эта скорость ограничена максимальной частотой дискретизации устройства (100 кбит/с).
Ваша фактическая частота дискретизации будет зависеть от конкретного приложения, но она не должна превышать значение, полученное в пункте 3.
Возможно, вам придётся учитывать и другие требования к синхронизации, поэтому внимательно прочтите техническое описание. Но суть та же.
Чтобы получить представление о частоте дискретизации, напишите цикл, который выполняет 10 000 измерений, и засеките время. У вас есть частота дискретизации, не идеальная, но она даёт некоторое представление.
long start = millis();
// цикл
Serial.print( 10000000/(millis() - start) );
Serial.println(" samples per second");
- Как использовать SPI на Arduino?
- Путаница между SPI и I2C для SSD1306 OLED
- Неправильная документация для выводов Mega2560 SPI?
- Взаимодействие с датчиком SSI?
- Высокоскоростной внешний АЦП
- HX711 - Несогласованные показания
- Arduino/ESP8266 нет данных SPI, поступающих от MCP3008
- Ответ нескольких ведомых устройств (Arduino Mega 2560) через SPI