Cogman
Lifer
So for my computer IO class, I am dealing with data transfer via the parallel port. For this assignment, we are to treat the parallel port as a serial port.
I currently have a data transfer method that works completely using only 2 pins (a command pin and a data pin, for each computer). The method I am currently using will change the data on the line, and wait for the computer on the other side to say "Yes, I got the last bit.".
This method works perfectly, however, I can't shake the feeling that I am going slower then I should be (We are supposed to try to get this going as fast as possible).
With this method, I get about 35,000 bps. When I disable verification to check and see how fast the output is able to switch, I see that the maximum speed is about 200,000 bps.
So here is what I've been thinking to get a faster transfer. One method is to have a timer in each of the computers measuring how long it should take for each bit to be sent. This requires the computer to time their reading speed and their writing speed, then communicate the worst case across the line (using the first implementation method). After that, I could set the control pin to high to signify a write is coming through, then wait for the other computer to respond with a high control pin. Once the response is received, I can drop the control pin and send the next eight bits across the line in the agreed intervals.
This should eliminate the need to do verifications across the board, however, is much more complex then the current system is, and more prone to error. Would this system of communication be faster though?
Other ideas are along the lines of having one computer control a 3rd pin as a clock and then reading the data at high pulses and changing at low pulses. This would be less complex, though a reasonable clock speed will still have to be communicated some how.
Any suggestions for a faster system of data transfer (No, parallel transfer isn't an option 😛 we already did that one)? At most I would like to have only 3 pins for each computer to communicate across.
*cliffs*
* Serial data transfer, what method is the fastest.
* I spout off what I am doing and what I think is a viable alternative.
I currently have a data transfer method that works completely using only 2 pins (a command pin and a data pin, for each computer). The method I am currently using will change the data on the line, and wait for the computer on the other side to say "Yes, I got the last bit.".
This method works perfectly, however, I can't shake the feeling that I am going slower then I should be (We are supposed to try to get this going as fast as possible).
With this method, I get about 35,000 bps. When I disable verification to check and see how fast the output is able to switch, I see that the maximum speed is about 200,000 bps.
So here is what I've been thinking to get a faster transfer. One method is to have a timer in each of the computers measuring how long it should take for each bit to be sent. This requires the computer to time their reading speed and their writing speed, then communicate the worst case across the line (using the first implementation method). After that, I could set the control pin to high to signify a write is coming through, then wait for the other computer to respond with a high control pin. Once the response is received, I can drop the control pin and send the next eight bits across the line in the agreed intervals.
This should eliminate the need to do verifications across the board, however, is much more complex then the current system is, and more prone to error. Would this system of communication be faster though?
Other ideas are along the lines of having one computer control a 3rd pin as a clock and then reading the data at high pulses and changing at low pulses. This would be less complex, though a reasonable clock speed will still have to be communicated some how.
Any suggestions for a faster system of data transfer (No, parallel transfer isn't an option 😛 we already did that one)? At most I would like to have only 3 pins for each computer to communicate across.
*cliffs*
* Serial data transfer, what method is the fastest.
* I spout off what I am doing and what I think is a viable alternative.
Last edited: