| ??? 02/08/04 09:18 Read: times |
#64220 - RE: Parallel Async Communication Protoco Responding to: ???'s previous message |
Ebrahim Vakilpour wrote:
------------------------------- 2-A communication always begin with a command I/O Packet(IP) in which 9th bit is 1. Remaining bits are CRC for the command + the data that follows it and the command itself. Depending on the command some data bytes may follow the command that their 9th bits are zero. What is a packet? Is that a 9-bit word? or a sequence of 9-bit words? If it's a sequence where does your packet start? Where and when does it end? Or is it a fixed size packet? 3-After each IP, the receiver sends an Acknowledged (ACK) if CRC is OK and a not acknowledged(NAK) if CRC is wrong. If the packet is important sender 8051 may waits for an ACK message and resend if it receives a NAK(in the case of glitch). In the ACK and NAK frame they may exchange some status data too. How will you calculate your crc? How will you send an ACK? Or a NACK? do these have to be acked also? 4-The beauty of this protocol is that there is no need for a supervisor chip because 8051s cross check each other and if Queued IPs exceed MAX_ALLOWD_QUEUED_IPS then the sender 8051 sends an interrupt and warns the other to complete Queued IPs soon or face consequences (reset). Do you need the complexity of an ACK/NACK protocol? If you do, then have a look at the TCP/IP stack. It has shown to be quite stable and resilient and uses 3 way handshake. (It will probably be far too complex for your purpose, but it shows how to define a protocol, and maybe it will give you some idea's) you will find it here: ftp://ftp.rfc-editor.org/in-notes/rfc793.txt The standard has been ammended by other RFC's YOU can search all of them here: http://www.rfc-editor.org/cgi-bin/rfcsearch.pl Maybe some other hints: Check the scsi protocol. If you don't need a two-way protocol, then the centronics printer I/F (parallel I/F) is maybe something to start with? Some more questions (in no particular order): If there is no supervisor chip, will you not spend to much time running your supervision-process? Is this bus going to be used over long distances, or only over short distances? (both 8051 on same PCB). If it's a way of communicating on the same PCB, then you would get away without error checking and ACK/NACK. (see the protocol used to drive an LCD). HTH Regards Patrick |



