SPI контроллер RTL871x

pvvx

Активный участник сообщества
Описание SPI регистров в RTL871x. Выдрано из Quark-D2000 Intel контролера...
Пишем какие найдены несоответствия - поправлю доки...
 

Вложения

Последнее редактирование:

pvvx

Активный участник сообщества
Не очень ясна ситуация с первыми 3-мя SPI контроллерами. Один точно работает до 41MHz, какие-то другие не могут в slave режиме работать...
Есть ещё расширенный SPI с QIO для Flash 83MHz, но в модулях с RTL8711AF/8710AF он не выведен и идет на flash...
Так-же есть ещё SDIO Device, SDIO Host, I2S и MII контроллеры на борту, которые тоже можно пользовать как SPI...
Все они стандартные и можно найти доки, которые на 90% совпадут по описанию...
 

Seeker

New member
Уточните пожалуйста.
SPI Slave в модуле не умеет работать с постоянным потоком без дрыга CSом после каждых 8/16 бит?
Иначе чтение принятого повреждается значительно, а ответить просто невозможно - всегда летит мусор.
upload_2018-2-24_10-50-49.png
 
Последнее редактирование:

pvvx

Активный участник сообщества
Аппаратный CS в некоторых режимах SPI работает на 16 бит, в некоторых - на весь блок. Описано в документации UM0101 Realtek Ameba-1 peripheral developerment user manual.pdf.
Используйте MODE 1 и 3 для CS на весь блок, а не фрейм в 8/16 бит.

When SCPH = 0 the chip select toggle every frame. If other devices do not accept this setting, you can use another GPIO pin to control CS just toggle at start and stop.

+ https://esp8266.ru/forum/threads/ne-rabotajut-potokovye-operacii-spi0.2328/#post-34115
 
Последнее редактирование:

Seeker

New member
Это для мастера работает. А если RTL слейв, то он не понимает что приходит и ответить нормально не может. Смотрю по осциллографу.
В целом с пофреймовым CS-дрыгом проблема решена.
 
Сверху Снизу