среда, 13 октября 2010 г.
Язык ДРАКОН
Разработка данного языка была начата в 1986 г. под руководством Владимира Паронджанова. В разработке языка принимали участие Федеральное космическое агентство (НПЦ автоматики и приборостроения им. акад. Н.А. Пилюгина, г. Москва) и Российская академия наук (Институт прикладной математики им. акад. М.В. Келдыша).
Разработчики языка полагают, что правила языка ДРАКОН по созданию диаграмм оптимизированы для восприятия алгоритмов человеком. Таким образом, язык предлагается в качестве инструмента усиления интеллекта.
Вот эти самые "оптимизация для восприятия алгоритмов человеком" и "усиление интеллекта" меня в нем и заинтересовали.
О Драконе подробней: Wiki
Здесь можно скачать элементы ДРАКОНА для построения диаграмм в MS Visio: скачать
А здесь можно скачать книгу об этом языке: Паронджанов В.Д. Как улучшить работу ума. Алгоритмы без программистов - это очень просто! М.: Дело, 2001. - 360с
- подумал, а может попробовать применить его в текущем проекте на работе? Тем более, что задачка для этого есть подходящая: разработка алгоритма обмена данными между задачами RTOS и с сервером в навигационном терминале. Вдруг чтото хорошее из этого и получится:)
пятница, 24 сентября 2010 г.
Софт для AVR разработчиков
Весь софт по этой теме находится в разделе "Среды программирования, компиляторы и вспомогательные программы"
Что конкретно я там заметил просмотрев около 10 страниц темы:
ImageCraft ICC v7.22C Pro for Atmel AVR
IAR Embedded Workbench for AVR V5.30 Full
IAR Embedded Workbench for AVR32 v.3.30.1 Full
mikroPascal Pro AVR
CodeVision AVR 1.25.8 Professional
Качайте, пока не ограничивают! В связи с 6-ти летием rutracker, там фрилич с 19 по 26 сентября!
понедельник, 20 сентября 2010 г.
Модуль Crumb2560
и о программах для них.
Этот пост будет посвящен модулю Crumb 2560 на процессоре Atmel AVR Atmega2560 ( http://www.chip45.com/AVR-ATmega-Microcontroller-Modules/Crumb2560-V1-1-AVR-ATmega2560-USB-RS485-RS232-module.html ). Модуль мне понравился тем, что содержит самый мощный процессор семейства Atmega (256K флэш, 8К ОЗУ), а так же USB интерфейс (от которого может и питаться), и дополнительно RS-232/485 интерфейсы. Для USB интерфейса используется хорошо знакомый (безглючный!) мост USB <-> UART (чип SILabs CP2102).
Еще этот модуль легко установить, как мезонин, на макетную плату с любой периферией (входы/выходы, Ethernet, WiFI, GSM..). К слову сказать, у одного знакомого подобный модуль управляет луноходом:) В этой статье я опишу, как подготовить модуль к работе.
Итак, имеется в наличии модуль Crumb 2560.
В начале, установим на него кварц (у меня в комплекте был на 14.745 Мгц), разъем для программирования, и перемычку для выбора питания модуля.
Получится следующее:
Затем, припаяем к нему штыревые контакты (2 шт. по 48 контактов). Они понадобятся для установки модуля на макетную плату.
Результат:
Далее, на макетную плату установим разъемы для модуля (2 шт.) и кнопку сброса (потребуется для перевода модуля в режим обновления прошивки).
Соединим кнопку с соответствующими контактами (RESET и GND) на разъеме модуля. Разъемы я установил таким образом, что бы все шнуры (пока это только USB) в будущем выходили назад, а органы правления (пока это кнопка сброса) находились спереди. Также модуль макс. сдвинут к краю платы, что оставить макс. места на плате для размещения других компонентов.
Итого:
Наш модуль готов к работе. Проверим его! Для этого подключим его USB кабелем к ПК, и так же поключим к нему программатор Atmel AVRISP2. Если на модуле есть питание (перемычка питания от USB на модуле должна быть установлена), индикатор на программаторе должен гореть зеленым. Далее, в AVR studio, считаем идентификатор процессора.
Ура, все работает! Продолжение следует :)
Расходы:
модуль Crumb 2560 - 2850 р.
Макетная плата 10*15 - 320 р.
Контакты,разъемы,кнопка - 150 р.
кабель mini-USB - 30 р.
Итого: 3350 р.
Далее планирую описать в блоге следующее:
1) Создание загрузчика для него (с возможностью шифровки прошивки) /*в исходниках*/
2) Установку на него freeware ОС реального времени FreeRTOS
3) Использование FreeRTOS в телематических приложениях (прием/передача данных через GSM модули SIM300,SIM900,Telit..) /*с исходниками*/
понедельник, 13 апреля 2009 г.
Серфинг: Linux устройства, роботы, коммуникатор на открытой платформе
Подборка англоязычных сайтов по теме встроенных систем и близкого к этому:
Сайт:
Сайт:
Коммуникатор Neo FreeRunner (проект OpenMoko) с открытыми исходниками (лицензия GPL). Открыт как программный код, так и принциписальная схема, файлы разводки.
Промо-сайт:
Документация OpenMoko Neo FreeRunner :
По современным меркам аппаратная платформа уже несколько устарела. Например, нет поддержки 3G и мульти-тач интерфейса (а-ля iPhone), но зато вся документация открыта :)
Краткая спецификация Neo FreeRunner :
- экран: сенсорный 2.8" VGA (480x640)
- процессор: ARM9 @ 400 MHz, 2D/3D ускоритель графики
- GSM 850/1800/1900 MHz
- память: 128MB SDRAM, 256MB NAND Flash, слот microSD
- входы/выходы: 2.5 mm разъем для наушников и разъем для внешнего GPS приемника
- дополнительно: Wi-Fi (802.1 1b/g), AGPS, GPRS (2.5G, не EDGE), Bluetooth 2.0, 3х осевой акселерометр
- ПО: Openmoko GNU/Linux-based
Заявленная на сайте стоимость коммуникатора составляет сейчас 299 долл. Среди его дистрибьюторов заявлен и российский:
пятница, 10 апреля 2009 г.
Обновление AVR loader
Обновил AVR loader, для загрузки процессоров семейства AVR mega, до версии 1.2. В этой версии сделан выбор скорости СОМ-порта: от 19200 до 115200. Выбранное значение, также как и СОМ-порт, сохраняется в ini файле программы. Скачать программу можно по ссылке: AVR loader v1.2
пятница, 20 марта 2009 г.
Модуль Crumb128 на процессоре Atmel AVR Mega128 и загрузчик для него
Удобный и не особо дорогой модуль для отладки (сейчас, в марте 2009г., он стоит около 2000 руб.), к которому можно подсоединить какие-то внешние компоненты, и у которого есть USB и RS-232 порт. Наличие USB порта для связи с модулем Crumb128 особенно удобно, т.к. позволяет запитать модуль непосредственно от USB. Среди доступного софта для модуля, на сайте www.chip45.com выложен в исходных кодах загрузчик, который будучи зашит в модуль ISP-программатором (например Atmel AVR ISP/ISP mkII), затем позволяет обходиться без него. В конце статьи приведена ссылка на немного измененные исходники этого загрузчика. Изменения касались текстовых сообщений, индикации начала загрузки светодиодом и прочих мелочей. В скомпилированном виде загрузчик занимает чуть менее 2Kb и помещается в предназначенную для него область памяти процессора (Boot Loader Flash Section). При необходимости его нетрудно адаптировать для других процессоров Atmel AVR серии Mega. Так же приложена и программа-загрузчик для ПК «AVR Loader», использование которой делает процесс обновления основной программы модуля более удобным. Программа была написана потому, что используемый загрузчик предполагает использование .srec файлов для загрузки, и изначально был ориентирован на работу с обычной терминальной программой, что не особенно удобно. Через написанную программу обновлять прошивку гораздо удобнее. Она имеет простой интерфейс. Читайте о ней ниже.
Инструкция по использованию загрузчика:
Необходимый софт:
Для прошивки загрузчика в модуль необходим программатор Atmel AVR ISP (или ISP mkII). Для компиляции загрузчика на ПК должен быть установлен компилятор WinAVR (мною использовалась версия от 10.06.2008), а так же Atmel AVR Studio версии 4 build 589 и выше.
1) Компиляция загрузчика.
По ссылке в конце статьи скачайте архив с загрузчиком и распакуйте его. Из каталога загрузчика запустите файл «makem.bat». Если копилятор WinAVR установлен, то исходники загрузчика будут скомпилированы, и в каталоге должен появиться файл «chip45boot.hex». Этот файл необходимо будет загрузить в модуль через ISP программатор. Инструкцию про это читайте ниже. Те, кто делал подобное уже много-много раз, могут пропустить следующий пункт.
2) Загрузка загрузчика :)
Подключите программатор AVR ISP mkII к порту USB ПК и запустите AVR Studio. Подключите разъем программатора к разъему ISP модуля Crumb128 (красный проводник на шлейфе разъема программатора должен совпадать с первым контактом на разъеме ISP) (рис. 2).
(фото из документации AVR ISP mkII)
Соедините USB кабелем модуль и ПК. При этом должен загореться зеленым цветом индикатор статуса на программаторе, сигнализирующий наличие питания на модуле (рис. 3).
(фото из документации AVR ISP mkII)
Запустите программу AVR Studio, зайдите в меню «Tools» и выберите подменю «Program AVR», а в нем пункт «Connect…» (рис. 4).
Далее в появившемся окне выберите «AVR ISP mkII» и «USB» (рис. 5), затем нажмите «Connect…».
В случае успешного подключения должно появиться окно как на рис. 6.
В группе «Device and Signature Bytes» выберите тип процессора используемого в модуле: ATmega128. В группе «Programming Mode and Target Settings» должно быть выбрано «ISP Mode». Нажав далее «Read signature» должен считать идентификатор процессора и должна появиться надпись «Signature matches selected device». После этого можно начинать программирование.
Для этого необходимо выбрать вкладку «Program». В группе «Device» установить галочки «Erase device…» и «Verify device…». В группе «Flash» выбрать загружаемый файл нажав кнопку «…». Нужно выбрать файл загрузчика с названием «chip45boot.hex». Он создается при компиляции в каталоге исходников загрузчика. Далее нажмите кнопку «Program». В случае успешного результата программирования, в нижнем информационном поле будет информация как на рис. 7.
Далее нужно перейти на вкладку «Fuses» и установить следующие значения в полях:
Параметр : Действие
BODLEVEL: выключить
OCDEN: сбросить
JTAGEN: установить
SPIEN: установить
WDTON: сбросить
EESAVE: не важно
BOOTSZ: выбрать «Boot flash size=4096 words …»
BOOTRST: установить
CKDIV8: сбросить
CKOUT: сбросить
SUT_CKSEL: выбрать «Ext. Crystal 8.0- MHz; Start-up time: 258 CK + 65 ms»
Установить галочку «Verify after programming». Далее нажать кнопку «Program». В случае успеха в информационном окне будет «Fuse bits verification… OK».
Затем нужно закрыть окно программатора, при этом будет снят сигнал сброса с процессора, и сразу после этого загрузчик запустится. Проверить его работу можно визуально по миганию индикатора модуля в течении нескольких секунд после его запуска. Также можно проверить это с помощью терминальной программы. Для этого нужно запустить терминальную программу, например, «HyperTerminal», или любую другую. При этом в параметрах настройки СОМ-порта соответствующего модулю (строка «CP210x USB to UART Bridge Controller (COM N)» в разделе «Порты COM и LPT» диспетчера устройств Windows) установить следующее: скорость – 115200; бит данных – 8; стоповых бит – 1; управления потоком – нет. После запуска загрузчика в терминале должен появиться следующий текст: «CRUMB-128 BIOS 1.1».
3) Использование программы для «AVR Loader»
Для обновления основной программы модуля, запустите программу «AVR Loader» (рис. 8).
В селекторе «COM» выберите тот СОМ-порт, который относится к подключенному по USB модулю Crumb128. Список СОМ-портов в системе можно посмотреть через «Диспетчер устройств» Windows, раздел «Порты COM и LPT» (рис. 9). Определить нужный СОМ-порт можно по строке «CP210x USB to UART Bridge Controller (COM N)» (N – номер СОМ-порта, может быть разный на разных ПК).
Затем нужно выбрать загружаемый в модуль файл через меню «Open file». Файлы, загружаемые в модуль, имеют расширение «.srec». Затем нужно перезагрузить процессор модуля, нажав кнопку «Сброс» (она должна быть заранее подключена к модулю).
После перезагрузки модуля начнется процесс загрузки в него новой прошивки, что займет менее минуты. В строке статуса «Status» показывается информация о текущей операции и об ошибках.
Для того что посмотреть на обмен программы с модулем, во время загрузки нажмите кнопку «Show Terminal». При этом откроется окно терминала, где отображается обмен данными загрузчика с модулем. Повторное нажатие на эту кнопку закрывает его окно. После успешного обновления программы вновь запустится загрузчик, который затем передаст управление основной программе. Нажатием кнопки «Close COM» можно освободить занятый СОМ-порт. Программа свои настройки (номер СОМ-порта, и имя загружаемого файла) хранит в «.ini» файле, в своем каталоге. При отсутствии файла, он создается со значениями по умолчанию. Настройки в него сохраняются при закрытии программы.
Ну в заключение собственно сами программы:
Планируемые статьи на этом блоге:
- Установка операционной системы FreeRTOS на модуль Crumb128
- TCP/IP стек для FreeRTOS с поддержкой SLIP соединения
- Программа по мотивам психологического тренинга
- Программа для сохранения в логе номеров абонентов звонящих на сотовый
Всего наилучшего, Denweb.
четверг, 6 декабря 2007 г.
Основное о себе
Меня зовут Денис. Мне 32 года, живу в г.Пермь. Я программист, в основном специализируюсь на встроенных системах, но программирую не только для них. Более подробно читайте ниже.
Образование:
Высшее. Закончил в 1998 г. Пермский Гос. Университет, физический факультет, специальность "Радиофизика и электроника".
Опыт работы:
1) 1998г. - 2007г. - ОАО "Морион" - инженер-программист. Участвовал в разработке и поддержке оборудования ведомственной связи ВТК-12, разработке маршрутизатора, поддержке ПО для контроля и управления гибкого мультиплексора ОГМ-30Е.
2) 2007г. - настоящее время - программист в фирме, основное направление деятельности которой - разработка телекоммуникационного оборудования и GSM/GPS терминалов.
Знания, умения:
Хорошо знаком с программированием микроконтроллеров следующих семейств: i8051 совместимых, Atmel AVR. Писал программы для них как на ассмеблере, так и на С. Знаком со встроенными операционными системами RTEMS, FreeRTOS. Могу разработать электрическую схему какого-либо устройства (на цифровых компонентах) в САПР (PCAD, Protel и др.), написать программу для ПЛИС (чипы фирмы Altera). В высокоуровневом программировании писал (и пишу) и поддерживал(-ю) различные программы на Дельфи, и немного на .Net.
Также есть некоторый опыт создания сайтов и их оптимизации/раскрутки/администрирования/проведения рекламных кампаний в интернете (Яндекс.Директ, Бегун, Блогун).
Увлечения:
В свободное время интересуюсь практической психологией (НЛП, EFT), иногда бываю на семинарах. Также интересуюсь восточными практиками (йога, цигун).
Что ищу ?
Мне были бы интересны заказные работы связанные с разработкой программ для микроконтроллеров (для семейства Atmel AVR имею возможность отладки на реальном чипе), программ управления для каких-либо устройств, созданием других программ и утилит. Также интересно создание и администрирование сайтов и форумов (движки: MODX, Wordpress, DLE, SMF, vBulletin, PHPBB), проведение рекламных кампаний в интернете.
Контакты
58976618