>Следует ли это понимать как программирование ПЛИС?
Зачем она? Blackfin потянет все сам.
По поводу ЗАО - это не наш случай, ПБОЮЛ - наш случай
И раз на этот раз это Ваша идея - им и предстоит быть Вам! А детали можно обсудить при личной встрече.
>Следует ли это понимать как программирование ПЛИС?
Зачем она? Blackfin потянет все сам.
По поводу ЗАО - это не наш случай, ПБОЮЛ - наш случай
И раз на этот раз это Ваша идея - им и предстоит быть Вам! А детали можно обсудить при личной встрече.
Последний раз редактировалось andrews; 29.04.2007 в 21:37.
Выкладываю описание архитектуры - черновик.
andrew, KingOfEvil - что можете сказать по возможным типам микросхем?
Конкретнее можно, что подразумевается под духом?
Какой по твоему был дух 48-к tape спектрума, в 94-м году для 15 летнего пацана, которому ничего кроме игрушек было не интересно, а финансово был доступен только спектрум?
На 128k + дисковод + AY был такой же дух?
А те кто видел демки и знал что такое демосцена для них дух спектрума был такой же как у того пацана?
А для тех кто сам писал игры и демки, кто разрабатывал железяки для спека?
А для тех кто спек впервые увидел в 2000 году?
А для тех кто его вовсе не видел?
Меня тоже.
Поэтому:
1) любой код с любого компьютера линии ZX Spectrum - cllassic выполняется по умолчанию;
2) расширения экрана QVGA 320x240 до 64K цветов;
3) шина расширения одна из стандартных спектрумовских;
4) звук - 2канала 12bit
5) работа с usb otg и SD-card через расширитель;
Полностью открытая архитектура.
Область применения: домашнее программирование (игры, мультимедиа, недорогие лаборатории по обработке сигналов, моделирование радиолюбительское), компьютерное творчество.
Вся мощь современного и недорогого проца должна быть убита на две вещи:
1) максимальное упрощение и удешевление схемы;
2) возможность обработки видео и звука мобильника или недорогого смартфона.
Себестоимость изготовления платы базового комплекта в партиях от 500 штук не должна превышать $50-60.
Добавлю - отладку ( запуск ) аппаратной части. Выявление глюков-соместимости-несовместимости и пр и пр и пр....
ЗЫ. Вчера спаял очередной SC 256 T+.... запарился запускать.... Оказался заводской брак печати ( что удивительно для такого качества плат, по информации из скорпиона их чуть ли не в швеции делали,но в что не питерские, и не российские точно - эстонские ) - непротрав. Пока нашел его... Но вычислил таки.. правда пару корпусов выкусил,пока нашел ,но это мелочи...
Scorpion 256 TurboPlus GMX2048 edition (с новой ревизией спец-чипов - Турбина и ПрофПЗУ на GAL22v10D, ФАПЧ дисковода - GAL16v8D ),CARO ZX_MC/SMUC1.3/GeneralSound 512 Kb/FDD3.5+5.25... Pentagon1024Sl v2/Z-controller+SD 2Gb/GS-512/TurboSound/FDD3.5+5.25...Speccy2007 48 +SD 2Gb ( 128+Ay в процессе ) ... Все через PAL-Coder
andrews
Спек - наиболее распространённая у нас платформа. Поэтому BIOS будет содержать всё необходимое для запуска программ Спека, загрузчик и собственно BIOS - во вторую очередь.1) любой код с любого компьютера линии ZX Spectrum - cllassic выполняется по умолчанию;
Как описано в "архитектуре", разрешения и частоты перенастраиваются (по принципу VGA). В своё время я за неимением монитора подключал писюк к TV, перепрограммировав видеоконтроллер (правда, с палитрами в Doom возникали траблы). Из обязательных - в том числе 192х256 с бордюром.2) расширения экрана QVGA 320x240 до 64K цветов;
Согласен, но реализовывать её предётся через порты ввода-вывода, т.к. частота шин современных процессоров под сотню МГц и разрядность 32. Думаю, что достаточно прошить в BIOS поддержку шины и установить стандарт её подключения к портам ввода-вывода. Это очень удобно - иметь такую шину, т.к. любое устройство расширения собирается "на коленке" (в то время как со 100МГц шиной могут быть траблы).3) шина расширения одна из стандартных спектрумовских;
Как описано в "архитектуре", звук имеет интерфейс AC-link (AC97) - что позволяет применить любую микросхему кодека, включая факс-модем модем. Хорошо подойдёт используемая повсеместно Realtech ALC650 (6ch, SPDIF, встроенный УНЧ, сигнал/шум 90Дб) или чуть похуже VIA VT1616.4) звук - 2канала 12bit
Не совсем понял, что значит "usb otg". Думаю, что проц следует выбирать уже с встроенным USB контроллером и интерфейсом SD card.5) работа с usb otg и SD-card через расширитель
Добавлено через 40 минут
andrews
На это я и рассчитываю, включая перечисленные тобой характеристики (см. 7 пунктов в начале темы).1) максимальное упрощение и удешевление схемы;
Не понял, о чём речь - ? Если речь идёт о максимальных возможностях платформы - то это Linux, WindowsME, и любые приложения для этих ОС. Надо будет только дрова написать под HAL BIOS, и можно будет запускаться на любом клоне платформы (то есть с любым 32-разрядным процессором, даже не обязательно ARM).2) возможность обработки видео и звука мобильника или недорогого смартфона.
Посмотрел процессоры, пока приглянулись CirrusLogic EP9302 (от 450 до 800 рублей) и Atmel AT91RM9200 (от 500 до 600 рублей).
Оба имеют USB, ядро ARM9 200MIPS, по 16Кб кеша на данные и команды, thumb поддержку, интерфейс LAN, поддержку Jazelle (что немаловажно для эмулятора Спека).
EP9302 имеет ещё и DMA 12 channels, встроенное аудио (с выходом на чип AC97). Но EP9302 имеет всего 16Кб ROM и 16-ти разрядный интерфейс к внешней памяти... в отличие от 128Кб и 32 бит AT91RM9200. Кроме того, на форумах по ARM ругают 100МГц шину EP9302 как неустойчивую (хотя всегда можно задать любую скорость - от 33 МГц). Плюс AT91RM9200 поддерживает как NOR, так и NAND flash (EP9302 только NAND), и имеет интерфейсы для различных типов flash карт, а также более 100 выводов можно использовать произвольно, имеется встроенный RTC (в EP9302, как ни странно, отсутствует).
Наша задача получить лёгкую в сборке и настройке модель из доступных компонент. Кроме того, если мы будем рассчитывать на встроенный AC97 интерфейс или на DMA, то в каком-то процессоре может его не оказаться. Думаю, что прототип будет построен на AT91RM9200 - встроенного ROM 128Kb должно хватить на 64К команд (используя thumb).
Кроме того, удалось раздобыть в Инете ссылочку на уже готовый компьютер с VGA на ПЛИС. Не совсем то, что надо - автор в качестве накопителя использует HDD, ОСь у него Linux, нет стандартизированной шины расширения, используется сопроцессор для работы со звуком-клавиатурой, непонятно, насколько полно реализован VGA, но опыт полезный - можно взять за основу - http://community.livejournal.com/ru_opencomputer
(хотя мне не удалось скачать принципиальную схему; возможно, свяжусь с автором)
Ещё раз отмечу, что выбор процессора важен только в момент сборки - идея сабжа подразумевает возможность использования любого 32-битного процесссора - достигнуто это будет путём вынесения всех обращений к аппаратуре в BIOS и написанием кода BIOS на С/C++. Т.е. в BIOS будет зашит HAL, что позволит подменять аппаратуру. Использование C/C++ позволит не привязываться к типу процессора и перекомпилить для любого используемого.
Ведь писюк ориентирован на использование драйверов в ОСях, нельзя одну и ту же ОСь запустить на различных конфигурациях без замены дров - зависнет. Идея сабжа - стара как мир - использование ОСью только BIOS интерфейса. Ключевой (и самый сложный) момент разработки - как раз этот интерфейс. В первых писюках было сделано так же, но интерфейс оказался медленным и нерасширяемым, многие предпочли обращаться к аппаратуре напрямую - как результат, потребовались дрова. Кроме того, писюк не имел возможности "апдейта" своего ROM, и интерфейс быстро устаревал - опять же, потребовались дрова. Ключевая идея сабжа - отменить потребность в дровах. При этом (в случае одинаковых CPU ядер) будет возможность запускать не только программы под одинаковыми ОСями, но и сами ОСи (либо программы напрямую использующие HAL BIOS), непосредсственно с флешки. Главное, чтобы они использовали только HAL - неважно будет, какая архитектура реально лежит подо всем этим.
Эмулятор ZX будет построен, вероятно, с использованием технологии Jazelle ядра ARM9 - код Z80 будет восприниматься как байт-код. Это позволит достичь быстродействия, недостижимого другими способами. При этом Jazelle не обязательна - доступ также будет через HAL, и технология сможет эмулироваться на других ядрах.
Жду замечаний по типу процессора ;-)
Добавлено через 47 минут
Mikka_A
Ага, отладка и выявление глюков подразумевается под "пайкой" ;-) Как тебе выбранный процессор? Что можешь сказать - сможешь такую микросхему напаять? ;-) 208pin PQFP корпус (шаг выводов вроде 0.5 мм).
Последний раз редактировалось PegasResearch; 30.04.2007 в 14:51. Причина: Добавлено сообщение
Предлагаемая мной к решению задача не глобальна. Представим себе любой спектрум, как процессор z80 и "все остальное". На сегодняшний день самый ценный ресурс -время. Ни один монтажник не станет включать свой паяльник на 8 часов, если за это время он не в состоянии заработать 1000 и более рублей. Да и радиолюбитель не уважает схемы, состоящие из более чем полдюжины компонентов. Поэтому люди берут либо "стартовые наборы", либо плату с минимумом деталей. То, что в конце 80-х казалось не слишком значительными усилиями для обладания домашним компьютером, теперь в конце 00-х...вызывает чесание репы с неопределенным артиклем "млять". Но три 100-пиновые микросхемы вызовут не меньше негативных эмоций, чем десять 14-пиновых.
Поэтому, чем больше выводов окажутся не задействованными, или уведенными в шину, тем более популярным окажется комп у самодельщиков. Другой важный фактор - периферия. Самый популярный порт для сопряжения хоста и поделия это гальванически развязанный RS-232. На самых дешевых стартовых платах всегда стараются выбрать именно этот вариант как для контроля работоспособности, так и заливки софта. Еще один плюс простейшая клавиатура и встроенный ЖКИ дисплей. При низком энергопотреблении это вообще главное требование потребителя. Стандартную клавиатуру и мышь тоже необходимо иметь возможность подключить, равно как и стандартный монитор, но без жки монитора теперь не обходится ни одно домашнее устройство. USB OTG это переработанный USB 2.0 , который позволяет обмениваться между собой device - device без участия хоста. А хост usb более сложен в реализации. Почему не встроенный? Хотя бы потому, что BF52x,54x пока еще не появились в продаже. Что можно делать уже сейчас? Разрабатывать встроенное ПО, включая BASIC128 и эмуляцию выполнения кода z80. Избежать гемора по этому поводу можно, прикрутив z80 к портам ввода/вывода и придумав механизм разграничения кода. Если в потоке команд летят инструкции z80, их надо либо "интерпретировать на лету" c масштабированием во времени, либо перенаправлять на z80 в темпе нативной асинхронной памяти. Поток команд BF, нужно давать выполнять без интерпретации. Еще могут быть коды различных виртуальных машин. В базовом комплекте достаточно иметь небольшой флэш (4-16 мбайт) и небольшую асинхронную память(1-4 мбайт). Поскольку экраны компактны вся система памяти ограниченного объема эквивалентна 8-64 мбайтам памяти. Поэтому и звук, и видео пропускаемые через программно реализованные кодеки не будут перегружать шины. А если исходить из привычных стандартов видео, звука и экранов, то сделать дешево и компактно не удасться!
Почему BASIC придется перерабатывать, дополняя стандартный, надеюсь очевидно. У нас тут двухпроцессорнный монстрик типа "бабочка на слоне". Чтобы пользователь имел возможность выполнять код на Blackfine васик должен быть расширен. Быстродействие системы в принципе позволит не знать ассемблера блэкфина, но если будут возможны вставки кода это будет плюсом. Операционка должна остаться TR-DOS, а у блэкфина элементы операционки должны уйти в бейсик и в виртуальные машины.
Да, забыл сказать, что BF532 умеет загружаться при включении питания 3-мя различными способами: из SPI-Flash в том числе. То есть при изготовлении мы прошиваем "начальный загрузчик, тест при включении и сервис-монитор" именно там. Еще у него несколько рабочих режимов, включая пользовательский и отладочный( трассировка кода и пошаговый режим здесь),он обрабатывает не просто прерывания, но исключения и т.д.
Последний раз редактировалось andrews; 30.04.2007 в 15:34.
Scorpion 256 TurboPlus GMX2048 edition (с новой ревизией спец-чипов - Турбина и ПрофПЗУ на GAL22v10D, ФАПЧ дисковода - GAL16v8D ),CARO ZX_MC/SMUC1.3/GeneralSound 512 Kb/FDD3.5+5.25... Pentagon1024Sl v2/Z-controller+SD 2Gb/GS-512/TurboSound/FDD3.5+5.25...Speccy2007 48 +SD 2Gb ( 128+Ay в процессе ) ... Все через PAL-Coder
Blackfin имеет для контроля, качества пайки в том числе, JTAG...технология тестирования Blackfin мне доступна. На кроватку ставить не стоит.
Последний раз редактировалось andrews; 30.04.2007 в 19:10.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)