文章来源:http://www.emtronix.com/article/article2009302.html
随着嵌入式技术的广泛应用,在工业控制领域有越来越多的应用需要高品质的音频输出,而EM9161作为一款高性价比的工控主板产品,在推出不到三个月的时间里,已得到广大客户的广泛认可,其中不乏对音频输出的需求。针对这一应用需求,我们在保持EM9161现有基本功能不变的前提下,在后续的EM9161产品中加入了对音频输出的驱动程序,音频输出接口信号与EM9161的若干GPIO信号复用。在出厂缺省配置下,音频输出功能是关闭的,对需要音频输出功能的客户,只需运行一次系统自带的AudioSet命令,再重启系统,音频输出的功能即打开。
EM9161的音频接口是以I2S信号格式的数字码流信号,这些信号需接入音频解码芯片codec中,才能最终获得可驱动喇叭的模拟音频信号。EM9161的音频驱动程序是面向Atmel公司的AT73C213音频解码芯片编写的,为了控制AT73C213芯片,还需要提供SPI接口,以及上电复位信号。具体的EM9161音频接口信号与复用的GPIO对应关系如下:
GPIO信号 |
音频接口信号 |
简要说明 |
GPIO2 |
SPI_CLK |
SPI时钟,上升沿输出数据,下降沿锁存输入数据 |
GPIO3 |
SPI_DOUT |
SPI串行数据输出 |
GPIO4 |
SPI_CSn |
SPI片选控制信号,低电平有效。 |
GPIO5 |
SPI_DIN |
SPI串行数据输入 |
GPIO14 |
I2S_TX0 |
I2S格式音频串行输出bit码流 |
GPIO0 |
I2S_LRFS |
I2S格式数据帧同步信号 |
GPIO1 |
I2S_BCLK |
I2S格式数据串行输出bit时钟 |
GPIO6 |
I2S_MCLK |
为codec的I2S接口提供的工作时钟 |
GPIO15 |
RSTOUTn |
上电复位信号,低电平有效 |
在不使用音频输出功能时,EM9161的GPIO功能完全保持不变,即使启动音频输出功能,没有被音频接口占用的GPIO仍然可以使用。
为了对EM9161的音频输出功能进行快速评估,客户可选购英创公司的音频扩展模块ETA973。ETA973是一款基于AT73C213的音频解码扩展单元,其接口管脚的定义如下:
注意,在本文的信号命名中,都是以EM9161为参考的,如对SPI接口信号来说,SPI_DOUT是指从EM9161输出,所以应接入AT73C213的DIN管脚。在实际用ETA973进行评估时,相关信号一般从EM9161开发评估底板的CN12引出。CN12的信号顺序与ETA973的CN1的信号顺序不是一一对应的,需要制作专门的连接线。
EM9161开发评估底板的CN12为20芯双排IDC插座,各信号的定义如下:
信号名称及简要描述 |
CN1 |
信号名称及简要描述 |
|
PIN# |
PIN# |
||
1 |
2 |
SPI_DOUT |
|
3 |
4 |
SPI_DIN |
|
5 |
6 |
I2S_LRFS |
|
7 |
8 |
||
9 |
10 |
电源地(GND) |
|
11 |
12 |
电源地(GND) |
|
13 |
14 |
||
15 |
16 |
+5V电源输入 |