WHY ISO15693?

 


FREQUENTLY ASKED QUESTIONS (FAQ) 

Back to FAQ main page...

SERIAL COMMUNICATION

- How can I have direct serial communication with a COM port?

All commands should be in hex format. So if you are sending F and A as two keyboard characters it will NOT work. FA(hex) is 250(dec). Commands use full byte range. For one byte commands (such as FA) you don’t need to send CRC checksum bytes. For all other communication CRC is needed and is required because of the ISO15693 protocol, not APSX.

- How would I interface the APSX-210 with a microprocessor?

It is possible; however you will need a stamp that supports 19200 baud. In that case you should be able directly talk to RW-210 without the need of the C-100. You can download and use DirecTalk (serhex). Also, you can download Portmon (Google it) and monitor the serial communication.

- Do you provide communication on Linux?

We do not have Linux sample applications; however you can directly communicate with the device via serial port commands. You can experiment with this using our DirecTalk Application (serhex) from our Support page. We do have customers that use our devices on Linux.

- Can I use a CMOS level RS232 port w/o using C-100?

No. It needs to be at TTL levels. I would try a C-100 to compare. Download and used the Direct Talk application. It has good samples of data being sent and received. Two major things you need to consider.

1- All data being sent and received in full byte spectrum (0-255).

2- Most commands need CRC16 checksum.

- How can I read the written data?

Please download our DirecTalk application. It has examples of write command. Remember it is not as simple as FA command. You will need to calculate and send CRC checksums bytes at the end of each command line. I have an embedded application that I am interested in using this Device for.

- What is the interface method or port setting? Serial, IIC?

19200 TLL 8N1 serial TTL or RS232? If you are connecting directly to RW-210 without C-100, then it is 19200baud 8N1 TTL connection if not it is 19200 baud 8N1 RS232-C.

- Bytes or Chars?

You need to be able to send and receive in bytes not chars. Chars does not cover all byte needs of the system.

- How can I calculate the CRC?

You need to skip the first two bytes and calculate the CRC for the rest. ISO15693 uses CRC-16, an implementation in VB is shown below.

Private Sub CalcCRCSkipFirstTwoBytes(ByRef DataBytes() As Byte)
Dim dbytes(DataBytes.Length - 3) As Byte
Dim i As Integer For i = 0 To dbytes.Length - 1
dbytes(i) = DataBytes(i + 2)
Next
Dim CRCLSB As Byte, CRCMSB As Byte
CalculateCRC(dbytes, CRCLSB, CRCMSB)
ReDim Preserve DataBytes(DataBytes.Length + 1)
DataBytes(DataBytes.Length - 2) = CRCLSB
DataBytes(DataBytes.Length - 1) = CRCMSB
End Sub

Private Function CheckCRC(ByVal cbytes() As Byte) As Boolean
Dim mbytes(cbytes.Length - 3) As Byte
Dim i As Integer
Dim crclsb As Byte, crcmsb As Byte
For i = 0 To mbytes.Length - 1
mbytes(i) = cbytes(i)
Next
Me.CalculateCRC(mbytes, crclsb, crcmsb)
If cbytes(cbytes.Length - 2) = crclsb And cbytes(cbytes.Length - 1) = crcmsb
Then
Return True
Else
Return False
End If
End Function

Public Sub CalculateCRC(ByVal DataBytes As Byte(), ByRef CRCLSB As Byte, ByRef CRCMSB As Byte)
Const PresetValue = &HFFFF
Const Polynominal = &H8408
Dim CRCValue As Integer
Dim i As Integer, j As Integer
CRCValue = PresetValue
For i = 0 To DataBytes.Length - 1
CRCValue = CRCValue Xor DataBytes(i)
For j = 0 To 7
If CRCValue And &H1 Then
CRCValue = (CRCValue >> 1) Xor Polynominal
Else
CRCValue >>= 1
End If
Next j
Next i
CRCValue = Not CRCValue - 65536
CRCLSB = CRCValue Mod 256
CRCMSB = (CRCValue - CRCLSB) / 256
End Sub

- How can I connect it serially? How do I supply power to the module?

You will need to supply the device with clean regulated 5V. When you use our C-100 connector to get serial connection with a serial cable, you'll need 6VDC wall adaptor

- Need full listing of commands in HEX format. Some are available in DirecTalk application but I need a bit more.

You will need to obtain ISO15693 to get the all the ISO15693 commands for that. We do not supply that document since these are tag protocol dependant rather than our device. One alternative would be to listen to our Test Application (not direct talk) with Portmon application, since it has most of the functionality in a common 15693 tag.

Back to FAQ main page...

© 2005 APSX.Com. All rights reserved.