nedoPC.org

Community of electronics hobbyists established in 2002

...
Atom Feed | View unanswered posts | View active topics It is currently 19 Oct 2018 17:31



Reply to topic  [ 79 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6  Next
Компьютер на i8051 
Author Message
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Andy6zx wrote:
Изначально я спрашивал про компьютер на i8051 современный спектруму или специалисту, соответственно и решения хотелось бы тог же времени :) А Меги 8 или 16 тогда ещё небыло. :wink:

Во времена, когда я еще не сделал "Специалист" (год 1989 наверное), мне достали 1816ВЕ35 (aka i8035),
тогда на них модно было делать АОН с активными фильтрами на ОУ.
Ну я прочитал в справочнике Шахнова про 1816ВЕ35 - и тоже задался вопросом как и у Вас - "А можно на нем комп сделать?" :o
Спросил у знающих людей - они мне ответили, что комп-то сделать можно... только вот софт к этому компу ты сам писать будешь... :D

_________________
iLavr


26 Oct 2015 13:30
Profile
God

Joined: 02 Jan 2006 03:28
Posts: 1354
Location: Abakan
Reply with quote
Andy6zx wrote:
Правда не нашёл реализации подключения SD-карт к 51-м контроллерам. Видимо из-за ничтожно малого внутреннего ОЗУ, но если уже подключено внешнее? Нигде не попадалось?
Я делал на AT89S8252, но там аппаратный SPI, хотя можно без него, но более тормознуто. Память была внешняя, из которой 1,5Кб шло на буфера записи FAT32.
Не поддерживал FAT12/16, longnames и SDHC - небыло необходимости, но реализуемо.
Согласователь уровней - CD4050.


26 Oct 2015 19:25
Profile
Doomed

Joined: 18 Nov 2013 03:38
Posts: 560
Location: Москва
Reply with quote
На i8048 (msc-48) была приставка https://en.wikipedia.org/wiki/Magnavox_Odyssey%C2%B2. Но больше она похожа все-таки на комп, типа ZX-Spectrum, ибо имеет клаву по умолчанию. Я про нее узнал, когда гуглил хоть какие-нибудь сорцы 8035/8048 эмулятора, для того, что бы эмулятор платы от микроволновки сделать. Вот и наткнулся на опенсорсный эмулятор этой Одиссей со встроенным 8048 ядром. Потом было желание в Протеусе модельку i8048 на его основе сделать, но как всегда не асилил.


27 Oct 2015 11:34
Profile
Novelist

Joined: 22 Apr 2015 07:56
Posts: 31
Location: Киров
Reply with quote
jdigreze wrote:
Я делал на AT89S8252, но там аппаратный SPI, хотя можно без него, но более тормознуто. Память была внешняя, из которой 1,5Кб шло на буфера записи FAT32.
Не поддерживал FAT12/16, longnames и SDHC - небыло необходимости, но реализуемо.
Согласователь уровней - CD4050.

А не получиться использовать UART в режиме 0?


28 Oct 2015 09:24
Profile
Novelist

Joined: 22 Apr 2015 07:56
Posts: 31
Location: Киров
Reply with quote
Tronix wrote:
На i8048 (msc-48) была приставка https://en.wikipedia.org/wiki/Magnavox_Odyssey%C2%B2. Но больше она похожа все-таки на комп, типа ZX-Spectrum, ибо имеет клаву по умолчанию. Я про нее узнал, когда гуглил хоть какие-нибудь сорцы 8035/8048 эмулятора, для того, что бы эмулятор платы от микроволновки сделать. Вот и наткнулся на опенсорсный эмулятор этой Одиссей со встроенным 8048 ядром. Потом было желание в Протеусе модельку i8048 на его основе сделать, но как всегда не асилил.

О! интересно.
Хотя графическая микросхема i8245. Я на неё что то ничего не могу найти :(


28 Oct 2015 10:16
Profile
Doomed

Joined: 18 Nov 2013 03:38
Posts: 560
Location: Москва
Reply with quote
Andy6zx wrote:
О! интересно.
Хотя графическая микросхема i8245. Я на неё что то ничего не могу найти :(


Да, "эксклюзив" именно для этой приставки. А так то можно любой граф чип прицепить сбоку - хоть от денди, хоть даже какой-нибудь VGA восьмибитный trident 9000 и компания. Весь вопрос в драйверах, ну или софте. А так то какая разница что на шину адреса/данных вешать? Хош видео чип, хош музыкальный синтезатор или ПЗУ... Схема просто лепится из кубиков, не просто софт пишется.....


28 Oct 2015 10:58
Profile
God

Joined: 02 Jan 2006 03:28
Posts: 1354
Location: Abakan
Reply with quote
Andy6zx wrote:
jdigreze wrote:
Я делал на AT89S8252, но там аппаратный SPI, хотя можно без него, но более тормознуто. Память была внешняя, из которой 1,5Кб шло на буфера записи FAT32.
Не поддерживал FAT12/16, longnames и SDHC - небыло необходимости, но реализуемо.
Согласователь уровней - CD4050.

А не получиться использовать UART в режиме 0?
SCK, /SS городить внешней схемой придётся, причём с маскированием - куча дополнительных корпусов при сомнительной выгоде.
Имхо, если заморачиваться SPI (SD/MMC) и неиспользовать дополнительный м/к для периферии, то есть два варианта:
а) делать программно, на имеющихся ресурсах 8051;
б) ставить аналог 8051, имеющий на борту аппаратный SPI.
А UART лучше оставить как COM-порт.


28 Oct 2015 22:32
Profile
Writer

Joined: 12 Aug 2011 13:04
Posts: 21
Location: 31.163.103.75
Reply with quote
Запустил комплект 80C32 с бейсиком, решил поискать гуру, сумевших добавить свои команды и развернуть функционал, а тут тоже как-то грустно все...


25 Jan 2016 04:54
Profile
Junior

Joined: 22 Nov 2016 11:55
Posts: 2
Reply with quote
Доброго времени суток. Немного программирую на ассемблере под MCS-51, AVR и PIC (уровень - немного выше, чем помигать светодиодиком). Увлекся идеей соорудить недокомп на базе 8051. Потому что по моим прикидкам, на нем все должно получится достаточно компактно (в плане количества корпусов микросхем), и в то же время благодаря древности архитектуры и наличию внешней шины данных/адреса достаточно просто подключать периферию эпохи КР580 (которая мне весьма понравилась с недавних пор, как я ее попробовал). Если никто не против, хотел бы делиться своими начинаниями в этой ветке. Заодно может и подскажет кто-то что-то дельное, если я спрошу. Вкратце, что планирую получить на финише:
1. Есть написана мной программа (почитал выше, что софт я буду писать под него исключительно сам, меня это вполне устраивает), которая находится на сменном носителе (предположительно микросхема памяти EEPROM типа АТ24С32 с шиной I2C). Микросхема закреплена на небольшой платке-картридже, чтобы не портились ножки при многократной установке-снятии. Для краткости назовем ее "носитель".
2. Во внутренней памяти микроконтроллера записана базовая программа-монитор, основная задача которой - уметь копировать и запускать на выполнение программы с носителя. Это происходит следующим образом: в базовый блок вставляется носитель, нажимается кнопка и программа с носителя (посредством программы-монитора) копируется во внешнюю ОЗУ (пока в наличии есть КР537РУ10 обьемом 2 КБ, на ней и остановимся). После завершения копирования память данных (ОЗУ, ПД) "превращается" в память программ (ПП) - спец. схема на К555ТМ2 совершает это переключение, микроконтроллер переходит на внешнюю ПП (команда jmp за пределы 64КБ автоматически обратится ко внешней ПП) и монитор передает управление ей. Носитель можно извлекать, он более не нужен. Исполняемая программа имеет возможность в любой момент передать управление главной программе (вернуться в диапазон 64КБ внутренней ПП), и таким образом вставив новый носитель иметь возможность запустить на выполнение новую программу.

Как то так. Эта жизнеспособная идея, или бред ?


22 Nov 2016 12:35
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17014
Location: Colorado
Reply with quote
с 22 ноября сообщение ожидало модерации - извиняюсь, спамеры завалили мусором - разгребаю...

_________________
:eugeek: https://twitter.com/Shaos1973


23 Jan 2017 00:36
Profile WWW
Doomed

Joined: 08 Apr 2013 05:04
Posts: 441
Location: 213.247.249.139
Reply with quote
MCS51 wrote:
микроконтроллер переходит на внешнюю ПП (команда jmp за пределы 64КБ автоматически обратится ко внешней ПП)

Вроде как там всего памяти программ 64 килобайта, включая внутреннюю. А /EA дёргать во время работы нельзя тоже вроде как, только под ресетом. Так что или внутренняя всегда отъедает своё, а вовне лезет только после жампа за пределы внутренней, или только извне полностью работает.
Ну и ещё для РУ придётся совмещать movc- и movx-памяти, чтоб писать можно было.


23 Jan 2017 02:08
Profile
God

Joined: 02 Jan 2006 03:28
Posts: 1354
Location: Abakan
Reply with quote
Ну, или как вариант - зашить внешнее ППЗУ и управлять сигналами /CS, к примеру, по линии A15, сигнал чтения из памяти как логическое ИЛИ из /RD и /PSEN.


23 Jan 2017 06:17
Profile
Writer

Joined: 12 Aug 2011 13:04
Posts: 21
Location: 31.163.103.75
Reply with quote
Вот по тому же пути иду. Только, в последнее время, медленно...
Комплект 8051 получился и очень понравился. Сначала попользовался MCS-52 BASIC, потом нашел PAULMON-2. Он оказался для меня вообще идеальной стартовой площадкой, допилил, изменил его и... Стало мало. Неудобно мне через терминал работать. Какой это компьютер? Серверный линукс - это понятно, там терминал нужен и даже необходим. Мне же хочется комп. Нашел LCD от сканера Xerox - 256*64 пикселя. Уже хорошо. Есть графический и текстовый режим. Подключил и офигел - текст выводится криво, как будто пара драйверов строки не работают. В графическом режиме выводить текст долго и сложновато. Есть вариант подключить внешнее ПЗУ знакогенератора, но это на дисплее делать паутину МГТФ. Не пойдет.
Далее задумался о хранении данных. Хочется диск, файлы, имена. Ну Вы понимаете... Опять же упираемся в 64К памяти и скорость проца. Однажды вечером в голову залезла мысль об использовании внешнего МК, который для проца будет как часть пространства памяти. Вот в эту сторону и двигаюсь. Нашел мелкую клавиатуру от нетбука, вызвонил ее... Дисплеем тоже будет управлять МК. Ему скорости хватит рисовать текст даже в графическом режиме. Внешний RTC позволит использовать реальное время в системе. Опыт использования FatFS есть, а значит имеем возможность встроить и ее. Ну и, раз комп получается таким маленьким, управление питанием тоже отдаем в руки "сопроцессору".
В качестве "сопроцессора" выбрал STM8S207, как самый большой из имеющихся 5 Вольтовых - ног и памяти предостаточно. Сейчас развел плату почти полностью. Осталось добавить пару преобразователей питания.
Можете ругать)))


Attachments:
File comment: Основная плата
abb6ac6s-480.jpg
abb6ac6s-480.jpg [ 85.42 KiB | Viewed 2528 times ]
File comment: Плата расширения 16GPO + 16GPI + LCD
WP_20161117_14_30_21_Pro (2).jpg
WP_20161117_14_30_21_Pro (2).jpg [ 1.85 MiB | Viewed 2528 times ]
24 Jan 2017 03:09
Profile
Writer

Joined: 12 Aug 2011 13:04
Posts: 21
Location: 31.163.103.75
Reply with quote
Кстати, забыл упомянуть про адреса:
0-32К - ПЗУ программ
0-32К - ОЗУ данных
32К - ~63К - ОЗУ программ и данных (RD OR PSEN) с BACKUP батареей.
Верхушка памяти разбита GAL-кой на 4 области по 256 байт для внешних устройств. Купил программаторы CPLD Xilinx и Altera. Камни тоже есть. Можно с адресами сделать что-то более сложное, даже используя всего лишь XC9536XL.
Параллельно пробовал запустить 8"LCD 800*480 через EPM240 - не получилось пока( Но такие объемы памяти графики точно не для 8051...
Есть i2c память, но от ее использования откажусь - диски более вместительны.

Программы пишу на ассемблере в MIDE-51 со стартовым адресом 0x8000 и после загрузки с него же и запускаю. PAULMON-2 очень удобная штука в этом плане. Есть пример заголовков подпрограмм, можно использовать и его. При старте монитор сканирует память на наличие этих заголовков и дает возможность запустить программу.

Еще пытался задрать частоту 8051 до максимальной по ДШ, но не захотел работать UART. Его я думаю тоже перекинуть во внешний МК. Таким образом удастся поднять скорость до максимальной. Правда, возможно появятся проблемы с пересчетом делителей таймеров. Но это мне пока не нужно.


24 Jan 2017 03:27
Profile
Doomed

Joined: 08 Apr 2013 05:04
Posts: 441
Location: 213.247.249.139
Reply with quote
Quote:
Верхушка памяти разбита GAL-кой на 4 области по 256 байт для внешних устройств

Туда только movx dptr или через movx @r0/r1 можно?
Quote:
8"LCD 800*480 через EPM240

А какой там интерфейс?


24 Jan 2017 08:29
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 79 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6  Next

Who is online

Users browsing this forum: No registered users and 3 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.