Миландр

Ключевым подразделением нашей компании
является Центр Проектирования интегральных микросхем
Текущее время: 2019-апр-21 17:33

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 244 ]  На страницу Пред.  1 ... 13, 14, 15, 16, 17
Автор Сообщение
СообщениеДобавлено: 2019-мар-28 20:27 
Не в сети

Зарегистрирован: 2018-ноя-15 07:56
Сообщения: 8
Столкнулись с такой ситуацией, при использовании микросхемы в режиме Coord_resolution = 0 формируем посылку SPI в виде:
2р(квадрант)+16р(угол). = 18 разрядов данных.
Когда проходим границу 360->0 градусов, видим в данных значения из квадрантов 1 и 2, хотя переход 360->0 должен включать значения только из квадрантов 0 и 3.
Открыть
Изображение
Закрыть

Данные семплируются
MODE_InitStructure.Sample_src=2;
В цикле 2 мс, перед посылкой SPI идет формирование сигнала семпла, потом чтение регистров координаты и статуса:

PORT_ResetBits(MDR_PORTA, PORT_Pin_0); //сигнал SAMPLE в «0»
delay_us(1); //фактически 1,5 мкс
PORT_SetBits(MDR_PORTA, PORT_Pin_0); //сигнал SAMPLE в «1»

REG_1310_GetData16(ADR_C1Coord, &Coord_1_Array[0]); //читаем угол
REG_1310_Get_CxStat(ADR_C1Stat,&DATA1); //читаем статус, выделяем биты квадранта…

Как будто защелкиваются данные из разных циклов расчета или не защелкиваются вообще. А если даже из разных, то почему появляются квадранты 1 и 2?
Синхросигнал EXI стабилен.
Подскажите, куда копать чтобы исправить работу.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2019-мар-29 09:33 
Не в сети

Зарегистрирован: 2009-июл-21 14:13
Сообщения: 1264
Откуда: Тула
С сигналом SAMPLE были какие-то глюки - поищите по форуму. Вероятно это никак не относится к Вашей проблеме (емнип, устанавливался бит внутренней ошибки ECC_err или типа того), но всяко может быть.
UPD: вот, три страницы назад viewtopic.php?p=22831#p22831

_________________
сочувствующий…


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2019-мар-29 18:28 
Не в сети

Зарегистрирован: 2018-ноя-15 07:56
Сообщения: 8
Ошибку ECC_err не читал, игнорируем программно. Тут больше даже вопрос к тому, откуда появляются квадранты 1 и 2 в данных, если переход 360-0 находится в квадрантах 0 и 3 ?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2019-апр-01 11:40 
Не в сети

Зарегистрирован: 2015-фев-24 19:17
Сообщения: 85
Откуда: АО "ПКК Миландр"
Действительно, есть такая проблема с битами квадрантов. Защелкиваются в регистр не одинаково с C_Coord. Будем исправлять, в еррату запишем. По обходу ситуации могу только предложить повторное сэмплирование и считывание регистров, на основе предыдущего значения.

Как получаются квадранты 1 и 2 - до конца не ясно. Предположу, что мы тут наблюдаем все же значения 0x3FFFF (262143), 0x30000 (196608), 0x0FFFF (65535), 0x0000 (0).


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 244 ]  На страницу Пред.  1 ... 13, 14, 15, 16, 17

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB