You are on page 1of 12

3.

AT715 Scale Interface


(3-1) General Procedure
(3-1-1) The following is procedure of sending serial data with request from KA
counter.
(a) Counter request sending data (RxD)
(b) Scales send serial data (TxD)
(c) Contents and data length should be depend on RxD data from a counter
(d) Returned data should add CRC code.
(e) Bitrate is 19.2kb serial, Half Duplex
(f) Refresh data interval should be 50ms at least.
(g) Signal specification follows EIA RS 485-A

(3-1-2) WIRING DIAGRAM

Scale Shield cable Connectoter 1


Function Pin # Function
0V 1 GND
+5V 3 +5V
0V 2 GND
+5V 4 +5V
SB+(RxD/TxD) 10 SB+(RxD/TxD)
SB-(_RxD/_TxD) 11 SB-(_RxD/_TxDT)
F.G Shield F.G
D-sub15P(Male)
Cable
Fig 1-5 AT-AOS wiring diagram
(3-1-3) Electronic specification

1) Bit rate 19.2 kbps


2) code Base band NRZ
8 bit Non Parity Stop bit 1bit
3) Driving Method Half Duplex , RS485
4) communication media 2 line
5) basic connection

Encoder
(Linier Scales)
counter

SB+ SB+(RxD/TxD)
SB- SB-(_RxD/_TxD)

+5V +5V
GND 0V

6) Circuit of Receiver and Driver


Send(TxD)

To Counter
1kΩ
150Ω
Receive(RxD)

1kΩ

_______
R _ S EL
(3-2) Communication procedure
(3-2-1) Communication Procedure Generally

50ms(Min.)
(Counter→encoder)
RequestRxD

Request data
DataTxD
(Encoder→Counter)

Data Fr
Frame

RequestRxD Idling Idling


(Counter→encoder) Cmd Dat0 ・・・ DatN
Request
・Frame
DataTxD Idling Idling
(Encoder→Counter) Cmd Dat0 Dat1 ・・・ DatN CRC
Response data flame

Cmd : Command field


Dat0 ~ DatN : Data Field (N≦32)
CRC : CRC Field
Idling : Opened

(3-2-2)Frame Format

Serial Data Idling(H) Idling(H)


(Encoder -> Counter) Cmd Dat0 Dat1 Dat2 ・・・ DatN CRC Note) CRC is sent
EncoderCounter
(3-2-3) Field format

(3-
(3 1)fields
-2-3-1)fields (Request Fr CounterEncoder)
Frame: Counter

10bit 10bit
Idling(H) Idling(H)
0 1 0 cc0 cc1 cc2 cc3 cc4 Cc5 1 0 D0 D1 D2 D3 D4 D5 D6 D7 1

Start (Fixed) CC Code Stop Start 8 Bit data Stop


Bit Bit
Cmd Field Data Field

The following are specification of frame & data field of CC code ( 00h ~ 3Fh)
Note) Specification of request frame should be shown data that should be sent at
next timing from an encoder
CC Code Dat0 Dat1 … Dat15 … Dat31 Function
00h(01) ―― ―― … ―― … ―― Request ABS data
01h(05) ―― ―― … ―― … ―― Request serial #
02h(09) ―― ―― … ―― … ―― Request Software version #
03h(0D) ―― ―― … ―― … ―― Not used
04h(11) ―― ―― … ―― … ―― Request calibration Date
05h(15) ―― ―― … ―― … ―― Reserved
06h(19) ―― ―― … ―― … ―― Request error details
0Ch(31) ―― ―― … ―― … ―― Request ABS data (used measurement of LRE)
10h(41) Λx Gain … ―― … ―― Write Gain data of MN805(each λ)
11h(45) Λx ―― … ―― … ―― Read Gain data of MN805(each λ)
12h(49) Λx Delay … ―― … ―― Write delay data of MN805(each λ)
13h(4D) Λx ―― … ―― … ―― Read delay data of MN805(each λ)
14h(51) Data Write hysteresis data0~255(0.5um/1)
15h(55) Read hysteresis 0~255(0.5um/1)
16h(59) A5h 5Ah Setting Zero position of Scale
17h(5D) Read data of Coa、Med、Fine
18h(61) Read error data between track of Coa、Med、Fine
19h(65) A5h 5Ah Start adjustment of error between track of
Coa、Med、Fine
20h(81) Λx ESW … ―― … ―― Request of raw data of λx
(ESW=0:before SER correction)
(ESW≠0:after SER correction)
23h(8D) ESW ―― … ―― … ―― ESW≠0:Stop sampling of MN805
ESW=0:Restart sampling of MN805
25h(95) ―― ―― … ―― … ―― Reset Software
26h(99) A5h 5Ah … ―― … ―― Start adjustment of SRE
27h(9D) ―― ―― … ―― … ―― Stop adjustment of SRE
28h(A1) A5h 5Ah … ―― … ―― Start adjustment of Gain/Delay
30h(C1) Addr0 Addr1 … ―― … ―― Set EEPROM・address
(To execute before Writing/Reading)
31h(C5) Data0 ―― … ―― … ―― Byte Write
(To write one byte onto EEPROM)
32h(C9) Data0 Data1 … Data15 … ―― Page Write
(To write 16 bytes onto EEPROM)
33h(CD) ―― ―― … ―― … ―― Byte Read
(To read one byte on EEPROM)
34h(D1) ―― ―― … ―― … ―― Page Read
(To read 8 byte on EEPROM)

(3- counterencoder)
(3-2-3-2) Each field (Response data frame: counterencoder)

10bit 10bit
Idling(H) Idling(H)
0 0 cc0 cc1 cc2 cc3 cc4 Cc5 1 0 D0 D1 D2 D3 D4 D5 D6 D7 1

Start Error Stop Start Stop


(Fixed) CC Code 8 Bit data
Bit Bit Bit
Cmd Field Data & CRC Field
Note) CRC field should be only in Response data frame
The following table shows specification of Flame and Data field of CC code (00h ~ 3Fh) cc0~cc5
• An encoder return data on Response data frame, which is requested by Request frame to a
counter
• When an encoder has error, error bit in Cmd field comes to be “1”
• Only Cmd frame has no data field

CC コード Dat0 Dat1 Dat2 Dat3 Dat4 Dat5 … Dat7 Function


00h(00) ABS0 ABS1 ABS2 ABS3 ―― ―― … ―― ABS Data
01h(04) Ser0 Ser1 Ser2 Ser3 Ser4 Ser5 … Ser7 Serial #
02h(08) Ver0 Ver1 Ver2 Ver3 ―― ―― … ―― Software version
04h(10) Date0 Date1 Date2 Date3 Date4 ―― … ―― Data of previous adjustment
06h(18) Err0 Err1 Err2 Err3 ―― ―― … ―― Detail of error
0Ch(30) Raw0 Raw1 Raw2 Raw3 Raw4 Raw5 … Raw7 Till Raw data( use on
Raw17 measurement of LRE)
There are data up to Dat17
on this mode
10h(40) ―― ―― ―― ―― ―― ―― … ―― Write gain data of MN805(every λ)
11h(44) Gain ―― ―― ―― ―― ―― … ―― Read gain data of MN805(every λ)
12h(48) ―― ―― ―― ―― ―― ―― … ―― Write delay data of MN805(every λ)
13h(4C) Delay ―― ―― ―― ―― ―― … ―― Read delay data of MN805(every λ)
14h(50) ―― ―― ―― ―― ―― ―― … ―― Write hysteresis 0~255(0.5um/1)
15h(54) Data ―― ―― ―― ―― ―― … ―― Read hysteresis 0~255(0.5um/1)
16h(58) ―― ―― ―― ―― ―― ―― … ―― Set zero position
17h(5C) coa0 coa1 coa2 coa3 med0 med1 … Med3 Up to READ Coa、Med、Fine DATA
fine3 DATA ARE UP TO Dat11
18h(60) C-M0 C-M1 C-M2 C-M3 M-F0 M-F1 … M-F3 Deviation between each track of
Coa、Med、Fine
19h(64) ―― ―― ―― ―― ―― ―― … ―― Starting adjustment of error
between tracks
20h(4C) Raw0 Raw1 Raw2 Raw3 Raw4 Raw5 … ―― Request raw data of “λx”
(ESW=0:Before SER correction)
(ESW≠0:AfterSER correction)
23h(8C) ―― ―― ―― ―― ―― ―― … ―― Stop MN805 sampling as ESW≠0
Re-start MN805 sampling as ESW=0
25h(94) ―― ―― ―― ―― ―― ―― … ―― Resetting software
26h(98) ―― ―― ―― ―― ―― ―― … ―― Start adjustment of SRE
27h(9C) ―― ―― ―― ―― ―― ―― … ―― Pause adjustment of SRE
28h(A0) ―― ―― ―― ―― ―― ―― … ―― Start adjustment of Gain/delay
30h(C0) ―― ―― ―― ―― ―― ―― … ―― Set EEPROM・address
(To execute before Writing/Reading)
31h(C4) ―― ―― ―― ―― ―― ―― … ―― Byte Write
(To write one byte onto EEPROM)
32h(C8) ―― ―― ―― ―― ―― ―― … ―― Page Write
(To write 16 bytes onto EEPROM)
33h(CC) Data0 ―― ―― ―― ―― ―― … ―― Byte Read
(To read one byte on EEPROM)
34h(D0) Data0 Data1 Data2 Data3 Data4 Data5 … Data7 Page Read
(To read 8 byte on EEPROM)

(3-
(3-2-3-3)Data
3)Data Field

1.ABS0 ~ 3
ABS Code(BIN 8bit)
ABS3 ABS2 ABS1 ABS0 Sending
Order
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MSB LSB

2. Ser0 ~ 7
Seial(ASCII 8 bit)
Ser7 Ser6 Ser5 Ser4 Ser3 Ser2 Ser1 Ser0 Sending
Order
ASCII Code ASCII Code ASCII Code ASCII Code ASCII Code ASCII Code ASCII Code ASCII Code

3.Ver0 ~ 3

Software Version Code(ASCII 8 bit)


Ver#3 Ver#2 Ver#1 Ver#0 Sending
Order
ASCII Code ASCII Code ASCII Code ASCII Code
4.Data 0 ~ 4
Date of adjustment (Binary 8 bit)
Date4 Date3 Date2 Date1 Date0 Sending
Order
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
MSB LSB MSB LSB MSB LSB MSB LSB MSB LSB
Year:0~FFh Day:1~1Fh Month:1~0Ch Hour:0~17h Minuts:0~3Bh
AC 2000~2255 1st~31st Jan~Dec 0~23 hour 0~59 minuts

5.Error 0 ~ 3

Error Code (Binary 8 bit)


Err3 Err2 Err1 Err0 Sending
Order
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
MSB LSB MSB LSB MSB LSB MSB LSB

Error Field Bit Note


Err0 0 Error on MN805
1 Read/Write Error of EEPROM
2 FIFO over flow error
3 CPU Error
4 MN805 Diagnostic Error of MN805
5 Address data error for EEPROM
(As receiving address data other than 0~511)
6 Data error of λ (As received data other than 0 ~ 2)
7 Check sum error of EEPROM
Err1 0 λ0 signal error(Signal is too low)
1 λ1 signal error(Signal is too low)
2 λ2 signal error(Signal is too low)
3 λ0 signal error(Signal is too high)
4 λ1 signal error(Signal is too high)
5 λ2 signal error(Signal is too high)
6 Reserved
7 Reserved
6.λx
λCommand Code(Binary 8 bit)
λx
sending
7 6 5 4 3 2 1 0
Order
MSB LSB

Name Code
λ0 02h
λ1 01h
λ2 00h

7.Gain / Delay
Setting & Reading code Data of Gain/Delay (BINARY 8bit)
Gain/Delay
Sending
7 6 5 4 3 2 1 0 Order
MSB LSB

Min Max
Gain 00h 07h
Delay 00h 3Fh

8. Raw 0 ~ 5
λx Raw Data code(Binary,8 bit) sending
Raw5 Raw4 Raw3 Raw2 Raw1 Raw0
Order
“0 “0 “0 “0 11 10 9 8 7 6 5 4 3 2 1 0 “0 “0 “0 “0 11 10 9 8 7 6 5 4 3 2 1 0 “0 “0 “0 “0 11 10 9 8 7 6 5 4 3 2 1 0
” ” ” ” ” ” ” ” ” ” ” ”
MSB LSB MSB LSB MSB LSB
Upper 4Bit of Lower 8Bit of Upper 4Bit of Lower 8Bit of Upper 4Bit of Lower 8Bit of
Phase2Data Phase2Data Phase1Data Phase1Data Phase0Data Phase1Data

9.CRC

Check sum code (Binary 8bit)


Check sum
Sending
7 6 5 4 3 2 1 0 Order
MSB LSB
(3-3) To Pick up Frame
(3-3-1) Enable driver and starting to pick up Frame
Transmitter (Counter) starts to send after setting driver enable.
Receiver start to pick frame at receiving first “L” signal after idling
Transmitter (Encoder) has to set CCcode “0Fh” and transmit ABS data as
receiving illegal Cmd

Counter: Counter starts receiving “ Response data frame “ after transmit of


request signal then never have driver enable until finishing receiving data.

Encoder: Encoder make driver enable by 15 msec. after pick up delimiter of


“Request frame’ and start transmit of “Response data “, then never pick up
“request frame” by finishing transmit

Request RxD Request Frame


(Counter→Encoder)
520.8μS×n

Driver Enable
(Counter)
Less than 1μs

Less than 15ms

Data TxD Data Frame


(Encoder→Counter)

Driver Enable
(Encoder)
Less Than 15ms Less than 100μs

(3-3-2) End of frame and open bus


End of frame must be receiving delimiter without start bit after starting
frame, because any frame has no field that means end of frame. Therefore
response data has to be transmitted consecutively.
Counter set driver disable by 1 µs after end of frame, and encoder disable
driver by 100 µs after end of frame.

(3-3-3) Starting bit sampling


To start bit sampling at edge of signal down from H level as idling or
Delimiter.
(3-3-4) Idling
Signal must be on idling position between frames.
= Transmitter set signal High level

RS-485 Rxd
Data
______

RE
Data
Txd

Control signal of AT715


Signal CPU CPU line Transceiver
TD_X To transmitte Txd0
RD_X To receive data Rxd0
RE_X Enable receiving P11

RE_X: L Activate Receiving


H Activate transmitting
AT715 communication info:   
 
To Zero:  use 0x16, followed by 0xA5 in Data field 0, and 0x5A in Data field 1. 
 
Most customers really only care about three commands at this point (page 4), with the ABS command 
being the most important: 
 Command 0x00 – ABS position 
 Command 0x06 – Request error details 
 Command 0x16 – Zero scale 
  
Command 0x00 (ABS Position) is the command used to request position (i.e. poll) from the AT715 
scale.  Basically the OEM customer would send command 0x00 from their controller to AT715 over an 
RS‐485 interface at 19.2K baud.    Within 15 milliseconds (page 9), the AT715 should respond with a data 
package consisting of six bytes:  one byte echoing the command code (0x00) followed by four bytes that 
make up the ABS position data, followed by a CRC byte.  If there is an error, then the first bit of the 
command echo will be set.  After 50 milliseconds from sending the first request, a new position request 
may be sent to the AT715. 
  
Here is an example transmission:   
  
From OEM Controller: 
Byte Description  Command 
Byte Position  0 
Data  0x01 (code 0x00, ABS Position) 
  
AT715 Response, <15 milliseconds later: 
Byte  Command  ABS  ABS  ABS  ABS  CRC 
Description  Echo  Position  Position  Position  Position  Byte 
Byte 3  Byte 2  Byte 1  Byte 0 
Byte  0  1  2  3  4  5 
Position 
Data  0x00 (No  0xWW  0xXX  0xYY  0xZZ  [CRC] 
Error) 
0x01 (Error) 
  
Note that the ABS position is decoded in reverse bit order (most significant bit first transmitted), and the 
bytes themselves are in reverse order (most significant byte first transmitted).  (See page 6)  The 
command codes are decoded in a different order though! (least significant bit transmitted first).  For 
simplicity the CRC byte can be ignored. 
 
Command 0x06 (Error Details) can be called when the command echo byte indicates an error to 
determine the exact problem with the system.  Command 0x16 (Zero scale) will set the zero of the scale. 
 
It’s a 4‐byte signed integer in fixed point notation – it always gives the position in 
micrometers.  12.345mm is sent as 12345.  
 
AT715 interface notes from customer.txt
As seen with a logic analyser:

The transmission is with 19.2KBaud. (usual mode: 8 Data bits 1 Stop bit, no
parity)
Although it's a RS485 transceiver it has a termination resistor of 470Ohm.
Each signal line is PU/PD accordingly to it's level with a 2k resistor.

The AT715 sends its position every 50ms (20 times/second), so it is surely
not usable for realtime controlling.
It always sends 6 Bytes in a row.
The first byte is always zero.
Then there are 4 Bytes for the absolute position (resolution 0.5um) with LSB
first. Negative values are in twos complement.
The last byte is a checksum (just all other bytes added).

Page 1

You might also like