Например TDA7294

Форум РадиоКот • Просмотр темы - Параллельная шина в STM32F4
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Вс июл 06, 2025 04:12:21

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


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Параллельная шина в STM32F4
СообщениеДобавлено: Чт июн 23, 2016 00:07:58 
Встал на лапы
Аватар пользователя

Зарегистрирован: Пн фев 17, 2014 21:39:52
Сообщений: 91
Откуда: Saratov
Рейтинг сообщения: 0
Вообщем, есть такая штука, как российская DDS 1508ПЛ8Т.
Она умеет подключаться к микроконтроллеру либо по SPI, либо по 16-разрядной параллельной шине. Я хочу подключить её через параллельную шину к STM32F427, или к STM32F407.
Конфигурация DDS состоит в записи необходимых данных в регистры DDS.
На рисунке набросал его алгоритм. В двух словах, есть 16-разрядов данных со стандартными стробами чтения (RDn) и записи (WRn), бит выбора кристалла CSn и бит ADR (который определяет, что именно передается, адрес или данные).
Изображение
Запись в регистр DDS происходит в два этапа: сначала в шину записывается адрес интересующего нас регистра, потом записываются данные.
Биты DATA[0..15] подключаются к шине данных микроконтроллера, а бит ADR подключается к одному из битов адреса микроконтроллера (например к биту ADDRESS0). Тогда, если, например, адресное пространство шины отображается на 0x50000000 запись адреса и запись данных будет такое.
Значение 0x50000000 я взял из российского МК, в STM32F4 наверняка оно другое.
Т.е. поставили ADR в 0, и данные на шине - это адрес регистра, поставили ADR в 1, данные с шины идут а регистр, адрес которого мы записали перед этим.

Вообщем, примерно такой вот код.

Код:
(*(volatile uint16_t *)0x50000000) = address;
(*(volatile uint16_t *)0x50000001) = data;


Вопрос вот в чём.
Хочу подключить также к аппаратной внешней шине STM32F407.
Открыл STMCube, выбрал примерно так
Изображение
Верно ли выбрал, что это модуль FSMC?

но в STM32F427 нет FSMC, а есть FMC (который похоже более продвинутый)
Изображение
В нём выбрал, что DDS это SRAM и он предложил использовать такие пины.

Вообщем, хочу спросить совета опытных товарищей: верно ли подключил DDS к STM32F407 и STM32F427, при учёты описанный выше специфики работы? И вообще, заработает ли такая связка (STM32 + 1508ПЛ8)?


Вложения:
Комментарий к файлу: Картинки в хорошем качестве
Documents.rar [674.86 KiB]
Скачиваний: 199

_________________
Я волшебник
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Параллельная шина в STM32F4
СообщениеДобавлено: Чт июн 23, 2016 20:14:47 
Встал на лапы
Аватар пользователя

Зарегистрирован: Пн фев 17, 2014 21:39:52
Сообщений: 91
Откуда: Saratov
Рейтинг сообщения: 0
Вообщем, немного подумал, и пришёл вот к чему. По большому счёту, c этой DDS идет работа, как с обычной статической RAM, только у которой всего два адреса (один для адресов, другой для регистров).
Поэтому, судя по тому, что мне дал гугль, у STM32F407 есть для этих целей FSMC, а в STM32F427 есть FMC. И то, и другое можно использовать для моих целей (по крайней мере я так думаю).
Только в 100-выводных корпусах не выведены младшие биты адреса, но это не проблема, т.к. можно заюзать любой другой бит адреса, благо он нужен лишь один. Поэтому смысл ставить 144-ногую микросхему нет смысла. И если, к примеру, я возьму бит ADDRESS18 (PD13), то код получится примерно такой вот.
Код:
#define ADDRESS (*((volatile uint16_t *) 0x60000000)) // ADR = 0
#define DATA (*((volatile uint16_t *) 0x60040000)) // ADR = 1

/** И тут записываем в DDS что хотим */
ADDRESS = 0x0001;
DATA = 0xFFFF;


Но это надо проверить. На днях попробую сваять франкенштейна из припаянной 1508 к STM32F4Discavery и отпишусь о результатах:)

_________________
Я волшебник


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Параллельная шина в STM32F4
СообщениеДобавлено: Пт июн 24, 2016 19:22:19 
Друг Кота
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1859
Зарегистрирован: Чт сен 12, 2013 00:54:12
Сообщений: 4119
Откуда: ЗаМКАДье. Там, где ЦУП
Рейтинг сообщения: 0
Медали: 5
Получил миской по аватаре (5)
Имеет ли смысл делать такую связку?
Дело в том, что придётся ещё на шину ставить преобразователи уровней, поскольку у 1508ПЛ8Т питание 5V и, соответственно, уровень логической "1" не менее 4V.

----------
ИЗВИНЯЮСЬ!!!!!
Это у 1508ПЛ7 5V.
У 1508ПЛ8Т питание 1,8/3,3V


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Параллельная шина в STM32F4
СообщениеДобавлено: Сб июн 25, 2016 18:54:00 
Встал на лапы
Аватар пользователя

Зарегистрирован: Пн фев 17, 2014 21:39:52
Сообщений: 91
Откуда: Saratov
Рейтинг сообщения: 0
Albert_V писал(а):
Дело в том, что придётся ещё на шину ставить преобразователи уровней, поскольку у 1508ПЛ8Т питание 5V и, соответственно, уровень логической "1" не менее 4V.

Возможно, что вы путаете 1508ПЛ8Т с чем-то другим. У 1508ПЛ8Т всего 4 питания: +3,3В цифровое, +3,3В аналоговое, +1,8В питание вычислительного ядра и +1,8В аналоговое питание ЦАП.
Преобразователи не нужны. Уже реализовывал проекты с ней (только в качестве микроконтроллеров были 1986ВЕ94Т и 1986ВЕ1Т), всё работало без проблем.

На этой неделе не успел спаять франкенштейна STM32+1508ПЛ8Т, если на след недели успею, то отпишусь

P.S. Извиняюсь, сразу не заметил (подумал что это подпись, вчерашнее пиво даёт о себе знать :))) )
Albert_V писал(а):
ИЗВИНЯЮСЬ!!!!!
Это у 1508ПЛ7 5V.
У 1508ПЛ8Т питание 1,8/3,3V

_________________
Я волшебник


Вернуться наверх
 
Выбираем индустриальные и медицинские источники питания MEAN WELL в открытом исполнении

Использование модульных источников питания открытого типа широко распространено в современных устройствах. Присущие им компактность, гибкость в интеграции и высокая эффективность делают их отличным решением для систем промышленной автоматизации, телекоммуникационного оборудования, медицинской техники, устройств «умного дома» и прочих приложений. Рассмотрим подробнее характеристики и особенности трех самых популярных вариантов AC/DC-преобразователей MW открытого типа, подходящих для применения в промышленных устройствах - серий EPS, EPP и RPS представленных на Meanwell.market.

Подробнее>>
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

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


Кто сейчас на форуме

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


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

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y