Speccy - наш выбор!  
ZXPRESS
ZXTUNES
Virtual TR-DOS
World of Spectrum
ZX Spectrum Old Demos •

Go Back   Speccy - наш выбор! > Отечественные компьютеры > Разное

Reply
 
Thread Tools Display Modes
Old 28th June 2013, 10:55   #1
Activist
 
Vslav's Avatar
 
Join Date: 31st March 2013
Location: г. Киев
Posts: 348
Thanks: 86
Thanked 612 Times in 184 Posts
Vslav is a name known to allVslav is a name known to allVslav is a name known to allVslav is a name known to allVslav is a name known to allVslav is a name known to all
Default РЕ-мулятор - внутрисхемный эмулятор 1801РЕ2/1801РР1

РЕ-мулятор представляет собой печатную плату в габаритах корпуса DIP-24 и предназначен для непосредственной замены микросхем типа 1801РЕ2 и 1801РР1 в различных устройствах.

С использованием дополнительных внешних входов РЕ-мулятор способен заменить до четырех отдельных независимых микросхем типа 1801РЕ2/РР1. Например, возможна одновременная замена одним эмулятором шести микросхем 1801РЕ2 на основной плате БК-0010 плюс плата модуля МСТД/Фокал. Для БК-0011М один эмулятор способен заменить до семи микросхем (на основной плате и дополнительно на плате Бейсика)

РЕ-мулятор построен на основе недорогого и распространенного микроконтроллера STM32F205, работающего на частоте 120МГц. Допускается замена программного обеспечения микроконтроллера без отключения РЕ-мулятора от платы для которой осуществляется эмуляция. Таким образом можно быстро изменять "прошивку" эмулируемой микросхемы без вынимания РЕ-мулятора из панельки.

Поле конфигурации, реализованное на перемычках ("джамперах") позволяет управлять режимом работы РЕ-мулятора без частой замены прошивки микроконтроллера.

По мере разработки и усовершенствования программного обеспечения функционал РЕ-мулятора может быть значительно расширен, выходя за рамки простой эмуляции ПЗУ. Например, возможно использование одного из дополнительных выводов для генерации сигнала DOUT, РЕ-мулятор сможет осуществлять циклы записи на шине МПИ и выполнять самостоятельное тестирование устройства, без участия центрального процессора схемы (разумеется, сам ЦП следует отключить сигналами захвата шины).

Программирование микроконтроллера может осуществляться с использованием полного JTAG, "укороченного" SWJ или по последовательному интерфейсу UART (с иcпользованием внешнего преобразователя уровней RS-232 и предварительно запрограммированного загрузчика). Программирование по UART и SWJ допускается без отключения РЕ-мулятора от схемы. При использовании JTAG без отключения от схемы следует обеспечить размыкание цепей проходящих через R4 и R5. Для программирования по JTAG/SWJ можно использовать стандартные программаторы/отладчики типа JLink, ST-Link, MT-Link. Или (если будет интерес и необходимость) - с использованием Altera ByteBlaster (простая схема на одной 74HCT244, подключаемая к параллельному порту PC) и моей утилиты.





Attached Files
File Type: pdf 1801pp1_schematic.pdf (99.3 KB, 137 views)
File Type: pdf 1801pp1_component.pdf (55.4 KB, 156 views)
File Type: pdf 1801pp1_assembly.pdf (6.1 KB, 96 views)
File Type: rar src_05082013.rar (112.8 KB, 82 views)
File Type: rar boot_utils.rar (45.4 KB, 74 views)
__________________
Орион-128 ('90), Ленинград-2 ('90), Поиск-1/2, БК-0010/11М, МС-0511, MC-1502, Искра-1030
ДВК/Э60: МС1201.01/02/.03/MX/MY/НГМД2/КЦГД/КСМ/КГД/КЖД/КТлК6/М2/М6

Last edited by Vslav; 6th August 2013 at 00:18. Reason: Добавлен архив с исходниками
Vslav is offline   Reply With Quote
The Following 10 Users Say Thank You to Vslav For This Useful Post:
anasana (28th June 2013), dk_spb (28th June 2013), Mdesk (29th June 2013), MM (1st August 2013), Mr-Linker (29th June 2013), Murzik (29th June 2013), perestoronin (29th June 2013), SuperMax (2nd May 2014), tnt23 (29th June 2013), проф (29th June 2013)
Old 28th June 2013, 11:13   #2
Activist
 
Vslav's Avatar
 
Join Date: 31st March 2013
Location: г. Киев
Posts: 348
Thanks: 86
Thanked 612 Times in 184 Posts
Vslav is a name known to allVslav is a name known to allVslav is a name known to allVslav is a name known to allVslav is a name known to allVslav is a name known to all
Default

На данный момент эмулятор проверен в работе на плате БК-0010, работающей на частоте 3МГц в качестве замены одной 1801РЕ2-017. Программное обеспечение сейчас "вычищается" и готовится к публикации, включая исходники.

Приглашаю всех желающих к обсуждению режимов работы РЕ-мулятора.
На данный момент предполагается реализация следующих прошивок и режимов:

- простая эмуляция одной микросхемы 1801РЕ2. Требуемое содержимое прошивки РЕ2 будет располагаться в прошивке микросконтроллера по фиксированному адресу, будет написан простой скрипт, и желающие при необходимости смогут сами вставлять нужное содержимое РЕ2 в файл прошивки микроконтроллера без перекомпиляции. То есть - готовим нужный файл для РЕ2 в требуемом формате (предлагаю формат программатора Стерх - intel-hex, в конце два байта адресного кода микросхемы), берем уже подготовленный файл прошивки микроконтроллера (будет выложен тут), запускаем простой скрипт (батник, скорее всего будет одна использоваться только утилита srec_cat) и получаем на выходе сразу (без компиляции - не надо разбираться с компилятором для ARM - инсталлировать, настраивать и тд) готовый файл для прошивки в микроконтроллер, которая будет эмулировать РЕ2 с заданным содержимым.

- Прошивка БК-0010. Содержит образы РЕ2-017, -106, -107, -108, -018, -019. Устанавливается на место D25(РЕ2-108, чтобы фильтровать обращение к регистрам по сигналу CS в данном посадочном месте) и заменяет все четыре микросхемы плюс модуль Фокала/МСТД. В зависимости от установленных конфигурационных перемычек РЕ-мулятор будет заменять или просто микросхемы на основной плате, или режим подключенного модуля МСТД.

- Прошивка для БК-0011М. Аналогично - со всеми РЕ2, которые применяются в данном компьютере.

Я с БК не очень много работал, поэтому предлагайте варианты, которые могут быть полезны и интересны.
__________________
Орион-128 ('90), Ленинград-2 ('90), Поиск-1/2, БК-0010/11М, МС-0511, MC-1502, Искра-1030
ДВК/Э60: МС1201.01/02/.03/MX/MY/НГМД2/КЦГД/КСМ/КГД/КЖД/КТлК6/М2/М6
Vslav is offline   Reply With Quote
The Following 5 Users Say Thank You to Vslav For This Useful Post:
anasana (28th June 2013), dmluk (28th June 2013), Mdesk (29th June 2013), perestoronin (29th June 2013), tnt23 (29th June 2013)
Old 29th June 2013, 07:48   #3
Member
 
Join Date: 11th August 2009
Location: Минск
Posts: 170
Thanks: 207
Thanked 26 Times in 26 Posts
Ал-р is on a distinguished road
Default

Очень круто - 32-битный ARM на 120МГц для реализации простейшего алгоритма по эмуляции ПЗУ (в соответствии с адресом на входе выдавать содержимое внутренней Flash) ...
Ал-р is offline   Reply With Quote
Old 30th June 2013, 02:02   #4
Activist
 
Vslav's Avatar
 
Join Date: 31st March 2013
Location: г. Киев
Posts: 348
Thanks: 86
Thanked 612 Times in 184 Posts
Vslav is a name known to allVslav is a name known to allVslav is a name known to allVslav is a name known to allVslav is a name known to allVslav is a name known to all
Default

А чем плохо? Всего одна микросхема за 120 российских рублей в розницу (стабилизатор +3.3V не в счет). Свои функции выполняет и ладно. А делать на отдельной микросхеме флеша плюс CPLD или дискретная логика - это очевидное (скучно-банальное) и более громоздкое(и дорогое) решение, имхо.
__________________
Орион-128 ('90), Ленинград-2 ('90), Поиск-1/2, БК-0010/11М, МС-0511, MC-1502, Искра-1030
ДВК/Э60: МС1201.01/02/.03/MX/MY/НГМД2/КЦГД/КСМ/КГД/КЖД/КТлК6/М2/М6
Vslav is offline   Reply With Quote
The Following 3 Users Say Thank You to Vslav For This Useful Post:
perestoronin (30th June 2013), SuperMax (4th May 2014), trader2k4 (2nd July 2013)
Old 28th July 2013, 20:19   #5
Activist
 
Vslav's Avatar
 
Join Date: 31st March 2013
Location: г. Киев
Posts: 348
Thanks: 86
Thanked 612 Times in 184 Posts
Vslav is a name known to allVslav is a name known to allVslav is a name known to allVslav is a name known to allVslav is a name known to allVslav is a name known to all
Default

Новости проекта:
- посылка с платами пришла на "место вручения" в Москве
- написана штатная программа и опробована конфигурация БК-0010 - замена до 4-х микросхем -017, -106, -107, -108

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

Сборка исходников осуществляется GCC (пробовал готовые сборки CodeSourcery и ARM toolchain) или IAR (размер кода прошивки менее 8К, есть бесплатная лицензия типа KickStarter от IAR) - кому что нравится, для тех кто захочет поэкспериментировать поглубже.

Вот так сейчас выглядит стендик с БК-0010:


Кстати трассировка системной платы (пресловутой "переразведенки") не очень, когда сначала запустил РЕ-мулятор на видео начали строчки подергиваться (зазхватываю через ТВ-тюнер). Со штатными РЕ-шками помех на видео нету. В итоге ограничил скорость нарастания сигнала на выходах AD (есть такая фича у STM32) полосой 25МГц (сначала стояли аттрибуты на 50МГц) и помехи ушли.

Прелесть РЕ-мулятора еще и в том что он позволяет по последовательному порту сразу перешивать прошивку "на лету", то есть скорость написания, кросс-компиляции и прогона коротких тестов значительно увеличилась, теперь это просто стало удобно.

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

Сейчас прочитаю еще (этим же РЕ-мулятором прямо на плате БК) прошивки -018 и -019 (МСТД на фото слева) и буду готовить программу к релизу - повычищаю все хвосты и на днях выложу.

PS. Также готовлюсь тестироваться на чуть более быстрой БК-0011М и ищу прошивки -327, -329 - микросхемы на плату Бейсика БК-0011М. Оно как бы необязательно, но было бы приятно сразу 5 чипов РЕ-мулировать.
__________________
Орион-128 ('90), Ленинград-2 ('90), Поиск-1/2, БК-0010/11М, МС-0511, MC-1502, Искра-1030
ДВК/Э60: МС1201.01/02/.03/MX/MY/НГМД2/КЦГД/КСМ/КГД/КЖД/КТлК6/М2/М6

Last edited by Vslav; 28th July 2013 at 22:00.
Vslav is offline   Reply With Quote
The Following 2 Users Say Thank You to Vslav For This Useful Post:
Mad Killer/PG (31st July 2013), perestoronin (28th July 2013)
Old 29th July 2013, 12:32   #6
Activist
 
Vslav's Avatar
 
Join Date: 31st March 2013
Location: г. Киев
Posts: 348
Thanks: 86
Thanked 612 Times in 184 Posts
Vslav is a name known to allVslav is a name known to allVslav is a name known to allVslav is a name known to allVslav is a name known to allVslav is a name known to all
Default

Пооптимизировал основную процедуру ремулятора (обработка сигналов МПИ), в итоге получилось время выборки в пределах 250-300нс. По крайней мере не хуже чем у оригинальной 1801РЕ2А с ее паспортными 300нс. Картинка с осциллографа (Желтый сигнал - ~DIN, голубой - ~RPLY):



Если кому надо быстрее, то можно применить STM32F407 - они до 168МГц штатно работают. Или STM32F205 также вполне хорошо оверклочится (на 168МГц работали все экземпляры что я пробовал). Ниже картинка с оверклоченного до 144МГц 205-го - ориентировочно время выборки 200-250нс. До параметров СОЗУ не дотягивает, конечно, но параметры эмулируемых микросхем перекрывает надежно.

Attached Thumbnails
Click image for larger version

Name:	NewFile0.png
Views:	482
Size:	7.0 KB
ID:	42569   Click image for larger version

Name:	NewFile1.png
Views:	497
Size:	7.0 KB
ID:	42570  
__________________
Орион-128 ('90), Ленинград-2 ('90), Поиск-1/2, БК-0010/11М, МС-0511, MC-1502, Искра-1030
ДВК/Э60: МС1201.01/02/.03/MX/MY/НГМД2/КЦГД/КСМ/КГД/КЖД/КТлК6/М2/М6
Vslav is offline   Reply With Quote
The Following 3 Users Say Thank You to Vslav For This Useful Post:
Mr-Linker (29th July 2013), perestoronin (30th July 2013), Titus (29th July 2013)
Old 29th July 2013, 15:35   #7
Activist
 
Vslav's Avatar
 
Join Date: 31st March 2013
Location: г. Киев
Posts: 348
Thanks: 86
Thanked 612 Times in 184 Posts
Vslav is a name known to allVslav is a name known to allVslav is a name known to allVslav is a name known to allVslav is a name known to allVslav is a name known to all
Default

Сделал считыватель прошивок - в одну панельку на системной плате БК-0010 вставляется считываемая 1801РЕ2/РР1 и далее РЕ-мулятор устанавливает системный сброс ( можно подключить на запрос захвата шины, вместо сброса, но тогда не прочитать микросхемы с чип-кодами 4-7 - будет вылазить -037 на шину) и рулит DIN/SYNC. Результаты чтения попадают в формате ihex в лог-файл отладчика, из которого несложно сделать результирующий файл.

Update:
Вычитал -018 и -019, сделал дополнительную конфигурацию с МСТД. Забавно вышло - выбираем на РЕ-муляторе перемычками конфигурацию 0 (эмуляция -017, -106, -107, -108), включаем питание, видим заставку Бейсика БК-0010. Выключаемся, на РЕ-муляторе выбираем перемычками конфигурацию 1 (эмуляция -017, -018, -019), включаемся - видим Фокал. То есть, РЕ-мулятор легко и просто заменяет модуль МСТД.
__________________
Орион-128 ('90), Ленинград-2 ('90), Поиск-1/2, БК-0010/11М, МС-0511, MC-1502, Искра-1030
ДВК/Э60: МС1201.01/02/.03/MX/MY/НГМД2/КЦГД/КСМ/КГД/КЖД/КТлК6/М2/М6

Last edited by Vslav; 29th July 2013 at 18:13.
Vslav is offline   Reply With Quote
The Following 4 Users Say Thank You to Vslav For This Useful Post:
Mad Killer/PG (31st July 2013), Mr-Linker (29th July 2013), Murzik (3rd August 2013), perestoronin (30th July 2013)
Old 6th August 2013, 00:24   #8
Activist
 
Vslav's Avatar
 
Join Date: 31st March 2013
Location: г. Киев
Posts: 348
Thanks: 86
Thanked 612 Times in 184 Posts
Vslav is a name known to allVslav is a name known to allVslav is a name known to allVslav is a name known to allVslav is a name known to allVslav is a name known to all
Default

В первом посте добавлены:
- архив с исходниками
- архив с начальным загрузчиком и утилитой для прошивки по UART (задействован такой механизм потому что полный JTAG не позволяет делать это в устройстве не вынимая из панельки (часть ног JTAG совмещена с AD-шиной), а Cortex SWD поддерживается только относительно новыми адаптерами). Также в этом архиве утилита-препроцессор локальных меток - нужна для компилиции исходников.

Сейчас пишу документ, где описывается РЕ-мулятор и как с ним работать. Ну чтобы я мог потом всегда гордо сказать - RTFM, да.
__________________
Орион-128 ('90), Ленинград-2 ('90), Поиск-1/2, БК-0010/11М, МС-0511, MC-1502, Искра-1030
ДВК/Э60: МС1201.01/02/.03/MX/MY/НГМД2/КЦГД/КСМ/КГД/КЖД/КТлК6/М2/М6

Last edited by Vslav; 6th August 2013 at 01:52.
Vslav is offline   Reply With Quote
Old 6th August 2013, 00:51   #9
Moderator
 
Join Date: 11th January 2006
Location: Брест/Минск
Posts: 6,451
Thanks: 2,342
Thanked 1,480 Times in 963 Posts
BYTEMAN has a brilliant futureBYTEMAN has a brilliant futureBYTEMAN has a brilliant futureBYTEMAN has a brilliant futureBYTEMAN has a brilliant futureBYTEMAN has a brilliant futureBYTEMAN has a brilliant futureBYTEMAN has a brilliant futureBYTEMAN has a brilliant futureBYTEMAN has a brilliant futureBYTEMAN has a brilliant future
Default

Vslav, а почему не используете StdPeriph_Driver?
__________________
С уважением, Александр.
Scorpion ZS-256 Turbo+
SID-Blaster/ZX
Выставка ретро-компьютеров в Минске!
Здесь ничего нет => http://byteman.by

Last edited by BYTEMAN; 6th August 2013 at 00:57.
BYTEMAN is offline   Reply With Quote
Old 6th August 2013, 01:31   #10
Activist
 
Vslav's Avatar
 
Join Date: 31st March 2013
Location: г. Киев
Posts: 348
Thanks: 86
Thanked 612 Times in 184 Posts
Vslav is a name known to allVslav is a name known to allVslav is a name known to allVslav is a name known to allVslav is a name known to allVslav is a name known to all
Default

Quote:
Originally Posted by BYTEMAN View Post
Vslav, а почему не используете StdPeriph_Driver?
Не использую так как:
- было быстро найдено несколько глюков в библиотеке от ST, то есть качество банально не удовлетворило - все равно надо вникать и делать ревью кода. А мусора там...
- пришел на STM32 с другого Cortex (LPC17 и SAM3) и уже было очень много своих наработок (проект РЕ-мулятора на самом деле сначала был "по-быстрому" сделан на моей коммерческой модульной системе, а потом уже низведен до опубликованного состояния. Там много чего было - HAL, RTOS, стеки, все следы от этого были вычищены - да и не надо это все в РЕ-муляторе)
- не факт что буду очень долго на STM32 оставаться - нет смысла привыкать к проприетарной библиотеке
- не нравится что библиотека очень серьезно замыливает сущности, взамен давая только относительно простую миграцию на другие STM, в полезности чего у меня есть сомнения. Банальный принцип Окама - не умножай сущности сверх необходимого
__________________
Орион-128 ('90), Ленинград-2 ('90), Поиск-1/2, БК-0010/11М, МС-0511, MC-1502, Искра-1030
ДВК/Э60: МС1201.01/02/.03/MX/MY/НГМД2/КЦГД/КСМ/КГД/КЖД/КТлК6/М2/М6
Vslav is offline   Reply With Quote
The Following User Says Thank You to Vslav For This Useful Post:
BYTEMAN (6th August 2013)
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +4. The time now is 02:29.


Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Map Яндекс.Метрика