nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 17 Apr 2024 21:05



Reply to topic  [ 153 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6 ... 11  Next
8086+FPGA 
Author Message
Devil

Joined: 30 Nov 2013 11:08
Posts: 707
Location: WWW
Reply with quote
Vic3Dexe wrote:
Запустил контроллер флопа (i82077A-1).


В смысле, написанный на HDL'е, или с реальной микросхемой ?

Vic3Dexe wrote:
Здорово помогло вот это. Несмотря на то, что я и бинарник неплохо читаю, комментарии были нелишними.


Я тоже именно этим ресурсом активно пользовался

P.S. Наверное, было бы неплохо, чтобы модератор разделил бы мой и Ваш топики - проекты довольно разные, было бы проще следить...


15 Feb 2016 01:21
Profile
Doomed

Joined: 16 Dec 2014 11:58
Posts: 370
Location: Киев
Reply with quote
newold86 wrote:
Vic3Dexe wrote:
Запустил контроллер флопа (i82077A-1).


В смысле, написанный на HDL'е, или с реальной микросхемой ?

В смысле реальный 82077А-1 в корпусе PLCC-68. В циклон я аналоговые цепи не засуну при всем желании :)
newold86 wrote:
P.S. Наверное, было бы неплохо, чтобы модератор разделил бы мой и Ваш топики - проекты довольно разные, было бы проще следить...

Я как бы тоже "за", ибо уж слишком наши проекты разошлись друг от друга, но с другой стороны... куча работы Shaos'у. :)
И по-любому он модератор, так что ему и решать.


Last edited by Vic3Dexe on 16 Feb 2016 16:50, edited 1 time in total.



15 Feb 2016 05:00
Profile
Online
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22528
Location: Silicon Valley
Reply with quote
Vic3Dexe wrote:
Я как бы тоже "за", ибо уж слишком наши проекты разошлись друг от друга, но с другой стороны... куча работы Shaos'у. :)
И по-любому он модератор, так что ему и решать.

отделил (отсюда)

P.S. все остальные мессаги касательно отделеня потёр, а это поправил - можно оставить так наверное, чтобы было понятно когда и зачем отделилось...

_________________
:dj: https://mastodon.social/@Shaos


15 Feb 2016 15:06
Profile WWW
Doomed

Joined: 16 Dec 2014 11:58
Posts: 370
Location: Киев
Reply with quote
Прицепил оба имеющихся у меня привода (3.5" 1.44 и 5.25" 1.2).
Успешно проходят recalibrate и seek. А вот ReadID на пятидюймовом виснет (т.е. контроллер постоянно висит в фазе выполнения). Похоже, умер датчик индекса или ИК-диод. Или оба сразу.
На трехдюймовке ReadID успешно находит дорожки, на живых дискетах, разумеется. На мертвых - отваливается с правильной ошибкой, но не висит.
Блин, и ведь пятидюймовку наверно не найдешь уже... :(


Last edited by Vic3Dexe on 16 Feb 2016 16:54, edited 1 time in total.



16 Feb 2016 07:30
Profile
Doomed

Joined: 16 Dec 2014 11:58
Posts: 370
Location: Киев
Reply with quote
Успешно почитан сектор в PIO-режиме. Сильно озадачил статус выполнения "abnormal termination" с аргументом end of cylinder.
Все дело в том, что контроллеру флопа нельзя указать число секторов для чтения. Можно указать только конец цилиндра, а конец передачи определяет исключительно сигнал DMA terminal count.
Таким образом, при PIO флоп читает все сектора до конца дороги (или сколько сказано в параметре EOT), лезет дальше, т.к. его никто не останавливает, и закономерно сообщает end of cylinder (т.е. вылет за пределы указанного EOT, каким бы оно ни было).
В документации на контроллер в п. 2.4.5 (DATA TRANSFER TERMINATION) прямо сказано:
Quote:
The only difference between these implicit functions [имеется ввиду EOT] and TC is that they return "abnormal termination" result status. Such status indications can be ignored if they were expected.

В копилочку, так сказать.


18 Feb 2016 08:29
Profile
Devil

Joined: 30 Nov 2013 11:08
Posts: 707
Location: WWW
Reply with quote
Vic3Dexe wrote:
...год назад написаный i8288...



Не поделитесь кодом ?


23 Feb 2016 09:32
Profile
Doomed

Joined: 16 Dec 2014 11:58
Posts: 370
Location: Киев
Reply with quote
Держите.

Рассчитан на подключение к согласователям уровней с ручным управлением (ну т.е. не автоматическим), нет независимого управления старшей и младшей половиной, т.к. проц у меня именно 8086.
DENA используется для открытия трансиверов в фазе адреса, а DEND - в фазе данных.
Сигналы MRD/IORD и AMWR/AIOWR имеют длину 2 такта, MWR/IOWR - 1 такт (ну как в даташите).
INTA наружу выдается только один (первый все равно чисто технологический, для обмена между мастер и слейв PIC).


Attachments:
poisk8288.rar [1.48 KiB]
Downloaded 247 times
23 Feb 2016 22:54
Profile
Devil

Joined: 30 Nov 2013 11:08
Posts: 707
Location: WWW
Reply with quote
Vic3Dexe wrote:
Держите.


Спасибо !

Наберусь еще наглости - сигналы AEN и CEN не разбирались, как реализовать ?


24 Feb 2016 01:59
Profile
Doomed

Joined: 16 Dec 2014 11:58
Posts: 370
Location: Киев
Reply with quote
Во-1 зачем?
Во-2 что там сложного-то? Судя по описанию, эти входы просто выключают те или иные выходы 8288. Добавьте пару условий да и все.


24 Feb 2016 03:28
Profile
Devil

Joined: 30 Nov 2013 11:08
Posts: 707
Location: WWW
Reply with quote
Vic3Dexe wrote:
Во-1 зачем?


Есть одна пока не до конца сформировавшаяся мысль...

Vic3Dexe wrote:
Во-2 что там сложного-то? Судя по описанию, эти входы просто выключают те или иные выходы 8288. Добавьте пару условий да и все.


Какое-то время назад я пытался разобраться во внутренностях 8288, но datasheet'а мне не хватило, а больше никакой информации нарыть не смог...
И Verilog я не знаю вообще - читать/понимать еще немного могу, а вот дописать нет :(


24 Feb 2016 03:34
Profile
Doomed

Joined: 16 Dec 2014 11:58
Posts: 370
Location: Киев
Reply with quote
CEN переключает все командные выходы (т.е. IORD и т.п. - см. в даташите картинку), а также DEN и /PDEN в неактивное состояние.
Code:
что-то типа

nMWR_OUT = CEN | nMWR; //т.е. если CEN=1, то выход будет =1 вне зав. от самого сигнала

с остальными так же


/AEN (если IOB=0, иначе не влияет ни на что вообще):
при переключении в 0 (т.е. активен) разрешает все командные выходы,
при переключении в 1 (неактивен) запрещает их, переводя в Z-состояние.

Циклон вообще не позволяет каким-либо внутренним узлам переходить в Z-состояние, только внешним ногам. Так что AEN имеет смысл реализовывать, если у вас командные сигналы выходят наружу и не проходят через согласователи уровней и с ними параллельно работает какой-нибудь DMA.


24 Feb 2016 03:49
Profile
Doomed

Joined: 16 Dec 2014 11:58
Posts: 370
Location: Киев
Reply with quote
Приделал на скорую руку DMA под флоп. Код не выкладываю, ибо во-1 раскидано по разным модулям, во-2 сильно урезано (1 канал, да и тот сугубо в режиме on-demand), в-3 комментировано чуть менее чем никак.
Тем не менее, наконец-то сектор с 3.5" почитан без ошибок.

Купил еще один 5.25" аж в Сумах, подрубил... и понял, что я чего-то не понял. Виснет точно так же.
Переткнул на боевой Core i7 - успешно пытается читать дискеты 20-летней давности (угу, fformat даже удалось скопировать). В основном, конечно, дальше корня дело не идет, но и то хлеб.

Похоже, дело в подтяжках входных линий (т.к. смену дискеты тоже не видит). Стоят килоомные резисторы, планирую уменьшить до 200-300 Ом (как рекомендовано в даташите на контроллер). И в связи с этим возникают 2 вопроса:

1. Что курили разработчики, предлагая мне собрать схему на картинке? Я раздельные шлейфы должен был делать, или что?
2. Если же по-людски обойтись одним шлейфом, то не убью ли я 3.5" флоп такими подтяжками (200-300 Ом)? Не то чтобы его очень жалко, но все-таки...


Attachments:
4.jpg
4.jpg [ 73.26 KiB | Viewed 7437 times ]
25 Feb 2016 16:01
Profile
Devil

Joined: 30 Nov 2013 11:08
Posts: 707
Location: WWW
Reply with quote
Vic3Dexe wrote:
DENA используется для открытия трансиверов в фазе адреса, а DEND - в фазе данных.


Не подскажете, какой из них соответствует "настоящему" сигналу DEN ? У меня что-то сегодня с головой, вообще запутался во всем...

И, насколько я понял, полярность сигнала отличается от полярности этого же сигнала у 8288 ?


01 Mar 2016 06:27
Profile
Doomed

Joined: 16 Dec 2014 11:58
Posts: 370
Location: Киев
Reply with quote
У 8288 нет фазы адреса :)

Я избавился от внешних защелок адреса, а значит, нужно было пропустить адрес от CPU через согласователи (они же трансиверы) в момент спада ALE. Для этого их надо открыть, что и выполняет nDENA, с DT/R ничего делать при этом не надо - он и так =1.

Так что настоящий - nDEND, но он у меня слегка растянут. Помню, что сделал это для того, чтобы при nMRD/nIORD в его длительность укладывалось 2 фронта клока проца, а не один. Но вот зачем это мне было нужно - уже не помню :-?

Да, ну и забыл обозначить частоты - OSC = 3*CLK, т.е. CLK - это клок проца со скважностью 30% от 8284, OSC - опорная частота, которая подается на 8284.
В моем случае CLK = 10M, OSC = 30M.

8284 я уже давал, там почти ничего не поменялось.

По флопам - дело было не бобине (с). Выловил гнусный баг в коде сброса контроллера, и новый 5" привод заработал как там и был. Так что подтяжки в 1к - вполне.
После недолгих исправлений в DMA заработала и запись.
Допишу остатки int13 и будем пробовать загрузить винду :)


01 Mar 2016 07:00
Profile
Devil

Joined: 30 Nov 2013 11:08
Posts: 707
Location: WWW
Reply with quote
Vic3Dexe wrote:
Из имеющегося циклона я выжал все - кончились ноги и встроенная память. Поэтому была запилена новая плата под BGA-версию взамен китайского недоразумения.
Разумеется, паять дома BGA мне тупо нечем - ни прожектора, ни строительного фена :) , поэтому поехал на поклон в ближайший по гуглу ремпункт для ноутов.
Там удивились, но припаяли за 200 грн. (~8 у.е.). Результат - не контачит с десяток ног. Поехал второй раз. Там признались, что недогрели из боязни спалить. Пропаяли еще разок и - о чудо! - все работает, прошивается и по JTAG и по AS (флешка EPCS16).

Отдельных матюков заслуживают конденсаторы обвязки 0402 (бОльшие просто не влезали между виа под BGA).


Сколько слоев использовали и чем разводили ?


02 Mar 2016 10:14
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 153 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6 ... 11  Next

Who is online

Users browsing this forum: No registered users and 5 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.