Разработка приемной части системы мониторинга транспортных средс. Разработка приёмной части системы мониторинга транспортных средств
![]()
|
Разработка прикладного алгоритмического и программного обеспечения приемной части системы оперативного мониторинга транспортных средств В данном разделе представлен разработанный проект в среде VisualDSP, которая имеет возможность написания кода для сигнальных процессоров семейства ADSP-21XX, в частности для процессора ADSP-2181, используемого в оборудовании для системы оперативного мониторинга транспортных средств. Среда разработки и применяемые в проекте коды указаны на рисунке 17. Разработанный проект выполняет приём полученного аналогового сообщения, его дальнейшую обработку, формирование цифрового сигнала и его дальнейшее сохранение в памяти оборудования. «Оригинальные исследования» (ОРИС) • № 05 • 2021 ores.su 51 Рисунок 17. Среда разработки VisualDSP Проект состоит из нескольких программ выполняющие определенные функции: 1) Программа генерации аналогового сигнала; 2) Программа реализации КИХ фильтра; 3) Программа демодуляции и аналогово-цифрового преобразования; В итоге был разработан проект, выполняющий работу приемной части системы оперативного мониторинга транспортных средств. Заключение В данной работе была успешно разработана приемная часть оборудования системы оперативного мониторинга транспортных средств на базе сигнального процессора ADSP- 2181. Такая система может быть использована для различных автотранспортных предприятий и позволит добиться полного контроля над действиями сотрудников. В процессе разработки было решено множество вопросов связанных с организацией создаваемой системы. Была произведена модификация протокола VDL Mode 4 для его применения в наземных транспортных средствах, ввиду его возможностей по созданию самоорганизующейся сети и функции передачи информации по типу транспорт- транспорт и транспорт-оператор. Была разработана функциональная схема, описывающая принцип работы оборудования, а так же его электрическая схема, включающая в себя все используемые элементы для функционирования оборудования. Основным этапом проделанной работы являлась разработка программного обеспечения в среде VisualDSP на «Оригинальные исследования» (ОРИС) • № 05 • 2021 ores.su 52 языке сигнального процессора ADSP-2181, для реализации приёма аналоговых сигналов и преобразования их в цифровые для последующего чтения и передачи. Стоит отметить, что данную систему можно развивать и улучшать, увеличивая количество оборудований в сети или добавляя оборудованию функционал, что говорит о гибкости разработанной системы и ее потенциалу к расширению. В итоге, цель проделанной работы была достигнута. Получилось успешно реализовать приём и обработку сообщения, а полученный цифровой сигнал соответствует изначально сгенерированному, из чего следует, что процессор принимает правильную информацию. Список литературы 1. Международная организация гражданской авиации (ИКАО) Руководство по цифровой линии передачи данных (ЛПД) частотного диапазона (VHF). Часть 1, 2004. – 245с. 2. Шаврин С. С., Климов Д. А. Реализация базовых операций защиты информации на сигнальных процессорах. Часть 1: Учебное пособие / МТУСИ. – М., 2012. – 68с. 3. Шаврин С. С. Реализация базовых операций защиты информации на сигнальных процессорах. Часть 2: Учебное пособие / МТУСИ. – М., 2016. – 42с. 4. Шаврин С. С., Зуйкова Т. Н., Мусатова О. Ю. Реализация базовых операций защиты информации на сигнальных процессорах. Часть 2: Учебное пособие / МТУСИ. – М., 2018. – 36с. 5. Мельник С. В., Зуйкова Т. Н., Мусатова О. Ю., Шаврин С. С. Исследование эффектов ограничения разрядной сетки при цифровой обработке сигналов. Практикум/ МТУСИ. – М., 2017. – 24с. 6. Р. Лайонс Цифровая обработка сигналов: Второе издание. Пер. с англ. – М.: ООО «Бином-Пресс», 2006. – 656с. 7. Д. Прокис Цифровая связь. Пер. с англ./ Под ред. Д. Д. Кловского. – М.: Радио и связь, 2000. – 800с. 8. К. Феер Беспроводная цифровая связь. Методы модуляции и расширения спектра. Пер. с англ./ Под ред. В. И. Журавлева. – М.: Радио и связь, 2000. – 520с. 9. Руководство пользователя по сигнальным микропроцессорам семейства ADSP-2100. Пер. с англ./ Под ред. А. Д. Викторова. – Санкт-Петербургский государственный электротехнический университет. - Санкт-Петербург, 1997. – 520с. 10. Концепция использования ADS-B (AN-Conf/11-WP/6), 2003. -55p. References 1. International Civil Aviation Organization (ICAO) Manual for Digital Data Link (VHF) Frequency Band (VHF). Part 1, 2004. - 245s. 2. Shavrin S. S., Klimov D. A. Implementation of basic information protection operations on signal processors. Part 1: Textbook / MTUCI. - M., 2012. - 68s. 3. Shavrin S. S. Implementation of basic operations of information protection on signal processors. Part 2: Textbook / MTUCI – - M., 2016. - 42s. 4. Shavrin S. S., Zuikova T. N., Musatova O. Yu. Implementation of basic information protection operations on signal processors. Part 2: Textbook / MTUSI – - M., 2018. - 36s. 5. Melnik S. V., Zuikova T. N., Musatova O. Yu., Shavrin S. S. Investigation of the effects of limiting the bit grid in digital signal processing. Practicum / MTUCI – - M., 2017. - 24s. «Оригинальные исследования» (ОРИС) • № 05 • 2021 ores.su 53 6. R. Lyons Digital signal processing: Second edition. Per. s engl. - M.: OOO "Binom-Press", 2006. - 656s. 7. D. Prokis Digital communication. Per. s engl./ Ed. D. D. Klovsky. - M.: Radio and Communication, 2000 – - 800s. 8. K. Feer Wireless digital communication. Methods of modulation and spectrum expansion. Per. s eng. / Ed. V. I. Zhuravlev. - M.: Radio and communication, 2000 – - 520s. 9. User's guide to signal microprocessors of the ADSP-2100 family. Per. s eng./ Ed. A.D. Viktorov. - St. Petersburg State Electrotechnical University. - Saint Petersburg, 1997. - 520c. 10. The concept of using ADS-B (AN-Conf/11-WP/6), 2003. - 55p. «Оригинальные исследования» (ОРИС) • № 05 • 2021 ores.su 54 Приложение А Разработка программы генерации аналогового сигнала Данная программа является вспомогательной и была разработана для имитации случайного аналогового сигнала. Программа «PSP+BUF» сначала генерирует псевдослучайную последовательность нулей и единиц при помощи генератора самосинхронизующейся последовательности, после чего простейшим модулированием и разработанным методом ЦАП на языке ADSP-2181 преобразует аналоговый сигнал в цифровой. Далее представлен листинг программы генерации аналогового сигнала: Page 1 .\psp+but.dsp ADI EASM218x (Version 2.10.4.5) 19 May 2020 17:34:45 offset opcode line ====== ====== ==== 0 1 .section/dm data1; 0 2 .var/circ analog[816]; 3 0 4 .section/pm program; 0 0c0800 5 dis ar_sat; 1 340000 6 i0=analog; 2 340008 7 l0=length(analog); 3 340014 8 m0=1; 4 4ffe0a 9 ar=0xffe0; 5 3c0645 10 cntr=100; 6 14000e 11 do gen until ce; 7 0d004a 12 ay0=ar; 8 22620f 13 ar=ar+ay0; 9 23ca58 14 if ac ar=tglbit 5 of ar; a 279a9f 15 af=tstbit 0xe of ar; b 23ca51 16 if ne ar = tglbit 5 of ar; c 279adf 17 af=tstbit 0xf of ar; d 1c0000 18 if eq call minus; e 1c0001 19 if ne call plus; f 20 gen: f 000000 21 nop; 22 10 23 plus: 10 47d000 24 ax0=32000; 11 3c0085 25 cntr=8; 12 14000e 26 do metka_p until ce; 13 27 metka_p: 13 680000 28 dm(i0,m0)=ax0; 14 018000 29 io(0)=ax0; 15 0a000f 30 rts; 31 16 32 minus: 16 483000 33 ax0=-32000; 17 3c0085 34 cntr=8; «Оригинальные исследования» (ОРИС) • № 05 • 2021 ores.su 55 18 14000e 35 do metka_m until ce; 19 36 metka_m: 19 680000 37 dm(i0,m0)=ax0; 1a 018000 38 io(0)=ax0; 1b 0a000f 39 rts; Как результат выполнения программы, будет получен файл в формате «.txt», содержащий отсчеты сгенерированного аналогового сигнала. «Оригинальные исследования» (ОРИС) • № 05 • 2021 ores.su 56 Приложение Б Разработка программы реализации КИХ фильтра Разработанная программа «FILTER» реализует фильтрацию входящего аналогового сигнала. Применяется для исключения паразитирующих шумов на сигнале, передающемся в канале передачи. Так как фильтру нужно время на заполнение отсчетов и перемножение каждого из них со всеми значениями импульсной характеристики, то сигнал на выходе идёт с задержкой в начале передачи, но это не влияет на конечную информацию. Для работы программы сначала заполняется буфер на 80 значений, состоящий из значений импульсной характеристик фильтра, которая была получена в отдельной программе и передана файлом «G11.dat». Данная импульсная характеристика одинакова для всех фильтров на приёме и передаче оборудований в системе. На вход фильтра через параллельный порт входа/выхода IO(0) процессора подаётся полученный в прошлой программе «PSP+BUF» аналоговый сигнал. Далее представлен листинг под программы реализующий фильтрацию входящего аналогового сигнала: Page 1 .\filter.dsp ADI EASM218x (Version 2.10.4.5) 19 May 2020 12:13:05 offset opcode line ====== ====== ==== 0 1 .SECTION/DM data1; 0 2 .var/circ signal[80]=0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9 0, 0, 0, 0, 0, 0, 0, 0, 0, 0; 0 10 .section/pm data2; 0 11 .var/circ imp[80]="G11.dat"; 11 0 12 .section/pm program; 0 380000 13 i4=imp; 1 380008 14 l4=length(imp); 2 380014 15 m4=1; 3 380005 16 m5=0; 4 400ff5 17 ay1=0x00ff; 5 40000f 18 sr1=0; 6 380000 19 i4=imp; 7 380008 20 l4=length(imp); 8 380014 21 m4=1; 9 340000 22 i0=signal; a 340008 23 l0=length(signal); b 340004 24 m0=0; c 340015 25 m1=1; d 500060 26 my0=pm(i4,m4); e 3c3305 27 cntr=816; «Оригинальные исследования» (ОРИС) • № 05 • 2021 ores.su 57 f 14000e 28 do output until ce; 10 010002 29 mx0=io(0); 11 689821 30 dm(i0,m1)=mx0, mr=0; 12 3c04e5 31 cntr=78; 13 14000e 32 do filtr until ce; 14 33 filtr: mr=mr+mx0*my0 (ss), mx0=dm(i0,m1), my0=pm(i4,m4); 14 e90001 33 15 e90000 34 mr=mr+mx0*my0 (ss), mx0=dm(i0,m0), my0=pm(i4,m4); 16 510060 35 mr=mr+mx0*my0 (ss), my0=pm(i4,m4); 17 20580f 36 mr=mr(rnd); 18 050000 37 if mv sat mr; 19 38 output: io(1)=mr1; 19 01801c 38 39 В результате выполнения данной программы на параллельном порте входа/выхода IO(1) получаем отфильтрованный входящий аналоговый сигнал, который сохраняется в памяти устройства в формате «.txt». Для применения данной программы в реальном времени необходимо настроить ее на работу с непрерывным сигналом с обработкой в реальном времени. Для этого необходимо изменить код, добавив в него систему прерываний по таймеру и настроить таймер основываясь на частоту дискретизации. Ниже представлен листинг программы реализующей фильтрацию сигнала в реальном времени: Page 1 .\filter+rti.dsp ADI EASM218x (Version 2.10.4.5) 19 May 2020 14:17:19 offset opcode line ====== ====== ==== 0 1 .SECTION/DM data1; 0 2 .var/circ signal[80]=0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9 0, 0, 0, 0, 0, 0, 0, 0, 0, 0; 0 10 .section/pm data2; 0 11 .var/circ imp[80]="G11.dat"; 11 0 12 .section/pm program; 0 18000f 13 jump start; rti; rti; rti; 1 0a001f 13 2 0a001f 13 3 0a001f 13 4 0a001f 14 rti; rti; rti; rti; 5 0a001f 14 6 0a001f 14 «Оригинальные исследования» (ОРИС) • № 05 • 2021 ores.su 58 7 0a001f 14 8 0a001f 15 rti; rti; rti; rti; 9 0a001f 15 a 0a001f 15 b 0a001f 15 c 0a001f 16 rti; rti; rti; rti; d 0a001f 16 e 0a001f 16 f 0a001f 16 10 0a001f 17 rti; rti; rti; rti; 11 0a001f 17 12 0a001f 17 13 0a001f 17 14 0a001f 18 rti; rti; rti; rti; 15 0a001f 18 16 0a001f 18 17 0a001f 18 18 0a001f 19 rti; rti; rti; rti; 19 0a001f 19 1a 0a001f 19 1b 0a001f 19 1c 0a001f 20 rti; rti; rti; rti; 1d 0a001f 20 1e 0a001f 20 1f 0a001f 20 20 0a001f 21 rti; rti; rti; rti; 21 0a001f 21 22 0a001f 21 23 0a001f 21 24 0a001f 22 rti; rti; rti; rti; 25 0a001f 22 26 0a001f 22 27 0a001f 22 28 18000f 23 jump filter; rti; rti; rti; 29 0a001f 23 2a 0a001f 23 2b 0a001f 23 2c 0a001f 24 rti; rti; rti; rti; 2d 0a001f 24 2e 0a001f 24 2f 0a001f 24 30 25 start: i4=impr; 30 380000 25 31 380008 26 l4=length(impr); 32 380014 27 m4=1; 33 380005 28 m5=0; 34 400ff5 29 ay1=0x00ff; 35 40000f 30 sr1=0; «Оригинальные исследования» (ОРИС) • № 05 • 2021 ores.su 59 36 380000 31 i4=impr; l4=length(impr); m4=1; 37 380008 31 38 380014 31 39 340000 32 i0=signal; l0=length(signal); m0=0; m1=1; 3a 340008 32 3b 340004 32 3c 340015 32 3d 500060 33 my0=pm(i4,m4); 3e 40004a 34 ar=4; 3f 93ffba 35 dm(0x3ffb)=ar; 40 403e7a 36 ar=999; 41 93ffca 37 dm(0x3ffc)=ar; 42 93ffda 38 dm(0x3ffd)=ar; 43 3c0ffc 39 ifc=0x00ff; 44 000000 40 nop; 45 3c0013 41 imask=b#00000000000001; 46 000000 42 nop; 47 0cc000 43 ena timer; 48 44 zacycl: jump zacycl; 48 18000f 44 49 45 filter: mx0=io(0); 49 010002 45 4a 689821 46 dm(i0,m1)=mx0, mr=0; 4b 3c04e5 47 cntr=78; 4c 14000e 48 do filt until ce; 4d 49 filt: mr=mr+mx0*my0(ss), mx0=dm(i0,m1), my0=pm(i4,m4); 4d e90001 49 4e e90000 50 mr=mr+mx0*my0(ss), mx0=dm(i0,m0), my0=pm(i4,m4); 4f 510060 51 mr=mr+mx0*my0(ss), my0=pm(i4,m4); 50 20580f 52 mr=mr(rnd); 51 050000 53 if mv sat mr; 52 01801c 54 io(1)=mr1; 53 0a001f 55 rti; «Оригинальные исследования» (ОРИС) • № 05 • 2021 ores.su 60 Приложение В Разработка программы демодуляции и аналогов-цифрового преобразования Данная программа «DEM+ADG» реализует параллельную демодуляцию и аналогово-цифровое преобразование полученного отфильтрованного сигнала. На вход процессора через параллельный последовательный порт IO(0) последовательно подаются отсчеты отфильтрованного аналогового сигнала. Листинг программы реализующей преобразование в цифровой сигнал: Page 1 .\dem+adg.dsp ADI EASM218x (Version 2.10.4.5) 19 May 2020 17:20:27 offset opcode line ====== ====== ==== 0 1 .section/dm data1; 2 0 3 .var/circ bits[816]; 0 4 .section/pm program; 5 0 340000 6 i0=bits; 1 340008 7 l0=length(bits); 2 340014 8 m0=1; 3 3c3305 9 cntr=816; 4 14000e 10 do dec until ce; 5 010000 11 ax0=io(0); 6 400004 12 ay0=0; 7 22e00f 13 ar=ax0-ay0; 8 1c0002 14 if gt call one; 9 1c0003 15 if le call zero; a 6800a0 16 dm(i0,m0)=ar; b 17 dec: b 01801a 18 io(1)=ar; 19 c 3c0665 20 cntr=102; d 14000e 21 do adr until ce; e 40000a 22 ar=0; f 3c0085 23 cntr=8; 10 14000e 24 do sred_bit until ce; 11 600040 25 ay0=dm(i0,m0); 12 22620f 26 ar=ar+ay0; 13 27 sred_bit: 13 000000 28 nop; 29 14 400044 30 ay0=4; 15 0d000a 31 ax0=ar; 16 22e00f 32 ar=ax0-ay0; 17 1c0002 33 if gt call one; 18 1c0003 34 if le call zero; 19 35 adr: 19 01802a 36 io(2)=ar; «Оригинальные исследования» (ОРИС) • № 05 • 2021 ores.su 61 37 1a 38 one: 1a 400010 39 ax0=1; 1b 0d00a0 40 ar=ax0; 1c 0a001f 41 rti; 42 1d 43 zero: 1d 400000 44 ax0=0; 1e 0d00a0 45 ar=ax0; 1f 0a001f 46 rti; 47 48 В итоге будет сформирован файл в формате «.txt» содержащий последовательность нулей и единиц, которая совпадает со сгенерированной в первой программе последовательности, но со сдвигом, о котором было описано раннее. |