Hello all, before asking my question let me summarize my situation:
I am trying to interface a legacy computer system to a contemporary PC. The PC is serving as a peripheral (disk) to the legacy system. The server software on the PC side uses a COM port (real or VCP) and monitors either DSR, CTS or RI as a handshaking signal (uses only one handshaking line, when the line goes LOW the software expects a command from the legacy system). I have this working with a USB-to-Serial cable with no problems. I recently wanted to try this over wireless (blue tooth) and wanted to try it with a LMX9838.
The legacy system uses a proprietary serial port with only one handshake line (called COMMAND, which is normally high, and goes low to indicate a command is going to be sent to the peripheral on the TX line, peripherals are intelligent and only respond when addressed by the computer). The legacy system can not control the LMX9838 UART through software and could not interpret LMX9838 UART commands, so SPP profile must be used in transparent mode to send and receive everything as raw data.
I built a prototype and I am able to send and receive data over the Bluetooth link. What I am not able to do is to communicate the legacy computer's COMMAND line state to the PC. I monitored the COM port created by the Bluetooth device on the PC and seen that DSR/DTR and CTS are all pulled HIGH and they never change.
So my question is how do I connect my handshake signal to LMX9838 and send it over the bluetooth link. Is it possible with SPP transparent mode as I can not really use the Command mode? With a USB-to-Serial cable I did this easily by connecting the line to the DSR signal that goes to the PC.
Here's a simplified diagram of operation:
Legacy System (LS) ----> LMX9838 ----> ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )) ------> PC with BT and the Server Software (SS)
--------> SS monitors CTS (or DSR/RI depending on user preference)
--------> LS COMMAND line goes low (when using a cable it is connected to CTS line or as above)
--------> LS sends a Command frame
<-------- SS receives the command frame and sends ACK or NACK
--------> LS sends (output) or
<-------- waits (input) for a Data Frame if ACK from SS
<-------- SS sends a Complete byte to indicate the command was processed
Many thanks
Ray