Контроллер 80186
Moderator: Shaos
-
- Doomed
- Posts: 662
- Joined: 18 Nov 2013 02:38
- Location: Москва
Контроллер 80186
Вот, обнаружил на некой плате -принтсервере сабж, а именно Am186-40, то есть 40Mhz, 100 ног. К сожалению, сама плата принтсервера убита, со следами ремонта в районе стаба напряжения, но надеюсь проц не задело.
А так прикольная штука-то: встроенный контроллер прерываний, встроенный DMA, встроенный таймер и тактуется просто от кварца. Со стороны нужно только SRAMу прикрутить и флешку. Так как шина 16-битная, то лучше для простоты две срамы и две флешки. Чет/нечет. И защелку на адрес.
Внутре, помимо всего прочего, уже есть UART, походу есть даже SPI. Штук 7 или 10 просто CS, чтоб на периферию дешефраторы не городить. Когда HLT, типа уходит в сон до первого прерывания (энергоснабжение). Просто GPIO штук 16. Есть какая-то приблуда для рефреша DRAM, но насколько понял, это просто сигнал, который говорит что можно сейчас отрефрешить память. Заниматься самим рефрешем все равно нужно самому, поэтому с динамикой сложно. Статика, да.
Очень на мой взгляд удобно недо-компик собрать. 40Mhz!!! Этож адский ад!
А так прикольная штука-то: встроенный контроллер прерываний, встроенный DMA, встроенный таймер и тактуется просто от кварца. Со стороны нужно только SRAMу прикрутить и флешку. Так как шина 16-битная, то лучше для простоты две срамы и две флешки. Чет/нечет. И защелку на адрес.
Внутре, помимо всего прочего, уже есть UART, походу есть даже SPI. Штук 7 или 10 просто CS, чтоб на периферию дешефраторы не городить. Когда HLT, типа уходит в сон до первого прерывания (энергоснабжение). Просто GPIO штук 16. Есть какая-то приблуда для рефреша DRAM, но насколько понял, это просто сигнал, который говорит что можно сейчас отрефрешить память. Заниматься самим рефрешем все равно нужно самому, поэтому с динамикой сложно. Статика, да.
Очень на мой взгляд удобно недо-компик собрать. 40Mhz!!! Этож адский ад!
-
- Doomed
- Posts: 662
- Joined: 18 Nov 2013 02:38
- Location: Москва
Re: Контроллер 80186
Вот эта плата:

Звиняюсь за качество, фотканул на утюг, и батарейки сели. Виновник торжества в левом верхнем углу. Там же срама 611024 две штуки, под срамой две флехи 29F002. В этом же районе две защелки 74HC373, буфер 74HC245. И светодиодов две штуки.
Что касается правой части платы - то в правом верхнем углу PHY ethernet DM9102F - он греется прилично, сеть не определяется, наверное отошел к праотцам. В принципе, на нем были обычные PCI сетевки, но такую у себя не нашел (что бы попробовать перемахнуть). По центру неведомый чип EK10A002 SC001/58200001.
Звиняюсь за качество, фотканул на утюг, и батарейки сели. Виновник торжества в левом верхнем углу. Там же срама 611024 две штуки, под срамой две флехи 29F002. В этом же районе две защелки 74HC373, буфер 74HC245. И светодиодов две штуки.
Что касается правой части платы - то в правом верхнем углу PHY ethernet DM9102F - он греется прилично, сеть не определяется, наверное отошел к праотцам. В принципе, на нем были обычные PCI сетевки, но такую у себя не нашел (что бы попробовать перемахнуть). По центру неведомый чип EK10A002 SC001/58200001.
Last edited by Tronix on 07 Mar 2015 03:11, edited 1 time in total.
-
- Doomed
- Posts: 662
- Joined: 18 Nov 2013 02:38
- Location: Москва
Re: Контроллер 80186
Слил прошивки и склеил в одну: https://dl.dropboxusercontent.com/u/331 ... server.rar
Судя по всему принт-сервер от SerComm , правда модель так и не известна...
Перефоткал как мог: http://habrastorage.org/files/e09/efa/e ... 17411e.jpg
Судя по всему принт-сервер от SerComm , правда модель так и не известна...
Перефоткал как мог: http://habrastorage.org/files/e09/efa/e ... 17411e.jpg
-
- Doomed
- Posts: 662
- Joined: 18 Nov 2013 02:38
- Location: Москва
Re: Контроллер 80186
Погуляв по интернету, нашелся некий E86MON от Amd - это типа монитор для сабжа. Работает по RS232, который в камне. Ессно для сувания в КОМ-порт нужен TTL конвертер уровней. Умеет вроде как заливать програмки в память, прошивать из-под себя флеш ну и основные команды обычного дебагера.
Вот думаю попробовать зашить его. Правда PLCC панелек нету, одну нашел а одну - нет. Каждый раз отпаивать-припаивать 29f002 муторно. Завтра еще поищу. И сниму PHY тот что греется. Плюс надо подпаяться к RX/TX прям на камне, ибо на плате не разведено.
Вот думаю попробовать зашить его. Правда PLCC панелек нету, одну нашел а одну - нет. Каждый раз отпаивать-припаивать 29f002 муторно. Завтра еще поищу. И сниму PHY тот что греется. Плюс надо подпаяться к RX/TX прям на камне, ибо на плате не разведено.
-
- Doomed
- Posts: 662
- Joined: 18 Nov 2013 02:38
- Location: Москва
Re: Контроллер 80186
Выковырнул недостающую панельку из старого cd-rom, запаялся:

Подпаялся к ногам проца RX/TX. Зашил значится E86MON, предварительно разбив его на чет/нечет. А проц то у меня и не стартует. Смотрю шину данных 8 бит (AD0- AD7) - при включении просто все в высоком уровне.
Подозрение, что куда-то делся /RES. Ща буду смареть....
Иногда стартует, когда коснешся рукой куда-нибудь... Что-то где-то отгорело видимо.
/RES есть в наличии...
Подпаялся к ногам проца RX/TX. Зашил значится E86MON, предварительно разбив его на чет/нечет. А проц то у меня и не стартует. Смотрю шину данных 8 бит (AD0- AD7) - при включении просто все в высоком уровне.
Подозрение, что куда-то делся /RES. Ща буду смареть....
Иногда стартует, когда коснешся рукой куда-нибудь... Что-то где-то отгорело видимо.
/RES есть в наличии...
-
- Doomed
- Posts: 662
- Joined: 18 Nov 2013 02:38
- Location: Москва
Re: Контроллер 80186
Не знаю, вообщем /RESET трогаю пинцетом, вроде заводится. Начало обмена на AD0-AD7 с оригинальной прошивкой:

А с E86MON молчек в терминале
Ладно, вроде бы проц живой, значит когда-нибудь можно развести платку тестовую. А эту замучался вызванивать - многослойка, на просвет ничего не видно...

А с E86MON молчек в терминале

-
- Doomed
- Posts: 662
- Joined: 18 Nov 2013 02:38
- Location: Москва
Re: Контроллер 80186
Хмм... Посмотрел сорцы, они скомпилировали для ER серии. Походу из-за этого незапуск. Попробую пересобрать для EM, вот только нужно древний msvc для доса найти...
-
- Banned
- Posts: 397
- Joined: 04 Jan 2013 10:09
- Location: 95.24.178.158
Re: Контроллер 80186
По 80186 мне как-то попадалось русскоязычное описание:Tronix wrote:А так прикольная штука-то: встроенный контроллер прерываний, встроенный DMA,
встроенный таймер и тактуется просто от кварца...
...
http://toptehnika.ru/content/view/478/33/
ссылка где-то здесь на форуме была...
-
- Doomed
- Posts: 662
- Joined: 18 Nov 2013 02:38
- Location: Москва
Re: Контроллер 80186
Спасибо, посмотрю. А пока поздно ночью все-таки удалось пересобрать E86MON для всех типов семейств 186, в том числе и для EM (как у меня). На попробовать уже времени не хватило.Stan wrote:По 80186 мне как-то попадалось русскоязычное описание:
http://toptehnika.ru/content/view/478/33/
ссылка где-то здесь на форуме была...
-
- Doomed
- Posts: 662
- Joined: 18 Nov 2013 02:38
- Location: Москва
Re: Контроллер 80186
Казалось бы, простая вещь, а если вчитаться в даташит http://support.amd.com/TechDocs/19713.pdf оказывается, что не все так просто. Для правильной инициализации нужно настроить правильно wait states у SRAM, будет ли проц ждать сигнала /READY (по умолчанию ждет) и еще кучку конфигурационных регистров.
Не распространенный камень, в отличии от всяких AVR/PIC/ARM/8051. Схем нет, исходников-примеров нет во всем инете. Подозрительно -))
Не распространенный камень, в отличии от всяких AVR/PIC/ARM/8051. Схем нет, исходников-примеров нет во всем инете. Подозрительно -))
-
- Banned
- Posts: 397
- Joined: 04 Jan 2013 10:09
- Location: 95.24.178.158
Re: Контроллер 80186
Если Вы это про 80186, то плоховато искали "во всем инете".Tronix wrote:Не распространенный камень, в отличии от всяких AVR/PIC/ARM/8051. Схем нет, исходников-
примеров нет во всем инете. Подозрительно -))

http://www.kmitl.ac.th/~kswichit/c186/c186sbc.htm
The new C186SBC built with 16-bit Intel Embedded Microprocessor, 80C186EB
-
- Doomed
- Posts: 662
- Joined: 18 Nov 2013 02:38
- Location: Москва
-
- Banned
- Posts: 397
- Joined: 04 Jan 2013 10:09
- Location: 95.24.178.158
Re: Контроллер 80186
Точно... проглядели, если учесть, что ссылка с нашего форума...Tronix wrote:Ух ты, проглядел я ее.

viewtopic.php?f=84&t=9943&start=15#p96371
Lavr всё пытался найти аналогии между 80188, 80186 и своим детищем - V40.
Если искать что-то еще, то лучше по фразе:"Single Board Computer (SBC) 80186"
Я просматривал больше года назад - попадались pdf-мануалы.
-
- Doomed
- Posts: 662
- Joined: 18 Nov 2013 02:38
- Location: Москва
Re: Контроллер 80186
Залез в исходники того самого E86MON, хочу практически сразу после старта начать валить в UART какой-нибудь символ, пускай "2". Оставляю настройку UMCS и LMCS:
Дальше там прыжок на определение размера срамы, оставил его, и сразу после этого вставляю свой говнокодес:
Включаю - в терминале молчек. Смотрю в лог анализатор - на шине что-то молотит, но если сначала визуально идут разные команды, то спустя какое-то время визуально начинается повторяющийся паттерн - возможно крутит какой-то цикл, возможно мой цикл. Но в терминале - не але.
Потом вспомнил про стек. SP походу дела у меня не настроен, смотрит чуть ли не в ПЗУ, или неведомо куда. Это раз. Два - это они типа пишут - юзайте
Не пойму, это везде так надо или только пока еще не настроен UMCS и LMCS?
На попробовать уже времени не остается. Немного утомляет конечно процесс прошивки - собери в MASM в виртуалке, из виртуалки копирни на диск, запусти прогу которая разобьет на чет/нечет, перенеси файло на комп с LPT и программатором, выковырни флехи, прошей, выковырни из программатора флехи и вставь в девайс. Особенно не поотлаживаешься. Эмуляторов никаких нет ((
Но все равно, хочется запустить... Буду еще пробовать.
Code: Select all
mov ax, CS_UMCS_512K+CS_WAIT3+CS_IGXRDY+CS_UMCS_RESERVED ;ПЗУ-хи
out dx,al
; setup LMCS register to cover entire RAM area at 0 wait states
;
mov dx, CS_LMCS ;срама
mov ax, CS_LMCS_512K+CS_WAIT0+CS_IGXRDY
out dx,al
Code: Select all
serial_init:
mov ax,64 ; 19200 @40MHz
mov dx,0FF88h
out dx,al
mov ax,12 ; mode 1 asynchronous 8 N 1
mov dx,0FF80h
out dx,ax
forever:
mov al,'2'
call cout
jmp forever
; send 8-bit character in al to terminal
; entry: al
cout: push ax
mov dx,0FF82h
cout1: in al,dx
test al,40h; test TXE
jz cout1; wait until TXE = 1
pop ax
mov dx,0FF84h
out dx,al
ret
Потом вспомнил про стек. SP походу дела у меня не настроен, смотрит чуть ли не в ПЗУ, или неведомо куда. Это раз. Два - это они типа пишут - юзайте
Code: Select all
mov ax,blabla
out dx,al ; AL - а не AX
На попробовать уже времени не остается. Немного утомляет конечно процесс прошивки - собери в MASM в виртуалке, из виртуалки копирни на диск, запусти прогу которая разобьет на чет/нечет, перенеси файло на комп с LPT и программатором, выковырни флехи, прошей, выковырни из программатора флехи и вставь в девайс. Особенно не поотлаживаешься. Эмуляторов никаких нет ((
Но все равно, хочется запустить... Буду еще пробовать.
-
- Doomed
- Posts: 662
- Joined: 18 Nov 2013 02:38
- Location: Москва
Re: Контроллер 80186
Нечаянно нашелся некий ApBUILDER от Intel. Заявляют поддержку 186 серии.

Похоже прадедушка современных CubeMX для STM32, Grace для MSP430 и прочих конфигураторов микроконтроллеров мышкой. Просто оставлю ссылку здесь, чтоб не потерять. Возможно попробую позже поиграться.
Похоже прадедушка современных CubeMX для STM32, Grace для MSP430 и прочих конфигураторов микроконтроллеров мышкой. Просто оставлю ссылку здесь, чтоб не потерять. Возможно попробую позже поиграться.