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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
astro
сообщение Nov 5 2009, 10:39
Сообщение #1


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

Группа: Свой
Сообщений: 130
Регистрация: 30-11-06
Пользователь №: 22 960



Шины данных и адреса в проце rm9200 используют sdram и sram-like девайс. Цепляю картинки с (1) правильными циклами чтения-записи и (2) со сбоями. Во втором случае ОС задерживает циклы, обрабатывая другие задачи или прерывания и в результате происходит сбой, данные в следующих циклах читаются нормально. В чем может быть проблема?

Верхний сигнал SC на sram, нижний бит данных.
Эскизы прикрепленных изображений
 Р В Р’ Р в‚¬Р В РЎВ˜Р В Р’µР Р…ьшено Р Т‘Р С• 79%
Прикрепленное изображение
800 x 547 (25.97 килобайт)
 Р В Р’ Р в‚¬Р В РЎВ˜Р В Р’µР Р…ьшено Р Т‘Р С• 79%
Прикрепленное изображение
800 x 547 (26.76 килобайт)
 
Go to the top of the page
 
+Quote Post
MTh
сообщение Nov 5 2009, 11:56
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 234
Регистрация: 28-02-06
Из: Иркутск
Пользователь №: 14 771



Цитата(astro @ Nov 5 2009, 14:39) *
Шины данных и адреса в проце rm9200 используют sdram и sram-like девайс. Цепляю картинки с (1) правильными циклами чтения-записи и (2) со сбоями. Во втором случае ОС задерживает циклы, обрабатывая другие задачи или прерывания и в результате происходит сбой, данные в следующих циклах читаются нормально. В чем может быть проблема?

Верхний сигнал SC на sram, нижний бит данных.


Какие сигналы показаны на осциллограммах? Вернее что смущает в бите данных? Двойной прыжок?
SC наверное CS?

Сообщение отредактировал MTh - Nov 5 2009, 11:57
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Nov 5 2009, 11:56
Сообщение #3


Гуру
******

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



Цитата(astro @ Nov 5 2009, 13:39) *
Верхний сигнал SC на sram, нижний бит данных.

SC - CS?
Напишите, что именно неправильно на второй картинке.
Go to the top of the page
 
+Quote Post
astro
сообщение Nov 5 2009, 12:21
Сообщение #4


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

Группа: Свой
Сообщений: 130
Регистрация: 30-11-06
Пользователь №: 22 960



Опечатался CS конечно. Первый CS запись, затем три чтения. Смущает что на шину данных после первого чтения sram становится sdram, а последующий цикл чтения идёт со сбоем. На шине данных должны быть нули, а там осталась единица.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Nov 5 2009, 16:12
Сообщение #5


Гуру
******

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



Тем не менее, к картинкам придраться трудно, ничего подозрительного они не содержат.
Что за девайс подключен к шине?
Go to the top of the page
 
+Quote Post
astro
сообщение Nov 6 2009, 10:42
Сообщение #6


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

Группа: Свой
Сообщений: 130
Регистрация: 30-11-06
Пользователь №: 22 960



Подключен Циклон2. Он тоже под подозрением, ищу ошибку в коде.
Go to the top of the page
 
+Quote Post
sergeeff
сообщение Nov 6 2009, 11:02
Сообщение #7


Профессионал
*****

Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007



Ляпа у вас, скорее всего аппаратная, а не программная. Надо внимательно проверить как у вас sram-like устройство подключено. Второе. Задержка на второй осциллограмме очень мала, если вы считаете, что в этот момент возникло прерывание. Интересно, при обращении к Циклону у вас всегда считывается "1"?
Go to the top of the page
 
+Quote Post
astro
сообщение Nov 6 2009, 13:34
Сообщение #8


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

Группа: Свой
Сообщений: 130
Регистрация: 30-11-06
Пользователь №: 22 960



> Интересно, при обращении к Циклону у вас всегда считывается "1"?

да, каждый раз после задержки цикла чтения.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Nov 6 2009, 14:34
Сообщение #9


Гуру
******

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



Цитата(astro @ Nov 6 2009, 13:42) *
Подключен Циклон2. Он тоже под подозрением, ищу ошибку в коде.

Учитывая то, что на картинке не видно ни малейших попыток с его стороны выставить '0', то я бы тоже грешил на ошибку в коде.
Go to the top of the page
 
+Quote Post
astro
сообщение Nov 6 2009, 17:21
Сообщение #10


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

Группа: Свой
Сообщений: 130
Регистрация: 30-11-06
Пользователь №: 22 960



Нашел один баг. В свежескачанном даташите на rm9200, стр.182 Fig.18-39 нарисована диаграмма обмена, которую я повторил. Но почему-то адрес по которому должно размещаться старшее слово (второй) контроллером памяти не изменяется, т.е. addr+1 не выставляется. У меня в результате сбой в алгоритме. И что делать теперь - читать словами что-ли? Даташит вроде перепахал полностью, ничего нет на эту тему.
Go to the top of the page
 
+Quote Post
sergeeff
сообщение Nov 6 2009, 17:27
Сообщение #11


Профессионал
*****

Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007



Скорее всего CS для этого устройства запрограммирован как для 16-разрядного устройства, а ваше устройство - 8-битное.
Go to the top of the page
 
+Quote Post
astro
сообщение Nov 6 2009, 17:34
Сообщение #12


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

Группа: Свой
Сообщений: 130
Регистрация: 30-11-06
Пользователь №: 22 960



Вот конфиг:

//* Configure register for CS5
AT91C_BASE_SMC2->SMC2_CSR[5] = AT91C_SMC2_WS_EN // 1 - Wait State Enabled
| AT91C_SMC2_NWS_1 // Number of Wait States = 1
| AT91C_SMC2_TDF_0 // Data Float Time = 0
| AT91C_SMC2_BAT_16 // 1 - Byte Access Type 16 bit
| AT91C_SMC2_DBW_16 // 01 - Data Bus With 16 bit
| AT91C_SMC2_DRP_STD // 0 - Standart Data Read Protocol
| AT91C_SMC2_RWSETUP_0 // Read and Write Setup Time = 0
| AT91C_SMC2_RWHOLD_0; // Read and Write Hold Time = 0


Девайс (Циклон) программируемый, разрядность обмена ограничивается только шинами АРМа. Сейчас сконфигурирован под 16 бит. Читается регистр int (т.е. 2 слова или 4 байта).
Go to the top of the page
 
+Quote Post
sergeeff
сообщение Nov 6 2009, 19:03
Сообщение #13


Профессионал
*****

Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007



Надо настроить вывод PC11 как CS5:

Код
   AT91_SYS->PIOC_ASR = AT91C_PIO_PC11;   // Select Peripheral A function
   AT91_SYS->PIOC_PDR = AT91C_PIO_PC11;   // Disable PIO controller and enable peripheral

в самом начале до загрузки AT91_SYS->EBI_SMC2_CSR[5]
Go to the top of the page
 
+Quote Post
astro
сообщение Nov 7 2009, 05:24
Сообщение #14


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

Группа: Свой
Сообщений: 130
Регистрация: 30-11-06
Пользователь №: 22 960



PC11/NCS5/CFCE1 по ресету в NCS5, а иначе бы я не смог показать CS на картинках. Конфигурировать дополнительно пробовал, безрезультатно.
Go to the top of the page
 
+Quote Post
sergeeff
сообщение Nov 7 2009, 10:03
Сообщение #15


Профессионал
*****

Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007



Цитата(astro @ Nov 7 2009, 08:24) *
PC11/NCS5/CFCE1 по ресету в NCS5, а иначе бы я не смог показать CS на картинках. Конфигурировать дополнительно пробовал, безрезультатно.

По reset'у - это вход, как и все порты. В моем проекте я использую CS7 и делаю все так, как вам рассказал - без проблем.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 23rd June 2025 - 09:45
Рейтинг@Mail.ru


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