От автора:
Рынок электроники буквально «кишит» различными оценочными платами и аппаратно-программными платформами на базе микроконтроллеров. Все это предназначено для облегчения труда разработчиков электроники и радиолюбителей. Однако, процесс создания программ для подобных устройств, принципиально не меняется на протяжении десятилетий. И абсолютно не важно, какие используются микроконтроллеры, языки программирования, библиотеки функций и макросов, в любом случае обилие текста исходного кода, отладка и работа над ошибками неизбежны!
Я, как разработчик электроники, постоянно сталкиваюсь с проблемой оперативного написания программного кода для микроконтроллеров при тестировании в «железе» части схемотехнического решения или осуществления взаимодействия с каким-либо модулем или микросхемой еще на стадии построения концепции проектируемого устройства. Проблема заключается в том, что раз за разом приходится выполнять одни и те же действия, которые являются «пожирателями» драгоценного времени, это - создание нового или адаптация существующего проекта с конфигурированием внутренней периферии и параллельным штудированием документации к микроконтроллерам, внутренняя архитектура которых может быть архи сложной для понимания и изучения, даже профессиональным разработчикам.
Проанализировав огромное количество проектов на МК, я пришел к выводу, что в большинстве случаев используются типовые решения, в частности - режимы портов ввода-вывода, интерфейсы, функции и т.д. Взглянув на процесс проектирования под другим углом, я решил разработать свою аппаратно-программную платформу, соответствующую моим требованиям в сфере разработки электронных устройств. В результате многолетней работы с поиском решений, проб и ошибок, появилась концептуально новая система управления и программирования для устройств на базе микроконтроллеров «Табличная Виртуальная Машина» - ТВМ.
В процессе разработки ТВМ, я реализовал свою давнюю мечту, программный модуль синтеза речи для вывода числовой информации с единицами измерений и различных голосовых сообщений. Теперь программный модуль Фразового Синтеза Речи (ФСР) включен в тело ТВМ и доступен через функции вывода информации. Разработчику остается только указать в каком формате выводить числовую переменную, всю остальную работу по правильному, принятому в русской речи, произношению чисел и единиц измерений выполнит ФСР.
Кожевников Ю.В.
|
ОБЩАЯ ИНФОРМАЦИЯ
Табличная Виртуальная Машина (далее ТВМ) это однозадачная функций-ориентированная вычислительная система реального времени, устанавливаемая в качестве основной управляющей программы на микроконтроллер (далее МК) и выполняющая машинно-независимый программный код. ТВМ содержит все необходимые программные компоненты для обеспечения работы МК и выполнения прикладного программного обеспечения в составе электронной схемы. Создание прикладного программного обеспечения ТВМ осуществляется в интегрированной среде разработки «TVM IDE».
Особенности ТВМ:
- Табличная архитектура программы ТВМ.
- Сверх-компактная структура программного кода.
- Один контекстный тип переменных.
- Выполнение программ ТВМ с внутреннего или внешнего носителя.
- Загрузка на выполнение программы ТВМ через внешний интерфейс.
ТВМ включает в себя:
- Средства для внешнего управления и контроля.
- Средства инициализации внутренней периферии МК модулей.
- Интерпретатор байт-кода прикладного программного обеспечения.
- Функции портов ввода-вывода.
- Время задающие и время контролирующие функции.
- Функции работы с массивами данных.
- Функции вывода данных.
- Функция Группового Математического Вычисления (GMC).
- Функция Быстрого Преобразования Фурье (FFT).
- Программный модуль Фразового Синтеза Речи (ФСР).
- Дополнительные системные функции управления и контроля.
Конечная компоновка вычислительной системы ТВМ зависит от аппаратных возможностей МК под который она адаптирована и может отличаться на различных аппаратных платформах.
Структурная схема вычислительной системы ТВМ:

|