Если коротко: нет передачи в эфире.
Если подробно, то ситуация следующая. Запускаю si4463 rev B1 на передачу таким способом:
1 Подаю питание на схему
2 Даю длинный SDN=1 (200 мс)
3 Жду CTS=1
4 Шлю power up с указанием частоты кварца 26 МГц
5 Жду CTS=1
6 Отправляю набор конфигурационных property, сгенерированных WDS.
6.1 Перед каждой property ожидаю CTS=1 (как впрочем и перед любой командой, поэтому далее эту запись опускаю)
7 Очищаю FIFO TX/RX
8 Читаю ответ
9 Заполняю TX FIFO
10 Даю команду на передачу
11 Непрерывно запрашиваю REQUEST_DEVICE_STATE пока CURR_STATE=TX, вижу что это состояние сохраняется ровно столько, сколько нужно на передачу заданного числа бит (включая преамбулу и синхрослово) при заданной скорости
12 Повторяю цикл передачи с пункта 7 примерно раз в секунду
13 В эфире тишина...
Замечания:
-настраиваю вывод тактовой частоты на GPIO0 и там тишина, когда же настраиваю на другие функции типа CTS или InvCTS то вижу что они появляются на этом пине корректно
-сишка охотно отвечает на запрос PART_INFO, отвечая что она 4463 с РОМ айди 3
-смотрел осциллографом сигнал на ножках кварца - есть чистенькие 26 МГц
Оборудование:
BluePill STM32F103C8
Китайский SALEAE LOGIC
Китайский RTL-SDR
Китайский модуль SI4463 от CDSENET (красная плата, две гребенки 2.54, без rx/tx свитча, торцевой SMA мама)
В прикреплении:
Исходник прошивки для Keil uVision 5.24.2.0
Дамп логического анализатора для Saleae Logic 1.2.18 (от подачи питания до нескольких пакетов на передачу)
Проект и сгенерированный h файл для WDS 3.2.11.0
Моя грусть от непонимания в чем дело
- Вложения
-
- 4463_no_tx.rar
- (258.88 KiB) Скачиваний: 131