Directory structure: technology/interface.

pull/1/head
Peter Hinch 2019-12-30 10:48:46 +00:00
rodzic 7f997f2746
commit fb0b7ab371
8 zmienionych plików z 30 dodań i 17 usunięć

Wyświetl plik

@ -36,7 +36,14 @@ allocation tables in the low numbered sectors. Under `littlefs` I would expect
the endurance to be substantially better owing to its wear levelling the endurance to be substantially better owing to its wear levelling
architecture. architecture.
## 1.3 Supported chips ## 1.3 Organisation of this repo
The directory structure is `technology/interface` where supported chips for a
given technology offer SPI and I2C interfaces; where only one interface exists
the `interface` subdirectory is omitted. The file `bdevice.py` is common to all
drivers and is in the root directory.
## 1.4 Supported chips
These currently include Microchip and STM EEPROM chips and These currently include Microchip and STM EEPROM chips and
[this Adafruit FRAM board](http://www.adafruit.com/product/1895). Note that the [this Adafruit FRAM board](http://www.adafruit.com/product/1895). Note that the
@ -50,25 +57,25 @@ M95M02-DRMN6TP and M95M02-DWMN3TP/K. The latter has a wider temperature range.
In the table below the Interface column includes page size in bytes. In the table below the Interface column includes page size in bytes.
| Manufacturer | Part | Interface | Bytes | Technology | Docs | | Manufacturer | Part | Interface | Bytes | Technology | Docs |
|:------------:|:---------:|:---------:|:------:|:----------:|:----------------------------:| |:------------:|:---------:|:---------:|:------:|:----------:|:-----------------------------:|
| Cypress | S25FL256L | SPI 4096 | 32MiB | Flash | [FLASH.md](./flash/FLASH.md) | | Cypress | S25FL256L | SPI 4096 | 32MiB | Flash | [FLASH.md](./flash/FLASH.md) |
| Cypress | S25FL128L | SPI 4096 | 16MiB | Flash | [FLASH.md](./flash/FLASH.md) | | Cypress | S25FL128L | SPI 4096 | 16MiB | Flash | [FLASH.md](./flash/FLASH.md) |
| STM | M95M02-DR | SPI 256 | 256KiB | EEPROM | [SPI.md](./spi/SPI.md) | | STM | M95M02-DR | SPI 256 | 256KiB | EEPROM | [SPI.md](./eeprom/spi/SPI.md) |
| Microchip | 25xx1024 | SPI 256 | 128KiB | EEPROM | [SPI.md](./spi/SPI.md) | | Microchip | 25xx1024 | SPI 256 | 128KiB | EEPROM | [SPI.md](./eeprom/SPI.md) |
| Microchip | 24xx512 | I2C 128 | 64KiB | EEPROM | [I2C.md](./i2c/I2C.md) | | Microchip | 24xx512 | I2C 128 | 64KiB | EEPROM | [I2C.md](./eeprom/i2c/I2C.md) |
| Microchip | 24xx256 | I2C 128 | 32KiB | EEPROM | [I2C.md](./i2c/I2C.md) | | Microchip | 24xx256 | I2C 128 | 32KiB | EEPROM | [I2C.md](./eeprom/i2c/I2C.md) |
| Microchip | 24xx128 | I2C 128 | 16KiB | EEPROM | [I2C.md](./i2c/I2C.md) | | Microchip | 24xx128 | I2C 128 | 16KiB | EEPROM | [I2C.md](./eeprom/i2c/I2C.md) |
| Microchip | 24xx64 | I2C 128 | 8KiB | EEPROM | [I2C.md](./i2c/I2C.md) | | Microchip | 24xx64 | I2C 128 | 8KiB | EEPROM | [I2C.md](./eeprom/i2c/I2C.md) |
| Adafruit | 1895 | I2C n/a | 32KiB | FRAM | [FRAM.md](./fram/FRAM.md) | | Adafruit | 1895 | I2C n/a | 32KiB | FRAM | [FRAM.md](./fram/FRAM.md) |
Documentation: Documentation:
[SPI.md](./spi/SPI.md) [SPI.md](./eeprom/spi/SPI.md)
[I2C.md](./i2c/I2C.md) [I2C.md](./eeprom/i2c/I2C.md)
[FRAM.md](./fram/FRAM.md) [FRAM.md](./fram/FRAM.md)
[FLASH.md](./flash/FLASH.md) [FLASH.md](./flash/FLASH.md)
## 1.4 Performance ## 1.5 Performance
FRAM is truly byte-addressable: its speed is limited only by the speed of the FRAM is truly byte-addressable: its speed is limited only by the speed of the
I2C interface. I2C interface.

Wyświetl plik

@ -20,6 +20,8 @@ the subsequent improvements to MicroPython to achieve these advantages:
7. Alternatively it can support byte-level access using Python slice syntax. 7. Alternatively it can support byte-level access using Python slice syntax.
8. RAM allocations are reduced. 8. RAM allocations are reduced.
##### [Main readme](../../README.md)
# 2. Connections # 2. Connections
Any I2C interface may be used. The table below assumes a Pyboard running I2C(2) Any I2C interface may be used. The table below assumes a Pyboard running I2C(2)
@ -168,7 +170,7 @@ advantage when reading of using a pre-allocated buffer. Arguments:
### 4.1.3 Other methods ### 4.1.3 Other methods
#### The len() operator #### The len operator
The size of the EEPROM array in bytes may be retrieved by issuing `len(eep)` The size of the EEPROM array in bytes may be retrieved by issuing `len(eep)`
where `eep` is the `EEPROM` instance. where `eep` is the `EEPROM` instance.

Wyświetl plik

@ -18,6 +18,8 @@ The driver has the following attributes:
7. Alternatively it can support byte-level access using Python slice syntax. 7. Alternatively it can support byte-level access using Python slice syntax.
8. RAM allocations are minimised. Buffer sizes are tiny. 8. RAM allocations are minimised. Buffer sizes are tiny.
##### [Main readme](../../README.md)
## 1.1 This document ## 1.1 This document
Code samples assume one or more Microchip devices. If using the STM chip the Code samples assume one or more Microchip devices. If using the STM chip the
@ -177,7 +179,7 @@ advantage when reading of using a pre-allocated buffer. Arguments:
### 4.1.3 Other methods ### 4.1.3 Other methods
#### The len() operator #### The len operator
The size of the EEPROM array in bytes may be retrieved by issuing `len(eep)` The size of the EEPROM array in bytes may be retrieved by issuing `len(eep)`
where `eep` is the `EEPROM` instance. where `eep` is the `EEPROM` instance.

Wyświetl plik

@ -25,6 +25,8 @@ its resilience and wear levelling characteristics.
Byte level access on such large devices probably has few use cases other than Byte level access on such large devices probably has few use cases other than
for facilitating effective hardware tests and diagnostics. for facilitating effective hardware tests and diagnostics.
##### [Main readme](../README.md)
# 2. Connections # 2. Connections
Any SPI interface may be used. The table below assumes a Pyboard running SPI(2) Any SPI interface may be used. The table below assumes a Pyboard running SPI(2)