"ЖУРНАЛ РАДИОЭЛЕКТРОНИКИ" ISSN 1684-1719, N 12, 2017

оглавление              текст:   pdf  

УДК 618.19-006-07:616.073.756.8-027.552

Разработка программного обеспечения для многопроцессорной архитектуры персонального электроимпедансного маммографа ПЭМ

 

И. К. Лакеев, А. В. Корженевский, Т. С. Туйкин

ИРЭ им. В.А. Котельникова РАН, 125009, Москва, ул. Моховая 11, корп.7

 

Статья поступила в редакцию 8 декабря 2017 г.

 

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

Ключевые слова: программно-аппаратный комплекс, многопроцессорная архитектура, проблемы синхронизации, разработка и отладка, язык программирования python.

Abstract. Optimized software development for symmetric multiprocessing systems, especially the low-level ones, has always been hard in terms of achieving sustainable operational level with reasonable effort and in acceptable time. Through the process of personal electrical impedance mammograph software development and debugging it was shown that major drawback of Harvard-type architecture, implemented in modern AVR microprocessors, may be an issue in terms of precise interrupt-driven synchronization between several elements of the multiprocessor architecture because of the different length of commands and therefore often unpredictable execution timing before finishing the very last command and entering the particular interruption, that can be successfully mitigated in two steps: initial configuration of the job that needs to be done with respect to timing which should be followed by light sleep state and further synchronization interruption that will be able to wake up the modules and provide exact timing. It was also shown that during parallel usage of one UART of the micro controller unit to serve two dependent units one may experience frame errors unless UART reconfigured on demand.  Utilization of any python-based computational environments that support special kernels with enhanced introspection and parallel computing clusters management with the help of asynchronous status callbacks can significantly improve the development process speeding up the debugging routine. It is shown in the example of personal electrical impedance mammograph software development and debugging, especially on the late stages of development when the level of abstraction gets higher, particularly on the examples of experiment data results assessment on multiple levels from raw data to reconstructed images.

Keywords: hardware and software system, multiprocessing system, synchronization problem solving, debugging and development, python.

 

Ссылка на статью:

И. К. Лакеев, А. В. Корженевский, Т. С. Туйкин. Разработка программного обеспечения для многопроцессорной архитектуры персонального электроимпедансного маммографа ПЭМ. Журнал радиоэлектроники [электронный журнал]. 2017. №12. Режим доступа: http://jre.cplire.ru/jre/dec17/9/text.pdf