Миландр

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

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




Начать новую тему Ответить на тему  [ Сообщений: 153 ]  На страницу 1, 2, 3, 4, 5 ... 11  След.
Автор Сообщение
 Заголовок сообщения: Расчет частот тактирования
СообщениеДобавлено: 2012-дек-24 08:53 
Не в сети
Аватара пользователя

Зарегистрирован: 2012-ноя-22 13:54
Сообщения: 72
Откуда: Нижний Новгород
Уважаемые участники форума!
Задался задачей создания некоторой утилиты, которая бы генерировала программный код в зависимости от необходимых настроек.

В данной теме уже выложено много версий данной утилиты.

Решил последнюю версию программы выкладывать в первом сообщении.
Так не нужно будет искать среди сообщений свежую версию.

Надеюсь так будет удобнее.

Версия 1 (Milandr_PLLv2.5_HTML.rar):
  • работает через браузер, проверено на Opera и Mozilla FireFox
  • Развитием данной версии более не занимаюсь.
  • Если у кого-то есть желание развивать данное направление, то пожалуйста.

Версия 2 (MilandrPLLv2.8.zip)
  • Программа на WINDOWS и требует .Net FrameWork (лично у меня v4.0)
  • О последних внесенных изменениях можно ознакомиться, пройдя по ссылке


Версия 3 (Milandr_v3.1_jar.zip)
  • Программа имеет расширение jar
  • Программка теперь работает как на windows так и на linux
  • Для запуска программки нужно:
    • Установленное Java JDK|JRE v1.8+
    • Корректно указать путь к Java
    • Запускать программку с помощью командного файла .sh для linux или .bat для Windows
  • Предварительно, реализованы следующие блоки: CPU, GPIO, ADC.
В написании последней версии (Milandr_v3.1_jar.zip) принимал активное участие мой коллега Lizard2k1.


Вложения:
Комментарий к файлу: Данная версия работает на Linux/Win.
Milandr_v3.1_jar.zip [2.51 МБ]
Скачиваний: 68
Комментарий к файлу: Данная версия программы успешно работала в Opera и Mozilla FireFox
Milandr_PLLv2.5_HTML.rar [40.78 КБ]
Скачиваний: 123
Комментарий к файлу: Самая последняя версия программы. Со всеми изменениями, дополнениями и исправлениями.
MilandrPLLv2.8.zip [335.9 КБ]
Скачиваний: 388


Последний раз редактировалось AntonAS 2017-апр-18 12:12, всего редактировалось 8 раз(а).
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Расчет частот тактирования
СообщениеДобавлено: 2012-дек-25 17:40 
Не в сети

Зарегистрирован: 2012-апр-23 12:55
Сообщения: 47
Попробовал запустить скрипт в FireFox 17 и Хром 23. Вроде бы работает нормально. Очень интересная идея - использовать JavaScript. Но скриптом пользоваться не буду. Слишком мало кода генерируется, причем кода, который потом не поймешь. По мне лучше самому написать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Расчет частот тактирования
СообщениеДобавлено: 2012-дек-26 11:54 
Не в сети
Аватара пользователя

Зарегистрирован: 2012-ноя-22 13:54
Сообщения: 72
Откуда: Нижний Новгород
Спасибо за отзыв!
По поводу малого количества кода и его непонятности Вы совершенно правы. Изначально скрипт писал под себя, и мне было достаточно!

Постараюсь исправить данное замечание!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Расчет частот тактирования
СообщениеДобавлено: 2012-дек-26 16:37 
Не в сети

Зарегистрирован: 2012-апр-23 12:55
Сообщения: 47
Посмотри, как для похожего контроллера (STM32) делаются настройки в Keil http://easyelectronics.ru/arm-uchebnyj- ... oekta.html
А вот здесь другой интузиаст пишет свой генератор кода для STM32 http://mycontroller.ru/stm32-generator- ... ya-versiya


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Расчет частот тактирования
СообщениеДобавлено: 2012-дек-27 08:23 
Не в сети
Аватара пользователя

Зарегистрирован: 2012-ноя-22 13:54
Сообщения: 72
Откуда: Нижний Новгород
Спасибо за ссылки!

Очень интересные статьи, особенно вторая!
Будет больше времени, постарюсь все довести до ума!

Пока выложу версию, с небольшими поправками. Местами код стал более подробный.


Вложения:
Milandr_PLLv1.1.rar [10.3 КБ]
Скачиваний: 341
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Расчет частот тактирования
СообщениеДобавлено: 2013-янв-23 09:34 
Не в сети

Зарегистрирован: 2010-апр-22 15:57
Сообщения: 109
Откуда: Москва, Зеленоград
AntonAS, а скажите, по какому правилу выбирается суммарное количество TQ?
Как я понял, это число у вас фиксировано и я не могу выбрать, например, больший BRP, уменьшив количество TQ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Расчет частот тактирования
СообщениеДобавлено: 2013-янв-23 10:12 
Не в сети

Зарегистрирован: 2010-авг-30 19:12
Сообщения: 379
Цитата:
скажите, по какому правилу выбирается суммарное количество TQ?

Если речь идет о CAN, то TQ (Time Quante) должно быть в диапазоне 4-25 (спецификация на CAN)
причем 1 TQ всегда на синхронизацию.
4 минимум - по одному кванту времени на сегмент
25 максимум - 1 синхро + 8 TQ на каждый сегмент

_________________
О сколько нам открытий чудных
Готовит просвященья дух,
И опыт - сын ошибок трудных ... (Пушкин)

Пергаменты не утоляют жажду ("Фауст",Гете)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Расчет частот тактирования
СообщениеДобавлено: 2013-янв-23 10:38 
Не в сети

Зарегистрирован: 2010-апр-22 15:57
Сообщения: 109
Откуда: Москва, Зеленоград
... в скрипте =)
Bosch, например, советует делить битовый интервал на 10 TQ. Можно добавить возможность выбора количества TQ в скрипт и ввести значение "по-умолчанию", если значение этого параметра для разработчика не критично.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Расчет частот тактирования
СообщениеДобавлено: 2013-янв-23 14:25 
Не в сети
Аватара пользователя

Зарегистрирован: 2012-ноя-22 13:54
Сообщения: 72
Откуда: Нижний Новгород
dania писал(а):
AntonAS, а скажите, по какому правилу выбирается суммарное количество TQ?
Как я понял, это число у вас фиксировано и я не могу выбрать, например, больший BRP, уменьшив количество TQ?


Добрый день, dania!
Суммарное количество TQ рассчитывается по формуле:
TQ = (BRP + 1)/CAN_CLK,
где BRP - значение предделителя (это первое всплывающее окошко при расчете CAN),
CAN_CLK - частота CAN (она выводится в поле перед полем выбора скорости).

Вы можете выбрать любой BRP из указаного при расчете интервала!

Возможно, что при выборе значений BRP или SEG1, выходили за пределы допустимого значения TQ (от 8 до 25), либо SEG1, SEG2 (от 1 до 8 ). При этом должны были выводиться соответствующие всплывающие окна, где говорится, что либо "Количество квантов времени должно быть в интервале от 8 до 25 включительно! Измените предделитель или скорость!", либо "Значения SEG1 и SEG2 должны быть не больше 8! Введите другие значения скорости и предделителей!"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Расчет частот тактирования
СообщениеДобавлено: 2013-янв-23 14:46 
Не в сети
Аватара пользователя

Зарегистрирован: 2012-ноя-22 13:54
Сообщения: 72
Откуда: Нижний Новгород
Обновил скрипт.
Изменения:
    Изменен интерфейс (многостраничный режим с навигацией);
    Навигация работает только в браузерах с поддержкой CSS3;
    Генерируемый код с подсветкой синтаксиса

Для запуска:
Распакуйте архив, в папке MilandrPLL запустите файл index.HTML


Вложения:
Milandr_PLLv2.0.rar [23.66 КБ]
Скачиваний: 337
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Расчет частот тактирования
СообщениеДобавлено: 2013-янв-23 15:41 
Не в сети

Зарегистрирован: 2012-апр-23 12:55
Сообщения: 47
Круто! Я тоже хочу так уметь. Как быстро научиться? Хочу сделать html-страничку с использованием JavaScript, которая раелизует простой алгоритм, типа сортировки пузырьком.
И еще, может зальешь на Google App Engine


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Расчет частот тактирования
СообщениеДобавлено: 2013-янв-23 17:12 
Не в сети

Зарегистрирован: 2010-апр-22 15:57
Сообщения: 109
Откуда: Москва, Зеленоград
Опишу подробнее суть проблемы, может я и сам ошибаюсь)
Предделителя есть два: один в блоке RST_CLK (BRG), а второй - непосредственно в блоке CAN (BRP). У вас в первом чекбоксе выбирается именно BRG, а не BRP, судя по генерируемому коду.
Для своих 80000000 Гц системной частоты и 1000000 бит/с я выбрал предделитель = 1. Потом мне предлагается выбрать BRP от 0.6 до 4. Выбираю 4. SEG1 выбираю 8. В итоге получаю 16 квантов времени (кстати, должно же быть 8+8+PSEG+SJW).

А можно ведь задать BRP=7 и получить 10 квантов.

P.S. В последней версии скрипта не отображается Код для вставки ( Chrome Версия 24.0.1312.56 m)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Расчет частот тактирования
СообщениеДобавлено: 2013-янв-24 07:46 
Не в сети
Аватара пользователя

Зарегистрирован: 2012-ноя-22 13:54
Сообщения: 72
Откуда: Нижний Новгород
Сергей86 писал(а):
Круто! Я тоже хочу так уметь. Как быстро научиться? Хочу сделать html-страничку с использованием JavaScript, которая раелизует простой алгоритм, типа сортировки пузырьком.
И еще, может зальешь на Google App Engine


Такое меню я нашел на просторах интернета, поменял только цвета.
Пузырьковая сортировка вроде встречалась.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Расчет частот тактирования
СообщениеДобавлено: 2013-янв-24 08:11 
Не в сети
Аватара пользователя

Зарегистрирован: 2012-ноя-22 13:54
Сообщения: 72
Откуда: Нижний Новгород
dania писал(а):
Для своих 80000000 Гц системной частоты и 1000000 бит/с я выбрал предделитель = 1. Потом мне предлагается выбрать BRP от 0.6 до 4. Выбираю 4. SEG1 выбираю 8. В итоге получаю 16 квантов времени (кстати, должно же быть 8+8+PSEG+SJW).

А можно ведь задать BRP=7 и получить 10 квантов.


dania, Вы правы!
Просмотрел код расчета - нашел ошибку. При расчете квантов закралось деление на 2(которого не должно быть).
Исправил.
По алгоритму, когда предлагается выбрать BRP от А до В, то при выборе В будет 8 квантов времени, а при выборе А будет 25 квантов времени. Соответственно при выборе значения в интервале от А до В, то квантов времени будет от 25 до 8, соот.

Цитата:
P.S. В последней версии скрипта не отображается Код для вставки ( Chrome Версия 24.0.1312.56 m)


У меня OPERA v12.02 все отображает. По другим браузерам сказать ничего не могу. Выложу тогда и старую версию скрипта с исправленым кодом.


Вложения:
Milandr_PLLv1.1.rar [10.3 КБ]
Скачиваний: 262
Milandr_PLLv2.1.rar [23.75 КБ]
Скачиваний: 328
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Расчет частот тактирования
СообщениеДобавлено: 2013-янв-24 09:15 
Не в сети

Зарегистрирован: 2010-авг-30 19:12
Сообщения: 379
Заранее извиняюсь.
Я мало понимаю в JavaScript. Но посмотрел расчет таймингов CAN после того как мои значения не совпали с расчетными.
В итоге переделал этот момент, предлагаю потестить, прошу сильно не пинать, делал по аналогии.
Сделал через указание точки выборки в %. Потому что в исходном варианте PROP (как мне показалось) задается фиксировано, а это не совсем правильно.
Насчет ошибки дополнительного деления на 2 не смотрел.(наверное осталась но вроде не принципиально).

Цитата:
В итоге получаю 16 квантов времени (кстати, должно же быть 8+8+PSEG+SJW).

Нет должно быть 1(синхро)+PROP+SEG1+SEG2. SJW - это подстройка (при рассинхронизации).

В общем вот мой вариант.
Вложение:
Milandr_PLL.zip [11.47 КБ]
Скачиваний: 334

_________________
О сколько нам открытий чудных
Готовит просвященья дух,
И опыт - сын ошибок трудных ... (Пушкин)

Пергаменты не утоляют жажду ("Фауст",Гете)


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 153 ]  На страницу 1, 2, 3, 4, 5 ... 11  След.

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


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

Сейчас этот форум просматривают: Google [Bot] и гости: 2


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

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