nedoPC.org

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



Reply to topic  [ 180 posts ]  Go to page Previous  1 ... 4, 5, 6, 7, 8, 9, 10 ... 12  Next
Радио-86РК на SRAM 32K 
Author Message
Senior
User avatar

Joined: 11 Jun 2012 07:30
Posts: 128
Reply with quote
Схема прототипа мало отличается от схемы 2012 года: удалены ROM-диск, адаптер PS/2 клавиатуры и источник питания на модулях, обеспечен запуск монитора с адреса F800 (а не E000, как в первоначальном варианте). К589ИР12 заменен на на ИР33/LS573 + инвертор, а К155ИР13 - на 2 шт. ИР11/LS194.

Attachment:
File comment: Схема
Radio-86RK-SRAM_R2.pdf [196.71 KiB]
Downloaded 312 times


Attachment:
File comment: Замена К155ИР13 на 2x К555ИР11
74LS198.png
74LS198.png [ 112.17 KiB | Viewed 6927 times ]


В феврале 2024 года Shaos добавил сюда вторую картинку для пущей понятности:

Attachment:
File comment: Замена К589ИР12 на ИР33/LS573 + инвертор
74LS573.png
74LS573.png [ 29.91 KiB | Viewed 262 times ]


Last edited by alexcp on 02 Jan 2019 19:42, edited 8 times in total.



14 Dec 2018 18:08
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
Самый компактный РК в мире? ;)




_________________
:dj: https://mastodon.social/@Shaos


14 Dec 2018 20:12
Profile WWW
Senior
User avatar

Joined: 11 Jun 2012 07:30
Posts: 128
Reply with quote
Да, иду на мировой рекорд :ebiggrin:
Эмуляторы, конечно, существенно компактнее, как на ESP8266, так и на PIC32.
Кстати, существуют SMT версии для 8255 и 8085, так что можно еще ужаться по размерам, да и раскладывать SMT по плате существенно легче, чем паять каждую ногу. С другой стороны, я не вижу use case'а для суперкомпактного компьютера, которому нужны дисплей и клавиатура.


Last edited by alexcp on 15 Dec 2018 19:39, edited 2 times in total.



14 Dec 2018 21:03
Profile WWW
Devil

Joined: 30 Nov 2013 11:08
Posts: 706
Location: WWW
Reply with quote
Красиво... Я давно сам думал сделать что-то подобное, но был занят другими проектами...

Насчет раскладывания SMT - я настолько обленился, что даже при отсутствии SMT версий каких-то микросхем, просто использую SMT панельки. Еще уменьшил базовый размер рассыпухи до 0603 (начинал с 1210, долгое время был на 0805), вообще красота - места почти не занимает. 0402 приходится использовать только в виде блокировочных конденсаторов питания для BGA корпусов - там между ногами бОльшие размеры не помещаются...


15 Dec 2018 00:37
Profile
Senior
User avatar

Joined: 11 Jun 2012 07:30
Posts: 128
Reply with quote
На мой взгляд, использование 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.



15 Dec 2018 09:33
Profile WWW
Devil

Joined: 06 Oct 2006 03:17
Posts: 856
Location: г.Лянтор,Сургутского р-на,ХМАО
Reply with quote
Я всё таки не нашёл упоминание в постах - а плата разведена на двух слоях или более?


15 Dec 2018 11:02
Profile
Senior
User avatar

Joined: 11 Jun 2012 07:30
Posts: 128
Reply with quote
Плата четырёхслойная - в двух не развелось :osad:
Дополнил свой пост выше, чтобы было понятно.


Last edited by alexcp on 15 Dec 2018 18:06, edited 1 time in total.



15 Dec 2018 11:14
Profile WWW
Senior
User avatar

Joined: 11 Jun 2012 07:30
Posts: 128
Reply with quote
Еще две игрушки на ту же тему.

Первая - это USB интерфейс на базе FT245R, который можно воткнуть вместо ВВ55.

Со стороны хоста (PC) это выглядит как виртуальный последовательный порт (/dev/tty.usbserial-XXXXXXXX или COMx), а со стороны РК - как два порта, один двунаправленный для данных, второй, только на чтение, содержит два бита статуса очередей чтения/записи. Если воткнуть платку в РК вместо D14, то порт данных будет находиться по всем четным адресам 0xAxxx, а порт статуса - по всем нечетным. Их можно читать/писать даже из Монитора, директивами D или L и M или F, соответственно.

Пример использования из ассемблера:
Code:
;===========================================================================
;  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
К сожалению, в схеме допущена ошибка - вывод 5 U4 подключен к A0, а должен бы к /A0. Из-за этого данных порт на запись/передачу расположен не по четному адресу, а по нечетному, по которому на чтение выдаются биты состояния FIFO. Исправлю в следующей редакции.


Attachments:
RK86(2018) - 3.jpg
RK86(2018) - 3.jpg [ 66.17 KiB | Viewed 6822 times ]
RK86(2018) - 1.jpg
RK86(2018) - 1.jpg [ 72.87 KiB | Viewed 6822 times ]
FTDI245RL.png
FTDI245RL.png [ 190.18 KiB | Viewed 6856 times ]


Last edited by alexcp on 21 Dec 2018 11:53, edited 14 times in total.

15 Dec 2018 17:58
Profile WWW
Senior
User avatar

Joined: 11 Jun 2012 07:30
Posts: 128
Reply with quote
Вторая игрушка - интерфейс I2C на базе PCF8584, тоже втыкается вместо ВВ55.
Пример программирования:
Code:
; 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


Attachments:
RK86(2018) - 6.jpg
RK86(2018) - 6.jpg [ 73.08 KiB | Viewed 6822 times ]
RK86(2018) - 4.jpg
RK86(2018) - 4.jpg [ 69.25 KiB | Viewed 6822 times ]
pcf8584.png
pcf8584.png [ 128.31 KiB | Viewed 6856 times ]


Last edited by alexcp on 21 Dec 2018 11:41, edited 2 times in total.

15 Dec 2018 18:04
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
интересно :)

_________________
:dj: https://mastodon.social/@Shaos


15 Dec 2018 19:10
Profile WWW
Devil

Joined: 30 Nov 2013 11:08
Posts: 706
Location: WWW
Reply with quote
alexcp wrote:
, но они оказываются недоступны для повторения тем, у кого нет соответствующего оборудования и опыта работы с ним, так что не все смогут приобщиться.

Пожалуй, это основной недостаток технологии, хотя, к сожалению, очень серьезный - и так понимаешь, что очень мало людей, кому интересно возиться с подобной фигней, а если еще практически гарантированно сама технология накладывает аграничения на тех, кто в принципе мог бы, но не может себе позволить соответствующее оборудование, то вообще энтузиазм теряется :(

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


16 Dec 2018 07:20
Profile
Senior
User avatar

Joined: 11 Jun 2012 07:30
Posts: 128
Reply with quote
Для питания теперь используется готовый адаптер на 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 столько не нужно, конечно.


Attachments:
rk86-psu.png
rk86-psu.png [ 106.27 KiB | Viewed 6822 times ]
RK86(2018) - 23.jpg
RK86(2018) - 23.jpg [ 60.39 KiB | Viewed 6822 times ]
16 Dec 2018 09:03
Profile WWW
Devil

Joined: 06 Oct 2006 03:17
Posts: 856
Location: г.Лянтор,Сургутского р-на,ХМАО
Reply with quote
Вопрос по преобразователю. Применяются не полярные конденсаторы, хотя судя по их ёмкости лучше применить электролиты (2.2 и 4.7 мкФ).


16 Dec 2018 09:31
Profile
Senior
User avatar

Joined: 11 Jun 2012 07:30
Posts: 128
Reply with quote
В связи с высокой частотой преобразования (1.6МГц), для LMR62014 рекомендованы (см. datasheet, стр. 9) как раз многослойные керамические - у них, по сравнению с электролитами, меньше ESR и выше собственная резонансная частота.


Attachments:
lmr62014.pdf [1.38 MiB]
Downloaded 304 times
16 Dec 2018 09:50
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
Скопирую сюда тоже, а то может кто не заметить, что фотка всей конструкции в целом на предыдущей страничке появилась ;)

Image

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

_________________
:dj: https://mastodon.social/@Shaos


16 Dec 2018 13:53
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 180 posts ]  Go to page Previous  1 ... 4, 5, 6, 7, 8, 9, 10 ... 12  Next

Who is online

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