Радио-86РК на SRAM 32K
Moderator: Shaos
-
- Senior
- Posts: 139
- Joined: 11 Jun 2012 07:30
Радио-86РК на SRAM 32K (2018)
Схема прототипа мало отличается от схемы 2012 года: удалены ROM-диск, адаптер PS/2 клавиатуры и источник питания на модулях, обеспечен запуск монитора с адреса F800 (а не E000, как в первоначальном варианте). К589ИР12 заменен на на ИР33/LS573 + инвертор, а К155ИР13 - на 2 шт. ИР11/LS194.
В феврале 2024 года Shaos добавил сюда вторую картинку для пущей понятности:
В феврале 2024 года Shaos добавил сюда вторую картинку для пущей понятности:
You do not have the required permissions to view the files attached to this post.
Last edited by alexcp on 02 Jan 2019 19:42, edited 8 times in total.
-
- Admin
- Posts: 23992
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Радио-86РК на SRAM 32K
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Senior
- Posts: 139
- Joined: 11 Jun 2012 07:30
Re: Радио-86РК на SRAM 32K
Да, иду на мировой рекорд
Эмуляторы, конечно, существенно компактнее, как на ESP8266, так и на PIC32.
Кстати, существуют SMT версии для 8255 и 8085, так что можно еще ужаться по размерам, да и раскладывать SMT по плате существенно легче, чем паять каждую ногу. С другой стороны, я не вижу use case'а для суперкомпактного компьютера, которому нужны дисплей и клавиатура.

Эмуляторы, конечно, существенно компактнее, как на ESP8266, так и на PIC32.
Кстати, существуют SMT версии для 8255 и 8085, так что можно еще ужаться по размерам, да и раскладывать SMT по плате существенно легче, чем паять каждую ногу. С другой стороны, я не вижу use case'а для суперкомпактного компьютера, которому нужны дисплей и клавиатура.
Last edited by alexcp on 15 Dec 2018 19:39, edited 2 times in total.
-
- Devil
- Posts: 716
- Joined: 30 Nov 2013 11:08
- Location: WWW
Re: Радио-86РК на SRAM 32K
Красиво... Я давно сам думал сделать что-то подобное, но был занят другими проектами...
Насчет раскладывания SMT - я настолько обленился, что даже при отсутствии SMT версий каких-то микросхем, просто использую SMT панельки. Еще уменьшил базовый размер рассыпухи до 0603 (начинал с 1210, долгое время был на 0805), вообще красота - места почти не занимает. 0402 приходится использовать только в виде блокировочных конденсаторов питания для BGA корпусов - там между ногами бОльшие размеры не помещаются...
Насчет раскладывания SMT - я настолько обленился, что даже при отсутствии SMT версий каких-то микросхем, просто использую SMT панельки. Еще уменьшил базовый размер рассыпухи до 0603 (начинал с 1210, долгое время был на 0805), вообще красота - места почти не занимает. 0402 приходится использовать только в виде блокировочных конденсаторов питания для BGA корпусов - там между ногами бОльшие размеры не помещаются...
-
- Senior
- Posts: 139
- Joined: 11 Jun 2012 07:30
Re: Радио-86РК на SRAM 32K
На мой взгляд, использование SMT в самоделках - это вопрос отчасти навыков, отчасти наличия соответствующего оборудования.
Например, SOIC и 1210/1206 хорошо видно невооруженным глазом, их легко паять вручную, и только для контроля качества нужна лупа. SSOP и 0805/0603 без лупы паять неудобно, а 0402 и мельче, думаю, и невозможно. Удобен монтажный микроскоп, но его нужно купить и куда-то поставить. Пайка горячим воздухом решает часть проблем, в том числе ремонта/rework, но требует наличия фена. Reflow oven позволяет, например, уверенно использовать DFN/QFN, но опять же, требует денег и места, а также трафаретов, особенно для мелких (0603) и fine pitch (<=0.65мм) деталей.
Если все это оборудование иметь, то тогда можно быстро и удобно собирать довольно сложные вещи, но они оказываются недоступны для повторения тем, у кого нет соответствующего оборудования и опыта работы с ним, так что не все смогут приобщиться. Например, готовую плату под QFN с шагом выводом 0.4мм невозможно собрать без горячего воздуха и трудно - без трафарета. С другой стороны, многие современные компоненты существуют только в SMT, и навык работы с ними приходит с опытом.
Есть, наверное, какая-то золотая середина.
Например, SOIC и 1210/1206 хорошо видно невооруженным глазом, их легко паять вручную, и только для контроля качества нужна лупа. SSOP и 0805/0603 без лупы паять неудобно, а 0402 и мельче, думаю, и невозможно. Удобен монтажный микроскоп, но его нужно купить и куда-то поставить. Пайка горячим воздухом решает часть проблем, в том числе ремонта/rework, но требует наличия фена. Reflow oven позволяет, например, уверенно использовать DFN/QFN, но опять же, требует денег и места, а также трафаретов, особенно для мелких (0603) и fine pitch (<=0.65мм) деталей.
Если все это оборудование иметь, то тогда можно быстро и удобно собирать довольно сложные вещи, но они оказываются недоступны для повторения тем, у кого нет соответствующего оборудования и опыта работы с ним, так что не все смогут приобщиться. Например, готовую плату под QFN с шагом выводом 0.4мм невозможно собрать без горячего воздуха и трудно - без трафарета. С другой стороны, многие современные компоненты существуют только в SMT, и навык работы с ними приходит с опытом.
Есть, наверное, какая-то золотая середина.
Last edited by alexcp on 15 Dec 2018 19:39, edited 1 time in total.
-
- Devil
- Posts: 909
- Joined: 06 Oct 2006 03:17
- Location: г.Лянтор,Сургутского р-на,ХМАО
Re: Радио-86РК на SRAM 32K
Я всё таки не нашёл упоминание в постах - а плата разведена на двух слоях или более?
-
- Senior
- Posts: 139
- Joined: 11 Jun 2012 07:30
Re: Радио-86РК на SRAM 32K
Плата четырёхслойная - в двух не развелось 
Дополнил свой пост выше, чтобы было понятно.

Дополнил свой пост выше, чтобы было понятно.
Last edited by alexcp on 15 Dec 2018 18:06, edited 1 time in total.
-
- Senior
- Posts: 139
- Joined: 11 Jun 2012 07:30
USB интерфейс
Еще две игрушки на ту же тему.
Первая - это USB интерфейс на базе FT245R, который можно воткнуть вместо ВВ55.
Со стороны хоста (PC) это выглядит как виртуальный последовательный порт (/dev/tty.usbserial-XXXXXXXX или COMx), а со стороны РК - как два порта, один двунаправленный для данных, второй, только на чтение, содержит два бита статуса очередей чтения/записи. Если воткнуть платку в РК вместо D14, то порт данных будет находиться по всем четным адресам 0xAxxx, а порт статуса - по всем нечетным. Их можно читать/писать даже из Монитора, директивами D или L и M или F, соответственно.
Пример использования из ассемблера:К сожалению, в схеме допущена ошибка - вывод 5 U4 подключен к A0, а должен бы к /A0. Из-за этого данных порт на запись/передачу расположен не по четному адресу, а по нечетному, по которому на чтение выдаются биты состояния FIFO. Исправлю в следующей редакции.
Первая - это USB интерфейс на базе FT245R, который можно воткнуть вместо ВВ55.
Со стороны хоста (PC) это выглядит как виртуальный последовательный порт (/dev/tty.usbserial-XXXXXXXX или COMx), а со стороны РК - как два порта, один двунаправленный для данных, второй, только на чтение, содержит два бита статуса очередей чтения/записи. Если воткнуть платку в РК вместо D14, то порт данных будет находиться по всем четным адресам 0xAxxx, а порт статуса - по всем нечетным. Их можно читать/писать даже из Монитора, директивами D или L и M или F, соответственно.
Пример использования из ассемблера:
Code: Select all
;===========================================================================
; FT245R use example
; Created by @alexcp on 18 Dec 2018
;
;
FT245R equ 0A000h ; base address of FT245R FIFO
DATA equ 0 ; Data register
STAT equ 1 ; Status register
;
; Define FIFO port
FIFO_DATA equ FT245R+DATA
FIFO_STATUS equ FT245R+STAT
RXEMPTY equ 1 ; MASK FOR RX BUFFER EMPTY
TXFULL equ 2 ; MASK FOR TX BUFFER FULL
;
;===========================================================================
; Get a character to A
;
; Return A=char, CY=0 if data received
; CY=1 if timeout
;
; Uses 4 bytes of stack including return address
;
GETCHAR:
PUSH D
LXI D,8000h ;long timeout
gc10: DCX D
MOV A,D
ORA E
JZ gc90 ;exit if timeout
LDA FIFO_STATUS ;read device status
ANI RXEMPTY
JNZ gc10 ;not ready yet.
;
; Data received: return CY=0. data in A
XRA A ;cy=0
LDA FIFO_DATA ;read data
POP D
RET
;
; Timeout: return CY=1
gc90: STC ;cy=1
POP D
RET
;
;===========================================================================
; Output character in A
;
; Uses 4 bytes of stack including return address
;
PUTCHAR:
PUSH PSW ;save byte to output
pc10: LDA FIFO_STATUS ;read device status
ANI TXFULL ;tx full ?
JNZ pc10
POP PSW
STA FIFO_DATA ;transmit char
RET
You do not have the required permissions to view the files attached to this post.
Last edited by alexcp on 21 Dec 2018 11:53, edited 14 times in total.
-
- Senior
- Posts: 139
- Joined: 11 Jun 2012 07:30
Re: Радио-86РК на SRAM 32K
Вторая игрушка - интерфейс I2C на базе PCF8584, тоже втыкается вместо ВВ55.
Пример программирования:
Пример программирования:
Code: Select all
; PCF8584 use example
; Created by @alexcp on 20 Dec 2018
;
; Define PCF8584 ports
PCF_BASE EQU 0A000h
DATA_REG EQU 0
CTRL_REG EQU 1
PCF_DATA EQU PCF_BASE+DATA_REG
PCF_CTRL EQU PCF_BASE+CTRL_REG
;
; Define PCF8584 status bit masks
PCF_BBN EQU 01h ; bus busy, active low
PCF_PIN EQU 80h ; pending interrupt, active low
PCF_LRB EQU 08h ; last received bit (typically the ACK bit)
;
; Define slave address
SLAVE_ADDR EQU 8
; Byte to send to the slave
DATA_BYTE EQU 'A'
;
ORG 0
; initialize PCF8584
PCF_INIT:
; program own slave address (this is required even if the address is not used)
MVI A, 80h ; serial interface off; next byte will be loaded into register own address register
STA PCF_CTRL
MVI A, 55h ; effective own address becomes 0AAh (55h<<1)
STA PCF_DATA
; program clock and I2C bus speed
MVI A, 0A0h ; next byte will be loaded into the clock control register S2
STA PCF_CTRL
MVI A, 1Ch ; system clock is 12 MHz; SCL = 90 kHz
STA PCF_DATA
; enable serial interface
MVI A, 0C1h ; enable serial interface, set I2C-bus into idle mode
STA PCF_CTRL
;
; now actually send something to a slave
PCF_MASTER_TX:
; wait for bus availability
LDA PCF_CTRL ; load status byte
ANI PCF_BBN ; is bus available?
JZ PCF_MASTER_TX ; JIF not available
; form the slave address with the R/W bit (R=1, W=0) at LSB
XRA A ; Carry = 0
MVI A, SLAVE_ADDR ; load slave address
RAL ; shift address left, set R/W bit to 0 (write)
STA PCF_DATA
; generate START condition on the I2C bus and clock out the address byte
MVI A, 0C5h
STA PCF_CTRL ; transmit address + R/W bit
TX10:
; wait for the transmission to finish
LDA PCF_CTRL ; poll for transmission finished
MOV B, A ; store status byte for the later chack for acknowledgement
ANI PCF_PIN ; is transmission complete?
JNZ TX10 ; not complete, keep waiting
MOV A, B
; check if the slave acknowledged the address
ANI PCF_LRB ; slave acknowledged?
JNZ TXSTOP ; JIF not acknowledged - maybe the slave is busy or not present at that address
; slave acknowledged the address, so send the data
MVI A, DATA_BYTE ; byte to be transferred
STA PCF_DATA ; send the data byte to the slave
TX20:
; wait for the transmission to finish
LDA PCF_CTRL ; poll for transmission finished
ANI PCF_PIN
JNZ TX20 ; JIF not finished
; here one can check for acknowledgement and send the next byte, etc.
TXSTOP:
; generate STOP condition on the I2C bus
MVI A, 0C3h
STA PCF_CTRL ; generate STOP condition
;
JMP PCF_MASTER_TX ; repeat sending sequence
You do not have the required permissions to view the files attached to this post.
Last edited by alexcp on 21 Dec 2018 11:41, edited 2 times in total.
-
- Admin
- Posts: 23992
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Радио-86РК на SRAM 32K
интересно 

Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Devil
- Posts: 716
- Joined: 30 Nov 2013 11:08
- Location: WWW
Re: Радио-86РК на SRAM 32K
Пожалуй, это основной недостаток технологии, хотя, к сожалению, очень серьезный - и так понимаешь, что очень мало людей, кому интересно возиться с подобной фигней, а если еще практически гарантированно сама технология накладывает аграничения на тех, кто в принципе мог бы, но не может себе позволить соответствующее оборудование, то вообще энтузиазм теряетсяalexcp wrote:, но они оказываются недоступны для повторения тем, у кого нет соответствующего оборудования и опыта работы с ним, так что не все смогут приобщиться.

Но заставить себя возиться с паяльником тоже не могу... Да и объективно, осеовная зона моих интересов требует микросхемы с большим количеством ножек, которые есть только у BGA...
-
- Senior
- Posts: 139
- Joined: 11 Jun 2012 07:30
Re: Радио-86РК на SRAM 32K
Для питания теперь используется готовый адаптер на 5 вольт с разъемом MicroUSB. Напряжения +12 и -5 вольт для ВМ80 обеспечивает отдельный преобразователь - см. схему ниже. Работает отлично, но с оговоркой, что выходное напряжение многих адаптеров под нагрузкой (общий ток потребления для РК86 и TFT дисплея составляет 850-900 мA) проседает, в зависимости от конкретного адаптера, на 0.5 вольта и больше, даже если максимальный ток нагрузки для адаптера заявлен 2А. Мне пришлось купить новый.
Преобразователь использует один boost converter для получения двух разнополярных напряжений. От аналогов, обсуждавшихся, например, в соседнем форуме, отличается схемой выпрямителя, фильтра и стабилизатора в канале -5 вольт. Кроме того, использование boost converter с высокой частотой переключения (1.6МГц) позволило применить малогабаритные компоненты и собрать все вместе на плате размером 32x26мм - см. фото. Преобразователь прекрасно себя чувствует под нагрузкой 120мА по каналу +12 вольт и 50 мА по каналу -5 вольт, это не считая светодиодов на плате самого конвертера. РК86 столько не нужно, конечно.
Преобразователь использует один boost converter для получения двух разнополярных напряжений. От аналогов, обсуждавшихся, например, в соседнем форуме, отличается схемой выпрямителя, фильтра и стабилизатора в канале -5 вольт. Кроме того, использование boost converter с высокой частотой переключения (1.6МГц) позволило применить малогабаритные компоненты и собрать все вместе на плате размером 32x26мм - см. фото. Преобразователь прекрасно себя чувствует под нагрузкой 120мА по каналу +12 вольт и 50 мА по каналу -5 вольт, это не считая светодиодов на плате самого конвертера. РК86 столько не нужно, конечно.
You do not have the required permissions to view the files attached to this post.
-
- Devil
- Posts: 909
- Joined: 06 Oct 2006 03:17
- Location: г.Лянтор,Сургутского р-на,ХМАО
Re: Радио-86РК на SRAM 32K
Вопрос по преобразователю. Применяются не полярные конденсаторы, хотя судя по их ёмкости лучше применить электролиты (2.2 и 4.7 мкФ).
-
- Senior
- Posts: 139
- Joined: 11 Jun 2012 07:30
Re: Радио-86РК на SRAM 32K
В связи с высокой частотой преобразования (1.6МГц), для LMR62014 рекомендованы (см. datasheet, стр. 9) как раз многослойные керамические - у них, по сравнению с электролитами, меньше ESR и выше собственная резонансная частота.
You do not have the required permissions to view the files attached to this post.
-
- Admin
- Posts: 23992
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Радио-86РК на SRAM 32K
Скопирую сюда тоже, а то может кто не заметить, что фотка всей конструкции в целом на предыдущей страничке появилась 

А от аккумуляторов пробовал питать? Это уже получается настоящий микроноутбук РК

А от аккумуляторов пробовал питать? Это уже получается настоящий микроноутбук РК

Я тут за главного - если что шлите мыло на me собака shaos точка net