|
|
  |
Помогите определиться с камнем, дисплеем и пр. |
|
|
|
Dec 6 2011, 07:01
|
Гуру
     
Группа: Свой
Сообщений: 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.
|
|
|
|
|
Dec 6 2011, 08:01
|

Универсальный солдатик
     
Группа: Модераторы
Сообщений: 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 без отладчика, то не зависал.
|
|
|
|
|
Dec 6 2011, 13:21
|
Знающий
   
Группа: Свой
Сообщений: 559
Регистрация: 6-09-06
Пользователь №: 20 131

|
aaarrr Цитата Вам пины GPIO расписать что ли? Какая разница, куда цеплять SDRAM, если она не поддерживается все равно? При всем уважении к Вам, вы сами себе противоречите: Цитата(aaarrr) Цитата(-=Женек=-) А скажите, адресные линии и линии данных SDRAM цеплять на любой порт? FSCM это потерпит? Линии адреса и данных должны быть подключены в соответствии с даташитом, и уж точно не на произвольные порты. Что касается возможного swapping'а, то можно переставлять линии данных в пределах одного октета. Адреса в общем случае трогать нельзя. ПРошу заранее меня простить, я как человек, не имевший дел с подобным камнем, понимаю все буквально.
|
|
|
|
|
Dec 6 2011, 18:14
|
Знающий
   
Группа: Свой
Сообщений: 559
Регистрация: 6-09-06
Пользователь №: 20 131

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