Difference between revisions of "User:Barray/PineFlash"

Jump to navigation Jump to search
(Adjust prototype summary to Teensy 4.1)
(Update information about Teensy 4.1 hardware and reset outdated sections)
Line 53: Line 53:
=== Hardware ===
=== Hardware ===


The initial prototype is intended to be a "hat" for the community-driven [[Nutcracker]] project, based on the BL602 SoC. The CPU core is RISC-V (as the final controller is planned to be) and the SoC supports a quad-SPI flash interface.
As mentioned on the [https://www.pjrc.com/store/teensy41.html Teensy 4.1] website, it offers the following:
 
* ARM Cortex-M7 at 600 MHz
* Float point math unit, 64 & 32 bits
* 7936K Flash, 1024K RAM (512K tightly coupled), 4K EEPROM (emulated)
* QSPI memory expansion, locations for 2 extra RAM or Flash chips
* USB device 480 Mbit/sec & USB host 480 Mbit/sec
* 55 digital input/output pins, 35 PWM output pins
* 18 analog input pins
* 8 serial, 3 SPI, 3 I2C ports
* 2 I2S/TDM and 1 S/PDIF digital audio port
* 3 CAN Bus (1 with CAN FD)
* 1 SDIO (4 bit) native SD Card port
* Ethernet 10/100 Mbit with DP83825 PHY
* 32 general purpose DMA channels
* Cryptographic Acceleration & Random Number Generator
* RTC for date/time
* Programmable FlexIO
* Pixel Processing Pipeline
* Peripheral cross triggering
* Power On/Off management
 
Despite not appearing to have dedicated quad-SPI, it should be possible to make use of the ~55 digital pins to implement any protocol required.


==== Schematic ====
==== Schematic ====
Line 61: Line 83:
==== BOM ====
==== BOM ====


'''TO-DO:''' The bill of materials used in the schematic.
'''TO-DO:''' BOM based on Teensy 4.1 board.
 
* [https://nz.mouser.com/ProductDetail/Winbond/W25N512GWFIG?qs=T3oQrply3y%2Fc2oXtef14%252Bg%3D%3D 512Mb serial NAND] @ $3.23 ([https://nz.mouser.com/datasheet/2/949/w25n512gw_rev_c_011419-1608377.pdf Datasheet])
* [https://ww1.microchip.com/downloads/en/DeviceDoc/22288A.pdf USB-to-SPI converter]


==== PCB ====
==== PCB ====
Line 72: Line 91:
=== Software ===
=== Software ===


The work on the BL602 is to be on-top of the documented work by [https://lupyuen.github.io/articles/book Lupyuen].
For initial development it will be possible to use the Arduino IDE and eco-system to use existing libraries, extend functionality and test out initial ideas. It also provides a relatively fool-proof method for flashing new firmware to the device.


==== Libraries ====
==== Libraries ====