Внутрисхемное чтение и запись внешней Flash памяти микросхем SDA6000

Процессор серии SDA6000 содержит микроконтроллер M2 на ядре C16x. Корпус - QFP128. Максимальный объем внешней Flash ROM - 4096K. Есть несколько модификаций, например: SDA6000 A23, SDA6000 B12, SDA6001 B12.

После сброса выводы 43 (MEMCLK) и 45 (CLKEN) в версии A находятся в положении 0, а в версии B - в 1. Если в данном аппарате вывод 45 не участвует в работе RAM, то можно ставить любую версию. Если же он подключен к цепям оперативной памяти - только такую же.

SDA6001 поддерживает режим Double Resolution for interlaced video. Может быть установлен вместо SDA6000.

Программа выполнена в виде скрипта для HardwareExpert. Можно применять любой адаптер COM-UART или USB-UART с соотв. настройками.

Назначение выводов SDA6000: 22 - P4.0/A16/ISP_BS, 73 - _Reset, 88 - P3.10/TXD, 89 - P3.11/RXD.

Выводы RXD, TXD и RESET обычно выведены на сервисный разъем, в то время как вывод 22 - не всегда (в некоторых аппаратах предусмотрена загрузка лоадера только через JTAG). Тогда подключаемся к этому выводу прямо на плате.

Вход в режим ISP:

1. Замкнуть на общий провод вывод 22 (ISP_BS). Производитель рекомендует через резистор 100 Ом, но можно и накоротко.

2. Подать питание или, при уже включенном питании, кратковременно замкнуть на общий провод вывод 73 (_Reset).

3. Отпустить вывод 22.

4. Запустить скрипт. (Это можно сделать и до подключения, особенно если применяется адаптер COM-UART с питанием от порта COM.)

При исправном дампе размер определяется автоматически - сравнением данных с различных участков. При поврежденном дампе это может не получиться, в таком случае размер надо ставить вручную.

Внутрисхемная запись, понятно, возможна только на низковольтные флэши.

Для SDA6000 возможны два способа подключения RAM. Для них должны использоваться различные лоадеры. К сожалению, доступен оказался только один - от сервисной программы Grundig для шасси CUC1837. Используемый лоадер также позволяет работать, например, с аппаратами на шасси ML (JVC), Q2500 (Loewe) и многими другими. В то же время с шасси 22.1 (Beko), например, он работать не будет - лоадер грузится, окончание загрузки подтверждается, но дальнейшие команды не выполняются. Это связано как раз с иным подключением RAM.

Если же такой эффект наблюдается в устройстве, которое в исправном состоянии соединяется нормально, то это указывает на неисправность RAM или параллельного интерфейса SDA6000. Это явление можно использовать для диагностики.