Миландр

Ключевым подразделением нашей компании является Центр Проектирования интегральных микросхем
Текущее время: 2017-дек-14 18:18

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




Начать новую тему Ответить на тему  [ Сообщений: 149 ]  На страницу Пред.  1 ... 6, 7, 8, 9, 10  След.
Автор Сообщение
 Заголовок сообщения: Re: 1636РР2У и 1636РР4У (ПЗУ Flash-типа)
СообщениеДобавлено: 2015-ноя-06 14:38 
Не в сети

Зарегистрирован: 2015-янв-22 09:49
Сообщения: 22
Выкладываю код и диаграмму

Открыть Диаграммы
Вложение:
Комментарий к файлу: Подтяжка включена.
А - СЕ
В - ОЕ
С - D6
D - WE

IMAGE010.BMP
IMAGE010.BMP [ 225.05 КБ | Просмотров: 3524 ]

Вложение:
Комментарий к файлу: Подтяжка отключена
IMAGE011.BMP
IMAGE011.BMP [ 225.05 КБ | Просмотров: 3524 ]
Закрыть


Открыть Код
// Порт данных, управляющие сигналы. Изначально на вход. Диод
PORTA->OE = 0x200; //для выхода 0xC3FF;
PORTA->FUNC = 0x00;
PORTA->ANALOG = 0xFFFFFFFF;
PORTA->PULL = 0xFF; //Подтяжка на землю D0-D7. При отключении этой подтяжки бит D6 перестаёт отключаться
PORTA->PD = 0x00;
PORTA->PWR = 0x55555555;

// Порты адреса. Выход, без подтяжки
PORTF->OE = 0xFFFF;
PORTF->FUNC = 0x00;
PORTF->ANALOG = 0xFFFFFFFF;
PORTF->PULL = 0x00;
PORTF->PD = 0x00;
PORTF->PWR = 0x55555555;

PORTE->OE = 0x0F;
PORTF->FUNC = 0x00;
PORTF->ANALOG = 0xFFFFFFFF;
PORTF->PULL = 0x00;
PORTF->PD = 0x00;
PORTF->PWR = 0x5555;

// Упарвляющие сигналы порта С.
PORTC->OE = 0x06;
PORTC->FUNC = 0x00;
PORTC->ANALOG = 0xFFFFFFFF;
PORTC->PULL = 0xFF;
PORTC->PD = 0x00;
PORTC->PWR = 0x14;

// Запись в память
PORTA->OE = 0xC3FF; // Порт данных на выход
//PORTC->RXTX = 0x00;
// 1 команда
PORTC->RXTX |= (1<<2); // WE установить
PORTA->RXTX |= (1<<14); // СЕ установить

PORTF->RXTX = 0x555; // Адрес
PORTE->RXTX = 0x00; // Адрес

PORTC->RXTX |= (1<<1); // OE установить
PORTC->RXTX &= ~(1<<2); // WE сбросить
PORTA->RXTX &= ~(1<<14); // СЕ сбросить
PORTA->RXTX = 0xAA; // Данные
PORTA->RXTX |= (1<<14); // СЕ установить
PORTC->RXTX |= (1<<2); // WE установить
// 2 Команда
PORTF->RXTX = 0x2AA; // Адрес
PORTE->RXTX = 0x00; // Адрес
PORTA->RXTX &= ~(1<<14); // СЕ сбросить
PORTC->RXTX &= ~(1<<2); // WE сбросить
PORTA->RXTX = 0x55; // Данные
PORTA->RXTX |= (1<<14); // СЕ установить
PORTC->RXTX |= (1<<2); // WE установить
// 3 команда
PORTF->RXTX = 0x555; // Адрес
PORTE->RXTX = 0x00; // Адрес
PORTA->RXTX &= ~(1<<14); // СЕ сбросить
PORTC->RXTX &= ~(1<<2); // WE сбросить
PORTA->RXTX = 0xA0; // Данные
PORTA->RXTX |= (1<<14); // СЕ установить
PORTC->RXTX |= (1<<2); // WE установить
// Команда записи данных
PORTF->RXTX = adres; // Адрес
PORTE->RXTX = 0x00; // Адрес
PORTA->RXTX &= ~(1<<14); // СЕ сбросить
PORTC->RXTX &= ~(1<<2); // WE сбросить
PORTA->RXTX = 0x03; // Данные
PORTA->RXTX |= (1<<14); // СЕ установить
PORTC->RXTX |= (1<<2); // WE установить
PORTA->RXTX &= ~(1<<14); // СЕ сбросить
PORTC->RXTX &= ~(1<<1); // OE сбросить
PORTF->RXTX = 0x00; // Адрес

schet = 24;
while (schet>0)
{
schet--;
}

opros();

void opros (void)
{
unsigned char ok;
PORTA->OE = 0x200; // Настройка порта для опроса статусных бит
// Опрос переключающегося бита
PORTF->RXTX = adres; // Адрес
PORTE->RXTX = 0x00; // Адрес

PORTC->RXTX |= (1<<1); // OE установить

status[0] = PORTA->RXTX & 0x40;

PORTC->RXTX &= ~(1<<1); // OE сбросить

status[1] = PORTA->RXTX & 0x40;

PORTC->RXTX |= (1<<1); // OE установить
status[2] = PORTA->RXTX & 0x40;
PORTC->RXTX &= ~(1<<1); // OE сбросить
status[3] = PORTA->RXTX & 0x40;
}
Закрыть

_________________
Лишь тот во всеоружии, кто в совершенстве владеет оружием.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 1636РР2У и 1636РР4У (ПЗУ Flash-типа)
СообщениеДобавлено: 2015-ноя-06 15:05 
Не в сети

Зарегистрирован: 2009-май-29 16:09
Сообщения: 590
Откуда: АО "ПКК Миландр"
1. Во после этого кода порт данных остаётся на выход и микросхема 1636РР выдаёт данные конфликт на шине
// Запись в память
PORTA->OE = 0xC3FF; // Порт данных на выход
.....
PORTA->RXTX &= ~(1<<14); // СЕ сбросить
PORTC->RXTX &= ~(1<<1); // OE сбросить
PORTF->RXTX = 0x00; // Адрес

schet = 24;


2. Если сигнал СE на 14 бите порта А (PORTA->RXTX &= ~(1<<14); // СЕ сбросить), то что с ним происходит в коде
PORTA->OE = 0x200; // Настройка порта для опроса статусных бит

Где здесь бит 14 на выход?

3. Активный уровень у сигналов логический ноль.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 1636РР2У и 1636РР4У (ПЗУ Flash-типа)
СообщениеДобавлено: 2015-ноя-09 08:55 
Не в сети

Зарегистрирован: 2015-янв-22 09:49
Сообщения: 22
Спасибо за ответ.
1. Добавил строку PORTA->OE =0x3C00 после указанного фрагмента.
2. Настроил СЕ на выход.
В итоге ситуация не поменялась.

_________________
Лишь тот во всеоружии, кто в совершенстве владеет оружием.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 1636РР2У и 1636РР4У (ПЗУ Flash-типа)
СообщениеДобавлено: 2015-ноя-19 11:02 
Не в сети

Зарегистрирован: 2015-янв-22 09:49
Сообщения: 22
Ещё раз здравствуйте. Сделал ещё одну попытку обмена по последовательному интерфейсу с помощью кода, который выкладывал -=Sergei=-. Попытка оказалась неудачной, микросхема памяти не отвечает. Но кроме того, возникли вопросы по тактированию, сигнал идёт с перерывами.

Открыть осцилограммы
Вложение:
Комментарий к файлу: A - STROBE
B - TCK
C - TDI
D - MRST

IMAGE014.BMP
IMAGE014.BMP [ 225.05 КБ | Просмотров: 3472 ]

Вложение:
Комментарий к файлу: Увеличено, начало передачи
IMAGE015.BMP
IMAGE015.BMP [ 225.05 КБ | Просмотров: 3472 ]
Закрыть

_________________
Лишь тот во всеоружии, кто в совершенстве владеет оружием.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re:
СообщениеДобавлено: 2015-дек-09 14:03 
Не в сети

Зарегистрирован: 2013-июл-23 15:19
Сообщения: 11
Цитата:
Последовательный интерфейс есть, но он не SPI

а кстати, что это за интерфейс? это же JTAG судя по всему? чтобы прошивать все девайсы на плате за 1 раз, я так понял? и кстати, почему надо выдерживать частоты обязательно (так то имхо по идее это синхронный интерфейс, во входном регистре у него всё по синхросигналу сдвигается как в SPI)? или я чего то не допонял? Заранее спасибо!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 1636РР2У и 1636РР4У (ПЗУ Flash-типа)
СообщениеДобавлено: 2015-дек-11 15:00 
Не в сети

Зарегистрирован: 2009-май-29 16:09
Сообщения: 590
Откуда: АО "ПКК Миландр"
Интерфейс технологический, не JTAG, нами используется успешно для тестирования и в программаторе:
http://milandr.ru/index.php?mact=Produc ... eturnid=68
Достаточно непростой для понимания, не такой как SPI. У некоторых пользователей получилось его применить.
Если совсем затык, то лучше от него отказаться, а применять 1636РР3(4) с SPI интерфейсом.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 1636РР2У и 1636РР4У (ПЗУ Flash-типа)
СообщениеДобавлено: 2015-дек-11 15:05 
Не в сети

Зарегистрирован: 2009-май-29 16:09
Сообщения: 590
Откуда: АО "ПКК Миландр"
KIA писал(а):
Ещё раз здравствуйте. Сделал ещё одну попытку обмена по последовательному интерфейсу с помощью кода, который выкладывал -=Sergei=-. Попытка оказалась неудачной, микросхема памяти не отвечает. Но кроме того, возникли вопросы по тактированию, сигнал идёт с перерывами.

Открыть осцилограммы
Вложение:
IMAGE014.BMP

Вложение:
IMAGE015.BMP
Закрыть

У нас в программаторе сделано так, что частота при загрузке команд формируется от SPI, а когда идёт внутренняя операция, частота переключается на внешний генератор
2.5 МГц или 5 МГц в зависимости от операции программирования или стирания. Кто-то делает по другому считает что главное дать нужное количество импульсов с паузами, но при этом общее время внутренней операции должно быть определённым. Поэтому частота больше чем 2.5 или 5, но зато паузами добивается необходимое время внутренней операции. Но более правильно подавать нужную частоту и не делать пауз.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 1636РР2У и 1636РР4У (ПЗУ Flash-типа)
СообщениеДобавлено: 2016-мар-11 10:55 
Не в сети

Зарегистрирован: 2015-окт-02 16:13
Сообщения: 28
Доброго всем времени!
Используем микросхему 1636РР4У у себя на плате. У нас есть необходимость использования только последовательного интерфейса SPI и 3-ех проводного порта программатора. Итого подключаем следующим образом:
Адреса А0-А20 на земле жестко без резисторов.
Данные D0-D7 на земле жестко без резисторов.
A9_HV, OE_HV - на земле жестко без резисторов.
nOE, nWE - на питание жестко без резисторов.
nCE - подтянут к питанию через 10КОм. При этом сюда же подключен интерфейс SPI от процессора. Процессор не сконфигурирован поскольку планировалось считывать программу для проца из памяти через интерфейс SPI.
SCK, SI, SO - подключены на соответствующие интерфейсу SPI выводы процессора. Процессор не сконфигурирован.
SEL_SPI - на питание жестко без резисторов.
MRST - подтянут к питанию через 1,5КОм.
STROBE, TCK, TDI - прямо к разъему программатора.

Проблема состоит в том, что подключая программатор мы никак не можем ни стереть память, ни записать туда что-либо. Пробовали подтягивать выводы STROBE, TCK, TDI к земле через 10КОм, это не помогло. Результат тот же. В программе ProgFLASH версия 3 в момент стирания вылазит красная надпись "Ошибка обмена данными", если попробовать стереть-записать, то сначала вылазит "Ошибка обмена данными", потом "Ошибка записи". Пробовали подключать программатор к разным USB портам, ничего не меняется. Только в момент подключения вылазит предупреждение что диск не отформатирован, нажимаю "отмена" и запускаю ProgFLASH. В программе программатор определяется, пишет "Программатор подключен". Тест программатора в программе ProgFLASH пишет "Ошибок не обнаружено".
Подскажите пожалуйста в чем может быть дело?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 1636РР2У и 1636РР4У (ПЗУ Flash-типа)
СообщениеДобавлено: 2016-мар-11 11:10 
Не в сети

Зарегистрирован: 2009-май-29 16:09
Сообщения: 590
Откуда: АО "ПКК Миландр"
Если SEL_SPI=1 то интерфейс программатора блокируется, находясь при этом в сбросе. Нужно управлять выводом SEL_SPI выбирая его равным нулю при прошивке через программатор.
Помимо этого:
Чтобы работать с 1636РР3(4) недостаточно только новой версии программы ProgFLASH, также требуется перепрошивка самого программатора для поддержки 1636РР3(4).
Выясните, тот программатор что у Вас перепрошивался для поддержки 1636РР3(4) или нет. В версии 3.0 ProgFLASH не забывайте выбирать тип Микросхемы, иногда забывают это делать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 1636РР2У и 1636РР4У (ПЗУ Flash-типа)
СообщениеДобавлено: 2016-мар-11 11:15 
Не в сети

Зарегистрирован: 2015-окт-02 16:13
Сообщения: 28
Andrey писал(а):
Если SEL_SPI=1 то интерфейс программатора блокируется, находясь при этом в сбросе. Нужно управлять выводом SEL_SPI выбирая его равным нулю при прошивке через программатор.
Помимо этого:
Чтобы работать с 1636РР3(4) недостаточно только новой версии программы ProgFLASH, также требуется перепрошивка самого программатора для поддержки 1636РР3(4).
Выясните, тот программатор что у Вас перепрошивался для поддержки 1636РР3(4) или нет. В версии 3.0 ProgFLASH не забывайте выбирать тип Микросхемы, иногда забывают это делать.

Спасибо!
Нет, программатор не перепрошивался. Куплен был 27 июня 2015 года. А как узнать какая версия программатора? Где найти прошивку для него и как перепрошить?
Попробовали поднять ногу SEL_SPI на плате, помогло! Смогли стереть и записать через программатор.
Странно, что в описании на микросхему памяти об этом моменте не написано явно жирным шрифтом! Поскольку ИМХО большинству людей часто кажется, что программатор имеет приоритет над остальными способами управления микросхемой и не нуждается в явном выборе путем подключения определенных ножек микросхемы к определенным уровням.


Последний раз редактировалось Bubleek 2016-мар-11 11:34, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 1636РР2У и 1636РР4У (ПЗУ Flash-типа)
СообщениеДобавлено: 2016-мар-11 11:20 
Не в сети

Зарегистрирован: 2016-мар-11 11:14
Сообщения: 1
Доброго времени суток!
Имеется Ваша ПЗУ, но я совсем не силён в языках описания аппаратуры.
Может быть у вас есть какие-то исходники на VHDL? Не важно что это будет, запись, чтение или стирание, мне они нужны чисто для того, чтобы было проще разобраться.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 1636РР2У и 1636РР4У (ПЗУ Flash-типа)
СообщениеДобавлено: 2016-мар-11 11:44 
Не в сети

Зарегистрирован: 2009-май-25 16:41
Сообщения: 206
Откуда: АО "ПКК Миландр"
Bubleek писал(а):
Andrey писал(а):
Если SEL_SPI=1 то интерфейс программатора блокируется, находясь при этом в сбросе. Нужно управлять выводом SEL_SPI выбирая его равным нулю при прошивке через программатор.
Помимо этого:
Чтобы работать с 1636РР3(4) недостаточно только новой версии программы ProgFLASH, также требуется перепрошивка самого программатора для поддержки 1636РР3(4).
Выясните, тот программатор что у Вас перепрошивался для поддержки 1636РР3(4) или нет. В версии 3.0 ProgFLASH не забывайте выбирать тип Микросхемы, иногда забывают это делать.

Спасибо!
Нет, программатор не перепрошивался. Куплен был 27 июня 2015 года. А как узнать какая версия программатора? Где найти прошивку для него и как перепрошить?
Попробовали поднять ногу SEL_SPI на плате, помогло! Смогли стереть и записать через программатор.
Странно, что в описании на микросхему памяти об этом моменте не написано явно жирным шрифтом! Поскольку ИМХО большинству людей часто кажется, что программатор имеет приоритет над остальными способами управления микросхемой и не нуждается в явном выборе путем подключения определенных ножек микросхемы к определенным уровням.

Менять прошивку программатора не требуется, все программаторы поддерживают 1636РР3 и РР4.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 1636РР2У и 1636РР4У (ПЗУ Flash-типа)
СообщениеДобавлено: 2016-апр-06 10:43 
Не в сети

Зарегистрирован: 2015-янв-09 10:28
Сообщения: 34
Здравствуйте!

Подскажите, пожалуйста, для ПЗУ 1636PP2 число гарантированных циклов стирания было 100000 (10^5), а для 1636PP4 всего 10000 (10^4). Нет ли ошибки в спецификации?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 1636РР2У и 1636РР4У (ПЗУ Flash-типа)
СообщениеДобавлено: 2016-ноя-25 11:55 
Не в сети

Зарегистрирован: 2016-ноя-25 11:42
Сообщения: 1
Подключил РР4 к 1882ВЕ53. Вход 46 MRst утягивает выход контроллера до 1,3 В. Память не читается.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 1636РР2У и 1636РР4У (ПЗУ Flash-типа)
СообщениеДобавлено: 2017-янв-17 14:01 
Не в сети

Зарегистрирован: 2016-апр-19 09:42
Сообщения: 2
Возможно ли использовать для программирования 1636РР2У программатор Segger J-Link?


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 149 ]  На страницу Пред.  1 ... 6, 7, 8, 9, 10  След.

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


Кто сейчас на конференции

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


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

Найти:
Перейти:  
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB