RASCSI/doc/converter_en.txt

116 lines
4.8 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-------------------------------------------------- ----------------------------
SCSI Target Emulator RaSCSI for Raspberry Pi
Powered by XM6 TypeG Technology.
Copyright (C) 2016-2020 GIMONS
-------------------------------------------------- ----------------------------
□ Necessity of conversion board
SCSI divides 5V at 220Ω and 330Ω at TTL level (in the case of passive terminator)
As a result, the state where a voltage of less than 3 V is applied to each signal line becomes a steady state (signal-wise negate)
It has become.
Initiator side or target side tries to assert signal (=0V)
Then, a total current of 5000÷220×2=45mA flows from both terminators.
If you look at the data sheet of MB89352 which is the SCSI controller of X68000,
The current is Iol48mA).
The RPI GPIO cannot absorb such a large sink current. Electrically secure connection
To do this, it is necessary to make a conversion board with a general-purpose logic IC. General logic
It is an open collector such as 74LS06 or 07 that can withstand a sink current of 48 mA with IC.
Use the high power type.
The author does basic SCSI direction control with 74HC541×3,74HC126×1,74HC04×1
I tried to build a circuit to drive the bus using 74LS07 × 3 and it works without problems
I confirmed that.
If you use 74LS641-1 which is a derivative of 74LS641, you can configure the circuit simply.
Would be Unlike normal products, the sink current is compatible with 48 mA, so it is necessary to use 74LS07
there is no. But availability is not so good.
□ Circuit board of conversion board
The circuit design is put in the same folder.
・Target.png
Conversion board circuit diagram for using SCSI target mode. It is a basic function
If you want to emulate HDD or MO, you can make something equivalent to this circuit diagram.
Would be It also uses the fewest GPIO pins.
If you do not change the pin assignment, it will be included in the standard directory of RaSCSI
It is possible to use the binary.
・Fullspec.png
It is a conversion board circuit diagram that can use SCSI target mode and initiator mode.
All 74LS641-1 direction control is performed from RaSCSI, so use 3 extra GPIO pins
I will do it.
Customize pin assignments to PIN_TAD, PIN_IND, PIN_DTD respectively
Now you need to set 6,7,8 and compile. Pin assigned
See Customization.
□ How to get existing ones
Recently, you have created a conversion board for RaSCSI mainly through the Twitter area.
There are people who are. Introducing here
Is omitted. The timing is undecided, but we plan to distribute the official version for a fee.
□ Customize pin assignment
The signal control logic and pin assignment of GPIO are defined in gpiobus.h.
As a customization example, the following two conversion board definition examples are prepared in gpiobus.h.
Compiled binaries are also included in the distribution.
・Aibomu version
・GAMERnium version
□ How to customize
-This is a message when starting up RaSCSI.
CONNECT_DESC
・Select the signal control mode.
SIGNAL_CONTROL_MODE
0: SCSI logical specification
Conversion board using 74LS641-1 etc. directly connected or published on HP
Arthurt: 0V
Negative: Open collector output (disconnect from bus)
1: Negative logic specification (when using the conversion board for negative logic -> SCSI logic)
There are no conversion boards with this specification at this time
Arthurt: 0V -> (CONVERT) -> 0V
Negative: 3.3V -> (CONVERT) -> Open collector output
2: Positive logic specification (when using the conversion board for positive logic -> SCSI logic)
RaSCSI Adapter Rev.C @132sync etc.
Arthurt: 3.3V -> (CONVERT) -> 0V
Negative: 0V -> (CONVERT) -> Open collector output
・Control signal pin assignment
PIN_ACT: The pin number of the signal that indicates the status that the SCSI command is being processed.
PIN_ENB: Pin number of the signal that indicates the valid signal from start to finish.
PIN_TAD: Pin number of the signal that indicates the input/output direction of the target signal (BSY,IO,CD,MSG,REG).
PIN_IND: Pin number of the signal indicating the input/output direction of the initiator signal (SEL, ATN, RST, ACK).
PIN_DTD: Pin number of the signal that indicates the input/output direction of the data signal (DT0...DT7,DP).
・Control signal output logic
0V:FALSE Specify with 3.3V:TRUE.
ACT_ON: PIN_ACT signal logic.
ENB_ON: Logic of PIN_ENB signal.
TAD_IN:PIN_TAD This is the logic in the input direction.
IND_IN:PIN_ENB Logic in the input direction.
DTD_IN:PIN_ENB Logic in the input direction.
・ SCSI signal pin assignment
PIN_DT0 to PIN_SEL: Each is the pin number of the SCSI signal.
□ How to compile
・Executable files (rascsi, rasctl)
Fix gpiobus.h
make clean
make
[EOF]