完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
HI论坛,据我了解,当将数据传输到PMP时,DMA单元大小必须设置为1,只有PIN PMD0…PMD7(PIC32 MZ2048 EFH064)。我认为这是唯一一次将一个字节移动到PMP的方法,从而在每一个字节之后又发出一个PMWR信号,这就是DPLA。Y需要使用PMWR作为像素时钟输入。Ortho生成将DMA单元大小设置为与DMA块大小相同的代码,约1280字节。我认为这是不对的。和声与EBI的另一个PIC(.EFH144)产生几乎相同的代码。单元格大小1280字节,它工作。它不工作的大小为1,不管仍然只有8个数据通道。我不明白。有人请解释为什么DMA单元大小不应该是1位的8位PMP目的地。
以上来自于百度翻译 以下为原文 Hi forum, to my understanding, DMA cell size has to be set to 1 when transferring data to PMP with only the pins PMD0..PMD7 (PIC32MZ2048EFH064). I think that's the only way to move one byte at a time to the PMP so that will in turn issue a PMWR signal after every single byte, which is what the display needs that uses PMWR as pixel clock input. HARMony generates code that sets DMA cell size to the same as DMA block size, some 1280 bytes. I think that's wrong. Harmony generates nearly identical code for another PIC (..EFH144) with EBI. Cell size 1280 bytes and it works. It doesn't work with a cell size of 1, regardless of still having only 8 data lanes. I don't understand that. Somebody please explain why DMA cell size should not be 1 for an 8-bit-PMP destination. |
|
相关推荐
3个回答
|
|
关于这一点的文档可以更清楚,但我写下了我自己对不同术语的总结:“我想从一个总的l&块大小gt;字节中读取一个单元大小& gt;字节,从源地址& gt读取数据,具有源大小& gt;并且写d)。ATA起始于.lt;目的地址>,具有目的地大小& gt;“目的地大小通过PMDIN”一次确定一个字节输出“您正在寻找的行为”。同时,单元格的大小更多地取决于初始化条件发生时传输的数据量。换言之,单元格大小将是帧缓冲器的大小,或者可能是显示行的大小(请参阅我为后者编写的示例)。如果您想定期传输数据,则每个块的大小都可能大于单元格大小,每次传输都是单独启动的。我认为这是一种方便,可能与这种应用无关。因此,如果只指定一个单元格的大小,则将传输一个字节,但下一个字节将需要再次发生传输初始化条件。对于像帧缓冲区这样的东西,这不是你想要的,因为条件(通常是某种事件或中断条件)必须非常频繁地发生:在这种情况下每字节一次。幸运的是,DMA机制可以通过将每个字节从更大的数量上转移来进行。文档可能给出或培养一个单元格是一个小的“自然”单元的印象,如字节或单词,并且完整的传输大小是由块大小给出的。但是“细胞”是很多人认为是实际转移的“块”。P = 1712的完整写入。
以上来自于百度翻译 以下为原文 The documentation could be clearer about this, but I wrote up my own summary of the different terms as follows: "I want to transfer |
|
|
|
直到现在,我还以为这是设计出来的。传输起始条件设置为Time2,在100MHz、预分频器1、周期寄存器PR2=1下运行。从理论上讲,它应该以50兆赫的速率进行新的传输。在2的周期内,我们将得到25 MHz,这对于手头的显示来说是完美的。每次传输多字节,PMWR还会通知每一个字节吗?也许因为PMDIN只有1字节宽?
以上来自于百度翻译 以下为原文 Until now, I was under the impression that this was by design. The transfer initiation condition is set to be Timer2, running at 100MHz, prescaler 1, period register PR2 = 1. So theoretically it should issue a new transfer at a rate of 50 MHz. With a period of 2, we would get 25 MHz, which is perfect for the display at hand. Going for multiple bytes per transfer, would PMWR still notify of every single byte? Maybe because of PMDIN being just 1 byte wide? |
|
|
|
当转移到需要多于一个PBCK以完成传输的外围设备(例如SPI、PMP)时,小区大小(DMACSCIZ)应设置为字节传输(DMADSDSIZ)的宽度,源大小(DMAXSISIZ)指定要传输的字节总数。否则,DMA传输将导致溢出。为了最大吞吐量,使用外围TX完全中断作为DMA触发器。如果需要特定的传输速率,可以使用计时器,但是在MZ上,PMP上的频率不会超过8MHz。
以上来自于百度翻译 以下为原文 When transfering to a peripheral that takes more than one PBCLK to complete a transfer (e.g. SPI, PMP), the cell size (DMAxCSIZ) should be set to the width of the transfers in bytes (DMAxDSIZ), with the source size (DMAxSSIZ) specifying the total number of bytes to transfer. Otherwise the DMA transfer will cause an overrun. For maximum throughput, use the peripheral TX complete interrupt as the DMA trigger. A timer may be used if a specific transfer rate is required, but on an MZ you will not get more than about 8MHz on PMP. |
|
|
|
只有小组成员才能发言,加入小组>>
5255 浏览 9 评论
2038 浏览 8 评论
1958 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3219 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2268 浏览 5 评论
796浏览 1评论
689浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
619浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
687浏览 0评论
587浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-31 03:09 , Processed in 1.267179 second(s), Total 50, Slave 44 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号