Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: TDC-GP2 помогите!
Форум разработчиков электроники ELECTRONIX.ru > Аналоговая и цифровая техника, прикладная электроника > Метрология, датчики, измерительная техника
pashok
Помогите начинающему, которому партия сказала "надо", поэтому вопрос из серии "с чего начать?" help.gif . Нужно запустить ВЦП TDC-GP2, чтобы по сигналу "старт" начинал отсчитывать время, по сигналу "стоп" переставал и вываливал результат через имеющийся SPI. Вопрос в том, как отконфигурировать регистры и откалибровать саму микруху? В даташите приведены примеры конфигурации, но каким образом их отправлять в микруху непонятно.
keeper™
Цитата(pashok @ Feb 24 2007, 17:22) *
Помогите начинающему, которому партия сказала "надо", поэтому вопрос из серии "с чего начать?" help.gif . Нужно запустить ВЦП TDC-GP2, чтобы по сигналу "старт" начинал отсчитывать время, по сигналу "стоп" переставал и вываливал результат через имеющийся SPI. Вопрос в том, как отконфигурировать регистры и откалибровать саму микруху? В даташите приведены примеры конфигурации, но каким образом их отправлять в микруху непонятно.



В чем собственно проблема? Запись в регистры через тот же SPI, сначала шлется команда записи в регистр, например в нулевой: 0х10000000 и тут же следом необходимые 24 бита конфигурации.
mvfe
Поделитесь кусочком кода чтения/записи регистров, пожалуйста.
Например, самое простое, для проверки связи с TDC - отправляем 8 бит 0xB5. Вопрос: т.к. 0xB5 это опкод, нужно ли отправлять еще 3 посылки по 8 бит заполненных нулями?, SSN при этом всегда в активном состоянии. И как читать ответные данные? через некоторое время? или они одаются как положено-одновременно?
keeper™
Цитата(mvfe @ Jul 8 2007, 00:44) *
Вопрос: т.к. 0xB5 это опкод, нужно ли отправлять еще 3 посылки по 8 бит заполненных нулями?


Нет, зачем?! Главное чтоб SSN оставался в нуле, сразу после завершения отправки ОПКОДА (0xB5 например), через 20 нс ТДЦ начинает отправку запрошеннного регистра (прийдет 8 бит тестового пятого регистра).
mvfe
Цитата(keeper™ @ Jul 13 2007, 11:14) *
... через 20 нс ТДЦ начинает отправку запрошеннного регистра (прийдет 8 бит тестового пятого регистра).


а эти 20 нс критичны? ведь без синхроимпульсов c мастера, tdc ничего передавать не будет... или будет?
Пятый ли регистр? в даташите написано старшие восемь бит первого регистра (01010101).

сейчас как делаю:

частота spi 24 МГц (ставил и 12 МГц)

1. сброс по RSTN;
2. низкий SSN, сброс, передачей по spi 0x50;
3. выставляю высокий SSN;
4. низкий SSN, передаю 0xB5;
5. передаю 0x00, смотрю что пришло в этотже момент (чтоб что-то прочитать нужно передать);
6. выставляю высокий SSN.

В итоге 0x00 в регистре приемника.
Пробовал для начала регистры записать, тоже по нулям ответы.

Тайминги на прием и передачу выставлял такие как в даташите.

Что я не так делаю?

Еще странность для себя заметил, на выводе INTN появляется напряжение 1.6 В, после записи первого регистра.
keeper™
Цитата(mvfe @ Jul 15 2007, 17:26) *
а эти 20 нс критичны? ведь без синхроимпульсов c мастера, tdc ничего передавать не будет... или будет?


Это минимальное время, конешно без синхроимпульсов передачи никакой не будет

Цитата(mvfe @ Jul 15 2007, 17:26) *
Пятый ли регистр? в даташите написано старшие восемь бит первого регистра (01010101).


Это одно и тоже smile.gif

Цитата(mvfe @ Jul 15 2007, 17:26) *
Что я не так делаю?


Из написанного вроде все правильно. Ошибка может быть в настройках SPI, либо неправильном приеме на контроллере. Засинхронизируйтесь от сихнроимпульсов и посмотрите идет ли что-нибудь на вход SPI контроллера.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.