вторник, 21 июля 2009 г.

MK61avr - Подальше положишь, поближе возьмешь.



Фотография mk61avr комплекса vitasam на "бредовой доске"

Решение хранить во внутреннем EEPROM AVR программы МК61, конечно самое простое, но хочется что бы порядок был во всем. Приятно когда память внешняя и ее может быть не один или два, а много. А еще хорошо когда что то кроме памяти можно зацепить.. А еще хорошо управлять чем то зацепленным к mk61avr... А еще.., а еще.. Вот так собственно мы и пришли к мнению, что лучшим из лучших, удобнейшим из удобнейших будет решение оснастить mk61avr внешней шиной стандарта I2C - мало того что это возможность подключить 127 устройств, семь из которых могут быть памятью EEPROM для хранения программ или памятью для хранения процедур mk61avr, но так же и возможность зацепить различные датчики I2C и любые устройства обладающие I2C интерфейсом. Так же было решено что I2C шина расширяет во вне адресное пространство виртуальной машины VM61 и дает возможность передавать исполнение на куски кода находящиеся не в стандартной странице mk61avr (в отличии от MK61, mk61avr поддерживает размер страницы 256 байт) и работать с EEPROM как с частью адресного пространства для mk61avr распространяющимся от 0..0xFFFFFFFF (базовая разрядность). Так же пришли к выводу что оснастить внешним EEPROM хотя бы в количестве одна штука для хранения программ было бы для базовой конфигурации вполне сносным решением, не сильно тяготящим карман, но и дающим возможность хранить более 2-4 стандартных программ.
Вот так чаяниями Vitasam и моим "кодингом" и "паянингом" платформа mk61avr обзавелась внешней шиной I2C и EEPROM 24LC32 хорошо известной фирмы Microchip.


Схема I2C встроенного "хранилища" программ.

Надо сказать что фирма Филипс очень хорошо позаботилась о логичности и понятности двух проводного синхронного интерфейса I2C. Разборки с ним, для меня еще не подходившему к данному протоколу, не составили большого труда.

P.S. Ну а внутренний EEPROM с подачи Vitasam теперь принято считать резервным хранилищем контекста (регистров,стеков и страницы кода из ОЗУ) mk61avr при выключении.

P.P.S. На комплексе Vitasam была проверена работа с внешним EEPROM 24LC128. В принципе до значения адреса FFFF внутреннего счетчика все EEPROM будут работать увеличивая кол-во страниц под программы - пропорционально размерной сетке.

24LC32 - 4Кб
24LC64 - 8Кб
24LC128 - 16Кб
24LC256 - 32Кб
24LC512 - 64Кб

единственный пока не вписывающийся EEPROM
24LC1025 - 128Кб

10 коммент.:

  1. Если я не ошибся :), то разжился микрочиповскими 24LC128 в DIP корпусе, что удобно для экспериментов в "бредовой" доске

    ОтветитьУдалить
  2. Ну отлично Виталий, впаивай и проверяй, точнее для "бредовой доски" вставляй :) и проверяй! Жду отчета от тебя по этим EEPROM.

    ОтветитьУдалить
  3. Удобная вещь - бредовая доска. Ставил память минут 5.

    Все, работает! Отчет:

    --- Ввел прогу ---
    mk61avr [00. 00]>m00
    00. 05
    01. 0E
    02. 06
    03. 12
    04. 50
    05.
    mk61avr [05. 00]>d
    05 0E 06 12 50 00<00 00 00 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    ...


    --- Сохранил в eeprom ---
    mk61avr [05. 00]>f01

    >>> Выключил и включил mk61avr <<<

    --- Прочитал из eeprom ---
    Прочитал из eeprom
    mk61avr [00. 00]>i01

    mk61avr [00. 05]>d
    05<0E 06 12 50 00 00 00 00 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    ...

    --- Проверил работу ---
    mk61avr [00. 05]>g00

    mk61avr [05. 00]>x
    30.0000000000
    X=30.0000000000
    mk61avr [05. 00]>

    ОтветитьУдалить
  4. Спасибо Виталий! По идее у тебя 24LC128, это 16К, запись в последнюю страничку это f40. Попробуй как будет в предпоследнюю и последнюю странички. Разные программы если можно.

    ОтветитьУдалить
  5. Да, 16 Кбайт - во времена мк61 это казалось несбыточной мечтой :)
    Запись в 39ю и 40ю странички работает.

    Отчет:
    --- Включил mk61avr, память чистая ---
    mk61avr [00. 00]>d
    00<00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    ...

    --- Загрузил предыдущую программу из eeprom ---
    mk61avr [00. 00]>i01

    mk61avr [00. 05]>d
    05<0E 06 12 50 00 00 00 00 00 00 00 00 00 00 00
    ...

    mk61avr [00. 05]>g00

    mk61avr [05. 00]>x
    30.0000000000
    X=30.0000000000

    --- Ввод новой программы ---
    mk61avr [05. 00]>m00
    00. 09
    01. 02
    02. 0E
    03. 07
    04. 12
    05. 50
    ...

    --- Сохранение в eeprom, страница 39 ---
    mk61avr [06. 00]>f39

    --- Ввод новой программы ---
    mk61avr [00. 00]>m00
    00. 01
    01. 05
    02. 05
    03. 0E
    04. 02
    05. 07
    06. 12
    07. 50

    --- Сохранение в eeprom, страница 40 ---
    mk61avr [08. 00]>f40

    >>> Момент истины. Выключаю mk61avr <<<

    --- Загрузка и проверка программы из eeprom#01 ---
    mk61avr [00. 00]>i01

    mk61avr [00. 05]>g00

    mk61avr [05. 00]>x
    30.0000000000
    X=30.0000000000

    --- Загрузка и проверка программы из eeprom#39 ---
    mk61avr [05. 00]>i39

    mk61avr [05. 50]>g00

    mk61avr [06. 00]>x
    644.0000000000
    X=644.0000000000

    --- Загрузка и проверка программы из eeprom#40 ---
    mk61avr [06. 00]>i40

    mk61avr [06. 12]>g00

    mk61avr [08. 00]>x
    4185.0000000000
    X=4185.0000000000

    ОтветитьУдалить
  6. Тормознул я - запись в предпоследнюю страничку будет f3F, а не f39 :)

    ОтветитьУдалить
  7. Точно так, вслед за тобой тормознул и я. Как с 3F? Пишет?

    ОтветитьУдалить
  8. Думаю, пишет, конечно же. Но проверить смогу недели через две только

    ОтветитьУдалить
  9. В самом начале нашей основной и единственной деятельностью была эффективная юзабилити раскрутка сайтов. В настоящее время мы предлагаем полный пакет комплексного маркетинга, хотя продвижение оптимизации сайтов - Яндекс, Google, Rambler - остается нашим приоритетным видом деятельности Влияние юзабилити сайта на ранжирование в поисковых системах Эффективная раскрутка сайта подразумевает не только выведение на доминирующие позиции поисковых систем, но еще и сохранение завоеванных мест. Основу нашей компании составляет группа оптимизаторов с почти девятилетним опытом работ в сфере раскрутка оптимизации сайтов. За эти 9 лет приемы работы были отшлифованы нашими специалистами до мелочей. http://seo-miheeff.ru/vliyanie_usability_na_range.php

    ОтветитьУдалить