Microchip
直播中

范亚娟

7年用户 236经验值
私信 关注
[问答]

为什么EBI或PMP初始化不协调?

HIwilliam hill官网 ,这是连接到另一个线程“8位RGB显示器”,但有点专门的子问题。至于为什么,这里要做什么:在HARMony的LowCostControllerless图形驱动程序(LCC)初始化过程中,1)RAM被分配为帧缓冲器2)EBI被初始化以将像素数据呈现给输出引脚3)DMA被初始化以将帧缓冲器数据移动到EBI。2)这里。我需要EBI输出每个像素时钟8位。在LCC初始化期间,协调会产生这个值:PMP_DATA_LENGTH=PMP_DATA_SIZE_8_BITS,它又被定义为0x0。将PLIB_PMP_DataSizeSelect()的参数2设置为零是否会导致在适当的引脚EBID[0]处呈现一个字节。7?

以上来自于百度翻译


      以下为原文

    Hi forum,

this is connected to the other thread "8-Bit RGB Display"

http://www.microchip.com/forums/m952975.aspx

but a somewhat specialized sub-issue thereof. So as for the Why go there, the What do here:
In the course of Harmony's LowCostControllerless graphics driver (LCC) Initialization,
1) RAM is allocated as frame buffer
2) EBI is initialized to present pixel data to output pins
3) DMA is initialized to move frame buffer data to the EBI.

I'm focussing on 2) here.

I need EBI to output 8 bits per pixel clock.
Harmony generates this during LCC initialization:PLIB_PMP_DataSizeSelect(0, PMP_DATA_LENGTH);
PMP_DATA_LENGTH = PMP_DATA_SIZE_8_BITS which in turn is defined to be 0x0.

Does setting argument 2 of PLIB_PMP_DataSizeSelect() to zero cause one byte to be presented at the appropriate pins EBID[0..7]?

回帖(2)

杨秀珍

2019-6-25 10:59:40
我用Harmony 1.06LCC颜色深度分别设置为8位和16位进行了两次检查。该变化既不影响EBISMCON.SMDWIDTH0,也不影响1或2或PMMODE.MODE16。直到我得到了PIC32的目标显示适配器,我才能用另一个显示器进行测试,这个显示器是16位RGB(5-6-5),工作起来像个魔咒。在另一个项目中,我将这个新项目派生出来。将“和谐”项目设置为8位颜色深度,将16位显示器上的结果更改如下:用红色填充:每4个像素是黑色(或非常暗)。其他的都是红色的。所有的像素都是蓝色的。填充蓝色。每第四个像素是黑色的(或者非常暗)。其他的颜色是绿色的。绿色和蓝色之间的颜色变化符合我的预期,即把3-3-2输出映射到5-6-5输入上。不知道黑条来自哪里。编辑:等等,不。根本不应该有蓝色,因为应该只维修R和G数据线的一部分。但是显示棋盘并用示波器测量显示,所有16条数据线对于每个像素,PCLK,HSYNC,VSYNC,DE都愉快地切换。N都是按预期工作的,为什么我不能把输出切换到8位?即使在调试视图中设置PMMODE还是EBISMCON寄存器?

以上来自于百度翻译


      以下为原文

   
I did two checks with Harmony 1.06 LCC color depth set to 8 and 16 bits respectively.
The change did neither affect EBISMCON.SMDWIDTH0 nor 1 nor 2 nor PMMODE.MODE16.
 
Until I get my target display adapter for the PIC32, I can test with another display, which is 16bit RGB (5-6-5) and works like a charm in another project, which I derive this new one from.
 
Setting the Harmony project to 8 bit color depth changes the result on my 16 bit display as follows:
Fill-with-red: every 4th pixel is black (or very dark). The others are red.
Fill-with-green: all pixels are blue.
Fill-with-blue: every 4th pixel is black (or very dark). The others are green.
The color change between green and blue matches my expectation from mapping a 3-3-2 output on a 5-6-5 input. No idea where the black bars come from.
 
Edit:
Wait, no. There should not be any blue at all because only R and parts of G data lines should be serviced.
But displaying a checker board and measuring with an oscilloscope shows that all 16 data lines happily toggle for every pixel, PCLK, HSYNC, VSYNC, DEN all work as expected.
 
Why can't I switch the output to 8 bit? Not even by setting the PMMODE or EBISMCON registers in debug view?
举报

杨秀珍

2019-6-25 11:17:22
至于EBI或PMP问题:EBI是从PBCK8,PMP从PBCK2时钟。我的像素时钟与PBCK8相关。因此我认为EBI是被使用的。

以上来自于百度翻译


      以下为原文

    As for the EBI-or-PMP-question: EBI is clocked from PBCLK8, PMP from PBCLK2. My pixel clock correlates with PBCLK8. Therefore I think EBI is used.
举报

更多回帖

发帖
×
20
完善资料,
赚取积分