Моделирование широкополосных элементов активных фазированных антенных решеток
Анализ широкополосного излучающего элемента. Программный пакет синтеза амплитудно-фазового разделения линейной антенной решетки методом парциальных диаграмм. Создание стенда для тестирования синтезатора частот. Расчет внешней индуктивности для настройки.
Рубрика | Коммуникации, связь, цифровые приборы и радиоэлектроника |
Вид | диссертация |
Язык | русский |
Дата добавления | 23.07.2016 |
Размер файла | 2,9 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Устройства в которых ФАПЧ регулярно отключается или частота периодически перепрограммируется минимизируют или исключают эффект температурного дрейфа, т.к. ГУН переключается в другое состояние. В применении синтезатора, когда температура окружающей среды может существенно колебаться после самонастройки, может быть необходимо наблюдать сигнал панели детектора захвата (LDETB) на контакте AUXOUT, что бы определить не находится ли ФАПЧ в состоянии близком к потере захвата. Пояснения как установить режим LDETB на выходе AUXOUT даны далее. Сигнал LDETB становится малым после завершения действия самонастраивающегося алгоритма, но возрастает когда петли ФАПЧ IF или RF приближаются к пределам полосы компенсации. LDETB так же в высоком состоянии, когда любая ФАПЧ выполняет самонастраивающийся алгоритм. Выходная частота все еще находится в захвате, когда LDETB повышается, но ФАПЧ периодически теряет захват, если температура продолжает меняться в одном направлении. Поэтому, если LDETB повышается обе IF и RF петли ФАПЧ должен быть инициализирован самонастраивающийся алгоритм.
Выходные частоты.
Выходные частоты IF и RF устанавливаются регистрами R- и N- делителями. Каждая ФАПЧ имеет свои R и N регистры, т.е. может быть запрограммирована независимо. Программируя любой из регистров R- или N- делителя для RF1или RF2 автоматически выбирается соответствующий выход.
Опорная частота на XIN контакте делится на Rи такой сигнал является входным для детектора фазы петли ФАПЧ. На другой вход фазового детектора приходит сигнал ГУНа ФПАЧ деленный на N. Действие ФАПЧ направлено на то, чтобы сделать эти частоты одинаковыми.
Таким образом, после определяющего процесса:
,
,
Значение R устанавливается программированием RF1 регистра R-делителя (регистр 6), RF2регистра R-делителя (регистр 7), IF регистра R-делителя (регистр 8).
Значение N устанавливается программированием RF1 регистра N-делителя (регистр 3), RF2 регистра N-делителя (регистр 4), IF регистра N-делителя (регистр 5).
Каждый N-делитель выполнен как обычный высокоскоростной делитель. Т.е. он состоит двухмодульного предусилителя, поглощающего счетчика и медленного синхросчетчика. Однако, контроль этих под схем осуществляется автоматически. Должен быть установлено только значение N.
Динамика петли ФАПЧ.
Время отклика каждой ФАПЧ определяется частотой обновления фазового детектора f (равная fREF/R)и усиление каждого фазового детектора программируется для каждого RF1, RF2, IF синтезатора (Регистр 1). 4 различные настройки усиления фазового детектора доступны для каждого ФАПЧ. Наибольшее усиление программируется настройкой двух битов усиления фазового детектора в 00, а наименьшее настройкой битов в 11.Значения доступных усилений соотносятся к максимальному как в таблице 3:
Таблица 3. Значения усилений (Регистр 1).
KPБиты |
Условное усиление фазового детектора |
|
00 |
1 |
|
01 |
1/2 |
|
10 |
1/4 |
|
11 |
1/8 |
Биты усиления автоматически устанавливаются в 1 посредством бита AutoKP (бит 2) в регистре Main Configuration (Основная настройка). В настройки этого бита входит оптимизация значения усиления под данное значение N. В основном, наибольшее усиление детектора фазы уменьшает фазовый шум в полосе и увеличивает скорость прохождения ФАПЧ до момента, в котором стабильность становится на грани потери. Оптимальное усиление зависит от N. В таблице 4 показан список рекомендуемых настроек для разных значений N. Такие настройки включаются, когда бит AutoKP установлен в «1».
Таблица 4. Оптимальные настройки KP.
Усиление ГУНа и петлевой фильтр не управляются.
Настройки тактирования петли ФАПЧ прямо пропорциональны периоду обновления фазового детектора T (T равен 1/f. В течении первых 13 периодов обновления Si4133 выполняет алгоритм самонастройки. Далее ФАПЧ контролирует выходную частоту. Вследствие уникальности архитектуры ФАПЧ Si4133 время необходимое для закрепления выходной частоты до значения ошибки в 0.1 ppmавтоматически равно 25 периодам обновления. Общее время после включения питания или программного изменения частоты до синтеза частоты, включая время закрепления, для алгоритма саморегулирования около 40 периодов обновления.
ВЧ и ПЧ выходы.
Контакты RFOUT и IFOUT управляются усилителями, которые содержат ГУНы RF и ГУН IF, соответственно. Выход RF принимает входной сигнал от ГУНа RF1 или RF2, в зависимости от того чей регистр R- или N-делителя был записан последним. Например, программирование регистра N-делителя автоматически выбирает выход ГУНа RF1.
На рис.28 показана схема подключения Si4133 к входам и выходам. RF выходы должны быть развязаны с их нагрузками через конденсатор. Внешняя индуктивность между RFOUT контактом и развязывающим конденсатором должна присутствовать как часть согласования выходной линии для достижения максимального значения мощности доводимой до нагрузки. Такие индуктивности, 0.62нГн и 2.4нГн, может быть реализована при помощи дорожки на плате. Схема построена таким образом, чтобы поддерживалось соответствующее согласование внешней 50 Омной нагрузке для обеих RF1 и RF2 частотных полос. Согласование линии также служит фильтром выходных сигналом для уменьшения искажения гармоник.
Рис.28. Схема подключения Si4133.
Контакт IFOUT так же должен быть развязан с его нагрузкой через конденсатор. Уровень Выхода IF зависит от нагрузки. На рисунке 29 показаны зависимости выходных напряжений от сопротивлений нагрузки для выходной частоты. Для резистивной нагрузки более 500 Ом выходной уровень мощности приходит в насыщение и токи смещения на усилителе выхода ПЧ больше ожидаемых. Бит LPWR в регистре 0 (Main Configuration) может быть установлен в 1 для уменьшения токов смещения и так же уменьшить мощность рассеивания усилителем ПЧ. Для нагрузок меньших 500 Ом LPWR должен быть установлен в 0 для увеличения выходного уровня.
Рис.29. Зависимость типовых значений выходного напряжения ПЧ от сопротивления нагрузки на 550 МГц.
Для частот ПЧ больших, чем 500 МГц, выходная цепь должна быть согласована с 50 Омной нагрузкой (см. рис. 30). Значение LMATCH может быть определено по таблице 5.
Рис. 30. Линия ПЧ для частот больше 500 МГц.
Таблица.5. Значения LMATCH.
Для частот меньших 500 МГц устройство ПЧ выхода может напрямую подавать выходной сигнал на резистивную нагрузку от 200 Ом. Для резистивных нагрузок больших, чем 500 Ом (f<500 МГц) бит LPWR может быть установлен для уменьшения мощности потребляемой устройством выхода ПЧ (см. рис. 31).
Рис. 31. Линия ПЧ для частот меньше 500 Мгц.
Усилитель опорной частоты.
Si4133 содержит усилитель опорной частоты. Если подаваемый сигнал имеет уровни КМОП, он может быть подан непосредственно на XIN контакт. В любом другом случае сигнал опорной частоты должен быть развязан с контактом XIN560 пФ конденсатором.
Состояния отключения питания.
В таблице 6 показаны состояния отключения питания. Si4133 можно отключить подав на контакт PWDN низкий уровень напряжения или настройкой битов в регистре отключения (Регистр 2). Когда PWDN контакт в низком состоянии, Si4133 отключен независимо от настроек регистра отключения. Когда PWDN контакт в высоком состоянии, управление отключением управляется битами регистра отключения.
Секции ПЧ и ВЧ цепи Si4133 могут быть независимо отключены установкой битов регистра отключения PDIB и PDRB в нулевое положение, соответственно. Усилитель опорной частоты так же включен, если PDIB и PDRB в высоком состоянии. Так же установка AUTOPDB бита в 1 в регистре 0 (Main Configuration) эквивалентна установкой обоих битов в регистре отключения в 1.
Таблица.6. Настройки отключения питания.
Оставшиеся биты последовательного интерфейса доступны и могут быть записаны в состояния отключения питания.
Вспомогательный выход (AUXOUT).
Cигнал на AUXOUT выбирается установкой бита AUXSEL в Регистре 0 (Main Configuration).
Сигнал LDETBможет быть выбран установкой битов AUXSEL в 11. Этот сигнал может быть использован для индикации того, что ФАПЧ ПЧ и ВЧ находятся в состоянии близком к потере захвата частоты из-за резкого изменения температуры окружающей среды и должны быть перенастроены. Если сигнал генерируется сразу на ПЧ и ВЧ, то сигнал LDETB показывает результат логического ИЛИ.
3.3 Расчет внешней индуктивности для настройки ГУНа
Представим расчет, для используемых в работе [1] частотных диапазонов. Для RF2 полосе 60 МГц между 1030 и 1090 МГц используя Si4133. Тогда центральную частоту можно определить как среднюю между краями полосы, или 1060 МГц. ФАПЧ может настроить выходную частоту ГУНа в пределах ±5% от центральной частоты или ±53 МГц от 1060 МГц (т.е. от 1007 до 1113 МГц). ГУН (VCO) ВЧ2 (RF2) имеет CNOM равное 4,8 пФ. Соответственно, согласно (19), внешняя индуктивность в 2,4 нГн должна быть подсоединена между контактами RFLCи RFLD как показано на рисунке 27. Она вместе с 2,3 нГн корпусной индуктивности позволяет получить нужную общую индуктивность ГУНу. В производстве внешняя индуктивность может варьироваться ±10% от номинального значения, т.к. Si4133 скорректирует отклонение при помощи самонастраивающегося алгоритма.
Для RF2 полосе 100 МГц между 1450 и 1550 МГц используя Si4133. Тогда центральную частоту можно определить как среднюю между краями полосы, или 1500 МГц. ФАПЧ может настроить выходную частоту ГУНа в пределах ±5% от центральной частоты или ±75 МГц от 1500 МГц (т.е. от 1425 до 1575 МГц). ГУН (VCO) ВЧ2 (RF2) имеет CNOM равное 4,3 пФ. Соответственно, согласно (19), внешняя индуктивность в 0,6 нГн должна быть подсоединена между контактами RFLA и RFLB как показано на рисунке 27. Она вместе с 2 нГн корпусной индуктивности позволяет получить нужную общую индуктивность ГУНу.
При изготовлении макета оснастки необходимо рассчитать длину и ширину полоска, играющего роль внешней индуктивности для настройки центральной частоты ФАПЧ. Изначально для расчета была взята формула [20]:
Но по результатам опыта коэффициенты формулы были скорректированы для материала RO4003 толщиной 0,812мм. И в итоге была получена формула:
Такое описание индуктивности характерно для П-образного полоска, замыкающего выводы ИМС с зазором до экрана, копланарного полоска, большего 0,3мм. И ширинами от 0.3 мм до 0,9 мм.
3.4 Описание регистров
Сжатое описание всех регистров представлено в таблице 1. Ниже представлены управляющие регистры и значения их битов (Таблицы 7-15).
Таблица 7. Регистр 0. Main configuration (Основная установка). Поле Адреса A[3:0]=0000
Таблица 8. Регистр 1. Усиление фазового детектора. Поле Адреса A[3:0]=0001
Таблица 9. Регистр 2. Отключкение питания.
Таблица 10. Регистр 3. RF1 N-делитель.
3.5 Практическая реализация стенда для измерений
Аппаратная часть.
Топология демонстрационной платы была построена в программе SprintLayout 6 (рис.32) в соответствии с вышеуказанным теоретическим описанием.
Рис.32. Проект демонстрационной платы для Si4133.
Топология построена для двухстороннего диэлектрика RF4003 толщиной 0,812мм. Таким образом, что ВЧ и ПЧ линии обладают волновым сопротивлением 50 Ом. Плата вырезана на фрезеровально-сверлильном станке LPKF 63. Полученная плата представлена на рис.33.
Рис.33. Демонстрационная плата для Si4133 с тестировочной платой STM32-discovery.
При помощи STM32-discovery(рис.33) разработан стенд для проверки и отработки характеристик Si4133 (рис. 34.).
В стенде использованы следующие приюоры:
Источник питания:GW Instek PST-3202;
Генератор сигнала:Anritsu 3710A;
Спектроанализатор:Anritsu 2238C;
Осциллограф: АКИП-4119/4;
Отладочная плата STM32-discovery (Программируется с ПК при помощи интегрированной среды программирования CooCox IDE).
Для отработки синтезатора на демонстрационной плате необходимо подать сигналы, соответствующие указанному протоколу. Сигналы на синтезатор подаются с отладочной платы STM32-discovery. Отладочную плату необходимо программировать с ПК.
Рис.34. Стенд тестирования и отработки Si4133.
Программная часть
Воспользуемся программой CooCox IDE. Она позволяет создавать на языке C++ текст программы, компилировать его и записывать на отладочную плату для дальнейшей передачи слов программы на синтезатор.
Расчеты значений LEXT и соответствующие им значения R- и N- делителей, представленные в тексте программы проведены в соответствии с приведенными в теоретической части описаниями при опорной частоте в 10 МГц.
3.6 Результаты измерений при помощи изготовленной демонстрационной платы и программного обеспечения
Временные диаграммы сигналов управления показана на рисунке 35.
Рис.35. Осциллограмма управляющих сигналов.
1 - тактирующие импульсы; 2 - информационные импульсы; 3 - импульсы отключения последовательного интерфейса;
а) слова соответствующие 0, 1, 2 регистрам; б) слова соответствующие 3, 4, 5 регистрам; в) слова соответствующие 6, 7, 8 регистрам.
Сигналы, полученные при тестировании RF1 и RF2 на центральных частотах интересующих нас диапазонов и паразитный сигнал ФАПЧ представлены на рис. 36, 37.
Рис.36. Спектрограмма работы RF1 на частоте 1,5 ГГц с частотой обновления фазового детектора ФАПЧ 200кГц
Рис.37. Спектрограмма работы RF2на частоте 1,05 ГГц с частотой обновления фазового детектора ФАПЧ 200кГц
Фазовые шумы, полученные при тестировании RF1 и RF2 на центральных частотах интересующих нас диапазонов представлены на рисунках 38, 39.
Заключение
В ходе выполнения работы были смоделированы и прототипированы некоторые элементы АФАР.
Построены 3 численные модели излучающего элемента АР, две из которых обладают уникальными геометриями. Построены частотные характеристики КСВ и диаграммы направленности. Уменьшены геометрии излучающих элементов по сравнению с аналогами. Высота полученных антенн чуть больше четверти длины волны на нижней границе частот диапазонов, что значительно меньше высот излучателей рассматриваемых в [1-7]. Улучшена П-образная диаграмма направленности в Е- и Н-плокостях, улучшена частотная характеристика КСВ в заданном диапазоне. Такое поведения элемента излучения решетки при заданных требованиях было достигнуто внесением составляющих сопротивлений согласующих элементов, полученных как за счет специфической формы щелевого излучателя, так и за счет интеграции излучателя в реальную конструкцию во втором случае.
Показано, что форма кромки расширяющейся щели излучателя может быть различной для ширины полосы равной 60% от нижней частоты, но специфическая форма требует соответствующих согласующих элементов.
Результаты моделирования излучающих элементов решетки используются в ОАО «НПО «ЛЭМЗ»
Программный пакет синтеза амплитудно-фазового распределения линейной антенной решетки методом парциальных диаграмм был создан в помощь инженеру для разработки антенных решеток с диаграммами специфической формы. Метод парциальных диаграмм может быть модифицирован в настройках программы синтеза, путем частной замены ядра целевой функции. Программный пакет позволяет сделать синтез АФР наглядным и интуитивно понятным. В представленном программном пакете существует так же ряд возможностей, которые приближают результаты расчета к реальным. В настоящее время на базе описанного выше пакета пишется программный пакет формирования АФР для плоской решетки. В будущем планируется так же использовать наработанный материал для формирования широких нулей диаграммы АФАР. Программный пакет используется при разработке антенных решеток ОАО « НПО «ЛЭМЗ».
В соответствии с поставленной задачей был создан стенд для тестирования и отработки синтезатора частот Si4133. В ходе работы была изготовлена демонстрационная плата и написан текст программы позволяющей управлять синтезатором. Для изготовления платы была скорректирована формула полосковой индуктивности эмпирическим путем для частного случая. Испытательный стенд используется в работе АНО «Промтехносерт».
Список литературы
1. Овчинникова Е. В., Соколов А. А. Двухдиапазонная антенная решетка с косекансной диаграммой направленности // Антенны. 2011. Вып. 4 с.14 - 20.
2. Shin J., Schaubert D. A parameter Study of Stripline-fed Vivaldi Notch-antennas Arrays // Trans. on Antennas and Propag. 1999. V.47. Nо. 5. P. 879 - 886.
3. Г.П. Почанин, Н.М. Калюжный, В.Е. Белоусов, С.А. Масалов, И.Е. Плочанина Экспоненциально-щелевая антенна с согласующим отверстием // Антенны 2010. Вып. 3, с.23-33
4. М. Альхарири Широкополосные излучатели и антенные решетки СВЧ-диапазона на основе симметричной щелевой линии // Антенны 2005. Вып. 12, с.11-18
5. Д. И. Воскресенский, Ю. В. Котов, Е. В. Овчинникова Тенденции развития широкополосных фазированных антенных решеток (обзор работ) // Антенны 2005. Вып. 11, с.7-21
6. A. Mehdipour, K. Mohammadpour-Aghdamand R. Faraji-Dana Complete dispersion analysis of Vivaldi antenna for ultra wideband applications // Progress In Electromagnetics Research, PIER 77, 85-96, 2007
7. T.-H. Chio,D. H. Schaubert Parameter Study and Design of Wide-Band Widescan Dual-Polarized Tapered Slot Antenna Arrays // Trans. on Antennas and Propag. 2000. V.48. Nо. 6. P. 879 - 886.
8. R. Maaskant, M. V. Ivashina, O. Iupikov, E. A. Redkina, S. Kasturi, and D. H. Schaubert Analysis of Large Microstrip-Fed Tapered Slot Antenna Arrays by Combining Electrodynamic and Quasi-Static Field Models, Fellow, IEEE //IEEE Trans. on Antennas and Propag., VOL. 59, NO. 6, 2011, P. 1798-1807.
9. Chu L.J. physical limitations of small antennas // Proc. IRE. 1947. V.35. P.1479-1484
10. Б.А. Панченко, М.Г. Гизатулин. Нано-антенны. -М.: Радиотехника, 2009.
11. А. С. Петров, М. А. Жексенов. Сканирующая антенная решетка, сосредоточенная в объеме физической точки // Радиотехника и электроника, 2014, том 59, № 3, с. 260-263.
12. М. А. Жексенов, А. С. Петров. Адаптивная антенная решетка, реализованная на излучателе Э3М3 // Радиотехника и электроника, 2014, том 59, № 7, с. 1-4.
13. Годин А.С., Цай А.Б., Климов К.Н. Численное электродинамическое исследование внутренней задачи для элемента Гюйгенса - внутреннего куба Гюйгенса.// Радиотехника и электроника. --2015.. No4. С. 353-357.
14. Годин А.С., Цай А.Б., Климов К.Н. Численное электродинамическое исследование внешнего куба Гюйгенса // Радиотехника и электроника. --2015. -- № 5. --С.468-485.
15. Р. К. Хансен Сканирующие антенные системы СВЧ. Том 1. -М.: Советское Радио, 1966.
16. С.Е. Банков, А.А. Курушин, В.Д. Разевиг Анализ и оптимизация СВЧ структур с помощью HFSS. -М.:ЗАО «НПП «РОДНИК», 2009
17. А. А. Курушин Использование каналов флоке для моделирования периодической наноструктуры // Журнал радиоэлектроники, 2010, №11.
18. Цай А. Б. Программный пакет синтеза амплитудно-фазового распределения линейной антенной решетки методом парциальных диаграмм // Материалы XII молодежной научно-технической конференции «Взгляд в будущее - 2014». СПб - ОАО «ЦКБ МТ «Рубин», 2014.
19. Балагуровский В. А., Вавилов В. А., Кондратьев А. С., Маничев А. О., Полищук Н. П. Метод формирования глубоких нулей в диаграмме направленности фазированной антенной решётки, устойчивый к случайным искажениям амплитудно-фазового распределения // Антенны. 2008., No6., С. 23-30.
20. Сазонов Д. М. Антенны и устройства СВЧ. Учеб. для радиотехнич. спец. вузов.-М.: Высшая шк., 1988.
21. Зелкин Е. Г., Кравченко В. Ф. Современные методы аппроксимации в теории антенн. Книга 1. Задачи синтеза антенн и новые методы их решения. - М.: Радиотехника, 2002.
22. Зелкин Е. Г., Соколов В.Г. Методы синтеза антенн: Фазированные антенные решетки и антенны с неприрывным раскрывом. - М.: Сов. Радио, 1980, 296с.
23. Габриэльян Д.Д., Мищенко Д.В. Метод амплитудно-фазового синтеза антенной решетки произвольной геометрии // Радиотехника и электроника, 1995, т.40, № 7, с.1038-1041.
24. Мищенко С.Е. Тупичкин Д.В. Метод фазового синтеза линейной антенной решетки с неидентичными излучателями по заданной векторной диаграмме направленности // Журнал радиоэлектроники, 2003, №7.
25. Хансен Р.К. Сканирующие антенные системы СВЧ. Том 2.// М.: Советское радио, 1966.
26. Кюн Р. Микроволновые антенны. - Лен. : Издательство "Судостроение", 1967 г.
27. Манассевич В. Синтезаторы частот. Теория и проектирование. М.-«Связь», 1979г.
28. Бельчиков С. Фазовый шум: как спуститься ниже -120 дБн/Гц на отстройке 10 кГц в диапазоне частот до 14 ГГц, или борьба за децибелы. // Компоненты и технологии №5 2009, с.139-146.
29. Si4133. Dual-Band RF Synthesizer with integrated VCOs For wireless communications // Silicon Laboratories, 2010
Список сокращений и условных обозначений
АР - антенная решетка;
АФАР - активная фазированная антенная решетка
АФР - амплитудно-фазовое распределение;
БЛ - боковой лепесток;
ВЧ (RF) - высокая частота;
ГУН (VCO) - генератор, управляемый напряжением;
дБ - децибел;
дБн - относительно несущей;
дБм - децибел милливатт;
ДН - диаграмма направленности;
ЖИГ - железо-иттриевый гранат;
ИМС - интегральная микросхема;
КМОП - комплементарная логика металл-окисел-полупроводник;
КСВ - коэффициент стоячей волны;
ППМ - приемо-передающий модуль;
ППЭ - пенополиэтилен;
ПЧ (IF) - промежуточная частота;
РЛС - радиолокационная станция;
САПР - система автоматизированного проектирования;
СВЧ - сверхвысокая частота;
СКЗ - среднеквадратическое значение;
СПМ - спектральная плотность мощности;
СТФ - стеклотекстолит фольгированный
ФАПЧ - фазовая автоподстройка частоты;
ЧМ - частотная модуляция;
ЭМС - электромагнитная совместимость;
ЭРИ - электро-радио изделия;
DAS - синтезатор прямого аналогового синтеза;
DDS - синтезатор прямого цифрового синтеза;
TSSOP - тонкий термоусаживаемый миниатюрный выводной корпус (Thin Shrink Small Outline Package);
Приложение
Текст программы
#include<stm32f10x_rcc.h>
#include<stm32f10x_gpio.h>
intmain(void)
{
GPIO_InitTypeDefSetGIOP;
// выходыпоследовательногосигнала
SetGIOP.GPIO_Speed = GPIO_Speed_50MHz;
SetGIOP.GPIO_Mode =GPIO_Mode_Out_PP;
SetGIOP.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
GPIO_Init(GPIOB, &SetGIOP);
//вход "остановкасигнала"
SetGIOP.GPIO_Speed = GPIO_Speed_50MHz;
SetGIOP.GPIO_Mode =GPIO_Mode_IPD; //стяжкакземле
//SetGIOP.GPIO_Mode =GPIO_Mode_IPU; //подтяжкакпитанию
SetGIOP.GPIO_Pin = GPIO_Pin_0;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
GPIO_Init(GPIOA, &SetGIOP);
//============================================================
while(1)
{
//GPIO_Write(GPIOB, 0b00000010); // 0 bit //самымпоследнимбитом в этомбайтезадаемто, чтохотимпередать
//GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);//сбрасываембитClock (синхронизации), чтобыподнятьегососледующимбитомданных
// === MainConf ===
//одинпакетиз 22 битов
GPIO_Write(GPIOB, 0b00000010); // D17 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D16 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D15 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D14 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // D13 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // D12 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D11 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D10 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D9 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D8 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D7 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D6 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D5 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D4 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D3 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // D2 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D1 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D0 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // A3 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // A2 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // A1 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // A0 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
//включаемChipSelect
GPIO_Write(GPIOB, 0b00000100);
/*
//Еслинажатакнопка, топрерватьпередачу, покаидетпаузамеждупакетами
while(GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0) == Bit_SET)
{
;//
}
*/
//небольшаязадержкапослевкл/отклChipSelect. Воимялучшейчитаемостинаосциллографе
GPIO_Write(GPIOB, 0b00000000);
asm("nop");
// === PDG ===
//одинпакетиз 22 битов
GPIO_Write(GPIOB, 0b00000010); // D17 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D16 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D15 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D14 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D13 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D12 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D11 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D10 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D9 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D8 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D7 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D6 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D5 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // D4 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D3 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // D2 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D1 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D0 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // A3 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // A2 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // A1 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // A0 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
//включаемChipSelect
GPIO_Write(GPIOB, 0b00000100);
/*
//Еслинажатакнопка, топрерватьпередачу, покаидетпаузамеждупакетами
while(GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0) == Bit_SET)
{
;//
}
*/
//небольшая задержка после вкл/откл ChipSelect. для лучшей читаемости на осциллографе
GPIO_Write(GPIOB, 0b00000000);
asm("nop");
// === PWD ===
//один пакет из 22 битов
GPIO_Write(GPIOB, 0b00000010); // D17 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D16 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D15 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D14 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D13 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D12 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D11 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D10 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D9 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D8 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D7 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D6 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D5 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D4 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D3 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D2 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // D1 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // D0 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // A3 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // A2 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // A1 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // A0 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
//включаемChipSelect
GPIO_Write(GPIOB, 0b00000100);
/*
//Если нажата кнопка, то прервать передачу, пока идет пауза между пакетами
while(GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0) == Bit_SET)
{
;//
}
*/
//небольшая задержка после вкл/откл ChipSelect. для лучшей читаемости на осциллографе
GPIO_Write(GPIOB, 0b00000000);
asm("nop");
// === N1RF ===
//одинпакетиз 22 битов
GPIO_Write(GPIOB, 0b00000010); // D17 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D16 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D15 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D14 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D13 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // D12 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // D11 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // D10 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // D9 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // D8 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D7 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // D6 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D5 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D4 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D3 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // D2 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D1 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D0 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // A3 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // A2 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // A1 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // A0 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
//включаемChipSelect
GPIO_Write(GPIOB, 0b00000100);
/*
//Если нажата кнопка, то прервать передачу, пока идет пауза между пакетами
while(GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0) == Bit_SET)
{
;//
}
*/
//небольшая задержка после вкл/откл ChipSelect. для лучшей читаемости на осциллографе
GPIO_Write(GPIOB, 0b00000000);
asm("nop");
// === N2RF ===
//одинпакетиз 22 битов
GPIO_Write(GPIOB, 0b00000010); // D17 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D16 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D15 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D14 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D13 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // D12 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D11 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // D10 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D9 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // D8 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D7 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // D6 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // D5 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // D4 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // D3 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // D2 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D1 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D0 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // A3 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // A2 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // A1 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // A0 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
//включаемChipSelect
GPIO_Write(GPIOB, 0b00000100);
/*
//Если нажата кнопка, то прервать передачу, пока идет пауза между пакетами
while(GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0) == Bit_SET)
{
;//
}
*/
//небольшая задержка после вкл/откл ChipSelect. для лучшей читаемости на осциллографе
GPIO_Write(GPIOB, 0b00000000);
asm("nop");
// === NIF ===
//одинпакетиз 22 битов
GPIO_Write(GPIOB, 0b00000010); // D17 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D16 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D15 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D14 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D13 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D12 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // D11 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D10 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // D9 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D8 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // D7 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D6 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // D5 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // D4 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // D3 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // D2 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // D1 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D0 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // A3 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // A2 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // A1 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // A0 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
//включаемChipSelect
GPIO_Write(GPIOB, 0b00000100);
/*
//Если нажата кнопка, то прервать передачу, пока идет пауза между пакетами
while(GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0) == Bit_SET)
{
;//
}
*/
//небольшая задержка после вкл/откл ChipSelect. для лучшей читаемости на осциллографе
GPIO_Write(GPIOB, 0b00000000);
asm("nop");
// === R1RF ===
//одинпакетиз 22 битов
GPIO_Write(GPIOB, 0b00000010); // D17 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D16 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D15 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D14 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D13 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // D12 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // D11 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // D10 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // D9 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // D8 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D7 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // D6 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D5 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D4 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D3 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D2 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D1 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D0 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // A3 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // A2 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // A1 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // A0 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
//включаемChipSelect
GPIO_Write(GPIOB, 0b00000100);
/*
//Если нажата кнопка, то прервать передачу, пока идет пауза между пакетами
while(GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0) == Bit_SET)
{
;//
}
*/
//небольшая задержка после вкл/откл ChipSelect. для лучшей читаемости на осциллографе
GPIO_Write(GPIOB, 0b00000000);
asm("nop");
// === R2RF ===
//одинпакетиз 22 битов
GPIO_Write(GPIOB, 0b00000010); // D17 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D16 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D15 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D14 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D13 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // D12 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // D11 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // D10 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // D9 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // D8 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D7 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // D6 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D5 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D4 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D3 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D2 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D1 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D0 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // A3 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // A2 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // A1 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // A0 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
//включаемChipSelect
GPIO_Write(GPIOB, 0b00000100);
/*
//Если нажата кнопка, то прервать передачу, пока идет пауза между пакетами
while(GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0) == Bit_SET)
{
;//
}
*/
//небольшая задержка после вкл/откл ChipSelect. для лучшей читаемости на осциллографе
GPIO_Write(GPIOB, 0b00000000);
asm("nop");
// === RIF ===
//одинпакетиз 22 битов
GPIO_Write(GPIOB, 0b00000010); // D17 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D16 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D15 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D14 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D13 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // D12 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // D11 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // D10 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // D9 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // D8 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D7 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // D6 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D5 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D4 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D3 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D2 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D1 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // D0 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000010); // A3 //0
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // A2 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // A1 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000011); // A0 //1
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
GPIO_Write(GPIOB, 0b00000100);
//Если нажата кнопка, то прервать передачу, пока идет пауза между пакетами (в последнем пакете) === ! ===
while(GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0) == Bit_SET)
{
;//
}
//небольшая задержка после вкл/откл ChipSelect. для лучшей читаемости на осциллографе конца пакета
GPIO_Write(GPIOB, 0b00000000);
asm("nop");
// === конецпередачи ===
Размещено на Allbest.ru
...Подобные документы
Особенности конструкции, преимущества и недостатки фазированных антенных решеток как наиболее эффективных и перспективных антенных систем. Расчет формы и линейных размеров излучающего полотна. Разработка данной антенной решетки, алгоритм расчета задания.
контрольная работа [2,6 M], добавлен 06.05.2011Структурная схема модуля приемной активных фазированных антенных решеток. Расчёт относительного уменьшения возбуждения на краю антенны. Энергетический потенциал приемной фазированных антенных решеток. Точность выставки луча. Выбор и расчет излучателя.
курсовая работа [830,4 K], добавлен 08.11.2014Основные особенности фазовращателей фазированных антенных решеток, управляющих фазой электромагнитной волны в излучателях. Характеристика видов фазовращателей: механические, полупроводниковые, ферритовые. Рассмотрение особенностей технологии MMIC.
курсовая работа [220,0 K], добавлен 26.12.2012Расчет вибраторных фазированных антенных решеток с расширенным углом сканирования. Общая характеристика излучателя антенной решетки. Основной способ питания излучателя. Расчеты диаграммы направленности излучателя. Расчеты амплитудного распределения.
курсовая работа [3,2 M], добавлен 28.11.2010Параметры излучателей фазированных антенных решеток. Излучатели электромагнитных волн. Система излучателей с электрически управляемым фазовым распределением. Конструктивная схема вибраторного излучателя. Проходной бинарный и дискретный фазовращатели.
контрольная работа [625,9 K], добавлен 20.10.2012Методы создания эффективных антенн. Линейная антенная решётка. Оптимальная антенна бегущей волны. Коэффициент направленного действия. Плоские антенные решетки. Входное сопротивление излучающего элемента. Особенность и применение неэквидистантных решеток.
курсовая работа [327,4 K], добавлен 14.08.2015Общая характеристика и сфера применения антенных решеток. Определение параметров и конструкции симметричных вибраторных антенн, описание способов их возбуждения. Расчет коллинеарной антенной решетки с параллельным возбуждением, построение диаграмм.
курсовая работа [4,5 M], добавлен 21.03.2011Линейная решетка с цилиндрической спиральной антенной в качестве излучателя. Применение антенных решеток для обеспечения качественной работы антенны. Проектирование сканирующей в вертикальной плоскости антенной решетки. Расчет одиночного излучателя.
курсовая работа [394,2 K], добавлен 28.11.2010Особенности использования методов анализа и синтеза основных узлов аналоговых электронных устройств, методов оптимизации схемотехнических решений. Расчет параметров синтезатора радиочастот. Определение зависимости тока фазового детектора от времени.
лабораторная работа [311,0 K], добавлен 19.02.2022Этапы процесса синтеза электрической схемы. Требования к частотной характеристике фильтра. Аппроксимация заданной амплитудно-частотной характеристики. Порядок расчета и соображения по методике настройки активных фильтров. Расчет величин элементов схемы.
курсовая работа [490,3 K], добавлен 27.01.2010Фазированная антенная решётка, способы расположения элементов. Сектор сканирования ФАР. Расчет длины волны. Моделирование антенной решетки. Трехмерное изображение антенной решетки с рефлектором. Угол наклона главного лепестка диаграммы направленности.
контрольная работа [1,3 M], добавлен 06.01.2014Излучатель антенной решетки. Выбор конструкции вибратора и схемы питания. Антенная решетка системы излучателей. Расчет диаграммы направленности и геометрия антенной решетки. Расчет параметров решетки при заданном максимальном секторе сканирования.
контрольная работа [250,6 K], добавлен 03.12.2010Типы устройств СВЧ в схемах распределительных трактов антенных решеток. Проектирование устройств СВЧ на основе метода декомпозиции. Работа с программой "Модель-С" для автоматизированного и параметрического видов синтеза многоэлементных устройств СВЧ.
контрольная работа [337,5 K], добавлен 15.10.2011Анализ развития микроэлектроники и её достижения. Расчет волноводно-щелевой антенной решетки резонансного типа в плоскости. Выбор схемотехнического решения и конструктивной реализации. Моделирование в пакете прикладных программ Microwave office.
дипломная работа [2,4 M], добавлен 05.12.2013Определение геометрических параметров антенной решетки. Расчет диаграммы направленности диэлектрической стержневой антенны, антенной решетки. Выбор и расчет схемы питания антенной решетки. Выбор фазовращателя, сектор сканирования, особенности конструкции.
курсовая работа [2,7 M], добавлен 06.07.2010Изучение различных типов устройств СВЧ, используемых в схемах распределительных трактов антенных решеток. Практические расчеты элементов автоматизированного проектирования устройств СВЧ на основе метода декомпозиции. Конструирование баз и устройств СВЧ.
контрольная работа [120,9 K], добавлен 17.10.2011Причины применения коллинеарной антенной решетки с последовательным возбуждением и ее расчет с использованием модели Маркони-Франклина. Определение характеристик излучающего элемента антенны. Оценка полученных результатов с помощью программы "SAR32".
курсовая работа [2,1 M], добавлен 21.03.2011Общие сведения о многовибраторных антенных решетках. Определение размеров конструктивных элементов антенны и коэффициента направленного действия. Выбор симметрирующего согласующего устройства и фидера. Расчет радиотрасс, электромагнитная совместимость.
курсовая работа [1,8 M], добавлен 14.08.2011Выбор схемы и расчет ее элементов, расчет и построение графика идеальной амплитудно-частотной характеристики. Расчет и анализ матрицы чувствительности, выбор настроечных элементов, корректировка схемы и спецификации, составление инструкции по настройке.
реферат [106,3 K], добавлен 24.01.2014Общая характеристика антенной решетки, состоящей из ряда волноводно-щелевых или волноводно-вибраторных антенн. Расчет антенной системы и сигнала на входе приемника. Измерение параметров антенны. Электромагнитная совместимость волноводно-щелевых решеток.
курсовая работа [510,5 K], добавлен 16.10.2014