реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Передать 16 бит на 8-битный SPI, 16-битный датчик и 8-битный контроллер
peotr
сообщение Jan 30 2015, 04:13
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 85
Регистрация: 12-08-05
Пользователь №: 7 587



Здравствуйте!
Можно ли решить проблему связи 16-битного SPI датчика (ADIS16210) с 8-битным SPI ADuC845?
Спасибо.
Go to the top of the page
 
+Quote Post
scifi
сообщение Jan 30 2015, 07:42
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(peotr @ Jan 30 2015, 07:13) *
Здравствуйте!
Можно ли решить проблему связи 16-битного SPI датчика (ADIS16210) с 8-битным SPI ADuC845?
Спасибо.

Можно.
Go to the top of the page
 
+Quote Post
peotr
сообщение Jan 30 2015, 09:11
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 85
Регистрация: 12-08-05
Пользователь №: 7 587



Цитата(scifi @ Jan 30 2015, 10:42) *
Можно.

Спасибо.
Go to the top of the page
 
+Quote Post
Xenia
сообщение Jan 30 2015, 09:53
Сообщение #4


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(peotr @ Jan 30 2015, 07:13) *
Можно ли решить проблему связи 16-битного SPI датчика (ADIS16210) с 8-битным SPI ADuC845?


А что, заменить одну 16-разрядную посылку на две последовательные 8-разрядные нельзя?

Например, у меня 24-разрядный АЦП, но тоже по SPI. Вот и приходится целых 4 раза обмен запускать, пока всё число не прочту. Да вроде бы и все так поступают в подобных случаях.
Go to the top of the page
 
+Quote Post
peotr
сообщение Jan 30 2015, 10:47
Сообщение #5


Частый гость
**

Группа: Участник
Сообщений: 85
Регистрация: 12-08-05
Пользователь №: 7 587



Цитата(Xenia @ Jan 30 2015, 12:53) *
А что, заменить одну 16-разрядную посылку на две последовательные 8-разрядные нельзя?

Например, у меня 24-разрядный АЦП, но тоже по SPI. Вот и приходится целых 4 раза обмен запускать, пока всё число не прочту. Да вроде бы и все так поступают в подобных случаях.



У меня датчик с 16-ти битным SPI. Думаю, если дважды запустить SPI, то дважды получу по 8 старших разрядов, поскольку работа будет ВОЗОБНОВЛЯТЬСЯ. Вертится идея: не поднимая /SS, считать, а потом сделать мнимую запись в SPIDAT для повторной связи, может, в этом случае удастся дополучить второй байт? Не обладаю опытом в этом вопросе.

Сообщение отредактировал peotr - Jan 30 2015, 10:49
Go to the top of the page
 
+Quote Post
A. Fig Lee
сообщение Jan 30 2015, 12:12
Сообщение #6


Знающий
****

Группа: Участник
Сообщений: 974
Регистрация: 4-04-08
Из: далека
Пользователь №: 36 467



Цитата(peotr @ Jan 30 2015, 05:47) *
У меня датчик с 16-ти битным SPI. Думаю, если дважды запустить SPI, то дважды получу по 8 старших разрядов, поскольку работа будет ВОЗОБНОВЛЯТЬСЯ. Вертится идея: не поднимая /SS, считать, а потом сделать мнимую запись в SPIDAT для повторной связи, может, в этом случае удастся дополучить второй байт? Не обладаю опытом в этом вопросе.

Это не идея, это так и делают. Считать первый байт ведь тоже надо байт записать на выдачу.


--------------------
Верить нельзя никому, даже себе. Мне - можно.
Go to the top of the page
 
+Quote Post
peotr
сообщение Jan 30 2015, 12:33
Сообщение #7


Частый гость
**

Группа: Участник
Сообщений: 85
Регистрация: 12-08-05
Пользователь №: 7 587



Цитата(A. Fig Lee @ Jan 30 2015, 15:12) *
Это не идея, это так и делают. Считать первый байт ведь тоже надо байт записать на выдачу.


Спасибо, буду так и делать.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 15th June 2025 - 21:30
Рейтинг@Mail.ru


Страница сгенерированна за 0.01465 секунд с 7
ELECTRONIX ©2004-2016