No parts of this material may be reproduced or duplicated in any form or by any means without the written
permission of Seiko Epson. Seiko Epson reserves the right to make changes to this material without notice.
Seiko Epson does not assume any liability of any kind aristing out of any inaccuracies contained in this
material or due to its application or use in any product or circuit and, further, there is no representation that
this material is applicable to products requiring high level reliability, such as, medical products. Moreover,
no license to any intellectual property rights is granted by implication or otherwise, and there is no
representation or warranty that anything made in accordance with this material will be free from any patent
or copyright infringement of a third party. This material or portions thereof may contain technology or the
subject relating to strategic products under the control of the Foreign Exchange and Foreign Trade Law of
Japan and may require an export licence from teh Ministry of International Trade and Industry or other
approval from another government agency.
All other product names mentioned herein are trademarks and/or registered trademarkes of their respective
companies.
®
This product uses SuperFlash
technology licensed from Silicon Storage Technology, Inc.
Starting April 1, 2001 the pr oduct number has been changed as listed below . Please use the new
product number when you place an order. For further information, please contact Epson sales
representative.
Configuration of product number
●DEVICES
S1R72803F00A100
Packing specification
Specifications
Shape (F:QFP)
Model number
Model name
Product classification (S1:Semiconductors)
9.4.3 IDE Interface Timing...................................................................................................................... 96
9.4.4 CPU Interface Timing .................................................................................................................. 104
10. EXAMPLES OF EXTERNAL CONNECTION FOR REFERENCE PURPOSES ........................................... 105
11. SHAPE OF PACKAGE .................................................................................................................................. 108
– i –
Page 5
S1R72803F00A
1.DESCRIPTION
The S1R72801F00A is a LINK/Transaction controller
based on the IEEE Std. 1394-1955, P1394a Draft 2.0. It
integrates a built-in CPU and Flash ROM, and also
integrates a part of transaction functions into hardware.
If you set a PageTable address and its size, it can
automatically fetch subsequent PageTables and transmit
data. It can offer a 1394 interface optimum to computer
peripherals in combination with the Cable PHY
Transceiver Arbiter based on the above standard.
The IDE interface complies with Ultra DMA mode 4
(ATA 66), offering a high transfer rate.
2.FEATURES
● LINK/Transaction Controller
LINK Layer
Ready for all two-way data transfer in Asynchronous
and Isochronous modes.
The built-in SRAM realized stable two-way data
transfer up to max. payload of 100Mbps, 200Mbps,
and 400Mbps.
Can automatically detect the Isochronous Resource
Manager by hardware.
Transaction Layer
Integrates a part of transaction functions into hardware
to prevent deterioration of actual data transmission
rate due to the overhead of firmware (assure a special
area).
A header area is distinguished from a data area to
simplify communications with a higher rank layer.
Furthermore, it segments a data area to a stream area
and ORB area.
Adopts a ring buffer to the receive header area,
receive data area (receive stream area, receive ORB
area) and transmit data area (transmit stream area).
Can arbitrarily set the size of each area.
Automatically controls the Busy when hardware
receives data.
● SBP-2 Support
Can set an PageTable address and its size for the
SBP-2 to automatically perform subsequent Page
Table fetches and data transfers.
● PHY/LINK Interface
Ready for the P1394a.
Ready for the data transfer rate of 100/200/400Mbps.
Ready for isolation (bus holder integrated)
● IDE Interface
Ready for the PIO mode 0/1/2/3/4, multi-word DMA
mode 0/1/2, Ultra-DMA mode 0/1/2/3/4.
Voltage level is 3.3V (TTL) level.
5V level input can be possible (5V Tolerant)
EPSON
1
Page 6
S1R72803F00A
● Built-in CPU
Integration of a CPU eliminated the necessity of an
external CPU to control this IC.
CPU core:32-bit RISC CPU S1C33000
Harvard architecture (Concurrency
of a fetch and load/store)
High speed/high performance:
Ready for operation with 25MHz
Command set: 16-bit fixed length, 105 types of basic
commands
Execution cycle:
Execution at one cycle/command
regarding a main command
AND/OR (MAC) operation:
16 bits × 16 bits + 64 bits, 2 clocks/
MAC
CPU Register: 16 32-bit general registers and 5 32-
bit special registers
Memory space:Linear space where 256-Mbyte (28-
bit) code, data, and I/O can be
mapped.
External bus interface:
Directly connects the external
memory of the memory area.
Programmable wait cycle (7 cycles,
Max.)
Enables handshake through the
XWAIT terminal.
Interrupt:Ready for reset, NMI, max. 128
external interrupts, 4 software
interrupts, and 2 exceptions
Reset, boot:Cold reset, hot reset
Built-in RAM: 8Kbytes for work
● Flash ROM
Integration of a Flash ROM eliminated the necessity
of a ROM to externally store programs.
• Memory structure:
Memory size 512K (32K × 16) bits
• Sector size:512 words/sector
• Unit of erase: Per chip or sector
• Unit of write: Writing with words
• Erase/write time:
Chip erase time 100ms (Standard)
Sector erase time 20ms (Standard)
Write time: 15µs (Standard)
• Access time:90nsec. (Max.)
• Reliability:No. of erase/write 1,000 times
Data retention: 10 years
● Others
A Boot ROM (4MBbytes, Max.) is connectable to
outside of this IC.
Supply voltage, 5.0V ± 10% and 3.3V ± 0.3V
184PinQFP (0.4mm pitch)
Not radiation resistant.
The CPU core built into this IC is an original 32-bit
RISC CPU from SEIKO EPSON. Regarding the CPU
core, refer to the S1C33208/204/202 Technical Manual
and S1C33 Family ASIC Macro Manual. The built-in
RAM is 8Kbytes.
Note: In the built-in CPU core, a DMA controller and
A/D converter are not integrated; this part is
different from the description on the DMA
controller and A/D converter given in Technical
Manual (and Macro Manual). A low speed
oscillation circuit (OSC1) is not available.
AD [23:0]
DT [15:0]
XCE10_EX
XCE [9:4]
EA10MD [1:0]
XWAIT
EXT_MD
XRD
XWR
XWRH
BCLK
P[14:04]
SRDY
SCLK
SOUT
SIN
HDD [15:0]
HDMARQ
XHIOR
XHIOW
XHDMACK
HIORDY
HINTRQ
XHPDIAG
HDA [2:0]
XCS [1:0]
XHDASP
XHRST
EXCLK_EN
OSC3
PLLS1
PLLS0
ICEMD
DSIO
X2SPD
XNMI
XREST
TVEP
C33 Internal Memory Block
CORE PADPERI PAD
3.1BLOCK DIAGRAM
S1R72803F00A
Fig. 3.1 Block diagram
3.2BLOCK DIAGRAM DESCRIPTION
● C33 CORE Block
The C33 CORE Block consists of the function blockC33_CORE- that includes the CPU, BCU (bus control
unit), ITC (interrupt controller), CLG (clock
generator), and DBG (debug unit), the external
interface I/O pad block-PAD_CORE,
PAD_CORE_OPTION-, and the block to interface
with the peripheral circuits on the chip -SBUS-.
● C33_PERI Block (C33 peripheral circuit block)
The C33_PERI Block consists of the PSC (prescaler),
6-channel T8 (8-bit programmable timer), WDT
(watch dog timer), 6-channel T16 with an event
counter (16-bit programmable timer), 4-channel SIO
(serial interface), input and I/O ports, and CTM
(clock timer).
D5100BHi-Z
D4101BHi-Z Data Bus with PHYDrive Ability 6mA
D3102BHi-Z
D2104BHi-ZSchmitt Input (Bus Holder)
D1105BHi-Z
D0106BHi-Z (LSB)
CTL1107BHi-Z Control Signal with PHYDrive Ability 6mA
CTL0108BHi-ZSchmitt Input (Bus Holder)
LREQ115OLoLINK Request Signal to PHYDrive Ability 6mA
LPS96OHiLINK Power Status Signal to PHYDrive Ability 6mA
LINKON95I–LINK ON Signal from PHYSchmitt Input (Bus Holder)
XISO110I–Setting should be made according to CMOS Input
the construction of isolation buffer
between PAY and LINK
Set to H level in case of DC
connection and Single capacitor AC
connection. And Annex-J Isolation
connection cannot be used.
BHEN109I–Bus Holder Enable Signal
H: Single capacitor AC connection
L: DC connection
CNA111I–Cabele Not ActiveSchmitt Input (Bus Holder)
PD97OPower Down EnableDrive Ability 6mA
SCLK113I–Clock Signal from PHY (49.576MHz) Schmitt Input (Bus Holder)
IDE Interface (LVDD)
HDD1572BHi-Z (MSB)
HDD1474BHi-Z
HDD1377BHi-Z
HDD1279BHi-Z
HDD1181BHi-Z
HDD1084BHi-Z
HDD986BHi-Z5V Tolerant
HDD888BHi-Z IDE Data BusDrive Ability 2mA
HDD789BHi-ZPull Down HDD7 at 10kΩ
HDD687BHi-Z
HDD585BHi-Z
HDD482BHi-Z
HDD380BHi-Z
HDD278BHi-Z
HDD176BHi-Z
HDD073BHi-Z (LSB)
HDMARQ71BHi-Z IDE DMA Request Signal5V Tolerant, Drive Ability
2mA, Schmitt Input
XHIOW70BHi-Z IDE Write Signal5V Tolerant, Drive Ability
2mA, Schmitt Input
XHIOR69BHi-Z IDE Read Signal5V Tolerant, Drive Ability
C33 External Interface (HVDD)
P07154BGeneral I/O Port 07Pull Up Resistor Integrated
P06153BGeneral I/O Port 06Pull Up Resistor Integrated
P05152BGeneral I/O Port 05Pull Up Resistor Integrated
P04151BGeneral I/O Port 04Pull Up Resistor Integrated
SRDY(P03)
SCLK(P02)
SOUT(P01)
SIN(P00)146BSerial I/F Data InputPull Up Resistor Integrated
K67144IGenerall Inut Port 67Pull Up Resistor Integrated
K66143IGenerall Inut Port 66Pull Up Resistor Integrated
P23142BGenerall I/O Port 23Pull Up Resistor Integrated
P22141BGenerall I/O Port 22Pull Up Resistor Integrated
P21136BGenerall I/O Port 21Pull Up Resistor Integrated
P20135BGenerall I/O Port 20Pull Up Resistor Integrated
XCE10_EX 134OHi
XCE9133OHiArea 9 Chip Enable
XCE6131OHiArea 6 Chip Enable
EA10M2164IArea 10 Boot Mode Select 2
EA10M1163IArea 10 Boot Mode Select 1Pull Up Resistor Integrated
EA10M0162IArea 10 Boot Mode Select 0Pull Up Resistor Integrated
XWAIT145IWait Cycle Input
XRD24OHiRead Signal
XWRH22OHiHigher Order Byte Write Signal
XWRL23OHiLower Order Byte Write Signal
BCLK182OBus Clock Signal
C33 External Interface (LVDD)
P14166BGeneral I/O Port 14 (For ICD)
P13167BGeneral I/O Port 13 (For ICD)
P12168BGeneral I/O Port 12 (For ICD)
P11169BGeneral I/O Port 11 (For ICD)
P10174BGeneral I/O Port 10 (For ICD)
DSIO175BSerial I/O Pin for Debug:Pull Up Resister Integrated
Clock Generator Pin
OSC3171IMCU Clock InputLV
PLLS1161IPLL Set Pin 1HVDD Input
PLLS0160IPLL Set Pin 0HVDD Input
PLLC158–Capacitor Connection Pin for PLL
150BSerial I/F Ready Signal InputPull Up Resistor Integrated
Pin-cum-General I/O Port 03
149BSerial I/F Clock InputPull Up Resistor Integrated
Pin-cum-General I/O Port 02
147BSerial I/F Data OutputPull Up Resistor Integrated
Pin-cum-General I/O Port 01
Pin-cum-General I/O Port 00
External Memory Area 10 Chip Enable
Use for communication with ICD33.
DD Input
Crystal Oscillator
8EPSON
Page 13
S1R72803F00A
Pin NamePINI/O ResetPin FunctionRemarks
Other Pins
ICEMD179IHi-Impedance Control: Set Hi-Z
HVDD Input, Pull Up Resistor Integrated
HVDD Input, Pull Up Resistor Integrated
LVDD Output
Connect to HVDDwhen it is mounted.
Pull Down Resistor Integrated
Pull Down Resistor Integrated
Table 6.1 Settings of EA10M2, EA10M1, and EA10M0 (Area 10 Boot Mode)
P_EA10M2P_EA10M1P_EA10M0Function
111Built-in Flash Boot Mode
011External ROM Mode
Note) Other settings are not available on this IC.
EPSON
9
Page 14
S1R72803F00A
7.FUNCTIONAL DESCRIPTION
7.1 MEMORY MAP
7.1.1 All Memory Space
AreaAddress
Area 0
Area 1
Area 2
Area 3
Area 4
Area 5
Area 6
Area 7
Area 8
Area 9
Area 10
0x000000
0x002000
0x030000
0x040000
0x050000
0x060000
0x080000
0x100000
0x100080
0x200000
0x200008
0x300000
0x400000
0x402000
0x600000
0x800000
0xC00000
0xC10000
(Mirror of CPU-integrated Peripheral Circuit Control Register)
(Mirror of CPU-integrated Peripheral Circuit Control Register)
Internal Flash ROM (64KB)
CPU-integrated RAM (8KB)
(Mirror of CPU-integrated RAM)
CPU-integrated Peripheral Circuit Control Register
Reserved
Reserved
IEEE1394LINK/Transaction Controller
x CSREG Area (Control Register)
Reserved
Flash ROM Control Register
Reserved
Reserved
IEEE1394LINK/Transaction Controller
xCSBUF Area (SRAM: 8KB)
Reserved
Reserved
Reserved
External ROM
Reserved
(4MB)
0xFFFFFF
10EPSON
Page 15
7.1.2 IEEE1394LINK/Transaction Controller xCSBUF Area (SRAM)
8KBytes
0x400000
HW_PageTableArea
0x4000C0
HW_RxHeaderArea
0x4000E0
HW_TxHeaderArea
0x400100
0x401FFF
RxHeaderArea
(RingBuffer)
RxORBArea
(RingBuffer)
TxHeaderArea (2 Headers)
TxORBArea
(RingBuffer)
TxStreamArea
(RingBuffer)
NotUsed
RxStreamArea
(RingBuffer)
(RxHeaderAreaStart)
RxORBAreaStart
TxHeaderAreaStart
(TxHeaderAreaStart + 0x0040)
TxStreamAreaStart
IDE –> 1394 DMA Area
TxStreamAreaEnd
RxStreamAreaStart
1394 –> IDE DMA Area
S1R72803F00A
TxHeaderArea
used Asyncronouse only
TxAreaStart
AsyTxPktHdr 0AsyTxPktHdr 0
+ 0x20
AsyTxPktHdr 1
+ 0x40
• All RAM areas are accessible from the CPU by direct
addressing.
• Hardware DMA is possible to the IDE I/F for the
RxStreamArea and TXStreamArea.
• HW_PageTableArea (the equivalent of 24 pages)
and HW_RxHeaderArea and HW_TXHeaderArea
(the equivalent of 1 header, respectively) are assured.
The RxORB and TxORB areas are usable by firmware
alone.
• The RxHeaderArea, RxORBArea, TxORB,
TXStreamArea and RxStreamArea are RingBuffers.
Even at the time of execution of data transmission/
reception according to 1394 or IDE DMA, data
among the areas are guaranteed by hardware . (The
size of each RingBuffer is variable by settings on the
used Isocronouse
TxAreaStart
+ 0x20
+ 0x30
+ 0x40
IsoTxPktHdr 0
IsoTxPktHdr 1
TxStreamAreaStart, TxStreamAreaEnd, and
RxStreamAreaStart.)
• The TxStreamArea and RxStreamArea is usable as
one StreamArea by overlaying them.
• The Post**Ptr and Used**Ptr of the RxHeaderArea,
RxORBArea, TxStreamArea, and RxStreamArea
monitor the used condition in each Area.
(In the case of the Rx of 1394, the free space of the
above two is monitored and the busy_A, B, X is
controlled by hardware.)
• By controlling the above functions from the TRAN &
SBP2 Control Block, a PageTable fetch and data
transfer according to SBP-2 are executable by
hardware.
(5) SelfIDPacket Received SelfID packets between BusReset and 1st-ArbRstGap (tcode : 0xE)
b.3124 2316 158b.07
0
1
2
3
4
5
6
7
DataLength
reserved
*DataPointer
reserved
––
BT 11 0ASACK
tcode (0xE)
reserved
EPSON
15
Page 20
S1R72803F00A
(6) RxIsocronousePacket (tcode : 0xA)
b.3124 2316 158b.07
0
1
2
3
4
5
6
7
–
DataLength
Receive Packet Common Format
b.3124 2316 158b.07
0
–––
NameBit countDescription
speed3Speed Code (Note 1)
AS1AreaStatus bit (1: StreamArea, 0: ORBArea)
BT1Bit which toggles during the BusReset period.
SI1Whether the received packet is a Self ID packet
BC1Whether the received packet is a Broadcast packet.
HC1Presence/absence of the Header CRC error (1: Packet disabled)
ACK4Transmitted AckCode (Note 2)
PSTS4AckCode which was scheduled to be transmitted (Note 2)
speed
*DataPointer
reserved
speed
––
channel
BT 01 0ASACK
tcode (0xA)tag
BT SIBCHCASACK
sy
(Note 1) Refer to the Transmit Packet Common spd (speed code).
(Note 2) Refer to the Transmit Packet Common Ack (AckCode).
16EPSON
Page 21
7.3 IEEE1394 HARDWARE SBP-2 CONTROL
The hardware SBP2 of this IC automatically executes a
PageTable fetch and data transfer according to the
Serial Bus Protocol 2 after receiving specifications of
its PageTable Size and Address. The control of the
SBP2 is performed by accessing the internal register.
Data transfer is controlled by the transmission and
reception of signals to and from the PHY-LINK interface
and the transmission/reception of a series of packets are
automatically executed by having access to the internal
SRAM area. The functions of this block are as follows.
This Block,
(1) Receives specifications of a Page Table Size, Page
Table Address, Speed Code, and Max Payload Size,
etc. to automatically execute a PageTable fetch and
data transfer according to the Serial Bus Protocol 2.
(2) Can transfer data the equivalent of max. 24-page
elements at one time. If no PageTable exists, you
can transfer data by directly specifying a data length
as a Page Table Size.
S1R72803F00A
(3) Allows you to perform the pause, resume, or reset
during data transfer. Though the register value is
retained even after the reset, the state machine is
restored to the initial state. You can check transfer
condition through the register any time.
(4) Immediately enters the error pause when an error
arises during data transfer by which you can check
an error cause through the register. The resume
from the error pause will pick up the transaction
where the error arose.
(5) Allows you to transfer data if you specify the
omission of the PageTable fetch or Page Element
No. to start data.
7.4 IDE INTERFACE CONTROL
This IC contains a block to control the IDE interface. Its
functions are as follows.
This block,
(1) Accesses the IDE bus by having access to the
Program mode of the CPU.
The access to the data port of the CPU is available
only in PIO mode.
(2) Can monitor various kinds of signals of the IDE
interface.
(3) Controls the link-up of function blocks in accordance
with the control signals and operation end signal
from the DMA control circuit.
(4) Manages the condition of data transfer in DMA
mode of the IDE by the HDMARQ/XHDMACK
signal.
(5) Reads and writes the data of data bus DD15-0 of
IDE from and to the FIFO in the 1394LINKCORE
by the XHIOR/XHIOW signal.
If the FIFO becomes full or empty to disable data
transfer, this block suspends data transfer with
specified timing.
7.5 BUILT-IN CPU
Regarding the built-in CPU, refer to the S1C33208/204/
202 TECHNICAL MANUAL (and S1C33 Family ASIC
Macro Manual).
In the built-in CPU core, however, a DMA controller
and A/D converter are not integrated; this part is different
from the description on the DMA controller and A/D
converter given in TECHNICAL MANUAL (and Macro
Manual). A low speed oscillation circuit (OSC1) is not
available.
EPSON
17
Page 22
S1R72803F00A
7.6 FLASH CONTROLLER
This IC is provided with a function to perform Erase and
Write to the Flash ROM.
(1) Chip Erase
According to a specified sequence, you can erase all
memory cells in the built-in Flash ROM to put them
in “1” status.
After erasing the chip, check that the data of all
memory cells is “1”.
(2) Sector Erase
This IC is ready for the Sector Erase in the unit of
512 words/sector.
According to a specified sequence, you can erase all
memory cells in the built-in Flash ROM to put them
in “1” status.
After erasing the chip, check that the data of all
memory cells is “1”.
(3) Write
Write is complete if you continue writing Write data
in the unit of word until writing of all sectors (512
words) finishes.
On completion of the Sector Write, compare all data
in the sectors with original data for confirmation.
You cannot change the data of the memory cell from
“0” to “1” by writing.
18EPSON
Page 23
S1R72803F00A
8.INTERNAL REGISTER
8.1 IEEE1394 LINK CONTROLLER REGISTER MAPPING
8.1.1 Register Table
(The base address of this register is 0x100000.)
AddressRegister NameR/WFunctionRelation
0x00MainIntStatR(W)Main Interrupt Status Register
0x01SubIntStatR(W)Sub-Interrupt Status Register
0x02(Reserved)
0x03DmaIntStatR(W)DMA Interrupt Status Register
0x04LinkIntStat1R(W)LINK Core Interrupt Status Register 1
0x05LinkIntStat0R(W)LINK Core Interrupt Status Register 0
0x06PhyIntStatR(W)PHY Interrupt Status Register
0x07(Reserved)
0x08MainIntEnbR/WMain Interrupt Enable Flag Register
0x09SubIntEnbR/WSub-Interrupt Enable Flag Register
0x0A(Reserved)
0x0BDmaIntEnbR/WDMA Interrupt Enable Flag Register
0x0CLinkIntEnb1R/WLINK Core Interrupt Enable Flag Register 1
0x0DLinkIntEnb0R/WLINK Core Interrupt Enable Flag Register 0
0x0EPhyIntEnbR/WPHY Interrupt Enable Flag Register
0x0F(Reserved)
0x10ChipCtlR/WChip Control Register
0x11HW_RevisionR/WHardware Revision Register
0x12(Reserved)
0x13(Reserved)
0x14(Reserved)
0x15(Reserved)
0x16(Reserved)
0x17(Reserved)
0x18LinkCtl_HR/WLINK Core Control RegisterHigher Rank
0x19LinkCtl_LR/WLINK Core Control RegisterLower Rank
0x1ALinkStatRLINK Core Status Read Register
0x1BPriReqCntRPriority Request Count Register
0x1CRetryLimit_HR/WDual Retry Time Set RegisterHigher Rank
0x1DRetryLimit_LR/WDual Retry Time Set RegisterLower Rank
0x1EMaxRetryR/WSingle Retry Number Set Register
0x1FIRM_StatR/WIRM Status Register
0x20NODE_IDS_HR/WNode IDS Status RegisterHigher Rank
0x21NODE_IDS_LR/WNode IDS Status RegisterLower Rank
0x22(Reserved)
0x23(Reserved)
0x24PhyAccCtl_HR/WLINK Core Control RegisterMiddle Rank
0x25PhyAccCtl_LR/WLINK Core Control RegisterLower Rank
0x26PhyRdstat_HRLINK Core Status Read Register
0x27PhyRdstat_LR/WPriority Request Count Register
0x28ChnlIndexR/WISO Async Stream Channel Index Register
0x68IDE_ByteCount0R/WIDE Byte Count Set RegisterHigher Rank
0x69IDE_ByteCount1R/WIDE Byte Count Set Register
0x6AIDE_ByteCount2R/WIDE Byte Count Set Register
0x6BIDE_ByteCount3R/WIDE Byte Count Set RegisterLower Rank
0x6CIDE_CRC0RCRC Read RegisterHigher Rank
0x6DIDE_CRC1RCRC Read RegisterLower Rank
0x6E(Reserved)
0x6F(Reserved)
0x70IDE_CS00R/WIDE Command Block Register
0x71IDE_CS01R/WIDE Command Block Register
0x72IDE_CS02R/WIDE Command Block Register
0x73IDE_CS03R/WIDE Command Block Register
0x74IDE_CS04R/WIDE Command Block Register
0x75IDE_CS05R/WIDE Command Block Register
0x76IDE_CS06R/WIDE Command Block Register
0x77IDE_CS07R/WIDE Command Block Register
0x78IDE_CS10R/WIDE Command Control Register
0x79IDE_CS11R/WIDE Command Control Register
0x7AIDE_CS12R/WIDE Command Control Register
0x7BIDE_CS13R/WIDE Command Control Register
0x7CIDE_CS14R/WIDE Command Control Register
0x7DIDE_CS15R/WIDE Command Control Register
0x7EIDE_CS16R/WIDE Command Control Register
0x60IDE_Config0UltraDmaModeDmaModeActPortIDE_SlaveDMARQ_LeveSwap
0x61IDE_Config1IDE_ResetXDIOW_DLYen
0x62IDE_RegAccCycAssert Pulse[3:0]Negate Pulse[3:0]
0x63IDE_PioDmaCycAssert Pulse[3:0]Negate Pulse[3:0]
0x64IDE_UltraDmaCycCycle Time[3:0]
0x65IDE_DmaCtlIncFIFOCntCRC_ClearFIFO_ClearIDE_AbortIDE_DirectioDmaStart
0x66IDE_BusStatDMARQDMACKINTRQIORDYDIAGDASP
0x67IDE_DmaStatFIFOCnt[2:0]DmaPauseDmaRun
0x68IDE_ByteCount0(MSB)
0x69IDE_ByteCount1IDE DMA xfer Byte Count
0x6AIDE_ByteCount2
0x6BIDE_ByteCount3(LSB)
0x6CIDE_CRC0(MSB)Ultra DMA CRC Value
0x6DIDE_CRC1(LSB)
0x6EIDE_TestIndexChip Test Register
0x6FIDE_TestWindow
0x70IDE_CS00Command Block registerR- DataW- Data
0x71IDE_CS01Command Block registerR- ErrorW- Features
0x72IDE_CS02Command Block registerR- Sector CountW- Sector Count
0x73IDE_CS03Command Block registerR- Sector Number/LBA[bit0-7]W0x74IDE_CS04Command Block registerR- Cylinder Low/LBA[bit8-15]W- Cylinder Low/LBA[bit8-15]
0x75IDE_CS05Command Block registerR- Cylinder High/LBA[bit[16-23]
0x76IDE_CS06Command Block registerR- Device/Head,LBA[bit24-27]W0x77IDE_CS07Command Block registerR- StatusW- Command
0x78IDE_CS10Control Block RegisterR- Data Bus Hi-ImpedenceW- Not Used
0x79IDE_CS11Control Block RegisterR- Data Bus Hi-ImpedenceW- Not Used
0x7AIDE_CS12Control Block RegisterR- Data Bus Hi-ImpedenceW- Not Used
0x7BIDE_CS13Control Block RegisterR- Data Bus Hi-ImpedenceW- Not Used
0x7CIDE_CS14Control Block RegisterR- Data Bus Hi-ImpedenceW- Not Used
0x7DIDE_CS15Control Block RegisterR- Data Bus Hi-ImpedenceW- Not Used
0x7EIDE_CS16Control Block RegisterR- Alternate StatusW- Device Control
0x7FIDE_CS17Control Block RegisterR- (obsolete)W- Not Used
6: BusID[8]
5: BusID[7]Serial Bus ID Number
4: BusID[6]Single Bus, Bus ID = 0x3FF0xFF––
3: BusID[5]R/WMultiple Bus, Bus ID is uniquely specifying
2: BusID[4]
1: BusID[3]
0: BusID[2]
6: TxPayldRdyR0:
5:0:1:
4: TxStreamFullR0: Not Full1: Full
3: RxHdrRemainR0: Rx Header Area Empty 1: Rx Header not Empty
2: RxORBFullR0: Rx ORB Area not Full1: Rx ORB Data Area Full
1: RxStreamFullR0: Rx Stream Area not Full 1:
0: RxHdrFullR0: Rx Header Area not Full 1: Rx Header Area Full
IDE_DmaCmp
1: IDE_INTRQR(W) 0: None 1: IDE Interface Interrupt
0: BusResetR(W) 0: None 1: Bas Reset Detected
Main Interrupt Status Register
When this IC interrupts the CPU, the CPU first reads this register to handle it, indicating which Interrupt Status
Register is a factor of this interrupt.
Subsequent to reading this register, the SubIntStat (Bit 7) reads an Interrupt Status Register associated with each
bit to confirm which bit is an interrupt source and appropriately handle it. After that, it writes the read value
to the Interrupt Status Register to clear the bit. In the case the interrupt factor still remains, however, the bit is
not cleared.
When one of 7 bits of the TxIsoCmp, RxDmaCmp, TxAsyCmp, HwSBP2Cmp, IDE_DmaCmp, IDE_INTRQ,
and BusReset other than above is an interrupt source, this register clears the bit by writing the read value.
Note) The bits of this register control the XInt of output pin. Writing to this register negates the XInt once even if the
interrupt factor remains, asserting the XInt after a certain period. (Ready for a timer or edge interrupt).
Bit7 Sub Interrupt Status
When an interrupt factor exists at each bit shown at the SubIntStat Register, this bit becomes “1”.
Bit 6 Isochronous Packet Transmit Complete
When an ISO Packet Transmit is complete, this bit becomes “1”.
Bit5 Receive Packet DMA Complete
When a received packet is written to the Receive Buffer Area, this bit becomes “1”.
Bit4 Asynchronous Packet Transmit Complete
When an Ack packet to an Async Transmit packet is received, this bit becomes “1”.
The Ack code is written to the footer area of the Transmit Packet Header.
Bit 3 HwSBP2 Process Complete
When a HwSBP2 processing is complete, this bit becomes “1”.
Bit2 IDE DMA Transmit Complete
When an IDE I/F DMA Transmit is complete, this bit becomes “1”.
Bit1 IDE Interface Interrupt
When the INTRQ signal is asserted to the IDE I/F, this bit becomes “1”.
Bit0 BusReset Detected
When a BusReset signal is detected on the 1394 Serial Bus, this bit becomes “1”.
When it issues a BusReset, this bit becomes “1” as well.
The value of each bit of this register indicates the status of a corresponding interrupt source. If these bits become
“1” when the associated bit of the SubIntEnb Register is “1”, this register asserts an interrupt signal to the CPU.
The CPU reads this register after receiving the interrupt signal to locate an interrupt source. By writing the read
value again, it clears these bits.
Subsequent to reading this register, the lower order 4 bits reads the Interrupt Status Register associated with each
bit to confirm which bit is an interrupt source and appropriately handle it. After that, it writes the read value
to the Interrupt Status Register to clear the bit. In the case that the interrupt factor still remains, however, the
bit is not cleared.
Bit7 Self Identify Period Complete
When a Self ID period finishes, this bit becomes “1”.
Bit6 Self Identify Packet Error
When a Self-ID packet with an error is received during the Self-ID period or when the Self-ID period finishes
due to an error, this bit becomes “1”.
Bit5 HwSBP2Err
When an interrupt factor from the HwSBP2 indicated on the HwSBP2IntStat Register exists, this bit becomes
“1”.
Bit4 BusReset in process HwSBP2
When a BusReset occurs in the HwSBP2 processing, this bit becomes “1”.
Bit3 LINK Core Interrupt Status1
When an interrupt factor from the LINK core indicated on the LinkIntStat1 Register exists, this bit becomes “1”.
Bit2 LINK Core Interrupt Status0
When an interrupt factor from the LINK core indicated on the LinkIntStat0 Register exists, this bit becomes “1”.
Bit1 PHY/LINK Interrupt Status
When an interrupt factor from the PHY status indicated on the PHYIntStat Register exists, this bit becomes “1”.
Bit0 LINK DMA Interrupt Status
When an interrupt factor exists in the internal DMA operation indicated on the DmaIntStat Register, this bit
becomes “1”.
The value of each bit of this register indicates the status of a corresponding interrupt source. If these bits become
“H” when the associated bit of the DMAIntEnb Register is “1”, this register asserts the interrupt signal to the
CPU.
The CPU reads this register after receiving the interrupt signal to locate an interrupt source. By writing the read
value again, it clears these bits.
Bit7 Reserved
When a Sub Action Gap is detected in PHY status of PHY/LINK interface, this bit becomes “1”.
Bit6 Transmit Async Packet Retry Go
When an auto retry is performed after transmitting an Async packet and receiving an Ack_busy, this bit becomes
“1”.
Bit5 Transmit Async Broadcast Packet Sent
After a transmission of a Broadcast packet of Async or a PHY packet finishes, this bit becomes “1”.
Bit4 Receive Packet LINK DMA Failed
When a received packet cannot be written to the buffer due to the following reasons, this bit becomes “1”.
1) DMA was too late.
2) A packet was received when the ForceBusy bit is on.
Bit3 Transmit Async Packet LINKDMA Failed
When data cannot be transferred from the buffer to the LINK core at the time of Async packet transmission
(DMA FIFO is Under Flow), this bit becomes “1”.
Bit2 Transmit ISO Packet LINKDMA Failed
When data cannot be transferred from the buffer to the LINK core at the time of ISO packet transmission (DMA
FIFO is Under Flow), this bit becomes “1”.
Bit 1 Transmit Async Packet BusReset Abort
When a Transmit packet is disabled by a BusReset before an Ack packet is returned at the time of Async packet
transmission, this bit becomes “1”.
Bit0 Transmit Async Packet Ack-code Missing
When a Ack packet is not returned at the time of Async packet transmission, this bit becomes “1”.
The value of each bit of this register indicates the status of a corresponding interrupt source. If these bits become
“1” when the associated bit of the LINKIntEnb1 Register is “1”, this register asserts the interrupt signal to the
CPU.
The CPU reads this register after receiving the interrupt signal to locate an interrupt source. By writing the read
value again, it clears these bits.
Bit7 Reserved
Bit6 Reserved
Bit5 Reserved
Bit4 Reserved
Bit3 RxOnTardy
When a packet is received when the ChipCtl. SendTardy bit is “1”, an Ack_tardy is returned to the party of the
other end and this bit becomes “1”.
Bit2 Receive Packet Header CRC Error
When an error exists in the header CRC of a received packet, this bit becomes “1”.
Bit1 Receive Packet Tcode Unknown
When the Tcode in a received packet is invalid, this bit becomes “1”.
Bit0 transmit Retry Exceeded
If a transmit retry fails since the set value of the MaxRetry Register is exceeded when the RetryLimit Register
is not zero or the MaxRetry Register is not 0 and this bit becomes “1”.
The value of each bit of this register indicates the status of a corresponding interrupt source. If these bits become
“1” when the associated bit of the LINKIntEnb0 Register is “1”, this register asserts the interrupt signal to the
CPU.
The CPU reads this register after receiving the interrupt signal to locate an interrupt source. By writing the read
value again, it clears these bits.
Bit7 Unknown Expected Channel
When a packet of ISO channel not set in the CHANNEL_AVAILABLE Register is detected, this bit becomes
“1”.
It is enabled when the WonIRM = “1” of IRM IDStat Register (the self node is IRM).
Bit6 DuplicateChannelDetected
When a packet of a same channel is detected in the ISO period of 1 cycle, this bit becomes “1”.
It is enabled when the WonIRM = “1” of IRM IDStat Register (the self node is IRM).
Bit5 ISO Arbitration Failed
When an ISO packet transmit request is received but a SubAction Gap is detected before it is transmitted, this
bit becomes “1”.
Bit4 ISO Arbitration Failed
When a Cycle_START packet is received but a SubAction Gap cannot be detected even after the
ISOCHRONOUS_CYCLE_TIME has passed, this bit becomes “1”.
Bit3 Cycle Timer Over Flow
When the CYCLE_TIMER overflows, this bit becomes “1”.
Bit2 Local Cycle Event Occurred
When an local cycle event occurs, this bit becomes “1”.
Bit1 Cycle Start Packet Lost
When the CYCLE_START_PACKET does not exist over two local cycle events, this bit becomes “1”.
Bit0 CycleStartPkt Arbitration Failed
When a CYCLE_START_PACKET cannot be transmitted before the SubActionGap after a local cycle event
occurs, this bit becomes “1”. This bit is enabled when cmstr = “1”.
The value of each bit of this register indicates the status of a corresponding interrupt source. If these bits become
“1” when the associated bit of the PHYIntEnb Register is “1”, this register asserts the interrupt signal to the CPU.
The CPU reads this register after receiving the interrupt signal to locate an interrupt source. By writing the read
value again, it clears these bits.
Bit 7 Sub Action Gap Detected
When a Transmit Action Gap is detected in the PHY status of the PHY/LINK interface, this bit becomes “1”.
Bit6 Arbitration Reset Gap Detected
When an Arbitration Reset Gap is detected in the PHY status of the PHY/LINK interface, this bit becomes “1”.
Bit5 Reserved
Bit4 Reserved
Bit3 Reserved
Bit2 PHY/LINK Interface Interrupt Detected
When a PHY_Interrupt is detected in the PHY status of the PHY/LINK interface, this bit becomes “1”.
This status indicates the PHY is put under one of the following.
1) In most instances, a loop is created in the cable topology.
2) Cable power is insufficient.
3) A bias change is detected.
Bit1 PHY Register Write Done
When the write access of the PHY Register is complete, this bit becomes “1”.
Bit0 PHY Register Read Done
When read data is stored in the PHYRdStat Register at the time of read access of the PHY Register, this bit
The Chip Ctl Register controls the internal circuit of a chip.
Bit7 Suspend
Setting this bit to “1” stops the Sclk supplied from the PHY to this IC. At that time, the LPS signal must be
negated as well.
When a LINKOn packet is received, the CPU asserts the xINT. After asserting it, the firmware asserts the LPS
signal to the PHY and resume it by the Sclk supplied from the PHY. At that time, this bit must be set to “0”.
Bit6 Reserved
Bit5 Reserved
Bit4 Reserved
Bit3 Reserved
Bit2 IDE_MdlRst
Setting this bit to “1” resets IDE-related registers (0x60 - 0x7F) to restore them to the initial state.
Bit1 Send Ack_tardy Enable
Makes setting to return an Ack_tardy as a Ack code when receiving an Async packet.
0: Usual Ack code
1: ack_tardy
Bit0 Soft Reset
Setting this bit to “1” initializes the interiors of the circuit. After initializing it, it is restored to “0”.
This register controls the functions of the LINK core.
Bit7 Pass Self-ID Packet
Setting this bit to “1” captures a Self-ID packet received by the LINK core into the buffer.
Bit6 Pass PHY Packet
When requesting the PHY Register for a register write, this bit is set to “1”. After the execution, this bit is
cleared.
Bit5 Pass BusReset Packet
Setting this bit to “1” captures a BusReset packet received by the LINK core into the buffer.
Bit4 Enable Posted Block Write
Setting this bit to “1” enables the Posted Write function for a Block Write Request.
Bit3 Enable Posted Quadlet Write
Setting this bit to “1” enables the Posted Write function for a Quadlet Write Request.
Bit2 APHY
Indicates whether the PHY conforms to 1394.a or not.
1: Conforms to PHY 1394.a
0: Does not conform to PHY 1394.a
Bit1 Enable Ack Acceleration
Indicates the setting of Ack Acceleration.
1: Ack Acceleration enable
0: Ack Acceleration disable
Bit0 cmstr
When the self node is Cycle Master capable and a root, this bit becomes “1”.
If the self node does not become a root in the Self-ID processing when this bit is set after the Bus Reset, this
bit is cleared.
This register controls the functions of the LINK core.
Bit7 Enable LINK
Controls whether communications with other nodes are enabled.
When this bit is “0”, no response is given to a received packet. When it is “1”, the transmission/reception of
a packet becomes possible. Even if you set the EnLINK to “1” when the LPS bit is “0”, it is ignored. Before
setting it to “1”, set the LPS bit to “1” and wait 10ms.
Bit6 Reserved
Bit5 PHY/LINK Interface Reset
Writing “1” to this bit resets the PHY/LINK interface. After resetting it, this bit is automatically restored to “0”.
Bit4 Ignore Broadcast Packet
Setting this bit to “1” abandons a Broadcast packet received by the LINK core.
Bit3 Ignore Broadcast Packet Data
Setting this bit to “1” abandons a Broadcast data received by he LINK core.
Bit2 Rx Busy Mode
Sets a Busy type, the Dual Phase mode or Single Phase mode, for a received packet when returning a Busy.
When this is “1”, an ack_busy_X is returned. When it is “0”, an ack_busy_A or ack_busy_B is returned.
Bit1 Dual Phase Retry Enable
Controls whether the Dual Phase retry protocol is enabled.
When this bit is “1”, a retry processing is done until a time set on the Retry Limit Register is exceeded. When
it is “0”, no retry is done. When the value of the Retry Limit Register is “0”, a retry processing is ignored.
Bit0 Single Phase Retry Enable
Controls whether the Single Phase retry protocol is enabled.
When this bit is “1”, a retry processing is done until the number set on the Retry Limit Register is exceeded.
When it is “0”, a retry processing is disabled. When the value of the MaxRetry Register is “0”, a retry processing
is ignored.
BC Pkt to DMA FIFO
BC Data to DMA FIFO
R/W0: Dual1: Single0–
Single Retry Disable
Reset PHY/Link I/F0–
1: Ignore BC Packet 0x000–
1: Ignore BC – Data0–
Dual Retry Enable
1:
Single Retry Enable
0–
0–
Address
0x1ALinkStart7:0:1:
Register Name
Bit Symbol R/W DescriptionH.Rst S.Rst B.Rst
6:0:1:
5:0:1:
4:0:1:0x00––
3:0:1:
2: ID_ValidR0: PhyID Invalid1: PhyID Valid
1: RootR0: Self Node =Not Root1: Self Node =Root
0: CablPwStsR0: Cable Power Status NG 1: Cable Power Status OK
Link Core Status Read Register
Bit 7..3 Reserved
Bit2 ID_Valid
When this bit is set to “1,” the Physical_ID of the NodeID register becomes valid, and when this bit is set to “0,”
the Physical_ID becomes invalid.
Bit1 Root
This bit is set to “1” when the self node comes to Root in the Self-ID process after the bus is reset.
Bit 0 Cable Power Status
This bit indicates the status of Cable Power, which is updated in the PHY Status.
“1” : Cable Power Status OK
“0” : Cable Power Status NG
This register shows registers in the pri-req field shown in the PRIORITY_BUDGET(CSR) register. This
register can precede the Priority Request as often as it is set to PriReq in a uniform section. But this register
can only be set by the node suitable for the bus manager.
Bit7..6 Reserved
Bit5..0 pri_req[9:0]
This bit is for setting the value of pri_req designated by the bus manager. Any value exceeding the value of
pri_max to be packaged with the firmware cannot be set. The value is cleared to zero when a uniform section
6: WonIRMR(W) 0: Other Node1: Self Node
5: IRMID[5]
4: IRMID[4]Physical ID of IRM Node0x3F–0x3F
3: IRMID[3]RNo exist IRM Node then IRMID=0x3F
2: IRMID[2]
1: IRMID[1]
0: IRMID[0]
escriptionH.Rst S.Rst B.Rst
IRM Status Register
This IRM Status Register controls detection of the Isochronous Resource Manager.
Bit7 No IRM
Sets whether an Isochronous Resource Manager exists on the serial bus. “1” indicates the IRM node does not exist and
“0” indicates the IRM node exists.
Bit6 WonIRM
Sets whether the Isochronous Resource Manager is self node or other node.
“1” indicates it is the self node and “0” indicates it is other node.
Usually, this bit is read-only. When a valid IRM is not detectable due to hardware bugs, however, the firmware
sets this bit through a Self-ID packet or topology map.
Bit5..0 IRM ID[5:0]
When the EnLrmDetect bit is “1”, the node ID of the Isochronous Resource Manager detected in the Self-ID
period is set. When no node corresponding to the IRM exists, it indicates the 0x3F value.
54EPSON
Page 59
S1R72803F00A
Address Register NameBit SymbolR/WD
0x20NODE_IDS_H7: BusID[9]
6: BusID[8]
5: BusID[7]Serial Bus ID Number
4: BusID[6]Single Bus, Bus ID = 0x3FF0xFF––
3: BusID[5]R/WMultiple Bus, Bus ID is uniquely specifying
2: BusID[4]
1: BusID[3]
0: BusID[2]
Node IDS Status Register (Higher Rank, Lower Rank)
This register indicates the bus ID of topology connected through the serial bus.
At the time of BusReset, the BusID does not change. When the self node is a bus manager, this register is
writable. If you write when it is not a bus manager, the bus goes out of control. Never write when it is not a
bus manager.
The PHY ID becomes a value of the 0x3F at the time of BusReset and is automatically stored on completion
of the Self-ID processing.
0x20, 0x21 .Bit7..6 Bus ID
These bits are areas to store the Bus_ID value of the serial bus.
0x21 Bit5:0 PHY ID
Indicates the Physical ID of a node established by the PHY in the Self-ID phase.
This register selects an ISO channel and Async Stream channel. The Channel Available Register is available
when the Isochronous Resource Manager is used.
0x28 Channel Index
Sets an index number to select a channel.
0x29 Channel Window
Indicates a window specified by the Channel Index.
This register sets a compare offset address.
When the BlkWrAreaSet bit is “1” and a BlockWriteRequest packet having an Destination_Offset address same
as a value set to this register is received, the received data of payload is received by the RxStreamArea.
0x2A Compare Index
This is a register to set an index number to select a channel.
0x2B Compare Window
This is a register to view a window specified by the Compare Index.
When the BlkWrAreaSet bit is “1” and a BlockWriteRequest packet having an Destination_Offset address same
as a value set to this register is received, the received data of payload is received by the RxStreamArea. This
address is valid when the BlkWrAreaSel bit of the AsyDmaCtl Register is “1”.
Each of CycSecond, CycCount, and CycOffset Registers updates the timer by updating the current value of the
cycle timer used for isochronous transfer.
When the self node is a CYCLE MASTER, set the value of each register in the CYCLE START PACKET.
When the self node is not a CYCLE MASTER, set the cycle_time_data of a received CYCLE START PACKET
on each register.
This register is enabled when LINKCtl(Hi). DisCycTimer=“0”.
Reserve this register as a CycSecond(Hi) for WORD access.
CYCLE_TIME.second_count
This bit field indicates an integer at the place of Second of the cycle timer.
It is enabled when the LINKCtl(H).DisCycTimer= “0” and the Cycle Second is incremented every time the
CycleCount reaches 8000. When the Cycle Second exceeds 127, it is restored to 0.
CYCLE_TIME.cycle_count
When the self node is a CYCLE MASTER and the DisCycTimer=“0”, it is incremented every time the Cycle
Offset reached 3072. When the Cycle Count reaches 8000, it is restored to 0.
CYCLE_TIME. cycle.offset
When the self node is a CYCLE TIMER and the DisCycTimer=“0”, it is incremented in a cycle of 24.576MHz.
When the Cycle Offset reaches 3072, it is restored to 0 and then the Cycle Count is incremented.
EPSON
59
Page 64
S1R72803F00A
Address Register NameBit SymbolR/WD
0x30HwSBP2Ctl7: PtNotPresentR/W0: Present1: Not Present
This register controls the SBP2 processing of this IC.
Bit7 UltraDmaMode
PtNotPresent:0 (Present) Set => PageTable exists.
PtNotPresent:1 (Not Present) Set => PageTable does not exist.
Bit6 HOSTtoDev
HOSTtoDev:0 (Host<-Device) Set => Transfers data from Device to Host.
HOSTtoDev:1 (Host->Device) Set => Transfers data from Host to Device.
Bit5 FromStream
FromStream:0 (FromPt) Set => Starts with the PageTable Processing.
FromStream:1 (FromStream) Set => Starts with the Stream processing.
Bit4 LastPT
This bit indicates the 0x32 bit 3 NotQuad status and specifies whether to generate an interrupt if SegmentLength
of the last PageTableElement on PageTable is not the Quad unit during the HwSBP2 process.
LastPT: 0 (None) Set => The NotQuad status is indicated for the last PageTableElement and an interrupt is
generated.
LastPT: 1 (Ignore) Set => The NotQuad status is not indicated for the last PageTableElement and an interrupt
is not generated.
Bit3 HwSBP2Rst
SBP2Reset:1 (Reset) Set => Resets the hwSBP2.
If you read it, it indicates 0.
Bit2 HwSBP2Rsum
SBP2Resume:1 (Reset) Set => Resumes the hwSBP2 processing in pause.
If you read it, it indicates 0.
Bit1 HwSBP2Pause
SBP2Pause:1 (Pause) Set => Pauses the hwSBP2 processing in execution.
If you read it, it indicates 0.
Bit0 HwSBP2Start
SBP2Start:1 (Start) Set => Starts the hwSBP2 processing.
If you read it, it indicates 0.
This register indicates the execution condition of the hardware SBP2.
Bit7 F/W Pause
When the firmware writes “1” at the HwSBP2Ctl. HwSBP2Pause bit during the execution of the HwSBP2Pause:1
(Pause) HwSBP2, this bit becomes “1”. When the firmware writes “1” at the HwSBP2Ctl.HwSBP2Rsum bit
or resets it, it is cleared. Writing to this bit is ignored.
Bit6 Error Pause
When firmware enters the pause state without writing “1” at the HwSBP2Ctl.HwSBP2Pause bit during the
execution of the HwSBP2Pause:1 (Pause) HwSBP2, this bit becomes “1”. It is cleared at the time of Reset.
Writing to this bit is ignored.
Bit5 NotQuadEnable
This bit specifies whether to generate a 0x32 bit 3 NotQuad interrupt by if SegmentLength of PageTableElement
is not the Quad unit during the HwSBP2 process.
NotQuadEnable: 0 (Disable) Set => A NotQuad interrupt is not generated.
NotQuadEnable: 1 (Enable) Set => A NotQuad interrupt is generated.
* Note that this bit does not indicate the status of HwSBP2.
Bit4 Wait Payload Ready
• WaitPLReady:0 (Not Ready) => Payload Domain Not Ready
• WaitPLReady:1 (Ready) => Payload Domain Ready
When the IDE interface has a problem, the payload may not be ready. At that time, perform a recovery
processing by the firmware.
Bit3 HwSBP2Exec
• HwSBP2Exec:0 (Stop) => Indicates the HwSBP2 processing is completed.
• HwSBP2Exec:1 (Execute) => Indicates the HwSBP2 processing is in execution.
It is cleared at the time of Reset. Writing to this bit is ignored..
Bit2 PageTaskExec
• PageTaskExec:0 (Stop) => Indicates a PageTask is completed.
• PageTaskExec:1 (Execute) => Indicates a PageTask is in execution.
It is cleared at the time of Reset. Writing to this bit is ignored..
Bit1 StreamTaskExec
• StreamTaskExec:0 (Stop) => Indicates a StreamTask is completed.
• StreamTaskExec:1 (Execute) => Indicates a StreamTask is in execution.
It is cleared at the time of Reset. Writing to this bit is ignored..
Bit0 TranExec.
• TranExec:0 (Stop) => Indicates a Transaction is completed.
• TranExec:1 (Execute) => Indicates a Transaction is in execution.
It is cleared at the time of Reset. Writing to this bit is ignored..
This register indicates error information when an error arises in execution of the hardware SBP2 processing.
At the same time, it asserts the HwSBP2Err bit of the SubIntStat Register. When clearing it, write “1” to a bit
to clear.
This register is automatically cleared when setting HwSBP2Ctl.HwSBP2Start or the HWSBP2Ctl. HwSBP2Rst.
Bit7 Split Timeout
• SplitTimeOut:1 => During the HwSBP2 processing, an SPLIT TIMEOUT error arose.
Bit6 Tx Acked Illegal
TxAckedIllegal:1 => Though a transmission was completed, a response other than ack_pending was given to
a BlkRdReq and a response other than ack_completed was given to a BlkWrReq.
Bit5 Tx Ack Miss
• TxAsyMiss:1 => Though a transmission was completed, no Ack was returned.
Bit4 BRAbort
• When the HwSBP2Ctl.HwSBP2Start bit is set to “1” or HWSBP2Ctl.Resume bit is set to “1” during the
BusReset period, this bit becomes “1”,
Bit3 NotQuad
This bit indicates 1 if SegmentLength of PageTableElement is not the Quad unit during the HwSBP2 process.
No data transmission to the detected PageTableElement occurs.
This bit is cleared when 1 is written.
This bit is automatically cleared when a Transaction starts or SBP2Reset is issued.
Bit2 RxNotRespCmp
• RxNotRespCmp:1 => Though a response packet receive was completed, its code was other than resp_complete.
Bit1 RxBroadcast
• RxBroadCast:1 => Though a response packet receive was completed, it was a broadcast packet.
Bit0 RxAckDataError
• RxAckDataErr:1 => Though a response packet was received, it was a DataCRCError. It does not assert the
interrupt signal SBP2Err. It is automatically cleared on completion of the Transaction.
This register functions as an Index Register and Window Register to set a register to use for the HwSBP2
processing.
HwSBP2Index
This register sets an index number to select a channel.
HwSBP2Window
This register indicates a window specified by the HwSBP2Index.
EPSON
63
Page 68
S1R72803F00A
H/W SBP2 Index Chnnel/Window Register
SBP2Index
SBP2Window_H/Lbit7bit6bit5bit4bit3bit2bit1bit0
0x00PageBoundaryPageBoundary[2:0]
PageElementNunberPageElementNumber[4:0]
0x01PgElmentRemain_H(MSB)Page Element Remain Length (Bytes)
PgElmentRemain_L(LSB)
0x02SpeedCodeSpeedCode[2:0]
MaxPayloadMaxPayload[3:0]
0x03DestinationID_H(MSB)
DestinationID_LDestination_ID Value(LSB)
0x04SplitTime_HSecond[2:0]Cycle Count[12:8]
SplitTime_LCycle Count[7:0]
0x05(Reserved)
:(Reserved)
0x0F(Reserved)
PageBoundary
Set a value of page boundary to use for the HwSBP2. The actual page boundary is as follows.
PageBoundary =2
PageElementNumber
Sets a page element number with which the HwSBP2 starts a processing.
When the HwSBP2Ctl.PtPresent:1, set a value equal to or less. than 0x17
When the HwSBP2Ctl.PtPresent:0, set a value equal to or less than 0x02.
If you read it, the page element number currently in process is indicated.
PgElementRemain
Indicates the number of remaining data bytes of the page element currently being processed by the HwSBP2.
This register is read-only.
SpeedCode
Sets the speed code of 1394 bus to be used for data transfer by the HwSBP2.
SpeedCode:0 100Mbps
SpeedCode:1 200Mbps
SpeedCode:2 400Mbps
SpeedCode:3 Reserved
MaxPayload
Sets the max. payload value to be used by the HwSBP2. The actual payload size is as follows.
Payload = 2
Since the max. payload size transferable at 400Mbps is 2048 bytes, set “9” or less for this register.
Destination_ID
This is a register to set a transmit destination of the HwSBP2. Set a Bus ID (10 bits) and Node ID (6 bits).
SplitTime
Set a split timeout time of a transaction of the HwSBP2.
SplitTime.Second: Set a value in second.
SplitTime.CycleCount: Set a value in 125µs. (Set range: 0 to 0x1F3F) Setting of a value exceeding 0x1F3F
is not possible.
Set this register when the firmware handles data to a StreamArea to be used by the HwSBP2.
When the HwSBP2Stat.Exec.:”1" (in execution of HwSBP2), writing to this register is ignored.
When the RxStreamArea receives data the equivalent of this size, the BufMoniter.RxPayldRdy bit becomes “1”.
If free space the equivalent of a size set here exists in the TxStreamArea, the BufMoniter. TxPayldRdy bit
becomes “1”.
Payload Size [11:0]
Set a payload size to use for data transfer in byte.
The settable size is 2
The Write and Read of this register have different meanings depending on whether a PageTable is present
(setting of HwSBP2Ctl.PtNotPresent bit).
• When a PageTable is present
Write: Set a PageTable size in byte. (The number of pages x 8 bytes)
Read: Indicates the remaining PageTable size.
• When a PageTable is not present
Write: Set a data length.
Read: Indicates a new PageTable size based on the written data size. (The number of pages x 8 bytes)
When it is not written, zero can be read if the HwSBP2 correctly finishes. The remaining table size can be
read when it is in execution or it finishes incorrectly.
This register specifies an address specified by the ORB of the SBP2. It is automatically updated in execution of the HwSBP2.
Write: Sets a Destination_Offset_Address accessed by the HwSBP2. It is ignored in execution of the HwSBP2.
Read: Indicates the PageTable address following one being processed by the HwSBP2.
66EPSON
Page 71
S1R72803F00A
Address Register NameBit SymbolR/WD
0x40LinkRxHdrPtr_H 7:Write is ignore
6:Read is always zero
5:
4: LRHP[12]0x00 0x00–
3: LRHP[11]
2: LRHP[10]
1: LRHP[9]R/W
0: LRHP[8]
0x41LinkRxHdrPtr_L 7: LRHP[7]
6: LRHP[6]
5: LRHP[5]
4:0x00 0x00–
3:Write is ignore
2:Read is always zero
1:
0:
Current Received Packet Header Area Pointer
Receive Header LINK Pointer Register
This Receive Header LINK Pointer Register indicates the starting address of the latest receive packet in the
RxHeaderArea. Since the buffer pointer is given in 8Quadlet unit, the lower order 5 bits are always “0”. Also,
since the buffer size is 2 Kbytes, the higher order 3 bits are always “0”.
Reading the higher order bytes holds the lower order bytes. Read the higher order bytes first, then the lower
order bytes.
escriptionH.Rst S.Rst B.Rst
AddressRegister NameBit Symbol R/WD
0x42LinkRxORBPtr_H 7:Write is ignore
6:Read is always zero
5:
4: POP[12]0x00 0x00–
3: POP[11]
2: POP[10]
1: POP[9]
0: POP[8]
0x43LinkRxORBPtr_L7: POP[7]R/WCurrent Received Packet ORB Data Area Pointer
6: POP[6]
5: POP[5]
4: POP[4]0x00 0x00–
3: POP[3]
2: POP[2]
1:Write is ignore
0:Read is always zero
escriptionH.Rst S.Rst B.Rst
Receive ORB Data LINK Pointer Register
This Receive ORB Data LINK Pointer Register indicates the starting address of the latest receive ORB data in
the RxORBdataArea. Since the buffer pointer is in Quadlet unit, the lower order 2 bits are always “0”. Also,
since the buffer size is 2 Kbytes, the higher order 3 bits are always “0”.
Reading the higher order bytes holds the lower order bytes. Read the higher order bytes first, then the lower
order bytes.
EPSON
67
Page 72
S1R72803F00A
AddressRegister NameBit Symbol R/WD
0x44LinkRxStreamPtr_H 7:Write is ignore
6:Read is always zero
5:
4: PSP[12]0x00 0x00–
3: PSP[11]
2: PSP[10]
1: PSP[9]
0: PSP[8]
0x45LinkRxStreamPtr_L 7: PSP[7]R/W
6: PSP[6]
5: PSP[5]
4: PSP[4]0x00 0x00–
3: PSP[3]
2: PSP[2]
1:Write is ignore
0:Read is always zero
Current Received Packet Stream Data Area Pointer
Receive Stream Data LINK Pointer Register
This Receive Stream Data LINK Pointer Register indicates the starting address of the latest received stream data
in the RxStreamdataArea. Since the buffer pointer is in Quadlet unit, the lower order 2 bits are always “0”. Also,
since the buffer size is 2 Kbytes, the higher order 3 bits are always “0”.
Reading the higher order bytes holds the lower order bytes. Read the higher order bytes first, then the lower
order bytes.
escriptionH.Rst S.Rst B.Rst
AddressRegister NameBit Symbol R/WD
0x46LinkTxStreamPtr_H 7:Write is ignore
6:Read is always zero
5:
4:
PTDP[12]
3:
PTDP[11]
2:
PTDP[10]
1: PTDP[9]
0: PTDP[8]
0x47LinkTxStreamPtr_L 7: PTDP[7]RCurrent Transmit Packet Data Area Pointer
6: PTDP[6]
5: PTDP[5]
4: PTDP[4]0x00 0x00
3: PTDP[3]
2: PTDP[2]
1:Write is ignore
0:Read is always zero
escriptionH.Rst S.Rst B.Rst
Transmit Stream Data LINK Pointer Register
This Transmit Stream Data LINK Pointer Register indicates the starting address of unused area in the
RxStreamArea. Since the buffer pointer is in Quadlet unit, the lower order 2 bits are always “0”. Also, since
the buffer size is 2 Kbytes, the higher order 3 bits are always “0”.
Reading the higher order bytes holds the lower order bytes. Read the higher order bytes first, then the lower
order bytes. This register is read-only. Writing is ignored.
0x00 0x00
68EPSON
Page 73
S1R72803F00A
AddressRegister NameBit Symbol R/WD
0x48UsedRxHdrPtr_H7:Write is ignore
6:Read always zero
5:
4:
URHP[12]
3: URHP[11]
2: URHP[10]
1: URHP[9] R/WReceived Packet Header Area Used Pointer
0: URHP[8]
0x49UsedRxHdrPtr_L7: URHP[7]
6: URHP[6]
5: URHP[5]
4:0x00 0x00–
3:Write is ignore
2:Read is always zero
1:
0:
Used Receive Header Pointer Register
This Used Receive Header Pointer Register indicates the starting address of used header of a receive packet in
the RxHdrArea. Since the buffer pointer is in 8Quadlet unit, the lower order 5 bits are always “0”. Also, since
the buffer size is 2 Kbytes, the higher order 3 bits are always “0”.
escriptionH.Rst S.Rst B.Rst
0x00 0x00–
AddressRegister NameBit Symbol R/WD
0x4AUsedRxORBPtr_H7:Write is ignore
6:Read is always zero
5:
4: UOP[12]0x00 0x00–
3: UOP[11]
2: UOP[10]
1: UOP[9]
0: UOP[8]
0x4BUsedRxORBPtr_L7: UOP[7]R/W
6: UOP[6]
5: UOP[5]
4: UOP[4]0x00 0x00–
3: UOP[3]
2: UOP[2]
1:Write is ignore
0:Read is always zero
Received Packet ORB Data Area Used Pointer
Used Receive ORB Data Pointer Register
This Used Receive ORB Data Pointer Register indicates the starting address of used ORB data of receive packet
in the RxORBArea. Since the buffer pointer is in Quadlet unit, the lower order 2 bits are always “0”. Also, since
the buffer size is 2 Kbytes, the higher order 3 bits are always “0”.
escriptionH.Rst S.Rst B.Rst
EPSON
69
Page 74
S1R72803F00A
AddressRegister NameBit Symbol R/WD
0x4CIDE_RxStreamPtr_H 7:Write is ignore
6:Read is always zero
5:
4: IRSP[12]0x00 0x00–
3: IRSP[11]
2: IRSP[10]
1: IRSP[9]
0: IRSP[8]
0x4DIDE_RxStreamPtr_L 7: IRSP[7]R/W
6: IRSP[6]
5: IRSP[5]
4: IRSP[4]0x00 0x00–
3: IRSP[3]
2: IRSP[2]
1:Write is ignore
0:Read is always zero
Received Packet Stream Data Area IDE Pointer
Receive Stream Data IDE Pointer Register
This Receive Stream Data IDE Pointer Register indicates the starting address of received stream data in the
RxSTreamArea that is to be transmitted to the IDE side but not yet transmitted. Since the buffer pointer is in
Quadlet unit, the lower order 2 bits are always “0”. Also, since the buffer size is 2 Kbytes, the higher order 3
bits are always “0”.
Reading the higher order bytes holds the lower order bytes. Read the higher order bytes first, then the lower
order bytes.
escriptionH.Rst S.Rst B.Rst
AddressRegister NameBit Symbol R/WD
0x4EIDE_TxStreamPtr_H 7:Write is ignore
6:Read is always zero
5:
4: ITSP[12]0x00 0x00–
3: ITSP[11]
2: ITSP[10]
1: ITSP[9]
0: ITSP[8]
0x4FIDE_TxStreamPtr_L 7: ITSP[7]R/W
6: ITSP[6]
5: ITSP[5]
4: ITSP[4]0x00 0x00–
3: ITSP[3]
2: ITSP[2]
1:Write is ignore
0:Read is always zero
Transmit Packet Stream Data Area IDE Pointer
Transmit Stream Data IDE Pointer Register
This Transmit Stream Data IDE Pointer Register indicates the starting address of stream data in the
RxStreamArea to be stored following the data that was transmitted from the IDE to the SRAM. Since the buffer
pointer is in Quadlet unit, the lower order 2 bits are always “0”. Also, since the buffer size is 2 Kbytes, the higher
order 3 bits are always “0”.
Reading the higher order bytes holds the lower order bytes. Read the higher order bytes first, then the lower
order bytes.
escriptionH.Rst S.Rst B.Rst
70EPSON
Page 75
S1R72803F00A
Address Register NameBit SymbolR/WD
0x50BufControl7: TxStreamClrW0: None Affect 1: Tx Stream Data Clear
This Buffer Control Register restores each pointer of the TxStreamArea, RxStreamArea, RxORBARea, and
RxHeaderArea to the initial set pointer address. It also controls updates of the LINKTxStreamPtr. This register
is read-only. If you read it, it always indicates zero.
bit7 Tx Stream Clear
Writing “1” to this bit changes the values of LINKTxStreamPtr and IDE_TxStreamPtr to ones set by the
TxStreamAreaStart Register.
bit6 Rx Stream Clear
Writing “1” to this bit changes the values of LINKRxStreamPtr and IDE_RxStreamPtr to ones set by the
RxStreamAreaStart Register.
bit5 Rx ORB Clear
Writing “1” to this bit changes the values of LINKRxORBPtr and IDE_RxORBPtr to ones set by the
RxORBAreaStart Register.
bit4 Rx Header Clear
Writing “1” to this bit changes the values of LINKRxHdrPtr and UsedRxHdrPtr to the value of 0x0100.
bit3::1 Reserved
bit0 Update LINKTxStreamPtr
Writing “1” to this bit updates the value of LINKTxStreamPtr to the latest value.
When the firmware transmits data, this bit confirms that the transmit is normally completed as an error recovery
to update the LINKTxStreamPtr. Do not use this bit in execution of the HwSBP2.
This Buffer Monitor Register indicates each buffer area status.
This register is read-only. Writing to this register is ignored..
bit7 Rx Payload Ready
When a free space the equivalent of the size set by the PyloadSize Register exists in the RxStreamArea, this bit
becomes “1”. When not, this bit becomes “0”.
bit6 Tx Payload Ready
When transmit data the equivalent of the size set by the PayloadSize Register is accumulated in the
RxStreamArea, this bit becomes “1”. When not, this bit becomes “0”.
bit5 Reserved
bit4 TxStreamFull
This bit indicates the status of the transmitting stream buffer. This bit becomes “1” when the buffer is full, and
“0” in other statuses.
bit3 Received Header Remain
When an unused packet header exists in the header area of a receive packet, this bit becomes “1”.
When the firmware rewrites the UsedRxHdrPtr to one same as LINKRxHdrPtr or when you write “1” to the
BufControl.RxHdrCtr bit, this bit becomes “0”.
Bit2 Received ORB Data Full
When the ORB buffer area of receive packet data is full of received data, this bit becomes “1”. The firmware
must turn on RxDMACtl.ForceBusy bit if this bit is turned on to give priority to the processing to free the buffer
by starting a processing with the first received packet immediately. When the receive buffer area is freed, the
RxDMACtl.ForceBusy is cleared.
Bit1 Received Stream Data Full
When the stream buffer area of receive packet data is full of received data, this bit becomes “1”. The firmware
must turn on the RxDMACtl.ForceBusy bit if this bit is turned on to give priority to the processing to free the
buffer by starting a processing with the first received packet immediately. When the receive buffer area is freed,
Selects the header area of an Async Transmit packet from DMA. You transmit send a transmit packet from the
selected area. This bit selects “0”: AsyncTxPktHdr0 or “1”: AsyncTxPktHdr1. Since the AsyncTxPktHdr1 area
overlaps the ISOTxPktHdr area, however, the firmware must decide how to use this area.
Bit6 Reserved
Bit5 Reserved
Bit4 Block Write Request Packet Data Area Select
Can divide the store area of the Block Write Request packet data between the RxORBArea and RxStreamArea.
o:RxORBArea
1:RxStreamArea
Bit3 Async FIFO Empty
When the DMA-FIFO for Async is empty, this bit becomes “0”. When it is not empty, it is “1”. This bit is read-
only and writing to this bit is ignored.
Bit2 Async FIFO Clear
Clears the DMA-FIFO for Async. Writing “1” to this bit clears the FIFO. After clearing it, this bit is
automatically restored to “0”.
Bit1 Async Transmit Monitor
Indicates the transmit status of Async. “1” indicates that an Async packet is in transmission and “0” indicates
that no Async packet is in transmission. This bit is read-only and writing to this bit is ignored.
Bit0 Async Transmit Start
Transmits an Async packet. Writing “1” to this bit starts to transmit an Async packet. On completion of the
transmission, it is automatically restored to “0”. If you read this bit, it always indicates “0” regardless of
6:0:1:
5:0:1:
4: SelTxPtrR/W0:
3: IsoFIFOEptyR0: IsoFIFO Empty1: Non Empty
2: IsoFIFOClrW0: Normal1: IsoFIFO Clear
1: IsoTxMonR0: Iso Tx Stop1: Iso Tx Run
0: IsoStartW0: normal1: Start
Async Tx Pointer Select
1:
ISO Tx Pointer Select
ISO TxDMA Control Register
Bit7 ISO Transmit Packet Header Channel Select
Selects the header area of an ISO Transmit packet from DMA. You can transmit a transmit packet from the
selected area. This bit selects “0”: ISOTxPktHdr0 or “1”: ISOTxPktHdr1. Since the ISOAsyncTxPktHdr0 and
ISOAsyncTxPktHdr1 areas overlap the AsyncTxPktHdr1 area, however, the firmware must decide how to use
this area.
Bit6..5 Reserved
Bit4 Select Transmit Pointer
Can switch the address pointed by the PostTxDataPtr of a transmit packet to one for Async or ISO. The
PostTxData Ptr indicates a pointer of current transmit address; “0” indicates it is for Async and “1” indicates
it is for ISO.
Bit3 ISO FIFO Empty
When the DMA-FIFO for ISO is empty, this bit becomes “0”. When it is not empty, it is “1”. This bit is read-
only and writing to this bit is ignored.
Bit2 ISO FIFO Clear
Clears the DMA-FIFO for ISO. Writing “1” to this bit clears the FIFO. After clearing it, this bit is automatically
restored to “0”.
Bit1 ISO Transmit Monitor
Indicates the transmit status of ISO. “1” indicates that an ISO packet is in transmission and “0” indicates that
no ISO packet is in transmission. This bit is read-only and writing to this bit is ignored.
Bit0 ISO Transmit Start
Transmits an ISO packet. Writing “1” to this bit starts to transmit an ISO packet. On completion of the
transmission, it is automatically restored to “0”. If you read this bit, it always indicates “0” regardless of
Rx DMA Control Register
Bit7..4 Reserved
Bit3 Receive FIFO Empty
When the DMA-FIFO for reception is empty, this bit becomes “0”. When it is not empty, it is “1”. This bit is
read-only and writing to this bit is ignored.
Bit2 Receive FIFO Clear
Clears the DMA-FIFO for reception. Writing “1” to this bit clears the FIFO. After clearing it, this bit is
automatically restored to “0”.
Bit1 Reception Monitor
Indicates the receive status of ISO. “1” indicates that a receive packet is in reception and “0” indicates that no
receive packet is in reception. This bit is read-only and writing to this bit is ignored.
Bit0 Force Busy
Setting this bit to “1” can forcedly return an Ack_Busy to a receive packet.
Before performing the RxData Clear or RxHdrClear, be sure to set this bit.
If you set this bit during receiving a packet, the packet operates to complete the reception regardless of to what
extent the packet has been received. It means that a RxDmaCmp interrupt occurs if this packet has been correctly
received. The Ack_busy is continuously returned to the subsequent receive packets.
6: BusResetPtr[6]
5: BusResetPtr[5]
4:0x00 0x00–
3:Write is ignore
2:Read is always zero
1:
0:
Bus Reset Header Pointer Register
This Bus Reset Header Pointer Register holds the value of a PostRxHdrPtr when a bus reset occurs. When
several bus resets occur, it is updated to the latest PostRxHdrPtr. This register is read-only and writing to this
register is ignored.
6:Read is always zero
5:
4: BusRstORBPtr[12]0x00 0x00–
3: BusRstORBPtr[11]
2: BusRstORBPtr[10]
1: BusRstORBPtr[9]
0: BusRstORBPtr[8]Bus Reset ORB-Data Area Pointer
0x5BBRstORBPtr_L 7: BusRstORBPtr[7]R
6: BusRstORBPtr[6]
5: BusRstORBPtr[5]when BusRest detected.
4: BusRstORBPtr[4]0x00 0x00–
3: BusRstORBPtr[3]
2: BusRstORBPtr[2]
1:Write is ignore
0:Read is always zero
Bus Reset ORB Pointer Register
This Bus Reset Header Pointer Register holds the value of a PostRxORBPtr when a bus reset occurs. When
several bus resets occur, it is updated to the latest PostRxORBPtr. This register is read-only and writing to this
register is ignored.
This register indicates Address
in Rx ORB Data Area
6: E_DcrcR/W0:1: Add Data CRC Error
5: No_PktR/W0:1: No Transmit Next Packet
4: F_AckR/W0:1: Tx Optional AckCode0x00 0x00–
3: N_ackR/W0:1: No Transmit AckPacket
2:0:1:
1:0:1:
0:0:1:
Maintenance Control Register
This Maintenance Control Register enables intentional generation of a serial bus error.
Bit7 Error Header CRC
Writing “1” to this bit sets an invalid value for the Header CRC of a transmit packet to be generated next.
After transmitting it, this bit is cleared to “0”.
Bit6 Error Data CRC
Writing “1” to this bit sets an invalid value for the Data CRC of a transmit packet to be generated next.
After transmitting it, this bit is cleared to “0”.
Bit5 No Packet
Writing “1” to this bit abandons a transmit packet to be generated next. Immediately after abandoning it, this
bit is cleared.
Bit4 F_Ack
Writing “1” to this bit transmits the value in the MainCtl(Lo).Ack Register to the ACK packet to be generated
next. Immediately after transmitting it, this bit is cleared to “0”.
Bit3 No_Ack
Writing “1” to this bit abandons the ACK packet to be generated next without transmitting it. Immediately after
abandoning it, this bit is cleared to “0”.
When the F_Ack bit is “1”, this register is enabled. When the F_Ack bit is set, an Ack_Code (Ack[7::4]) and
Ack_Parity(Ack[3::0]) specified on this register are transmitted.
This register sets the mode of operation of the IDE interface of this IC.
Bit7 UltraDmaMode
When bit6:DmaMode is “1” and bit 7:Ultra Dma Mode is “1”, this bit sets the DMA transfer mode at ULTRADMA.
When bit6:DmaMode is “0”, the setting of this bit is invalid.
Bit6 DmaMode
Sets the IDE interface transfer mode at DMA or PIO.
DmaMode:1 DMA mode
DmaMode:0 PIO mode
Bit5 Activate IDE Port
The IDE interface is in all-pin input mode after a reset. By setting this bit at “1”, it is activated.
Bit4 Reserved
This bit should be set to “0”.
Bit3 DMARQ_Level
Decides the level of operation of the HDMARQ signal. Set “0” when using the IDE interface in IDE bus
compatible mode.
DMARQ_Level:1 Negative logic
DMARQ_Level:0 Positive logic
Bit2 Swap
Swaps the higher order 8 bits and lower order 8 bits when using the interface at 16 bits width. The access order
to an address of 0x70 of the IDE-CSO Register is reversed.
SWAP:1 Transfers the higher order 8 bit data first.
SWAP:0 Transfers the lower order 8 bit data first.
This register sets the mode of operation of the IDE interface of this IC.
Bit7 IDE_Reset
Writing “1” to this bit asserts the RESET signal to the IDE interface for 50µs. During asserting the XHRESET,
this bit reads “1”. If you reset it during the assertion, the XHRESET is output for 50µs from that time.
Bit6::3 Reserved
Bit2 XDIOW_DLYen
XDIOW is delayed by one clock (20 ns) as compared with XDMACK on Multiword DMA.
This register sets a transfer mode when accessing the register area of the IDE interface. It is enabled for an access
to 0x70 to 0x7F of the IDE-CS0/CS1 Register.
Bit7::4 Assert Pulse
Decides the minimum value of the assert period of the strobe signal when accessing the register area of the IDE
interface. It is a value [Assert Pulse + 2] times the internal operation clock (50MHz) cycle.
Bit3::0 Negate Pulse
Decides the minimum value of the negate period of the strobe signal when accessing the register area of the IDE
interface. It is a value [Assert Pulse + 2] times the internal operation clock (50MHz) cycle.
Example: 0000: 2 x 20ns = 40ns
IDE PIO/DMA Cycle Register
This register sets a transfer mode when transferring data through the IDE interface. It is enabled for an access to 0x70
of the IDE-CSO Register.
It is common to both PIO/DMA modes.
Bit7::4 Asset Pulse
Decides the minimum value of the assert period of the strobe signal when transferring data through the IDE
interface. It is a value [Assert Pulse + 2] times the internal operation clock (50MHz) cycle.
Bit3::0 Negate Pulse
Decides the minimum value of the negate period of the strobe signal when transferring data through the IDE
interface. It is a value [Assert Pulse + 2] times the internal operation clock (50MHz) cycle.
Example: 0000: 2 x 20ns = 40ns
This register sets a transfer mode when transferring data by the Ultra-DMA through the IDE interface.
Bit7::4 Assert Pulse
Decides the minimum value of the assert period of the strobe signal when transferring data through the IDE
interface. It is a value [Assert Pulse + 2] times the internal operation clock (50MHz) cycle.
Bit3::0 Cycle Pulse
Decides the minimum cycle time of the strobe signal when transferring Ultra-DMA data through the IDE
interface. It is a value [Assert Pulse + 2] times the internal operation clock (50MHz) cycle.
Example: 0000: 2 x 20ns = 40ns
6: FIFOCnt[1]RIndecate word count in FIFO
5: FIFOCnt[0]R
4:0:1:0x00 0x00–
3:0:1:
2:0:1:
1: DmaPauseR0: IDE DMA not Pause 1: IDE DMA Pause
0: DmaRunR0: Not DMA1: IDE DMA Running
IDE DMA Status Register
This register indicates the status of the DMA of the IDE interface.
Bit7::5 FIFOCnt[2:0]
This bit indicates the number of words in the FIFO.
Bit4::2 Reserved
Bit1 DmaPause
Indicates whether the DMA mode in execution is in pause status or not. It is enabled when the DmaRun bit is
“1”.
DmaPause:1 DMA is in pause.
DmaPause:0 DMA is in execution.
Bit0 DmaRun
Indicates whether the DMA mode in execution is in execution or not. It is enabled when the DmaRun bit is “1”.
This register sets a total data length in DMA transfer in the unit of byte. By setting each register of
IDE_ByteCount0 to 3, setting up to max. 0xFFFFFFFF is possible.
If you set an odd byte to this register or the OddStart bit of the CONFIG0 Register when using the data port of
the IDE bus based on word size, 1 byte is short at the first or last transfer. It is automatically padded by the IC
(data is undefined).
This register is a Command Block Register that is the I/O port of the IDE interface.
The transfer mode of the Data Register is PIO mode-fixed, having access based on conditions set on the IDE_PioDmaCyc
Register. Since the setting at the BUS8/SWAP bit of the CONFIG Register is reflected, 16-bit access is possible by always
accessing the Data Register twice if it is 16 bits wide.
During DMA transfer, access to the Data Register is disabled.
If you access the 0x71-0x77 in the DMA mode or when the InterLock bit is not on, the HDMARQ is negated once and CPU
access is done.
When the Interlock bit is on or at the time of UltraDMA, the XHDMACK is negated at the time of HDMAQR off or on
completion of transfer. Note that, for this reason, the CPU access is put in wait state.
This register controls the erase and write of the built-in Flash.
Enables Flash control.
Setting this bit to “1” enables the lower order 5 bits of this register. Setting “0” disables having access to the
built-in Flash.
Setting this bit to “1” starts to erase the built-in Flash. This bit is read-only. If you read it, it always indicates
zero.
Setting this bit to “1” at the time of FlashSctErs=1, the Flash Address is updated after erasing one sector.
Indicates the operation of Write/Erase.
“1”: In execution
“0”: Processing finishes.
Use this bit to erase all the built-in Flash.
“1”: All Erase is enabled..
“0”: All Erase is disabled.
Use this bit to erase the built-in Flash in the unit of sector. It enables the erase of the sector address set on the
Flash Address.
“1”: Sector Erase is enabled..
“0”: Sector Erase is disabled.
Enables Data Write into the built-in Flash.
“1”: Data Write is enabled..
“0”: Data Write is disabled.
Sequence to set a default value on FlashCtlCnt_reg
Turn on one of Bit0, Bit1 or Bit2 to select a desired operation.
Next, turn on bit7.
Sequence to set a value on FlashCtlCnt_reg
Turn on Bit7 and one of Bit0, Bit1 and Bit2.
Next, set a value on the FlashCtlCnt_reg.
This register specifies a write/erase address of the built-in Flash.
In the Built-in Flash All Erase mode, the setting of this register is ignored.
During writing operation, writing to the lower order byte of the Flash Data Register increments the address of
this register.
When All of Sector are erased, This Address is Ignored.
When operation is Write, It shall be set from high byte.
Because when Data register's Low Byte is accessed,
Flash Write Data Register
This register specifies write data of the built-in Flash.
When setting it in the unit of byte, conform to the order of higher order byte - lower order byte. If you reverse
the order, data cannot be correctly written.
Writing to the lower order byte updates the Flash Address Register to the next write address.
90EPSON
Page 95
9. ELECTRICAL CHARACTERISTICS
9.1 ABSOLUTE MAXIMUM RATINGS
ItemSymbolRatingUnit
Supply voltageHVDD–0.3 to 7.0V
LVDD–0.3 to 4.0V
Input voltageHVIN–0.3 to HVDD + 0.5V
LVIN–0.3 to LVDD + 0.5V
Output voltageHVOUT–0.3 to HVDD + 0.5V
LVOUT–0.3 to LVDD + 0.5V
Output current/pinIOUT–30mA
Storage temperatureT
9.2 RECOMMENDED OPERATING CONDITION
STG–65 to 150°C
S1R72803F00A
ItemSymbolMin.Typ.Max.Unit
Supply voltageHVDD4.555.5V
LVDD33.33.6V
Input voltageHVINVSS–HVDDV
LVINVSS–LVDDV
Operating temperatureTOPr10–70°C
Operating temperature when
writing to FLASH ROM
TOPr20–70°C
EPSON
91
Page 96
S1R72803F00A
9.3 DC CHARACTERISTICS (ACCORDING TO RECOMMENDED OPERATING
CONDITION) (1)
(HVDD = 5.0V ± 0.5V, LVDD = 3.3V ± 0.3V, Ta = 0 to 70°C)
ItemSymbolConditionMin.Typ.Max.Unit
Power supply current
Power supply currentI
Static current (Static current between HVDD to VSS)
Power supply currentI
Static current (Static current between LVDD to VSS)
Power supply currentI
Input leak
Input leak currentI
DDHVDD =5.5V––150mA
LVDD =3.6V
DDSHVIN =HVDD or LVDD––45µA
or V
SS
HVDD =5.5V
LVDD =3.6V
DDSLVIN =HVDD or LVDD––107µA
or V
SS
HVDD =5.5V
LVDD =3.6V
LHVDD =5.5V–1–1µA
LV
DD =3.6V
HV
IH =HVDD
LVIH =LVDD
VIL =VSS
Input characteristics (CMOS)
HIGH level input voltage
LOW level input voltage
VIH1HHVDD =5.5V3.5––V
VIL1HHVDD =4.5V––1V
Input characteristics (TTL)
HIGH level input voltage
LOW level input voltage
VIH2HHVDD =5.5V2––V
VIL2HHVDD =4.5V––0.8V
Input characteristics (CMOS)
HIGH level input voltage
LOW level input voltage
VIH1LHVDD =3.6V2––V
VIL1LHVDD =3.0V––0.8V
Schmitt input characteristics (TTL)
HIGH level trigger voltage
LOW level trigger voltage
Hysteresis voltagedV
VT2+HVDD =5.5V1.2–2.4V
VT2–HVDD =4.5V0.6–1,8V
2HVDD =4.5V0.1––V
LVDD =3.6V
LVDD =3.0V
LV
DD =3.0V
92EPSON
Page 97
S1R72803F00A
DC CHARACTERISTICS (ACCORDING TO RECOMMENDED OPERATING CONDITION) (2)
(HVDD = 5.0V ± 0.5V, LVDD = 3.3V ± 0.3V, Ta = 0 to 70°C)