Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

I need a driver (ANSI C99) or design manual for the NCR53c94...

Status
Not open for further replies.

e-music

Member level 5
Joined
Dec 29, 2017
Messages
84
Helped
0
Reputation
0
Reaction score
0
Trophy points
6
Activity points
1,065
Hello, folks!

I was wondering if you can help me find design manual, application note, or driver (TARGET MODE) related to the NCR53c94, a SCSI controller form the 90s era, very popular back then. I need this in ANSI C99 for an embedded project, as most of the sources I have found were for simulators for Linux and PC hosts.

So far, I've been able to write a simple driver with basic functions needed to write/read registers, however, I need to take a look and see how the DMA functions work, and how SCSI commands and response bytes, like that of an INQUIRY Command, are being sent to the Initiator from a target device.

I have read two books on SCSI, and I'm now very familiar with most of the nitty-gritty of the protocol/s. However, the examples provided in both books were based on the 5380 chip. What makes the NCR53C9x and its variants different from the 5380 is the PHASE-SEQUENCER and automated commands, where on the 5380, you have to manually take care the bus phases and turn the data bus on/off whenever a DATA phase is taking place.

What makes things even worse for me is that I do not have a logic analyzer or a SCSI protocol analyzer so I can find out what's going on down the bus. Also, I'm testing using two boards I've built (TARGET and INITIATOR) and sometimes, one target board with a vintage synth with a SCSI interface acting as an initiator.

After successful arbitration/selection (I_T nexus established), the target fires an interrupt indicating a successful receipt of a full CDB. It is usually an INQUIRY command with 0x24 (36) bytes of space allocated by the initiator, so the target has to respond with at least 36 bytes. Here I'm sending back the 36 bytes response to the INQUIRY CMD (according to the format in the SCSI II spec), but nothing happens afterwards. No response is received from the initiator, and I have no way to find out whether those bytes were really received at the initiator side.



If anyone has some experience working with those legacy devices, I would really appreciate any info!

Thank you!
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top