Call us in Seattle
+1 (800) 871-6550
如何在Colibri T20计算机模块上使用S/PDIF 音频输出
2014年6月23日星期一
Colibri T20 计算机模块使用 NVIDIA's Tegra 2 ARM Cortex A9 双核处理器,该模块是高性能、低功耗应用的理想选择。Colibri T20 计算机模块 拥有片上 S/PDIF(Sony/Philips Digital Interface) 单元 这使得T20能够除了输出模拟音频外还可以输出数字音频。.
如何使用S/PDIF功能?
如果你使用HDMI显示器,可以将HOTPLUG_DET引脚拉高,激活S/PDIF功能。如果没有使用HDMI显示器,需要通过以下代码来激活:
// MixerSetOutputDevice.cpp : Defines the entry point for the console application. #include <windows.h> #include <winioctl.h> //============================================================================= // definitions for the MIX_MESSAGE IoControl #define IOCTL_MIX_MESSAGE \ CTL_CODE((ULONG)0x8000, 0x0040, METHOD_BUFFERED, FILE_ANY_ACCESS) // Definitions for the Nvidia SET_OUTPUT_DEVICE feature #define MXDM_SET_OUTPUT_DEVICE (112) #define WaveOutDevice_HDMI (4) typedef struct { UINT uDeviceId; UINT uMsg; // set to MXDM_SET_OUTPUT_DEVICE DWORD dwUser; DWORD dwParam1; // set to WaveOutDevice_HDMI DWORD dwParam2; } MMDRV_MESSAGE_PARAMS; //============================================================================= int _tmain(int argc, _TCHAR* argv[]) { HANDLE hWAV = INVALID_HANDLE_VALUE; DWORD ret; MMDRV_MESSAGE_PARAMS mixerParams = {0, MXDM_SET_OUTPUT_DEVICE, 0, WaveOutDevice_HDMI, 0}; DWORD outBuf; DWORD outSize; hWAV = CreateFile(L"WAV1:", GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); ret = DeviceIoControl(hWAV, IOCTL_MIX_MESSAGE, &mixerParams, sizeof(mixerParams), &outBuf , sizeof(outBuf), &outSize, NULL ); if (!ret) printf("error in DeviceIoControl: %d, LastError=%d\r\n", ret, GetLastError()); CloseHandle(hWAV); return 0; }
如何配置SPDIF_OUT引脚?
在Colibri T20上可以使用以下几个引脚作为SPDIF_OUT:
GPIO |
AltFn# |
SODIMM Pin |
C3 |
1 |
19 |
D4 |
0 |
92 |
K5 |
0 |
137 |
其中任何一个引脚都可以作为SPDIF_OUT。
请注意, SPDIF_OUT功能不兼容于其他Colibri 模块。 上面列表中的引脚,在其他Colibri模块的兼容配置中均用作其他用途。 你可以使用GPIOConfig 工具 改变SPDIF_OUT的引脚功能。为了在每次系统启动的时候改变引脚的功能, 我们建议将相应的代码放入应用程序中,例如使用 GPIOLib库的SetPinAltFn() API。.
Latest News
2024年4月11日星期四
2024年4月4日星期四
2024年2月20日星期二
Press Release:
Join Toradex at Japan IT Week Spring 2024