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

 
 
10 страниц V  « < 4 5 6 7 8 > »   
Reply to this topicStart new topic
> Помогите определиться с камнем, дисплеем и пр.
011119xx
сообщение Dec 6 2011, 04:28
Сообщение #76


Местный
***

Группа: Свой
Сообщений: 381
Регистрация: 5-07-05
Из: Уфа
Пользователь №: 6 544



Исходники конечно же есть ... А может не стоит изобретать велосипед, а присоединиться к существующему проекту?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Dec 6 2011, 07:01
Сообщение #77


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(-=Женек=- @ Dec 6 2011, 06:57) *
Тем более, что камень настолько хитрый что никто ответа на вопрос о подключении нестандартной микросхемы в посте 68 не знает.

Вам пины GPIO расписать что ли? Какая разница, куда цеплять SDRAM, если она не поддерживается все равно?

Цитата(011119xx @ Dec 6 2011, 07:45) *
Так вот при ногодрыганье заполнение экрана ОДНИМ цветом занимает 9 мс. При использовании FSMC гораздо дольше

Насколько дольше, цифру можете привести? В жизни не поверю, что FSMC не может сделать цикл доступа 100нс.

Тормоза можно получить разве что используя для записи отдельные STRH вместо STM.
Go to the top of the page
 
+Quote Post
011119xx
сообщение Dec 6 2011, 07:22
Сообщение #78


Местный
***

Группа: Свой
Сообщений: 381
Регистрация: 5-07-05
Из: Уфа
Пользователь №: 6 544



Цитата(aaarrr @ Dec 6 2011, 12:01) *
Насколько дольше, цифру можете привести? В жизни не поверю, что FSMC не может сделать цикл доступа 100нс.

Тормоза можно получить разве что используя для записи отдельные STRH вместо STM.

Цифры привести к сожалению не могу, но на глаз ощутимо заметна разница (согласен, что это не конструктивный подход). Но вы же не будуте спорить с тем, что FSMC дергает ногой CS (грубо говоря) при каждой передаче? А на это тоже время уходит.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Dec 6 2011, 07:26
Сообщение #79


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(011119xx @ Dec 6 2011, 11:22) *
Но вы же не будуте спорить с тем, что FSMC дергает ногой CS (грубо говоря) при каждой передаче? А на это тоже время уходит.

Не буду. Но времени этого у него вагон - аж 100нс целых.
Go to the top of the page
 
+Quote Post
011119xx
сообщение Dec 6 2011, 07:59
Сообщение #80


Местный
***

Группа: Свой
Сообщений: 381
Регистрация: 5-07-05
Из: Уфа
Пользователь №: 6 544



Можем посчитать. Для диспа 320х240 имеем 76800 пикселей. Столько раз FSMC дернет ногу CS. Допустим дерганье одного раза 100 нс, тогда общее время получаем 7,68 мс. Так это только для CS, а там еще и другие сигналы есть.

Сообщение отредактировал 011119xx - Dec 6 2011, 08:00
Go to the top of the page
 
+Quote Post
ViKo
сообщение Dec 6 2011, 08:01
Сообщение #81


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



У меня STM32F103 работает с контроллером ЖКИ S1D13706, посредством FSMC.
Контроллер довольно медленный, задаю режимы, соответствующие его временным характеристикам.
Код
  FSMC_Bank1->BTCR[6] = 0x00009011; // ASWait,WrEn,WrapDis,FlashAccDis,16-bit,SRAM,NoMux,En
// (8T) дает то же, что и (11T), из-за WAITn
  FSMC_Bank1->BTCR[7] = 0x00000800; // Mode1 0(+1)\_08_____ _/(+1)

Проверял осциллографом. Точно не помню, кажется, весь цикл записи занимает именно 11 тактов, т.е. 153 ns.
Для пересылки пытался задействовать DMA, но, оказалось, программно перекидывать 32-битовые слова (хотя шина 16-битовая) - проще, надежней и, кажется, быстрее. Потому что при DMA шина задействуется еще и для других задач. Особенно поразило, что при работе в отладчике (Keil), процессор вообще улетал в HardFault. А если ту же программу запускать из Flash без отладчика, то не зависал.

Go to the top of the page
 
+Quote Post
011119xx
сообщение Dec 6 2011, 08:16
Сообщение #82


Местный
***

Группа: Свой
Сообщений: 381
Регистрация: 5-07-05
Из: Уфа
Пользователь №: 6 544



Цитата(ViKo @ Dec 6 2011, 13:01) *
Проверял осциллографом. Точно не помню, кажется, весь цикл записи занимает именно 11 тактов, т.е. 153 ns.

Это время записи одного пикселя?
Go to the top of the page
 
+Quote Post
ViKo
сообщение Dec 6 2011, 08:39
Сообщение #83


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(011119xx @ Dec 6 2011, 11:16) *
Это время записи одного пикселя?

Да, одна запись 16-битового слова, хоть пикселя, хоть выборки, хоть символа.
Это время я сам задал приведенными выше командами. Можно сделать намного быстрее, если устройство тянет. Например, для обращения к ОЗУ хватило 5 тактов.
Go to the top of the page
 
+Quote Post
011119xx
сообщение Dec 6 2011, 08:50
Сообщение #84


Местный
***

Группа: Свой
Сообщений: 381
Регистрация: 5-07-05
Из: Уфа
Пользователь №: 6 544



Значит FSMC работает быстрее программного дерганья пинов?
Go to the top of the page
 
+Quote Post
ViKo
сообщение Dec 6 2011, 08:57
Сообщение #85


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(011119xx @ Dec 6 2011, 11:50) *
Значит FSMC работает быстрее программного дерганья пинов?

Никогда в этом не сомневался!
Go to the top of the page
 
+Quote Post
011119xx
сообщение Dec 6 2011, 11:04
Сообщение #86


Местный
***

Группа: Свой
Сообщений: 381
Регистрация: 5-07-05
Из: Уфа
Пользователь №: 6 544



Тогда почему FSMC может тормозить?
Go to the top of the page
 
+Quote Post
ViKo
сообщение Dec 6 2011, 11:39
Сообщение #87


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(011119xx @ Dec 6 2011, 14:04) *
Тогда почему FSMC может тормозить?

Проверьте свои настройки. Посмотрите осциллографом (зациклите программу на записи).
Если работает DMA и программный доступ к внешней памяти одновременно, то они будут делить шину.
Go to the top of the page
 
+Quote Post
-=Женек=-
сообщение Dec 6 2011, 13:21
Сообщение #88


Знающий
****

Группа: Свой
Сообщений: 559
Регистрация: 6-09-06
Пользователь №: 20 131



aaarrr
Цитата
Вам пины GPIO расписать что ли? Какая разница, куда цеплять SDRAM, если она не поддерживается все равно?


При всем уважении к Вам, вы сами себе противоречите:

Цитата(aaarrr)
Цитата(-=Женек=-)
А скажите, адресные линии и линии данных SDRAM цеплять на любой порт? FSCM это потерпит?

Линии адреса и данных должны быть подключены в соответствии с даташитом, и уж точно не на произвольные порты.
Что касается возможного swapping'а, то можно переставлять линии данных в пределах одного октета. Адреса в общем случае трогать нельзя.

ПРошу заранее меня простить, я как человек, не имевший дел с подобным камнем, понимаю все буквально.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Dec 6 2011, 17:56
Сообщение #89


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(-=Женек=- @ Dec 6 2011, 17:21) *
При всем уважении к Вам, вы сами себе противоречите:

Никакого противоречия: в одном случае речь шла о подключении памяти к контроллеру SDRAM (и тут далеко не все равно куда и как), а в другом - о подключении SDRAM к GPIO (тут дело удобства и вкуса).

Просто из первого сообщения трудно было понять, куда и как Вы собирались подключать память. То есть на самом деле вопрос был о том, не помешает ли работе FSMC подключенная к GPIO SDRAM, так?

Если так, то можно подключать как удобно. Извините, если невольно ввел в заблуждение.
Go to the top of the page
 
+Quote Post
-=Женек=-
сообщение Dec 6 2011, 18:14
Сообщение #90


Знающий
****

Группа: Свой
Сообщений: 559
Регистрация: 6-09-06
Пользователь №: 20 131



Цитата
То есть на самом деле вопрос был о том, не помешает ли работе FSMC подключенная к GPIO SDRAM, так?

Если так, то можно подключать как удобно.


Да именно это я и хотел узнать. ТОлько я хотел узнать еще - если у меня линии данных дисплея и линии данных SDRAM сидят на разных пинах, то для прямой передачи данных потребуется DMA - вот я и спрашивал - контроллеру DMA не пофиг, откуда брать данные и куда их пересылать?
Но теперь у меня несколько иной вопрос - вот у нас FSMC - будь он неладен, хоть бы в двух словах понять смысл его работы, а то в даташите деталей на 100 страниц, не разберешся сразу.
Так вот если все таки подключить SDRAM на общую адресную шину, нельзя ли с помощью FSMC выбирать адрес и принимать данные (дабы не переключать пины каждый раз в режим GPIO и обратно), а управляющими ногами управлять с помощью GPIO?

ПОймите, я хочу во-первых использовать SDRAM, во вторых передавать данные из SDRAM в дисплей максимально быстро. А это можно сделать либо использовав одни и те же пины данных для дисплея и памяти, либо использовать DMA.
Как, учитывая это, набиолее рационально подключить SDRAM к камню?
Go to the top of the page
 
+Quote Post

10 страниц V  « < 4 5 6 7 8 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 00:30
Рейтинг@Mail.ru


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