随着嵌入式技术的广泛应用,在工业控制领域有越来越多的应用需要高品质的音频输出,而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#
SPI_CLK
1
2
SPI_DOUT
SPI_CS
3
4
SPI_DIN
I2S_TX0
5
6
I2S_LRFS
I2S_BCLK
7
8
I2S_MCLK
系统保留
9
10
电源地(GND)
RSTOUTn,上电复位
11
12
电源地(GND)
系统保留
13
14
系统保留
+5V电源输入
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,上电为输入状态
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命令后,需重启系统,设置才能有效。之后系统将始终保持当前设置,无需客户反复设置。
[查看原文]
[关于英创]
[更多文章]
[技术论坛]