Jump to content

    

efancy

Участник
  • Content Count

    12
  • Joined

  • Last visited

Posts posted by efancy


  1. Я делал полноценный эмулятор РОМ в первой половине 90-х.

    Он представлял собой блок ОЗУ (сначала 8 килобайт на 4-х 537РУ10, потом 32 килобайта на 4-х 537РУ17, а потом уже сразу на импортной микросхеме статического ОЗУ на 128К), шина адреса и шина данных которого была мультиплексирована - то есть память была два режима доступа к памяти. В первом режиме мультиплескоры подавали адрес с тестируемой системы, а буфер транслировал данные на шину данных тестируемой системы - это был режим эмуляции. Во втором режиме мультиплексор подключал адрес ОЗУ к блоку загрузки, также к блоку загрузки подключалась шина данных ОЗУ - это был режим записи программы. Все это добро было собрано на ISA-плате и втыкалось в РС, а тестируемая система подключалась шлейфом.

     

    Сейчас бы я сделал блок памяти на флеши.

    Режим записи/верификации прошивки можно реализовать на микроконтроллере, с выводами выдерживающими 5V. Цепляем контроллер к шине адреса/данных/управления, пишем программку для контроллера, чтобы он принимал команды, например, по UART и читал/писал флешку. В режиме эмуляции микроконтроллер переключает свои выводы на вход и не влияет на работу схему.

     

    Следующий вопрос как сделать так чтобы тетстируемая система не мешала процессу прошивки. Самое простое - сделать трансляцию адреса и сигналов управления (CS/OE) через регистры/буферы с 3-им состоянием (чипы типа 74HCT373/244/125). Когда микроконтроллер желает прошить данные - он запрещает выход этих буферов и получает доступ к шине адреса флеш. Когда надо эмулировать - буфера разрешаются. Аналогично - шина данных флеш также транслируется в систему через буфер, и шина данных системы не мешает программировать контроллеру флеш. Еще хорошо бы рассмотреть в каком состоянии находятся шины данных в момент сброса - есть вероятность что в высокоимпедансном - тогда можно вооще обойтись без боьшей части буферов.

     

    Все это можно сделать и на ПЛИС, и на рассыпушке. Если на рассыпушке - то понадобится 4-5 корпусов 74HCT244/373, корпус мелкий элемент типа 3ИЛИ-НЕ (чтобы разрешать буфер на шине данных по !OE & !CS & EMU_MODE), ну и микроконтроллер типа Мега8515 - монтажа на день-два.

     

    На ПЛИС макетировать чуть сложнее - мелкий шаг у них всех и ног надо много - думаю тут 100-ножка типа EPM3064 пойдет. Если на ПЛИС - то уже можно какой-нить контроллер типа Cypress 68013 и программку уже писать для PC чтобы читать-писать данные.

    Спасибо! подумаю над этим, выходные особо ничего не дали.

  2. И что? Многие тогдашние производители этого добра вылетели с этого рынка со скоростью, пропорциональной тому, на сколько они делили тактовую частоту.

     

    Да, и ещё момент — куда так быстро сгинули первоначальные 14 МГц? Или, как говорится, "что это было?" ©

    "Скорость чтения самого девайса 14мгц то есть "эмулятор" должен быть достаточно быстрый" - это я 70 нан пересчитал с даташита 128 памяти. ошибка принята.

    теперь нашел на плате и 10мгц кварц, и понял что память на 120нан нормально проходит, а это в пересчете уже 8мгц.

  3. Я автор того РЕ-мулятора. Если будут вопросы - можно задать здесь. Но для Вашего случая оно не очень подходит - эмуляцию параллельного ПЗУ с временем доступа 75 нс (в первом посте фигурирует цифра 14МГц), микроконтроллерный вариант может банально не успеть. Хотя... Надо заснять диаграммку доступа к ПЗУ со стороны основного процессора - как там CS/ OE/ подаются.

     

    Я так понял Вы новый софт для этого прибора разрабатываете/перекомпилируете из исходников? Внешний интерфейс какой у этого прибора есть? (RS-232 типа). Может быть тогда возможно перейти на вариант встроенного загрузчика? Дописываете в софт кусочек, который по этому внешнему интерфейсу читает/пишет флешку.

    О!!! Приветствую! А я на том форуме пытаюсь зарегится, регистрация отключена, админу уже письмо написал, прям чудо!

     

    Сегодня нашел перемычки на память 32к x 8 под рукой была Atmel 29 со скоростью 120нс (Address to Output Delay - 120 / ce - 50 / oe - 40) что удачно было проглочено, и сразу было принято решение найти их по новее.

     

    Суть текущей работы, как всегда что то хорошее было когда то давно сделано, люди ушли все убрали в чулан, а теперь нужно откопать, собрать, запустить, понять, отстроить, показать потенциальному заказчику, и по возможности модифицировать в новье.

     

    Но пока не осилим старое, на новое средств ни кто не даст. у девайса и 485 и 232, это уже через FTDI успешно подключенно. Софт я потихоньку перелопачиваю с DOS на WIN, ну на сколько это вижу... чип проца не ясный, работает от кварца на 10 мгц. Не ясный тк все микрухи потерты, залачены и тд. Но это не авр точно, и вродебы не 8051\8031.

     

    а разве STM32F407 или STM32F205 не хватит?

     

    ЗЫ. нет исходников нет, пару схем БП, шлейфов, но ничего о начинке. так приблизительно с напарником накидывает структурную схему. Но настройка сейчас просто выбивает.

  4. Зато там автор привёл оценку быстродействия и даже осцилограммки привёл. Сама 1801РР2 5вольтовая и эмулятор работает в 5вольтовой системе. 3.3 вольта перекрывают требования по уровню лог.1.

    В дебрях темы автор выкладывал и исходник прошивки. Подправить его и разделить адрес данные проще, чем лепить всё это на ПЛИС и флешке. Зато бонусом пойдут им написанные программы.

    А может просто напишите ему, вдруг и поможет переделать под ваши нужды.

    уже пытаюсь связаться как линк был выложен

    хотел бы уточнить, логическая единица

    У меня от чипа к к процу идет два буфера 74hc541ap и 74hc373n. Вопрос: при единицы в 3 вольта на выходе с буфера тоже будет 3 ? или поднимится до 5?

    в даташите на сердце девайса написано логическая единица от 3.6 или 4.2в.

  5. Вы мою ссылку смотрели?

    да конечно, это самый "адеквтатный" вариант по цене и скоростью разработки. смутило еще когда вы кинули 2 вещи.

    первая, это вывод на логигу 3 вольта ( у меня 5), но думаю это можно решить защелками.

    второе, данная микросхема эмулирует 1801РР2 у которой на одни и теже ноги повешена шина и A0 и D0 . что думается мне намного медленее чем две разные шины.

     

    вчера да девайсе поставили кроватку с замком, ибо на старой кроватке уже с памяти выдрали ноги. хочу на выходных схемку набросать попробовать. но ни как не знаю что выбрать(((

  6. Ответа не увидел, но как угодно. Вот пример:

     

    http://www.digikey.com/product-detail/en/C...-1788-ND/718002

     

    Уже 5-вольтовые уровни, т.е. всего лишь остаётся на весь второй порт повесить один копеечный сдвиговый регистр и толкать туда любым черепашьим интерфейсом.

     

    Спасибо! это похоже на решение.

     

     

    для начала ТС надо установить ПО....после кода ПО само предложит ПЛИС для задачи

     

    Вчера начал изучать ПЛИС, понял что есть и ModelSim, Quartus II , MAX II...

     

    о каком ПО вы говорите? я просто на знаю с чего бы начать.

     

    Вариант с двуканальной памятью хорошая идея, первое что пришло в начале в голову, но до поздней ночи читал про ПЛИСины и реально загорелся идеей, моделирования ОЗУ. Очень мощная вещь.

  7. В первую очередь здесь доступность компонентов, а она не указана.

    Чем проще тем лучше, если что то можно купить за нормальные деньги будет куплено, сейчас доступны Атмеги(32 128) остльное докупать. Как говорил выше есть Альтера Циклон. есть ST103Fxxxx.

     

  8. Длительность ноля сигналов /CS и /OE на 29C128 какая?

    /CE=70 нан

    /OE=40 нан

     

    Если для целей отладки, то статическое ОЗУ с батарейкой вполне подойдет.

     

    Извиняюсь, а разве есть такие что бы был одновременно доступ к памяти с "разных" направлений?

     

    Мне бы такую систему, чтобы был и DMA доступ к памяти, и пусть медленный но "одновременный" доступ к памяти на запись с "другой" стороны, без прерывания основного устройства.

     

    память VHDL есть на сайте альтеры...байтбластер соберешь сам там одна микросхема буфер...

    Ну вот пошла учеба ПЛИС, это точно окончательный выбор решения моей задачки?

  9. Спасибо за ответы!

     

    Атмел по скорости не проходит

    и если бы просто была эмуляция памяти, тогда да, любой MCU с заливкой памяти. но.

    опять таки, девайс выключить, залить по тому же UART-USB через бут прошивку? включить девайс, дать инициализацию...

     

    мужики 57 параметров калибровки СПШ и пяток параметров датчика))) я умру) может конечно эти приборы раньше так и настраивали, но сейчас нет не людей таких ни времени. (как всегда) выручайте

     

    Вариант ПЛИС + ОЗУ будет самым простым в данном случае. Платку можно будет сделать под имеющуюся кроватку для ИМС.

     

    Хочу плис, не знаю плис. По этому на конец и отодвигаю этот вариант, правильно понимаю, что на любую аврку цепляюсь через UART, она по средствам JTAG эмуляции - программирует ПЛИС. с другой стороны подвожу A0-15 D0-7.

    Если все так, какую ПЛИС для начала посоветуйте, не нашел отдельного раздела по ПЛИС. Имеется на работе 240 ножечная О_о Альтера Циклон, может есть что то более адекватное для эмуляции 16кб ?

     

     

     

     

  10. Задача, есть прибор древний в котором используется 16 адресная память, еще с УФ окном.

     

    Ковыряем, надоело каждый раз прошивать, стирать, ну естественно перешли уже на EEPROM аналог 29C128.

    но тоже каждый раз пихать в программатор не вариант (а его еще нужно было найти как понимаете).

     

    Какой вариант может быть для организации программирования "на лету", через RS232 - USB ?

     

    В AVR столько памяти нет, ARM Как я понимаю имея большую FLASH тоже читает\стирает постранично, что не подходит для изменения параметра в 1-2 байт. Скорость чтения самого девайса 14мгц то есть "эмулятор" должен быть достаточно быстрый.

     

    Может Гуру подскажут что можно сделать? может можно связать какую нибудь DMA память со одной стороны которого будет "прибор", а с другой интерфейс для изменения?

     

     

    В голову конечно приходит плисина типа ALTERA с интерфейсом JTAG на AVR.... но это это в крайнем случае уже.

  11. Спасибо!!! ну вот начинаю понимать что:

     

    GPnSET установка порта в 1

    GPnCLR установка порта в 0

     

    задержка не срабатывает почему то но щас буду пробовать

     

    не разобрался как расшифровать, 1 << (7 + 16) конкретно 7 +16

     

    поступил так

    void Delay( unsigned int Val);

     

    void Delay( unsigned int Val) {

    for( ; Val != 0; Val--) {

    __no_operation();

    }

    }

     

    main () {

    //int i;

    //for (i = 1; i <= 10; i++)

    while(0)

    {

     

    GP1SET = ();

    Delay( 60000);

    GP1CLR = (1 << (7 + 16));

    Delay( 60000);

    }

    return 0;

    }

  12. Работал всегда с AVRками, ни каких проблем. Начальство "попросило" освоить ARM, дабы изготовить какой то девайс который бросили 10 лет назад. сейчас предомной

    полупустая плата с процом,

    UART-USB конвертор в виде программатора,

    даташит AD,

    IAR keil триаловский,

    и загрузчик ARMWSD

     

    Кроме заливки программы боше ничего не получается, прошу кинуть пример хотя на мыргание диода на ножке P26 (p1.7)

    (про цап, шим молчу...)

     

    Или\И ткните носом книгу для чайников по Aduc :smile3046: