z Embeds a 8051CPU
z Includes 32KB SSRAM and 64KB OTP ROM
z Includes a 10/100 Ethernet MAC, Ethernet
PHY
z Includes 2 channel DMA
z Includes a 7-bit 2 channel ADC(0V~2.5V)
z Provides I2C for EEPROM access
z Includes 3 timers
- two 8-bit hardware auto load timers
- one 16-bit hardware auto load timer
zProvides a high speed (up to 921 Kbps)
UART(with MODEM control) and 1 simplified
UART(Tx, Rx only)
z Supports fiber cable connection
z 0.25um CMOS technology
z 2.5V core and 3.3V (2.5V) IO power
z 48-pin QFN package
The IP210T is a cost effective and highly integrated
Serial-to-Ethernet SoC. Embedding a 8051 CPU,
64KB OTP ROM, 32K bytes SRAM, 2 channel 7-bit
ADC, 10/100Mbps Ethernet and UART. The IP210T
is targeted for network sensor, Serial-to-Ethernet
server and security system.
Since all device drivers and protocol stack are
embedded inside the SoC, this design provides a
neat and cost-effective solution. The 48 pin
package allows the designer to build a compact
size Serial-to-Ethernet device. 7-bit A/D converter
and GPIO pins meet most of design requirements
of industrial equipment control. In addition to TP
cable connection, the IP210T also provides the
fiber cable connection to meet the requirement of
long distance communication.
General Description..............................................................................................................................................................1
Table of Contents..................................................................................................................................................................2
4 Function Description........................................................................................................... ........................................10
7 Order Information........................................................................................................................................................66
I Input pin
O Output pin
IPL Input pin with internal pull low
IPH Input pin with internal pull high
P Power supply
Pin No. Label Type Description
PHY transceiver
45
44
46
47
36 FXSD I Fiber signal. This pin is used to control the operating
Pin No. Label Type Description
Analog digital converter
RXIP
RXIM
TXOP
TXOM
I/O
I/O
Receive Input Pair
Differential pair shared by 100Base-TX, and 10Base-T
modes.
Transmit Output Pair
Differential pair shared by 100Base-TX, and 10Base-T
modes. When configured as 100Base-TX, output is an
ML T-3 encoded waveform. When configured as
10Base-TX, the output is the Manchester code.
IPH/O Port3 is an 8-bit bidirectional I/O port. Port3 also
provides various special features listed below:
GPIO P3_0 or SRXD0, serial input port 0
GPIO P3_1 or STXD0, serial output port 0
GPIO P3_2
GPIO P3_3 or INT1, External interrupt 1
GPIO P3_4 or T0, Timer 0 external input
GPIO P3_5 or T1, Timer 1 external input
GPIO P3_6 or SDA, data pin of EEPROM
(when (0x8001[4] = 1’b1)
GPIO P3_7 or SCL, Clock pin of EEPROM
(when (0x8001[4] = 1’b1)
Pin No. Label Type Description
Miscellaneous
07 RESETB I Reset, low active. This pin should be kept at “low” st ate for
at least 10 microseconds. Connect this pin to a 1M ohms
pull up resistor. There is an internal capacitor between this
pin and GND, so the external capacitor is not necessary
for a RC reset circuit.
09 CLK25/LINK_LED IPH/O CLK25(O)/ LINK_LED(O)
IP210T
Data Sheet
12 X1 I
11 X2 O
42 BGRES O Band gap resister. Connect a 6.19K ohms resistor
14 VPP I OTP high voltage power (for OTP write).
06 REGOUT O Regulator Control. This pin should be connected to the
26, 25 TEST1, TEST0 IPH
Pin No. Label Type Description
POWER&GND
10
13
16
39
01 ADC_VCC P 2.5V Analog Digital Converter Power
15
34
40
43
48
Exposed-PAD VSS P GND Pad (E-PAD) of IP210T.
PVDD P 3.3V (2.5V) PAD Power
CVDD P 2.5V Core Power
AVDD P 2.5V Analog Power
System clock input or crystal input
It is recommended to connect X1 and X2 to a crystal. If the
clock source is from another chip, the clock should be
active at least for 1ms before RESETB de-asserted
Crystal output
between this pin and the GND.
Normal mode: 2.5V.
OTP ROM programming mode: 6.5V
base of a PNP transistor to generate 2.5V output voltage
at the collector.
IP210T manipulates operands in three memory spac es: 64KB program memory for internal OTP, 256
bytes 8051 built-in data RAM, and 32KB data memory.
The 256 bytes data RAM space is divided into 256-byte RAM and 128-byte 8051 Special Function
Registers (SFR). The lower 128-byte of RAM can be accessed by direct or indirect addressing, the SFR
can be access by direct addressing, and the upper 128-byte of RAM can be accessed by indirect
addressing only. The 32K data RAM is accessed with instructions different from that for 256-byte RAM.
1 1 1 28
Bit3: Timer0 clock = system clock /4 or /12 (1/0)
Bit4: Timer1 clock = system clock /4 or /12 (1/0)
Bit5: Timer2 clock = system clock /4 or /12 (1/0)
Bit6-7: WDT time-out counter select
IP210T
Data Sheet
WDT1 WDT0 Counter width
0 0 17
0 1 20
1 0 23
1 1 26
0xE1
PDCON
RW Power-down Control register
Bit 0: PDC (Power Down Control)
0 – pull high of P1/P2/P3 when entering power-down
mode
1 – pull low of P1/P2/P3 when entering power-down
mode
Bit 1: JWP (Just Wake Up, it works not only in PowerDown
mode, but also in Idle mode)
0 – issue interrupt after WakeUp
1 – don’t issue interrupt after WakeUp
1- redirect XDATA Bus to Flash’s Address & DATA Bus
Bit5-6: reserved
Bit7: SMOD_1 – Serial modification. Double baud rate of serial
port 1 if this bit set 1.
0xC8 T2CON RW Control register of T i mer 2
0xC9 T2MOD RW Mode register of Timer 2
Bit0:T2OE(Timer2 Output Enable)
Switching Timer 2 clock-out mode, which connects the
programmable clock output to external pin T2.
Bit1:DCEN(Down Count Enable)
1: Timer 2 as Down counter.
0: Timer 2 as Up counter.(default)
0xCA RCAP2L RW Low byte of Timer 2 re-load register
0xCB RCAP2H RW High byte of Timer 2 re-load registe r
0xCC TL2 RW Low byte of Timer 2 register
0xCD TH2 RW High byte of Timer 2 register
0xE8
0xEF WDTWCYC RW For every (WDTWCYC+1) system clocks, CPU advances WDT
4.1.6 Register description (8051 standard registers)
P4 RW General Purp ose IO
by 1. Used with Watch Dog Timer for easier Time Control.
IP210T
Data Sheet
Address Register Name Access Description
Power Control register:
0x87 PCON RW
0x98 SCON RW
0x99 SBUF RW
0xA8 IE RW
Bit 7- SMOD: this bit is used to double the baud rate
when TIMER 1 is used to generate baud rate and Serial
port is set in mode 1/2/3
Serial Port Control Register:
Bit [7:6] : Serial Port mode
00-Shift Register Baud Rate=Fosc/12
01-8 bit Baud Rate=variable
10-9 bit Baud Rate=Fosc/64 or Fosc/32
11-9 bit Baud Rate=variable
Bit5: Enable Multi-processor communication
Bit4: Rx_Enable
Bit3: the 9th bit TX value when bit[7:6]=10/11
Bit2: the 9th bit RX value when bit[7:6]=10/1 1
Bit1(TI) : TX Interrupt Status
H/W set TI=1 when H/W has sent out data in SBUF.
Bit0(RI) : RX Interrupt Status
H/W set RI=1 when H/W has received data in SBUF.
Serial Port Buffer:
store the data to be transmitted out or received in.
Interrupt Enable:
Bit7: 0- disable all interrupts
1- each interrupt source is individually enabled or
Bit6: 0 - disable Serial Port 1 interrupt(RI_1/TI_1)
1 - enable Serial Port 1 interrupt
IP210T supports both hardware interrupt and software interrupt. The following table shows the
interrupt types which are implemented in IP210T.
The only one difference between IP210T and standard 8051 about the interrupt is that INT0 pin for
external interrupt0 trigger is no longer exist, the interrupt0 is designed to be the interrupt sourcing from
Network TX/RX, DMA, Timer/Counter overflow, High Speed UART, ADC and PHY status. Besides IE0, to
enable each interrupt the individual enable bit of Interrupt Enable Register (0x8004) should be set, and
the Status Register (0x8003) would show the status for each interrupt. When an interrupt is generated,
the Interrupt Service Routine (ISR) will check the interrupt source by checking Status Register to know
what interrupt is occurring.
Since the interrupt function of External request 0 is designed to respond only to the joint events of
Interrupt Enable Register & Interrupt Status Register, pin P3.2 on IP210T is no longer used as the INT0
pin for External Request 0.
Interrupt Source Vector AddressRequest Flag Enable Flag
External Request0
Like a standard 8052, there are three timers/counters inside IP210T. SFR TMOD & TCON are used to
configure the operation modes of Timer0 and Timer1. SFR T2MOD & T2CON are used to configure
Timer2’s operation modes.
4.1.8.1 Timer0
Timer0 is a 16-bit timer/counter and functions just like one of a standard 8051.
TMOD.bit1 TMOD.bit0 MODE Description
0 0 0 8-bit timer/counter(TH0) with 5-bit prescalar(TL0).
0 1 1 16-bit timer/counter.
1 0 2 8-bit auto-reload timer/counter(TL0), reload from TH0 at
overflow.
1 1 3 TL0 is an 8-bit timer/counter. TH0 is an 8-bit timer using
timer1’s TR1 and TF1 bits.
Note: Only one difference of Timer0 to the timer0 of standard 8051 is the INT0 pin no longer exist.
Therefore, Gate bit(TMOD.bit3) for timer0 can’t be used to control the operation of timer0 as TR0 is
turned on.( Please refer to CPU Interrupt section)
4.1.8.2 Timer1
Timer1 is a 16-bit timer/counter and fun ction s just like one of a standard 8051
TMOD.bit5 TMOD.bit4 MODE Description
0 0 0 8-bit timer/counter(TH1) with 5-bit prescalar(TL1).
0 1 1 16-bit timer/counter.
1 0 2 8-bit auto-reload timer/counter(TL1), reload from TH1 at
overflow.
1 1 3 Timer1 halted,
4.1.8.3 Timer2
It’s a 16-bit Timer and SFR T2MOD & T2CON are used to control its operations. It can count up & count
down depending on TMOD.bit0 (DCEN). T2 pin is multiplexed through P1.5 and T2EX is multiplexed
through P1.6. The operation modes of Timer2 are shown as follows.
SFR 0xc8 bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
T2CON TF2 EXF2 RCLK TCLK EXEN2TR2 C/~T2 CP/~RL2
When C/~T2 bit (T2CON.bit1) is set to 1, it operates as a counter and is triggered by T2 pin.
When EXEN2 bit (T2CON.bit3) is set to 1, a negative edge of T2EX will set EXF2 (T2CON.bit6) to 1 and
cause a capture or a reload on Timer2.
SFR 0xc9 bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
T2MOD
Mode Description
Auto-Reload
Capture
T2OE DCEN
T2MOD.bit0(CP/~RL2=0)16-bit timer. TL2&TH2 are reloaded from
RCAP2L&RCAP2H when overflow.
T2MOD.bit0(CP/~RL2=1) 16-bit timer. TL2&TH2 are captured to
RCAP2L&RCAP2H when overflow.
T2EX (P1.6) triggers the capture operation.
It’s used to redirect CPU’s Code Space into XDATA Space (Internal Memory), so that CPU fetches the
instructions from internal Memory instead of the external Flash Memory.
4.1.9.2 Action
When ChipConfigure Register_0.bit5 (Mirror_En) is set to 1, CPU runs in Mirror Mode. Before CPU
enters Mirror Mode, the code data to be run should be moved to the internal Memory. In Mirror Mode, if
the content of Mirror_Address_Register (0x8006) is 0xE0, CPU sees the Internal Memory address
0x0000 as 0xE000 of its Code Space. For example, if CPU fetches an instruction at address 0xE005 of
Code Space, it returns the content of address 0x0005 of Internal Memory.
4.1.10 Power Management
4.1.10.1 Idle Mode
When PCON.IDL=1, IP210T enters Idle mode. In idle mode, IP210T’s CPU is idle but all the periph erals
remain active. The internal RAM and SFR registers remain uncha nged too. The idle mode can be
terminated by any enabled interrupt.
4.1.10.2 Power Do wn Mode
When PCON.PD=1, IP210T will enter power-down mode. The system clock is stopped in this mode. This
mode can be wakened up by external enabled interrupt (EX1) with level trigger configuration (TCON.IT0=0
or TCON.IT1=0). The Program Counter, internal RAM and SFR registers retain their values no changed
after resume from Power Down mode.
The GPIO1 ~ GPIO3 will be pulled high or low that depends on the setting of P DCO N.PDC af ter ente ring
Power Down mode.
For example, when PDCON.PDC=0, GPIO0 ~ GPIO3 will be 0xFF.
4.1.11 Watch Dog Timers
There are two Watch Dog Timers employed to protect user programs from unexpectedly shutting down
while IP210T has been through severe environmental problems. When user program somehow shuts
down or works in a unexpected manner, the overflow of WDTs can reset the system and restart user
program.
0xD8
WDTCON
WDTRST WDTEN HWWDT_CLR HWWDT_DIS
4.1.11.1 Watch Dog Timer 1, WDT
0x8E CKCON
WDT0 WDT1
WDT0(CKCON.bit6) & WDT1(CKCON.bit7):Used to select the counter widths of WDT as shown in
CKCON definition.
WDTRST(WDTCON.bit0): Write 1 to this bit clears WDT to zero, preventing from WDT overflow.
WDTEN(WDTCON.bit1): Set this bit to 1 makes WDT counter increas e f o llowing system clock.
WDTWCYC: Set value ranging from 1 to 255 inserts the value of wait cycle when counting WDT. For
example, if this value is 0, WDT counts up for every system clock. If the value is 1, WDT counts up for
every 2 system clock. If the value is 7, WDT counts up for every 8 system clock. And so forth.
This WDT is enabled by default when IP210T’ s po wered on.
HWWDT_CLR: Write 1 to this bit and then write 0 to this bit clears HWWDT, preventing from HWWDT
overflow. Program should write this bit twice(write 0 and write 1) in a very short time.
HWWDT_DIS: Set this bit to 1 stops HWWDT from counting.
This function is used to move an amount of data from one internal Memory location to another.
Internal Memory
Destination Address
Length
Length
Source Address
IP210T
Data Sheet
4.2.1.2 Action
a. Initialize DMA_Source_Address, DMA_Destination_Address and DMA_Length registers.
b. Write 0x1 to DMA_COMMAND register to invoke Internal Memory to Internal Memory DMA
operation.
c. IP210T starts this operation. When it’s done, IP210T sets DMA_COMMAND=0 and
StatusRegister.bit2=1.
d. Firmware keeps on polling the content of DMA_COMMAND register. Wh en it becomes 0x0, this
DMA operatio n is finished.
4.2.2 OTP to internal memory
4.2.2.1 Purpose
This function is used to move an amount of data from OTP into internal Memory.
Internal Memory
Destination Address
Length
OTP
Source Address
Length
4.2.2.2 Action
a. Initialize DMA_Source_Address, DMA_Destination_Address and DMA_Length registers.
b. Set CPU SFR EA=1 and Ex0=1 to enable external request interrupt so that an interrupt will occur to
bring CPU out of IDLE mode when DMA operation’s done.
c. Set Interrupt_EnableRegister.bit2=1 to allow an interrupt caused by DMA operation.
d. Write 0x4 to DMA_COMMAND register to tell IP210T an OTP to internal Memory DMA operation will
be started.
e. Set PDCON.bit1 (JWP) =1 to not execute Interrupt Vector after
f. Set SFR PCON.bit0 (IDL) to 1 to switch CPU to IDLE mode.
g. After switching to IDLE mode, IP210T starts this operation.
a. Set CPU’s Timer/Counter2 to 16bit auto-reload mode. The n make Timer/Counter2 run to generate
overflows with fixed time interval.
b. Write an initial value to Timer Counter Register, such as 0x0000.
c. Timer Counter Register increments every time Timer/Counter2 wraps around from 0xFFFF to
0x0000.
4.3.3 Read real-time counter
a. Write 0x1 to Timer Counter latch enable register to latch real-time counter to Timer Counter
Register.
b. Read Timer Counter Registers.
4.3.4 Timer/Counter overflow
When the real-time Ti mer/Counter wraps around from 0xffffffff to 0x00000000, IP210T sets
StatusRegister.bit3=1 to notify Firmware (by Polling to StatusRegister or EX0 Interrupt).
4.4.1.2 IP Checksum and CRC32 calculation for a proprietary packet
In some applications, the proprietary packet with special tag may be necessary. Because of the variable
length of the tag field, IP210T can’t calculate the IP checksum or CRC excluding the tag field
automatically. To solve this problem, IP210T supports a DMA function to calculate IP Checksum and
CRC32
4.4.2 RX buffer
RX Buffer is a block of internal 32K SSRAM for MAC to store the received frames. Its area is from the
value of RX buffer start address to the end address of internal RAM (16Kbytes). It is a ring buffer. Wh en
the frame crosses the boundary of internal RAM, the MAC will automatically wrap around to the start
address of RX Buffer.
4.4.2.1 RX Filter
IP210T supports two RX filter registers, RX_Filter_Registers_0 and RX_Filter_Registers_1. IP210T
receives a packet if it meets any one of the conditions turned on in RX_Filter_Registers_0. IP210T
receives a packet if it meets all of the conditions turned on in RX_Filter_Registers_1.
IP210T supports access to EEPROM through SCL and SDA pins. If Chip Configure Register_1[4:3]
=2’b10(P3_I2C_En=1, P4_I2C_En=0), EEPROM function is enabled and P3.7=SCL & P3.6=SDA.
There are two kinds of UARTs in IP210T. One is the standard 8051-built-in UART without FIFO (Serial
Port0). Its control registers is in SFR. The other one is 16C650 compatible UART designed with FIFO
and can support high-speed data transfer up to 921.6kbps (dete rmined by Divisor Register).
4.6.1 The operation of the UART in 8051
4.6.1.1 Serial Port0
P3.0(RXD) and P3.1(TXD) are used to perform data transfer through Serial Port0. SCON(0x98 ),
PCON(0x87).bit7(SMOD) and SBUF(0x99) are SFRs that control its communication operations just like
what it’s like in a standard 8051. If needed, IE(0xA8).bit4(ES) is used to activate interrupt.
4.6.1.2 Modes
This Baud rate clock source can be from Timer1 or Timer2 of 805 1 . Like standard 8051, Serial Port0 can
support four operation modes as the table shown below. .
This High Speed UART is compatible with 16C6 50 UART, which supports full set of MODEM control
signals. By setting the Divisor Register, it can support data transfer rate up to 921.6kbps baud rate.
4.6.2.1 Enable High Speed UART
After Chip_Configure_1_Register.bit1(HSP_UART_En) is set to 1, GPIO 2(P2) is switched to act as a
high speed UART operations. Its pin ma pping is as follows:
4.6.2.2 Related Registers’ Briefing
(Detailed definition can be found in IO Register Map)
A. Interrupt Enable Register (IER)
When one of bit0-bit4 of this register is set to 1, any related event will set STATUS.bit4
(HighSpeed_UART_Status_change) to 1, enabling the corresponding interrupt source.
B. Interrupt Identification Register (IIR)
When an UART interrupt is issued, this register should be checked to know which event has
occurred.
C. FIFO Control Register (FCR)
Bit0 is used to reset UART Receive module and bit1 is used to reset UAR T T ransmit module. Bit s[7:2]
is used to determine the threshold number of bytes in FIFO required to enable the Received Dat a
Available interrupt.
D. Line Control Register (LCR)
The line control register allows the specification of the format of the asynchronous data
communication used, including the number of bits in a character, stop bit and parity setting. Bit7 is used
to control the write action to Divisor register.
E. Modem Control Register (MCR)
The modem control register allows transferring control signals to a modem connected to the UART.
F. Line Status Register (LSR)
This register is used to tell the some status of UART, especially some error or notable event s.
G. Modem Status Register (MSR)
The register displays the current state of the modem control lines
H. UART_RX_FIFO_STATUS
Read this register to get the current number of data received in the RX FIFO.
I. UART_TX_FIFO_STATUS
Read this register to get the max number of data that is allowed to push into TX FIFO before it turns
full.
J. UART_Receiver Buffer
IP210T owns 256 bytes of UART Receive FIFO buffer. Read UART_Receiver_Buffer Regi ster to get
a byte of received data from Receive FIFO. After a read access to this register, the number of data in
FIFO is decreased by one.
K. UART_Transmit Buffer
IP210T owns 256 bytes of UART Transmit FIFO buffer. Write UART_Transmit_Buffer Register to put
a byte of data to T ran smit FIFO. After a write access to this register, the number of data in FIFO is
increased by one.
L. Divisor
The value of Divisor allows the selection of UART baudrate. Baudrate=(58.9M)/(16*divisor) bps.
0 Control Register
1 Status Register
2 PHY Identifier 1 Register
3 PHY Identifier 2 Register
4 Auto-Negotiation Advertisement Register
5 Auto-Negotiation Link Partner Ability Register
6 Auto-Negotiation Expansion Registers
4.8.2
4.8.3 Register0 : Control Register
Reg.bit Name Description Mode Default
0.[15] Reset 1=PHY reset. This bit is self-clearing. RW/SC 0
0.[14] Loopback 1=Enable loopback. This will loopback TXD to RXD
internally
0=Normal operation.
0.[13] Spd_Sel 1=100Mbps
0=10Mbps
When Nway is enabled, this bit reflects the result of
auto-negotiation. (Read only)
When Nway is disabled, this bit can be set by SMI.
(Read/Write)
0.[12] Auto Negotiation
Enable
0.[11] Power Down 1=Power down. All functions will be disabled except SMI .
0.[10] Isolate 1 = Electrically isolate the PHY from RMII/SMII
0.[9] Restart Auto
Negotiation
0.[8] Duplex Mode 1=Full duplex operation.
0.[7:0] Reserved 0
1 = Enable auto-negotiation process.
0 = disable auto-negotiation process.
This bit can be set through SMI.
0=Normal operation.
PHY is still able to respond to MDC/MDIO.
0 = Normal operation
0=Half duplex operation.
When Nway is enabled, this bit reflects the result of
auto-negotiation. (Read only)
When Nway is disabled, this bit can be set through SMI
(Read/Write).
When 100FX is enabled, this bit can be set through SMI.
1.[2] Link Status 1=Link has never failed since previous read.
1.[1] Jabber Detect 1=Jabber detected.
1.[0] Extended
Capability
The PHY will accept management frames with preamble
suppressed.
PHY accepts management frame without preamble.
Minimum of 32 preamble bits are required for the first
SMI read/write transaction after reset. One idle bit is
required between any two management transactions (as
defined in IEEE802.3u spec).
1=Auto-negotiation process completed. Reg.4,5 are valid
if this bit is set.
0=Auto-negotiation process not completed.
0=No remote fault.
In 100FX mode, this bit means the in-band signal
Far-End-Fault is detected. Refer to FX MODE section.
0=Link has failed since previous read.
If link fails, this bit will be set to 0 until bit is read.
0=No Jabber detected.
The jabber function is disabled in 100Base-X mode.
Jabber is supported only in 10Base-T mode.
Jabber occurs when a predefined excessive long packet
is detected for 10Base-T. When the duration of TXEN
exceeds the jabber timer (21ms), the transmit and
loopback functions will be disabled and the COL LED
starts blinking. After TXEN goes low for more than 500
ms, the transmitter will be re-enabled and the COL LED
stops blinking.
4.8.8 Register5 : Auto-Negotiation Link Partner Ability Register
Reg.bit Name Description Mode Default
5.[15] Next Page 1=Link partner desires Next Page transfer.
0=Link partner does not desire Next Page transfer.
5.[14] Acknowledge 1=Link Partner acknowledges reception of FLP word s.
0=Not acknowledged by Link Partner.
5.[13] Remote Fault 1=Remote Fault indicated by Link Partner.
0=No remote fault indicated by Link Partner.
5.[12] Reserved RO 0
5.[11] Asymmetric
Pause
5.[10] Pause 1=Flo w control sup ported by Link Partner.
5.[9] 100Base-T4 1=100Base-T4 supported by Link Partner.
5.[8] 100Base-TX-FD 1=100Base-TX full duplex supported by Link Partner.
5.[7] 100Base-TX 1=100Base-TX half duplex supported by Link Partner.
5.[6] 10Base-T-FD 1=10Base-TX full duplex supported by Link Partner.
5.[5] 10Base-T 1=10Base-TX half duplex supported by Link Partner.
5.[4:0] Selector Field [00001]=IEEE802.3 RO 00001
1=Link partner support asymmetric p ause operation.
0=Link partner not support symmetric operation.
When the auto-negotiation is disabled, this bit is set to 1.
After parallel detection, this bit is set to 1.
0=No flow control supported by Link Partner.
When the auto-negotiation is disabled, this bit is set to 1.
After parallel detection, this bit is set to 1.
When in 100FX, this bit is set by FX_PAUSE or SMI..
0=100Base-T4 not supported by Link Partner.
0=100Base-TX full duplex not supported by Link Partner .
For 100FX mode, this bit is set when Reg.0.[8]=1.
When the auto-negotiation is disabled, this bit is set
when Reg.0.[13]=1 and Reg.0.[8]=1.
0=100Base-TX half duplex not supported by Link
Partner.
For 100FX mode, this bit is set when Reg.0.[8]=0.
When the auto-negotiation is disabled, this bit is set
when Reg.0.[13]=1 and Reg.0.[8]=0.
After parallel detection, this bit is set when the result of
auto-negotiation is 100BASE-TX.
0=10Base-TX full duplex not supported by Link Partner.
When the auto-negotiation is disabled, this bit is set
when Reg.0.[13]=0 and Reg.0.[8]=1.
0=10Base-TX half duplex not supported by Link Partner.
When the auto-negotiation disabled, this bit is set when
Reg.0.[13]=0,and Reg.0.[8]=0.
After parallel detection, this bit is set when the result of
auto-negotiation is 10BASE-TX.
0x8330 My MAC Address Byte 0 (LSB)
0x8331 My MAC Address Byte 1
0x8332 My MAC Address Byte 2
0x8333 My MAC Address Byte 3
0x8334 My MAC Address Byte 4
0x8335 My MAC Address Byte 5 (MSB)
0x8336 My IPV4 Byte 0 (LSB)
31-0 Timer Count RW Timer Counter Register is a 32-bit counter
and is incremented upon the overflow of
Timer2 (TF2). User can set Timer2 to
determine the overflow intervals. Its value
wraps around to 0x00 00 00 00 at
Timer2's overflow while its previous value
is 0xff ff ff ff.
0 Speed100 RW Speed setting bit (This bit is for RMII only):
1-100Mbps
0-10MbpsDriver use it to force the speed
of MAC.
1 Duplex_F RW Duplex setting bit:
1- Full duplex
0- Half duplex, Driver use it to force the
duplex mode of MAC.
2 TX_Enable RW Enable Transmission function of MAC:
0- disable
1- enable
3 RX_Enable RW Enable Receive function of MAC:
0- disable
1- enable
4 FlowControl_Enable RW 1: Enable Flow Control function of MAC.
In full duplex mode, MAC will act as
follows:
a.MAC will issue Pause frame with
b. MAC will send Pause frame with
c. MAC will stop transmitting if MAC
In half duplex mode, MAC will do nothing.
0: Disable FlowControl
5 Boff_16_of f RW This bit will disable maximum 16-retry limit
and do infinite retry when the bit is set to
1.
6 LoopBack RW Enable MII-Internal-LoopBack when the
bit is set to 1.
7 MaxFrameLen RW This bit sets the maximum receive packet
length.
1- 1536 bytes
0- 1522 bytes
0xFFFF when used RX buffer is over
Pause-On-Threshold and continue to
issue Pause frame with 0xFFFF only if
remote node keeps on transmitting.
0x0000 when used RX buffer is under
Pause-Off-Threshold.
receive a Pause frame with time > 0
and resume TX if MAC received a
Pause frame with 0x0000 frame or
timeout which is set by Pause frame
with time > 0.
0 FCS-append-disable RW 0: TXMAC auto-calculates and
auto-appends 4 bytes CRC at the end
of packet.
1: TXMAC do NOT append 4 bytes CRC
at the end of packet.
1 FCS-receive-enable RW 0: RXMAC do NOT receive 4 bytes CRC
into RX-Buffer.
1: RXMAC receive 4 bytes CRC into RX-
Buffer.
2 SourcePortTagInserted_En RW 0: RXMAC will not check if there is a
SourcePortTag inserted right after SA.
RXMAC treats the word right after SA
as an EtherType.
1: RXMAC will check if there is a
SourcePortTag, which has type value
same as the SourcePortTagType
register, inse rted right after SA. If yes,
RXMAC will skip 4 bytes from SA and
treat the subsequent word as
EtherType. If not, EtherType is
considered right after SA. If
SourcePortTagInserted_En="1" and
first type != 0x9126(or SourcePortTag
type Register), then drop the frame.
4-3 IGMP_Mode_En RW 00 or 11: RXMAC will treat IGMP frame
as normal frame and filter the frame
according to RX Filter rules.
01: RXMAC will receive in IGMP frame (IP
frame with IP protocol=2) with
DA=Multicast address of range
01-00-5E-00-00-00~~01-00-5E-7F-FFFF and set the frame type to 1011b
(IGMP frame).
10: RXMAC will receive in IGMP frame (IP
frame with IP protocol=2) without DA
constraint – Multicast or Unicast and set
the frame type in RX buffer to 1011b
(IGMP frame)
**IGMP frame is an IP frame with IP
protocol=2
5 Rx_8021X_En RW 0: RXMAC will not receive frame with
Multicast DA = 01-80-C2-00-00-03
1: RXMAC will receive 802.1X frame with
DA=01-80-C2-00-00-03 and set the
frame type in RX buffer to 1100b
(802.1X frame)
6 Reserved
7 Reset_TXMAC RW When this bit is written to 1, the system
6 TX_Error RO This bit will be auto-cleared when bit 7,
Start_TX, is written to “1”.
This bit is valid only when bit 7, Start_TX,
is written to “0”.
0: TX no error
1: TX error such as TxUnd errun,
MaxCollision, LateCollision, etc.
7 Start_TX RW The TX MAC will start to send this packet
when this bit is set to “1”. It’s auto-cleared
when TX is done.
Writing this bit to “0” will be ignored by
H/W.
0 Rx_My_Mac_En RW 1: MAC will filter out the unicast frame
except its DA equal to
MY_MAC_ADDRESS.
0: MAC will filter out all unicast frames.
Pause frame will be recognized by the
MAC according to the state of
Rx_Pause_En.
1 Rx_Mcst_En RW 1: MAC will receive all multicast frame
except BPDU, PAUSE, IGMP and 802.1X
frame
0: MAC will filter out all multicast frame
except BPDU, PAUSE, IGMP and 802.1X
frame.
BPDU and PAUSE frame filters are
defined in bit 4 and bit5.
IGMP and 802.1X are defined in
MAC_Control_register_1, Bit-4-3 and
Bit-5.
Note:
DA of BPDU : 01-80-C2-00 -00-00
DA of PAUSE : 01-80-C2-00-00-01
DA of IGMP:
01-00-5E-00-00-00 ~ 01-00-5E-7F-FF-FF
DA of 802.1X: 01-80-C2-00-00-03
2 Rx_Bcast_En RW 1: MAC will receive Broadcast frame
0: MAC will filter out Broadcast frame
except Broadcast ARP and Broadcast
RARP frame.
3 Rx_All_En RW 1: enable MAC to receive all good frame
except Pause packet
0: MAC will receive frame by checking the
setting of the other bits of
RX_Filter_registers_0 and
RX_Filter_registers_1.
4 Rx_Bpdu_En RW 1: MAC will receive BPDU packet
0: MAC will filter out BPDU packet
BPDU is a frame with
DA=01-80-C2-00-00-00
5 Rx_Pause_En RW 1: if
MAC_Control_register_0.FlowControl_En
able=0, MAC will receive Pause packet.
0: MAC will filter out Pause packet.
Pause packet is a frame with DA
=01-80-C2-00-00-01 or
My_MAC_Address
Type = 0x8808
OP Code= 0x0001
6 Rx_Remote_Mac RW MAC will receive only the frame with
SA=Remote_MAC_Address when this bit
set 1.
This bit is used to lock remote node’s
MAC Address.
7 Rx_CRCErr_En RW 0: MAC will filter out CRC error frame.
1: Enable MAC to receive CRC error
frame.
RX_Filter_registers_1 (0x8136)
Bit Name Access Description Default
0 Rx_MyIP_En RW MAC will receive only the frame with
Destination IP = My_IP when this bit is set
1.
1
3-2 Rx_IP_Type_En RW 00 - Receive all EtherType frame except
7-4 Reserved - -
Ether_Type_Start_Offset_Register (0x8137)
Bit Name Access Description Default
7-0 Ether_Type_Start_Offset RW Define the Byte-Offset of EtherType Field
Rx_RemoteIP_En
RW MAC will receive only the frame with
Source IP = Remote_IP when this bit is
set 1.
the setting defined in
RX_Filter_register_0.Rx_Pause_En
01- Receive EtherType only IPv4(0x800),
ARP(0x806), RARP(0x8035).
*Notice:
(a) If the EtherType is 0x0800 but the
subsequent byte is not equal to IPV4
version, the MAC will drop the frame.
(b) If the EtherType is 0x8100 (VLAN
packet), No matter the setting of
Rx_IP_Type_En value, The RXMAC will
always skip 4 bytes VLAN tagging and
treat the subsequent word as
EtherType.
from SA-Field of receiving packet
The default value is 0. It means EtherT y pe
field is right after SA field in the receiving
frame.
Ex: If Ether_Type_Start_Offset= 0x6, the
EtherType field will be located at Byte
18/19 in the receiving frame start the byte
count from 0.
001-Internal Data to Internal Data transfer.
010- Reserved
011- Reserved
100-OTP ROM to Internal Data transfer.
101-Interanl data to CRC32 generation.
The CRC32 result will be calculated
by IP210T and be stored in
CRC_Result_register (0-3).
110-Interanl data to checksum generation
and insert into checksum fields in IP
packet memory pointed by
DMA_Source_Address.
3 Reserved - -
7-4 Packet_Type RW Indicates the packet type when using DMA
to calculate the packet checksum
(CMD_mode=110):
0000- no checksum generation needed
0001- IP and TCP (IPv4)
0010- IP and UDP (IPv4)
0011- IP and ICMP (IPv4)
Others- no checksum generation needed.
Note: The calculated result is stored in
CRC_Result_Register.
7-0 DMA_Length_L RW It specifies the low byte of the length of
data for IP checksum or CRC32
calculation. The maximum value of
DMA_length is 2047.
DMA_Length_Register_H (0x8206)
Bit Name Access Description Default
7-0 DMA_Length_H RW
CRC_Result_Register(3~0) (0x820a ~ 0x8207)
Bit Name Access Description Default
31-0 CRC_Result RW These registers store the calculatedresult
Preset_CRC_Value_Register (0x820b)
Bit Name Access Description Default
0 Preset_CRC_Value RW Setting this bit to 1 will trigger HW_CRC to
7-1 Reserved
It specifies the high byte of the length of
data for IP checksum or CRC32
calculation. The maximum value of
DMA_length is 2047.
of CRC32.
There are two conditions to set the
register to 0xFFFFFFFF:
(a) Power on reset
(b) Write 1 to
Preset_CRC_Value_Register
preset CRC_Result_register(0-3) to
0xFFFFFFFF.
This bit will be self-cleared when HW-CRC
has done the reset of
CRC_Result_register.
Writing 0 to this bit is ignored by
HW_CRC.
7-0 EEPROM_Addr RW It defines the address of EEPROM. 00h
EEPROM_ID_Register (0x8312)
Bit Name Access Description Default
EEPROM_ID
2-0
RW
7-3 Reserved
It stores the data to be written to/read from
EEPROM.
It defines EEPROM ID or EEPROM
address high bits for EEPROM with size
over 256 bytes such as
24C16/24C08/24C04.
Bit 2 Bit 1 Bit 0
24C01 ID ID ID
24C02 ID ID ID
24C04 ID ID Addr[8]
24C08 ID Addr[9] Addr[8]
24C16 Addr[10] Addr[9] Addr[8]
The ID bit(s) should be filled with 0.
For example:
24C16 – bit[2:0] define address[10:8]
24C08 – bit[2] is ID[A2], bit[1:0]
define address[9:8]
6 Abort RW If this bit=1, the H/W abort the access
7 Next RW If this bit=1, the H/W is available for the
EEPROM_Control_ Register (0x8314)
Bit Name Access Description Default
0 EE_Clk_Sel RW 0: EEPROM clock rate is 58.9KHz, for
7-1 Reserved .
Byte_count
RW_op
RW Define the access size.
The access size is (Byte_count+1) bytes.
In EEPROM writing operation, if the
access size over a page (16bytes or 8
bytes which is dependent on EEPROM
type), the oversize part will be written to
the address starts from the beginning of
the page and overwrite the previous data.
RW Define the operation:
0- Write
1- Read
operation defined by RW_op.
This bit will be auto-cleared by H/W after a
read or write operation.
next read or write operation.
This bit will be auto-cleared by H/W after a
read or write operation.
7-0 UART_Transmit Buffer WO UART Transmit FIFO input.
Interrupt Enable Register IER (0x8802)
This register allows enabling and disabling interrupt generation by the UART
Bit Name Access Description Default
0 Received Data available
interrupt
1 Transmitter Holding
Register empty interrupt
2 Receiver Line Status
Interrupt
3 Reserved RW Reserved. Should be logic ‘0’.
4 Received Data Timeout
interrupt
7-5 Reserved RW Reserved. Should be logic ‘0’.
Interrupt Identification Register IIR (0x8803)
The IIR enables the programmer to retrieve the current highest priority pending interrupt.
Bit 0 indicates that an interrupt is pending when it’s logic ‘0’. When it’s ‘1’ – no interrupt is pending.
The following table displays the list of possible interrupts along with the bits they enable, priority, and
their source and reset control.
RW ‘0’ – disabled
‘1’ – enabled
RW ‘0’ – disabled
‘1’ – enabled
RW ‘0’ – disabled
‘1’ – enabled
RW ‘0’ – disabled
‘1’ – enabled
0
0
0
0
Interrupt Type Interrupt Source Interrupt Reset Control
Bit 3
Bit 2
Bit 1
Priority
0 1 1 1st Receiver Line
Status
0 1 0 2nd Receiver Data
available
1 1 0 2nd Timeout
Indication
Parity, Overrun or Framing
errors or Break Interrupt
The FCR allows the selection of the FIFO trigger level (the number of bytes in FIFO required to enable
the Received Data Available interrupt). In addition, the FIFOs can be cleared using this register.
Bit Name Access Description Default
0 Clears the Receiver FIF O RW Writing a ‘1’ to bit 1 clears the Receiver
FIFO and resets its logic.
1 Clears th e Transmitter FIFO RW Writing a ‘1’ to bit 2 clears the Transmitter
FIFO and resets its logic.
7-2 Receiver FIFO Interrupt
trigger level
RW Define the Receiver FIFO Interrupt trigger
level[7:2], Interrupt trigger level[1:0]
always equal to 2’b00
Ex :
The line control register allows the designer to define the specification of the asynchronou s da ta
communication used. A bit in the register also allows the access to the Divisor Latches, which define the
baud rate. Reading from the register is allowed to check the current settings of the communication.
Bit Name Access Description Default
1-0 number of bits in each
character
2 number of generated stop
bits
3 Parity Enable RW ‘0’ – No parity
4 Even Parity select RW ‘0’ – Odd number of ‘1’ is transmitted and
5 Stick Parity bit RW ‘0’ – Stick Parity disabled
6 Break Control bit RW ‘1’ – the serial out is forced into logic ‘0’
7 Divisor Latch Access bit RW ‘1’ – The UART_Clock Divisor Registers is
‘0’ – 1 stop bit
‘1’ – 1.5 stop bits for 5-bit character length
selected; 2 bits for others.
Note that the receiver always checks the
first stop bit only .
‘1’ – Parity bit is generated on each
outgoing character and is checked on
each incoming one.
checked in each word (data and parity
combined). In other words, if the data has
an even number of ‘1’ in it, then the parity
bit is ‘1’.
‘1’ – Even number of ‘1’ is transmitted in
each word.
‘1’ - If bits 3 and 4 are logic ‘1’, the parity
bit is transmitted and checked as logic ‘0’.
If bit 3 is ‘1’ and bit 4 is ‘0’ then the parity
bit is transmitted and checked as ‘1’.
(break state).
‘0’ – break is disabled (default)
accessible
‘0’ – The UART_Clock Divisor Registers
can’t be accessed
(Please refer to UART _Clock Divisor
Registers for detail)
The modem control register allows transferring control signals to a modem connected to the UART.
Bit Name Access Description Default
0 Data Terminal Ready (DTR)
signal control
1 Request To Send (RTS)
signal control
2 Out1 RW In loopback mode, connected Ring
3 Out2 RW In loopback mode, connected to Data
4 Loopback mode RW ‘0’ – normal operation
5 HW_RTS_Stop_TX_En RW ‘0’ – normal operation
6 HW_TX_Disable RW ‘0’ – normal operation
7 HW_FlowControl_En RW ‘0’ – normal operation
RW ‘0’ – DTR is ‘0’
‘1’ – DTR is ‘1’
RW ‘0’ – RTS is ‘0’
‘1’ – RTS is ‘1’
Indicator (RI) signal input.
Carrier Detect (DCD) input.
‘1’ – loopback mode.
When in loopback mode, the Serial Output
Signal (STX_PAD_O) is set to logic ‘1’.
The signal of the transmitter shift register
is internally connected to the input of the
receiver shift register .
The following connections are made:
DTR Î DSR
RTS Î CTS
Out1 Î RI
Out2 Î DCD
‘1’ –When RTS = 1, the transmitter will
stop sending other characters after
sending current character.
‘1’ –the transmitter will stop sending other
characters after sending current character
‘1’ – enable HW Flow Control, by RTS &
CTS
Rx part: when RXFIFO content characters
higher than RXFIFO interrupt level
(0x8804), the RTS will be pulled high;
otherwise RTS will be pulled low.
Tx part: If CTS is pulled high, the
transmitter will stop sending other
characters after sending current ch aracter.
‘1’ – At least one character has been
received in the FIFO.
RO ‘1’ – If the FIFO is full and another cha ra cter
has been received in the receiver shift
register. If another cha ra cter is ab out to
arrive, it will overwrite the data in the shift
register but the FIFO will remain intact. The
bit is cleared upon reading from the register.
IP210T generates Receiver Line Status
interrupt when detecting Overrun Error.
‘0’ – No overrun state
detected as having parity error. When this
bit is read as '1', all characters in FIFO
should be read and dropped. The bit is
cleared upon a read from the register.
IP210T generates Receiver Line Status
interrupt when detecting Parity Error.
‘0’ – No parity erro r in the current character
RO ‘1’ – The received character at the top of the
FIFO did not have a valid stop bit. Of
course, generally, it might be that all the
following data is corrupt. The bit is cleared
upon reading from the register. IP210T
generates Receiver Line Status interrupt
when detecting Framing Error.
‘0’ – No framing error in the current
character
RO ‘1’ –A break condition has been reached in
the current character. The break occurs
when the line is held in logic 0 for a time of
one character (start bit + data + parity + stop
bit). In that case, one zero character enters
the FIFO and the UART waits for a valid
start bit to receive next character. The bit is
cleared upon reading from the register.
IP210T generates Receiver Line Status
interrupt when detecting a Break Interrupt.
‘0’ – No break condition in the current
character
Register Empty interrupt when the
transmitter FIFO is empty. The bit is cleared
when data is written to the transmitter FIFO.
‘0’ – Otherwise
RO ‘1’ – Both the transmitter FIFO and
transmitter shift register are empty. The bit is
cleared when data is being been written to
the transmitter FIFO.
The register displays the current state of the modem control lines.
Bit Name Access Description Default
3-0 Reserved RO Reserved
4 CTS input RO CTS input or equals to RT S in loopback
mode.
5 DSR input RO DSR input or equals to DTR in loopback
mode.
6 RI input RO RI input or equals to Out1 in loopback
mode.
7 DCD input RO DCD input or equals to Out2 in loopback
mode.
UART_TX FIFO
Bit Name Access Description Default
7-0 TX_FIFO_CNT RO TX FIFO available space counter FFh
UART_RX FIFO Status (0x880a)
Bit Name Access Description Default
7-0 RX_FIFO_CNT RO RX FIFO occupied space counter 00h
UART_Clock Divisor Registers
In addition, there are 2 Clock Divisor registers that together form one 16-bit.
The registers can be accessed when the 7
time the above registers UART_Receiver Buffer, UART_Transmit Buffer & UART_Interrupt Enable
can’t be accessed.
(Input Clock Speed)/(Divisor Latch value) = 16 x the communication baud rate
UART_Clock Divisor Registers_L (0x880b)
Bit Name Access Description Default
7-0 UART_Clock Divisor
Registers_L
UART_Clock Divisor Registers_H (0x880c)
Bit Name Access Description Default
7-0 UART_Clock Divisor
Registers_H
Status (0x8809)
th
(DLAB) bit of the Line Control Register is set to ‘1’. At this
Note. The ADC input range,0~ADC_VCC, correspond to upper reference voltage, ADC_REFH, which
is 4/5*ADC_VCC, and lower reference voltage, ADC_REFL,which is 1/5*ADC_VCC, would convert full
range output code. When input is ADC_VCC, ADC convert 01111111, and input is 0V ADC convert
10000000. The output code represents in 2's-complement.