Difference between revisions of "Interprocessor (51-51d) protocol FAQ"

From PhatHack Wiki
Jump to navigation Jump to search
(Work in progress, adding more info on protocol)
Line 4: Line 4:
   
 
Here is what we know so far about the communications protocol:
 
Here is what we know so far about the communications protocol:
  +
  +
<table width="100%" border=1>
  +
<tr>
  +
<th width="10%">7312</th>
  +
<th width="10%">8052</th>
  +
<th width="80%">Possible Meaning</th>
  +
</tr>
  +
<tr><td colspan=3><center>Initialization</center></td></tr>
  +
<tr><td>0xf9</td><td>&nbsp;</td><td>??</td></tr>
  +
<tr><td>&nbsp;</td><td>0x53</td><td>??</td></tr>
  +
<tr><td>0x10</td><td>&nbsp;</td><td>??</td></tr>
  +
<tr><td>&nbsp;</td><td>0x21</td><td>??</td></tr>
  +
<tr><td colspan=3><center>HU Query total disc</center></td></tr>
  +
<tr><td>&nbsp;</td><td>0x21,0xdf</td><td>Query total disc</td></tr>
  +
<tr><td>0xce</td><td>&nbsp;</td><td>ACK</td></tr>
  +
<tr><td>0x7D</td><td>&nbsp;</td><td>Total Disks followstd></tr>
  +
<tr><td>&nbsp;</td><td>0xac</td><td>??</td></tr>
  +
<tr><td>0x00</td><td>&nbsp;</td><td>First byte</td></tr>
  +
<tr><td>&nbsp;</td><td>0xbd</td><td>Continue</td></tr>
  +
<tr><td>0x0f</td><td>&nbsp;</td><td>Second Byte (total 15 disks)</td></tr>
  +
<tr><td>&nbsp;</td><td>0xbd</td><td>Continue</td></tr>
  +
<tr><td>0x74</td><td>&nbsp;</td><td>End of Stream</td></tr>
  +
<tr><td>&nbsp;</td><td>0xce</td><td>ACK</td></tr>
  +
<tr><td colspan=3><center>HU Query total tracks</center></td></tr>
  +
<tr><td>&nbsp;</td><td>0x20,0x00,0x01,0xdf</td><td>Query total tracks in disc 1 (0x00, 0x01)</td></tr>
  +
<tr><td colspan=3><center>8052 Ping Request</center></td></tr>
  +
<tr><td>&nbsp;</td><td>0x66, 0x9a</td><td>8052 PING</td></tr>
  +
<tr><td>0xce</td><td>&nbsp;</td><td>ACK</td></tr>
  +
<tr><td>0x70</td><td>&nbsp;</td><td>51d PONG</td></tr>
  +
<tr><td>&nbsp;</td><td>0xce</td><td>ACK</td></tr>
  +
<tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
  +
</table>
   
 
* Heartbeat:
 
* Heartbeat:
   
 
If the Winbond chip does not see a "heartbeat" signal every 10 seconds, it will kill power to the 7312 and reboot it. It's a two-part sequence:
 
If the Winbond chip does not see a "heartbeat" signal every 10 seconds, it will kill power to the 7312 and reboot it. It's a two-part sequence:
  +
  +
   
 
7312 > 0x70
 
7312 > 0x70

Revision as of 15:49, 1 July 2005


The 51d program running on the 7312 and the Winbond '51 chip communicate over /dev/ttyS1 at 115200 bps.

Here is what we know so far about the communications protocol:

7312 8052 Possible Meaning
Initialization
0xf9 ??
 0x53??
0x10 ??
 0x21??
HU Query total disc
 0x21,0xdfQuery total disc
0xce ACK
0x7D Total Disks followstd>
 0xac??
0x00 First byte
 0xbdContinue
0x0f Second Byte (total 15 disks)
 0xbdContinue
0x74 End of Stream
 0xceACK
HU Query total tracks
 0x20,0x00,0x01,0xdfQuery total tracks in disc 1 (0x00, 0x01)
8052 Ping Request
 0x66, 0x9a8052 PING
0xce ACK
0x70 51d PONG
 0xceACK
   
  • Heartbeat:

If the Winbond chip does not see a "heartbeat" signal every 10 seconds, it will kill power to the 7312 and reboot it. It's a two-part sequence:


7312 > 0x70
       0xAC   < 51
     > 0x90
       0xCE   < 51

Must repeat within 10 seconds, or the Winbond chip will output 0x66,0x9A 3 times and reboot.