1887ВЕ6Т

Интегральные схемы разработки ОАО "НИИЭТ" с повышенной стойкостью к СВ ВВФ

Модераторы: gurzzza, pip, _sva_

mareking
Сообщения: 9
Зарегистрирован: 04 май 2017, 17:13
Предприятие: Гранит-М

Re: 1887ВЕ6Т

Сообщение mareking » 04 май 2017, 17:22

Буду благодарен, если ответите на пару моих вопросов.
Mixail писал(а):
15 сен 2015, 13:04
REGFILE=K1887VE6T.H
SFILE="LIB\START_V2.A66" ("XC16x/Super10 Startup Code")
SIM=S166.DLL("-cMODV2") D167.DLL("-pX167CI")
CPU=IRAM(0xF600-0xFDFF) XRAM(0xD800-0xE7FF) IROM(0x000000-0x07FFF) IROM2(0x018000-0x04FFFF) CLOCK(20000000) MOD167 MODV2
1. Зачем в настройках прописывать IROM и IROM2, если нет внутреннего ROM у микроконтроллера?

2. И не надо ли CLOCK(25000000), если в документации пишите про 25 МГц?

3. В Вашем примере Run_Leds используется стартап START167.A66, а в конфигурации прописываете START_V2.A66. Какой вариант правильный?

mareking
Сообщения: 9
Зарегистрирован: 04 май 2017, 17:13
Предприятие: Гранит-М

Re: 1887ВЕ6Т

Сообщение mareking » 10 май 2017, 14:15

Господа, этот форум живой? Даже с учетом праздников прошло достаточно дней... Есть шанс получить поддержку по микроконтроллеру от разработчиков?

tvs
Сообщения: 8
Зарегистрирован: 27 апр 2016, 09:24

Re: 1887ВЕ6Т

Сообщение tvs » 10 май 2017, 14:49

1. IROM и IROM2 нужны линкеру, чтобы можно было получить HEX-файл с правильной адресацией, а не как у XC167, начиная с сегмента 0xC0.
2. Частоту удобнее контролировать в STARTUP, т.к. там много параметров в одном месте.
3. Правильный вариант - использовать START167.A66.

mareking
Сообщения: 9
Зарегистрирован: 04 май 2017, 17:13
Предприятие: Гранит-М

Re: 1887ВЕ6Т

Сообщение mareking » 10 май 2017, 20:27

Большое спасибо за ответы! Прошу по-возможности ответить еще на несколько вопросов:

1. Правильно ли я понимаю, что 1887ВЕ6Т отличается от 1887ВЕ3Т не только отсутствие внутренней флеш, но и PLL модуля?

2. Судя по рисунку 8.1 "Функциональная схема модуля генератора тактовых сигналов" из документации, тактовый сигнал ядра контроллера всегда равен половине частоты осциллятора? Получается, что при частоте кварца 25 МГц, ядро будет работать с частотой 12.5 МГц?

3. Если я правильно понял, на макетно-отладочной плате КФДЛ.441461.007 стоит кварц 25 МГц, но в примере на 1ой странице этого топика Run_Leds в функцию init_asc0(20000000, 56000) передается значение 20Мгц. Пример не предназначен для этой платы или просто опечатка?

4. В том же примере Run_Leds в стартап START167.A66 выключена инициализация переменных и очистка памяти (INIT_VARS = 0 и CLR_MEMORY = 0). С какой целью это сделано?

5. Если открыть настройки этого проекта, то на вкладке Target в разделе External Memory ничего не прописано. За счет чего линковщик узнает правильную раскладку памяти?

PS: Я прекрасно понимаю, что вы прежде всего разработчики микроконтроллера, а не программисты. У меня нет притензий к качеству примера или ошибкам. Это просто попытка разобраться, как работать с 1887ВЕ6Т. Заранее спасибо.

tvs
Сообщения: 8
Зарегистрирован: 27 апр 2016, 09:24

Re: 1887ВЕ6Т

Сообщение tvs » 11 май 2017, 09:36

1. Правильно.
2. Правильно.
3. На нашей макетно-отладочной плате есть возможность использовать внешние генераторы. Плата подходит как для 1887ВЕ3Т, так и для 1887ВЕ6Т. Для кварца 25МГц, функция должна выглядеть как init_asc0(12500000, 9600), скорость потока для настройки лучше выбрать пониже, потом можно поэкспериментировать.
4. Все проекты делались для 1887ВЕ3Т, при этом брался готовый проект и переписывался код под 1887ВЕ6Т, соответственно, всплывают различные настройки и артефакты старых проектов. Конкретно в этом случае, инициализация переменных и очистка памяти были выключены для быстрого перехода к функции main при пошаговой отладке проекта для 1887ВЕ3Т.
5. В настройках проекта, на вкладке L166 Misc, стоит галочка на use linker control file: .\Main.lin. В данном файле указана вся раскладка памяти для проекта на отладочной плате, учитывая объем Flash, которая установлена там.

mareking
Сообщения: 9
Зарегистрирован: 04 май 2017, 17:13
Предприятие: Гранит-М

Re: 1887ВЕ6Т

Сообщение mareking » 11 май 2017, 14:36

Спасибо, остался один неясный момент:
tvs писал(а):
11 май 2017, 09:36
Для кварца 25МГц, функция должна выглядеть как init_asc0(12500000, 9600)
В формуле baudrate из документации на микроконтроллер (КФДЛ.431295.046ТО) фигурирует частота Fclk. О ней отдельно нигде не сказано в документации, но из описания других блоков можно сделать вывод, что она равна Fosc. Я сужу по рисунку 13.15 "Структурная схема работы таймера Т6 в режиме таймера" и описанию под ним. Проясните, пожалуйста, что все таки участвует в формуле расчета скорости - частота кварца или частота ядра (кварц на 2)?

tvs
Сообщения: 8
Зарегистрирован: 27 апр 2016, 09:24

Re: 1887ВЕ6Т

Сообщение tvs » 11 май 2017, 16:32

Недоработки в рисунках, в данном случае в формуле необходимо использовать частоту ядра (кварц на 2). На плате проверил с генератором на 24 МГц, функцию изменил так: init_asc0(24000000, 56000); В результате работает в терминале с баудрейтом 28800 (ближайшее значение в таблице для 56000/2). Для 1887ВЕ3Т есть возможность выставить PLL = x2, тогда можно работать с 56000.

mareking
Сообщения: 9
Зарегистрирован: 04 май 2017, 17:13
Предприятие: Гранит-М

Re: 1887ВЕ6Т

Сообщение mareking » 11 май 2017, 18:08

Спасибо! А можете подсказать на счет блоков таймеров? Там везде в формулах фигурирует Fosc. Получается тоже ошибка в документации и надо брать половину этой частоты?

tvs
Сообщения: 8
Зарегистрирован: 27 апр 2016, 09:24

Re: 1887ВЕ6Т

Сообщение tvs » 12 май 2017, 10:16

Да, с таймерами точно такая же ошибка в документации.

mareking
Сообщения: 9
Зарегистрирован: 04 май 2017, 17:13
Предприятие: Гранит-М

Re: 1887ВЕ6Т

Сообщение mareking » 19 май 2017, 17:55

Подскажите, пожалуйста, по настройки альтернативных функций.
Судя по документации (Таблица 11.5 "Выводы порта Р3 и их альтернативные функции") для того, чтобы настроить P3.11 и P3.1 функциями RxD - нужно только установить соответствующий бит DP3 в 0, а регистр ALTSEL0P3 трогать не нужно?
Просто в примерах Keil всегда в регистре ALTSEL0P3 выставляется бит для настройки функции RxD:
ALTSEL0P3 |= 0x0C00; /* Configure port pins for serial interface 0 */
а в документации 1887ВЕ6Т встречаются ошибки. Какой вариант правильный? Заранее спасибо за ответ!

Ответить

Вернуться в «Радиационно-стойкие интегральные схемы»

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

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