Поиск
Показаны результаты для тегов 'si446x'.
-
Кто-нибудь занимался реверсом 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. Я понимаю, что немного отстал с этим реверсом, но чипы появились недавно (год назад).
-
Si4463 бьются пакеты на 1000 kbps
repstosw опубликовал тема в RF & Microwave Design
Использую Si4463 с настройками: модуляция: 4FSK скорость 500 ksps (1000 kbps) девиация частоты (inner) 83,333 кГц полоса пропускания - Auto (850 МГц максимум) длина пакета 8192 байта преамбула при передаче 48 символов порог срабатывания преамбулы в приёмнике 12 символов синхрослово 4 байта: 0x5A0FBE66 включено отбеливание данных (Whitening). мощность передатчика 10 мВт (10 dBm) Проблема: очень много ошибочных пакетов, когда ходишь с приёмником в руках по комнатам помещения. Сделал запись (лог) пакетов и дальнейший их анализ. В ходе анализа установлено (3 минуты ходьбы по помещению): 1. Пакеты, принятые без ошибок - 53% 2. Пакеты, принятые с ошибочными 0..128 байт - 87% 3. Пакеты, принятые с ошибочными 0..256 байт - 92% 4. Пакеты, принятые с ошибочными 0..2048 байт - 99% 5. Ошибочный байт содержит один повреждённый бит либо в старшей либо в младшей тетраде. Вопросы: 1. Какие корректирующие коды здесь могут быть полезны? (Голей, Хемминг, BCH, RS, ... ?) 2. Какими настройками в WDS можно улучшить приём паектов? (или какими настройками регистров) Лог принятых пакетов приложил ниже (чёрные пикселы - ошибочные байты. 1 строка - пакет 8192 байт). -
Si4463 передача/приём длинных пакетов (>64/128 байт)
repstosw опубликовал тема в RF & Microwave Design
Начал осваивать трансиверы Si4463. С помощью WDS генерю конфиг, а драйвера взял из AVR и портировал их на Allwinner. Добился инициализации чипа и получил информацию (ID, версия патча, и т.п). Передал и принял пакет, не превышающий размеры буфера FIFO (64/128 байт). Теперь встал вопрос - как передавать длинные пакеты? К примеру 2048 байт. Ранее работал с чипом CMT2300A, там передача и приём длинных пакетов делался с помощью флага порога заполнения FIFO: TX/RX FIFO_THRESHOLD. В Si4463 я не вижу флагов или настройки прерывания или GPIO - на событие THRESHOLD. Буду благодарен, если кто-нибудь объяснит - в какую сторону надо смотреть или даст ссылку на репозиторий. Честно говоря, тот код, который генерит WDS - слишком громоздкий, хитросплетённый и не читаемый. И под непопулярную архитектуру. Хочется код по-прозрачнее.