Контроллер 80186

8-битные микроконтроллеры и микропроцессоры от Intel и их клоны, а также компьютеры на них построенные

Moderator: Shaos

Tronix
Doomed
Posts: 662
Joined: 18 Nov 2013 02:38
Location: Москва

Контроллер 80186

Post by Tronix »

Вот, обнаружил на некой плате -принтсервере сабж, а именно Am186-40, то есть 40Mhz, 100 ног. К сожалению, сама плата принтсервера убита, со следами ремонта в районе стаба напряжения, но надеюсь проц не задело.

А так прикольная штука-то: встроенный контроллер прерываний, встроенный DMA, встроенный таймер и тактуется просто от кварца. Со стороны нужно только SRAMу прикрутить и флешку. Так как шина 16-битная, то лучше для простоты две срамы и две флешки. Чет/нечет. И защелку на адрес.

Внутре, помимо всего прочего, уже есть UART, походу есть даже SPI. Штук 7 или 10 просто CS, чтоб на периферию дешефраторы не городить. Когда HLT, типа уходит в сон до первого прерывания (энергоснабжение). Просто GPIO штук 16. Есть какая-то приблуда для рефреша DRAM, но насколько понял, это просто сигнал, который говорит что можно сейчас отрефрешить память. Заниматься самим рефрешем все равно нужно самому, поэтому с динамикой сложно. Статика, да.

Очень на мой взгляд удобно недо-компик собрать. 40Mhz!!! Этож адский ад!
Tronix
Doomed
Posts: 662
Joined: 18 Nov 2013 02:38
Location: Москва

Re: Контроллер 80186

Post by Tronix »

Вот эта плата:
Image

Звиняюсь за качество, фотканул на утюг, и батарейки сели. Виновник торжества в левом верхнем углу. Там же срама 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.
Tronix
Doomed
Posts: 662
Joined: 18 Nov 2013 02:38
Location: Москва

Re: Контроллер 80186

Post by Tronix »

Слил прошивки и склеил в одну: https://dl.dropboxusercontent.com/u/331 ... server.rar
Судя по всему принт-сервер от SerComm , правда модель так и не известна...

Перефоткал как мог: http://habrastorage.org/files/e09/efa/e ... 17411e.jpg
Tronix
Doomed
Posts: 662
Joined: 18 Nov 2013 02:38
Location: Москва

Re: Контроллер 80186

Post by Tronix »

Погуляв по интернету, нашелся некий E86MON от Amd - это типа монитор для сабжа. Работает по RS232, который в камне. Ессно для сувания в КОМ-порт нужен TTL конвертер уровней. Умеет вроде как заливать програмки в память, прошивать из-под себя флеш ну и основные команды обычного дебагера.

Вот думаю попробовать зашить его. Правда PLCC панелек нету, одну нашел а одну - нет. Каждый раз отпаивать-припаивать 29f002 муторно. Завтра еще поищу. И сниму PHY тот что греется. Плюс надо подпаяться к RX/TX прям на камне, ибо на плате не разведено.
Tronix
Doomed
Posts: 662
Joined: 18 Nov 2013 02:38
Location: Москва

Re: Контроллер 80186

Post by Tronix »

Выковырнул недостающую панельку из старого cd-rom, запаялся:

Image

Подпаялся к ногам проца RX/TX. Зашил значится E86MON, предварительно разбив его на чет/нечет. А проц то у меня и не стартует. Смотрю шину данных 8 бит (AD0- AD7) - при включении просто все в высоком уровне.

Подозрение, что куда-то делся /RES. Ща буду смареть....
Иногда стартует, когда коснешся рукой куда-нибудь... Что-то где-то отгорело видимо.
/RES есть в наличии...
Tronix
Doomed
Posts: 662
Joined: 18 Nov 2013 02:38
Location: Москва

Re: Контроллер 80186

Post by Tronix »

Не знаю, вообщем /RESET трогаю пинцетом, вроде заводится. Начало обмена на AD0-AD7 с оригинальной прошивкой:

Image

А с E86MON молчек в терминале :( Ладно, вроде бы проц живой, значит когда-нибудь можно развести платку тестовую. А эту замучался вызванивать - многослойка, на просвет ничего не видно...
Tronix
Doomed
Posts: 662
Joined: 18 Nov 2013 02:38
Location: Москва

Re: Контроллер 80186

Post by Tronix »

Хмм... Посмотрел сорцы, они скомпилировали для ER серии. Походу из-за этого незапуск. Попробую пересобрать для EM, вот только нужно древний msvc для доса найти...
User avatar
Stan
Banned
Posts: 397
Joined: 04 Jan 2013 10:09
Location: 95.24.178.158

Re: Контроллер 80186

Post by Stan »

Tronix wrote:А так прикольная штука-то: встроенный контроллер прерываний, встроенный DMA,
встроенный таймер и тактуется просто от кварца...
...
По 80186 мне как-то попадалось русскоязычное описание:
http://toptehnika.ru/content/view/478/33/
ссылка где-то здесь на форуме была...
Tronix
Doomed
Posts: 662
Joined: 18 Nov 2013 02:38
Location: Москва

Re: Контроллер 80186

Post by Tronix »

Stan wrote:По 80186 мне как-то попадалось русскоязычное описание:
http://toptehnika.ru/content/view/478/33/
ссылка где-то здесь на форуме была...
Спасибо, посмотрю. А пока поздно ночью все-таки удалось пересобрать E86MON для всех типов семейств 186, в том числе и для EM (как у меня). На попробовать уже времени не хватило.
Tronix
Doomed
Posts: 662
Joined: 18 Nov 2013 02:38
Location: Москва

Re: Контроллер 80186

Post by Tronix »

Казалось бы, простая вещь, а если вчитаться в даташит http://support.amd.com/TechDocs/19713.pdf оказывается, что не все так просто. Для правильной инициализации нужно настроить правильно wait states у SRAM, будет ли проц ждать сигнала /READY (по умолчанию ждет) и еще кучку конфигурационных регистров.

Не распространенный камень, в отличии от всяких AVR/PIC/ARM/8051. Схем нет, исходников-примеров нет во всем инете. Подозрительно -))
User avatar
Stan
Banned
Posts: 397
Joined: 04 Jan 2013 10:09
Location: 95.24.178.158

Re: Контроллер 80186

Post by Stan »

Tronix wrote:Не распространенный камень, в отличии от всяких AVR/PIC/ARM/8051. Схем нет, исходников-
примеров нет во всем инете. Подозрительно -))
Если Вы это про 80186, то плоховато искали "во всем инете". :rotate:

http://www.kmitl.ac.th/~kswichit/c186/c186sbc.htm

The new C186SBC built with 16-bit Intel Embedded Microprocessor, 80C186EB

Image
Tronix
Doomed
Posts: 662
Joined: 18 Nov 2013 02:38
Location: Москва

Re: Контроллер 80186

Post by Tronix »

Ух ты, проглядел я ее.
User avatar
Stan
Banned
Posts: 397
Joined: 04 Jan 2013 10:09
Location: 95.24.178.158

Re: Контроллер 80186

Post by Stan »

Tronix wrote:Ух ты, проглядел я ее.
Точно... проглядели, если учесть, что ссылка с нашего форума... :D

viewtopic.php?f=84&t=9943&start=15#p96371

Lavr всё пытался найти аналогии между 80188, 80186 и своим детищем - V40.

Если искать что-то еще, то лучше по фразе:"Single Board Computer (SBC) 80186"
Я просматривал больше года назад - попадались pdf-мануалы.
Tronix
Doomed
Posts: 662
Joined: 18 Nov 2013 02:38
Location: Москва

Re: Контроллер 80186

Post by Tronix »

Залез в исходники того самого E86MON, хочу практически сразу после старта начать валить в UART какой-нибудь символ, пускай "2". Оставляю настройку UMCS и LMCS:

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
Не пойму, это везде так надо или только пока еще не настроен UMCS и LMCS?

На попробовать уже времени не остается. Немного утомляет конечно процесс прошивки - собери в MASM в виртуалке, из виртуалки копирни на диск, запусти прогу которая разобьет на чет/нечет, перенеси файло на комп с LPT и программатором, выковырни флехи, прошей, выковырни из программатора флехи и вставь в девайс. Особенно не поотлаживаешься. Эмуляторов никаких нет ((

Но все равно, хочется запустить... Буду еще пробовать.
Tronix
Doomed
Posts: 662
Joined: 18 Nov 2013 02:38
Location: Москва

Re: Контроллер 80186

Post by Tronix »

Нечаянно нашелся некий ApBUILDER от Intel. Заявляют поддержку 186 серии.

Image

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