As mentioned in my last post VGDD now supports a SSD1963 board. Unfortunately I have the SSD1963 EVK R3B while VGDD was configured for using the Ultima R4.1 board both made by TechToys in Hong Kong. I figured with enough time to work on it I’d figure it out.
Over the weekend I wired up the EVK board the same way that the Ultima is wired to the FX10A Hirose connector and use that to find the pins on the PIC32 I/O Expansion board. The EVK board does not include any eeprom or flash chips on them to store touch screen calibrations so you need to supply your own. As a result of not having that part programmed in yet I disabled the touch calibration until I can work out the correct adjustments to get it working with some form of memory. My goal at this time was just to get the display working.
After a minor issue where the screen came up blue-tinted but otherwise generally working I kept playing around with the code in VGDD’s XML files and the resulting output trying to figure out what was going on. A few times it got worse but for the most part it kept working with some type of issue.
Today after getting a few responses from VirtualFab on their brand new forum I started reading through the SSD1963 file to see what was different. The owner of TechToys has also registered on the forum and he made a few comments about it as well. Armed with a little bit more information it turns out there is a different initialization command format when the Rev 02 TY700TFT800480 board is initialized vs the Rev 03 board that VirtualFab tested with the Ultima and built the XML files for. After a minute or two I modified the USE_TY700TFT800480_R3 to not include the _R3 and confirmed that it still had the R2 (non _R3) code. I then enabled an R2 XML file I created with the slightly different Horizontal and Vertical configurations and linked them to the graphics board, disabled the TouchInitialization, compiled, and my familiar roaster splash screen popped back up just fine.
The main difference between the R2 vs R3 LCD panel is that the R3 uses RGB signals while the R2 uses TTL and they are communicating at slightly different bit rates (at least that’s what I think is going on.) So with that level of progress I decided it would be easier to order some SST25VF016 memory and wire it in to the project rather than to make it work with other memory since everyone seems to be using that same specific chip in their display boards. It is possible to modify the files to support a Microchip 25LC256 (since I’ve done it in the past) but I figure it’s easier to just FLASH instead.
I’ve had a few conversations with John @ TechToys and he seemed receptive to some of my suggestions about adding some mounting holes to the EVK board so that it can be anchored more easily in a case if you wish to embed it rather than build your own. He also seemed to be considering at least providing a footprint to solder the flash memory to the board if you have it / need it. Since the board needs flash memory to store the touch screen calibration and it’s generally something you do once this will be helpful if it happens. No guarantees but at least it’ll probably be something he’ll think about with any future new board designs.
To wire up a SSD1963 EVK Rev3B to my PicTail Daughterboard I used the following configuration that mimics the Ultima wiring.
SSD | PIC32 | JP2 | PIC32 | SSD | |
TP_XR | RB10 | 1 | 2 | — | — |
TP_YU | RB13 | 3 | 4 | GND | VSS |
TP_XL | RB12 | 5 | 6 | VDD | VDD |
TP_YD | RB11 | 7 | 8 | — | OE# |
D17 | 9 | 10 | RD4 | WR# | |
D16 | 11 | 12 | RD5 | RD# | |
LE | 13 | 14 | RB15 | CS# | |
D15 | RD7 | 15 | 16 | RD3 | DC |
D14 | RD6 | 17 | 18 | RD1 | RESET# |
D13 | RD13 | 19 | 20 | RE0 | D0 |
D12 | RD12 | 21 | 22 | RE1 | D1 |
D11 | RF0 | 23 | 24 | RE2 | D2 |
D10 | RF1 | 25 | 26 | RE3 | D3 |
D9 | RG1 | 27 | 28 | RE4 | D4 |
D8 | RG0 | 29 | 30 | RE5 | D5 |
D20 | 31 | 32 | RE6 | D6 | |
D21 | 33 | 34 | RE7 | D7 | |
D22 | 35 | 36 | RE9 | TE | |
D23 | 37 | 38 | 5V | 5V_EXT | |
D18 | 39 | 40 | D19 |
The flash chips and a breakout should be arriving sometime in the next couple days. The last tracking showed them being in San Francisco and should probably arrive tomorrow.
UPDATE – Flash arrived and I wired it to a generic eeprom/flash board I had made previously using a Radio Shack 276-159B and a SOIC-8 Breakout… wire as follows:
*Note* you may need to wire a 10k resistor to SST25VF016 pin 1/CE#. Then wire 3.3v to the other side of it. Mine worked without this done but it should probably be there. Your mileage may vary.
SST | PIC32 | SST25VF016 | PIC32 | SST | — | — | |
CE# | RD9 | 1 | 8 | 3.3V | VDD | .1uF Cap | GND |
SO | RC4 | 2 | 7 | 3.3V | HOLD# | ||
WP# | 3.3V | 3 | 6 | RD10 | SCK | ||
VSS | GND | 4 | 5 | RD0 | SI |