IIS接口的FPGA实现
现的元件L3_3B_Mod时序仿真图见图5。 图5显示的是L3接口DATA0扩展地址模式时序图,共传输了3字节数据,即1个地址字节、2个数据字节。地址字节的高6位为UDA1341TS地址,低2位选择DATA0操作模式,紧接着的数据字节最高两位为‘11’选择扩展地址模式,这意味着该字节后面还要传输1字节数据。图5中的3字节分别为0x14、0xC4和0xF0,该命令将打开输入通道的自动增益控制。L3接口要求串行数据的低位在前传输,这一点与IIS有所不同。 实现L3_3B_Mod元件时引入了一个参考时钟REF_CLK,由一个5位计数器对该时钟信号计数,根据L3接口在3字节操作时的时钟信号图案,控制由REF_CLK生成L3CLOCK,得到L3CLOCK之后,L3接口的操作均以此时钟信号来同步。 元件L3_2B_Mod设计及仿真结果与L3_2B_Mod类似。 3 测试方法及结果 在以S3C4510B为核心的嵌入式系统中,根据存储器配置情况,选择一段未用的存储空间,将FPGA实现的寄存器映射成S3C4510B在该段存储空间中的存储单元,这样就可以用C语言编程来访问这些存储单元,从而实现对UDA1341TS的控制。实际选择了S3C4510B的可重定位片选信号nRCS1作为FPGA实现的寄存器基地址选择信号,并将该片选地址定位为0x12000000,这样各寄存器的实际地址如表1。 根据UDA1341TS命令列表,在Hitool For ARM support μClinux软件开发环境下,编写C语言程序,测试STATUS操作和DATA0操作功能及结果。程序运行之前需要用JTAG下载电缆将ISE开发环境下生成的bit文件下载 到FPGA芯片中,以实现要求的功能。 经实际测试,通过FPGA实现的IIS总线和L3接口,S3C4510B可以控制UDA1341TS芯片完成各种操作,实现STATUS操作模式和DATA0模式的各种控制功能,并可用DATA1操作模式获取音频数据重放时的峰值电平。 编写测试程序,输出1kHz正弦信号,并控制声道、音量、静音等变化,示波器观察和耳机听到的结果正确。 编写测试程序,读入麦克风音频信号,分时由左右声道输出,测试结果正确。 本设计采用音频接口专用芯片UDA1341TS,并通过FPGA实现了IIS总线和L3接口,使得基于S3C4510B的嵌入式系统可以方便地扩展音频功能,实验结果正确。 在本文工作的基础上,可以进一步发挥FPGA的灵活性。如可以利用FPGA实现DSP功能,从而提供音频DSP处理或编码解码;也可以与SoPC相结合,作为音频接口模块,为片上系统提供音频接口。
- 3DES算法的FPGA高速实现(06-21)
- 基于DSP的Max-Log-MAP算法实现与优化(05-27)
- DSP中DMA操作的无阻塞请求实现(06-18)
- 二维DCT编码的DSP实现与优化(09-08)
- 基于DSP处理器上并行实现ATR算法(01-29)
- 基于DSP的H.324终端设计(05-27)