82 lines
5.0 KiB
Markdown
82 lines
5.0 KiB
Markdown
# Подключение parallel NAND на пустой плате
|
||
|
||
Документ рассчитан на асинхронную NAND x8 `MT29F1G08ABADA` 3,3 В в корпусе
|
||
TSOP-48 (суффикс `WP`). На второй фотографии NAND — длинная микросхема справа
|
||
с маркировкой `29F1G08ABADA`. Микросхема Micron `D9MDK` сверху — DDR2 SDRAM,
|
||
не NAND. На первой фотографии `AM29LV800BT` — parallel NOR, а не NAND.
|
||
|
||
Уточнение по ёмкости с фотографий:
|
||
|
||
- `K6R4008V1D` — SRAM 4 Mbit (512 KiB), не Flash;
|
||
- `AM29LV800BT` — parallel NOR 8 Mbit (1 MiB);
|
||
- `MT29F1G08ABADA` — parallel NAND 1 Gbit, то есть 128 MiB main area.
|
||
|
||
Поэтому текущий NAND-профиль рассчитан на 1-Gbit чип со второй платы. Для
|
||
другой плотности меняется `parallel_nand_geometry_t`; GAS и GUI-команды
|
||
остаются теми же.
|
||
|
||
Не переносите номера выводов TSOP-48 на вариант `H4` VFBGA-63. Для BGA нужно
|
||
использовать ball map конкретного полного part number.
|
||
|
||
## TSOP-48, x8
|
||
|
||
| NAND | Вывод | Назначение |
|
||
|---|---:|---|
|
||
| `R/B#` | 7 | open-drain Ready/Busy, подтяжка 4,7–10 кОм к 3,3 В |
|
||
| `RE#` | 8 | строб чтения от МК |
|
||
| `CE#` | 9 | выбор кристалла от МК |
|
||
| `VCC` | 12, 37 | питание 3,3 В |
|
||
| `VSS` | 13, 36 | земля |
|
||
| `CLE` | 16 | фиксация команды |
|
||
| `ALE` | 17 | фиксация адреса |
|
||
| `WE#` | 18 | строб команды/адреса от МК |
|
||
| `WP#` | 19 | для read-only 10 кОм на GND; для записи — GPIO и pull-down |
|
||
| `I/O0` | 29 | двунаправленная шина, бит 0 |
|
||
| `I/O1` | 30 | двунаправленная шина, бит 1 |
|
||
| `I/O2` | 31 | двунаправленная шина, бит 2 |
|
||
| `I/O3` | 32 | двунаправленная шина, бит 3 |
|
||
| `I/O4` | 41 | двунаправленная шина, бит 4 |
|
||
| `I/O5` | 42 | двунаправленная шина, бит 5 |
|
||
| `I/O6` | 43 | двунаправленная шина, бит 6 |
|
||
| `I/O7` | 44 | двунаправленная шина, бит 7 |
|
||
| `VCC1` | 34, 39 | соединить с 3,3 В для совместимости корпуса/ONFI |
|
||
| `VSS1` | 25, 48 | соединить с GND для совместимости корпуса/ONFI |
|
||
| `DNU` | 38, 47 | оставить неподключёнными |
|
||
| `NC` | остальные | не подключать |
|
||
|
||
У каждого VCC/VCC1 поставить 100 нФ на ближайший VSS/VSS1; рядом с NAND —
|
||
общий 1–4,7 мкФ. Сигналы не должны превышать питание NAND. Для трасс длиннее
|
||
нескольких сантиметров предусмотреть последовательные резисторы 22–47 Ом у
|
||
источника на `WE#`, `RE#`, `CLE`, `ALE` и при необходимости на данных.
|
||
|
||
## Соединение с МК
|
||
|
||
| NAND | TMS320F2812 | STM32F407VET6 | STM32G474CEU6 |
|
||
|---|---|---|---|
|
||
| `I/O0..7` | `XD0..XD7` | `PD14,PD15,PD0,PD1,PE7..PE10` | `PB0..PB7` |
|
||
| `CLE` | `XA0` | `PD11/FSMC_A16` | `PA0` |
|
||
| `ALE` | `XA1` | `PD12/FSMC_A17` | `PA1` |
|
||
| `WE#` | `XWE` | `PD5/FSMC_NWE` | `PA2` |
|
||
| `RE#` | `XRD` | `PD4/FSMC_NOE` | `PA3` |
|
||
| `CE#` | `XZCS6AND7` | `PD7/FSMC_NE2` | `PA4` |
|
||
| `WP#` | GND через 10 кОм | GND через 10 кОм | `PA5` и pull-down 10 кОм |
|
||
| `R/B#` | `GPIOE0` | `PD6/FSMC_NWAIT` | `PA6` |
|
||
|
||
Подробные номера выводов корпуса МК и ограничения находятся в README каждого
|
||
каталога `ports/`. Перед изготовлением платы нужно сверить выбранный корпус и
|
||
полный part number NAND с актуальным datasheet.
|
||
|
||
## Первый запуск
|
||
|
||
1. Не устанавливать NAND и проверить 3,3 В, отсутствие КЗ и уровни `CE#/WE#/RE#`.
|
||
2. Установить NAND, оставить `WP#` в нуле и выполнить RESET `FFh`.
|
||
3. Прочитать ID `90h`: ожидаемые первые байты для профиля — `2C F1`.
|
||
4. Считать одну страницу два раза и сравнить main/OOB побайтно.
|
||
5. Только после устойчивого чтения запускать полный дамп через GAS.
|
||
|
||
## Источники для проверки footprint
|
||
|
||
- [Micron: каталог SLC NAND](https://www.micron.com/products/storage/nand-flash/slc-nand/part-catalog)
|
||
- [MT29F1G08ABADA: signal assignments и геометрия](https://helpdesk.trx.pl/pliki/SERWER/Micron-MT29F1G08ABADAWP-IT%20D-datasheet.pdf)
|
||
- [Micron FBGA part decoder](https://in.micron.com/sales-support/design-tools/fbga-parts-decoder)
|