Научная статья на тему 'Особенности проектов с открытой производственной документацией на примере одноплатного компьютера'

Особенности проектов с открытой производственной документацией на примере одноплатного компьютера Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
348
86
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ОТКРЫТАЯ ДОКУМЕНТАЦИЯ / OPEN DOCUMENTATION / ПРОЕКТ / PROJECT / РАЗРАБОТКА / DEVELOPMENT / ПОДХОД / APPROACH

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Косенков Павел Александрович, Гатчин Юрий Арменакович

Рассмотрена модель создания аппаратных решений, особенностью которой является изначальная доступность всей проектной документации на проектируемое устройство, на примере проекта открытого одноплатного компьютера. Показаны особенности проектирования электронных устройств с моментальной публикацией промежуточных вариантов в общедоступном виде, а также соответствующие механизмы. Рассматривается возможность использования репозитория Subversion с интеграцией программы по автоматической генерации документации. Такой подход позволяет в автоматическом режиме параллельно с созданием проекта создавать документацию, которая может служить обучающим материалом, а в дальнейшем развивается до полноценного коммерческого продукта. Подход позволяет не только экономить ресурсы, но и продвигать разработку, используя открытость как конкурентное преимущество.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

FEATURES OF OPEN PRODUCTION DOCUMENTATION PROJECTS ON THE SINGLE BOARD COMPUTER EXAMPLE

The given work is devoted to the hardware creation model. The characteristic feature of the model is pro-ject documentation availability shown on the open single board computer example. Electronic devices design peculiarities with instant publication of intermediate variants in open type are shown. This feature allows in-creasing quality and decreasing founding and time of electronic device engineering. "Subversion" repository application is considered with integration of an automatic documentation generation program. Such approach gives the possibility to create documentation automatically and at the same time with the project design. This method allows not only to save resources but to promote the project using its openness as a competitive advantage.

Текст научной работы на тему «Особенности проектов с открытой производственной документацией на примере одноплатного компьютера»

УДК 004.383.4; 681.3

ОСОБЕННОСТИ ПРОЕКТОВ С ОТКРЫТОЙ ПРОИЗВОДСТВЕННОЙ ДОКУМЕНТАЦИЕЙ НА ПРИМЕРЕ ОДНОПЛАТНОГО КОМПЬЮТЕРА

П.А. Косенков, Ю.А. Гатчин

Рассмотрена модель создания аппаратных решений, особенностью которой является изначальная доступность всей проектной документации на проектируемое устройство, на примере проекта открытого одноплатного компьютера. Показаны особенности проектирования электронных устройств с моментальной публикацией промежуточных вариантов в общедоступном виде, а также соответствующие механизмы. Рассматривается возможность использования репозитория Subversion с интеграцией программы по автоматической генерации документации. Такой подход позволяет в автоматическом режиме параллельно с созданием проекта создавать документацию, которая может служить обучающим материалом, а в дальнейшем развивается до полноценного коммерческого продукта. Подход позволяет не только экономить ресурсы, но и продвигать разработку, используя открытость как конкурентное преимущество. Ключевые слова: открытая документация, проект, разработка, подход.

Введение

Сфера разработки и производства радиоэлектронных устройств, в том числе и вычислительной техники, постоянно наращивает темпы. Это касается не только производственных мощностей, но и этапов разработки устройства. Этому способствует как совершенствование автоматизированных средств разработки, так и методов, позволяющих экономить ресурсы и применять уже готовые, отработанные и проверенные решения, требующие минимальных изменений для получения готовой разработки. Один из таких методов - применение в производственном цикле открытых разработок программного и аппаратного обеспечения.

1. Модели создания продукции

В мировой практике разработок новых устройств существует тенденция к использованию уже готовых открытых программных разработок. Такой подход обеспечивает экономию на этапе подготовки как программного, так и аппаратного обеспечения и сокращает производственный цикл на данном этапе создания системы, а привлечение сообщества программистов после выпуска устройства позволяет поддерживать актуальность разработки неопределенно долгое время благодаря личной заинтересованности каждого в совершенствовании конечного продукта.

В работе рассматривается модель разработки устройства с открытой исходной документацией. Открытыми в проекте являются как исходные программные коды, так и чертежи печатной платы. В разработке устройства есть неизменный набор этапов:

1. разработка,

2. производство готового устройства,

3. получение потребителем устройства и составление отзывов на него,

4. обратная связь (ОС) с разработкой через службы сервиса и поддержки.

Рассмотрим особенности их реализации в зависимости от принятой модели создания продукции.

1.1. Закрытая модель

Эту модель использует большинство производителей и разработчиков электронных устройств. Ее особенностью является линейность всех этапов, причем каждый требует довольно серьезных денежных расходов. На рис. 1 представлена схема такого подхода. Производственная документация оседает у участников производственно цикла, оставляя

пользователю только инструкцию по пользованию. Это продиктовано, в первую очередь, довольно жесткой конкуренцией и исторически сложившимися патентными отношениями. Обратная связь в таком подходе реализуется с большой задержкой и начинает работать только после выхода продукта на рынок, а иногда вообще отсутствует.

\ ошибки Отзывы и

Рис.1. Пример реализации закрытой разработки

1.2. Открытая модель

В модели с применением открытых технологий образуются дополнительные обратные связи благодаря сообществу разработчиков, принимающих участие в разработке и модернизации устройства, в первую очередь по собственной инициативе. На рис. 2 показан пример модели, посвященный распространяемому продукту.

Основное отличие открытой модели заключается в том, что производственная документация находится в открытом доступе. С одной стороны, все технические преимущества, которые в предыдущей модели давали защиту от конкурентов, тут доступны всем, в том числе и самим конкурентам. Но, с другой стороны, такая модель позволяет организовать сообщество вокруг выпускаемого устройства - сообщество не просто пользователей, но и инженеров, которые могут на определенном этапе помочь с поиском и исправлением ошибок и добавлением новой функциональности. Такой подход позволит минимизировать издержки при проектировании устройства и последующей его поддержке, а в результате разработки останется сформированная база инженерных и кадровых ресурсов в виде наработанных программно-аппаратных решений и сообщества разработчиков, которые принимали участие в создании устройства.

Как показывает опыт, большинство участников сообщества - энтузиасты, желающие дополнить и/или переделать устройство под свои нужды, а процесс наращивания функционала довольно хаотичен. Чтобы направить инженерную деятельность в нужное русло, можно применять стимулирование, обозначив задачу и объявив поощрение за ее выполнение. Постепенно сообщество будет нарабатывать опыт в виде описаний решений, исходных кодов и другой документации на устройство, который можно будет использовать в будущих разработках. Стоит заметить, что данное сообщество будет не только работать в инженерном плане, но и стимулировать распространение устройства, привлекая новых участников обширной документацией и расширяемой функциональностью устройства. Таким образом, использование открытых технологий позволяет существенно повлиять на этап разработки и обеспечить более продуктивную ОС.

Рис. 2. Пример реализации открытой разработки

Отметим, что все вышеописанное применимо только к устройствам, подразумевающим довольно обширные возможности. В качестве примера был инициализирован проект открытого одноплатного компьютера на базе ARM (Advanced RISC Machine)-архитектуры.

2. Проект одноплатного компьютера на базе архитектуры ARM

В рамках открытого проекта [1] была начата работа над одноплатным компьютером на базе микропроцессора с архитектурой ARM9 (at91rm9200) [2]. В дальнейшем проект получил развитие на новом процессоре (at91sam9260), который имеет более совершенную архитектуру, что позволило реализовать ряд дополнительных возможностей.

2.1. Плата на базе микропроцессора архитектуры ARM

Общая функциональная схема компьютера представлена на рис. 3, где показаны все основные блоки и линии передачи информации между ними.

Ниже приведен перечень компонентов, использованных в системе:

- процессор ARM9 200MIPS, Atmel AT91SAM9260;

- оперативная память SDRAM 64МБ/128 МБ (две микросхемы по 16 бит), разрядность шины памяти 32 бита;

- встроенный NAND Flash на 256, 512 или 1024 Мб (Samsung K9F2G08U0A-P, возможна установка двух чипов);

- часы реального времени (Integrated RTC/Alarm and 64 Kb FRAM) на I2C;

- USB host 1 порт, 12 Мбит/с;

- USB device 1 порт, 12 Мбит/с;

- RS-232 (debug) + COM0(Порт модемный) + COM1(RS232) +1 RS485;

- Ethernet 10/100 (Micrel KS8721BL);

- IDE порт 40 pin (на шине памяти) или CF в IDE mode (3,3 TTL уровни на выход, совместимы с 5 В на вход, на шине - двунаправленные буферы с малой емкостью);

- CODEC AC97 - линейный стереовыход, стереовыход на наушники 16 Ом, микрофонный вход (TLV320AIC23B - до 100 dB SNR);

- CMOS Image Sensor (порт);

- Serial Flash (предусмотрена возможность установки, планируется перенос в NAND flash в серийной версии);

- SD интерфейс (единственный компонент на обратной стороне);

- Video Controller на SPI (ALTERA MAX2 EPM570; 1 MB SRAM (2x K6R4008V1D); D-SUB с резистивным 4-битным ЦАП на каждый канал, свободные выводы выведены на разъем).

EBI

Рис. 3. Функциональная схема компьютера

Исполнение печатной платы - 4-слойное, размер 160*100 мм (модифицированный форм-фактор Eurocard). Разъем IDE располагается таким образом, что при использовании углового IDC female разъема можно установить жесткий диск под плату путем состыковки с разъемом и закреплением на 4 болта (соответствующие места для крепления предусмотрены). Питание 6 - 35 В DC, желательно - 12 В с возможностью нагрузки до 3А, чтобы обеспечить питание винчестеру прямо с платы, установив стандартный разъем (MOLEX). Если надобность в жестком диске отсутствует, то предельное потребление не превышает 0,5 А.

Вся документация к проекту находится в открытом доступе [3]. Совместная работа организована через проектный репозиторий Subversion, общение и информационная поддержка - через группы Google [3].

Разрабатываемый компьютер будет поддерживать полный перечень встраиваемых операционных систем, таких как Linux и WinCE. Среди программистов в сообществе разработчиков есть энтузиасты, которые планируют адаптировать для этой платформы FreeBSD, Gentoo и Debian.

Сам проект был анонсирован в инженерной среде, после чего получил поддержку кафедры твердотельной электроники при СПбГПУ. По мере развития проекта стали подключаться другие инженеры, желающие внести посильный вклад в развитие идеи. В частности, код для видеоадаптера на ПЛИС ALTERA MAX2 EPM570 был написан энтузиастом, который хотел более подробно изучить работу с ПЛИС, а написанием основно-

го загрузчика для этой платы в данный момент занимается программист с серьезным опытом работы над подобными задачами. Сейчас уже получены первые предсерийные образцы компьютера для тестирования и отладки программы загрузчика. К сожалению, именно на этом этапе появились трудности, но они устранимы, и в скором времени планируется первая серия (уже более 50 экземпляров по предварительным заказам).

ооооооооооооо ооооооооооооо

-150.0-

Рис. 4. Компоновка печатной платы компьютера

2.2. Организация свободного доступа к документации

Для совместного документооборота организован сервер Subversion (далее SVN). Механизм работы над проектом с применением SVN представлен на рис. 5. SVN - это свободная система управления версиями с открытым исходным кодом. SVN позволяет управлять файлами и каталогами во времени. Дерево файлов помещается в центральное хранилище, которое похоже на обычный сервер файлов, но запоминает каждое изменение, внесенное в файл или каталог. Это позволяет восстановить ранние версии данных, исследовать историю изменений данных.

SVN обращается к хранилищу по сети. Возможность совместной работы с одним и тем же набором данных поощряет сотрудничество. В отсутствие единственного контролирующего звена, через которое должны проходить все изменения, работа становится более эффективной. Если в данные будут внесены ошибочные изменения, можно сделать откат к прежнему состоянию [4, 5].

Для начальной работы с репозиторием в Windows достаточно установить SVN и графический интерфейс TortoiseSVN. После установки, возможно, потребуется перезагрузка. Для доступа нужно создать пустую папку с именем проекта (например, arm9eb). Далее в контекстном меню папки нужно найти пункт SVNCheckout, в поле URL of repository ввести svn://194.85.238.22/home/users/george/svn/arm9eb, остальное оставить без изменений. После подтверждения настройки у папки появится информационная иконка и новые пункты контекстного меню. Самое первое и простое, что нужно сделать, - в контекстном меню папки выбрать SVN Update. Процесс первого обновления

будет относительно долгим (сейчас проект занимает около 50 Мб), однако впоследствии будет происходить только обновление изменений.

Для полноценной работы целесообразно дополнительно установить программы ёоху§еп (средство автоматического формирования документации) и ОгарЬу12 (средство автоматической генерации блок-схем и графов). После установки этих компонентов можно будет создавать локальную документацию в виде Ь1т1-страниц из исходных файлов проекта. Такая документация будет иметь структурированный вид по разделам и дополнительную справку по программному коду.

Представленный подход к созданию устройств на данный момент является одним из перспективных и интересных как для коммерческого направления, так и для образовательных целей. Несомненно, метод разработки устройств с открытой производственной документацией требует проработки. Именно этому вопросу автор статьи планирует посвятить будущие изыскания. В частности, проект одноплатного компьютера на базе АВМ-архитектуры является пилотным проектом, на котором будут отработанны механизмы группового проектирования и создания документации, отладки предсерийных образцов и способы управления сообществом.

Описанный подход хорошо вписывается в учебную программу кафедры проектирования компьютерных систем при СПбГУ ИТМО. Совместно со студентами и преподавателями кафедры планируется запустить несколько подобных проектов в качестве учебного задания и для развития идеи открытой производственной документации.

1. Открытый проект одноплатного компьютера на базе ARM микропроцессора. - Режим доступа: at91rm9200 http://electronix.ru/forum/index.php?showforum=139, своб.

2. Косенков П.А., Терентьев А.О. Особенности проектирования современных встраиваемых электронно-вычислительных систем и разработка плат для прототипирова-ния // Научно-технический вестник СПбГУ ИТМО. - 2007. - Вып. 40. - С. 16-21.

Рис. 5. Механизм работы над проектом

Заключение

Литература

3. Открытый одноплатный компьютер. - Режим доступа: http://groups.google.com/group/arm9fpga-evolution-board? hl=ru, своб.

4. Документация по файловому репозиторию Subversion. - Режим доступа: http://svnbook.red-bean.com/, своб.

5. Описание принципов работы файлового репозитория Subversion. - Режим досту-па:http://linux.fopf.mipt.ru/files/other/Subversion/ru/svn.basic.html, своб.

Косенков Павел Александрович — Санкт-Петербургский государственный универ-

ситет информационных технологий, механики и оптики, аспирант, microtrigger@gmail.com

Гатчин Юрий Арменакович — Санкт-Петербургский государственный универ-

ситет информационных технологий, механики и оптики, доктор технических наук, профессор, gatchin@mail. ifmo .ru

УДК 535.417

РАСЧЕТ ПОЛЯРИЗАЦИОННЫХ ЭЛЕМЕНТОВ УПРАВЛЕНИЯ В ИССЛЕДОВАНИЯХ МАССОПЕРЕНОСА СПЛОШНЫХ СРЕД З.Г. Симоненко, О.Л. Студеникин, О.В. Елисеев

Работа посвящена вопросам анализа расчета поляризационных элементов для приборов поляризационной интерферометрии с элементами нуль-эллипсометрии.

Ключевые слова: поляризационные элементы, моделирование, процесс переноса масс, эллипсометрия.

Введение

Положения теории алгоритмизации в механике сплошных сред (МСС) были созданы для формализации и разработки общей методики построения математической модели. Разработка алгоритма такой модели позволяет создать программу, состоящую из подпрограмм для отдельных элементов прибора, которые можно заменить или скорректировать по результатам физического эксперимента более точными аналогами.

В оптико-физических исследованиях физическим носителем информации является электромагнитное излучение, состояние поляризации которого определяется ориентацией вектора напряженности электрического поля в плоскости волнового фронта и изменяется при взаимодействии со средой [1]. Наиболее действенными методами исследований состояния поляризации являются эллипсометрия пропускания и отражения поляризованных световых волн.

Приборы поляризационной интерферометрии с элементами нуль-эллипсометрии, применяемые в механике сплошных сред для изучения процесса массопереноса жидких бинарных систем, описаны в работе [2]. Наиболее высокие требования в этих приборах предъявляются к элементам управления ориентацией поляризованных составляющих интенсивности лазерного излучения -поляризаторам (анализаторам), в том числе отражающим, преломляющим, с дву-лучепреломлением, дихроичным поляроидам, фазосдвигающим элементам (компенсаторам). Для их моделирования используются такие математические методы, как сферы Пуанкаре, векторы Стокса, Мюллера, Джонса [3].

Целью данной работы является анализ расчетов существующих математических моделей поляризационных элементов, используемых при изучении процесса массопереноса сплошных сред.

i Надоели баннеры? Вы всегда можете отключить рекламу.