Quantcast
Channel: Embedded Community : All Content - All Communities
Viewing all articles
Browse latest Browse all 3140

HDA向CODEC发送音频流不正确,求助!

$
0
0

平台:南桥(BD82QM67_SLJ4M)HD Audio接一块CODEC芯片( Realtek_ALC662GR)

操作系统:vxWorks

问题描述:进行音频驱动开发,HDA自身寄存器读写功能正确。CORBRIRB功能正常,即HDA能读写CODEC寄存器。但HDACODEC发送音频流OSD0(Output Stream Descriptor 0) 不成功,不成功表现为启动DMAOSD0SDLPIB寄存器的值循环变化,OSD0STS寄存器bit2(Buffer Completion Interrupt Status)不置位(BDLE中的IOC已设置),使用示波器观察SDO发现每个frame输出32bits高电平与数据缓冲区的数据不一致(无论数据缓冲区的值为何值,SDO上输出的一直是高电平)。

 

参数设置情况:

音频PCM数据格式为: 44.1k16bit2通道

BDL设置2BDLE,每个entry的参数分别为:

 

BDLE0

BDLE1

ADDRESS_LOWER

0x07FB8000

0x07FB9000

ADDRESS_UPPER

0x00000000

0x00000000

LENGTH

0x1000

0x1000

IOC

1

1

Stream Num设置为1

注:BDLBDLE内存都是申请的连续内存空间。

 

HDA的设置为:

OSD0CTL:                  0x14001C

OSD0CBL:                 0x2000

OSD0LVI:                   1

OSD0FIFOW:             0x0004

OSD0FIFOS:              0x00C0

OSD0FMT:                 0x4011

OSD0BDPL:               0x07E49000

OSD0BDPU:               0x00000000

 

CODEC使用FRONT DAC设置以下参数:

设置Converter Format0x4011

设置Converter Stream,Channel0x10


Viewing all articles
Browse latest Browse all 3140

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>