nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 18 Mar 2024 20:24



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

Joined: 22 Oct 2016 02: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 16180 times ]

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

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

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

_________________
iLavr


18 Nov 2016 05:01
Profile
Writer

Joined: 22 Oct 2016 02: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 09:29
Profile ICQ WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08: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 09:57
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22379
Location: Silicon Valley
Reply with quote
FTDI-чип микроконтроллером не является, т.к. не подразумевает программирования пользователем - он вещь в себе

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


18 Nov 2016 10:09
Profile WWW
Writer

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

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

_________________
http://ziduino.ucoz.org/


18 Nov 2016 10:17
Profile ICQ WWW
Devil

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


18 Nov 2016 10:17
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22379
Location: Silicon Valley
Reply with quote
fifan wrote:
FT245BL - это преобразователь RS232 интерфейса.

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

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


18 Nov 2016 10:27
Profile WWW
Maniac

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

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


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

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

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

_________________
iLavr


18 Nov 2016 10:38
Profile
Supreme God
User avatar

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

_________________
iLavr


18 Nov 2016 10:41
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22379
Location: Silicon Valley
Reply with quote
Lavr wrote:
Shaos wrote:
FTDI-чип микроконтроллером не является, т.к. не подразумевает программирования пользователем - он вещь в себе

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

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

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


18 Nov 2016 10:41
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22379
Location: Silicon Valley
Reply with quote
DimkaM wrote:
USB-slave подразумевает нечто большее, чем ком-порт поверх usb.

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

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


18 Nov 2016 10:45
Profile WWW
Maniac

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


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

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

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

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

_________________
iLavr


18 Nov 2016 10: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 4 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.