Speccy - наш выбор!

Speccy - наш выбор! (http://zx-pk.ru/index.php)
-   Разное (http://zx-pk.ru/forumdisplay.php?f=90)
-   -   Компьютер "Агат-7": Реализация на ПЛИС (DE1) (http://zx-pk.ru/showthread.php?t=16282)

GARNIZON 19th February 2012 15:00

Quote:

Originally Posted by Santechnik (Post 464186)
Попробовал поподбирать частоту и сдвиг IRQ. Добился много разных эффектов, но идеальной работы не получается. Удавалось избавиться от мерцания, но всегда белая полоса в середине экрана или без нее, но верх экрана черный (в программе L1). Чтобы мне тупо дальше не подбирать, не подскажете пожалуйста на каких по счету видимых линиях происходит "щелчок" IRQ? Сэкономим время и приступим к дисководу 840к :v2_dizzy_coder:

Лучше бы всё таки понять - откуда у тебя эта белая полоса берётся.
Не должно её быть. Просто из логики действий аппаратуры.

Линий конкретных не знаю, не ковырялся. Но можете спросить у Олега Одинцова - он что-то такое пытался узнать, и вроде по семёрке у него даже это получилось. (про девятку он там шибко ругался, что в разных режимах всё по разному и соотношение не точно 1:10).


Quote:

Originally Posted by Santechnik (Post 464186)
И заодно вопрос по дисководу - в описаниях сказано, что он сигнал синхронизации выдает при прохождении некой точки на дорожке. Как этот сигнал записан в формате AIM?

В строгом соответствии с доками на AIM (цитирую уже который раз):

PHP Code:

Байты слов хранятся в обратном порядкеСлова анализируются так:
00xx обычные данныечерез регистры IO передается младшая часть
01xx 
синхросбой - !!вот он и естькоторый тебе нужен!!
02xx конец дорожки (заворот на начало) [читаетсяно не записывается]
03xx индекс начало (-> 0)
13xx индекс конец (-> 1


Quote:

Originally Posted by Santechnik (Post 464186)
Где лучше всего описана работа этого дисковода и контроллера?

Нигде. Как только опишешь, так мы тебе сразу диплом нарисуем.
Все исходные данные есть - схемы, прошивки. Но я пока не придумал, как их сопоставить.


Quote:

Originally Posted by Santechnik (Post 464186)
Кстати, подумываю переделать "дисковод" с ATMega-64 на Cortex-M3 (STM32L). Причина - больше ног, выше скорость (32Мгц против 20Мгц не считая большей скорости исполнения инструкций), вдвое больше памяти (128к и 16к), куча таймеров и, самое главное, DMA. Боюсь, что не потянет ATMega 840к с нужной скоростью. По деньгам на пару долларов чип дороже, но так как он 3.3В, то будет экономия 3$ на микросхемах преобразования 5В <-> 3.3В. Выйдет как минимум не дороже.

Советовать не буду, но за атмегу оправдаюсь: всё таки 3.3 вольта у L-версии есть, хоть и на частоте 8 МГц, но вполне официальных. Да и обычную версию, без L, на напряжении 3.2 вольта я тоже юзал и она нормально работала.

===

Если хочешь ответы сразу - пиши на почту (vegaio на yandex). Я на форум крайне редко захожу.

---------- Post added at 13:00 ---------- Previous post was at 12:47 ----------

PS и кроме проги L1 были и другие проги с совмещением. В РАПИРЕ есть встроенная поддержка этих режимов: PЖM("*O,H2K"); В игрушках есть GEOGRAFIQ.

Santechnik 13th March 2012 09:46

1 Attachment(s)
Очередной апдейт. Разобрался наконец с STM32. Очень интересный чип, но с наскоку не возьмешь. Приобрел отладочную плату с ним за 14$ причем на этой плате уже есть програматор, который можно использовать и для прошивки других чипов из этой серии. На данный момент написал драйвер работы с LCD дисплеем и подключил FatFS Чена на SD карте. На приложенной фотке работа всего этого - на экране содержимое SD карты. Осталось добавить DMA поддержку для работы с картой и энкодер для удобной работы с меню. После этого можно приступать к собственно дисководу.:v2_cool:
Кстати, красная плата внизу экрана - логический анализатор (см. подробности здесь). Имеет 32 канала (16 из них 5V). Обошлась мне вместе с доставкой и полным комплектом проводов в 75$. Незаменимейшая штука для отладки! Сколько времени я съэкономил с ней когда делал LCD драйвер или настраивал работу с SD картой! Жалею, что раньше не купил. Очень рекомендую.:v2_thumb:
Также за это время разобрался с работой дисковода 840к. Вроде не вижу проблем с реализацией на данном этапе.
Дополнительно обдумал концепцию компьютера. Очень не хочется ставить ПЛИС в BGA корпусе. :v2_conf2: По моим прикидкам все же удастся сделать полный фарш и на 208-ногом корпусе. Это добавит количество корпусов, но ИМХО это меньшее зло чем BGA. Идея состоит в использовании мультиплексоров, на шинах и выходах/входах. Так, например, через них можно развести VGA и SVIDEO выходы, PS2 и оригинальную клавы, шины процессора на внешний разъем и т.д. Кроме того, планирую использовать I2C расширитель порта, чтобы освободить ноги ПЛИС от различных индикаторов и переключателей режимов, которые не требуют быстрой реакции. Заодно хочу вернуться к идее одновременного использования 2-х дисководов. Дополнительных ног это не потребует, т.к. они тоже будут подключены через мультиплексор. Каждый дисковод будет иметь собственный выключатель. Проект подорожает примерно на 20$ (второй экран, контроллер и SD карта), но зато позволит одновременно работать с двумя дисководами или удобно переключаться между ними.
Сейчас также рисую схему и оптимизирую ноги. Надеюсь, что получится.

Santechnik 7th April 2012 08:13

Очередной апдейт. :v2_dizzy_rastoman: Заставил работать DMA с SD картой и энкодер. Скорость чтения с DMA не тестировал, но должно быть очень неплохо. Энкодер оказался гораздо удобнее кнопок. Переделаю под него и 140К дисковод и включу в окончательную версию.
Также сделал блог, куда я перенес инфу по моему предыдущему проекту ("ЮТ-88") и куда начал выкладывать инфу по этому. Кстати, я всю инфу там перевел на английский и уже наблюдается некоторый интерес к английской версии сайта. Видимо так и буду продолжать вести этот блог на двух языках. Хочу давать там больше информации, чем здесь, включая код и схемы, а также давать более подробные описания. Посмотрим, как получится. Адрес: electronicsfun.net/RU/ . Заходите, подписывайтесь на RSS обновления, оставляйте комментарии.
Во время написания программы для STM32L возник такой вопрос. Имеется такая конструкция:

Code:

static char                Cur_DIR[100];                                // Current folder
static char            Files[100][13];                                // File list

FRESULT scan_files (char *path, char *pname, char *pdir)
{
...........
}

  char FDir[100];
  f_err_code = scan_files(*Cur_DIR, *Files, *FDir);        // Line #263

Она взята из моего дисковода 140К для ATMega644 (написан на AVR Studio). Там она прекрасно работает. Здесь же IAR выдает такие ошибки на последнюю строку:

Code:

Error[Pe167]: argument of type "char" is incompatible with parameter of type "char *" C:\STM32_projects\iar_test4\main.c 263
Error[Pe167]: argument of type "char" is incompatible with parameter of type "char *" C:\STM32_projects\iar_test4\main.c 263

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

b2m 7th April 2012 13:49

Quote:

Originally Posted by Santechnik (Post 490745)
В чем может быть проблема? Вроде как по стандарту я могу присваивать указателю массив.

Всё правильно пишет, звёздочка нужна только у второго параметра.

Santechnik 7th April 2012 16:06

Класс! Спасибо! :v2_dizzy_vodka2: Так теперь работает! А почему было не правильно? И почему в "AVR Studio" это работает?

b2m 7th April 2012 18:41

Quote:

Originally Posted by Santechnik (Post 490822)
А почему было не правильно? И почему в "AVR Studio" это работает?

Всё зависит от того, как компилятор трактует массив массивов. Но в стандарте, по-моему, массив массивов трактуется как указатель на указатель, хотя первый уровень массива просто вычисляет смещение, а не производит косвенную адресацию.

GARNIZON 9th April 2012 19:37

http://www.youtube.com/results?searc...t-7&search=tag

Santechnik 10th April 2012 12:52

Интересно. :v2_thumb: Спасибо, GARNIZON! Я честно говоря разочаровался в софт-процессорах для реплик. Они должны быть очень хорошо протестированы прежде чем применять в реализации. Очень много нюансов с недок. командами и их циклами и неизвестно где они вылезут. Но если у него получилось создать такой процессор, то это просто супер. Если выложит в открытый доступ можно будет попробовать.:v2_dizzy_army:
GARNIZON, я тут только что нашел тему, где вы с b2m обсуждаете 840к дисковод. Суперполезно! Но я еще чуть позже вопросы задам :rolleyes:

GARNIZON 11th April 2012 10:43

b2m - красавец, но он почему-то решил прекратить тему про агат(как видно из топика). Скорее всего потому что там много других систем эмулирет. Надеюсь позже врнется к этому. Чел грамотный.

Софт проц , тот что на видео, работает пока без нареканий :)

Santechnik 27th June 2012 14:10

Взял паузу с проектом - сначала был занят с моим финальным экзаменом, а потом решил передохнуть немного от проекта и переключился на несколько маленьких проектов. На прошлой неделе получил результат моего экзамена - сдал. Так что я теперь не просто бухгалтер, а CPA :v2_finge: (читать пожалуйста Си-Пи-Эй, а то по-русски звучит неблагозвучно :biggrin:). Так что можно продолжать проект не отвлекаясь больше на всякую ерунду :v2_dizzy_biggrin2:
В общем переписал я "140К-дисковод" под STM32L. Работает и загружает (но без записи пока). Переделал "по уму" - в предыдущей версии на ATMega выдача битов была по запросу, а не по таймеру. Это приводило к странным эффектам (например, дорожка в РАПИРе могла читаться 10 секунд, а BASIC загружался за несколько секунд). Кроме того, структура затрудняла сделать запись на диск без существенной переделки.
В текущей версии все работает гораздо лучше. Во-первых, благодаря DMA чтение не мешает остальным процессам. Во-вторых, сейчас дисковод ведет себя как настоящий, отдавая данные с интервалом в 32 цикла процессора, что привело к нормальной и ровной скорости загрузки. В-третьих, вычистил и оптимизировал код. В четвертых, код изначально заточен под запись, так что добавить эту функцию будет несложно.
Сейчас начал работу над тем, чтобы ограничить общение с дисководом всего тремя проводами с целью экономии ног ПЛИС. Идея состоит в том, чтобы использовать протокол SPI. Бонусом будет легкая и удобная передача данных в обе стороны без заморочек с переключением направления шины. Мастером будет ПЛИС. Слово будет 16-бит - 8-бит для данных и остальные для передачи состояний (номер дорожки, режим записи и пр.) в обе стороны. При частоте 16МГц это слово будет передаваться за один такт CPU, что более чем достаточно. Каждое переданное слово будет служить еще и тактом для контроллера, так как будет передаваться каждый 32-ой такт CPU. Т.к. мастером будет ПЛИС, то он будет отвечать и за увеличение некоторых интервалов до 36 или 40-ка тактов CPU при записи, когда генерируется синхробит.
В общем идея такая. Посмотрим что получится. Пошел пробовать. :v2_dizzy_cowboy:

Santechnik 7th July 2012 08:49

1 Attachment(s)
Итак, SPI работает. Из-за "лапши" на макетке создается много помех, что приводит к достаточно большому количеству битых байт. Последнюю неделю пробовал разные варианты для их уменьшения. В итоге окончательный вариант таков: частота 8 МГц, слово 8 бит, режим SPI - 0. Так же добавил четвертый провод NSS для синхронизации после ошибки. В режиме чтения в одну сторону передается номер дорожки, а в другую байт. В режиме записи передается байт или Дорожка (в зависимости от старшего бита).
Характер ошибок показывал, что проблема в сигнале SCLK, так как полученные слова были сдвинуты с какого-то места. Для очистки сигналов все они выводятся с минимальной силой и их тип LVCMOS. Это дало лучший результат. Так как у меня пока нет осцилографа, то я не могу посмотреть форму сигнала, поэтому для тестирования я передаю один и тот же байт в каждом цикле и сравниваю что получено. В случае ошибки счетчик увеличивается на индикаторах DE1 и дисковода. Так я могу отслеживать кол-во ошибок за период времени. Пробуя разные варианты я смог оценивать их эффективность.
Для дальнейшего уменьшения кол-ва ошибок я передаю байт трижды и беру то значение, которое встречается дважды. Все эти меры привели к эффективности в 1 ошибку каждые 15 минут (1 ошибка на 25 переданных мегабайт), что неплохо , но все же недостаточно.
Для дальнейшего улучшения, я попробовал разные методы termination сигнала SCLK. Наилучший результат показал метод соединения его с землей через последовательные резистор и конденсатор. После их подбора оптимальным оказались значения 82 ома и 22нФ. На данный момент тест крутится уже больше полутора часов и на счетчиках 0 ошибок.
Теперь, добившись надежной связи, я могу тестировать дисковод. Теперь вместо 12 ног надо всего 4. Для дисковода 840к можно будет применить тот же принцип.
UPD: Попробовал загрузить систему - "Школьница" загрузилась без проблем с переделанного дисковода (см. картинку). Только какие-то проблемы с переключением дорожек. Буду смотреть.

Santechnik 7th July 2012 17:06

Переключение дорожек пофиксено. Все опробованные системы и программы загружаются без проблем (BASIC, Школьница, AltDOS и программы). Теперь можно смело сказать, что новая версия дисковода функционально равна старой на ATMega, но имеет правильные тайминги, требует всего 4 ноги ПЛИС и предусмотрена запись. :v2_thumb:
Завтра начну прикручивать запись на "диск". :v2_dizzy_sleep2:

Santechnik 23rd July 2012 17:21

2 Attachment(s)
Сегодня пришел осциллограф. Первым делом решил посмотреть что там за сигналы по SPI идут, что ошибки проскакивают. Вот такие картинки увидел - первая NSS, вторая SCK.:v2_eek:
Такие наводки происходят по пути от FPGA к разъему на DE1, далее к макетке по 15см ленте, далее проводом длиной еще 15 см по макетке до платы с STM32L и наконец немного по самой плате до микроконтроллера. Мои меры с резистором и конденсатором работают потому, что это уменьшает немного уровни, и помехи не достают до порога срабатывания.
В общем бесперспективно пытаться что-то отладить с таким шумом. По всей видимости надо отложить работу с дисководом пока все не будет размещено на плате. Похоже сейчас лучше сконцентрироваться на завершении составления схемы и доотладке на макетке магнитофонного входа/выхода (благо с осциллографом это будет несложно) с целью изготовления печатки Rev.0. На ней будут выведены неиспользуемые пины на разъем расширения.

svofski 23rd July 2012 18:30

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

Santechnik 24th July 2012 12:29

Эти колебания на NSS совпадают в точности с SCK. Там как раз идет небольшая пауза перед началом SCK. То есть очень похоже на наводку. Кроме того, я пробовал две версии SPI в ПЛИС. Одну я сам написал, а вторую взял готовую, думая что я напортачил. Так вот обе дают одинаковую картинку. Кроме того, емкость линии такова, что SCK даже не успевает опуститься до нуля и подняться до 3.3В. И обрати внимание на ступеньки между некоторыми пиками SCK - похоже как раз на смену уровня на линиях данных, которые наводятся. Так что мне кажется все же наводки и емкости виноваты, хотя версию с глитчами, конечно, не стоит со счетов полностью сбрасывать.

tnt23 24th July 2012 12:34

15 сантиметров как-то уже многовато для проброса SPI. А там еще дополнительные 15 сантиметров тоже добавляют радости.
Покороче никак не сделать?

Santechnik 24th July 2012 13:42

Я теперь тоже знаю, что это много. :v2_rolley
Можно, например, плату сделать и прямо в гнездо DE1 ее воткнуть (как я с процессором сделал). Но я все же склоняюсь полную плату сделать. На ней можно будет все сразу отладить. Подумаю еще. Не хочется сделать плату расширения, потратить время и деньги и окажется, что наводки все равно велики.

svofski 24th July 2012 15:39

15 или 30, но тут в поламплитуды наводка, это как-то очень эффективно для паразитной связи. Попробуй сделай просто два провода рядом, повесь на дальний конец какое-нибудь сопротивление на землю, подай на один провод 1МГц и посмотри на втором, какого размаха у тебя будет наводка? Будет похоже не эту картинку?

Santechnik 25th July 2012 10:50

1 Attachment(s)
svofski, ты как обычно прав :) Я поиграл с разными режимами и вспомнил, что когда я пробовал те сигналы я не включил чтение файла на микроконтроллере. А SPI интерфейс у меня включается уже после того, как нужный файл выбран (о чем я подзабыл). То есть те сигналы шли в ненастроенный порт микроконтроллера и что там с ними происходило я пока не знаю. :v2_rolley Вот какой сигнал SCK при включенном чтении образа и, следовательно, SPI на микроконтроллере. NSS пришел в норму (почти).
Все еще плохо, но не настолько. Понятно, что емкость линии высока и надо сокращать длину. Однако пока не знаю как - действовать наверняка и все же создавать Rev.0 компьютера или сделать плату расширения непосредственно в гнездо DE1. Пока делаю схему и одновременно буду думать. Плюс Rev0 в том, что заодно можно отладить I2C расширитель портов и TV выход без этих проблем с длинными проводами.

svofski 25th July 2012 12:55

Линии ведь однонаправленные, попробуй согласовать их, что будет? С передающей стороны буферный усилитель, 100 ом последовательно, с принимающей 100 ом на землю. Например. Не знаю, что получится =)

Santechnik 25th July 2012 13:09

Буфер посредине пожалуй помог бы. Но у меня нет под рукой к сожалению. Кстати, последовательно там уже на DE1 47 ом резистор стоит перед разъемом. Интересно было наблюдать осциллограмму при разных значениях тока на выводах FPGA. Ожидаемо, что лучший результат показал минимальный ток. При 25mA картинка еще более замылена.

svofski 25th July 2012 14:35

Это пока он нагружен на высокоомный вход.

Santechnik 1st August 2012 13:55

Составление схемы движется довольно не плохо. Видео выход полностью готов. Остальные части в разной степени готовности. Я выложил пока видеовыход у себя в блоге с описанием работы: http://electronicsfun.net/RU/archives/552
Буду выкладывать и остальные части по мере готовности. Буду признателен за свежий взгляд с целью поиска ошибок или ценных идей. :v2_dizzy_vodka2:

Santechnik 20th August 2012 15:30

Вот еще пока дисководы на проверку:

http://electronicsfun.net/RU/archives/567

Я уже разводить начал по кускам. Чуть позже выложу процессор, память и пульты.

Santechnik 3rd October 2012 13:42

С платой я закончил на позапрошлой неделе и отправил в производство. Платы готовы и отправлены мне 21/09. Думаю, что на следующей неделе придут. Заказанные примерно в одно с ними время детали для монтажа уже пришли.
Концепцию данной ревизии немного подправил во время разводки. Во-первых, в этой ревизии не будет "Ячейки 121". Во-вторых, слот расширения будет смонтирован прямо на плату и его по идее можно будет использовать с любыми картами расширения, кроме использующих DMA (каковых серийных для Агат-7 и не было, согласно Voldemar). В-третьих, параллельно-последовательный интерфейс не будет выполнен на плате, но соответствующая карта может быть установлена в слот расширения. В-четвертых, ввиду того, что при такой конфигурации ног ПЛИС оказалось достаточно, I2C расширитель портов оказался не нужен. Более того, осталось еще несколько свободных ног, которые можно будет использовать для дебаггинга или расширения функций.
Итоговый получившийся размер платы примерно 100х230мм. Текущее расположение элементов позволяет сократить длину платы на пару сантиметров за счет их дополнительного уплотнения, но так как на цену плат там где я их заказываю это никак не повлияет, то решил не терять на это время и оставить как есть. Оптимизировать можно будет в следубщей ревизии вместе с улучшениями и устранением ошибок.
А пока платы в пути, выложил в своем блоге описание подключения памяти и процессора: http://electronicsfun.net/RU/archives/572. Как всегда, указание на ошибки приветствуется.

KokaF77 5th October 2012 10:58

Santechnik, можно ли будет подключить к слоту расширения оригинальный модуль процессора? Я понимаю, что придётся крыжить прошивку ПЛИСины... Либо как вариант предусмотреть подобную возможность в будущих ревизиях, это как пожелание. :-)

Santechnik 5th October 2012 11:34

Нет, к сожалению, этот модуль нельзя будет подключить. Разъем на плате расширения фактически будет представлять собой разъем номер 7, а процессорный модуль ставится кажется в первый.
Честно говоря, я не вижу смысла в усложнении схемы для возможности подключения этого модуля. Дело в том, что никаких преимуществ его использование не даст, так как я и так использую настоящий процессор в схеме. На ПЛИС же реализованы контроллеры памяти и устройств, ПЗУ и кое-что по мелочи.

KokaF77 5th October 2012 11:43

Жаль... :( У меня есть несколько плат от Агата, модуль процессора в том числе, а также распиленная материнка от девятки. Вот я и думал кусок с разъёмами прикошачить к вашей платке. ;) Вообще, давно мучила меня идея-фикс собрать в ПЛИСИну всю материнскую плату, а контроллеры оставить родными. Если проект в дальнейшем будет открытым, то наверное это будет возможно повторить, или, как вариант, делать что-то своё. :)

Santechnik 5th October 2012 12:18

Я все исходники обязательно выложу, но попозже. Сейчас они не закончены, не причесаны и не комментированы нормально :v2_rolley , так как находятся в творческом беспорядке ;) Технически же я не вижу проблем в реализации этой идеи. На вскидку, надо будет заменить блок адресации процессора в ПЛИС, переделать контроллер памяти, выкинуть процессор и память и использовать освободившиеся ноги ПЛИС для обслуживания слотов. Если понадобится помощь с этим, то готов посодействовать.
PS Со мной можно на "ты" :v2_dizzy_vodka2:

KokaF77 5th October 2012 12:49

Santechnik, спасибо! :) Это пока задумки на будущее, сейчас озадачен более приземлёнными проблемами. ;)

Santechnik 11th October 2012 12:42

3 Attachment(s)
Вчера платы дошли, но только сегодня смог их забрать. Вот пока их фотки. Наверное в выходные не торопясь начну сборку и откладку по кускам. :v2_dizzy_army:

Santechnik 19th October 2012 16:24

1 Attachment(s)
Небольшой апдейт. Блок питания собран и отлажен (см. фотку). На вход подается 15В. На выходе получаются +3.3В, +5В, +12В и -12В (последние два нужны для карт расширения). Осталось еще сделать +1.2В для ПЛИС, но я забыл заказать регулятор LD1117-1.2 для него :v2_dizzy_facepalm: Сейчас заказал, но придет через неделю. Пока это не критично, так как прежде чем паять ПЛИС я хочу отладить всю периферию, так что можно подождать.
Также уже установлены и проверена работа преобразователей уровня сигналов от процессора с 5 до 3.3В.
На данный момент выявлены следующие ошибки на плате:
  1. Неправильно выбраны посадочные места электролитических конденсаторов - слишком маленькие. Приходится выкручиваться.
  2. Нижние пятачки электролитических конденсаторов и некоторых тестовых пинов закрыты паяльной маской - ошибка на посадочном месте в KiCAD. Их немного, так что зачистил аккуратно ножиком и залудил.
  3. Распиновка регуляторов напряжения LD1117-3.3 и LD1117-1.2 выбрана неправильная. На фотке видно как пофиксил (слева от кнопок).
Двигаюсь не спеша, так как тщательно тестирую каждый блок.

svofski 20th October 2012 15:08

Как это ты смог одолеть KiCAD? Завидую твоей выносливости и проницательности.

Error404 20th October 2012 15:16

Quote:

Originally Posted by svofski (Post 546836)
Как это ты смог одолеть KiCAD? Завидую твоей выносливости и проницательности.

+100500. На редкость любительская среда.

Santechnik 20th October 2012 15:55

А какие альтернативы? Sprint мне не нравится совсем. DipTrace и Eagle более или менее хороши, но не без тараканов и к тому же ограничения в бесплатных версиях. Я эту плату не смог бы поместить ни в один, ни во второй.
А KiCAD зря ругаете. Интерфейс конечно не супер, но если приноровиться, то очень даже удобный. Почти все действия на кнопках, основные я на кнопки своей многокнопочной мыши повесил и совсем хорошо стало. То что посадочные места отдельно сначало напрягло, но потом оценил гибкость. Правда внимательность требуется - легко попутать ноги, что и произошло. А программа разводки плат вообще очень удобная (только опять таки привыкнуть надо). Говорят, что старые версии и правда совсем уж плохи, но я их не пробовал.

Раз уж я здесь, то и апдейт тогда :) Сделано и проверно/отлажено за сегодня:
  1. Завершена обвязка процессора
  2. Установлены переключатели
  3. Смонтирован звук. Опробован и работает
  4. Смонтирован узел пультов. Работает - дает правильные сигналы.
  5. Смонтирован узел клавиатуры PS/2. Работает и выдает правильные сигналы нужного уровня на вход ПЛИС.
Выявлена еще одна ошибка - когда я создавал посадочное место для PS/2 разъема, то сделал его зеркально. Так что пришлось поработать ножом над дорожками и припаять несколько проводов.

tnt23 20th October 2012 16:56

Santechnik, а что за преобразователи поставил для сопряжения ПЛИС и 5-вольтовых шин?

Santechnik 20th October 2012 17:05

74LVC245. Они не двухнаправленные, так что направление шины данных переключается сигналом RW процессора. Остальные же все сигналы однонаправленные.

svofski 20th October 2012 18:36

Я KiCAD не ругаю. Просто я делал на него несколько заходов и все пока неудачно.

Santechnik 24th October 2012 16:09

1 Attachment(s)
С дисководами вышла заминка. Я делал посадочное место под STM32S сам и на одной из сторон ноги пронумеровал в обратной последовательности :rolleyes: Обнаружил я это только когда припаял контроллер на 840К дисковод. Часть ног можно перепрограмировать, но не все. Пока отпаивал микруху, резал дорожки, паял проводки часть дорожек отслоилась. Да и доверия контроллеру тоже теперь особо нет - много ему досталось. Так что будем считать, что на плате дисковод 840К потерян. Дисковод 140К удалось спасти, хотя это было весело подпаиваться к ножкам с шагом 0.5мм. Не уверен, что захочу такой фокус повторить еще. :v2_dizzy_indy: В итоге дисковод 140К запустился и работает (см. фотку). В принципе, так как схематично 140К и 840К идентичны, я смогу отлаживать 840К и на этом дисководе тоже. Так что продолжаем собирать :v2_dizzy_snowball:
На очереди отладка собранного магнитофонного входа/выхода.

KokaF77 26th October 2012 01:14

Santechnik, где и когда можно будет приобрести платку (прототип или end-релиз не суть важно).


All times are GMT +4. The time now is 01:06.

Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.