Well it's pretty much finished. Modified the SDRAM Dev board /RD signal to use manual pulse generation. Bus speeds are about the same as the T4.1:D The FlexIO /RD signal generation seems to have been the main issue for stability. It kind of makes...
Quick update: Dumped the FlexIO /RD generation and generated it manually with software. Both 8-bit and 16-bit reads are working consistently now with one /RD pulse per read instead of two or sometimes three. Tested with T41 and ER-TFTM101-1...
Quick update on using the CSI setup to try to read in Jpeg images in from OV2640 and later OV5640 on Teensy 4.1.
I tried several different ways to make it work within CSI subsystem. I was tried several different ways to turn off using their DMA...
I received my 74LVC245 chips and had some fun wiring this rat's nest up:
This took care of the bad image when loading from FLASHMEM. Both FLASHMEM and SDRAM are working using 8-bit DMA. The image is correct and repeatable at 20MHz. I only...
Was playing around jpegdec library and did a comparison of using PROGMEM vs SDRAM (running at 198Mhz)
FLash TEST
full sized decode in 28350 us
half sized decode in 21260 us
quarter sized decode in 7320 us
eighth sized decode in 6104 us
SDRAM...
I had not thought of that. What's interesting is it works fine from flash memory on the MicroMod and T41. So maybe there is a conflict somewhere. I could speed up the bus rate and see if that changes any thing...
Edit: Went from 2MHz to 24MHZ...
Have the SDRAM board wired up to the ER-TFT101-1 display. DMA is working on it as well as the MicroMod, sort of! This is the test sketch I am using modified to include SDRAM usage:
#include "RA8876_t3.h"
#include "SDRAM_t4.h"
#include...
We finally have DMA working properly on the MicroMod and presumably the SDRAM Dev Board (not tested yet). My MicroMod quit while testing the 8080 mode for the ER-TFTM101-1 display. Had to reposition the MCU board in the connector. It's working...
While @KurtE has been busy with CSI we also been playing with the OV5640 5MB camera which we got from Adrafruit: https://www.adafruit.com/product/5673 for the most part it was compatible with Flexio that we used for the OV2640 but of course lib...
Thought I would mention, I am currently playing with trying to add CSI support for this library, as the Teensy 4.1 has enough of the CSI pins exposed for 8-bit transfers, and the control signals.
I am starting off with the OV7675 camera, and I...
I think it might have more to do with the ER-TFTM101-1 display as I am using the same length wires as well. I do not have any other displays to test with...
Update ER-TFTM1011-1 10.1" LCD is working on the T4.1, MicroMod and SDRAM Dev Board V4.0. All except MicroMod work with 8-bit and 16 bit bus configuration. The T4.1 is by far the most stable of all three. The SDRAM board and MicroMod are unstable...
If you are building a specific board for a specific purpose, I say have at it! IF you like hard coding it like:
IOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B1_13 = 0x4U;
IOMUXC_CSI_DATA04_SELECT_INPUT = 0;
IOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B1_13 = 0x0U,
go for...
A couple of questions and things I am playing with...
With the 4.5 and SD adapter: guessing you used SDIO pins? (Same ones as defined for Micromod?) of if SPI which IO pins?
CSI pins - I am in the process of integrating in some CSI support...
So I decided to make a facelift, adding SDCARD and USB-PD which supports the PD protocol up to 12V. There are pads to solder if you just want to use the second port as a pass through with 5V. Meaning, it will deliver the same 5V coming into the...
I found an Arduino 8080 parallel IF used for the RA8875 (same 8080 interface as RA8876) that uses 74LV245's as buffers for the Due and possibly the Mega 2560 found here. I am going to order up some of these chips if I don't have any left and see...
What length wires are you using between the MCU and the display boards? WIth 10cm wires I could not get past 20Mhz when testing
With an LCD and Micromod mounted to the same pcb with 2cm traces we got 24/30Mhz working.
I am using the same length...
Thanks for the response. I wired up the dev board again and started testing with the baseline driver code I posted. It shows something is wrong in the dev board/MicroMod side of my code. No matter what I set the bus speed to loading the same...
That's why I hope Rezo can go over the low level drivers I posted to make sure I am not missing something. I have a general idea of how FlexIO works but I might be missing some little details. Meanwhile I am wiring up the DevBoard again to test...
I remember reading that. At this point I am not using the SDRAM at all with the display. It is strictly the traces between the 1062 MCU and the out side connectors of the board. Once that and DMA communications are solved then I can start testing...
Not having good results with the SDRAM board and RA8876 in 16-bit 8080 mode. It's very unstable results:( Been playing with delays with no predictable results even at 2MHz. If I switch to 8-bit mode all of the examples in the Ra8876LiteTeensy...
@Rezo - I see B0_13 is available on the SDRAM DEV board. It does not have a pin number associated with it. How would you setup B0_13 as FlexIO 2:13 without a pin number as being done like this:
/* Basic pin setup */
pinMode(10, OUTPUT)...
Unless I missed something both B0_12 (35) and B0_13 (34) did not respond to a pin check with and LED connected to them. Just rechecked and they are not connected as well as pin B1_02 (36) and B1_03 (37). The only pin that is labeled as a T41 pin...
Hi Defragster - I am using @jmarsh's SDRAM_EXTMEM library. I only had to modify one sketch that was setup for the T41. The rest of them work out of the box. The sketch that I modified was "flexio_vga.ino" which basically just changed the VSYNC...
@jmarsh - Tested the elcdif sketches. Impressive:D Did not realize the mandelbrot sketch was animated.
Now to hook up the 10.1" LCD and test...
EDIT: By the way the T41 on the breadboard is the first T41 I got from PJRC. It has the white...
Thanks for the info and link above. I now have it working with external sdram. It seems to work ok up to 270MHz with a 1280x720 frame buffer.
Excuse my shakey picture:) I still am not using double buffering like in your original sketch but it...
First simple experiment on SDRAM board works. Adapted my 4-bit VGA library based on @jmarsh's driver to the dev board. Just had to change two pin defines for FlexIo2 for HSYNC and VSYNC which is used in several places in the FlexIO begin method...
The solder paste used on these boards are high temp 260c, it's actually very good solder. But to get something off you need a good iron and some flux. Or add a little more solder paste from a siringe (the latter is the best and easiest option)...
Thanks, I do have that document. I ran the oneScanCaps.ino sketch and most of the frequencies had no errors. Interestingly enough 166MHz had one error. I am not sure which cap DQS has on the board. I can barely see it even with a magnifying...
Just received the sdram development board today:D I ran through all of the test programs that I know about without a problem. I need to make sure I have all of the pinout info for this board. It is a version 4 board.
I thought I would start out...
Thanks, I'll take a look at it. So far it has been my lack of knowledge of FlexIO and DMA that has slowed me down but I'm starting to understand it more...
Actually you still need these parts in place of gpioRead() and gpioWrite():
pFlex->setIOPinToFlexMode(12); // For /RD signal
pFlex->setIOPinToFlexMode(10); // For /WR signal
So here is a a version of lcdDataRead() that works...
I am using this:
pFlex->setClockSettings(3, 1, 0); // (480 MHz source, 1+1, 1+0) >> 480/2/1 >> 240Mhz
and here is the FlexIO read setup:
FASTRUN void RA8876_t3::FlexIO_Config_SnglBeat_Read() {
#if defined(USE_MM)
p->CTRL &=...
I am trying to find the answer to why doing a FlexIO parallel read results in the /RD signal showing 4 pulses as apposed to the /WR signal showing just one pulse. I have looked all over the net and reference manual with no luck. It's probably...
In my case, I use IDE 1.8.19 because it is the version that does not give me errors with sketches that have many tabs. The IDE 2.x has given me a lot of headaches. In case of tracking down an error in the code it is easier, the excesses of help...
The MicroMod is working with the ER-TFTM101-1 display.
Still have to get the DMA portion working on the MicroMod. The images were produced in 8-bit mode none DMA, 100ms to display both pictures. I'm sure DMA will speed things up. By the time...
Here is a little background my Ra8876LiteTeeensy library. I wrote the original library. Then @KurtE and @mjs513 decided to optimize it and later @mborgerson added to the library. The the original thread can be found here...
That was the issue:
Teensy and RA8876 parallel 8080 mode testing (8/16)
Bus speed: 40 MHZ
Rotate: After Origins
Drawing two pictures at 794800 bytes in 16-bit mode
Draw time: 26ms
This is the code now:
void...
That seems a bit long?
1024*600*2bpp / 40Mhz is 32.55FPS, which is roughly 30ms per full screen write.
How are you getting over 200ms for two 800kb images?
Not really sure. Probably should run the same test program using SPI mode on my other display to compare.
Here is the sketch I am running:
#include "RA8876_t3.h"
#include "teensy41.c"
#include "Teensy41_Cardlike.h"
uint8_t dc = 13;
uint8_t cs =...
A quick update:
I now have the T41 working with the RA8876 display in both 8-bit and 16-bit modes using the Ra8876LiteTeensy library. @Rezo was correct. The 16-bit mode is twice as fast as the 8-bit mode which makes sense when using twice as many...
@Rezo - I wired up the T41 for 16bit I/O and did some basic reads and writes. All failed. I hooked up my LA to monitor the first two bits of the high byte and low byte. Was reading 0xff from the status reg which was wrong. It should read 0x50...