Rockchip · AI & Linux Hub

Разработка продукта

RK730: питание, запуск и останов ADC/DAC

Все шесть последовательностей с адресами и битами, конфликт нумерации ADC и проверки перед интеграцией драйвера.

· ArmSoM Editorial · 5 мин чтения

Статья основана на указанной редакции datasheet. Значения являются спецификациями производителя, а не измерениями ArmSoM; новых аппаратных испытаний не проводилось. Проверьте ревизию кристалла, схему платы, SDK/BSP, ядро и драйверы. Пояснения и редактируемые таблицы помогают чтению; полная спецификация и не рассмотренные подробно битовые поля находятся в исходном PDF.

RK730 · Rockchip RK730 Datasheet V1.0-20241118.pdf · PDF 44–46.

RK730: питание, запуск и останов ADC/DAC

Английский оригинал, PDF, стр. 10.

Это справочные последовательности, не исполняемый скрипт

Таблицы следуют стр. 44–46 сверху вниз. Присваивание поля меняет указанные биты, не весь регистр; сохраняйте остальные биты, блокировки драйвера и управление питанием. Неуказанные задержки не придуманы. Перед применением проверьте драйвер, такты, каналы и аналоговую схему.

Шесть полных последовательностей

Включение системы

Порядок чтения Номер в оригинале Значение поля Действие / группа
1 0 — Подать аналоговое и цифровое питание
2 1 0x1F[7]=1'b1 Включить LDO VMID
3 2 0x10[7:0]=8'b00000000 Управление системным PLL

Выключение системы

Порядок чтения Номер в оригинале Значение поля Действие / группа
1 0 — Сохранить питание; сначала выключить DAC и ADC
2 1 0x10[7:0]=8'b11111111 Выключить системный PLL
3 2 0x1F[7]=1'b0 Выключить LDO VMID
4 3 — Снять аналоговое и цифровое питание

Включение ADC

Порядок чтения Номер в оригинале Значение поля Действие / группа
1 0 — Выполнить включение системы
2 1 0x01[7]=1'b0 HK_TOP_1
3 2 0x0A[0]=1'b0 MIC_BOOST_0
4 3 0x0B[0]=1'b0 MIC_BOOST_1
5 4 0x0C[0]=1'b0 MIC_BOOST_2
6 5 0x0D[0]=1'b0; 0x0D[7:6]=2'b01 MIC_BOOST_3
7 6 0x0E[0]=1'b0 ADC_PGA_BLOCK_0
8 7 0x0F[0]=1'b0; 0x0F[7:6]=2'b01 ADC_PGA_BLOCK_1
9 8 0x04[1:0]=2'b00 ADC_0
10 9 0x06[4]=1'b1; 0x06[3]=1'b1 ADC_2
11 10 0x07[5:4]=2'b01 ADC_3
12 11 0x41[2:0]=3'b010 SRT
13 12 0x44[7]=1'b1 VUCTL
14 13 0x69[0]=1'b0 I2S_CKM
15 14 0x6F[6]=1'b0 I2S_TXCR1
16 15 0x71[7:0]=8'b10001000 I2S_TXCMD
17 16 0x40[7:6]=2'b11 DIGEN
18 17 0x40[5:4]=2'b11 DIGEN
19 18 — Начать запись

Выключение ADC (исходные номера сохранены)

Порядок чтения Номер в оригинале Значение поля Действие / группа
1 0 — Остановить запись, временно сохранить каналы
2 1 0x40[5:4]=2'b00 DIGEN
3 2 0x40[7:6]=2'b00 DIGEN
4 3 0x71[7:0]=8'b00000000 I2S_TXCMD
5 8 0x04[1:0]=2'b11 ADC_0
6 7 0x0F[0]=1'b1; 0x0E[0]=1'b1 ADC_PGA_BLOCK_1 / ADC_PGA_BLOCK_0
7 6 0x0D[0]=1'b1 MIC_BOOST_3
8 4 0x0C[0]=1'b1 MIC_BOOST_2
9 3 0x0B[0]=1'b1 MIC_BOOST_1
10 2 0x0A[0]=1'b1 MIC_BOOST_0
11 1 0x01[7]=1'b1 HK_TOP_1

Включение DAC

Порядок чтения Номер в оригинале Значение поля Действие / группа
1 0 — Выполнить включение системы
2 1 0x01[7:6]=2'b00 HK_TOP_1
3 2 0x41[6:4]=3'b010 SRT
4 3 0x44[6]=1'b1 VUCTL
5 4 0x69[7:0]=8'b00111010 I2S_CKM
6 5 0x40[7:4]=4'b0101 DIGEN
7 6 0x40[7:4]=4'b0000 DIGEN
8 7 0x69[7:0]=8'b00000000 I2S_CKM
9 8 0x6E[7]=1'b1 I2S_RXCMD
10 9 0x40[3:0]=4'b0101 DIGEN
11 10 0x40[3:0]=4'b1111 DIGEN
12 11 0x4F[7:4]=4'b0000 DDAC_FILTER
13 12 0x08[2:0]=3'b000 DAC_0
14 13 0x09[6:4]=3'b000 DAC_1
15 14 0x21[7:0]=8'b10000000 HP_0
16 15 0x24[7:0]=8'b10000000 SPK_0
17 16 — Начать воспроизведение

Выключение DAC

Порядок чтения Номер в оригинале Значение поля Действие / группа
1 0 — Сначала включить mute
2 1 0x24[3:2]=2'b11 SPK_0
3 2 0x21[3:2]=2'b11 HP_0
4 3 0x09[6:4]=3'b111 DAC_1
5 4 0x08[2:0]=3'b111 DAC_0
6 5 0x40[3:0]=4'b0101 DIGEN
7 6 0x40[3:0]=4'b0000 DIGEN
8 7 0x6E[7]=1'b0 I2S_RXCMD
9 8 0x01[7:6]=2'b11 HK_TOP_1

Конфликт номеров и перенос страницы

Номера выключения ADC: 0,1,2,3,8,7,6,4,3,2,1, с повторами и обратным порядком. Они сохранены рядом с порядком чтения, не отсортированы. Шаг 9 включения ADC пересекает страницу; обе записи 0x06[4] и 0x06[3] сохранены. Переход DIGEN 0101 → 0000 при включении DAC также не удалён; промежуточные операции нельзя объединять по совпадению итогов.

Что фиксировать при проверке платы

Фиксируйте питание, MCLK/BCLK/LRCLK, версию драйвера, параметры дискретизации и изменения регистров. Проверяйте ADC известным входным уровнем, затем DAC на заданной нагрузке; оценивайте mute, шум, щелчки и восстановление. Перед снятием питания выключайте аудиотракты. Это рекомендации, не утверждение о завершённых испытаниях ArmSoM.

Продукты ArmSoM и границы применения

CM1 и Forge1 приведены как платформы для проектов с аудиопериферией. Наличие RK730 на этих платах и готовая поддержка драйвера здесь не утверждаются. Сначала проверьте доступность I2S, I2C, тактовых сигналов и нужных уровней напряжения.

Серия по datasheet и исходный PDF

Другие статьи по теме → · Учебные маршруты →