随着嵌入式技术的广泛应用,在工业控制领域有越来越多的应用需要高品质的音频输出,而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插座,各信号的定义如下:
信号名称及简要描述 | CN12 | 信号名称及简要描述 | |
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命令后,需重启系统,设置才能有效。之后系统将始终保持当前设置,无需客户反复设置。
成都英创信息技术有限公司 028-8618 0660