nedoPC.org

Community of electronics hobbyists established in 2002

...
Atom Feed | View unanswered posts | View active topics It is currently 19 Aug 2017 08:55



Reply to topic  [ 30 posts ]  Go to page 1, 2  Next
USB slave на z80 
Author Message
Writer

Joined: 22 Oct 2016 05:36
Posts: 12
Location: Moscow, Russia
Reply with quote
Решил поделиться своими наработками, актуальность которых утрачена минимум как лет на 10-15, но вдруг кому пригодится.
Привожу схему реализации ведомого USB интерфейса для любой системы на базе z80. Что это даёт:
возможность разработки и отладки bios без перепрошивки ППЗУ и использования эмуляторов. Прямой доступ к памяти на лету. Возможность вывода данных в терминал
PC из программного кода z80.
В схеме есть несколько некрасивых решений, обусловленных экономией на корпусах в моём проекте. Так что за ряд монтажных ИЛИ на диодах и пару емкостей прошу ногами не пинать - знаю )
Программная часть со стороны PC или Mac максимально проста: Используется стандартный VCP-драйвер виртуального порта. (из под linux будет /dev/ttyUSBn), который предварительно необходимо проинициализировать с параметрами 8N1, аппаратное управление потоком.
Далее, перед началом операций чтения или записи данных в память системы на z80, посылаем в данный порт четыре байта 0xFE для синхронизации (либо необходимо подать !RESET).
Затем следует 5-ти байтовый цикл чтения или записи данных в произвольную область памяти:
1-ый байт 0xFF - начало потока данных (разрешает последующий приём)
2-ой байт lADDR - младший байт адреса памяти
3-ий байт hADDR - старший байт адреса памяти
4-ий байт 0xFF/0x0F - разрешение / запрет записи в память
5-ый байт 0xNN - данные для записи (если bit7 предыдущего байта = 0, то данный байт игнорируется и производится только чтение содержимого из указанного адреса)

В ответ на каждый посланный байт данных в консоль будет приходить содержимое данного адреса RAM до его записи.
Разумеется в адресном пространстве ППЗУ в этом случае должна быть подключена SRAM

P.S. Можно конечно было всё реализовать на микроконтроллере, но само его наличие в схеме практически лишает смысла в прикручивании всего этого к системе на z80 :)


Attachments:
File comment: Схема
z80usb.png
z80usb.png [ 78.02 KiB | Viewed 1001 times ]

_________________
http://ziduino.ucoz.org/
22 Oct 2016 08:13
Profile ICQ WWW
Supreme God
User avatar

Joined: 21 Oct 2009 11:08
Posts: 7777
Location: Россия
Reply with quote
SergNR wrote:
Можно конечно было всё реализовать на микроконтроллере, но само его наличие в схеме практически лишает смысла в прикручивании всего этого к системе на z80 :)

Я немного не понял - а вот это разве не микроконтроллер в схеме?
Attachment:
z80usb.gif
z80usb.gif [ 15.85 KiB | Viewed 918 times ]

_________________
iLavr


18 Nov 2016 08:01
Profile
Writer

Joined: 22 Oct 2016 05:36
Posts: 12
Location: Moscow, Russia
Reply with quote
Lavr wrote:
Я немного не понял - а вот это разве не микроконтроллер в схеме?

Ну как бы в определенном смысле конечно это он. Весь вопрос в терминологии. В данном случае подразумевается устройство способное функционировать в соответствии с заданным пользователем набором команд, что определенно не относится к аппаратному преобразователю интерфейса usb<>parallel FIFO p.s. во флеш там записывается device id. Опционально.

_________________
http://ziduino.ucoz.org/


18 Nov 2016 12:29
Profile ICQ WWW
Supreme God
User avatar

Joined: 21 Oct 2009 11:08
Posts: 7777
Location: Россия
Reply with quote
SergNR wrote:
Lavr wrote:
Я немного не понял - а вот это разве не микроконтроллер в схеме?

Ну как бы в определенном смысле конечно это он. Весь вопрос в терминологии.

У нас тут где-то на форуме Tronix показвал USB slave на PIC чисто программный, т.е. PIC не имел апаратного интерфейса usb.
Так что, когда я увидел заголовок USB slave на z80, то ожидал увидеть нечто похожее... :wink:
Ну да ладно - это мои проблемы...

_________________
iLavr


18 Nov 2016 12:57
Profile
Admin
User avatar

Joined: 09 Jan 2003 02:22
Posts: 15434
Location: New York
Reply with quote
FTDI-чип микроконтроллером не является, т.к. не подразумевает программирования пользователем - он вещь в себе

_________________
:eugeek: https://twitter.com/Shaos1973


18 Nov 2016 13:09
Profile WWW
Writer

Joined: 22 Oct 2016 05:36
Posts: 12
Location: Moscow, Russia
Reply with quote
Lavr wrote:
Так что, когда я увидел заголовок USB slave на z80, то ожидал увидеть нечто похожее... :wink:
Ну да ладно - это мои проблемы...

Боюсь это было бы слишком сурово и даже если z80 ооочень сильно разогнать, программно он не осилит протокол. Разве что хорошенько обвязать всё рассыпухой, чтобы все параллельно-последовательные преобразования выполнялись аппаратно.

_________________
http://ziduino.ucoz.org/


18 Nov 2016 13:17
Profile ICQ WWW
Doomed

Joined: 06 Oct 2006 06:17
Posts: 424
Location: г.Лянтор,Сургутского р-на,ХМАО
Reply with quote
FT245BL - это преобразователь RS232 интерфейса.

_________________
:arrow: Сайт о ПК "Специалист" и его клонах


18 Nov 2016 13:17
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 02:22
Posts: 15434
Location: New York
Reply with quote
fifan wrote:
FT245BL - это преобразователь RS232 интерфейса.

USB-to-Serial вроде как, на компе оно подцепляется как COM-порт, но RS232 интерфейсом по сути своей НЕ является...

_________________
:eugeek: https://twitter.com/Shaos1973


18 Nov 2016 13:27
Profile WWW
Senior

Joined: 22 Jun 2005 07:35
Posts: 181
Location: МО Россия
Reply with quote
USB-slave подразумевает нечто большее, чем ком-порт поверх usb.
Опять же порты ком-порта давно придуманы(Кондратьевым) и было бы логично использовать их.

В целом, ввиду вымирания ком-портов на ПЦ, девайс довольно полезный.
Я активно использую на спектруме дебаггер NoIce. Когда то(до появления у меня более быстрого интерфейса) перекидывал файлы на спектрум, что бы не дергать постоянно сд-карту при отладке.


18 Nov 2016 13:34
Profile ICQ
Supreme God
User avatar

Joined: 21 Oct 2009 11:08
Posts: 7777
Location: Россия
Reply with quote
Shaos wrote:
FTDI-чип микроконтроллером не является, т.к. не подразумевает программирования пользователем - он вещь в себе

То есть, ты считаешь, что внутри "в себе" он всё делает чисто аппаратно?
Без какого-либо микропроцессорного ядра?

_________________
iLavr


18 Nov 2016 13:38
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 11:08
Posts: 7777
Location: Россия
Reply with quote
SergNR wrote:
Lavr wrote:
Так что, когда я увидел заголовок USB slave на z80, то ожидал увидеть нечто похожее... :wink:
Боюсь это было бы слишком сурово и даже если z80 ооочень сильно разогнать, программно он не осилит протокол. Разве что хорошенько обвязать всё рассыпухой, чтобы все параллельно-последовательные преобразования выполнялись аппаратно.
Ну вот про что-то такое я и подумал: z80Н и аппаратные "костылики" вокруг него... 8)

_________________
iLavr


18 Nov 2016 13:41
Profile
Admin
User avatar

Joined: 09 Jan 2003 02:22
Posts: 15434
Location: New York
Reply with quote
Lavr wrote:
Shaos wrote:
FTDI-чип микроконтроллером не является, т.к. не подразумевает программирования пользователем - он вещь в себе

То есть, ты считаешь, что внутри "в себе" он всё делает чисто аппаратно?
Без какого-либо микропроцессорного ядра?

"Есть ли жизнь на Марсе, нету ли жизни на Марсе - это науке неизвестно" (c) :roll:

_________________
:eugeek: https://twitter.com/Shaos1973


18 Nov 2016 13:41
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 02:22
Posts: 15434
Location: New York
Reply with quote
DimkaM wrote:
USB-slave подразумевает нечто большее, чем ком-порт поверх usb.

Ну FT245 вроде чуть более интеллектуальный чип чем FT232 - вон даже кастомный DeviceID можно во внешней памяти подцепить...

_________________
:eugeek: https://twitter.com/Shaos1973


18 Nov 2016 13:45
Profile WWW
Senior

Joined: 22 Jun 2005 07:35
Posts: 181
Location: МО Россия
Reply with quote
Хотя я не внимательно прочитал первый пост, тут не компорт со стороны z80. Нечто типа дма чтоли


18 Nov 2016 13:47
Profile ICQ
Supreme God
User avatar

Joined: 21 Oct 2009 11:08
Posts: 7777
Location: Россия
Reply with quote
Shaos wrote:
"Есть ли жизнь на Марсе, нету ли жизни на Марсе - это науке неизвестно" (c) :roll:

Ну а сам ты брякнул в лобовую, что на Марсе жизни нет... :ebiggrin:

А я вот где-то читал, что преобразователи USB интерфейса делаются на одном из распространенных
процессорных ядер с обвязкой, как СИМ-ки примерно...
Не скажу именно за этот FT245BL, но факт такой имеет место быть.

_________________
iLavr


18 Nov 2016 13:48
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 30 posts ]  Go to page 1, 2  Next

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

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.