主题中讨论的其他器件:HALCOGEN
各位专家、您好!
我最近开始使用 Hercules 安全控制器。 这是一个紧急请求、因为我们计划在接下来的几天内进行演示。 在阅读 TRM 后、我认为发展过程中有几个问题还不够清楚。
我的用例是将数据从 MibSpi1传输到 MibSpi5。 这里、MibSpi1是主器件、仅用于传输。 MibSpi5是从器件、仅用于接收。
传输大小是从255到512字节不等的变量。 RD 和 WR 大小为8位。 请在下面查找我的问题。
我知道 Mibspi RAM 是128个字。 这是否意味着在每个 MibSpi 通道的任何时候总共256 =(128x2)字节可被缓冲? 如果是,如果我想将 buffer_Length 配置 为512,Mibspi 将如何处理?
2.您能否解释下句
mibspi->DMACTRL[通道]|=(((rxchannel<<4)|txchannel)<< 16);
我假设 rxchannel 和 txchannel 是 为各自的 SPI 配置的 DMA 物理通道,但什么是 chennel? 对于 MIBSPi1、我不想为 Rx 使用任何 DMA 通道。 如何实现?
3.我对 BUFIDx 概念感到困惑。 在示例代码中、我看到它被127初始化、在 DMA 配置中、ELDOFFSET 为4字节。 这是否意味着 DMA DADD 向后遍历?
4.由于我不想使用双工功能,是否需要 启用发送和接收 DMA? 我尝试将其更改为0x80008000、但它不起作用
/*启用发送和接收 DMA */
mibspi->DMACTRL[通道]|= 0x8000C000;
5. dmaReqAssign 的用途是什么,应该为 MIBSPI1和 MibSpi5分配哪些通道
6.提供的示例代码仅具有自环回配置。 您能否为两个独立的 SPI 提供配置?
添加您的支持、
此致、
Akshay