| |
| Shaos |
|
Admin

Joined: 09 Jan 2003 Posts: 12586 Location: New York
|
Posted: 10 Dec 2006 18:56 Post subject: Вывод текста 80x25 на экран ТВ с помощью SX28 |
| |
Приступил к практической реализации проекта NedoText с использованием чипа SX28:
На бредборде слева-направо-сверху-вниз:
- SX28AC/DP - микроконтроллер SX28 с осциллятором на 60МГц;
- 74F163 - быстрый счётчик, использованный в качестве делителя частоты на 6;
- 74F00 - четыре И-НЕ (один вентиль для счётчика на 6 и дополнительные вентили);
- 74LS165 - сдвиговый регистр для формирования 8 точек видео из одного байта;
- HM6116P-7 - статическая память на 2К со скоростью работы 70нс;
- 74LS32 - четыре ИЛИ для формирования сигналов управления памятью, регистром и буфером;
- 74ALS245 - буфер для ввода байта извне;
- 74ALS574 - регистр для вывода старших битов адреса для памяти.
Всего 8 чипов, а в окончательной конструкции (с разбиением на две платы - NedoCPU-28+ и непосредственно сам NedoText) будет 9 чипов (добавится ещё один 74LS00 для логики чтения состояния переключателя PAL/NTSC). _________________ XMPP:shaos@jabber.org |
|
| Back to top |
|
| Shaos |
|
Admin

Joined: 09 Jan 2003 Posts: 12586 Location: New York
|
Posted: 11 Dec 2006 10:29 Post subject: |
| |
Прицепил все проводки:
 _________________ XMPP:shaos@jabber.org |
|
| Back to top |
|
| HardWareMan |
|
Banned

Joined: 20 Mar 2005 Posts: 2343 Location: От туда
|
Posted: 11 Dec 2006 11:01 Post subject: |
| |
А оно в наводках не будет?  |
|
| Back to top |
|
| Shaos |
|
Admin

Joined: 09 Jan 2003 Posts: 12586 Location: New York
|
Posted: 11 Dec 2006 19:34 Post subject: |
| |
| HardWareMan wrote: | А оно в наводках не будет?  |
Ну может и будет в таком виде - остаётся надеяться, что наводки не превысят порога срабатывания ТТЛ  _________________ XMPP:shaos@jabber.org
Last edited by Shaos on 11 Dec 2006 20:04; edited 1 time in total |
|
| Back to top |
|
| Shaos |
|
Admin

Joined: 09 Jan 2003 Posts: 12586 Location: New York
|
Posted: 12 Dec 2006 02:35 Post subject: |
| |
Первое подключение питания и мигание светодиодом прошло успешно (пришлось только пару проводков перецепить):
 _________________ XMPP:shaos@jabber.org |
|
| Back to top |
|
| Shaos |
|
Admin

Joined: 09 Jan 2003 Posts: 12586 Location: New York
|
Posted: 12 Dec 2006 02:42 Post subject: |
| |
Взаимодействие с девайсом предпологается осуществлять по 10 сигналам (плюс земля): D0, D1, D2, D3, D4, D5, D6, D7, IFLAG, OFLAG (из них выходной только OFLAG, а все остальные - входы).
Внешнее устройство ждёт когда OFLAG=0, затем выводит в D0...D7 нужный код и взводит IFLAG=1, далее ждём когда OFLAG=1 и сбрасываем IFLAG=0. Пока не станет OFLAG=0 новый код засылать нельзя.
Двоичный код вида 000yyyyy задаёт текущую строку.
Двоичный код вида 1xxxxxxx задаёт текущий столбец.
Все остальные коды (в диапазоне 0x20...0x7F) считаются кодом выводимого символа. _________________ XMPP:shaos@jabber.org |
|
| Back to top |
|
| Shaos |
|
Admin

Joined: 09 Jan 2003 Posts: 12586 Location: New York
|
Posted: 13 Dec 2006 03:36 Post subject: |
| |
Получил на экране ТВ первую устойчивую картинку - пока только из вертикальных светлых полос... _________________ XMPP:shaos@jabber.org |
|
| Back to top |
|
| Shaos |
|
Admin

Joined: 09 Jan 2003 Posts: 12586 Location: New York
|
Posted: 15 Dec 2006 00:42 Post subject: |
| |
| Shaos wrote: | | Получил на экране ТВ первую устойчивую картинку - пока только из вертикальных светлых полос... |
Полосы были разной ширины и часть через некоторое время после включения исчезала - оказалось что сигнал загрузки байта был коротковат для сдвигового регистра 74LS165 (в боевой конструкции по видимому тоже надо заменить на 74F) - когда сделал два такта микроконтроллера вместо одного - полосы стали устойчивыми. Вот картинка вывода шестёрки пикселов 101000 на моём новом большом ТВ (метровая диагональ):
Тоже самое снятое моей платой видеоввода - разрешение у неё не ахти и искажения цветовые:
Итак считаем - по горизонтали 80 пар пикселов, по вертикали 25*8=200 идентичных строк развёртки. _________________ XMPP:shaos@jabber.org |
|
| Back to top |
|
| Shaos |
|
Admin

Joined: 09 Jan 2003 Posts: 12586 Location: New York
|
Posted: 15 Dec 2006 10:26 Post subject: |
| |
| Shaos wrote: |
Полосы были разной ширины и часть через некоторое время после включения исчезала - оказалось что сигнал загрузки байта был коротковат для сдвигового регистра 74LS165 (в боевой конструкции по видимому тоже надо заменить на 74F) - когда сделал два такта микроконтроллера вместо одного - полосы стали устойчивыми. |
Чего-то не могу найти 74F165, зато вроде у одного из продавцов есть 74ALS165 (правда объявленный Obsolete) _________________ XMPP:shaos@jabber.org |
|
| Back to top |
|
| Shaos |
|
Admin

Joined: 09 Jan 2003 Posts: 12586 Location: New York
|
Posted: 17 Dec 2006 04:22 Post subject: |
| |
Кое чего переткнул и потестировал с выводом всех 6 пикселов знакоместа - вот картинка где в каждой строке выводится 6 младших битов номера этой строки начиная с 0 (исходники на CVS тут):
На большом ТВ выглядит почти идеально (почти - потому что на глаз видны некоторые флуктуации - движение границ пикселов влево-вправо), а вот карта видеозахвата всё опять испортила своими цветовыми искажениями и ухудшенным разрешением. _________________ XMPP:shaos@jabber.org |
|
| Back to top |
|
| Shaos |
|
Admin

Joined: 09 Jan 2003 Posts: 12586 Location: New York
|
Posted: 17 Dec 2006 18:26 Post subject: |
| |
Перецепил сигнал сдвига опять к Q2 и поправил программу - теперь ничего не мельтешит и не сливается - однако теперь по моим расчётам выходит что на 6 экранных пикселов приходится 35 тактов контроллера, а не 36 как я считал вначале - или я неправильно такты считаю?
| Code: |
0018 00096 lloop:
0018 034A 00097 rlf line,w ; 1
0019 0341 00098 rlf wfile,w ; 2
001A 0EFC 00100 andlw 0xFC ; 3
001B 0027 00101 movwf portc ; 4
001C 0000 00102 nop ; 5
001D 0000 00103 nop ; 6
001E 0000 00104 nop ; 7
001F 0000 00105 nop ; 8
0020 0000 00106 nop ; 9
0021 0000 00107 nop ; 10
0022 0445 00108 bcf porta,_ld_a ; 11
0023 0000 00109 nop ; 12
0024 0545 00110 bsf porta,_ld_a ; 13
0025 0000 00111 nop ; 14
0026 0000 00112 nop ; 15
0027 0000 00113 nop ; 16
0028 0000 00114 nop ; 17
0029 0000 00115 nop ; 18
002A 0000 00116 nop ; 19
002B 0000 00117 nop ; 20
002C 0000 00118 nop ; 21
002D 0000 00119 nop ; 22
002E 0000 00120 nop ; 23
002F 0000 00121 nop ; 24
0030 0000 00122 nop ; 25
0031 0000 00123 nop ; 26
0032 0000 00124 nop ; 27
0033 0000 00125 nop ; 28
0034 0000 00126 nop ; 29
0035 0000 00127 nop ; 30
0036 0000 00128 nop ; 31
0037 02E9 00130 decfsz cnt2,f ; 32
0038 0A18 00131 goto lloop ; 33,34,35 - а работает как будто 36
|
Кстати, подключил напрямую к плате видеоввода - вроде искажений меньше (раньше через видеомагнитофон оно было подключено) _________________ XMPP:shaos@jabber.org |
|
| Back to top |
|
| Shaos |
|
Admin

Joined: 09 Jan 2003 Posts: 12586 Location: New York
|
Posted: 17 Dec 2006 20:16 Post subject: |
| |
Вот закапченная картинка знакомест 80x25:
 _________________ XMPP:shaos@jabber.org |
|
| Back to top |
|
| Shaos |
|
Admin

Joined: 09 Jan 2003 Posts: 12586 Location: New York
|
Posted: 25 Dec 2006 21:18 Post subject: |
| |
Неделя борьбы с внешней памятью закончилась успешно - вот скриншот, где в первых двух строках через сдвиговый регистр выводятся байты (точнее 6 старших бита от байта), прочитанные из внешней памяти (а предварительно в неё записанные):
Знакоместа слева-направо:
1) 0x00
2) 0xC4
3) 0xC8
4) 0xCC
5) 0xD0
6) 0xD4
7) 0xD8
8) 0xDC
9) 0xE0
10) 0xE4
11) 0xE8
12) 0xEC
13) 0xF0
14) 0xF4
15) 0xF8
16) 0xFC
и т.д. по кругу
Загвоздка оказалась в том, что на высоких тактовых частотах (выше 50 МГц) последовательные побитные изменения битов в выходных портах не приводят к ожидаемым результатам:
bcf portb,4
bcf portb,5
это не работает - вместо этого надо писать так:
bcf portb,4
nop
bcf portb,5
после этого оба бита сбрасываются.
Исходники всё также можно взять в CVS нашего проекта на sf.net _________________ XMPP:shaos@jabber.org |
|
| Back to top |
|
| Romanich |
|
Banned
Joined: 12 Oct 2006 Posts: 608
|
Posted: 25 Dec 2006 22:39 Post subject: |
| |
| А цветное изображение делается кодером или используется ТВ с раздельными R,G,B-входами? |
|
| Back to top |
|
| Shaos |
|
Admin

Joined: 09 Jan 2003 Posts: 12586 Location: New York
|
Posted: 25 Dec 2006 22:52 Post subject: |
| |
| Romanich wrote: | | А цветное изображение делается кодером или используется ТВ с раздельными R,G,B-входами? |
В этом проекте всё черно-белое - те цветовые полосы что на картинке - это искажения в плате видеоввода, на экране ТВ всё Ок (т.е. видно только два цвета - чёрный и белый).
P.S. Кстати SX способен сам генерировать цветной видеосигнал - см. тут _________________ XMPP:shaos@jabber.org |
|
| Back to top |
|
| Choose Display Order |
|
| User Permissions |
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 vote in polls in this forum
|
Skin Created by Sigma12 and modified by Shaos Powered by phpBB © 2001-2005 phpBB Group
|
 |