随着嵌入式技术的广泛应用,在工业控制领域有越来越多的应用需要高品质的音频输出,而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的音频解码扩展单元,其接口管脚的定义如下:
信号名称及简要描述 |
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电源输入 |
注意,在本文的信号命名中,都是以EM9161为参考的,如对SPI接口信号来说,SPI_DOUT是指从EM9161输出,所以应接入AT73C213的DIN管脚。在实际用ETA973进行评估时,相关信号一般从EM9161开发评估底板的CN12引出。CN12的信号顺序与ETA973的CN1的信号顺序不是一一对应的,需要制作专门的连接线。 EM9161开发评估底板的CN12为20芯双排IDC插座,各信号的定义如下:
信号名称及简要描述 |
PIN# |
PIN# |
信号名称及简要描述 |
GPIO0,上电为输入状态 |
1 |
2 |
GPIO1,上电为输入状态 |
GPIO2,上电为输入状态<, /P> |
3 |
4 |
GPIO3,上电为输入状态 |
GPIO4,上电为输入状态 |
5 |
6 |
GPIO5,上电为输入状态 |
GPIO6,上电为输入状态 |
7 |
8 |
GPIO7,上电为输入状态 |
GPIO8,上电为输入状态 |
9 |
10 |
GPIO9,上电为输入状态 |
GPIO10,上电为输入状态 |
11 |
12 |
GPIO11,上电为输入状态 |
GPIO12,上电为输入状态 |
13 |
14 |
GPIO13,上电为输入状态 |
GPIO14,上电为输入状态 |
15 |
16 |
GPIO15,上电输出低电平 |
+5V,电源输出 |
17 |
18 |
+5V,电源输出 |
GND,公共地 |
19 |
20 |
GND,公共地 |
可通过EM9161的命令AudioSet来打开或关闭音频输出功能。使用命令AudioSet的方法是启动Telnet,在Telnet窗口下运行AudioSet即可。若关闭音频功能,需要在AudioSet后面带上参数“0”,如:AudioSet 0。若打开音频功能,可不带参数,或带上参数“1”。在运行AudioSet命令后,需重启系统,设置才能有效。之后系统将始终保持当前设置,无需客户反复设置。
|