Перейти к содержанию
    

Bpovov

Участник
  • Постов

    103
  • Зарегистрирован

  • Посещение

Весь контент Bpovov


  1. Вот я тоже пока в метании на что сесть на VS, или на Qt ни то ни то не знаю, думаю что осваивать... Вроде по отзывам сейчас VS обходит, по удобству, функционалу, вроде даже кроссплатформенность на уровне Qt...
  2. Огромное спасибо за комментарии! Искал эту свою тему, что то не нашел - подумал удалили)) Начинаю разбираться) К-Ц, К-В точно не прокатит, так как такое будет часто и нужно что бы к схеме привязка была.
  3. Добрый день! Хочу еще только начать освоение Zynq Ultrascale+(поэтому вопрос будет наверное глупый), для будущих задач эта серия SoC-ов точно подойдет. Но сомневаюсь получиться ли адекватно решить на нем одну текущую задачу. Опишу как я вижу цинк ультру в этой задаче. Два кортекса R5 + ПЛИС управляют одной высоконадежной системой реального времени на чистом bare-metal. Одно ядро А53 помогает им в некоторых расчетах. Оставшееся ядро/ядра работает под Linux. Приложение написанное на Visual Studio крутиться в Linux, получает данные от кортексов R5 производит простую обработку и визуализирует полученное на монитор-HMI в виде графиков, возможно простого 3D-моделирования и т.д. Приложение и весь Linux не может вмешиваться в работу bare-metal. Общение между ними только через изолированный шлюз/шину который контролирует bare-metal. Т.е. весь Linux жестко ограничен по сути выходом на монитор/мониторы, клавиатура/мышка(USB?), частью памяти и свои ядром/ядрами, все остальное ему недоступно. Это нужно для того что бы можно было легко корректировать визуализацию(она будет меняться часто) и HMI, без опасности что то задеть в реал-таймовой части. Так же если в Linux, что то собьется/зависнет на работу высоконадежной системы это не повлияет. Под Zynq из Linux это PetaLinux, как понимаю. Развернуть на нем классический Linux сходу вряд ли смогу, еще б с PetaLinux справиться бы)) (а долго копаться нет возможности). Насколько возможно адекватно писать приложения в Visual Studio именно для PetaLinux? Почему именно VS - потому что это же приложение должно быть частью другого комплекса уже под Винду. Опытные пользователи Zynq'а прокомментируйте, пожалуйста, насколько выше описанное адекватно реализуемо, или там совсем закопаешься в "отгораживании" PetaLinux, от всей системы, и оптимизации приложений для него? Заранее спасибо всем кто откликнется!
  4. Добрый день! Пока у меня нет опыта работы на Zynq Ultrascale+, но ближайшее время мне нужно будет начать с ним ковыряться, вопрос простой, но я нигде не нашел на него ответа, может кто-нибудь подскажет. В нем есть 2 CAN контроллера, написано, что они соответствуют стандартам CAN 2.0B и т.д., но я нигде не нашел непосредственные значения скорости работы которые поддерживают эти контроллеры. Например я хочу подцепить к ним микрушку физ. уровня со скоростью 2-5Mbit (естественно с уменьшением длины линии передачи), смогу ли я на такой скорости работать с Zynq ом, ведь по стандартам CAN это не более 1Mbit (хотя огромное число микрух CANа физ. уровня. до 10Mbit). Подскажите пожалуйста, если у кого информация по данному вопросу. П.С. сам проверить это не могу, т.к. пока ко мне еще не пришел Zynq, а железо уже нужно делать, по этому хочу определиться с интерфейсами. Тем более что даже если заработает у меня, будет ли это штатный для него режим со всеми вытекающими температурными вещами и повторяемостью на изделиях. Спасибо, заранее!
  5. Все верно, но long по длине также больше int, как и в AVR. Дело не в переносимости, она в моем случае не нужна. Я смотрел ассемблер этих выражений, там все четко.
  6. Вот такая штука к примеру, в кейле даже на кортекс М работает верно, без залезания в асм int A, B; long C; А = B*C; при условии что результат и значения операндов не вылезают за int
  7. Короче что бы я не делал компилятор ни явно ни неявно не захотел адекватно приводить int к long и наоборот, т.е. пришлось где то все на long делать - потерял быстродействие, а где то на асме вручную прописывать байтовые действия с постоянным держанием в нулях старших байтов и контроль знака для int... Просто уже отвык от такого)) во всяких современных кортексах А-шках, с этим проблем нет)))
  8. Добрый всем день! Есть небольшой вопрос. На одной ПП есть схема в десятком абсолютно одинаковых прецизионных ЦАПов и одним процом управления, рисунок на ПП для каждого ЦАПа должен быть абсолютно одинаковым, только линии интерфейса к процу отличаются соответственно. Отсюда вопрос такой: сделал схему для одного ЦАПа, развел ее на ПП, как дальше ее максимально эффективно десять раз дублировать (т.е. и на схеме и на плате)? Что бы не перерисовывать по 10 раз всё! Заранее спасибо, друзья!
  9. Вот собственно весь кусок кода что наассемблир комплилятор, как мне кажется тут косяк уже даже в самом выражении (напомню промежуточные значения ну то есть (Current_Position_uV - Mas_position[9])*100)) могут быть больше signed int. #define TIME_DELAY_MEAS 416 signed long Current_Speed_actuator_Buf; signed int Current_Speed_actuator, Current_Position_uV, Mas_position[10]; ////////////////Current_Speed_actuator_Buf = (((Current_Position_uV - Mas_position[9])*100) / TIME_DELAY_MEAS); __GETW1MN _Mas_position,18 LDS R26,_Current_Position_uV LDS R27,_Current_Position_uV+1 SUB R26,R30 SBC R27,R31 LDI R30,LOW(100) LDI R31,HIGH(100) CALL __MULW12 MOVW R26,R30 LDI R30,LOW(416) LDI R31,HIGH(416) CALL __DIVW21 CALL __CWD1 STS _Current_Speed_actuator_Buf,R30 STS _Current_Speed_actuator_Buf+1,R31 STS _Current_Speed_actuator_Buf+2,R22 STS _Current_Speed_actuator_Buf+3,R23 /////////////////////////Current_Speed_actuator = (signed int)Current_Speed_actuator_Buf; LDS R30,_Current_Speed_actuator_Buf LDS R31,_Current_Speed_actuator_Buf+1 STS _Current_Speed_actuator,R30 STS _Current_Speed_actuator+1,R31 .MACRO __GETW1MN LDS R30,@0+(@1) LDS R31,@0+(@1)+1 .ENDM __ANEGW1: NEG R31 NEG R30 SBCI R31,0 RET __LSLW2: LSL R30 ROL R31 LSL R30 ROL R31 RET __CWD1: MOV R22,R31 ADD R22,R22 SBC R22,R22 MOV R23,R22 RET __MULW12U: MUL R31,R26 MOV R31,R0 MUL R30,R27 ADD R31,R0 MUL R30,R26 MOV R30,R0 ADD R31,R1 RET __MULW12: RCALL __CHKSIGNW RCALL __MULW12U BRTC __MULW121 RCALL __ANEGW1 __MULW121: RET __DIVW21U: CLR R0 CLR R1 LDI R25,16 __DIVW21U1: LSL R26 ROL R27 ROL R0 ROL R1 SUB R0,R30 SBC R1,R31 BRCC __DIVW21U2 ADD R0,R30 ADC R1,R31 RJMP __DIVW21U3 __DIVW21U2: SBR R26,1 __DIVW21U3: DEC R25 BRNE __DIVW21U1 MOVW R30,R26 MOVW R26,R0 RET __DIVW21: RCALL __CHKSIGNW RCALL __DIVW21U BRTC __DIVW211 RCALL __ANEGW1 __DIVW211: RET __CHKSIGNW: CLT SBRS R31,7 RJMP __CHKSW1 RCALL __ANEGW1 SET __CHKSW1: SBRS R27,7 RJMP __CHKSW2 COM R26 COM R27 ADIW R26,1 BLD R0,0 INC R0 BST R0,0 __CHKSW2: RET
  10. 16 , 15 числовых 1 знаковый ну кстати и логично что ничего не меняет скомпилированный кусок асма одиноков и для final = (signed int)a; и для final = a; .......... LDS R30,_a LDS R31,_a+1 STS _final ,R30 STS _final ,R31 .......... т.е. ничего не поменялось и насколько я понимаю, как раз копируются просто два младших байта, а информация о знаке которая храниться в 4 байте long'а (переменной "a") теряется.... вроде верно мыслю?
  11. Спасибо! Это первое что в голову пришло - попробовал, но тоже самое никакого эффекта на железе
  12. Добрый день друзья! Уже лет 15 не писал для AVR-ных камней, но тут потребовалось вспоминать атмежку8)) ностальгия блин) но возникла проблема.... есть выражение signed long a; signed int b, c, final; unsigned char d; a= ((b-c)*100)/d; final = a; Внутри выражения(a=....) промежуточные значения могут быть на бОльшую часть диапазона signed long, но гарантированно без переполнения. Конечное же значение записываемое в a, гарантированно без переполнения попадает в диапазон signed int. Поэтому чтобы дальше работать с более короткой переменной, я решил переписать результат в final, который signed int. При проверки на железе в final по факту ахинея, а в "а" все верно. Т.е. косяк в преобразовании типов. В unsigned там все просто преобразовывается. А с signed что то не придумать. Подскажите пожалуйста, заранее спасибо!
  13. На данный момент он не известен, тем более в данном диапазоне частот. Известно только что на определенных частотах начинается активное поглощение примесными центрами. А вот насколько активное, это в том числе одна из задач исследования.
  14. У нас чисто импульсный режим. С, я думаю, не более чем 1мс(может и меньше, может десятками микросекунд ограничимся) временем накачки, с частотой несколько герц. Так что с нагревом проблем не будет. Вентиль просто поглощает отраженных волну, тут другая опера... насколько мне кажется игра на критических частотах. Ну так можность и будет поглощаться образцом во втором резонаторе.
  15. Добрый всем день! Мне тут один знакомый рассказал. Что ещё в далёких годах, задачи подобные моей решали просто - ставили магнетрон который качал резонатор, при помощи которого он ещё и стабилизировался по частоте, от этого резонатора при помощи излучающей щели мощность передавались на другой резонатор внутри которого и был объект изменяющимися параметрами(кстати в этой ветке уже предлагали такой вариант). Таким образом развязывали рассогласование генератора и нагрузки. К сожалению мой знакомый не свчист и не знает подробностей((( если мне удасться подобрать магнетроны на нужные частоты, то по конструкции выходит совсем просто... тогда мне и не нужен никакой внешний генератор. но сколько я не пытался найти литературу или статьи где бы хоть как то освещался подобная система - ничего не нашел... для меня больших вопросов сейчас два! номер раз - как собственно правильно нагрузить магнетрон на резонатор, тут ведь получается что внешний резонатор становиться частью колебательной системы магнетрона. Как это сделать что бы магнетрон не повредить с снять с него всю мощность. номер два - как относительно первого внешнего резонатора, рассчитать второй, что бы между ними связь была по сути однонаправленная. если подскажите что почитать или ещё советы, буду безмерно благодарен!!
  16. Добрый день всем! В моей проблеме добавилось одно серьезное упрощение. Для уверенной регистрации необходимых люминесцентных эффектов решили выбрать только три четко фиксированных частоты(полоса не более 1-2%). Отсюда появилась мысль сделать три резонаторной установки для каждой конкретной частоты. Все остальные условия те же. Может ли это серьезно упростить конструкцию? Есть ли какие-нибудь варианты/методы?
  17. Еще вопрос к форумчанам, вот к примеру видео... Нарисовал волновод в HFworks... короткозамкнутый с обоих сторон воздушный волновод, слева в конце волновода штырь возбудитель, по центру два согласующих четвертьволновых штырька, поигрался подобрал режим справа теперь СВ т.е. резонатор, слева СВ практически нет(точнее немного еще есть, но можно их идеально вывести, оставил немного для наглядности). вопрос теперь в чем, я никак не могу добиться что бы от генератора были БВ до согласующих штырьков... в симуляторах это вообще реально? будет такая система работать в железе именно так как симится? это просто пример, тренируюся симить... что бы потом нормально полностью просимить свою систему. Опыта у меня не много без хорошего просима не решусь собирать железо. 12.mp4
  18. Я думаю вы абсолютно правы, по поводу необходимости двух режимов! Можете если не сложно привести какие-нибудь примеры/ссылки на тему переключающегося согласователя? Вот про возбуждение резонатора через резонатор краем уха тоже как то слышал, но разве изменение нагрузки во втором резонаторе не скажется на первый(в который источник накачивает)? Т.е. получается если резонатор не согласован мощность от источника проходя через него попадает в нагрузку... а если согласован то остается в резонаторе... изящно! спасибо за идею! нужно попробовать посчитать что получиться. А какая в этом проблема? думаете трудно будет подобрать/посчитать? Можно измерить материал, но во первых материал не один, во вторых в зависимости от состава/легирования проницаемость будет сильно варьироваться, в третьих размеры образцов будут разные... не хочется сделать установку которая будет валидна в ограниченных случаях. Такая частотная полоса нужна не для согласования - просто определенные уровни молекул, возбуждаются точными частотами в этом диапазоне, да диапазон возбуждения конкретно уровня узок но нужно к примеру резонанс как на 3,67ГГц, так и на 2,32ГГц.... не очень понял, ваш комментарий по поводу анализатора цепей... можете пожалуйста по подробнее...
  19. генератор перестраиваемый в S-диапазоне, не от печки. К сожалению не очень понял как это поможет в решении проблемы
  20. Вы все верно говорите, в симуляторе я просто пытался организовать развязку, между генератором с БВ и хотя бы пустым резонатором со СВ. Не получалось именно то что при введении согласующего элемента СВ образовывались и в резонаторп и в линии передатчика. Ведь по сути мне нужно просто накачивать резонатор, копить энергию в нем, без отражения в генератор. т.е. либо я неверно симлю, либо в принципе не подходящим методом/устройством делаю такую развязку. Мощность нужна большая иначе мы просто не получим нужные эффекты.
  21. Добрый день, в моем случае к сожалению так не выйдет, необходимая имп. мощность генератора килловаты, средняя до килловатта, эфир так жарить в лаборатории я не рискну) всяко даже любой самый хороший открытый резонатор будет в эфир некисло плевать, тем более пока его под новый образец подстроишь. Почему именно волновод а не объемный резонатор? Потому что наши образцы в основном представляют длинные прямоугольные или круглые платины/прутки толщиной/диаметром до нескольких сантиметров длинами до нескольких десятков сантиметров. Для создания необходимой плотности мощности нужны именно волноводные структуры.
  22. Добрый день! Опишу проблему - для изучения свойств определенных кристаллов(люминесценция и всякие фотонные эффекты) необходимо воздействовать на них СВЧ в диапазоне 2-4ггц. СВЧ должно быть линейно поляризовано. Т.е. образец помещается в прямоугольный волноводный резонатор с H10 и исследуется, габариты волновода в принципе выбираются любые подходящие. Необходимо согласовать генератор с нагрузкой в виде такого резонатора. К сожалению поскольку точные свойства кристалла неизвестны, считаем, что про нагрузку знаем только геометрические размеры волновода. Вопрос как организовать режим бегущей волны от генератора до нагрузки, и соответственно стоячей в самой нагрузке(в волноводе с образцом). Я пробовал симулировать в HFFS и HFworks согласование с помощью трехшлейфового тр. или двойного T-тройника, но ничего путного вообще не выходит даже для пустого волновода. подозреваю, что вопрос дилетантский, поэтому прошу не пинать) Буду рад если подскажите! Спасибо!
  23. А зачем нагрузка? Тем более 50 Ом. Нужна ведь не бегущая, а стоячая волна. Видел статью, чуть попозже найду, дам ссылку. Где в небольшом резонаторе как раз на одну пучность, генератор мощностью 1 Вт ~10ГГц, с добротностью по моему 1000, ну то есть с плохой добротностью, давал 1,5кВ/см. CST - кстати хорошая мысль, никогда в нем не работал,но попробовать стоит. Кто-нибудь пробовал в нем резонаторы рассчитывать?
  24. спасибо, начинаю читать по СФ и вашу ссылку
  25. специально выращенные кристаллические структуры, состав во многом ноухау) по этому даже намекнуть не смогу)
×
×
  • Создать...