|
nedoPC.orgElectronics hobbyists community established in 2002 |
|
PC-совместимый компьютер на К1810
Author |
Message |
renych
Writer
Joined: 15 Nov 2013 05:34 Posts: 21 Location: Москва
|
Пришлось конечно повозиться с этой ВТ3, но в итоге заработало ОЗУ На штатной частоте действительно улетает "в космос" через какое-то время. Но у меня теперь есть дебагер, который умеет понижать частоту CPU Сейчас я посылаю сигнал RDY 1000 раз в секунду, т.о. проц работает на частоте 1KHz, последний час пока без сбоев. Наверняка может и быстрее, но мне этого достаточно. Вообще вся эта модульная конструкция со шлейфами была задумана как отладочная, чтобы отработать идеи, прежде чем воплотить их в одноплатовом решении. По частям всё же проще отлаживать, коммутировать и переделывать ) На самом деле я просто не увидел альтернативы КДП. Статическое ОЗУ потребовало бы очень много микросхем (я хочу 640К в итоге). Возможно когда прикручу ПДП, буду регенерировать ОЗУ как в XT, через прямой доступ в память. Хотя может быть щас есть уже всякая Flash память или DRAM со встроенной регенерацией. Какой бы Вы подход выбрали? ) Теперь надо написать первую функцию будущего BIOS - тест ОЗУ. Пока не понятно куда выводить результат. Наверное через порты I/O на LED индикаторы. И вопрос - имеет значение, какой ассемблер использовать? Masm вроде умеет делать только exe, но у него есть утилита ExeToBin. Сейчас я пишу инструкции в ПЗУ прям в шестнадцатеричных кодах, но это совсем хардкор ) Как то пытался скомпилировать исходники биоса XT, перепробовал все версии Masm`а, с первой по шестую, но ни одна не захотела компилировать.
_________________ Нет процессора кроме x86, и Фон Нейман пророк его.
|
27 Nov 2016 14:42 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Интересно... а если паять шлейф "земля"-"сигнал"-"земля"-"сигнал"-... тоже всё улетать будет? Что-то я не помню, чтобы контроллеры IDE и HDD "жаловались" на такие шлейфы...
_________________ iLavr
|
27 Nov 2016 15:04 |
|
|
Vic3Dexe
Doomed
Joined: 16 Dec 2014 11:58 Posts: 370 Location: Киев
|
Нннууу... если совсем в общем... то да, килогерц. А тактовая какая? Т.е. что заходит на ногу CLK? Поверьте, я тоже так думал. Пока не загруз по оси в шлейфах. Такая "модульность" привносит кучу своих багов, помимо схемных. Так что непонятно с чем боремся. Нужно соединить несколько плат? Меззонин (платы друг над другом) или любой другой вид КОРОТКИХ соединений. Дабы снизить наводки. Простите, что? Статика на 512к, 1М, 2М, 4М - вполне доступны. Тайминги - 10/12/15/45/55/70 нс. Производителей несколько - Cypress, Alliance, возможно, гнусмас (у нас их просто нет). Выбирай что хочешь, как грицца. И к черту регенерацию, городить DRAM для таких объемов смысла нет при нынешних технологиях. Нет, если стоит вопрос аутентичности... Мы, царь Николай Второй , выбрали Cypress 1Mx16 (итого 2 метра) 10 нс. Корпус TSOP какой-то, вполне паябельный (0.8 шаг вроде). Управления - минимум, т.к. на потребление плевать, чип выбран постоянно. Можно подавать /WE, не снимая /OE (она сама понимает, что в нее пишут, и переключается на вход). Короче - сказка, по сравнению со штабелями DRAM и пачками CAS/RAS. Минус один - сравнительно недешево, но я брал 10 нс (надо было), 70 нан будет дешевле. ISA-8 + VGA? Для видяхи вроде все есть, DMA ей не надо, IRQ тоже. Для чего? Перекомпиляция чего-либо - лучше брать то, чем оно предположительно должно собираться. Писать свое с нуля или переписывать под себя - fasm. Без вариантов. Чес гря, я сам в растерянности. Учитывая, что схема с кучей земель в шлейфе появилась с введением UDMA-66+, и что именно в этой версии ATA появилась коррекция (!) и отлов (!!) ошибок, то я вообще не понимаю, как оно работало до того.
|
27 Nov 2016 17:18 |
|
|
jdigreze
God
Joined: 02 Jan 2006 02:28 Posts: 1390 Location: Abakan
|
А оно и не молотило в шлейф перманентно. Там самый жуткий обмен был, когда задействован DMA, но пачки передачи были довольно короткими. И не забываем, что HDD мог просто выдать BUSY, если он чего-то не успевает, или ERROR, если чего-то не "понял".
|
27 Nov 2016 20:30 |
|
|
VituZz
God
Joined: 13 Nov 2010 04:06 Posts: 1345
|
Порт 80h вроде как для этих целей предназначен - "диагностический регистр".
|
28 Nov 2016 05:51 |
|
|
renych
Writer
Joined: 15 Nov 2013 05:34 Posts: 21 Location: Москва
|
На CLK приходит тактовый сигнал с ГФ84. А сигналом RDY я "придерживаю" процессор. Получается 1KHz - это не тактовая частота, а частота циклов шины Суть в том, что это моё первое цифровое устройство, после мигания светодиодом на ATmega. Понимания, как работает компьютер на аппаратном уровне не было никакого и продумать схему целиком, не говоря уже о том, чтобы собрать всё на одной плате и с первого раза - было чем то фантастическим А так, я собрал сначала процессорный модуль с генератором и формирователями шин (что уже было непросто), потом на макетке прицепил к нему ПЗУ, поигрался, понял, как это должно работать и только после этого пришло понимание, каким должен быть модуль памяти. И всё равно было столько косяков, что пришлось перерезать дорожки и паять перемычки. Кстати, когда я её включил первый раз - по классике жанра что-то щёлкнуло, заискрилось и пошёл дым На одной из фоток видно в панельке под ВТ3 вскипевшую дорожку ) В общем на тот момент идея со шлейфами мне казалась наиболее очевидной. Да и теперь я считаю, что для обучения - это оптимальный вариант, тем более что на пониженной частоте шлейфы совсем не мешают. Меня больше волнует вопрос - как проверить ОЗУ, потому что есть подозрения, что оно работает нестабильно. | | | | Vic3Dexe wrote: Статика на 512к, 1М, 2М, 4М - вполне доступны. Тайминги - 10/12/15/45/55/70 нс. Производителей несколько - Cypress, Alliance, возможно, гнусмас (у нас их просто нет). Выбирай что хочешь, как грицца. И к черту регенерацию, городить DRAM для таких объемов смысла нет при нынешних технологиях. ... Можно подавать /WE, не снимая /OE (она сама понимает, что в нее пишут, и переключается на вход). Короче - сказка, по сравнению со штабелями DRAM и пачками CAS/RAS. | | | | |
Эх, где Вы раньше были, две страницы назад! Меньше всего хотелось возиться с КДП, а под статикой мне мерещились 537РУ8, объёмом 2Кб. Теперь как грится - поздняк метаться ) Наверное в итоговой версии своего суперкомпьютера я поставлю современный чип памяти. Что ж, по кр. мере я приобрёл опыт Видео у меня следующий этап, после отладки памяти. Раз такое дело сразу спрошу, чтоб не получилось как с КДП - у меня есть два чипа: КР580ВГ75 и км1809вг6 (аналог Motorola 6845) Что будет проще на первом этапе - реализовать видео на одной из этих микросхем или использовать ISA видеокарту? Но тогда нужно реализовывать ISA шину (или достаточно отдельных сигналов)?
_________________ Нет процессора кроме x86, и Фон Нейман пророк его.
|
28 Nov 2016 06:08 |
|
|
Vic3Dexe
Doomed
Joined: 16 Dec 2014 11:58 Posts: 370 Location: Киев
|
Ну у вас же есть отладчик с кучей индикации. Зажигайте светодиод при ошибке, программу вешайте в вечный цикл. Адрес забирайте... откуда вы его обычно забираете. В чем проблема-то? А в гугле вас забанили? Это я и имел ввиду. Посмотрите схему той же CGA и сколько там корпусов. Лучше готовое взять. Это понятно, я о контроле потока данных (например, при чтении сектора). У АТА-33 и ниже вроде нет никаких механизмов типа контроля четности и т.п.
|
28 Nov 2016 07:24 |
|
|
jdigreze
God
Joined: 02 Jan 2006 02:28 Posts: 1390 Location: Abakan
|
Точно не подскажу, литература прибрана далеко, но, по моей дырявой памяти, контроль четности был. А иначе, кой смысл гонять туда-сюда данные, если они не верифицируемы на приёмной стороне силы? 62256 не попадались? 32Кб в одном корпусе. На 16 бит = 2 м/с (DIP28) = 64 Кб. А это уже есть где по-экспериментировать!
|
28 Nov 2016 07:49 |
|
|
Vic3Dexe
Doomed
Joined: 16 Dec 2014 11:58 Posts: 370 Location: Киев
|
Увы, я последний раз стандарт АТА тоже вдумчиво читал весьма давно. Даже не помню версию, то ли 5, то ли 6. Восьмую пролистывал на предмет нововведений. А потом t13.org превратилась в t13.com. Повбывав бы...Однако в памяти отложилось утверждение господина Гука о том, что контроль и коррекция ошибок появились только при введении UDMA. Не верить ему оснований лично у меня нет - в остальном его выкладки адекватны большей частью, насколько могу судить. Если совсем честно, то Lavr открыл мне глаза. Если оно работает на 33 Mbps, и умудряется гонять по шлейфу гигабайты без потерь, то есть какой-то секрет...
|
29 Nov 2016 06:54 |
|
|
jdigreze
God
Joined: 02 Jan 2006 02:28 Posts: 1390 Location: Abakan
|
Порыл немного интернет. CRC действительно появился только в ATA-4 (33). Но: | | | | http://novorosiysk.lastdiplom.ru/referats/registry-ustrojstv-ata/ wrote: Блок управляющих регистров используется для управления устройством и получения байта его состояния. На действительность содержимого регистров командного блока и альтернативного регистра состояния указывает нулевое значение бита BSY регистра состояния. Если устройство под- держивает управление энергопотреблением, в спящем режиме Sleep mode содержимое этих регистров недействительно. Регистр состояния отражает текущее состояние устройства в процессе выполнения команд. Чтение регистра состояния разрешает дальнейшее изменение его бит и сбрасывает запрос аппаратного прерывания.
Бит 7 — BSY (Busy) указывает на занятость устройства. При его единичном значении устройство игнорирует попытки записи в командный блок регистров, а чтение этих регистров дает неопределенный результат (их значение устройством может быть изменено в любой момент). При нулевом значении этого бита регистры командного блока доступны, а устройство может изменять только значение бит IDX, DRDY, DF, DSC и CORR. Бит устанавливается под действием аппаратного и программного сброса устройства, а также по получении команды. Бит может устанавливаться и на кратковременный интервал, так что хост может и не заметить этого факта.
Бит 6 — DRDY (Device Ready) указывает на готовность устройства к восприятию любых кодов команд. Если состояние бита изменилось, оно не может измениться обратно до чтения регистра состояния. При нулевом значении бита устройство воспринимает только команды EXECUTE DEVICE DIAGNOSTIC и INITIALIZE DEVICE PARAMETERS, прекращая выполнение текущей команды и сообщая об этом флагом ABRT в регистре ошибок и ERR в регистре состояния. Прием других команд при нулевом бите DRDY приводит к непредсказуемым результатам.
Бит 5 — DF (Device Fault) — индикатор отказа устройства.
Бит 4 — DSC (Device Seek Complete) — индикатор завершения поиска трека.
Бит 3 — DRQ (Data Request) — индикатор готовности к обмену словом или байтом данных.
Бит 2 — CORR (Corrected Data) — индикатор исправленной ошибки данных.
Бит 1 — IDX (Index) — индекс, трактуется специфично для каждого производителя.
Бит 0 — ERR (Error) — индикатор ошибки выполнения предыдущей операции. Дополнительная информация содержится в регистре ошибок. Если установился бит ERR, до приема следующей команды, программного или аппаратного сброса устройство не изменит состояние этого бита, а также регистра ошибок, регистра количества секторов и регистров цилиндра, головки и номера сектора.
| | | | |
Вот в этих вот курсивных тонкостях и кроется высокая стабильность обмена данными с HDD, и чего очень сложно добиться, отделяя процессор от памяти и прочих on-board устройств.
|
29 Nov 2016 08:30 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Да какой там секрет - когда чередуются "земля"-"сигнал" это получается волноведущая линия. Типа полосковой - некоторый аналог коаксиала. И если линия согласована на концах нагрузкой, равной её волновому сопротивлению, то через неё всё замечательно прёт без отражений... - такой смысл примерно...
_________________ iLavr
|
29 Nov 2016 10:25 |
|
|
newold86
Devil
Joined: 30 Nov 2013 11:08 Posts: 707 Location: WWW
|
Насчет шлейфов - так как я изрядно повозился, пытаясь сначала найти, а потом решить проблему, то приобрел какой-никакой, но все же опыт (теоретический и практический).
Так вот - основная проблема не в наводках, а в отражениях. Похоже, при минимально правильном терминировании (а оно во всех этих контроллерах/дисках есть) проблема убирается практически полностью.
|
29 Nov 2016 16:50 |
|
|
Vic3Dexe
Doomed
Joined: 16 Dec 2014 11:58 Posts: 370 Location: Киев
|
Скорость или версия протокола тут ни при чем. CRC существует только для UDMA-режимов: Что касается регистра, о котором вы говорите (биты BSY и пр.), он говорит только о состоянии выполнения команды устройством АТА, но не о том, были ли ошибки в фазе передачи данных (которой у команды может и не быть). А так как электрически в шлейфе бита четности нет, у хоста или устройства НЕТ механизмов контроля достоверности передаваемых данных. Только в 40-проводном шлейфе нету этого чередования. А вот это очень может быть.
|
30 Nov 2016 00:12 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Так поэтому его и не используют там, где он уже не годится...
_________________ iLavr
|
30 Nov 2016 18:10 |
|
|
jdigreze
God
Joined: 02 Jan 2006 02:28 Posts: 1390 Location: Abakan
|
Поразмыслив на досуге, пришёл к тому же выводу. Пожалуй, да.
|
30 Nov 2016 19:36 |
|
|
Who is online |
Users browsing this forum: No registered users and 29 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
|
|