|
nedoPC.orgElectronics hobbyists community established in 2002 |
|
nedoVideo v1 (32x24 знакоместа)
Author |
Message |
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22821 Location: Silicon Valley
|
Заказал и получил парочку PIC16F74 и один PIC16F871 - так что скоро будут продвижения в направлении NedoVideo.
|
29 Oct 2004 17:52 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22821 Location: Silicon Valley
|
74-ые ребята не программируются этим программатором, хоть и должны Зато PIC16F871 запрограммировался и вроде как нормально работает
|
29 Oct 2004 23:22 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22821 Location: Silicon Valley
|
Первый тест на правильность моих расчетов по синхронизации. Схема собрана из PIC16F871 и 74LS86 (оттуда взят один XOR-гейт). На экране осциллографа видеосигнал выглядит следующим образом: Схема рисует шахматное поле 32x24 (по количеству знакомест NedoVideo) - правда моя NTSC синхра понялась только маленьким китайским черно-белым телевизором Буду приводить свой NTSС-сигнал в сооветствие стандарту. Кстати PAL-версия сигнала также будет!
|
15 Nov 2004 23:35 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22821 Location: Silicon Valley
|
Получил еще парочку PIC16F871 - так как наверное пока это будет единственный используемый мною чип
|
16 Nov 2004 08:27 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22821 Location: Silicon Valley
|
| | | | Shaos wrote: Первый тест на правильность моих расчетов по синхронизации. Схема собрана из PIC16F871 и 74LS86 (оттуда взят один XOR-гейт). ... На экране осциллографа видеосигнал выглядит следующим образом: ... Схема рисует шахматное поле 32x24 (по количеству знакомест NedoVideo) - правда моя NTSC синхра понялась только маленьким китайским черно-белым телевизором ... Буду приводить свой NTSС-сигнал в сооветствие стандарту. Кстати PAL-версия сигнала также будет! | | | | |
Вобщем дело не в упрощенной синхронизации! Путем подбора резисторов я добился от той же схемы и прошивки вполне устойчивой картинки - причем на большом телевизоре! Вот только все 32 клетки не влезают по горизонтали - крайняя левая и крайняя правая выползают за края экрана...
Last edited by Shaos on 16 Nov 2004 20:58, edited 2 times in total.
|
16 Nov 2004 19:46 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22821 Location: Silicon Valley
|
Путем изменения схемы (использования второго XOR-гейта для формирования небольшого яркостного смещения) и небольшого изменения программы (обнуление считающих координаты X и Y портов за пределами графического экрана, чтобы не влияли на синхронизацию) получил картинку с 4-мя градациями серого:
Last edited by Shaos on 16 Nov 2004 21:30, edited 2 times in total.
|
16 Nov 2004 19:50 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22821 Location: Silicon Valley
|
То же самое на маленьком телевизоре: и на экране осциллографа: Гребенка слегка неправильная в смысле уровней сигналов, но я в будущем это поправлю
Last edited by Shaos on 16 Nov 2004 21:00, edited 1 time in total.
|
16 Nov 2004 19:54 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22821 Location: Silicon Valley
|
Попробовал этот сигнал подцепить к своему мультисистемному видомагнитофону с автоматическим распознаванием входного формата - он определил что это NTSC и выдал сигнал на ТВ - следующий на очереди PAL
|
16 Nov 2004 19:57 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22821 Location: Silicon Valley
|
Блин - почитал топик и обнаружил, что с 18 сентября разговариваю сам с собой, т.е. уже почти 2 месяца! Народ, чего молчим???
|
16 Nov 2004 21:03 |
|
|
cr0acker
God
Joined: 03 Feb 2003 13:53 Posts: 1078
|
Ждём када соеденишь всё вместе:)
|
16 Nov 2004 21:15 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22821 Location: Silicon Valley
|
Купил себе большую бредборду на 2390 дырок за $30 и блок питания 14V/15A за $85 - оба с банановыми клеммами - вот тута и буду недовидео собирать: справа, кстати, виднеется программатор для пиков, а снизу всякие недосборки
|
04 Dec 2004 23:51 |
|
|
Mac Buster
Retired
Joined: 03 Aug 2003 22:37 Posts: 1474 Location: Moscow
|
Я готовую схему жду
|
04 Dec 2004 23:56 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22821 Location: Silicon Valley
|
Схема пока не до конца проработана, но вот очередной тест: v0.2 рисует кубики и в NTSC, и в PAL - в зависимости от логического сигнала на одной из ног. Вот полный код тестовой программы: | | | | Code: ; Alexander Shabarshin (shaos@mail.ru) ; http://nedopc.org/nedopc/
TITLE "NedoVideo-16 v0.2" LIST R=DEC INCLUDE "p16f871.inc"
CBLOCK 0x020 counter ; counter for mWAIT3PLUS1 counter_ ; counter for Frame zerox ; start value for X counter (with SCR bit) tmpy ; temprary value of Y ENDC
__CONFIG _CP_OFF & _DEBUG_OFF & _WRT_ENABLE_OFF & _CPD_OFF & _LVP_OFF & _PWRTE_ON & _WDT_OFF & _HS_OSC
; PORTA X0,X1,X2,X3,X4,SCR
nvSCR EQU 5
; PORTB S0,S1,S2,Y0,Y1,Y2,Y3,Y4
; PORTC A0,A1,A2,SYN,DIR,_EN,_WR,_LD
nvSYN EQU 3 nvDIR EQU 4 nv_EN EQU 5 nv_WR EQU 6 nv_LD EQU 7
; PORTD D0,D1,D2,D3,D4,D5,D6,D7
; PORTE _RST,ISTB,IMODE
nv_RST EQU 0 nvISTB EQU 1 ; strobe from LPT nvIMODE EQU 2 ; 0-NTSC, 1-PAL
mBANK0 MACRO bcf STATUS,RP0 bcf STATUS,RP1 ENDM
mBANK1 MACRO bsf STATUS,RP0 bcf STATUS,RP1 ENDM
mBANK3 MACRO bcf STATUS,RP0 bsf STATUS,RP1 ENDM
mBANK4 MACRO bsf STATUS,RP0 bsf STATUS,RP1 ENDM
mNTSC3PAL5 MACRO LOCAL _ntsc btfss PORTE,nvIMODE goto _ntsc nop nop nop _ntsc ENDM
mWAIT3PLUS1 MACRO Step LOCAL _loop movlw Step movwf counter _loop decfsz counter,f goto _loop ENDM
mSYNC1 MACRO bsf PORTC,nvSYN ENDM
mSYNC0 MACRO bcf PORTC,nvSYN ENDM
mLINE9 MACRO Step,Subprog LOCAL _loop1,_loop2 movlw Step movwf counter_ goto _loop2 _loop1 nop nop nop nop _loop2 call Subprog decfsz counter_ goto _loop1 nop ENDM
ORG 00h ;reset vector goto Start
ORG 04h ;Interrupt vector retfie
Start
;configure all I/O pins as digital (port A and E) mBANK1 movlw 0x06 movwf ADCON1
;set port direction mBANK1 movlw b'11000000' movwf TRISA movlw b'00000000' movwf TRISB movlw b'00000000' movwf TRISC movlw b'00000000' movwf TRISD movlw b'00000110' movwf TRISE
;intialize values on ports mBANK0 clrf PORTA clrf PORTB clrf PORTC clrf PORTD clrf PORTE bsf PORTC,nv_LD bsf PORTE,nv_RST
;setup interrupts mBANK1 clrf INTCON ;disable all interrupts and clear all flags bsf OPTION_REG,NOT_RBPU ;disable pull-ups ; bsf OPTION_REG,INTEDG ;interrupt on rising edge ; bsf INTCON,INTE ;enable RB0 port change interrupt ; bsf INTCON,GIE ;enable interrupts mBANK0 CLRWDT movlw 0 movwf zerox goto Frame
Line mSYNC0 mWAIT3PLUS1 7 ; 22 mSYNC1 mWAIT3PLUS1 4 ; 13 nop nop nop nop movf tmpy,w movwf PORTB bcf PORTE,nv_RST bsf PORTE,nv_RST movf zerox,w movwf PORTA ; 47 Symbol bcf PORTC,nv_LD bsf PORTC,nv_LD nop nop incf PORTA,f btfss PORTA,5 goto Symbol incf tmpy,f clrf PORTB mNTSC3PAL5 return
Line0 mSYNC0 ; 1 mWAIT3PLUS1 7 ; 22 mSYNC1 ; 1 mWAIT3PLUS1 91 ; 274 nop ; 1 nop ; 1 nop ; 1 clrf PORTA ; 1 clrf PORTB ; 1 clrf tmpy ; 1 mNTSC3PAL5 ; 3/5 return ; 2
Line1 mSYNC1 mWAIT3PLUS1 7 mSYNC0 mWAIT3PLUS1 91 nop nop nop nop ; movlw 0xFF nop ; movwf PORTB nop mNTSC3PAL5 return
Line2 mSYNC1 mWAIT3PLUS1 7 mSYNC0 mWAIT3PLUS1 45 mSYNC1 mWAIT3PLUS1 46 nop nop nop ; movlw 0xFF nop ; movwf PORTB nop mNTSC3PAL5 return
; Specially for PAL
Line0p ; 320-9=311 mSYNC0 ; 1 mWAIT3PLUS1 3 ; 10 mSYNC1 ; 1 mWAIT3PLUS1 49 ; 148 mSYNC0 ; 1 mWAIT3PLUS1 3 ; 10 mSYNC1 ; 1 mWAIT3PLUS1 45 ; 136 nop ; 1 return ; 2
Line1p ; 320-9=311 mSYNC1 ; 1 mWAIT3PLUS1 45 ; 136 mSYNC0 ; 1 mWAIT3PLUS1 7 ; 22 mSYNC0 ; 1 mWAIT3PLUS1 45 ; 136 mSYNC1 ; 1 mWAIT3PLUS1 3 ; 10 nop ; 1 return ; 2
Line2p ; 320-9=311 mSYNC1 ; 1 mWAIT3PLUS1 45 ; 136 mSYNC0 ; 1 mWAIT3PLUS1 7 ; 22 mSYNC0 ; 1 mWAIT3PLUS1 3 ; 10 mSYNC1 ; 1 mWAIT3PLUS1 45 ; 136 nop ; 1 return ; 2
Frame btfss PORTE,nvIMODE goto FrameN
FrameP ; PAL ;Frame (in lines) 312: ;25-sync 47-preframe 192-frame 48-postframe ;Line (in ticks) 320: ;24-low 30-high 256-signal 10-high nop ;Sync mLINE9 3,Line0p mLINE9 2,Line1p mLINE9 1,Line2p mLINE9 2,Line0p mLINE9 17,Line0 mLINE9 47,Line0 mLINE9 192,Line mLINE9 48,Line0 ; -5 goto Frame
FrameN ; NTSC ;Frame (in lines) 262: ;20-sync 24-preframe 192-frame 26-postframe ;Line (in ticks) 318: ;24-low 30-high 256-signal 8-high mLINE9 3,Line0 mLINE9 3,Line1 mLINE9 14,Line0 mLINE9 24,Line0 mLINE9 192,Line mLINE9 26,Line0 ; -5 goto Frame
END
| | | | |
Вот так выглядят клетки в NTSC (PE2="0"): А вот так выглядят клетки в PAL (PE2="1"), преобразованные мультисистемным видиком в NTSC: Как видно картинка немного сплюснулась, т.к. PAL имеет больше строк по горизонтали. Видемагнитофон успешно распознал PAL, но с синхрой пришлось повозиться, т.к. для устойчивости картинки пришлось повторить спецификацию по синхре почти один в один, в отличие от NTSC, где синхронизация реализована мной очень упрощенно.
|
06 Dec 2004 00:06 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22821 Location: Silicon Valley
|
Попробовал подключить тест 02 к монитору Commodore - правда NTSC и PAL на нем выглядят как близнецы-братья: NTSC PAL Порадовал маленький китайский телевизор - он оказывается понимает не только развертку NTSC, но и PAL (подключал через китайский же модулятор): Кстати на вышеопубликованной фотке можно разглядеть испытательный стенд NedoVideo-16 во всех деталях
|
06 Dec 2004 17:50 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22821 Location: Silicon Valley
|
Также пробовал подключить сигнал недовидии к свой плате видеоввода Pinnacle System - NTSC картинка держится, а вот PAL плывет вниз
А вот например Спринтер, подключенный по двухрезисторной схеме делает устойчивую PAL-картинку на той же плате:
http://www.nedopc.org/forum/viewtopic.php?t=7697&start=30
Наверное я не чистые 50 Гц получил, хотя на других устройствах вроде работает. Может схему опубликую (она простая) и кто то сможет в России тест 02 позапускать на разных PAL теликах?
Last edited by Shaos on 28 Nov 2006 20:27, edited 1 time in total.
|
06 Dec 2004 17:55 |
|
|
Who is online |
Users browsing this forum: No registered users and 1 guest |
|
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
|
|