Component: Serial Flash (W25) (EEPROM): Difference between revisions
Appearance
No edit summary |
m Text replacement - "style="background-color:#EAE1EA;"" to "class="mtx-class-propfolder"" |
||
| (6 intermediate revisions by 2 users not shown) | |||
| Line 17: | Line 17: | ||
==Component Source Code== | ==Component Source Code== | ||
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/ | Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_SerialFlash_W25Q.fcfx FC_Comp_Source_SerialFlash_W25Q.fcfx] | ||
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/ | Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_SerialFlash_W25Q.fcfx FC_Comp_Source_SerialFlash_W25Q.fcfx] | ||
==Detailed description== | ==Detailed description== | ||
| Line 73: | Line 73: | ||
''<span style="color:red;">No additional examples</span>'' | ''<span style="color:red;">No additional examples</span>'' | ||
| Line 86: | Line 88: | ||
===EraseBlock=== | ===EraseBlock=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''EraseBlock''' | ||
|- | |- | ||
| colspan="2" | Erases a block of data stored on the chip. Erase takes between 45 milliseconds and 2000 milliseconds to complete. Blocking mode is recommended to ensure write cycle is complete. | | colspan="2" | Erases a block of data stored on the chip. Erase takes between 45 milliseconds and 2000 milliseconds to complete. Blocking mode is recommended to ensure write cycle is complete. | ||
| Line 115: | Line 117: | ||
===EraseChip=== | ===EraseChip=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''EraseChip''' | ||
|- | |- | ||
| colspan="2" | Erases all data stored on the chip. Chip erase takes between 20 seconds and 100 seconds to complete. Blocking mode is recommended to ensure write cycle is complete. | | colspan="2" | Erases all data stored on the chip. Chip erase takes between 20 seconds and 100 seconds to complete. Blocking mode is recommended to ensure write cycle is complete. | ||
| Line 134: | Line 136: | ||
===Initialise=== | ===Initialise=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Initialise''' | ||
|- | |- | ||
| colspan="2" | Initialises the SPI bus ready for communications. | | colspan="2" | Initialises the SPI bus ready for communications. | ||
| Line 148: | Line 150: | ||
===ReadDataArray=== | ===ReadDataArray=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''ReadDataArray''' | ||
|- | |- | ||
| colspan="2" | Reads up to 256 data bytes starting from the specified address. Note that all bytes will be read from the same page. | | colspan="2" | Reads up to 256 data bytes starting from the specified address. Note that all bytes will be read from the same page. | ||
| Line 182: | Line 184: | ||
===ReadDataByte=== | ===ReadDataByte=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''ReadDataByte''' | ||
|- | |- | ||
| colspan="2" | Reads a single data byte from the specified address. | | colspan="2" | Reads a single data byte from the specified address. | ||
| Line 206: | Line 208: | ||
===ReadStatus=== | ===ReadStatus=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''ReadStatus''' | ||
|- | |- | ||
| colspan="2" | Reads one of the internal status registers on the device | | colspan="2" | Reads one of the internal status registers on the device | ||
| Line 225: | Line 227: | ||
===ReadUniqueID=== | ===ReadUniqueID=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''ReadUniqueID''' | ||
|- | |- | ||
| colspan="2" | Reads the 8-byte unique identifier from the IC. Useful if you need each board to have it's own guarenteed unique address or identifier. | | colspan="2" | Reads the 8-byte unique identifier from the IC. Useful if you need each board to have it's own guarenteed unique address or identifier. | ||
| Line 244: | Line 246: | ||
===WriteControl=== | ===WriteControl=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''WriteControl''' | ||
|- | |- | ||
| colspan="2" | Enables or disables writing for things like erasing and programming. Writes must be enabled after a power on reset and again after an erase command. | | colspan="2" | Enables or disables writing for things like erasing and programming. Writes must be enabled after a power on reset and again after an erase command. | ||
| Line 263: | Line 265: | ||
===WriteDataArray=== | ===WriteDataArray=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''WriteDataArray''' | ||
|- | |- | ||
| colspan="2" | Writes an array of data bytes atarting at the specified address. Writes must be enabled and memory locations must be erased for data writes to function correctly. Note that all bytes will be written to the same page. | | colspan="2" | Writes an array of data bytes atarting at the specified address. Writes must be enabled and memory locations must be erased for data writes to function correctly. Note that all bytes will be written to the same page. | ||
| Line 297: | Line 299: | ||
===WriteDataByte=== | ===WriteDataByte=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''WriteDataByte''' | ||
|- | |- | ||
| colspan="2" | Writes a single data byte to the specified address. Writes must be enabled and memory locations must be erased for data writes to function correctly. | | colspan="2" | Writes a single data byte to the specified address. Writes must be enabled and memory locations must be erased for data writes to function correctly. | ||
| Line 327: | Line 329: | ||
==Property reference== | ==Property reference== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-prop-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Properties''' | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Flash Properties | ||
|- | |- | ||
|- | |- | ||
| Line 352: | Line 354: | ||
| colspan="2" | | | colspan="2" | | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | SPI Properties | ||
|- | |- | ||
|- | |- | ||
| Line 386: | Line 388: | ||
| colspan="2" | Chip Select / Slave Select Pin Master Mode: General purpose output pin used to select the remote SPI device. Slave Mode: Hardware chip select pin input used to select the SPI device. | | colspan="2" | Chip Select / Slave Select Pin Master Mode: General purpose output pin used to select the remote SPI device. Slave Mode: Hardware chip select pin input used to select the SPI device. | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Simulation | ||
|- | |- | ||
|- | |- | ||
| Line 395: | Line 397: | ||
| colspan="2" | Decides how the simulation handles the data. No - Do no SPI simulation and allow all simulation data to come from a local text file. Yes - Use SPI simulation for use with Injector components etc. | | colspan="2" | Decides how the simulation handles the data. No - Do no SPI simulation and allow all simulation data to come from a local text file. Yes - Use SPI simulation for use with Injector components etc. | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | File Simulation | ||
|- | |- | ||
|- | |- | ||
Latest revision as of 14:37, 13 July 2026
| Author | Matrix TSL |
| Version | 1.0 |
| Category | EEPROM |
Serial Flash (W25) component
Component to allow support for the Winbond W25 range of SPI Flash devices. Compatible with various sizes of Flash including: 2Mb, 4Mb, 8Mb, 32Mb, 64Mb, 128Mb.
Component Source Code
Please click here to download the component source project: FC_Comp_Source_SerialFlash_W25Q.fcfx
Please click here to view the component source code (Beta): FC_Comp_Source_SerialFlash_W25Q.fcfx
Detailed description
No detailed description exists yet for this component
Examples
No additional examples
Macro reference
EraseBlock
EraseChip
Initialise
| Initialise | |
| Initialises the SPI bus ready for communications. | |
| Return | |
ReadDataArray
ReadDataByte
ReadStatus
| ReadStatus | |
| Reads one of the internal status registers on the device | |
| Reg | |
| Selects which status register to read, 0 = Status or 1 = Status 2. | |
| Return | |
ReadUniqueID
WriteControl
WriteDataArray
WriteDataByte