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

repstosw

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

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

  • Победитель дней

    2

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


  1. На верхней картинке предыдущего поста - шум из эфира. Вот так выглядит выход с демодулятора во время приёма пакета: Что с этим делать дальше, чтобы получить биты?
  2. Следить за областью допустимых значений аргументов G2D - задача программиста. От себя добавлю: прямоугольник размером 1x1 пиксель тоже приводит к зависанию намертво. Ничто не мешает поставить G2D раком, передав некорректные параметры. Тут и вылет за пределы памяти, и бесконечный цикл. Инкременторы всякие, операторы ... Надо будет попробовать. Занинтересовало
  3. Получил сырые данные с демодулятора Si4463. Пока есть проблемы с интерпретацией и визуализацией данных: демодулятор даёт отсчёты в формате 7 бит со знаком. Тоесть -64...+63. Как оно выглядит, если файл отсчётов открыть в Audacity - как 8 бит со знаком (сделал перед этим конверсию 7-bit signed в 8-bit signed): Также остаётся открытым вопрос, как синхронизировать забор данных с регистра. Пока делаю чтения регистра ASAP. Если забирать как можно скорее, на ассемблере 8051, то это будет так: mov R0,REG mov R1,REG mov R2,REG mov R3,REG mov R4,REG mov R5,REG mov R6,REG mov R7,REG mov A,R0 movx @DPTR,A inc DPTR mov A,R1 movx @DPTR,A inc DPTR ... mov A,R7 movx @DPTR,A ret Получается до 4-х чтений регистра REG дают одинаковое значение. Значит, можно читать в 4 раза медленее. Если же читать 1 раз, затем раскидывать в память, то олучается уже долго - уже неодинаковые значения. Прерывания 8051 на момент чтения запрещаются. С конверсией данных выход с демодулятора такой: Знающие, подскажите - как выглядит сигнал с фазового/частотного демодулятора в цифровых трансиверах?
  4. Это мягкие решения с фазового демодулятора Si4463. Отсчёты нужно будет подвергать ЦОС - правильно просемплировать, обезглитчить и получить отсчёты в диапазоне [0..1], которые пойдут на мягкую коррекцию ошибок. В итоге всё должно свестить к битовой последовательности. Честно говоря, я не знаю, как правильно должен выглядеть выход с демодулятора. Он внутри Si4463. Сейчас главное правильно сконвертить 7-bit signed в 8/16/32- bit signed.
  5. Это тоже самое, что и: 6-й бит ставим на место 7-го. Попробовал. Уже по-лучше: положительные и отрицательные полу-волны сравнялись и стали по 0.5. Но переход с минуса в плюс по-прежнему резкий: Ещё попробовал сделать так: if (t>63) t|=0x80; Суть в том, что битовая идентичность должна быть как 8-бит знаковое. Тогда, подглядывая в виндовый калькулятор в режиме "программист", получим: 63: 00111111 t 64: 01000000 - оно же: -64 t |= 0x80 - 11000000 65: 01000001 - оно же: -63 t |= 0x80 - 11000001 ... 126: 01111110 - оно же: -2 t |= 0x80 - 11111110 127: 01111111 - оно же: -1 t |= 0x80 - 11111111 Ну тоесть - делаю вывод что нужно прилепить старший 7-й бит =1, когда t>63. Результат аналогичен вашему преобразованию: int result = (int)inData << 25 >> 25; Но что-то всё-равно выглядит не так...
  6. Получаю массив данных с демодулятора цифрового трансивера. Написано, что данные в формате signed 7-bit integer. Нужно просмотреть отсчёты в Audacity. Пробовал преобразовать в знаковое 8 бит двумя способами: 1) t = (t&0x3F)|((t>>6)<<7); 2) t = t<<1; В обоих случаях выходит фигня - нарушается плавность переходов через 0 (с + на - и наоборот): как правильно преобразовать?
  7. Подразумевается, что регистры интересны хардварщикам, которых не запугаешь порчей оборудования. С таким же успехом можно подпалить GPIO, настроенный на выход, если его соединить с GND, в момент когда на него придёт логическая "1" 🤣 Я не из тех, кто предъявляет претензии к работе чипа, если было принято решение лезть в дебри. Ясно дело, что любая эволюция подразумевает прогресс работы с чипом: от пакетного хэндлера - до мягких решений с ЦОС и СДР 😅
  8. Сколько не пытался понять ваше заявление с мышеловкой, так и ничего не понял. Есть недокументированные регистры, и есть недокументированные биты в регистрах. Это также одинаково, как и утверждать, что "в небе светит Солнце, а дождь капает водой. Вода кипит при 100 градусах Цельсия при нормальном давлении"... И тому подобное. Я не видел официальзых заявлений от Силабс, купить у них софт-конфигуратор, позволяющий получить I/Q с пинов или заставить модем выдавать оцифрованные мягкие решения с демодулятора в FIFO. Вижу масонскую политику зачем-то скрывать регистры, которых масса. Тем более Si4463 - уже относительно старый... Могли бы и открыть доки на регистры. А так получается - "ни себе, ни людям". P.S. Регистры с разбитовкой есть. Но отстутствует их внятное описание. Но те, кто писал WDS и фирмварь для Si4463 под ядро 8051, этой документацией обладают. Хочется отказаться от их пакетного хэндлера и попробовать получить мягкие решения с демодулятора(в оцифрованном виде). Такой регистр найден. Но непонятно, как его тактировать (с каким интервалом забирать с него данные).
  9. При условии, если он либо зашифрован или содержит EXE,DLL, BAT. А также RAR или другой архив - с вышеупомянутым содержимым. Не бяки. Просто предотвращают пересылку потенциально вредоносного кода, который может быть запущен получателем.
  10. Гугл-почта блокирует пересылку писем с вложениями, которые содержат EXE, DLL, BAT. Сейчас в ЛС что-то есть.
  11. Ну не факт... Дока с регистрами Si4463, вытащенная из WDS недвусмысленно намекает, что GPIO могут конфигурироваться как: - Digital Input - Digital Output -Analog Input -Analog Output Там полноценное ядро 8051 со своей памятью, регистрами и периферией. Там ещё дополнительный АЦП есть (AUXADC). И пара регистров PGA с битами IN/OUT I- Q- : один регистр - обычный выход, второй - дифференциальный выход. Только вот вопрос, на какую ногу это выводится? Поле GPIO config содержит 6 бит : это до 64 разных значений может быть (в WDS описано только около 40 вариантов). Что касается Si4432, I и Q там доступны через тестовый режим: Это только в старом даташите есть. В новом даташите эту инфу силабсы попрятали как последние трусы...
  12. Значение, установленное WDS для 1 МБит/c:
  13. 1. Есть декомпилированная прошивка от Si4463 - в ассемблере ядра i8051 и в Сишном псевдо-коде. Которая пропарсена скриптами: для получения нормальных названий регистров и регионов памяти. 2. С WDS уже выпарсена вся документация: SPI-команды/свойства(Commands/Properties), включая недокументированные. А также - описания регистров и их разбитовка. 3. Скачан новый архив с Силабса - с обновлёнными описаниями команд/свойств. Прибавка ощутима. В ходе 3-суточных копаний пока выводы такие: 1. Сконфигурить чип лучше, чем WDS, уже не получится. 2. Команды/свойства - это тупо чтение-запись в регистры Si4463 и обработка прерываний. 3. Из недокументиованного - ничего полeзного для моих целей. 4. По ходу с получением I- и Q- облом. Есть только сырой выход с демодулятора (лично сам слушал сигнал с GPIO0 - функции 20,21 и 31, использовал ПК и Audacity для зааписи), причём не ясно - прослайсированный он или нет. Сомневаюсь, что там доступны мягкие решения.... А так хотелось I/Q- и мягких решений ... Именно с Si4463... Вот в Si4432 получить I/Q- можно - в дифференциальной форме (только по отдельности: I или Q). Кстати, подскажите, I и Q со смесителя (низкая ПЧ - 900 кГц) можно ли на слух её услышать? Понимаю, что 900 кГц, но так как сигнал сложный - значит часть спектра должна быть в звуковых частотах.... С видео-сигналом CVBS такое прокатывает - он на слух очень специфичен. Чисто, чтобы сдетектить его наличие с GPIO... осциллографа нету.
  14. Пусто. Пишите на мыло лучше: надёжнее и по-чаще смотрю чем ЛС. Помню, для TV-out коммутировал DE на TCON-TV. При этом изображение было либо на LCD, либо на TV. А теперь, как я понял, можно выводить изображения одновременно и на LCD и на TV.
  15. Пролейте свет просвещения в понимании LDPC кодов с жёсткими решениями пожалуйста...
  16. Кто-нибудь занимался реверсом RFIC Si4463 или аналогичного из серии Si446x ? Что можно сделать полезного? Нашёл интересный проектик: https://github.com/astuder/Inside-EZRadioPRO Чувак пишет как можно сдампить прошивку с Si446x , а также как вытащить описание регистров + недокументированные команды из EXE-шника WDS. А также - как раздуплить прошивку в Гидре и получить более-менее читабельный сорец на асме... Мне удалось считать дамп со своего чипа Si4463, rev. 2A. Плюс запустил все скрипты и плагины для облагораживания дизассемблированного кода в Гидре. А также сделал другой адрес для FIFO TX/RX. Хотел ещё увеличить размер FIFO - удалось увеличить с 129 до 193 (x1.5). Но при команде активации передачи(TX) всё виснет. Очевидно, пакетный хэндлер там тоже хозяйничает, и есть условия, ограничивающие размер FIFO в коде... И всё-же... Может возможно мягкие решения вытащить? Или увеличить чутьё? Или ещё что-нить полезное? P.S. Я понимаю, что немного отстал с этим реверсом, но чипы появились недавно (год назад).
  17. Вот вам нужно, вы и запрашивайте. В нуль-посте обозначено то, что интересует. Кроме того: ... вопрос со статикой снимается автоматически. Потому что J-антенна - замкнутая петля по постоянному току. И да, производитель модулей также проигнорировал мои вопросы, и вместо прямых ответов пустился в рассуждения о дешевизне пин-диодов и защите от статики. Цирк.
  18. Вот и пользуйте их в своих изделиях.... А я как-нибудь обойдусь без этого вандализма.
  19. Объясните, как пользоваться LDPC ? Вот взять к примеру кодек Рида-Соломона: есть процедура кодирования и декодирования. В качестве исходных данных - массив бит или байт. При кодировании получаем - дополнительные проверочные слова. При декодировании - получаем восстановленное сообщение (если повезёт). А как LDPC использовать? Смотрю примеры на гитхабе с LDPC, и чё-т я вкурить не могу - там какие-то полярные модуляции, шумы замешивают... какие -то вероятности... Ничего не понимаю. Мне нужно закодировать массив байт и потом раскодировать. Не вижу прозрачности в пользовании LDPC кодов. Что не так? И почему?
  20. Также подумал. На ВЧ от статики защищаются вроде как индуктивностью на землю: видел такое решение в модуле на CMT2300A: там согласующее звено содержало катушку, замнкнутую на GND. Тем не менее, модули работают на скорости 1,25 МБит/c (4GFSK, кварц 37.5 МГц вместо 30 МГц) на 435 МГц с мощностью всего 0,1 мВт (-10 дБм) в пределах помещения с настроенной в резонанс (по VNA) J-антенной и FEC, исправляющей по всему пакету максимум 10% ошибок, длина пакета 6 кБ. И я рад!
  21. Ответ от официального представителя NiceRF:
  22. Для Si4463 указана чувствительность для диапазона 868 МГц: -88 dBm на скорости 1 МБит/c , модуляция 4GFSK. PER 1%. 1) Как пересчитать чувствительность для диапазона 433 МГц ? (в даташите данные отсутствуют) 2) Как пересчитать чувствительность для битрейта 1,25 МБит/c ? 3) Как перевести PER в BER? Нужен BER, чтобы определить минимальную маржу из бюджета линка связи и исправляющей способности FEC. Производитель хитропопый - на высоких битрейтах вместо замера чутья при заданном BER, делает замеры при заданной PER. Интересует не число принятых пакетов, а число ошибочно принятых бит. Чтобы соотнести с графиком BER vs. Eb/N0. Иными словами, мне нужно посчитать максимальную дальность в свободном пространстве, которую даст моя система связи с заданными мощностью, чувствительностью, антенной, скоростью, FEC.
  23. SDK Allwinner V3s

    Для SDK T113-s3 добавлен модуль I2S (для внешних аудио-ЦАП, цифровых УНЧ). Предложения актуальны. По всем вопросам пишите на repstosw2018 @ gmail.com
  24. Мне лень было подключать PNG-декодер, и я в GIMP сконвертировал ваш PNG в RAW в формате ABGR: mantech.zip Там же - в виде сишного хедера.
×
×
  • Создать...