Difference between revisions of "Interprocessor (51-51d) protocol FAQ"
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> </td><td>??</td></tr> |
||
+ | <tr><td> </td><td>0x53</td><td>??</td></tr> |
||
+ | <tr><td>0x10</td><td> </td><td>??</td></tr> |
||
+ | <tr><td> </td><td>0x21</td><td>??</td></tr> |
||
+ | <tr><td colspan=3><center>HU Query total disc</center></td></tr> |
||
+ | <tr><td> </td><td>0x21,0xdf</td><td>Query total disc</td></tr> |
||
+ | <tr><td>0xce</td><td> </td><td>ACK</td></tr> |
||
+ | <tr><td>0x7D</td><td> </td><td>Total Disks followstd></tr> |
||
+ | <tr><td> </td><td>0xac</td><td>??</td></tr> |
||
+ | <tr><td>0x00</td><td> </td><td>First byte</td></tr> |
||
+ | <tr><td> </td><td>0xbd</td><td>Continue</td></tr> |
||
+ | <tr><td>0x0f</td><td> </td><td>Second Byte (total 15 disks)</td></tr> |
||
+ | <tr><td> </td><td>0xbd</td><td>Continue</td></tr> |
||
+ | <tr><td>0x74</td><td> </td><td>End of Stream</td></tr> |
||
+ | <tr><td> </td><td>0xce</td><td>ACK</td></tr> |
||
+ | <tr><td colspan=3><center>HU Query total tracks</center></td></tr> |
||
+ | <tr><td> </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> </td><td>0x66, 0x9a</td><td>8052 PING</td></tr> |
||
+ | <tr><td>0xce</td><td> </td><td>ACK</td></tr> |
||
+ | <tr><td>0x70</td><td> </td><td>51d PONG</td></tr> |
||
+ | <tr><td> </td><td>0xce</td><td>ACK</td></tr> |
||
+ | <tr><td> </td><td> </td><td> </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 |
---|---|---|
0xf9 | ?? | |
0x53 | ?? | |
0x10 | ?? | |
0x21 | ?? | |
0x21,0xdf | Query total disc | |
0xce | ACK | |
0x7D | Total Disks followstd> | |
0xac | ?? | |
0x00 | First byte | |
0xbd | Continue | |
0x0f | Second Byte (total 15 disks) | |
0xbd | Continue | |
0x74 | End of Stream | |
0xce | ACK | |
0x20,0x00,0x01,0xdf | Query total tracks in disc 1 (0x00, 0x01) | |
0x66, 0x9a | 8052 PING | |
0xce | ACK | |
0x70 | 51d PONG | |
0xce | ACK | |
- 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.