完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
你好!
我附上我的沟通也许更容易项目。的PSoC芯片5我使用的应用是音频调谐器前端显示面板。 如果你看一看,你会看到,我用四块:一个主机,和I2S的主人,和两个DMA块。SPI驱动面板的LED,和功能正常。关于LED代码已经从我的主文件略(小说。C)为方便使用。I2S读取来自SRC数据,和WS,位时钟和数据都连接在相应的硬件终端cydwr文件。现在,我的麻烦就在于处理数据读取DMA的。我有两个功能设置左(0)右(1)通道DMA配置,名为i2s0()和()I2S1。他们是相同的除了来源、渠道和TD的名字。我希望存储传入的数据在两个缓冲区,l_buf和r_buf,哪里可以进一步加工。然而,当我调试(我用的是miniprog3),在我的“看”窗口中查看缓冲区,数据来自于没有预期的;我的调谐器的输入是一个函数发生器产生正弦波,和数据来到底有某种信息损失。下面的规范可能是相关的:数据位:16。字选择期:32音频采样频率:44.1千赫(通过Src约37千赫)我希望有人能帮我找出错误,我在DMA配置功能;测试后,我觉得这是问题的所在。是的,我读过的所有块的数据表包含在我的设计,以及许多应用笔记,关注配置DMA的。 感谢你花时间看,任何真正的输入是极大的赞赏。 M4HD-Fr.TopelyRKySIMP-0.0.CyWrk.CaseVo.01.Zip 3兆字节 |
|
相关推荐
8个回答
|
|
|
|
|
|
|
|
|
|
乍一看:
/*启用全局中断-不太确定如果我需要这个。另外,它给了我一个错误*///CyGalAuthAudiable();***至少对于I2C是必需的,但是必须在main()空main()中调用 对于两个DMA通道,都使用相同的TD。声明TD(2)并在每个通道中使用一个。 鲍勃 |
|
|
|
我不认为我理解;我声明两个不同的TD和通道的左、右立体声选项:
/ * * / TD处理函数时,dma0_chan;uint8 dma0_td [1 ];uint8 dma1_chan;uint8 dma1_td [1 ]; 创造了一个新的变量名(和内存空间)不足以区分这两个渠道和TD的?我显然不具备复杂的理解如何浏览dmaarchitecture。 非常感谢你的反馈,我真的非常感谢您抽出时间来看看它。 拉奎尔 |
|
|
|
好吧,对不起,我误解了一些定义,你使用的TDS非常正确。
但是 有一个I2S的示例项目,有点类似于您的项目。不同的是,结果缓冲区被组织成UIT8字节。这是符合I2S寄存器i2s11yrxCH00f0yptR,它是指向一个8位宽寄存器的指针。没有使用I2S,我不太确定这两个字节是否必须组合到一个16位的值,这可以通过使用另一个DMA通道来完成。 这里解释了PG 10“使用中间存储位置”。 鲍勃 |
|
|
|
你已经把它命名为:“每个FIFO都有4字节的深度。”他们在谈论字节。组件所需的资源清楚地说明(我检查过)它只有8位宽。因此,较大的值必须(似乎)从字节组合。读了我告诉你的诀窍,我试过类似的方法,效果很好。
鲍勃 |
|
|
|
鲍勃,
它起作用了!我试着按照你的建议做两个通道的DMA配置,但是数据最终正确地用了一个;在你提供的文档中张贴的字节交换配置做了这个把戏。现在我的LED闪烁得十分美妙,更重要的是准确的:) 这就是我的配置看起来像最终: 无效i2s0() /左声道{ // DMA规格#定义1定义1 dma0_bytes_per_burst # dma0_request_per_burst #定义dma0_rx_src_base(cydev_periph_base)/源I2S周围#定义dma0_rx_dst_base(cydev_sram_base)/目的地是SRAM dma0_chan = dma0_dmainitialize(dma0_bytes_per_burst,dma0_request_per_burst,hi16(cydev_periph_base),hi16(cydev_sram_base));dma0_td [ 0 ] = cydmatdallocate();cydmatdsetconfiguration(dma0_td [ 0 ],2×Len,dma0_td [ 0 ],td_inc_dst_adr | dma0__td_termout_en | cy_dma_td_swap_en);cydmatdsetaddress(dma0_td [ 0 ],lo16((i2s_ UInt32)1_rx_ch0_f0_ptr),lo16((uint32)l_buf));CyDmaChSetInitialTd(dma0_chan,dma0_td [零]);CyDmaChEnable(dma0_chan,1);} 我很感激你的建议,希望这有助于其他人谁是关于配置DMA的困惑。 当做, 拉奎尔 |
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
754个成员聚集在这个小组
加入小组2102 浏览 1 评论
1848 浏览 1 评论
3666 浏览 1 评论
请问可以直接使用来自FX2LP固件的端点向主机FIFO写入数据吗?
1783 浏览 6 评论
1533 浏览 1 评论
CY8C4025LQI在程序中调用函数,通过示波器观察SCL引脚波形,无法将pin0.4(SCL)下拉是什么原因导致?
565浏览 2评论
CYUSB3065焊接到USB3.0 TYPE-B口的焊接触点就无法使用是什么原因导致的?
419浏览 2评论
CX3连接Camera修改分辨率之后,播放器无法播出camera的画面怎么解决?
434浏览 2评论
380浏览 2评论
使用stm32+cyw43438 wifi驱动whd,WHD驱动固件加载失败的原因?
912浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 13:05 , Processed in 1.240403 second(s), Total 93, Slave 76 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号