nedoPC.org

Community of electronics hobbyists established in 2002

...
Atom Feed | View unanswered posts | View active topics It is currently 13 Dec 2018 07:21



Reply to topic  [ 258 posts ]  Go to page 1, 2, 3, 4, 5 ... 18  Next
CGA и CF IDE адаптер на Altera MAX10 
Author Message
Doomed

Joined: 30 Nov 2013 12:08
Posts: 650
Location: WWW
Reply with quote
Блин, никогда еще не затягивал так работу над проектом... Начал в сентябре, в октябре уже платы готовы были, а заставил себя все собрать в кучу только сегодня...

Основной целью проекта является знакомство с относительно свежим семейством MAX10, а также тестирование домашней "производственной линии" (установщик, трафаретный принтер, новая печка и т.д.). Побочным продуктом процесса, надеюсь, будет являться плата ISA 8, на которой установлены разъем для CF карты и колокольчик для видеосигнала, что позволяет сделать контроллер IDE для работы с CF картой, как с диском, а также выводить разные сигналы (хочу попробовать получить композитный цветной CGA сигнал, если желание еще останется).

Image

Пока даже в компьютер плату не вставлял, просто убедился, что программатор ее видит - светодиодами помигал. Сейчас пытаюсь понять, как запрограммировать этот долбанный MAX10 так, чтобы программа осталась во внутренней flash- памяти и не исчезала по выключению питания. Попытка просто загрузить файл pof успехом не увенчалась - после 2% - 10% выдается ошибка загрузки. Очень надеюсь, что просто делаю что-то не так, а не "железная" ошибка на плате...


09 May 2017 12:33
Profile
Doomed

Joined: 16 Dec 2014 12:58
Posts: 359
Location: Киев
Reply with quote
newold86 wrote:
чтобы программа осталась во внутренней flash- памяти

А она там есть? Флешка в смысле. Мануалы не читал, но MAX как бы намекает...
newold86 wrote:
Очень надеюсь, что просто делаю что-то не так, а не "железная" ошибка на плате...

Питания приходят куда следует? 1.2В там вообще используется? Если да, то проверьте, что там реально 1.2, т.к. такие стабилизаторы не умеют выдавать столь малое напряжение без нагрузки. 100 Ом параллельно решают. У меня без этого "довеска" 2 с копейками выдавал.
Блокировочные кондеры где? Снизу? Сколько?

Схемку бы... Хотя бы в части разъема программинга. Тогда можно будет не гадать.

Такое впечатление, что плату разводили двумя разными софтинами. Сначала как обычно, потом топором. Скругления характерные.
Сопля к резюку в углу платы умилила :)

Вообще плата очень симпатичная, ручной пайкой такое не сделаешь.
Только не понял, зачем вообще композит/CGA? Куда его того - изображать?


09 May 2017 16:10
Profile
Doomed

Joined: 30 Nov 2013 12:08
Posts: 650
Location: WWW
Reply with quote
Для начала - за время, пока форум лежал, удалось разобраться с проблемой записи во flash. Злой до некуда - все дело в долбанном USB Blaster'е от фирмы Terasic ! Всегда считал, что Terasic делает приличные железки, но вот с Blaster'ами от других производителей вообще никаких проблем нет...

Vic3Dexe wrote:
newold86 wrote:
чтобы программа осталась во внутренней flash- памяти

А она там есть? Флешка в смысле. Мануалы не читал, но MAX как бы намекает...

Как раз захотел поиграться с MAX 10 по причине того, что там внутри уже есть конфигурационная flash'ка, не нужно снаружи цеплять.

Vic3Dexe wrote:
Питания приходят куда следует? 1.2В там вообще используется? Если да, то проверьте, что там реально 1.2, т.к. такие стабилизаторы не умеют выдавать столь малое напряжение без нагрузки. 100 Ом параллельно решают. У меня без этого "довеска" 2 с копейками выдавал.

Ради интереса даже попробовал - конкретно мои стабилизаторы вообще без нагрузки (вернее, с нагрузкой в виде вольтметра) показывают идеальное напряжение

Vic3Dexe wrote:
Блокировочные кондеры где? Снизу? Сколько?

У всего есть оборотная сторона :)

Attachment:
CGACF-b.jpg
CGACF-b.jpg [ 216.23 KiB | Viewed 4003 times ]


Vic3Dexe wrote:
Такое впечатление, что плату разводили двумя разными софтинами. Сначала как обычно, потом топором. Скругления характерные.

Наверное, да. Наверное - потому что из-за отсутствия времени (а если честно, больше из-за лени) решил отдать разводку на outsourcing. Процесс прошел не очень гладко, но пока вроде по разводке замечаний нет...

Vic3Dexe wrote:
Сопля к резюку в углу платы умилила :)

Это о чем речь ?

Vic3Dexe wrote:
Вообще плата очень симпатичная, ручной пайкой такое не сделаешь.

А скорость изготовления какая ! Даже при том, что по такому процессу (с трафаретами) проходил первый раз в жизни, плюс по ходу все оборудование приходилось настраивать (да еще предварительно разбираясь, как работает).
Единственное, похоже, нужно повозиться еще с термопрофилем для печки - пайка не очень блестит, неаккуратненько получается :)

Vic3Dexe wrote:
Только не понял, зачем вообще композит/CGA? Куда его того - изображать?

Ну как - подключать к видеовходу NTSC телевизора, чтобы увидеть 88MPH :)


13 May 2017 00:12
Profile
Doomed

Joined: 08 Apr 2013 05:04
Posts: 441
Location: 213.247.249.139
Reply with quote
Зочод за бга! Сколько слоев?
И почему-то кажется, что очень много пустого места )
Ну и было бы здорово почитать что-то вроде "паяем бга дома" :)


13 May 2017 00:51
Profile
Doomed

Joined: 30 Nov 2013 12:08
Posts: 650
Location: WWW
Reply with quote
angry_troll wrote:
Зочод за бга! Сколько слоев?

Слои не экономил, поэтому 6

angry_troll wrote:
И почему-то кажется, что очень много пустого места )

Как уже говорил, это просто ознакомление с новой элементной и инструментальной базой, поэтому сама плата - побочный продукт основного процесса :)

angry_troll wrote:
Ну и было бы здорово почитать что-то вроде "паяем бга дома" :)

Боюсь, что в данном случае бессмысленно - мое оборудование не подпадает под понятие типичного домашнего...


13 May 2017 01:13
Profile
Doomed

Joined: 16 Dec 2014 12:58
Posts: 359
Location: Киев
Reply with quote
newold86 wrote:
Vic3Dexe wrote:
Сопля к резюку в углу платы умилила :)

Это о чем речь ?

Это речь о резисторе (ну вроде это резистор) на первой фотке в правом верхнем углу платы. И о длиннннющей дороге к нему. Хотя места на плате немеряно.


13 May 2017 03:32
Profile
Doomed

Joined: 30 Nov 2013 12:08
Posts: 650
Location: WWW
Reply with quote
Vic3Dexe wrote:
newold86 wrote:
Vic3Dexe wrote:
Сопля к резюку в углу платы умилила :)

Это о чем речь ?

Это речь о резисторе (ну вроде это резистор) на первой фотке в правом верхнем углу платы. И о длиннннющей дороге к нему. Хотя места на плате немеряно.

Это светодиод, показывающий активность CF карты, поэтому там и расположен.


13 May 2017 04:13
Profile
Doomed

Joined: 30 Nov 2013 12:08
Posts: 650
Location: WWW
Reply with quote
Блин, какая-то странная засада... Внутри FPGA создал ROM, который 100% надежно читается при тестировании. Но вот при выполнении программы из него (когда POST обнаруживает модуль расширения и передает на него управление) происходят регулярные сбои - простая программа из десятка команд выполняется один-два раза из пары десятков попыток...
Просто не пойму, чем может чтение области памяти отличаться от выполнения программы из этой-же области ???


14 May 2017 13:31
Profile
Senior

Joined: 27 Jul 2015 16:20
Posts: 120
Reply with quote
Не совсем понятно условие задачи.
Чем тестируется ROM? Биосом?
Это настоящий IBM PC или реплика на ПЛИС?


14 May 2017 14:05
Profile
Doomed

Joined: 08 Apr 2013 05:04
Posts: 441
Location: 213.247.249.139
Reply with quote
Драйвер видеокарты очевидно.

На код можно взглянуть? :)


14 May 2017 14:39
Profile
Doomed

Joined: 16 Dec 2014 12:58
Posts: 359
Location: Киев
Reply with quote
newold86 wrote:
который 100% надежно читается при тестировании

100% чего-то у меня всегда вызывют сомнения :)
Как проверяли? Контрольная сумма совпадает хотя бы?
newold86 wrote:
происходят регулярные сбои

Как выглядят?
newold86 wrote:
простая программа из десятка команд

angry_troll wrote:
На код можно взглянуть?

Поддерживаю.
newold86 wrote:
чем может чтение области памяти отличаться от выполнения программы из этой-же области

Ну, если говорить о защищенном режиме + пейджинг... :roll:
А на физическом уровне - ничем.


14 May 2017 15:49
Profile
Doomed

Joined: 30 Nov 2013 12:08
Posts: 650
Location: WWW
Reply with quote
Чуть подробнее - внутри MAX 10 запущено устройство, имитирующее 8К ROM BIOS по адресу D800 (пробовал разные адреса - ничего не меняется). Плата вставлена в материнскую плату либо настоящей XT, либо моей XTC3 - тоже ничего не меняется (по крайней мере, достаточно, чтобы я понял закономерность).

Программа в ROM BIOS - просто вывод символа в центр экрана (через прямой доступ к буферу экрана) и hlt после этого.

Если в POST основного BIOS'а добавляю чтение содержимого моего BIOS'а в область RAM, а потом в цикле постоянное чтение опять и сравнение с имеющейся копией, то ошибок не возникает даже после часа такой работы.

Если разрешаю POST'у идти своим путем, то мой BIOS обнаруживается, контрольная сумма совпадает (вроде бы всегда), но при передаче управления POST'ом на мой BIOS в подавляющем большинстве случаев происходит либо зависание, либо вылет в непонятное месте и т.д. Только изредка все проходит нормально - на экране появляется требуемый символ...


14 May 2017 23:56
Profile
Doomed

Joined: 30 Nov 2013 12:08
Posts: 650
Location: WWW
Reply with quote
Кстати, давно хотел разобраться в следующем вопросе... В оригинальном BIOS от PC(/XT) есть такой кусок (где проверяется наличие BIOS'ов расширения):

Code:
ROM_SCAN_1:
         MOV      DS,DX
         SUB      BX,BX            ; SET BX=0000
         MOV      AX,[BX]             ; GET 1ST WORD FROM MODULE
         CLD
         CLD                     ; BUS SETTLING
         CMP      AX,0AA55H         ; = TO ID WORD?
         JNZ      NEXT_ROM         ; PROCEED TO NEXT ROM IF NOT
         CALL      ROM_CHECK         ; GO CHECK OUT MODULE
         JMP      SHORT ARE_WE_DONE   ; CHECK FOR END OF ROM SPACE
NEXT_ROM:
         ADD      DX,0080H            ; POINT TO NEXT 2K ADDRESS
ARE_WE_DONE:
         CMP      DX,0F000H         ; AT F0000 YET?
         JL      ROM_SCAN_1         ; GO CHECK ANOTHER ADD. IF NOT


Так вот - нафига там этот самый BUS SETTLING ???


15 May 2017 02:52
Profile
Doomed

Joined: 16 Dec 2014 12:58
Posts: 359
Location: Киев
Reply with quote
newold86 wrote:
Программа в ROM BIOS - просто вывод символа в центр экрана (через прямой доступ к буферу экрана) и hlt после этого.

На это десяток строк ушел? Зачем в центр, лишние вычисления - лишние баги.
CLI перед HLT есть?
Code:
mov bx,0B800h
mov ES,bx
mov word [ES:0],0741h
cli
hlt
jmp $


15 May 2017 07:18
Profile
Doomed

Joined: 30 Nov 2013 12:08
Posts: 650
Location: WWW
Reply with quote
Vic3Dexe wrote:
На это десяток строк ушел?

Насчет десятка команд - это фигурально выражаясь, у меня код идентичен, за исключением заранее просчитанного смещения (просто в средине экрана виднее)...

Но вообще проблему победил, только пока не до конца понимаю суть (каким образом одна вещь мешала, да еще и не всегда), поэтому объяснять пока нет смысла :(

А так:

Attachment:
_Boot.jpg
_Boot.jpg [ 293.32 KiB | Viewed 3898 times ]


Сейчас пытаюсь понять, как мне на CF карту правильно образ диска с загрузочной системой записать...


15 May 2017 10:07
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 258 posts ]  Go to page 1, 2, 3, 4, 5 ... 18  Next

Who is online

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