nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 28 Mar 2024 10:08



Reply to topic  [ 143 posts ]  Go to page Previous  1 ... 4, 5, 6, 7, 8, 9, 10  Next
Поиск-2 Ремонт 
Author Message
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Tronix wrote:
проверю, откушу 8 и 11 ноги от земли. Но не думаю что так просто все.

В таком случае это будет похоже на убогий RS-триггер для подавления дребезга контактов одиночной кнопки на замыкание.

Кстати, при работе с CPLD зрительно убедился, что у большинства кнопок приличный-таки дребезг.
Внутри CPLD был собран синхронный счетчик, и я посмотрел, что будет, если управлять им просто
кнопкой с резистором к +5В. Счетчик успевает насчитать дофига дребезга! :o

_________________
iLavr


16 Nov 2017 11:26
Profile
Doomed

Joined: 16 Dec 2014 11:58
Posts: 370
Location: Киев
Reply with quote
Lavr wrote:
выход же коротится на землю в состоянии лог.1.

Но он в 1 никогда не будет, хотя микруху это не спасет. Верхний ключ в нижнем элементе, по идее, уже тогойт.
Lavr wrote:
она может и генерить пачки импульсов начать

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


17 Nov 2017 00:49
Profile
Doomed

Joined: 16 Dec 2014 11:58
Posts: 370
Location: Киев
Reply with quote
Lavr wrote:
Внутри CPLD был собран синхронный счетчик, и я посмотрел, что будет, если управлять им просто
кнопкой с резистором к +5В. Счетчик успевает насчитать дофига дребезга!

Да, поэтому надо либо подавители снаружи, либо внутри.
Вот, где-то когда-то выдрал готовый.
CLK - какая-то частота, с помощью которой будем "ждать" прекращения дребезга. in, out - понятно.
Code:
module deb(input wire CLK, input wire in, output reg out);

reg ff1,ff2;
reg [7:0] cntr = 8'h0;

wire cntr_ena = ~cntr[7];
wire cntr_clr = ff1 ^ ff2;

always @(posedge CLK)
begin
  ff1 <= in;
  ff2 <= ff1; 
end

always @(posedge CLK)
  if (~cntr_ena) out <= ff2;
  else out <= out;

always @(posedge cntr_clr or posedge CLK)
begin
  if (cntr_clr) cntr <= 8'h0;
  else if (cntr_ena) cntr <= cntr+8'h1;
  else cntr <= cntr;
end

endmodule


17 Nov 2017 00:54
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Vic3Dexe wrote:
Lavr wrote:
Внутри CPLD был собран синхронный счетчик, и я посмотрел, что будет, если управлять им просто
кнопкой с резистором к +5В
. Счетчик успевает насчитать дофига дребезга!

Да, поэтому надо либо подавители снаружи, либо внутри.

Ну НАХЕРА КОЗЕ ЭТОТ БАЯН? :o Когда я именно и хотел посмотреть как дребезжит кнопка?
2...3 переключения... 4..5 или зело больше - я ЭТО и посмотрел.

_________________
iLavr


17 Nov 2017 01:40
Profile
Doomed

Joined: 18 Nov 2013 02:38
Posts: 662
Location: Москва
Reply with quote
Сфотографировал как смог: https://habrastorage.org/webt/40/tj/qx/ ... t-jcg.jpeg

Выпаиваю D7, освобождаю ноги 8 и 11 от земли.
UPD: Да вообще выкинул этот узел и собрал на резисторе и конденсаторе RESET. (10K к VCC и 0.1мкФ к земле).
Поведение не изменилось.

UPD: У меня комп не стартует с KS82C84A-8CP вместо 1810ВГ84. Нет генерации на кварце -> нет OSC42 и CLK. Так и должно быть?

_________________
https://t.me/tronix_blog


18 Nov 2017 01:13
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Tronix wrote:
У меня комп не стартует с KS82C84A-8CP вместо 1810ВГ84. Нет генерации на кварце -> нет OSC42 и CLK. Так и должно быть?

Обсуждалось вот здесь:
http://www.nedopc.org/forum/viewtopic.php?p=116559#p116559
http://www.nedopc.org/forum/viewtopic.php?p=116573#p116573

_________________
iLavr


18 Nov 2017 04:01
Profile
Doomed

Joined: 18 Nov 2013 02:38
Posts: 662
Location: Москва
Reply with quote
Понятно. Ну ладно, с этим понятно. Однако проблему в целом не решает :(
RESET починил, ЛН1 кстати живая была. Что еще смотреть?

При зависнутом сосотоянии
-на памяти: на DI, DO (2,14) - низкий уровень, ~900 мВ. RAS молотит ~1MHz, CAS - высокий уровень.
-на слотах ISA: ШД = 0xFFh. AEN = 0. ША = 0xF062h. /MEMR,/MEMW,/IOR,/IOW = 1.

_________________
https://t.me/tronix_blog


18 Nov 2017 05:15
Profile
Doomed

Joined: 16 Dec 2014 11:58
Posts: 370
Location: Киев
Reply with quote
Tronix wrote:
AEN = 0

Регена нет? :o
К моменту вывода строк биоса на экран он же уже должен включиться, как я понимаю?
DMA/таймер как себя чувствуют?
Tronix wrote:
/MEMR,/MEMW,/IOR,/IOW = 1

Эээ... вы вроде говорили, что на проце жизнь кипит. Так чем он занят-то, если наружу не ходит? Что на линиях S0-S2?
Также интересно, что на /AEN, CEN 8288.
Tronix wrote:
ША = 0xF062h

Это младшие 16 или полный 20-битный?
Tronix wrote:
RAS молотит ~1MHz

Откуда? Регена нет, проца нет... Или это предусмотрено само по себе? Я до той части схемы еще не докопался, разматываю клубки D-триггеров в схеме формирования READY.

Пока идеи:
1. Ежели в биос закатать простейший код - заполнение экрана любым символом/стирание, и так по кругу. Проверять на VGA, как на таковой, где глюк воспроизводится проще всего.
2. Если память вынуть, оставить сколько-то по минимуму... Я не знаю зачем :) Просто, когда непонятно что и где искать, я обычно меняю хоть что-нибудь.

Да, вот только в голову пришло - а как перейти от состояния "все работает" (ну, после тонны перезагрузок) до состояния "глючит"? Дать отстояться? Или как-то можно дестабилизировать?


18 Nov 2017 11:43
Profile
Doomed

Joined: 18 Nov 2013 02:38
Posts: 662
Location: Москва
Reply with quote
Vic3Dexe wrote:
Регена нет? :o

К моменту вывода строк биоса на экран он же уже должен включиться, как я понимаю?
DMA/таймер как себя чувствуют?

Tronix wrote:
ША = 0xF062h

Это младшие 16 или полный 20-битный?
Tronix wrote:
RAS молотит ~1MHz

Откуда? Регена нет, проца нет... Или это предусмотрено само по себе? Я до той части схемы еще не докопался, разматываю клубки D-триггеров в схеме формирования READY.


Да я сам мало что понимаю. Похоже виснет "по разному". Иногда виснет так, что на ША и ШД движения нет, иногда виснет, но продолжает что-то перебирать на ШД и ША. Адрес был полный 20-битный.

Vic3Dexe wrote:
Пока идеи:
1. Ежели в биос закатать простейший код - заполнение экрана любым символом/стирание, и так по кругу. Проверять на VGA, как на таковой, где глюк воспроизводится проще всего.


Простейший, но с нюансами. Как VGA заинициализить? Пути два 1) - заинициализировать самому через порты VGA. При этом не обязательно инициализировать остальную перефирию, включая память. Пробовал, одержал фейл. Ну, то есть режим то 80x25 вроде как устанавливает, но шрифт в упор не грузит.
 Код:
Code:
setRegs:                         
         mov si, offset regs825
   push cs
   pop ds
 
         mov     dx, 3C2h
         lodsb
         out     dx, al
    IODELAY
       
         mov     dx, 3DAh
         lodsb
         out     dx, al
    IODELAY
 
         xor     cl, cl
         mov     dx, 3C4h
    l1:
         lodsb
         xchg    al, ah
         mov     al, cl
         out     dx, ax
    IODELAY
         inc     cl
         cmp     cl, 4
         jbe     l1
 
         mov     dx, 3D4h
         mov     ax, 0E11h
         out     dx, ax
    IODELAY
 
         xor     cl, cl
         ;mov     dx, 3D4h
    l2:
         lodsb
         xchg    al, ah
         mov     al, cl
         out     dx, ax
    IODELAY
         inc     cl
         cmp     cl, 18h
         jbe     l2
 
         xor     cl, cl
         mov     dx, 3CEh
    l3:
         lodsb
         xchg    al, ah
         mov     al, cl
         out     dx, ax
    IODELAY
         inc     cl
         cmp     cl, 8
         jbe     l3
   
         mov     dx, 3DAh
         in      al, dx
 
         xor     cl, cl
         mov     dx, 3C0h
    l4:
         in      ax, dx
         mov     al, cl
         out     dx, al
    IODELAY
         lodsb
         out     dx, al
    IODELAY
         inc     cl
         cmp     cl, 14h
         jbe     l4
 
         mov     al, 20h
         out     dx, al
    IODELAY

   cld

;    out 3c4H, 0402H   ;Mask reg; enable write to map 2
;    out 3c4H, 0704H   ;Memory Mode reg ; alpha, ext mem, non-interleaved
;    out 3ceH, 0005H   ;Graphics Mode reg; non-interleaved access
;    out 3ceH, 0406H   ;Graphics Misc reg; map char gen RAM to a000:0
;    out 3ceH, 0204H   ;Graphics ReadMapSelect reg; enable read chargen RAM

   MOV AX, 0a000h
        MOV ES, AX

        MOV DX, 03C4h
        MOV AX, 0402h          ; seq.mapmask = !0, !1, 2, !3
        OUT DX, AX
   IODELAY
        MOV AX, 0704h          ; seq.font A=0 B=0
        OUT DX, AX
   IODELAY

        MOV DX, 03CEh
        MOV AX, 0005h          ; gx.modereg = !256, !shift, !OE, writemode_0
        OUT DX, AX
   IODELAY
        MOV AX, 0406h          ; gx.miscreg = map_b8000, !HostOE, !graphics
        OUT DX, AX
   IODELAY
   mov ax,0204h
   out dx,ax
   IODELAY

        ; set font to garbage
        MOV CX, 01000h
        XOR DI, DI
   mov si, offset Font
lop:   stosw
   stosw
   stosw
   stosw
   stosw
   stosw
   stosw
   stosw
   add di,16
   dec cx
        jnz lop
   

;    out 3c4H, 0302H   ;Mask reg; disable write to map 2
;    out 3c4H, 0304H  ;Memory Mode reg; alpha, ext mem, interleaved
;    out 3ceH, 1005H   ;Graphics Mode reg; interleaved access
;    out 3ceH, 0e06H   ;Graphics Misc reg; regen buffer to b800:0
;    out 3ceH, 0004H   ;Graphics ReadMapSelect reg; disable read chargen RAM

        ;restore VGA state to normal operation
        mov            ax, 0302h
        out            dx, ax
   IODELAY
        mov            ax, 0304h
        out            dx, ax
   IODELAY
        mov            dx, 03ceh
        mov            ax, 1005h
        out            dx, ax
   IODELAY
        mov            ax, 0E06h
        out            dx, ax
   IODELAY
   mov ax,0004h
   out dx,ax
   IODELAY


mov ax, 0B800h
mov es,ax
mov di,0
mov al,'O'       ; буква O
mov ah,7        ; белым по черному
mov cx,10        ; один раз
rep stosw

   hlt
 
regs825:
; MISC
db    67h, 00h
; SEQ
db    03h, 00h, 03h, 00h, 02h
; CRTC
db    5Fh, 4Fh, 50h, 82h, 55h, 81h, 0BFh, 1Fh
db    00h, 4Fh, 0Dh, 0Eh, 00h, 00h, 00h, 50h
db    9Ch, 0Eh, 8Fh, 28h, 1Fh, 96h, 0B9h, 0A3h
db    0FFh
; GC
db    00h, 00h, 00h, 00h, 00h, 10h, 0Eh, 00h
db    0FFh
; AC
db    00h, 01h, 02h, 03h, 04h, 05h, 14h, 07h
db    38h, 39h, 3Ah, 3Bh, 3Ch, 3Dh, 3Eh, 3Fh
db    0Ch, 00h, 0Fh, 08h, 00h

Font: здесь шрифт

2) Пройти почти весь POST, заинициализировать 8237,8259,8255, настроить стек. Загрузить видео-BIOS из VGA карты. То есть практически ничем не отличится от обычного BIOS, ну разве что на BOOT управление не передавать. Смысл?

Vic3Dexe wrote:
2. Если память вынуть, оставить сколько-то по минимуму... Я не знаю зачем :) Просто, когда непонятно что и где искать, я обычно меняю хоть что-нибудь.


По-моему пробовал оставить только один банк 512Кб. Поведение не меняется.

Vic3Dexe wrote:
Да, вот только в голову пришло - а как перейти от состояния "все работает" (ну, после тонны перезагрузок) до состояния "глючит"? Дать отстояться? Или как-то можно дестабилизировать?


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

Тут еще подумалось... А не может БП такую подлянку устраивать? Я ж от ATX питаю, гружу только по +5V линии. Хотя пробовал воткнуть просто так еще вместе с поиском МФМ винт. Поведение не меняется. Еще по схеме блокировочные у автора 0.15мкФ везде. У меня 0.1мкФ везде. На осциле питание шумит немного, но не проседает, помех таких уж чтоб прям в труху все - нет. Не знаю.

_________________
https://t.me/tronix_blog


19 Nov 2017 00:00
Profile
Doomed

Joined: 18 Nov 2013 02:38
Posts: 662
Location: Москва
Reply with quote
Вот еще посмотрел фото собранных плат, у всех стоят 541РУ2А, у меня 541РУ2 без буквы. Судя по даташитам без буквы <= 120нс, с буквой А <= 90нс...

_________________
https://t.me/tronix_blog


19 Nov 2017 02:07
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Tronix wrote:
Да я сам мало что понимаю. Похоже виснет "по разному".

А аппаратно пошагово нет возможности пройти?
А то всё напоминает "бессмысленное гадание на жуткой кофейной гуще"...
Есть же "пошаговая схема"... :-?

Я сейчас более простую схему отлаживаю, но докатился до пошагового прохода,
и увидел, что в динамике я этот глюк у себя низачто бы не отловил... :osad:

_________________
iLavr


19 Nov 2017 02:47
Profile
Doomed

Joined: 25 Aug 2009 07:02
Posts: 459
Location: Москва
Reply with quote
Tronix wrote:
Вот еще посмотрел фото собранных плат, у всех стоят 541РУ2А, у меня 541РУ2 без буквы. Судя по даташитам без буквы <= 120нс, с буквой А <= 90нс...

В те времена нужно было постараться сделать так так, чтобы любая биполярная статика вдруг не поспевала за любым n-МОП. ИМХО ни разу не фактор. Если схема не косячная в принципе. (призадумался ... хм. 132РУ скорее исключение)


19 Nov 2017 03:44
Profile
Doomed

Joined: 16 Dec 2014 11:58
Posts: 370
Location: Киев
Reply with quote
Tronix wrote:
Как VGA заинициализить?

Да, я как-то упустил этот момент... Ладно, проехали.
Tronix wrote:
А не может БП такую подлянку устраивать?

Аналогично, подумал про питание уже когда спать пошел.
Я свой циклон+8086 запитывал напрямую от +5 и +3.3 АТХ. Проблем не было.
А с POWER_GOOD все нормально?
Если БП заменить?


19 Nov 2017 06:39
Profile
Doomed

Joined: 18 Nov 2013 02:38
Posts: 662
Location: Москва
Reply with quote
Другого блока питания нет под рукой. Но не думаю, что дело в нем. Смотрел осцилом питание с момента включения и после - четкие 5.01V, стоят как влитые, без пульсаций и просадок.

Тут еще попробовал вчера просто так зашить PC/XT Super BIOS v3.1 - не стартует от слова совсем.

Шагатель.... Шагатель оно конечно, но нужны все равно какие-то средства мониторинга - анализатор там какой-нибудь. Думаю, что проще - паять 32 провода к ША и ШД или просто тупо менять микросхемы на плате одна за одной. Или забить. Склоняюсь уже к последнему.

Хотя наверное попробую сварганить что-то вроде POST карты на LPT, интересно, чего обычный XT биос то не взлетел.

_________________
https://t.me/tronix_blog


20 Nov 2017 03:41
Profile
Doomed

Joined: 16 Dec 2014 11:58
Posts: 370
Location: Киев
Reply with quote
Tronix wrote:
Смотрел осцилом питание

А PWR_GOOD? Он в БП отдельной цепью идет вроде.
Tronix wrote:
Шагатель.... Шагатель оно конечно

Не думаю, что сработает. До вывода строк биоса проходит туева хуча инициализаций. Я бы задолбался столько "шагать", это раз. Второе - есть таймер, который на отдельном генераторе. Боюсь, в этой связке полезут свои собственные глюки.

И вопрос не совсем в тему - а что, 8086 умеет пошагово? Просто по даташиту у него нижний предел частоты - 2 МГц.

Tronix wrote:
Или забить.

А 541РУ поменять на РУ2? Тайминги в полтора раза же. Как по мне - реальное основание для глюкалова. Особенно на фоне "D19 нельзя ставить 1533".
Кстати, есть мысли почему эту долбаную D19 нельзя в 1533? Нагрузочная способность?

upd
1. А VGA часом не та, допиленая "коллективным разумом"? Если она, надо брать другую. Иначе мух от котлет не отличить будет.
2. зачеркнуто
3. А как виснет чаще - с дискотекой на шине, или со стабильным HLT со стороны проца? Если второе, то адреса стопа на шине совпадают?


Last edited by Vic3Dexe on 20 Nov 2017 04:31, edited 2 times in total.



20 Nov 2017 04:15
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 143 posts ]  Go to page Previous  1 ... 4, 5, 6, 7, 8, 9, 10  Next

Who is online

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