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

 
 
> AT91SAM9G45, SMC: Asynchronous Page Mode read, контроллер не поддерживает заявленный режим
vugluskr
сообщение Nov 9 2010, 20:31
Сообщение #1


High speed digital design
***

Группа: Свой
Сообщений: 413
Регистрация: 6-10-09
Пользователь №: 52 786



Конфигурация платы:
МК AT91SAM9G45 подключен к FPGA (Xilinx Spartan-6) к шине EBI1, связб осуществляется через SMC. На ФПГА заведены сигналы:
EBI1_A[25..1]
EBI1_DATA[15..0]
EBI1_NCS2
EBI1_NWE
EBI1_NRD
Пишет/читает нормально. Но вот заявленный режим Asynchronous Page Mode не поддерживается (см. документ doc6438.pdf page218).
Конфигурация контрольного регистра для CS2
Код
    AT91C_BASE_SMC->SMC_CTRL2  = (        AT91C_SMC_NWAITM_NWAIT_DISABLE
                                                              | AT91C_SMC_TDFEN
                                                                  | ((0x1 << 16) & AT91C_SMC_TDF)
                                  | AT91C_SMC_DBW_WIDTH_SIXTEEN_BITS
                                  | AT91C_SMC_PMEN
                                  | (0x3 << 28));//32 bytes burst READ


В поле PS данного регистра (биты 29..28) задается режим бурст чтения по 4, 8, 16, 32 байта. Соответственно на 16 битной шине это должно соответствовать 2,4,8,16 транзакциям чтения (смене адреса). Реальноже работает только PS = 0x0/0x1. Если задавать 0x2/0x3 - производится только 8 транзакций чтения.
На рисунке сигналы с шины, ловим ЧипСкопом внутри ФПГА, режим контроллера - считываем 32 байта (т.е. 16 транзакций):


соответствие сигналов на рисунке сигналам на шине процессора:
EBI1_A - addr
EBI1_DATA - bus_data
EBI1_NCS2 - bus_cs2
EBI1_NWE - bus_nwe
EBI1_NRD - bus_nrd

Это я что-то делаю не так или действительно что-то с контроллером

p.s. у меня не ES, а нормальная версия микроконтроллера


--------------------
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 8)
MrAlex
сообщение Nov 15 2010, 15:18
Сообщение #2


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

Группа: Свой
Сообщений: 197
Регистрация: 15-10-10
Из: г. Москва
Пользователь №: 60 179



Читаете по полстраницы, поэтому и 8 транзакций.
Go to the top of the page
 
+Quote Post
vugluskr
сообщение Nov 15 2010, 20:13
Сообщение #3


High speed digital design
***

Группа: Свой
Сообщений: 413
Регистрация: 6-10-09
Пользователь №: 52 786



Цитата(MrAlex @ Nov 15 2010, 18:18) *
Читаете по полстраницы, поэтому и 8 транзакций.


я пробовал читать и по 10 страниц - картина не меняется, или Вы хотите сказать, что
Код
memcpy(tmp,FPGA_CS2,64);

это пол страницы?


--------------------
Go to the top of the page
 
+Quote Post
MrAlex
сообщение Nov 16 2010, 06:14
Сообщение #4


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

Группа: Свой
Сообщений: 197
Регистрация: 15-10-10
Из: г. Москва
Пользователь №: 60 179



Это ж чисто софтверная функция, реализация зависит от компилятора, ничто не мешает ее в ассемблере посмотреть.
Go to the top of the page
 
+Quote Post
vugluskr
сообщение Nov 16 2010, 09:45
Сообщение #5


High speed digital design
***

Группа: Свой
Сообщений: 413
Регистрация: 6-10-09
Пользователь №: 52 786



Цитата(MrAlex @ Nov 16 2010, 09:14) *
Это ж чисто софтверная функция, реализация зависит от компилятора, ничто не мешает ее в ассемблере посмотреть.


Причем здесь ассемблер? Вы вопрос и времянки видели?

305: memcpy(tmp,FPGA_CS2,32);
0x00300264 E3A02020 MOV R2,#0x00000020
0x00300268 E1A01005 MOV R1,R5
0x0030026C E1A00006 MOV R0,R6
0x00300270 EB0004EE BL __rt_memcpy_w(0x00301630)


соответственно
__rt_memcpy_w:
0x00301630 E92D4010 STMDB R13!,{R4,R14}
0x00301634 E2522020 SUBS R2,R2,#0x00000020
0x00301638 3A000005 BCC 0x00301654
0x0030163C E8B15018 LDMIA R1!,{R3-R4,R12,R14}
0x00301640 E2522020 SUBS R2,R2,#0x00000020
0x00301644 E8A05018 STMIA R0!,{R3-R4,R12,R14}
0x00301648 E8B15018 LDMIA R1!,{R3-R4,R12,R14}
0x0030164C E8A05018 STMIA R0!,{R3-R4,R12,R14}
0x00301650 2AFFFFF9 BCS 0x0030163C
0x00301654 E1B0CE02 MOVS R12,R2,LSL #28
0x00301658 28B15018 LDMCSIA R1!,{R3-R4,R12,R14}
0x0030165C 28A05018 STMCSIA R0!,{R3-R4,R12,R14}
0x00301660 48B10018 LDMMIIA R1!,{R3-R4}
0x00301664 48A00018 STMMIIA R0!,{R3-R4}
0x00301668 E8BD4010 LDMIA R13!,{R4,R14}
0x0030166C E1B0CF02 MOVS R12,R2,LSL #30
0x00301670 24913004 LDRCS R3,[R1],#0x0004
0x00301674 24803004 STRCS R3,[R0],#0x0004
0x00301678 012FFF1E BXEQ R14


--------------------
Go to the top of the page
 
+Quote Post
MrAlex
сообщение Nov 16 2010, 11:27
Сообщение #6


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

Группа: Свой
Сообщений: 197
Регистрация: 15-10-10
Из: г. Москва
Пользователь №: 60 179



Все данные идут через core, что и требовалось доказать.
The ARM926EJ-S processor performs all AHB accesses as single word, bursts of four words, or
bursts of eight words. Any ARM9EJ-S core request that is not 1, 4, 8 words in size is split into
packets of these sizes.

Сообщение отредактировал MrAlex - Nov 16 2010, 11:28
Go to the top of the page
 
+Quote Post
vugluskr
сообщение Nov 16 2010, 14:08
Сообщение #7


High speed digital design
***

Группа: Свой
Сообщений: 413
Регистрация: 6-10-09
Пользователь №: 52 786



Цитата(MrAlex @ Nov 16 2010, 14:27) *
Все данные идут через core, что и требовалось доказать.
The ARM926EJ-S processor performs all AHB accesses as single word, bursts of four words, or
bursts of eight words. Any ARM9EJ-S core request that is not 1, 4, 8 words in size is split into
packets of these sizes.


мда, действительно - я не прав.... и как же сделать не через core?


--------------------
Go to the top of the page
 
+Quote Post
MrAlex
сообщение Nov 16 2010, 15:27
Сообщение #8


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

Группа: Свой
Сообщений: 197
Регистрация: 15-10-10
Из: г. Москва
Пользователь №: 60 179



Использовать DMA
Go to the top of the page
 
+Quote Post
vugluskr
сообщение Nov 16 2010, 15:36
Сообщение #9


High speed digital design
***

Группа: Свой
Сообщений: 413
Регистрация: 6-10-09
Пользователь №: 52 786



Цитата(MrAlex @ Nov 16 2010, 18:27) *
Использовать DMA


мда.... вот этого я и не хотел слышать
Спсибо, за консультацию


--------------------
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 19th July 2025 - 10:35
Рейтинг@Mail.ru


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