element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Microchip
  • Products
  • Manufacturers
  • Microchip
  • More
  • Cancel
Microchip
Forum graphics controller pmp drops out
  • Blog
  • Forum
  • Documents
  • Events
  • Polls
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Microchip to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 5 replies
  • Subscribers 19 subscribers
  • Views 718 views
  • Users 0 members are here
Related

graphics controller pmp drops out

Former Member
Former Member over 14 years ago

Hello,

 

I designed a custom pcb which is nearly identical to the DA210 development board using the Truly tft display.  The only changes are some of the spi pins and touch control  pins are changed,  the graphics pins are the same.  I thought that getting the display running on the my custom board would be straight forward.  So far this has not been the case.

 

I have created a very basic program that uses the graphics display library to initialize the pmp, graphics, and output a basic color to the screen.  This program run fine on the development board, but creates a white screen not matter what I output on the custom board.  I have ensured that the proper driver is being used.  I have debugged the problem to the point of finding that the everything is initializing ok, but after settting the color and clearing the device, the color data is only sent to the display from the pmp once and it stops.  All the gclk, hsync, vsync, den signals keep running fine, but the gd15-0 data on the pmp stay high after the first frame is sent.

 


//basic code to test the display - blue should show up on display
ResetDevice();          // initialize the pmp and the graphics module
SetColor(BLUE);     //set the current color to blue
ClearDevice();          //clears the screen sets to current color

 

I found that running a loop fast enough works, but that the the colors quickly fade out from the display as they are not being updated.  

 

// this code displays colors being cycled, it appears to work, but enough time allows the display to fade out when not updated
while(1){
     for(i=0;i<0xffff;i++){

 

         SetColor(i);     //set the current color to blue
         ClearDevice();          //clears the screen sets to current color     
         DelayMs(10);

 

     }

 

}

 

I have checked the errata and could not find anything relative to this problem.  Support has been all but useless, as they post a quick guess to the problem and state the ticket is resolved.  Any ideas why the pmp, graphcs controller would not keep updating the pixel data??  Using compiler 3.24, library, 2.1 , device pic24fj256da210.  All connectors and hardware are identical to that being used on the DA development board.

 

Attached are the schematics of connections.  The board allows use of the edge connector which will mount the microchip truly board, or default connectors all for the display to be mounted directly to board.

Attachments:
imageCopy of Micro - TFT Controller R1.3.pdf
  • Sign in to reply
  • Cancel
Parents
  • Former Member
    Former Member over 14 years ago

    Hi There,

     

    In response to your questions:

    1. I have a DA256 development board and have been testing the code between it and my custom board. The code runs on the development board, but not on my custom board.

    2. I'm pretty sure it is not a jumper issue, as the code runs ok on the dev board.  Most of the jumpers have to do with using external RAM, board buttons, or ADC inputs.

    3. The LCD datasheet, app not can be found here:http://www.trulydisplays.com/tft/index.html  The model is: TFT-G240320LTSW-118W-E

     

    I have done some further debugging and found that the problem seems to be coming from the intialization of the epmp module.

     

    *  When I initialize the epmp all of the control signals on my custom board run correctly, but the GD15:0 signals latch high.  When I do not initialize the pmp module the GD15:0 signals output pixel data, but incorrect pixel data.

     

    I am having a hard time finding good documentation on how the initialize the pmp port in the case where I am Not using external memory.  For that matter I am not exactly sure why I need to initialize the pmp as I thought its use is to access external memory.  I think that this may have something to do with accessing the extended data space, but I am not sure and cannot find related documentation.

     

    * trying to eliminate use of the pmp module

    Based on these observations I have tried to eliminate the use of the pmp, but cannot output correct pixel data information with by not using the pmp module.  I think it is accessing extended data space somehow.  So I may need to configure it so that it does not conflict with external pins, such as my LED, PMA, PMD pins.  I have not been able to do this by trial and error.

     

    * trying to reconfigure the pmp module so GD15:0 do not latch

        - I have not been able to figure out how to configure the pmp module so that the GD pins output correct data.  In the code there is use of CS1 and base CS1 address.  I looks like this is to access external data, which I do not need to do, based on my understanding of the project being built using internal flash for graphics data.

     

    Any more questions I can answer for you?  Are you familiar with the use of the EPMP?  What is your understanding of its use where external memory is not being used?

     

    Attached is a barebones project that has my custom board pin configurations with the ResetDevice() function that intializes the graphics module and the epmpInit() function which initializes the pmp module.  Or the same functions lie deep within the project builds of the microchip solutions graphics library example projects.  The barebones project is enough to simulate the problem I am having.

     

    Thanks for the help!

    Attachments:
    test pmp graphics.zip
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Reply
  • Former Member
    Former Member over 14 years ago

    Hi There,

     

    In response to your questions:

    1. I have a DA256 development board and have been testing the code between it and my custom board. The code runs on the development board, but not on my custom board.

    2. I'm pretty sure it is not a jumper issue, as the code runs ok on the dev board.  Most of the jumpers have to do with using external RAM, board buttons, or ADC inputs.

    3. The LCD datasheet, app not can be found here:http://www.trulydisplays.com/tft/index.html  The model is: TFT-G240320LTSW-118W-E

     

    I have done some further debugging and found that the problem seems to be coming from the intialization of the epmp module.

     

    *  When I initialize the epmp all of the control signals on my custom board run correctly, but the GD15:0 signals latch high.  When I do not initialize the pmp module the GD15:0 signals output pixel data, but incorrect pixel data.

     

    I am having a hard time finding good documentation on how the initialize the pmp port in the case where I am Not using external memory.  For that matter I am not exactly sure why I need to initialize the pmp as I thought its use is to access external memory.  I think that this may have something to do with accessing the extended data space, but I am not sure and cannot find related documentation.

     

    * trying to eliminate use of the pmp module

    Based on these observations I have tried to eliminate the use of the pmp, but cannot output correct pixel data information with by not using the pmp module.  I think it is accessing extended data space somehow.  So I may need to configure it so that it does not conflict with external pins, such as my LED, PMA, PMD pins.  I have not been able to do this by trial and error.

     

    * trying to reconfigure the pmp module so GD15:0 do not latch

        - I have not been able to figure out how to configure the pmp module so that the GD pins output correct data.  In the code there is use of CS1 and base CS1 address.  I looks like this is to access external data, which I do not need to do, based on my understanding of the project being built using internal flash for graphics data.

     

    Any more questions I can answer for you?  Are you familiar with the use of the EPMP?  What is your understanding of its use where external memory is not being used?

     

    Attached is a barebones project that has my custom board pin configurations with the ResetDevice() function that intializes the graphics module and the epmpInit() function which initializes the pmp module.  Or the same functions lie deep within the project builds of the microchip solutions graphics library example projects.  The barebones project is enough to simulate the problem I am having.

     

    Thanks for the help!

    Attachments:
    test pmp graphics.zip
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Children
  • Former Member
    Former Member over 14 years ago in reply to Former Member

    I thought that graphics data was being saved in internal flash, it turns out that only fonts and bitmaps are based on the defines in the graphicsConfig.h file.  The Demo board projects are all using external RAM with the pmp.  I don't see any options to compile the graphics projects to store everything inside of the PIC.  I understand I will be limited the amount of graphics I will be able to display, color depth, but thats OK.  Do you know of options to build an internal memory only project with the library?

     

    Any ideas?

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 14 years ago in reply to Former Member

    For Anyone who might run into this same issue.  The defines within the HardwareProfile_xxxx.h in the graphics project must point to valid DA256 internal memory addresses.  All of the projects built in library 2.1 use external memory.  I thought this was confusing in that the font and bitmap files are defined as being stored in internal memory.  Anyhow the following defenitions will get graphics of reasonable size to run on internal memory using the color look up table.  Hope someone might find this useful.  I think I'm going go grab a beer as I just got the graphics running on my custom board image. 

     

    #define PIC24FJ256DA210_DEV_BOARD
    #define DISPLAY_CONTROLLER MCHP_DA210
    #define DISPLAY_PANEL TFT_G240320LTSW_118W_E
    #define COLOR_DEPTH 8
    #define GFX_GCLK_DIVIDER 61
    #define GFX_DISPLAY_BUFFER_START_ADDRESS 0x00004B00ul
    #define GFX_DISPLAY_BUFFER_LENGTH 0x00025800ul
    #define GFX_WORK_AREA1_START_ADDRESS GFX_DISPLAY_BUFFER_START_ADDRESS
    #define GFX_WORK_AREA2_START_ADDRESS GFX_DISPLAY_BUFFER_START_ADDRESS
    //End Auto Generated Code

    #define PIC24FJ256DA210_DEV_BOARD

    #define DISPLAY_CONTROLLER MCHP_DA210

    #define DISPLAY_PANEL TFT_G240320LTSW_118W_E

    #define COLOR_DEPTH 8

    #define GFX_GCLK_DIVIDER 61

    #define GFX_DISPLAY_BUFFER_START_ADDRESS 0x00004B00ul

    #define GFX_DISPLAY_BUFFER_LENGTH 0x00025800ul

    #define GFX_WORK_AREA1_START_ADDRESS GFX_DISPLAY_BUFFER_START_ADDRESS

    #define GFX_WORK_AREA2_START_ADDRESS GFX_DISPLAY_BUFFER_START_ADDRESS

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • MicrochipRTCfr
    MicrochipRTCfr over 14 years ago in reply to Former Member

    Congratulations image

     

    The combinations of internal / external memory do makes things a little tricky

     

    regards

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube