The main purpose is to use a computer to update pictures through the serial port and save them when power is off. If a case is added, it can be regarded as a small DIY business card display.
This project will be improved sequentially according to the difficulty of actual implementation.
1. Directly define the image array and drive OLED to display directly.
2. Input the picture to the internal flash through the serial port to drive the OLED for direct display.
3. Transfer the image to the external flash through the serial port to drive the OLED for direct display. (Basic goal)
4. Input video through the serial port, save it to external flash, and drive OLED for direct display. (Advanced, Challenge)
After several days of exploration, I finally completed the basic goal before ending the camp.
This project initially wanted to display bad apples. The principle is to intercept the bad apple videos into frame by frame, then convert them into bin files through software, and then merge the bin files into a large file and transfer it to W25Q128.
The initial idea was to virtualize W25Q128 into a USB flash drive, so that it would be convenient to directly copy the bin file of bad apple to W25Q128 through the computer, and then read the bin file that has been saved through FATFS, and refresh it in sequence. The difficulty of this implementation method mainly lies in using the new platform of Renesas to transplant FATFS and plug-in flash. However, for STM32, there is a lot of information on the Internet. Students who want to implement this method can search it by themselves.
However, since neither RA2E1 nor RA2L1 supports USB FS, W25Q128 cannot be virtualized into a USB flash drive. Here, I plan to pass in the bin file through the serial port.
After debugging, it was found that it is feasible to transfer small-sized bin files through the serial port, but large files cannot be transferred. If all files close to 38M are transferred, it will take more than 5 hours (38M is a bad apple with 30 frames). file, actually W25Q128 only has 16M of memory, I didn’t pay attention here when selecting the model). In addition, since W25Q128 can only erase and write 256 bytes at a time, this requires the serial port to flash W25Q128 every time it writes 256 bytes, and then clear the cache array in the program, and the writing speed of W25Q128 is too slow ( The file size of one frame is 6k), which will also result in the loss of 1/4 that is not written. I considered using DMA as a possible method, but I couldn't study it for the time being. I also measured the transmission time of large files, so I gave up.
The method I currently use is to read the file size of 6k through the serial port at one time, and then write it uniformly to W25Q128, so it is possible to write a whole photo. After realizing this, the entire project has been completed to the third point. , it has also achieved the initial goal, which is OLED display + serial port update picture display + power-off saving = small business card display.
Project link: https://pro.lceda.cn/editor#id=e1b57f9522844ad79d0a3a4064200871
Finally, let’s show the display effect~
Show-50M.mp4
RA2L1_LC (code).zip
Screenshots and bin (30 frames).zip
PCB_PCB1_2022-11-05.pdf
BOM_Board1_PCB1_2022-11-05.xlsx
Altium_OLED display picture based on Renesas R7FA2L1AB2DFL_2022-11-05.zip
PDF_OLED display picture based on Renesas R7FA2L1AB2DFL_2022-11-05.zip
BOM_Board1_Schematic1_2022-11-05.xlsx
60882
electronic