Взаимодействие медленного устройства с микроконтроллером MCF5270 - PullRequest
2 голосов
/ 21 июля 2009

Я ищу способы сопряжения медленного устройства (АЦП - ~ 1,2 МГц) с моим микроконтроллером mcf5270, который является довольно быстрым (~ 150 МГц). Я использую ADC0817 и пробовал следующее: GPIO считывал строки данных, отображал доступ к памяти (поскольку adc совместим с uP).

Когда отображается как место в памяти, я использую максимальные состояния ожидания (15 Вт, что составляет около 107 нс). Mcf5270 не поддерживает дальнейшее ожидание без использования модели шины (которую не поддерживают ADC).

При использовании GPIO считываются только ненужные значения.

Примечание. АЦП фактически работает, и кроме чтения данных интерфейс к нему функционален. Я использую C / C ++ и сборку.

Короче говоря, я ищу предложения о том, как попытаться прочитать данные с ADC0817.

Комментарии и ответы приветствуются.

Ответы [ 3 ]

1 голос
/ 21 июля 2009

Вы можете запустить АЦП через некоторый GPIO, сделать соответствующее количество NOP и затем прочитать значение. Кроме того, вам нужно отключить прерывания при этом.

0 голосов
/ 24 июля 2009

Я думаю, что из того, что он говорит, MMIO не будет работать, потому что ему понадобится больше, чем максимальное количество состояний ожидания на шине, чтобы получить ответную логику клея - то есть, A / D не будет устанавливать свои выводы на шине достаточно для ОК, чтобы быть счастливым. Иногда это проблема.

Но подход GPIO должен работать. Если читаются ненужные значения, я предполагаю, что вы не следуете предоставленной временной диаграмме. Вам нужно будет подождать определенное количество времени после того, как вы подадите сигнал о прочтении, прежде чем данные будут действительными. Проверьте спецификацию для деталей.

0 голосов
/ 21 июля 2009

Я думаю, что отображенная память должна работать - обычно я буду ждать прерывания от АЦП, а затем читать байт по указанному адресу. Поскольку вы получаете прерывание, не требуется состояние ожидания. Я что-то пропустил? GPIO также должен работать. Как вы знаете, АЦП работает? Можете ли вы поставить логический анализатор данных и прерывания, чтобы убедиться, что АЦП выдает правильный вывод?

...