3058|5

1万

帖子

16

TA的资源

版主

楼主
 

【ESK32-360测评】六、喂!喂!你好!你好! [复制链接]

  本帖最后由 ddllxxrr 于 2020-8-20 10:45 编辑

我不隐瞒地说我从来就没有跑过I2S的程序。一个是因为工作接触不到这个,再一个因为以前开发板根本就没有这个例程。 

但是和泰的这款板子就不一样了。板子上有一个语音芯片,还有一个I2S的例程。等了这么久机会终于来了。

首先,分析一下原理图:

可见,这个原理是可以音频和语音输入的。而S1为两者的切换。再有板子上有一处为显示屏与I2S的跳线。

再分析一下例程:

int main(void)
{
  NVIC_Configuration();
  CKCU_Configuration();
  GPIO_Configuration();
  RETARGET_Configuration();
  I2CM_Init();
  WM8978_Init();

  printf("\r\n\r\nHT32 I2S and WM8978 Loopback ...\r\n");

  /* Config I2S                                                                                             */
  I2S_Configuration();

  /* I2S TX                                                                                                 */
  /* I2S RX                                                                                                 */
  PDMA_Configuration();

  while (1)
  {
    int i;

    while (IsRxTrigLevelReach == FALSE);
    IsRxTrigLevelReach = FALSE;
    for (i = 0; i < HALF_BUF_SIZE; i++)
    {
      u32 tmp = RxBuf[AltBuf];
      TxBuf[AltBuf] = (tmp & 0xFFFF0000) | (tmp >> 16);
    }
  }
}

可见只是把收到的内容,输出,而这都只是不经过CPU处理的:


void PDMA_Configuration(void)
{
  PDMACH_InitTypeDef PDMACH_InitStructure;

  /* I2S TX                                                                                                 */
  PDMACH_InitStructure.PDMACH_SrcAddr = (u32)&TxBuf[0][0];
  PDMACH_InitStructure.PDMACH_DstAddr = (u32)&HT_I2S->TXDR;
  PDMACH_InitStructure.PDMACH_AdrMod = (SRC_ADR_LIN_INC | DST_ADR_FIX | AUTO_RELOAD);
  PDMACH_InitStructure.PDMACH_BlkCnt = BUF_SIZE/5;
  PDMACH_InitStructure.PDMACH_BlkLen = 5;
  PDMACH_InitStructure.PDMACH_DataSize = WIDTH_32BIT;
  PDMACH_InitStructure.PDMACH_Priority = M_PRIO;
  PDMA_Config(PDMA_CH3, &PDMACH_InitStructure);
  PDMA_EnaCmd(PDMA_CH3, ENABLE);

  I2S_FIFOTrigLevelConfig(I2S_TX_FIFO, 3);  // Tx FIFO data '<' or '=' 3
  I2S_IntConfig(I2S_INT_TXFIFO_UDF, ENABLE);
  I2S_PDMACmd(I2S_PDMAREQ_TX, ENABLE);


  /* I2S RX                                                                                                 */
  PDMACH_InitStructure.PDMACH_SrcAddr = (u32)&HT_I2S->RXDR;
  PDMACH_InitStructure.PDMACH_DstAddr = (u32)&RxBuf[0][0];
  PDMACH_InitStructure.PDMACH_AdrMod = (SRC_ADR_FIX | DST_ADR_LIN_INC | AUTO_RELOAD);
  PDMACH_InitStructure.PDMACH_BlkCnt = BUF_SIZE/5;
  PDMACH_InitStructure.PDMACH_BlkLen = 5;
  PDMACH_InitStructure.PDMACH_DataSize = WIDTH_32BIT;
  PDMACH_InitStructure.PDMACH_Priority = H_PRIO;
  PDMA_Config(PDMA_CH2, &PDMACH_InitStructure);
  PDMA_IntConfig(PDMA_CH2, (PDMA_INT_GE | PDMA_INT_TC | PDMA_INT_HT), ENABLE);
  PDMA_EnaCmd(PDMA_CH2, ENABLE);

  I2S_FIFOTrigLevelConfig(I2S_RX_FIFO, 5);  // Rx FIFO data '>' or '=' 5
  I2S_PDMACmd(I2S_PDMAREQ_RX, ENABLE);
  I2S_IntConfig(I2S_INT_RXFIFO_OVF, ENABLE);

  I2S_Cmd(ENABLE);
}

那么,好办了,我就用MIC做为输入以耳机做为输出问一下你好吧?

 

有的看官会问怎么知道是程序的输出的,也许模块就是这样吧?,这很简单就可以证明,我下个不是I2S的程序,从耳机里听不到我手摸迷头的声音。

以下是我用手机,靠近耳机录的音。内容是:“喂!喂!你好你好”,不愿听叫唤的可以绕过。

8月19日 下午7点12分.mp3 (101.27 KB, 下载次数: 3)

 

用手机播放的截图:

总结一下:和泰的这款开发板,真的不错,和别的总是有点不一样的感觉。给我留了老好的印象,我想将来有机会我得考量一下和泰的芯片。

 

最新回复

看起来不是很麻烦,我工作中也用不到音频   详情 回复 发表于 2020-8-24 22:22
点赞 关注
个人签名http://shop34182318.taobao.com/
https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr
 
 

回复
举报

310

帖子

5

TA的资源

一粒金砂(中级)

沙发
 

I2S跟显示屏所用的SPI引脚复用了?

点评

在板子上有上跳线,我觉得是  详情 回复 发表于 2020-8-20 10:40
 
 
 

回复

1万

帖子

16

TA的资源

版主

板凳
 
宋元浩 发表于 2020-8-19 23:08 I2S跟显示屏所用的SPI引脚复用了?

在板子上有上跳线,我觉得是

点评

这就有点不香了,这个demo板的MCU是48pin的嘛  详情 回复 发表于 2020-8-20 13:29
个人签名http://shop34182318.taobao.com/
https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr
 
 
 

回复

310

帖子

5

TA的资源

一粒金砂(中级)

4
 
ddllxxrr 发表于 2020-8-20 10:40 在板子上有上跳线,我觉得是

这就有点不香了,这个demo板的MCU是48pin的嘛

 
 
 

回复

1万

帖子

2854

TA的资源

管理员

5
 

合泰ESK32-360开发板测评
汇总贴:https://bbs.eeworld.com.cn/thread-1134246-1-1.html

加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
个人签名

玩板看这里:

https://bbs.eeworld.com.cn/elecplay.html

EEWorld测评频道众多好板等你来玩,还可以来频道许愿树许愿说说你想要玩的板子,我们都在努力为大家实现!

 
 
 

回复

7462

帖子

2

TA的资源

五彩晶圆(高级)

6
 

看起来不是很麻烦,我工作中也用不到音频

个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表