SH79F329

From Noisebridge
Revision as of 22:20, 20 October 2017 by 🔋 (talk | contribs) (diagrams)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

SINO WEALTH

SH79F329 An analog front end with an enhanced 8051 microprocessor V2.0


TRANSLATION IN PROGRESS


Features[edit]

  • Based on the 8051 compatible pipelined 8-bit microcontroller
  • Flash ROM: 32K bytes
  • RAM: internal 256 bytes, external 1024 bytes
  • Operating Voltage:
    • V VPACK / V BAT = 4.5V - 25V
  • Oscillator:
    • Internal RC oscillator: 64KHz
    • multiplied to 1MHz, 2MHz, 4MHz, 8MHz
  • 13 CMOS bi-directional I / O pins
  • I / O built-in pull-up resistor
  • 2 open-drain structure I / O pins
  • 2 8-bit timers T0, T1
  • Interrupt source:
    • Timer 0, Timer 1
    • External interrupt INT1-2
    • CADC, VADC, SMBus, SCI, AFE
  • SMBus interface (master / slave mode)
  • 2 16-bit sigma-delta analog-to-digital converters (ADCs)
    • CADC: 1 differential input
    • VADC: 2 single-ended inputs
  • Built-in low voltage reset function
    • LVR Voltage: 2.3V (V DD)
  • CPU machine cycle:
    • 1 oscillation period
  • Watchdog Timer (WDT) (Code Options)
  • Built-in oscillator preheat counter
  • High voltage analog front end
    • Built-in 3V, 25mA power regulator (LDO)
    • 3 high voltage output ports
    • Analog comparators that can set threshold and delay times
    • VC1-VC5 between the maximum 40mA conduction circuit
  • Low power mode:
    • Idle mode
    • Power down mode
  • Flash type
  • Package: TQFP48, TSSOP38


Overview[edit]

The SH79F329 is a high speed and high efficiency 8051 compatible microcontroller. At the same oscillation frequency, compared with the traditional 8051 chip it has a faster operation, better performance he characteristics of the. The SH79F329 retains most of the features of the standard 8051 chip, including built-in 256 bytes of RAM and two 8-bit timers and external interrupts INT1, INT2. In addition, The SH79F329 also integrates 1024 bytes of RAM. The SH79F329 microcontroller also includes 32K bytes of Flash for programs and data. The SH79F329 integrates not only the SMBus standard communication module, but also integrates two 16-bit sigma-delta analog-to-digital converter modules (ADCs) and internal communication modules (SCI). in order to achieve high reliability and low power consumption, SH79F329 integrated watchdog timer, with low voltage reset function, provides two kinds of low power consumption mode. The SH79F329 integrates a high-voltage analog front end (AFE), including one AFE interrupt, one power regulator, three high-voltage output ports for MOSFET control, 3 Analog comparator, 4-way voltage differential input conversion and 4-way internal conduction circuit.

Application Circuit[edit]

SH79F329-Circuit.png

Note: JTAG Pinout connectors inset in upper right.


Block Diagram[edit]

SH79F329-Block-Diagram.png


Pin Configuration[edit]

TQFP48 Pin Configuration[edit]

SH79F329-TQFP48.png

TQFP48 (Total: 48-pin)


TSSOP38 Pin Configuration[edit]

SH79F329-TSSOP38.png

TSSOP38 (Total: 38 pin)

Note: Pin naming, written in the outermost function has the highest priority, the innermost function has the lowest priority. When a pin is occupied by a high priority function, Even if the low priority function is enabled, it can not be used as a low priority function pin. Only when the software prohibits the pin's high priority function, the corresponding pin can be released as Low priority port use.


Pin Description[edit]

Pin Name                 Type    Description
IO
P0.0-P0.1, P0.5-P0.6 I / O    4-bit bi-directional I / O port
P1.2 - P1.7                 I / O    6-bit bidirectional I / O port
P2.0 - P2.4                 I / O    5-way bidirectional I / O port
SMBus port
SMBD                        I / O     SMBus communication data cable
SMBC                        I / O     SMBus communication clock line
ADC
AN0                          I            VADC single-ended input 0 pin
AN1                          I            VADC single-ended input 1 pin
RS1                           I            CADC differential input forward pin
RS2                           I            CADC differential input negative pin
Interrupt / reset / power ports
INT1                         I            External interrupt 1 input pin
INT2                         I            External interrupt 2 input pin
RESETB                     I            Reset pin
OSCI                         I            Internal oscillation circuit pin
PLL                           I            Multiplier circuit pin
V DD                        P           Digital power supply pin
GND                        P            Digital pin
AV DD                     P            Analog power supply pin
AGND                      P           Analog ground pin
AFE port
VPACK                     P         AFE power input pin
BAT                          P         AFE power input pin
VCC                         P         AFE power regulator output pin
AGND                      P        AFE analog ground pin
CHG                        O        AFE high voltage output pin
DSG                        O        AFE high voltage output pin
OD                          O        AFE high voltage open drain output pin
RSTB                       O        AFE reset output, it is recommended to link to RESETB
VC1                          I        AFE voltage conversion maximum input pin
VC2                          I        AFE voltage conversion sub-high input pin
VC3                          I        AFE voltage conversion third high input pin
VC4                          I        AFE voltage conversion fourth high input pin
VC5                          I        AFE voltage conversion minimum input pin
AAN0                      O       AFE voltage conversion output pin
TEMP                      O       AFE output pin
ARS1                        I        AFE comparator input pin
ARS2                        I        AFE comparator input pin
TDO (P1.2)              O       Debug interface: test data output
TMS (P1.3)               I        Debug interface: Test mode selection
TDI (P1.4)                I        Debug interface: test data input
TCK (P1.5)               I        Debug Interface: Test the clock input

note: When P1.2-1.5 As a debugging interface, P1.2-1.5 original function is disabled


SFR image[edit]

The SH79F329 has 256 bytes of direct addressing registers, including general purpose data memory and special function registers (SFR). The SFR of the SH79F329 has the following types:

CPU core registers:                      ACC, B, PSW, SP, DPL, DPH
Enhanced CPU core registers:   AUXC, DPL1, DPH1, INSCON , XPAGE
Power supply clock control register: PCON, SUSLO
Flash Register:                            IB_CLK0, IB_CLK1, IB_OFFSET, IB_DATA, IB_CON1,
                                                     IB_CON2, IB_CON3, IB_CON4, IB_CON5
Data page control register:      XPAGE
Watchdog timer register:         RSTSTAT
System clock control register: CLKCON
Interrupt register:                     IEN0, IEN1, IPH0, IPL0, IPH1, IPL1
I / O port registers:                   P0, P1, P2, P0CR, P1CR, P2CR, P0PCR, P1PCR, P2PCR, P2SEL, P0OS
Timer register:                           TCON, BTCON, BT0, BT1
SMBus register:                         SMBCON, SMBSTA, SMBDAT, SMBADR
SCI register:                               SCICON, SCIDAT, SCIADR
ADC registers:                           ADCP, OPDY, VADCON, VADC1, VADD0, CADCON, CADC1, CADD0, CAD2, CAD1,
                                                   CAD0, DAD2, DAD1, DAD0, V0OR1, V0OR0, V0FSR1, V0FSR0, COR1, COR0, CFSR1, CFSR0


C51 nuclear SFRs[edit]

symbol address name POR / WDT / LVR / PIN Reset Value 7th No. 6 5th No. 4 No. 3 The first two No. 1 Bit 0 ACC E0H accumulator 00000000 ACC.7 ACC.6 ACC.5 ACC.4 ACC.3 ACC.2 ACC.1 ACC.0 B F0H B register 00000000 B.7 B.6 B.5 B.4 B.3 B.2 B.1 B.0 AUXC F1H C register 00000000 C.7 C.6 C.5 C.4 C.3 C.2 C.1 C.0 PSW D0H Program status word 00000000 CY AC F0 RS1 RS0 OV F1 P SP 81H Stack pointer 00000111 SP.7 SP.6 SP.5 SP.4 SP.3 SP.2 SP.1 SP.0 DPL 82H Data pointer low byte 00000000 DPL0.7 DPL0.6 DPL0.5 DPL0.4 DPL0.3 DPL0.2 DPL0.1 DPL0.0 DPH 83H Data pointer high byte 00000000 DPH0.7 DPH0.6 DPH0.5 DPH0.4 DPH0.3 DPH0.2 DPH0.1 DPH0.0 DPL1 84H Data pointer 1 low byte 00000000 DPL1.7 DPL1.6 DPL1.5 DPL1.4 DPL1.3 DPL1.2 DPL1.1 DPL1.0 DPH1 85H Data pointer 1 high byte 00000000 DPH1.7 DPH1.6 DPH1.5 DPH1.4 DPH1.3 DPH1.2 DPH1.1 DPH1.0 INSCON 86H Data pointer selection


00-0

- - - - DIV MUL - DPS


clocked power SFRs[edit]

symbol address name POR / WDT / LVR / PIN Reset Value 7th No. 6 5th No. 4 No. 3 The first two No. 1 Bit 0 PCON 87H Power control - 0000 - - - - GF1 GF0 PD IDL SUSLO 8EH Power control protection word 00000000 SUSLO.7 SUSLO.6 SUSLO.5 SUSLO.4 SUSLO.3 SUSLO.2 SUSLO.1 SUSLO.0


Flash control SFRs[edit]

symbol address name POR / WDT / LVR / PIN Reset Value 7th No. 6 5th No. 4 No. 3 The first two No. 1 Bit 0 IB_CLK0 F9H Flash programming clock register 0 00000000 IB_CLK0.7 IB_CLK0.6 IB_CLK0.5 IB_CLK0.4 IB_CLK0.3 IB_CLK0.2 IB_CLK0.1 IB_CLK0.0 IB_CLK1 FAH Flash programming clock register 00000000 IB_CLK1.7 IB_CLK1.6 IB_CLK1.5 IB_CLK1.4 IB_CLK1.3 IB_CLK1.2 IB_CLK1.1 IB_CLK1.0 IB_OFF SET FBH Programmable flash low byte offset 00000000 IB_OFF SET.7 IB_OFF SET.6 IB_OFF SET.5 IB_OFF SET.4 IB_OFF SET.3 IB_OFF SET.2 IB_OFF SET.1 IB_OFF SET.0 IB_DATA FCH Programmable flash data register 00000000 IB_DATA.7 IB_DATA.6 IB_DATA.5 IB_DATA.4 IB_DATA.3 IB_DATA.2 IB_DATA.1 IB_DATA.0 IB_CON1 F2H flash control register 00000000 IB_CON1.7 IB_CON1.6 IB_CON1.5 IB_CON1.4 IB_CON1.3 IB_CON1.2 IB_CON1.1 IB_CON1.0 IB_CON2 F3H flash control register 2 --- 00000 - - - IB_CON2.4 IB_CON2.3 IB_CON2.2 IB_CON2.1 IB_CON2.0 IB_CON3 F4H flash control register 3 - 0000 - - - - IB_CON3.3 IB_CON3.2 IB_CON3.1 IB_CON3.0 IB_CON4 F5H flash control register 4 - 0000 - - - - IB_CON4.3 IB_CON4.2 IB_CON4.1 IB_CON4.0 IB_CON5 F6H flash control register 5 - 0000 - - - - IB_CON5.3 IB_CON5.2 IB_CON5.1 IB_CON5.0 XPAGE F7H flash page register 00000000 XPAGE.7 XPAGE.6 XPAGE.5 XPAGE.4 XPAGE.3 XPAGE.2 XPAGE.1 XPAGE.0


WDT SFR[edit]

symbol address name POR / WDT / LVR / PIN Reset Value 7th No. 6 5th No. 4 No. 3 The first two No. 1 Bit 0 RSTSTAT B1H Watchdog timer control register

  • - *** 000

WDOF - PORF LVRF CLRF WDT.2 WDT.1 WDT.0

Note: * indicates a Reset reset value of decisions RSTSTAT register, see chapter WDT

Table 6.5 SFR clock control symbol address name POR / WDT / LVR / PIN Reset Value 7th No. 6 5th No. 4 No. 3 The first two No. 1 Bit 0 CLKCON B2H System clock selection - 0000 - - - - PLLCON FS2 FS1 FS0


Interrupt SFRs[edit]

symbol address name POR / WDT / LVR / PIN Reset Value 7th No. 6 5th No. 4 No. 3 The first two No. 1 Bit 0 IEN0 A8H Interrupt enable control 0 00000000 EA EVADC ECADC ESMB ET1 EX1 ET0 EAFE IEN1 A9H Interrupt enable control


00

- - - - - - ESCI EX2 IPH0 B4H Interrupt Priority Control High 0 -0000000 - PVADCH PCADCH PSMBH PT1H PX1H PT0H PAFEH IPL0 B8H Interrupt Priority Control Low 0 -0000000 - PVADCL PCADCH PSMBL PT1L PX1L PT0L PAFEL IPH1 B5H Interrupt priority control high 1


00

- - - - - - PSCIH PX2H IPL1 B9H Interrupt priority control low bit 1


00

- - - - - - PSCIL PX2L


port SFRs[edit]

symbol address name POR / WDT / LVR / PIN Reset Value 7th No. 6 5th No. 4 No. 3 The first two No. 1 Bit 0 P0 80H 8-bit port 0 -00 --- 00 - P0.6 P0.5 - - - P0.1 P0.0 P1 90H 8-bit port 1 000000-- P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 - - P2 A0H 8-bit port 2 --- 00000 - - - P2.4 P2.3 P2.2 P2.1 P2.0 P0CR E1H Port 0 input / output direction control -00 --- 00 - P0CR.6 P0CR.5 - - - P0CR.1 P0CR.0 P1CR E2H Port 1 input / output direction control 000000-- P1CR.7 P1CR.6 P1CR.5 P1CR.4 P1CR.3 P1CR.2 - - P2CR E3H Port 2 input / output direction control --- 00000 - - - P2CR.4 P2CR.3 P2CR.2 P2CR.1 P2CR.0 P0PCR E9H Port 0 internal pull-up allows


00

- - - - - - P0PCR.1 P0PCR.0 P1PCR EAH Port 1 internal pull-up allows 000000-- P1PCR.7 P1PCR.6 P1PCR.5 P1PCR.4 P1PCR.3 P1PCR.2 - - P2PCR EBH Port 2 internal pull-up allows --- 00000 - - - P2PCR.4 P2PCR.3 P2PCR.2 P2PCR.1 P2PCR.0 P2SEL EEH Port 2 output function selection --- 00000 - - - P2SEL.4 P2SEL.3 P2SEL.2 P2SEL.1 P2SEL.0 P0OS EFH Port 0 output function selection - 0000 - - - - SDAP CLKP SMBDP SMBCP


Timer SFRs[edit]

symbol address name POR / WDT / LVR / PIN Reset Value 7th No. 6 5th No. 4 No. 3 The first two No. 1 Bit 0 TCON 88H Timer interrupt control register 00000000 IBT1 IBT0 IE2 IT2 IE1 IT1 AFEIF AFEM BTCON A2H Timer mode register 00000000 ENBT1 BT1M.2 BT1M.1 BT1M.0 ENBT0 BT0M.2 BT0M.1 BT0M.0 BT1 A3H Timer 1 control register 00000000 BT1.7 BT1.6 BT1.5 BT1.4 BT1.3 BT1.2 BT1.1 BT1.0 BT0 A4H Timer 0 control register 00000000 BT0.7 BT0.6 BT0.5 BT0.4 BT0.3 BT0.2 BT0.1 BT0.0


SMBus SFRs[edit]

symbol address name POR / WDT / LVR / PIN Reset Value 7th No. 6 5th No. 4 No. 3 The first two No. 1 Bit 0 SMBCON C1H SMBus control register 00000000 TOUT ENSMB STA STO SI AA TFREE EFREE SMBSTA C2H SMBus status register 11111000 SMBSTA.7 SMBSTA.6 SMBSTA.5 SMBSTA.4 SMBSTA.3 CR.1 CR.0 ETOT SMBADR C3H SMBus data register 00000000 SLVA.6 SLVA.5 SLVA.4 SLVA.3 SLVA.2 SLVA.1 SLVA.0 GC SMRDAT C4H SMBus address register 00000000 SMBDAT.7 SMBDAT.6 SMBDAT.5 SMBDAT.4 SMBDAT.3 SMBDAT.2 SMBDAT.1 SMBDAT.0


SCI SFRs[edit]

symbol address name POR / WDT / LVR / PIN Reset Value 7th No. 6 5th No. 4 No. 3 The first two No. 1 Bit 0 SCICON C5H SCI control register 00--0000 SCIEN SCIF - - SCIRW SCISTA.2 SCISTA.1 SCISTA.0 SCIADR C6H SCI address register 00000000 SCIA.6 SCIA.5 SCIA.4 SCIA.3 SCIA.2 SCIA.1 SCIA.0 Read / Write SCIDAT C7H SCI data register 00000000 SCID.7 SCID.6 SCID.5 SCID.4 SCID.3 SCID.2 SCID.1 SCID.0


ADC SFRs[edit]

symbol address name POR / WDT / LVR / PIN Reset Value 7th No. 6 5th No. 4 No. 3 The first two No. 1 Bit 0 ADCP E7H VADC channel configuration register


00

- - - - - - AN0P AN1P OPDY E6H ADC clock delay control register - 0000 - - - - OPDY.3 OPDY.2 OPDY.1 OPDY.0 VADCON D9H VADC control register 00000000 VADCEN VADCIF SCH VOF VCE VCR1 VCR0 NCH VADC1 DAH VADC high byte register 00000000 VADC.15 VADC.14 VADC.13 VADC.12 VADC.11 VADC.10 VADC.9 VADC.8 VADC0 DBH VADC low byte register 00000000 VADC.7 VADC.6 VADC.5 VADC.4 VADC.3 VADC.2 VADC.1 VADC.0 CADCON DCH CADC control register 000-0000 CADCEN CADCIF MODE - COF CCE CCR1 CCR0 CADC1 DDH CADC high byte register 00000000 CADC.15 CADC.14 CADC.13 CADC.12 CADC.11 CADC.10 CADC.9 CADC.8 CADC0 DEH CADC low byte register 00000000 CADC.7 CADC.6 CADC.5 CADC.4 CADC.3 CADC.2 CADC.1 CADC.0 UAD2 D1H CADC positive accumulates register high byte - 0000 - - - - UAD.19 UAD.18 UAD.17 UAD.16 UAD1 D2H CADC forward accumulates register the next highest byte 00000000 UAD.15 UAD.14 UAD.13 UAD.12 UAD.11 UAD.10 UAD.9 UAD.8 UAD0 D3H CADC forward accumulates register low byte 00000000 UAD.7 UAD.6 UAD.5 UAD.4 UAD.3 UAD.2 UAD.1 UAD.0 DAD2 D4H CADC negative accumulate register high byte - 0000 - - - - DAD.19 DAD.18 DAD.17 DAD.16 DAD1 D5H CADC Negative Accumulation Register 00000000 DAD.15 DAD.14 DAD.13 DAD.12 DAD.11 DAD.10 DAD.9 DAD.8 DAD0 D6H CADC negative accumulate register low byte 00000000 DAD.7 DAD.6 DAD.5 DAD.4 DAD.3 DAD.2 DAD.1 DAD.0 V0OR1 CDH VADC offset register high byte 00000000 V0OR.15 V0OR.14 V0OR.13 V0OR.12 V0OR.11 V0OR.10 V0OR.9 V0OR.8 V0OR0 CEH VADC offset register low byte 00000000 V0OR.7 V0OR.6 V0OR.5 V0OR.4 V0OR.3 V0OR.2 V0OR.1 V0OR.0 V0FSR1 CFH VADC full-scale calibration register for high byte 00000000 V0FSR.15 V0FSR.14 V0FSR.13 V0FSR.12 V0FSR.11 V0FSR.10 V0FSR.9 V0FSR.8 V0FSR0 D7H VADC full-scale calibration register low byte 00000000 V0FSR.7 V0FSR.6 V0FSR.5 V0FSR.4 V0FSR.3 V0FSR.2 V0FSR.1 V0FSR.0 COR1 BCH CADC offset register high byte 00000000 COR.15 COR.14 COR.13 COR.12 COR.11 COR.10 COR.9 COR.8 COR0 BDH CADC offset register low byte 00000000 COR.7 COR.6 COR.5 COR.4 COR.3 COR.2 COR.1 COR.0 CFSR1 BEH CADC Full Scale Calibration Register High Byte 00000000 CFSR.15 CFSR.14 CFSR.13 CFSR.12 CFSR.11 CFSR.10 CFSR.9 CFSR.8 CFSR0 BFH CADC full-scale calibration register low byte 00000000 CFSR.7 CFSR.6 CFSR.5 CFSR.4 CFSR.3 CFSR.2 CFSR.1 CFSR.0


AFE Regs[edit]

symbol address name POR / WDT / LVR / PIN Reset Value 7th No. 6 5th No. 4 No. 3 The first two No. 1 Bit 0 ASTATUS 00H AFE status register - 0000 - - - - WDF OL SCCHG SCDSG AOUTPUT CTL 01H AFE output control register -0000000 - WDDIS APD AIDL OD CHG DSG LTCLR AFUNCCTL 02H AFE function control register --000000 - - TEMP XSCD XSCC XOL PACKOUT VMEN ACELL_SEL 03H AFE conversion and balanced on-register 00000000 CB3 CB2 CB1 CB0 CAL1 CAL0 CELL1 CELL0 AOLV 04H AFE Reverse Comparator 2 Voltage Register --- 00000 - - - OLV4 OLV3 OLV2 OLV1 OLV0 AOLT 05H AFE Reverse Comparator 2 Time Register - 0000 - - - - OLT3 OLT2 OLT1 OLT0 ASCC 06H AFE forward comparator 1 voltage and time register 00000000 SCCT3 SCCT2 SCCT1 SCCT0 SCCV3 SCCV2 SCCV1 SCCV0 ASCD 07H AFE Reverse Comparator 1 Voltage and Time Register 00000000 SCDT3 SCDT2 SCDT1 SCDT0 SCDV3 SCDV2 SCDV1 SCDV0


SFR image[edit]

Bit addressable Not addressable 0/8 1/9 2 / A 3 / B 4 / C 5 / D 6 / E 7 / F F8H IB_CLK0 IB_CLK1 IB_OFFSET IB_DATA FFH F0H B AUXC IB_CON1 IB_CON2 IB_CON3 IB_CON4 IB_CON5 XPAGE F7H E8H P0PCR P1PCR P2PCR P2SEL P0OS EFH E0H ACC P0CR P1CR P2CR OPDY ADCP E7H D8H VADCON VADC1 VADC0 CADCON CADC1 CAD0 DFH D0H PSW UAD2 UAD1 UAD0 DAD2 DAD1 DAD0 V0FSR0 D7H C8H V0OR1 V0OR0 V0FSR1 CFH C0H SMBCON SMBSTA SMBADR SMBDAT SCICON SCIADR SCIDAT C7H B8H IPL0 IPL1 COR1 COR0 CFSR1 CFSR0 BFH B0H RSTSTAT CLKCON IPH0 IPH1 B7H A8H IEN0 IEN1 AFH A0H P2 BTCON BT1 BT0 A7H 98H 9FH 90H P1 97H 88H TCON SUSLO 8FH 80H P0 SP DPL DPH DPL1 DPH1 INSCON PCON 87H 0/8 1/9 2 / A 3 / B 4 / C 5 / D 6 / E 7 / F

Note: SFR unused addresses is prohibited to read and write.


Standard features[edit]

CPU core Special Function Registers[edit]

characteristic ∎ CPU core registers: ACC, B, PSW, SP, DPL, DPH accumulator Accumulator ACC is a commonly used special register, the instruction system uses A as the accumulator mnemonic. B register In the multiplication and division instructions, the B register is used. In other instructions, the B register can be used as a scratchpad. The stack pointer (SP) Stack pointer SP is an 8-bit dedicated register, in the implementation of PUSH, a variety of subroutine calls, interrupt response and other instructions, SP first plus 1, and then push the data stack; implementation of POP, RET, RETI and other instructions, the data out of the stack after the SP minus 1. Stack stack top can be on-chip internal RAM (00H-FFH) any address, the system reset, SP Initialize to 07H, so that the stack actually starts with the 08H address. The program status word (PSW) register The Program Status Word (PSW) register contains program status information. Table 7.1 PSW register Data pointer (DPTR) The data pointer DPTR is a 16-bit dedicated register whose high byte register is represented by DPH and the low byte register is represented by DPL. They can be used as one 16-bit register DPTR, or as two independent 8-bit registers, DPH and DPL. D0H 7th No. 6 5th No. 4 No. 3 The first two No. 1 Bit 0 PSW C AC F0 RS1 RS0 OV F1 P Read / Write Read / write Read / write Read / write Read / write Read / write Read / write Read / write read Reset value (POR / WDT / LVR POR / WDT / LVR POR / WDT / LVR / PIN) 0 0 0 0 0 0 0 0 Bit number Bit symbol Description 7 C Carry flag 0: Arithmetic or logical operation, no carry or borrow occurred 1: Arithmetic or logic operations, the carry or borrow occurred 6 AC Auxiliary carry flag 0: In the arithmetic operation, there is no auxiliary carry or borrow 1: In the arithmetic operation, an auxiliary carry or borrow occurs 5 F0 F0 flag User-defined flag 4-3 RS [1: 0] R0-R7 register page select bits 00: page 0 (image to 00H-07H) 01: Page 1 (image to 08H-0FH) 10: Page 2 (image to 10H-17H) 11: Page 3 (image to 18H-1FH) 2 OV Overflow flag 0: no overflow occurred 1: there is an overflow occurred 1 F1 F1 flag User-defined flag 0 P Parity bit 0: The number of bits in accumulator A is even 1: The number of bits in accumulator A is odd Page 15 SH79F329 15 7.1.2 CPU core to enhance the special function register ∎ Extended 'MUL' and 'DIV' instructions: 16 bits * 8 bits, 16 bits / 8 bits ∎ Dual data pointer ∎ CPU Enhanced Kernel Registers: AUXC, DPL1, DPH1, INSCON The SH79F329 extends the 'MUL' and 'DIV' instructions to use a new register, the AUXC register, to store the upper 8 bits of the operation data to implement a 16-bit operation. In 16 bits The AUXC register is used in the division instructions. In other instructions, the AUXC register can be used as a scratchpad. The CPU enters the standard mode after reset, and the instruction operation of 'MUL' and 'DIV' is consistent with the standard 8051 instruction. When the corresponding bit of the INSCON register is set, 'MUL' And the 16-bit operation of the 'DIV' instruction is turned on. Double data pointer Using a double data pointer accelerates data storage movement. The standard data pointer is named DPTR and the new data pointer is named DPTR1. The data pointer DPTR1 is similar to DPTR and is a 16-bit dedicated register whose high byte register is represented by DPH1 and the low byte register is represented by DPL1. They can be handled either as a 16-bit register DPTR1 or as two independent 8-bit registers, DPH1 and DPL1. Select one of the two data pointers by setting the DPS bit in the INSCON register to 1 or clearing. All instructions for reading or manipulating DPTR will select the nearest one Select the data pointer. 7.1.3 register Table 7.2 Data Pointer Register Select operating result A B AUXC MUL INSCON.2 = 0; 8-bit mode (A) * (B) Low byte High byte --- INSCON.2 = 1; 16-bit mode (AUXC A) * (B) Low byte Median byte High byte DIV INSCON.3 = 0; 8-bit mode (A) / (B) Quotient low byte remainder --- INSCON.3 = 1; 16-bit mode (AUXC A) / (B) Quotient low byte remainder Quotient high byte 86H 7th No. 6 5th No. 4 No. 3 The first two No. 1 Bit 0 INSCON - - - - DIV MUL - DPS Read / Write - - - - Read / write Read / write - Read / write Reset value (POR / WDT / LVR POR / WDT / LVR POR / WDT / LVR / PIN) - - - - 0 0 - 0 Bit number Bit symbol Description 3 DIV 16-bit / eight-bit divider select bit 0: 8 division 1:16 division 2 MUL 16-bit / eight-bit multiplication selection 0: 8-bit multiplication 1:16 multiplication 0 DPS Data pointer selection bit 0: data pointer 1: Data pointer 1 Page 16 SH79F329 16 7.2 RAM 7.2.1 Characteristics The SH79F329 provides internal RAM and external RAM for data storage. The following is the memory space allocation: ∎ Low 128 bytes of RAM (addresses from 00H to 7FH) can be addressed directly or indirectly ∎ High 128 bytes of RAM (address from 80H to FFH) can only be addressed indirectly ∎ Special function registers (SFR, address from 80H to FFH) can only be addressed directly ∎ External RAM bytes can be indirectly addressed via the MOVX instruction The high 128-byte RAM occupies the same address space as the SFR, but is physically separate from the SFR space. When an instruction is accessed higher than the address 7FH inside Position, the CPU can distinguish between accessing the upper 128 bytes of data RAM or accessing the SFR depending on the type of instruction being accessed. Note: SFR unused addresses is prohibited to read and write. 7FH 80H FFH FFH 80H 0000H 00H Upper 128 bytes Internal Ram indirect accesses Lower 128 bytes Internal Ram direct or indirect accesses Extenal RAM 03FFH Special Function Register direct accesses Internal configuration SH79F329 supports traditional access to external RAM methods. Use MOVXA, @ Ri or MOVX @ Ri, A to access the external low 256 bytes of RAM; with MOVX A, @DPTR or MOVX @ DPTR, A to access external 1024 bytes of RAM. Users can also use the XPAGE register to access external RAM, using MOVX A, @ Ri or MOVX @ Ri, A can be used, this time with XPAGE to represent higher than 256 Byte of RAM address. In Flash SSP mode, XPAGE can also be used as a segment selector (see the SSP section). 7.2.2 register Table 7.3 Data storage page register F7H 7th No. 6 5th No. 4 No. 3 The first two No. 1 Bit 0 XPAGE XPAGE.7 XPAGE.6 XPAGE.5 XPAGE.4 XPAGE.3 XPAGE.2 XPAGE.1 XPAGE.0 Read / Write Read / write Read / write Read / write Read / write Read / write Read / write Read / write Read / write Reset value (POR / WDT / LVR POR / WDT / LVR POR / WDT / LVR / PIN) 0 0 0 0 0 0 0 0 Bit number Bit symbol Description 7-0 XPAGE [7: 0] RAM page selection control bit Invalid access to more than 0-3FFH range when MOVX A, @ Ri or MOVX @ Ri, A is executed Page 17 SH79F329 17 7.3 Flash Memory SH79F329 is a built-in 32K programmable Flash for storing program code. And provides self programming capabilities. Note: The last 64 bytes ($ 7FC0- $ 7FFF) will be preserved, not as a programmable memory. In ICP (online programming) mode, the program can operate all Flash, such as erase or write. Flash reads or writes operations in bytes, but erase only In units of sector (2k), or as a whole. In the ICP mode, the sector erase operation can erase any blocks other than sector 15. In the ICP mode, In the self programming mode (SSP), the sector 15 is included, except that the sector 15 can not be erased The sectors that erase the code can not be erased. In ICP mode, it can also be erased as a whole, which erases the entire Flash memory (including sector 15). 7.3.1 Characteristics ∎ Programmable memory includes 16 X 2KB blocks for a total of 32KB ∎ Programmable and erased operation within the operating voltage range ∎ ICP operation supports write, read and erase operations ∎ Fast overall / sector erase and programming ∎ Minimum number of programs / erases: 10,000 times ∎ Minimum age for data retention: 10 years ∎ Low power consumption Flash operation in 7.3.2 ICP mode ICP mode that is online programming mode, that can be sold on the user board after the CPU programming. ICP mode, the user system must be shut down after the programmer can be compiled by ICP The interface interface flushes the Flash memory. ICP programming interface comprises six wires (V DD, GND, TDO, TDI, TCK, TMS). First with four JTAG pins (TDO, TDI, TCK, TMS) into the programming mode. Only when the 4 pins specify the waveform input, the CPU can enter the programming mode. ICP mode supports the following operations: (1) Protection Code Control Mode Programming The code protection feature of the SH79F329 provides high-performance security protection for user code. There are two modes available for each partition: Code protected mode 0: Allows / disables write / read operations for any programmer (excluding full erase). Code protected mode 1: Enables / disables read operations in other partitions via the MOVC instruction, or erases / writes via the SSP function. The user must use the Flash programmer to set the appropriate protection bits to enter the desired protection mode. (2) Mass Erase Regardless of the state of the code protection control mode, the overall erase operation erases the contents of all programming code, code options, code protection bits, and custom ID codes. (The Flash programmer provides users with custom ID code settings to distinguish their products). The overall erase can only be done by the Flash programmer. (3) Sector Erase In addition to sector 15, the sector erase operation will erase the contents of the selected sector. Both the user program and the Flash program can perform the operation. If the user program is to perform this operation, the code protection control mode 1 of the selected sector must be disabled. If the programmer is to perform this operation, the code protection control mode 0 of the selected sector must be disabled. Note: The last sector (Sector 15) can not be erased by sector erase. (4) Write / Read Code Read / write code operations can write client data to Flash programming memory or read data from Flash memory. The programmer or user program can perform this operation. If the user program is to perform this operation, the code protection control mode 1 of the selected sector must be disabled. Regardless of whether the security bit is set or not, the user program can read / write itself In the sector. If the programmer is to perform this operation, the code protection control mode 0 of the selected sector must be disabled. Programming clock control register operating ICP SSP Code protection stand by not support Sector erase Support (no security bit) Support (no security bit) Overall erase stand by not support Write / read Support (no security bit) Support (no security bit or own sector) Page 18 SH79F329 18 In the ICP mode, all Flash operations can be performed via the 6-wire interface programmer. Since the programming signal is very sensitive, the user needs to use the programming pin 5 jumpers (V DD, TDO, TDI, TCK, TMS) are separated from the application circuit. As shown below. SH79F329 TCK TDI TDO GND To Application Circuit Jumper Flash Programmer VDD TMS AVDD AGND It is recommended that you follow these steps: (1) Before the program interface is connected, the jumper must be disconnected and the programming pins can be separated from the application circuit to start programming. (2) programmer connected to the programming interface, start programming; (3) Disconnect the programmer connection and connect the jumper after programming is complete. Page 19 SH79F329 19 7.4 Self Sector Programming (SSP) functions The SH79F329 provides an SSP (sector self programming) function, and if the selected sector is unprotected, the user code may erase all sectors except sector 15 or to any sector Perform the programming operation. Once the sector is programmed, it can not be programmed before the sector is erased. SH79F329 built a complex control process to avoid the code was mistakenly modified. If the specified condition (IB_CON2-5) is not met, the SSP will be terminated. 7.4.1 register Table 7.4 programming timer control register F9H 7th No. 6 5th No. 4 No. 3 The first two No. 1 Bit 0 IB_CLK0 IB_CLK0.7 IB_CLK0.6 IB_CLK0.6 IB_CLK0.0 IB_CLK0.2 IB_CLK0.2 IB_CLK0.0 IB_CLK0.0 IB_CLK0.0 IB_CLK0 FAH 7th No. 6 5th No. 4 No. 3 The first two No. 1 Bit 0 IB_CLK1 IB_CLK1.7 IB_CLK1.6 IB_CLK1.6 IB_CLK1.0 IB_CLK1.2 IB_CLK1.2 IB_CLK1.1 IB_CLK1.1 IB_CLK1 Read / Write Read / write Read / write Read / write Read / write Read / write Read / write Read / write Read / write Reset value (POR / WDT / LVR POR / WDT / LVR POR / WDT / LVR / PIN) 0 0 0 0 0 0 0 0 Bit number Bit symbol Description 7-0 IB_CLKx [7-0] x = 0, 1 Flash programming clock selection The values ​​in B_CLK1: IB_CLK0 are calculated as follows. Programming: MHz Fsys us T us T T prog sysck prog 1 40 20 , 8 65536 ≥ ≤ ≤ X - MHz Fsys us T us T T prog sysck prog 1 40 20 , 65536 ≤ ≤ ≤ - Typical Tprog = 30us Sector erase: MHz Fsys ms T ms T T erase sysck erase 1 90 50 , 8 65536 ≥ ≤ ≤ X - MHz Fsys ms T ms T T erase sysck erase 1 90 50 , 65536 < ≤ ≤ - Typical values ​​Terase = 60ms NOTE: When using the sector erase, the system clock must be less than or equal 8MHz. If the oscillator frequency is greater than 8MHz, the user must use the system clock frequency to ensure that the system clock is less than equal to 8MHz f SYS Programming Erase 8M FFE2H 15A0H 4M FFF1H 8AD0H 2M FFF8H C568H 1M FFFBH E2B4H 32K FFFFH F880H Page 20 SH79F329 20 Table 7.5 using partial bit register programming Table 7.6 programming flash memory offset register Table 7.7 data register programming Table 7.8 SSP type selection register F7H 7th No. 6 5th No. 4 No. 3 The first two No. 1 Bit 0 XPAGE XPAGE.7 XPAGE.6 XPAGE.5 XPAGE.4 XPAGE.3 XPAGE.2 XPAGE.1 XPAGE.0 Read / Write Read / write Read / write Read / write Read / write Read / write Read / write Read / write Read / write Reset value (POR / WDT / LVR POR / WDT / LVR POR / WDT / LVR / PIN) 0 0 0 0 0 0 0 0 Bit number Bit symbol Description 7-3 XPAGE [7: 3] The programmed memory cell sector number, 00000 for sector 0 2-0 XPAGE [2: 0] The programmed memory cell has a high 3-bit address FBH 7th No. 6 5th No. 4 No. 3 The first two No. 1 Bit 0 IB_OFFSET IB_OFF SET.7 IB_OFF SET.6 IB_OFF SET.5 IB_OFF SET.4 IB_OFF SET.3 IB_OFF SET.2 IB_OFF SET.1 IB_OFF SET.0 Read / Write Read / write Read / write Read / write Read / write Read / write Read / write Read / write Read / write Reset value (POR / WDT / LVR POR / WDT / LVR POR / WDT / LVR / PIN) 0 0 0 0 0 0 0 0 Bit number Bit symbol Description 7-0 IB_OFFSET [7] IB_OFFSET [7: 0] is the lower address bits programmed memory cells FCH 7th No. 6 5th No. 4 No. 3 The first two No. 1 Bit 0 IB_DATA IB_DATA.7 IB_DATA.6 IB_DATA.5 IB_DATA.4 IB_DATA.3 IB_DATA.2 IB_DATA.1 IB_DATA.0 Read / Write Read / write Read / write Read / write Read / write Read / write Read / write Read / write Read / write Reset value (POR / WDT / LVR / PIN POR / WDT / LVR / PIN POR / WDT / LVR / PIN) 0 0 0 0 0 0 0 0 Bit number Bit symbol Description 7-0 IB_DATA [7] IB_DATA [7: 0] data programming F2H 7th No. 6 5th No. 4 No. 3 The first two No. 1 Bit 0 IB_CON1 IB_CON1.7 IB_CON1.6 IB_CON1.5 IB_CON1.4 IB_CON1.3 IB_CON1.2 IB_CON1.1 IB_CON1.0 Read / Write Read / write Read / write Read / write Read / write Read / write Read / write Read / write Read / write Reset value (POR / WDT / LVR / PIN POR / WDT / LVR / PIN POR / WDT / LVR / PIN) 0 0 0 0 0 0 0 0 Bit number Bit symbol Description 7-0 IB_CON1 [7 IB_CON1 [7: 0] SSP operation selection 0xE6: Sector erase 0x6E: Write the storage unit Page 21 SH79F329 twenty one Table 7.9 SSP Process Control Register 1 Table 7.10 SSP Process Control Register 2 Table 7.11 SSP process control register 3 Table 7.12 SSP Process Control Register 4 F3H 7th No. 6 5th No. 4 No. 3 The first two No. 1 Bit 0 IB_CON2 - - - IB_CON2.4 IB_CON2.3 IB_CON2.2 IB_CON2.1 IB_CON2.0 Read / Write - - - Read / write Read / write Read / write Read / write Read / write Reset value (POR / WDT / LVR / PIN POR / WDT / LVR / PIN POR / WDT / LVR / PIN) - - - 0 0 0 0 0 Bit number Bit symbol Description 4 IB_CON2.4 System clock selection 0: f SYS> 1MHz 1: f SYS <1MHz 3-0 IB_CON2 [3 IB_CON2 [3: 0] must be 05H, else Flash Programming will terminate F4H 7th No. 6 5th No. 4 No. 3 The first two No. 1 Bit 0 IB_CON3 - - - - IB_CON3.3 IB_CON3.2 IB_CON3.1 IB_CON3.0 Read / Write - - - - Read / write Read / write Read / write Read / write Reset value (POR / WDT / LVR / PIN POR / WDT / LVR / PIN POR / WDT / LVR / PIN) - - - - 0 0 0 0 Bit number Bit symbol Description 3-0 IB_CON3 [3 IB_CON3 [3: 0] must be 0AH, or else Flash Programming will terminate F5H 7th No. 6 5th No. 4 No. 3 The first two No. 1 Bit 0 IB_CON4 - - - - IB_CON4.3 IB_CON4.2 IB_CON4.1 IB_CON4.0 Read / Write - - - - Read / write Read / write Read / write Read / write Reset value (POR / WDT / LVR / PIN POR / WDT / LVR / PIN POR / WDT / LVR / PIN) - - - - 0 0 0 0 Bit number Bit symbol Description 3-0 IB_CON4 [3: 0] must be 09H, else Flash Programming will terminate F6H 7th No. 6 5th No. 4 No. 3 The first two No. 1 Bit 0 IB_CON5 - - - - IB_CON5.3 IB_CON5.2 IB_CON5.1 IB_CON5.0 Read / Write - - - - Read / write Read / write Read / write Read / write Reset value (POR / WDT / LVR / PIN POR / WDT / LVR / PIN POR / WDT / LVR / PIN) - - - - 0 0 0 0 Bit number Bit symbol Description 3-0 IB_CON5 [3: 0] must be 06H, else Flash Programming will terminate Page 22 SH79F329 twenty two 7.4.2 Flash control flow chart S0 S1 S2 S3 S4 IB_CON1 = E6H & IB_CON2 [3: 0] = 5H & IB_CON3 = AH & IB_CON4 = 9H & IB_CON5 = 6H IB_CON1 = 6EH & IB_CON2 [3: 0] = 5H & IB_CON3 = AH & IB_CON4 = 9H & IB_CON5 = 6H Programming Set IB_CLK0,1 Set IB_OFFSET Set XPAGE Set IB_DATA Set IB_CON1 IB_CON2 ≠ 5H IB_CON2 [3: 0] ≠ 5H Set IB_CON2 [3: 0] = 5H IB_CON3 ≠ AH Set IB_CON3 = AH IB_CON3 ≠ AH Set IB_CON4 = 9H IB_CON4 ≠ 9H Set IB_CON5 = 6H IB_CON2 ≠ 5H ELSE Sector Erase Reset IB_CON [5: 1] Page 23 SH79F329 twenty three 7.4.3 SSP Programming Considerations To ensure smooth completion of SSP programming, the user software must be set as follows: (1) programming: Turn off 2. Set IB_CLK1, IB_CLK0; 3. Set XPAGE, IB_OFFSET according to the corresponding sector number to be programmed; 4. Set IB_DATA as required by programming 5. Set IB_CON1-5 in order 6. Add 4 NOP instructions; 7. Start programming, CPU will enter the IDLE mode; programming automatically exit IDLE mode; 8. If you need to continue writing data, skip to step 3; 9. clear XPAGE; 10. Restore interrupt and system divide settings. (2) Erase: Turn off 2. Set IB_CLK1, IB_CLK0; 3. Set the XPAGE by the corresponding sector; 4. Set IB_CON1-5 in order; 5. Add 4 NOP instructions; 6. Start erase, CPU will enter IDLE mode; erase automatically after the completion of IDLE mode; 7. If you need more erase sectors, skip to step 3 to continue; 8. clear XPAGE; 9. Resume the interrupt and system divide settings. (3) reads: Read using "MOVC A, @ A + DPTR" or "MOVC A, @ A + PC". Page 24 SH79F329 twenty four The system clock oscillator and 7.5 7.5.1 Characteristics ∎ Built-in 64KHz RC oscillator Built-in system clock X128 multiplier Built-in 1 / 1,1 / 2,1 / 4,1 / 8 divider 7.5.2 Overview The SH79F329 features an internal 64KHz RC oscillator that provides an X128 times multiplier and a 1/1, 1/2, 1/4, 1/8 divider. A total of 32.768kHz, 1048kHz, 2097kHz, 4194kHz, 8338kHz five frequencies as the system clock option. 7.5.3 register Table 7.13 System Clock Control Register 7.5.4 Oscillator Type Internal 64KHz RC oscillator and system divider circuit OSCI PLL C2 = 1nF 330K C1 = 1nF V DD 65.536kHz Internal RC PLL to x128 1/2 System Clcok SCI ADC 32.768kHz 65.536kHz SMBus /8 1048kHz / 1, / 2, / 4, / 8 7.5.5 System Clock Selection Use the following steps to set the multiplier clock 1. Set FS [1: 0] to the desired frequency 2. Set PLLCON 3. Wait no less than 2ms 4. Set FS2 7.5.6 AFE通讯时钟 当寄存器P0OS中CLKP置1时内部提供32.768kHz时钟给AFE,不受内部系统时钟影响。 B2H 第 7位 第 6位 第 5位 第 4位 第 3位 第 2位 第 1位 第 0位 CLKCON - - - - PLLCON FS2 FS1 FS0 读 /写 - - - - 读/写 读/写 读/写 读/写 复位值 (POR/WDT/LVR POR/WDT/LVR POR/WDT/LVR/PIN) - - - - 0 0 0 0 位编号 位符号 Description 3 PLLCON 系统时钟频率倍频器 0:关闭内部时钟倍频器 1:开启内部时钟倍频器 2-0 FS[2:0] 系统时钟控制寄存器 0xx:选用32.768kHz作为系统时钟 100:选用1048kHz作为系统时钟 101:选用2097kHz作为系统时钟 110:选用4194kHz作为系统时钟 111:选用8338kHz作为系统时钟 Page 25 SH79F329 25 7.6 I/O端口 7.6.1特性 ∎ 13个双向I/O端口 ∎ 2个双向开漏I/O端口 ∎ I/O端口可与其它功能共享 SH79F329提供15位位可编程双向I/O端口。端口数据在寄存器Px中。端口控制寄存器(PxCRy)控制端口是作为输入或者 输出。当端口作为输入时,每个I/O端口带有由PxPCRy控制的内部上拉电阻(x = 0-2, y = 0-7)。 SH79F329的有些I/O引脚能与选择功能共享。当所有功能都允许时,在CPU中存在优先权以避免功能冲突。(详见端口共 享章节)。 7.6.2寄存器 Table 7.14端口控制寄存器 特别提示:未使用位必须保持为 0 Table 7.15端口上拉电阻控制寄存器 特别提示:未使用位必须保持为 1 E1H - E3H 第 7位 第 6位 第 5位 第 4位 第 3位 第 2位 第 1位 第 0位 P0CR (E1H) - P0CR.6 P0CR.5 - - - P0CR.1 P0CR.0 P1CR (E2H) P1CR.7 P1CR.6 P1CR.5 P1CR.4 P1CR.3 P1CR.2 - - P2CR (E3H) - - - P2CR.4 P2CR.3 P2CR.2 P2CR.1 P2CR.0 读 /写 读/写 读/写 读/写 读/写 读/写 读/写 读/写 读/写 复位值 (POR/WDT/LVR POR/WDT/LVR POR/WDT/LVR/PIN) 0 0 0 0 0 0 0 0 位编号 位符号 Description 7-0 PxCRy x = 0-2, y = 0-7 端口输入 /输出控制寄存器 0:输入模式 1:输出模式 E9H - EBH 第 7位 第 6位 第 5位 第 4位 第 3位 第 2位 第 1位 第 0位 P0PCR (E9H) - - - - - - P0PCR.1 P0PCR.0 P1PCR (EAH) P1PCR.7 P1PCR.6 P1PCR.5 P1PCR.4 P1PCR.3 P1PCR.2 - - P2PCR (EBH) - - - P2PCR.4 P2PCR.3 P2PCR.2 P2PCR.1 P2PCR.0 读 /写 读/写 读/写 读/写 读/写 读/写 读/写 读/写 读/写 复位值 (POR/WDT/LVR (POR/WDT/LVR/PIN) 0 0 0 0 0 0 0 0 位编号 位符号 Description 7-0 PxPCRy x = 0-2, y = 0-7 输入端口内部上拉电阻控制 0:内部上拉电阻关闭 1:内部上拉电阻开启 Page 26 SH79F329 26 Table 7.16端口数据寄存器 特别提示:未使用位必须保持为 0 Table 7.17端口复用选择寄存器 Table 7.18端口2驱动增强寄存器 80H, 90H, A0H 第 7位 第 6位 第 5位 第 4位 第 3位 第 2位 第 1位 第 0位 P0 (80H) - P0.6 P0.5 - - - P0.1 P0.0 P1 (90H) P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 - - P2 (A0H) - - - P2.4 P2.3 P2.2 P2.1 P2.0 读 /写 读/写 读/写 读/写 读/写 读/写 读/写 读/写 读/写 复位值 (POR/WDT/LVR POR/WDT/LVR POR/WDT/LVR/PIN) 0 0 0 0 0 0 0 0 位编号 位符号 Description 7-0 Px.y x = 0-2, y = 0-7 端口数据寄存器 B2H 第 7位 第 6位 第 5位 第 4位 第 3位 第 2位 第 1位 第 0位 P0OS - - - - SDAP CLKP SMBDP SMBCP 读 /写 - - - - 读/写 读/写 读/写 读/写 复位值 (POR/WDT/LVR POR/WDT/LVR POR/WDT/LVR/PIN) - - - - 0 0 0 0 位编号 位符号 Description 3 SDAP AFE通讯数据线复用控制位 0:关闭AFE通讯数据线 1:开启AFE通讯数据线 2 CLKP AFE通讯时钟线复用控制位 0:关闭AFE通讯时钟线 1:开启AFE通讯时钟线 1 SMBDP P0.5复用控制位 0:P0.5作为普通开漏结构IO使用 1:P0.5作为SMBus通讯数据线使用 0 SMBCP P0.6复用控制位 0:P0.6作为普通开漏结构IO使用 1:P0.6作为SMBus通讯时钟线使用 B2H 第 7位 第 6位 第 5位 第 4位 第 3位 第 2位 第 1位 第 0位 P2SEL - - - P2SEL.4 P2SEL.3 P2SEL.2 P2SEL.1 P2SEL.0 读 /写 - - - 读/写 读/写 读/写 读/写 读/写 复位值 (POR/WDT/LVR POR/WDT/LVR POR/WDT/LVR/PIN) - - - 0 0 0 0 0 位编号 位符号 Description 4-0 P2SEL[4:0] 端口 2驱动增强寄存器 0:作为普通IO使用 1:内部串接250欧姆电阻,并提供最大4mA的下拉能力 Page 27 SH79F329 27 7.6.3端口模块图 Data Register Data Bus Write Read Port Pad PxCRy Read Data Register/Pad Selection Read PxPCRy Output Mode I/O Pad 0: From Pad 1: From data register SFEN Second Function Input Mode Read Port Data Register (Pull-up) 0 = ON 1 = OFF VDD VDD 0 = OFF 1 = ON 注意: (1)输入端口读操作直接读引脚电平。 (2)输出端口读操作的输入源有两种,一种是从端口数据寄存器读取,另一种是直接读引脚电平。用读取指令来区分:读-改- 写指令是读寄存器,而其它指令读引脚电平。 (3)不管端口是否共享为其它功能,对端口写操作都是针对端口数据寄存器。 Page 28 SH79F329 28 7.6.4端口共享 6个双向I/O端口也能共享作为第二种特殊功能。共享优先级按照外部最高内部最低的规则: 在引脚配置图中引脚最外边标注功能享有最高优先级,最里边标注功能享有最低优先级。这意味着一个引脚已经使用较高 优先级功能(如果被允许的话),就不能用作较低优先级功能,即使较低优先级功能被允许。只有较高优先级功能由硬件或软 件关闭后,相应的引脚才能用作较低优先级功能。上拉电阻也由相同规则控制。 当允许端口复用为其它功能时,用户可以修改PxCR﹑PxPCR(x = 0-2),但在复用的其它功能被禁止前,这些操作不会 影响端口状态。 当允许端口复用为其它功能时,任何对端口的读写操作只会影响到数据寄存器的值,端口引脚值保持不变,直到复用的其 它功能关闭。 PORT0: - AN1(P0.0):VADC 通道1输入 - AN0(P0.1):VADC 通道0输入 - SMBD(P0.5):SMBus 通讯数据线 - SMBC(P0.6):SMBus 通讯时钟线 Table 7.19 PORT0共享功能列表 PORT1: - INT1(P1.6):外部中断1输入 - INT2(P1.7):外部中断2输入 Table 7.20 PORT1共享功能列表 引脚编号 优先级 Features 允许位 45 1 AN1 VADC通道1输入 2 P0.0 无上述情况 46 1 AN0 VADC通道0输入 2 P0.1 无上述情况 twenty one 1 SMBD SMBus通讯数据线 2 P0.5 无上述情况 twenty two 1 SMBC SMBus通讯时钟线 2 P0.6 无上述情况 引脚编号 优先级 Features 允许位 27 1 INT1 IEN0寄存器中的EX1位置1,P1.6设置为输入模式 2 P1.6 无上述情况 28 1 INT2 IEN0寄存器中的EX2位置1,P1.7设置为输入模式 2 P1.7 无上述情况 Page 29 SH79F329 29 7.7中断 7.7.1特性 ∎ 9个中断源 ∎ 4层中断优先级 SH79F329有9个中断源:2个外部中断(INT1,INT2),2个定时器中断(定时器0,1),1个SMBus中断,2个ADC中断, 1个SCI中断,1个AFE中断。 7.7.2中断允许 任何一个中断源均可通过对寄存器IEN0和IEN1中相应的位置1或清0,实现单独使能或禁止。IEN0寄存器中还包含了一个全 局使能位EA,它是所有中断的总开关。一般在复位后,所有中断允许位设置为0,所有中断被禁止。 7.7.3寄存器 Table 7.21初级中断允许寄存器 v A8H 第 7位 第 6位 第 5位 第 4位 第 3位 第 2位 第 1位 第 0位 IEN0 EA EVADC ECADC ESMB ET1 EX1 ET0 EAFE 读 /写 读/写 读/写 读/写 读/写 读/写 读/写 读/写 读/写 复位值 (POR/WDT/LVR/PIN POR/WDT/LVR/PIN POR/WDT/LVR/PIN) 0 0 0 0 0 0 0 0 位编号 位符号 Description 7 EA 所有中断允许位 0:禁止所有中断 1:允许所有中断 6 EVADC VADC中断允许位 0:禁止VADC中断 1:允许VADC中断 5 ECADC CADC中断允许位 0:禁止CADC中断 1:允许CADC中断 4 ESMB SMBus中断允许位 0:禁止SMBus中断 1:允许SMBus中断 3 ET1 定时器 1溢出中断允许位 0:禁止定时器1溢出中断 1:允许定时器1溢出中断 2 EX1 外部中断 1允许位 0:禁止外部中断1 1:允许外部中断1 1 ET0 定时器 0溢出中断允许位 0:禁止定时器0溢出中断 1:允许定时器0溢出中断 0 EAFE AFE中断允许位 0:禁止AFE中断 1:允许AFE中断 Page 30 SH79F329 30 Table 7.22次级中断允许寄存器 A9H 第 7位 第 6位 第 5位 第 4位 第 3位 第 2位 第 1位 第 0位 IEN1 - - - - - - ESCI EX2 读 /写 - - - - - - 读/写 读/写 复位值 (POR/WDT/LVR POR/WDT/LVR POR/WDT/LVR/PIN) - - - - - - 0 0 位编号 位符号 Description 1 ESCI SCI中断允许位 0:禁止SCI中断 1:允许SCI中断 0 EX2 外部中断 2允许位 0:禁止外部中断2 1:允许外部中断2 Page 31 SH79F329 31 7.7.4中断标志 每个中断源都有自己的中断标志,当产生中断时,硬件会置起相应的标志位,在中断汇总表中会列出中断标志位。 外部中断源产生外部中断INTx(x = 1/2)时,如果中断为边沿触发,CPU在响应中断后,各中断标志位(TCON寄存器的IE1/2 位)被硬件清0;如果中断是低电平触发,外部中断源引脚电平直接控制中断标志,而不是由片上硬件控制。 注意:当禁止外部中断,引脚又没有复用为其它功能时,外部中断标志将随中断引脚状态的变化而变化。 定时器0/1的计数器溢出时,TCON寄存器的TFx(x = 0, 1)中断标志位置1,产生定时器0/1中断,CPU在响应中断后,标 志被硬件自动清0。 TCON寄存器的AFEIF中断可设为边沿触发或电平触发。如果为边沿触发,CPU相应中断后,AFEIF被硬件清除;如果为电 平触发,在AFE状态恢复正常前,中断无法清除。 SMBCON寄存器的SI,TFREE和TOUT被置1时,产生SMBus中断。中断标志必须由软件清除。 VADCON寄存器的VADCIF被置1时,产生VADC中断,如果中断产生,VADC1/VADC0中的结果是有效的。VADCIF中断标 志必须由软件清除。 CADCON寄存器的CADCIF 被置1时,产生CADC 中断,如果中断产生, CADC1/CADC0 ,UAD2/UAD1/UAD0 , DAD2/DAD1/DAD0的结果是有效的。CADCIF中断标志必须由软件清除。 SCICON寄存器的SCIF被置1时,产生SCI中断。中断标志必须由软件清除。 Table 7.23定时器控制寄存器(x = 0, 1) 88H 第 7位 第 6位 第 5位 第 4位 第 3位 第 2位 第 1位 第 0位 TCON IBT1 IBT0 IE2 IT2 IE1 IT1 AFEIF AFEM 读 /写 读/写 读/写 读/写 读/写 读/写 读/写 读/写 读/写 复位值 (POR/WDT/LVR POR/WDT/LVR POR/WDT/LVR/PIN) 0 0 0 0 0 0 0 0 位编号 位符号 Description 7, 6 IBTx (x = 0, 1) 定时器 x溢出标志位 0:定时器x无溢出,可由软件清0 1:定时器x溢出,由硬件置1 5, 3 IEx (x = 1, 2) 外部中断 x请求标志位 0:无中断挂起 1:外部中断挂起 4, 2 ITx (x = 1, 2) 外部中断 x触发模式位 0:低电平触发 1:下降沿触发 1 AFEIF AFE中断触发标志位 0:无AFE中断 1:触发AFE中断 0 AFEM AFE触发模式位 0:持续触发模式 1:单次触发模式 Page 32 SH79F329 32 7.7.5中断向量 当一个中断产生时,程序计数器内容被压栈,相应的中断向量地址被载入程序计数器。中断向量的地址在中断汇总表中详 细列出。 7.7.6中断优先级 每个中断源都可被单独设置为4个中断优先级之一,分别通过清0或置1 IPL0,IPH0,IPL1,IPH1中相应位来实现。中断优 先级服务程序描述如下: 响应一个中断服务程序时,可响应更高优先级的中断,但不能响应同优先级或低优先级的另一个中断。 响应最高级中断服务程序时,不响应其它任何中断。如果不同中断优先级的中断源同时申请中断时,响应较高优先级的中 断申请。 如果同优先级的中断源在指令周期开始时同时申请中断,那幺内部查询序列确定中断请求响应顺序。 Table 7.24中断优先级控制寄存器 中断优先级 优先位 中断优先级 IPHx IPLx 0 0 等级0(最低优先级) 0 1 等级1 1 0 等级2 1 1 等级3(最高优先级) B8H , B4H 第 7位 第 6位 第 5位 第 4位 第 3位 第 2位 第 1位 第 0位 IPL0 - PVADCL PCADCL PSMBL PT1L PX1L PT0L PAFEL IPH0 - PVADCH PCADCH PSMBH PT1H PX1H PT0H PAFEH 读 /写 - 读/写 读/写 读/写 读/写 读/写 读/写 读/写 复位值 (POR/WDT/LVR POR/WDT/LVR POR/WDT/LVR/PIN) - 0 0 0 0 0 0 0 B9H , B5H 第 7位 第 6位 第 5位 第 4位 第 3位 第 2位 第 1位 第 0位 IPL1 - - - - - - PSCIL PX2L IPH1 - - - - - - PSCIH PX2H 读 /写 - - - - - - 读/写 读/写 复位值 (POR/WDT/LVR POR/WDT/LVR POR/WDT/LVR/PIN) - - - - 0 0 位编号 位符号 Description 7-0 PxxxL/H 相应中断源xxx优先级选择 Page 33 SH79F329 33 7.7.7中断处理 中断标志在每个机器周期都会被采样获取。所有中断都在时钟的上升沿被采样。如果一个标志被置起,那么CPU捕获到后 中断系统调用一个长转移指令(LCALL)调用其中断服务程序,但由硬件产生的LCALL会被下列任何条件阻止: 同级或更高级的优先级中断在运行中。 当前的周期不是执行中指令的最后一个周期。换言之,正在执行的指令完成前,任何中断请求都得不到响应。 正在执行的是一条RETI或者访问专用寄存器IEN0\1或是IPL\H的指令。换言之,在RETI或者读写IEN0\1或是IPL\H之后,不 会马上响应中断请求,而至少在执行一条其它指令之后才会响应。 注意:因为更改优先级通常需要 2条指令,在此期间,建议关闭相应的中断以避免在修改优先级过程中产生中断。如果当模 块状态改变而中断标志不再有效时,将不会响应此中断。每一个轮询周期只查询有效的中断请求。 轮询周期/LCALL次序如下图所示: Interrupt Latched Interrupt Polled Long Call to Interrupt Vector Service Interrupt service Cn+8 C2 C1 Interrupt Pending C3 Interrupt Signal Generated C3~Cn Cn~Cn+7 中断响应时间 由硬件产生的LCALL把程序计数器中的内容压入堆栈(但不保存PSW),然后将相应中断源的向量地址(参照中断向量表) 存入程序计数器。 中断服务程序从指定地址开始,到RETI指令结束。RETI指令通知处理器中断服务程序结束,然后把堆栈顶部两字节弹出, 重载入程序计数器中,执行完中断服务程序后程序回到原来停止的地方。RET指令也可以返回到原来地址继续执行,但是中断 优先级控制系统仍然认为一个同一优先级的中断被响应,这种情况下,当同一优先级或低优先级中断将不会被响应。 7.7.8中断响应时间 如果检测出一个中断,这个中断的请求标志位就会在被检测后的每个机器周期被置起。内部电路会保持这个值直到下一个 机器周期,CPU会在第3个机器周期产生中断。如果响应有效且条件允许,在下一个指令执行的时候硬件LCALL指令将调用请求 中断的服务程序,否则中断被挂起。LCALL指令调用程序需要7个机器周期。因而,从外部中断请求到开始执行中断程序至少需 要3+7个完整的机器周期。 当请求因前述的的三个情况受阻时,中断响应时间会加长。如果同级或更高优先级的中断正在执行,额外的等待时间取决 于正执行的中断服务程序的长度。 如果正在执行的指令还没有进行到最后一个周期,假如正在执行RETI指令,则完成正在执行的RETI指令,需要8个周期, 加上为完成下一条指令所需的最长时间20个机器周期(如果该指令是16位操作数的DIV,MUL指令),若系统中只有一个中断 源,再加上LCALL调用指令7个机器周期,则最长的响应时间是2+8+20+7个机器周期。 所以,中断响应时间一般大于10个机器周期小于37个机器周期。 Page 34 SH79F329 34 7.7.9外部中断输入 SH79F329有2个外部中断输入。外部中断1-2分别有一个独立的中断源。外部中断1/2可以通过设置TCON寄存器的IT2,IT1 位来选择是电平触发或是边沿触发。当ITx = 0(x = 1,2)时,外部中断INTx(x = 1,2)引脚为低电平触发;当ITx(x = 1,2)= 1, 外部中断INTx(x = 1,2)为沿触发,在这个模式中,一个周期内INTx(x = 1,2)引脚上连续采样为高电平而下个周期为低电 平,TCON寄存器的中断请求标志位置1,发出一个中断请求。由于外部中断引脚每个机器周期采样一次,输入高或低电平应当 保持至少1个机器周期以确保能够被正确采样到。 如果外部中断为下降沿触发,外部中断源应当将中断脚至少保持1个机器周期高电平,然后至少保持1个机器周期低电平。 这样就确保了边沿能够被检测到以使IEx置1。当调用中断服务程序后,CPU自动将IEx清0。 如果外部中断为低电平触发,外部中断源必须一直保持请求有效,直到产生所请求的中断为止,此过程需要2个系统时钟周 期。如果中断服务完成后而外部中断仍旧维持,则会产生下一次中断。当中断为电平触发时不必清除中断标志IEx(x = 1,2), 因为中断只与输入口电平有关。 当SH79F329进入空闲或是掉电模式,中断会唤醒处理器继续工作,详见电源管理章节。 注意:外部中断 1-2的中断标志位在执行中断服务程序时被自动硬件清0 。 1 Machine Cyle >1 Machine Cycle High-Level Threshold Low-Level Threshold Low-Level Threshold >2 Machine Cycle 外部中断检测 7.7.10中断汇总 中断源 向量地址 允许位 标志位 轮询优先级 Reset 0000H - - 0(最高级) AFE 0003H EAFE AFEIF 2 Timer0 000BH ET0 IBT0 3 INT1 0013H EX1 IE1 4 Timer1 001BH ET1 IBT1 5 SMBus 0023H ESMB SI, TOUT, TFREE 6 C-ADC 002BH ECADC CADCIF 7 V-ADC 0033H EVADC VADCIF 8 INT2 003BH EX2 IE2 9 SCI 0043H ESCI SCIF 10 Page 35 SH79F329 35 8.增强功能 8.1 SMBus串行通讯接口 SMBus串行总线采用两根线(SMBD和SMBC)在总线和装置之间传递信息。SH79F329完全符合SMBus总线规范,自动 对字节进行传输进行处理,并对串行通讯进行跟踪。 典型SMBus通讯如下图所示,最高支持128个不同的器件进行通讯。 SMBC Master Device 1 SMBD VDD= 3V VDD= 5V VDD= 5V VDD= 3V Slave Device 1 Slave Device 2 Master Device 2 VDD= 5V 8.1.1特性 ∎ 两线模式,简单快捷 ∎ 通讯电平不受V DD限制,且不会影响到V DD ∎ 支持主机模式(Master)和从机模式(Slave) ∎ 允许发送数据(Transmitter)和接收数据(Receiver) ∎ 支持多主机通讯的仲裁功能 ∎ 具有低电平总线超时判断(Timeout) ∎ 空闲模式下可唤醒系统 ∎ 地址可编程 8.1.2数据传输格式 数据传输格式 数据传输中数据线上每一位的传输均需要时钟线上一个脉冲。在时钟高电平时数据线应保持稳定。但发送起始条件和终止 条件时不需要遵守此规则。 和I2C通讯协议相似,SMBus定义了两个特殊的波形:起始条件和终止条件。在时钟线为高电平时数据线的下降沿定义为起 始条件;在时钟线为高电平时数据线的上升沿定义为终止条件。起始条件和终止条件均由主机发出。在发送起始条件后,定义 总线为“忙碌”状态。在终止条件或数据线和时钟线维持为高电平超过50us以后总线恢复为“空闲”。 主机可以发起和终结一次传输。当主机发送一个起始条件时开始一次传输,发送一个终止条件时结束当前传输。在起始条 件和终止条件之间,总线定义为“忙碌”状态。其它主机不应该去试图发起传输。在“忙碌”状态下,如果主机再次发送起始 条件,则定义为“重复起始条件”,表示主机希望不放弃总线的情况下开始一次新的传输。发送重复起始条件后,总线仍处于 “忙碌”状态,一直到总线出现终止条件。鉴于重复起始条件和起始条件性质完全一致,除非特别声明,本文中将采用起始条 件来代替两者。 SMBD SMBC START START STOP Repeated START STOP Page 36 SH79F329 36 所有数据包(包括地址包)均有9位组成,包括1个字节和一个应答位。主机负责发出时钟和起始及终止条件,接收者负责 给于应答信号。接收者通过在第九个时钟脉冲处将数据线拉低发出“应答”信号;或维持第九个脉冲处维持高电平表示“不应 答”信号。当接收方接收到最后一个字节,或因某种原因无法继续接收数据时,应回应“不应答”信号。SMBus采用从高到低 逐位进行传输。 一次传输通常包括一个起始条件,地址+读/写,一个或多个数据包和一个终止条件。仅包含起始条件和终止条件的数据格式 是不合通讯规则的。值得注意的是“线与”结构给主机和从机之间的握手信号提供了方便。当主机相对太快或从机需要处理其 它事务时,从机可以通过拉低时钟线来拉长时钟线的低电平时间,从而降低通讯频率。从机可以拉长时钟线低电平周期但不会 影响到时钟线高电平的周期。 Addr MSB Addr MSB R/W ACK Data MSB Data LSB ACK SMBD SMBC START SLA+R/W Data Byte STOP 1 2 7 8 9 1 2 7 8 9 时钟同步 当多个主机同时希望控制总线时,总线将依据“线与”原则决定时钟线高低电平。对于所有参与传输的主机来说,定义清 楚每一个时钟脉冲的起始是相当重要的。 时钟线电平的由高到低跳变将导致所有参与传输的器件开始低电平计时。每一个器件计时达到自己低电平要求时释放时钟 线,在时钟线变为高电平之前进入高电平等待期;当所有器件均计满低电平周期时,时钟线才变为高电平。之后所有器件开始 对高电平进行计时,第一个计满高电平周期的器件将拉低时钟线,进入下一个时钟周期。 SMBC fro m M as te r A SMBC fro m M as te r B SMBC bus L in e M as te rs S ta rt C oun tin g L ow P e rio d M as te rs S ta rt C oun tin g H ig h P e rio d TA T Alo w lo w TA T Ah ig h h ig h TB TB lo w lo w TB TB h ig h h ig h Page 37 SH79F329 37 数据仲裁 主机只有在总线处于“空闲”状态时才能开始一次传输。两个或多个主机可能在最小保持时间(t HOLD:STA )内同时发送起始 条件,从而在总线上只看到一个起始条件。 由于发送起始条件的主机无法知道是否有其它主机在竞争总线,只能靠时钟高电平时对数据线的仲裁判断哪个主机占用总 线。当有主机传输低电平时,传输高电平的主机将失去仲裁,必须放弃总线。 失去仲裁的主机将继续发送时钟,直到当前传输字节发送完毕。当两个主机同时访问一个从机时,可能会顺利通过地址阶 段,在传输数据时将继续进行仲裁。这种机制要求所有SMBus器件在进行数据传输时可以检测数据线上的真实状态。 如果该主机同时开启了从机模式,在发送地址阶段失去仲裁后应检测线上的地址是否与自己相匹配;如果是对自己的访问, 应立即切换到从机模式,接收信息。 每次传输中,仍要检测线上的“重复起始条件”,当检测到并非自己发出的“重复起始条件”时,应立即退出当前传输。 仲裁不会发生在如下情况: 1. 重复起始条件和数据 2. 终止条件和数据 3. 重复起始条件和终止条件 DATA 1 DATA 2 SMBD SMBC S Transmitter 1 loses arbitration Page 38 SH79F329 38 8.1.3功能描述 下图描述了SMBus通讯模块的详细结构。 Bit Rate Register (SMBSTA) Address Register (SMBADR) Address Comparator Status Register (SMBSTA) Status Machine and Status Control Control Register (SMBCON) START/ STOP Control Timeout/ Bus Free Detection Arbitration Detection Address/Data Shift Register (SMBDAT) ACK Bus Interface Unit Address Match Unit Control Unit Bit Rate Generator S M B C S M B D 总线接口单元 总线接口单元包括数据和地址移位寄存器(SMBDAT),开始/终止条件控制器,仲裁和总线超时检测单元。 寄存器SMBDAT存储了即将发送的数据或地址和接收到的数据和地址。 开始/终止条件控制器负责发送和检测总线上的开始条件,重复开始条件和终止条件。 如果SH79F329已经作为主机开始一次传输,仲裁单元将始终检测是否有仲裁发生。当失去仲裁时,控制单元可以进行合适 的动作,并产生相应的状态码。 SH79F329规定总线维持为高电平超过50us时为“空闲”状态。寄存器SMBCON中的TFREE会被置位(如果控制位EFREE 已置位)。 如果时钟线被从机拉低时,通讯会暂时中止;而主机也没有办法将时钟线拉高。为解决此问题,SMBus协议规定参与传输 的所有器件将时钟线低电平超过25ms时定义为“总线超时”,软件应在10ms内将SMBus模块复位,释放总线。 频率生成单元 在主机模式下,可通过寄存器SMBCON的CR[1:0]来设定通讯频率。通讯频率共有三个:16KHz,32KHz,64KHz。 地址匹配单元 地址匹配单元检验所收到的地址是否与寄存器SMBADR中的7位地址相匹配。如果通用地址使能位GC被置位,也将检测是 否与通用地址00H是否相匹配。当地址匹配时,控制单元将产生合适的动作,产生相应的状态码。 控制单元 控制单元监视SMBus总线,并依据控制寄存器SMBCON的设置进行相应的回应。当SMBus总线有需要应用层注意的事件时, SMBus中断标志被置起。标明当前事件的状态码会被写入状态寄存器SMBSTA。状态寄存器SMBSTA只表示SMBus通讯中断产 生时的通讯状态信息;其它情况下状态寄存器内是一个用于表示没有有效状态码的状态码。在中断清除之前,时钟线将维持低 电平。应用软件可在处理完任务后才允许SMBus通讯继续。 Page 39 SH79F329 39 8.1.4传输模式 SMBus通讯是以字节为基础和中断驱动的通讯总线。诸如接收到一个字节或发送一个开始条件的所有总线事件均会产生一 个中断。所以在字节传输期间,应用软件可以进行其它的操作。需注意的是,控制寄存器SMBCON中的SMBus使能位ENSMB 和中断控制寄存器IE0中的所有中断控制位EA和SMBus中断控制位ESMB,将共同决定SMBus中断标志SI被置位时是否会产生 中断。如果ESMB或EA未置位,应用软件必须对SI标志进行枚举检测才能知道是否有SMBus事件发生。 当SI位置起时,表示一次SMBus传输已完成,在等待应用软件的回应。状态寄存器SMBSTA包含了当前的状态。应用软件 可通过寄存器SMBCON和SMBSTA决定SMBus进行哪种通讯。 下面将分别介绍SMBus通讯的四种主要模式,并对所有可能的状态码进行了描述。下图中有如下缩写: S :开始条件 Rs :重复开始条件 R :读控制位 W :写控制位 A :应答位 Ā :无应答位 DATA :8位数据 P :终止条件 SLA :从机地址 圆形用于表示中断标志已被置起。其中的数字表示当前状态寄存器SMBSTA中被掩去低三位的状态码。在SI被清除之前, SMBus通讯会暂停,应用软件必须决定是继续通讯还是终止当前传输。对每一个状态码,所需要的软件动作和随后的传输细节 均有描述。 主机发送模式 主机发送模式中,一系列数据发送到从机。为进入主机发送模式,一个开始条件,随后一个从机地址+写控制字(SLA+W) 地址包表示进入主机发送模式(MT)。 通过设置控制寄存器SMBCON中的ENSMB和STA,清除STO和SI,SMBus逻辑将检测SMBus总线并在允许时发出一个开 始条件(STA)。当开始条件(STA)传输完毕,通讯中断(SI)被置起,状态寄存器(SMBSTA)为08H,中断服务程序应将 从机地址和写控制字(SLA+W)写入数据寄存器SMBDAT。在开启下一个传输前清除SI标志。 当从机地址和写控制字传输完毕并收到一个“应答”位时,中断(SI)被置起,状态寄存器SMBSTA中有几个可能的状态: 对主机模式有18H,20H和38H,对从机模式有68H,78H和B0H。 Page 40 SH79F329 40 主机发送模式状态码 状态码 SMBus总线和 硬件接口状态 应用软件响应 SMBus执行的下一个动作 读 /写数据寄存器 SMBDAT STA STO SI AA 08H 已发送开始条件 写入SLA+W X 0 0 X 发送SLA+W,接收ACK 10H 已发送重复开始条件 写入SLA+W or X 0 0 X 同上 写入SLA+R X 0 0 X 发送SLA+R,SMBus 将切换到主机接收模式 18H 已发送SLA+W; 写入数据字节or 0 0 0 X 发送数据,接收ACK 已接收ACK 无SMBDAT 动作or 1 0 0 X 发送重复开始条件 无SMBDAT 动作or 0 1 0 X 发送终止条件;清除STO 标志 无SMBDAT 动作 1 1 0 X 发送终止条件,之后发送起始条件;STO被清除 20H 已发送SLA+W; 写入数据字节or 0 0 0 X 发送数据,接收ACK 已接收非ACK 无SMBDAT 动作or 1 0 0 X 发送重复开始条件 无SMBDAT 动作or 0 1 0 X 发送终止条件;清除STO 标志 无SMBDAT 动作 1 1 0 X 发送终止条件,之后发送起始条件;STO被清除 28H 已发送SMBDAT 中数据;写入数据字节or 0 0 0 X 发送数据,接收ACK 已接收ACK 无SMBDAT 动作or 1 0 0 X 发送重复开始条件 无SMBDAT 动作or 0 1 0 X 发送终止条件;清除STO 标志 无SMBDAT 动作 1 1 0 X 发送终止条件,之后发送起始条件;STO被清除 30H 已发送SMBDAT 中数据;写入数据字节or 0 0 0 X 发送数据,接收ACK 已接收非ACK 无SMBDAT 动作or 1 0 0 X 发送重复开始条件 无SMBDAT 动作or 0 1 0 X 发送终止条件;清除STO 标志 无SMBDAT 动作 1 1 0 X 发送终止条件,之后发送起始条件;STO被清除 38H 在SLA+W 或数据传输中 丢失仲裁位 无SMBDAT 动作or 0 0 0 X SMBus 总线被释放;进入非寻址从机模式 无SMBDAT 动作 1 0 0 X 在总线空闲时发送开始条件 Page 41 SH79F329 41 S SLA+W Ack DATA Ack P S SLA+W SLA+R Nack P Nack P Ack or Nack Ack or Nack Ack Successfull transmission to a slave receiver Next transfer started with a repeated start condition Not acknowledge received after the slave address Not acknowledge received after a data byte Arbitration lost in slave address or data byte Arbitration lost and addressed as slave Other Master Continue Other Master Continue To Corresponding state in slave mode 18H 28H 20H 38H 30H 38H 68H/78H/B0H Master Transmitter Master Receiver SH79F329 Actions Other Device Actions 08H 10H 主机接收模式 主机接收模式中,从从机接收一系列数据。为进入主机接收模式,一个开始条件,随后一个从机地址+读控制字(SLA+R) 地址包表示进入主机发送模式(MR)。 通过设置控制寄存器SMBCON中的ENSMB和STA,清除STO和SI,SMBus逻辑将检测SMBus总线并在允许时发出一个开 始条件(STA)。当开始条件(STA)传输完毕,通讯中断(SI)被置起,状态寄存器(SMBSTA)为08H,中断服务程序应将 从机地址和读控制字(SLA+R)写入数据寄存器SMBDAT。在开启下一个传输前清除SI标志。 当从机地址和写控制字传输完毕并收到一个“应答”位时,中断(SI)被置起,状态寄存器SMBSTA中有几个可能的状态: 对主机模式有40H,48H和38H,对从机模式有68H,78H和B0H。 Page 42 SH79F329 42 主机接收模式状态码 S SLA+R Ack DATA Nack P S SLA+R SLA+W Nack P Ack or Nack Ack Ack Next transfer started with a repeated start condition Not acknowledge received after a data byte Arbitration lost in slave address or not acknowledged Arbitration lost and addressed as slave Other Master Continue Other Master Continue To Corresponding state in slave mode 40H 58H 48H 38H 38H 68H/78H/B0H Master Receiver Master Transmitter Ack DATA 50H SH79F329 Actions Other Device Actions Successfull reception from a slave transmitter 08H 10H 状态码 SMBus总线和 硬件接口状态 应用软件响应 SMBus执行的下一个动作 读 /写数据寄存器 SMBDAT STA STO SI AA 08H 已发送开始条件 写入SLA+R X 0 0 X 发送SLA+R,接收ACK 10H 已发送重复开始条件 写入SLA+R or X 0 0 X 同上 写入SLA+W X 0 0 X 发送SLA+W,SMBus 将切换到主机发送模式 38H 发送SLA+R 或非ACK 时 失去仲裁 无SMBDAT 动作or 0 0 0 X SMBus 总线被释放;进入非寻址从机模式 无SMBDAT 动作 1 0 0 X 在总线空闲时发送开始条件 40H 已发送SLA+R; 无SMBDAT 动作or 0 0 0 0 接收数据,返回非ACK 已接收ACK 无SMBDAT 动作 0 0 0 1 接收数据,返回ACK 48H 已发送SLA+R; 无SMBDAT 动作or 1 0 0 X 发送重复开始条件 已接收非ACK 无SMBDAT 动作or 0 1 0 X 发送终止条件;清除STO 标志 无SMBDAT 动作 1 1 0 X 发送终止条件,之后发送起始条件;STO被清除 50H 数据已接收; 读取数据or 0 0 0 0 接收数据,返回非ACK 已回应ACK 读取数据 0 0 0 1 接收数据,返回ACK 58H 数据已接收; 读取数据or 1 0 0 X 发送重复开始条件 已回应非ACK 读取数据or 0 1 0 X 发送终止条件;清除STO 标志 读取数据 1 1 0 X 发送终止条件,之后发送起始条件;STO被清除 Page 43 SH79F329 43 从机发送模式 从机发送模式中,发送一系列数据到主机。为初始化从机发送模式,必须对控制寄存器SMBCON和地址寄存器SMBADR进 行初始化:置位控制寄存器SMBCON中的ENSMB、AA,清除STA、STO和SI;地址寄存器SMBADR中高7位为SH79F329准备 相应的地址。如果GC置位,SH79F329也将响应通用地址(00H);否则将不响应通用地址。 在SMBADR和SMBCON初始化后,SH79F329将等待总线对自己地址或通用地址(如果GC被置位)的响应。如果方向标 志位是'读',则SMBus进入从机发送模式,否则将进入从机接收模式。在地址和读标志位接收完毕后,中断标志(SI)置位, 状态寄存器SMBSTA有效。 在传输中,如果将应答使能位'AA'清零,SMBus将传送最后一个字节,并依据主机接收方发送的应答或非应答位进入C0H 或C8H状态。总线将切换到非地址从机模式,不再响应主机传输。从而主机接收方将接收到一串'1'。最后一个字节发送完毕 后,如果主机仍需额外的数据(传输'应答'信号),则进入C8H状态。 从机发送模式状态码 状态码 SMBus总线和 硬件接口状态 应用软件响应 SMBus执行的下一个动作 读 /写数据寄存器 SMBDAT STA STO SI AA A8H 已收到自己SLA+R; 写入数据or X 0 0 0 发送最后数据;等待ACK 回应 已回应ACK 写入数据 X 0 0 1 发送数据;等待ACK 回应 B0H 作为主机发送SLA+R/W 时失去仲裁,收到主机 SLA+R; 写入数据or X 0 0 0 发送最后数据;等待ACK 回应 已回应ACK 写入数据 X 0 0 1 发送数据;等待ACK 回应 B8H 已发送SMBDAT 数据; 写入数据or X 0 0 0 发送最后数据;等待ACK 回应 收到ACK 回应 写入数据 X 0 0 1 发送数据;等待ACK 回应 C0H 已发送SMBDAT 数据; 收到NACK 回应 无SMBDAT 动作or 0 0 0 0 切换至非寻址从机模式;不响应自己地址和通用 address 无SMBDAT 动作or 0 0 0 1 切换至非寻址从机模式;响应自己地址,是否响应 通用地址依赖于寄存器SMBADR中GC的设置 无SMBDAT 动作or 1 0 0 0 切换至非寻址从机模式;不响应自己地址和通用 地址;总线空闲时发送'开始条件' 无SMBDAT 动作 1 0 0 1 切换至非寻址从机模式;响应自己地址,是否响 应通用地址依赖于寄存器SMBADR 中GC 的设 置;总线空闲时发送'开始条件' C8H 已发送最后一个SMBDAT 数据(AA = 0); 无SMBDAT 动作or 0 0 0 0 切换至非寻址从机模式;不响应自己地址和通用 address 收到ACK 回应 无SMBDAT 动作or 0 0 0 1 切换至非寻址从机模式;响应自己地址,是否响应 通用地址依赖于寄存器SMBADR中GC的设置 无SMBDAT 动作or 1 0 0 0 切换至非寻址从机模式;不响应自己地址和通用 地址;总线空闲时发送'开始条件' 无SMBDAT 动作 1 0 0 1 切换至非寻址从机模式;响应自己地址,是否响 应通用地址依赖于寄存器SMBADR 中GC 的设 置;总线空闲时发送'开始条件' Page 44 SH79F329 44 S SLA+R DATA Nack P or S Ack P or S Ack Reception of the own slave address and transmission of one or more data bytes Arbitration lost as master and addressed as slave transmitter Last data byte transmitted, Switched to not addressed slave (AA = 0) A8H C0H B0H DATA B8H SH79F329 Actions Other Device Actions C8H All '1' Ack Ack 从机接收模式 从机接收模式中,从主机接收一系列数据。为初始化从机接收模式,必须对控制寄存器SMBCON和地址寄存器SMBADR进 行初始化:置位控制寄存器SMBCON中的ENSMB、AA,清除STA、STO和SI;地址寄存器SMBADR中高7位为SH79F329准备 相应的地址。如果GC置位,SH79F329也将响应通用地址(00H);否则将不响应通用地址。 在SMBADR和SMBCON初始化后,SH79F329将等待总线对自己地址或通用地址(如果GC被置位)的响应。如果方向标 志位是'写',则SMBus进入从机接收模式,否则将进入从机发送模式。在地址和写标志位接收完毕后,中断标志(SI)置位, 状态寄存器SMBSTA有效。 在传输中,如果将应答使能位'AA'清零,SMBus将接收最后一个字节并回应非'应答'。回应非'应答'可以表示当前 从机无法接收更多字节。当'AA = 0'时,SH79F329无法回应对自己地址的访问;但仍然监视总线状态,并可以通过AA = 1 恢复对自己地址的响应。可以通过AA = 0暂时将SH79F329从总线隔离。 从机接收模式状态码 状态码 SMBus总线和 硬件接口状态 应用软件响应 SMBus执行的下一个动作 读 /写数据寄存器 SMBDAT STA STO SI AA 60H 已收到自己SLA+W; 无SMBDAT 动作or X 0 0 0 接收数据;发送NACK 回应 已回应ACK 无SMBDAT 动作 X 0 0 1 接收数据;发送ACK 回应 68H 作为主机发送SLA+R/W 时失去仲裁,收到主机 SLA+W; 无SMBDAT 动作or X 0 0 0 接收数据;发送NACK 回应 已回应ACK 无SMBDAT 动作 X 0 0 1 接收数据;发送ACK 回应 70H 收到主机发送通用地址; 无SMBDAT 动作or X 0 0 0 接收数据;发送NACK 回应 已回应ACK 无SMBDAT 动作 X 0 0 1 接收数据;发送ACK 回应 78H 作为主机发送SLA+R/W 时失去仲裁,收到主机发 送通用地址; 无SMBDAT 动作or X 0 0 0 接收数据;发送NACK 回应 已回应ACK 无SMBDAT 动作 X 0 0 1 接收数据;发送ACK 回应 Page 45 SH79F329 45 续上表 80H 处于已寻址状态; 已收到数据; 读取数据or X 0 0 0 接收数据;发送NACK 回应 已回应ACK 读取数据 X 0 0 1 接收数据;发送ACK 回应 88H 处于已寻址状态; 已收到数据; 已回应NACK 读取数据or 0 0 0 0 切换至非寻址从机模式;不响应自己地址和通用 address 读取数据or 0 0 0 1 切换至非寻址从机模式;响应自己地址,是否响应 通用地址依赖于寄存器SMBADR中GC的设置 读取数据or 1 0 0 0 切换至非寻址从机模式;不响应自己地址和通用 地址;总线空闲时发送'开始条件' 读取数据 1 0 0 1 切换至非寻址从机模式;响应自己地址,是否响 应通用地址依赖于寄存器SMBADR 中GC 的设 置;总线空闲时发送'开始条件' 90H 处于通用地址已寻址状态; 已收到数据; 读取数据or X 0 0 0 接收数据;发送NACK 回应 已回应ACK 读取数据 X 0 0 1 接收数据;发送ACK 回应 98H 处于通用地址已寻址状态; 已收到数据; 已回应NACK 读取数据or 0 0 0 0 切换至非寻址从机模式;不响应自己地址和通用 address 读取数据or 0 0 0 1 切换至非寻址从机模式;响应自己地址,是否响应 通用地址依赖于寄存器SMBADR中GC的设置 读取数据or 1 0 0 0 切换至非寻址从机模式;不响应自己地址和通用 地址;总线空闲时发送'开始条件' 读取数据 1 0 0 1 切换至非寻址从机模式;响应自己地址,是否响 应通用地址依赖于寄存器SMBADR 中GC 的设 置;总线空闲时发送'开始条件' A0H 作为从机时收到终止条件 或重复开始条件 无SMBDAT 动作or 0 0 0 0 切换至非寻址从机模式;不响应自己地址和通用 address 无SMBDAT 动作or 0 0 0 1 切换至非寻址从机模式;响应自己地址,是否响应 通用地址依赖于寄存器SMBADR中GC的设置 无SMBDAT 动作or 1 0 0 0 切换至非寻址从机模式;不响应自己地址和通用 地址;总线空闲时发送'开始条件' 无SMBDAT 动作 1 0 0 1 切换至非寻址从机模式;响应自己地址,是否响 应通用地址依赖于寄存器SMBADR 中GC 的设 置;总线空闲时发送'开始条件' Page 46 SH79F329 46 S SLA+W Ack DATA Ack P or S Nack P or S Ack Reception of the own slave address and one or more data bytes, All are acknowledged Arbitration lost as master and addressed as slave receiver Last data byte received is not acknowledged 80H Ack DATA 80H SH79F329 Actions Other Device Actions 88H A0H General Call Ack DATA Ack P or S Nack P or S Reception of general call address and one or more data bytes, All are acknowledged Arbitration lost as master and addressed as slave receiver by general call Last data byte received is not acknowledged 90H Ack DATA 70H 98H A0H 68H 60H 78H 90H Ack 其它模式 除上述状态码外,有两个状态码没有明确的SMBus状态。状态0F8H表示由于中断标志SI未置起,没有相应的状态信息。 when 中断SI未置起,即在清除一个状态后到一个新状态建立前均由0F8H进行填充。 状态00H表示在SMBus总线通讯中有错误发生,即传输中有非法的开始条件或终止条件发生。例如在传输地址,数据或回 应ACK应答时有起始条件或终止条件发生。当总线扰乱了内部逻辑时也会产生00H状态。当非法状态出现时,会置起中断标志位 SI。可通过置起STO并清除SI标志恢复到正常通讯,SH79F329将进入非寻址从机模式,并自动清除STO标志。数据线和时钟线 将被释放,线上无终止条件传送。 其它模式 状态码 SMBus总线和 硬件接口状态 应用软件响应 SMBus执行的下一个动作 读 /写数据寄存器 SMBDAT STA STO SI AA F8H 没有有效状态码;SI=0 No SMBDAT action No SMBCON Action 等待或处理当前传输 00H 在主机或寻址从机模式 下有非法开始条件或终 止条件发送; No SMBDAT action 0 1 0 X 只有内部硬件受影响;释放总线;切换到非寻 址从机模式;清除STO 接口导致SMBus 内部逻 辑混乱 Page 47 SH79F329 47 8.1.5寄存器 Table 8.1 SMBus控制寄存器 特别提示: TOUT , SI , TFREE均将触发SMBus中断,三者共享一个中断向量 C1H 第 7位 第 6位 第 5位 第 4位 第 3位 第 2位 第 1位 第 0位 SMBCON TOUT ENSMB STA STO SI AA TFREE EFREE 读 /写 读/写 读/写 读/写 读/写 读/写 读/写 读/写 读/写 复位值 (POR/WDT/LVR POR/WDT/LVR POR/WDT/LVR/PIN) 0 0 0 0 0 0 0 0 位编号 位符号 Description 7 TOUT 总线超时标志位 0:无超时发生 1:当SMBus总线低电平超过25ms时置位。必须由软件清除 6 ENSMB SMBus使能位 0:关闭SMBus功能 1:开启SMBus功能 5 STA 起始位 0:不会发送起始条件 1:当总线空闲时发送起始条件 4 STO 终止位 0:不会发送终止条件 1:作为主机时发送终止条件;作为从机时不向总线发送终止条件,但状态恢复 到非寻址从机状态。硬件将自动清除该标志位 3 SI SMBus串行中断标志位 0:没有SMBus串行中断发生 1:产生SMBus通讯状态中除0xF8之外的状态时置位,必须由软件清除 2 AA 声明应答标志 0:回复非'应答'信号(SMBD高电平) 1:回复'应答'信号(SMBD低电平) 1 TFREE 总线高电平超时标志位 0:无超时发生 1:参与总线传输时如时钟线超过50us高电平时置位。必须由硬件清除 0 EFREE 总线高电平超时使能位 0:禁止总线高电平超时判断 1:允许总线高电平超时判断 Page 48 SH79F329 48 Table 8.2 SMBus状态寄存器 Table 8.3 SMBus地址寄存器 Table 8.4 SMBus数据寄存器 C2H 第 7位 第 6位 第 5位 第 4位 第 3位 第 2位 第 1位 第 0位 SMBSTA SMBSTA.7 SMBSTA.6 SMBSTA.5 SMBSTA.4 SMBSTA.3 CR.1 CR.0 ETOT 读 /写 read read read read read 读/写 读/写 读/写 复位值 (POR/WDT/LVR POR/WDT/LVR POR/WDT/LVR/PIN) 0 0 0 0 0 0 0 0 位编号 位符号 Description 7-3 SMBSTA[7: SMBSTA[7:3] SMBus串行通讯状态位 参见相应的状态描述 2:1 CR[1:0] SMBus发送频率 00:16KHz 01:32KHz 10:64KHz 11:64KHz 0 ETOT 总线超时使能位 0:禁止总线超时判断 1:使能总线超时判断 C3H 第 7位 第 6位 第 5位 第 4位 第 3位 第 2位 第 1位 第 0位 SMBADR SLVA.6 SLVA.5 SLVA.4 SLVA.3 SLVA.2 SLVA.1 SLVA.0 GC 读 /写 读/写 读/写 读/写 读/写 读/写 读/写 读/写 读/写 复位值 (POR/WDT/LVR POR/WDT/LVR POR/WDT/LVR/PIN) 0 0 0 0 0 0 0 0 位编号 位符号 Description 7-1 SLVA[6:0] SMBus地址配置位 配置SH79F329作为从机时的地址 0 GC 通用地址使能位 0:禁止响应通用地址 1:允许响应通用地址 C4H 第 7位 第 6位 第 5位 第 4位 第 3位 第 2位 第 1位 第 0位 SMBDAT SMBDAT.7 SMBDAT.6 SMBDAT.5 SMBDAT.4 SMBDAT.3 SMBDAT.2 SMBDAT.1 SMBDAT.0 读 /写 读/写 读/写 读/写 读/写 读/写 读/写 读/写 读/写 复位值 (POR/WDT/LVR POR/WDT/LVR POR/WDT/LVR/PIN) 0 0 0 0 0 0 0 0 位编号 位符号 Description 7-0 SMBDAT SMBus通讯数据寄存器 Page 49 SH79F329 49 8.2模/数转换器( ADC ) 8.2.1特性 ∎ SH79F329有2个16位高精度Σ-Δ模数转换器(CADC,VADC) ∎ CADC为1路双端差分输入 ∎ VADC为2路单端输入 ∎ 提供零幅输入和满幅输入校准 ∎ CADC提供正向和反向自动累加功能 ∎ 空闲模式下ADC中断可唤醒系统(如果中断被允许) ∎ 在掉电模式下ADC处于禁用状态 8.2.2 VADC VADC为16位Σ-Δ模数转换器,基准电压V REF由AVDD产生,2个ADC通道共享1个ADC模块,但每次只能使用一个通道。 VADCEN信号控制开始转换,VADCIF提示转换结束。当转换完成后,更新VADC数据寄存器,并产生一个中断(如果VADC中 断被允许)。如果VADCEN未被清除,则自动开始下一次转换。 VADC提供了零幅和满幅输入校准。VCE = 1,VOF = 0则进行零幅输入校准;VCE = 1,VOF = 1则进行满幅输入校准。 VADC提供了通道切换控制位NCH。当切换到一个新通道或预期输入信号有大的变动时,设置此位,则VADC使用更长建立 时间,保证转换结果的有效性。 VADC提供了3个转换频率可选项32Hz,64Hz,128Hz。 VADC使用前,需设置寄存器ADCP中相应控制位。 Digital Interface 16-Bit Sigma-Delta ADC (V-ADC) AN0 AN1 16 bit Count Register Mux VADC设置顺序 1. 通过寄存器ADCP将相应IO口设为ADC应用端口 2. 选择通道0或通道1 3. 设置NCH/VCE/VOF 4. 置位VADCEN 5. 等待VADCIF置位或中断,查询转换结果 对VADC,VADC Data= (V AN0 (V AN1 ) - AGND) / (V REF+ - V REF- ) X 32768。零输入转换结果为0x0000,正满幅输入转换结果 为0x7FFF。正常情况无大于0x7FFF出现。 8.2.3 VADC寄存器 Table 8.5 ADC时钟延迟控制寄存器 VADC data 8000H C000H FFFFH 0000H 0001H 4000H 7FFFH Decimal Value - - -1 0 1 16384 32767 E6H 第 7位 第 6位 第 5位 第 4位 第 3位 第 2位 第 1位 第 0位 OPDY - - - - OPDY.3 OPDY.2 OPDY.1 OPDY.0 读 /写 - - - - 读/写 读/写 读/写 读/写 复位值 (POR/WDT/LVR POR/WDT/LVR POR/WDT/LVR/PIN) - - - - 0 0 0 0 位编号 位符号 Description 3-0 OPDY[3:0] 内部保存位,必须设置为 0 Page 50 SH79F329 50 Table 8.6 VADC引脚复用选择寄存器 Table 8.7 VADC控制寄存器 E7H 第 7位 第 6位 第 5位 第 4位 第 3位 第 2位 第 1位 第 0位 ADCP - - - - - - AN0P AN1P 读 /写 - - - - - - 读/写 读/写 复位值 (POR/WDT/LVR POR/WDT/LVR POR/WDT/LVR/PIN) - - - - - - 0 0 位编号 位符号 Description 1 AN1P P0.0功能选择控制位 0:P0.0作为普通IO应用 1:P0.0作为VADC通道1应用 0 AN0P P0.1功能选择控制位 0:P0.1作为普通IO应用 1:P0.1作为VADC通道0应用 D9H 第 7位 第 6位 第 5位 第 4位 第 3位 第 2位 第 1位 第 0位 VADCON VADCEN VADCIF SCH VOF VCE VCR1 VCR0 NCH 读 /写 读/写 读/写 读/写 读/写 读/写 读/写 读/写 读/写 复位值 (POR/WDT/LVR POR/WDT/LVR POR/WDT/LVR/PIN) 0 0 0 0 0 0 0 0 位编号 位符号 Description 7 VADCEN VADC控制位 0:关闭ADC模块 1:打开ADC模块 6 VADCIF VADC中断标志 0:无ADC中断,由软件清除 1:由硬件置1,表示已完成AD转换 5 SCH 通道选择位 0:对通道0转换 1:对通道1转换 4 VOF 校准功能选择位 0:零幅输入校准 1:满幅输入校准 3 VCE 校准功能使能位 0:关闭校准功能 1:开启校准功能 2-1 VCR[1:0] VADC转换频率选择 00:32Hz 01:64Hz 10:128Hz 11:128Hz 0 NCH 通道切换控制位 0:无通道切换 1:有通道切换动作,VADC需4个转换周期完成转换 Page 51 SH79F329 51 Table 8.8 VADC转换结果寄存器 Table 8.9 VADC零幅校准结果寄存器 Table 8.10 VADC满幅校准寄存器 DAH , DBH 第 7位 第 6位 第 5位 第 4位 第 3位 第 2位 第 1位 第 0位 VADC1 (DAH) VADC.15 VADC.14 VADC.13 VADC.12 VADC.11 VADC.10 VADC.9 VADC.8 VADC0 (DBH) VADC.7 VADC.6 VADC.5 VADC.4 VADC.3 VADC.2 VADC.1 VADC.0 读 /写 read read read read read read read read 复位值 (POR/WDT/LVR POR/WDT/LVR POR/WDT/LVR/PIN) 0 0 0 0 0 0 0 0 位编号 位符号 Description 7-0 7-0 VADC[15:0] 当转换完成后,数据更新为模拟电压对应的数字值 CDH , CEH 第 7位 第 6位 第 5位 第 4位 第 3位 第 2位 第 1位 第 0位 V0OR1 (CDH) V0OR.15 V0OR.14 V0OR.13 V0OR.12 V0OR.11 V0OR.10 V0OR.9 V0OR.8 V0OR0 (CEH) V0OR.7 V0OR.6 V0OR.5 V0OR.4 V0OR.3 V0OR.2 V0OR.1 V0OR.0 读 /写 读/写 读/写 读/写 读/写 读/写 读/写 读/写 读/写 复位值 (POR/WDT/LVR POR/WDT/LVR POR/WDT/LVR/PIN) 0 0 0 0 0 0 0 0 位编号 位符号 Description 7-0 7-0 V0OR[15:0] 当转换完成后,数据更新为模拟电压对应的数字值 CFH , D7H 第 7位 第 6位 第 5位 第 4位 第 3位 第 2位 第 1位 第 0位 V0FSR1 (CFH) V0FSR.15 V0FSR.14 V0FSR.13 V0FSR.12 V0FSR.11 V0FSR.10 V0FSR.9 V0FSR.8 V0FSR0 (D7H) V0FSR.7 V0FSR.6 V0FSR.5 V0FSR.4 V0FSR.3 V0FSR.2 V0FSR.1 V0FSR.0 读 /写 读/写 读/写 读/写 读/写 读/写 读/写 读/写 读/写 复位值 (POR/WDT/LVR POR/WDT/LVR POR/WDT/LVR/PIN) 0 0 0 0 0 0 0 0 位编号 位符号 Description 7-0 7-0 V0FSR[15:0] 当转换完成后,数据更新为模拟电压对应的数字值 Page 52 SH79F329 52 8.2.4 CADC CADC为16位Σ-Δ模数转换器,基准电压V REF时VADC的1/4,采用差分输入。CADCEN信号控制开始转换,CADCIF提示转 换结束。当转换完成后,更新VADC数据寄存器,并产生一个中断(如果CADC中断被允许)。如果MODE被置位,则CADCEN 不会被清除,自动开始下一次转换;如果MODE被清零,则CADCEN被清除,不会开始下一次转换。 CADC提供了零幅和满幅输入校准。CCE = 1,COF = 0则进行零幅输入校准;CCE = 1,COF = 1则进行满幅输入校准。 CADC提供了3个转换频率可选项4Hz,8Hz,16Hz,32Hz。 当V RS1 > V RS2时转换结果减去Offset后加至正向累加器;当V RS1 <V RS2时,转换结果减去Offset后加至负向累加器。 16-Bit Integrating Sigma-Delta ADC (C-ADC) RS1 RS2 PGA 16 bit Count Register 20Bit Up Register 20Bit Down Register Digital Interface CADC设置顺序 1. 设置MODE/CCE/COF 2. 置位CADCEN 3. 等待CADCIF置位或中断,查询转换结果 对CADC,CADC Data= (V RS1 -V RS2 ) / (V REF+ - V REF- ) X 32768。零输入转换结果为0x0000,正满幅输入转换结果为0x7FFF, 负满幅输入转换结果为0x8000。 CADC data 8000H C000H FFFFH 0000H 0001H 4000H 7FFFH Decimal Value -32768 -16384 -1 0 1 16384 32767 Page 53 SH79F329 53 8.2.5 CADC寄存器 Table 8.11 CADC控制寄存器 Table 8.12 CADC转换结果寄存器 DCH 第 7位 第 6位 第 5位 第 4位 第 3位 第 2位 第 1位 第 0位 CADCON CADCEN CADCIF MODE - COF CCE CCR1 CCR0 读 /写 读/写 读/写 读/写 - 读/写 读/写 读/写 读/写 复位值 (POR/WDT/LVR POR/WDT/LVR POR/WDT/LVR/PIN) 0 0 0 - 0 0 0 0 位编号 位符号 Description 7 CADCEN CADC控制位 0:关闭CADC模块 1:打开CADC模块 6 CADCIF CADC中断标志 0:无CADC中断,由软件清除 1:由硬件置1,表示已完成AD转换 5 MODE 转换模式选择位 0:进行单次转换,转换结束后清零CADCEN 1:进行多次转换,转换结束后不清零CADCEN,开始下次转换 3 COF 校准功能选择位 0:零幅输入校准 1:满幅输入校准 2 CCE 校准功能使能位 0:关闭校准功能 1:开启校准功能 1-0 CCR[1:0] CADC转换频率选择 00:4Hz 01:8Hz 10:16Hz 11:32Hz DDH , DEH 第 7位 第 6位 第 5位 第 4位 第 3位 第 2位 第 1位 第 0位 CADC1 (DDH) CADC.15 CADC.14 CADC.13 CADC.12 CADC.11 CADC.10 CADC.9 CADC.8 CADC0 (DEH) CADC.7 CADC.6 CADC.5 CADC.4 CADC.3 CADC.2 CADC.1 CADC.0 读 /写 read read read read read read read read 复位值 (POR/WDT/LVR POR/WDT/LVR POR/WDT/LVR/PIN) 0 0 0 0 0 0 0 0 位编号 位符号 Description 7-0 7-0 CADC[15:0] 当转换完成后,数据更新为模拟电压对应的数字值 Page 54 SH79F329 54 Table 8.13 CADC零幅校准结果寄存器 Table 8.14 CADC满幅校准寄存器 Table 8.15 CADC正向累加寄存器 Table 8.16 CADC负向累加寄存器 BCH , BDH 第 7位 第 6位 第 5位 第 4位 第 3位 第 2位 第 1位 第 0位 COR1 (BCH) COR.15 COR.14 COR.13 COR.12 COR.11 COR.10 COR.9 COR.8 COR0 (BDH) COR.7 COR.6 COR.5 COR.4 COR.3 COR.2 COR.1 COR.0 读 /写 读/写 读/写 读/写 读/写 读/写 读/写 读/写 读/写 复位值 (POR/WDT/LVR POR/WDT/LVR POR/WDT/LVR/PIN) 0 0 0 0 0 0 0 0 位编号 位符号 Description 7-0 7-0 COR[15:0] 当转换完成后,数据更新为模拟电压对应的数字值 BEH , BFH 第 7位 第 6位 第 5位 第 4位 第 3位 第 2位 第 1位 第 0位 CFSR1 (BEH) CFSR.15 CFSR.14 CFSR.13 CFSR.12 CFSR.11 CFSR.10 CFSR.9 CFSR.8 CFSR0 (BFH) CFSR.7 CFSR.6 CFSR.5 CFSR.4 CFSR.3 CFSR.2 CFSR.1 CFSR.0 读 /写 读/写 读/写 读/写 读/写 读/写 读/写 读/写 读/写 复位值 (POR/WDT/LVR POR/WDT/LVR POR/WDT/LVR/PIN) 0 0 0 0 0 0 0 0 位编号 位符号 Description 7-0 7-0 CFSR[15:0] 当转换完成后,数据更新为模拟电压对应的数字值 D1H , D2H , D3H 第 7位 第 6位 第 5位 第 4位 第 3位 第 2位 第 1位 第 0位 UAD2 (D1H) - - - - UAD.19 UAD.18 UAD.17 UAD.16 UAD1 (D2H) UAD.15 UAD.14 UAD.13 UAD.12 UAD.11 UAD.10 UAD.9 UAD.8 UAD0 (D3H) UAD.7 UAD.6 UAD.5 UAD.4 UAD.3 UAD.2 UAD.1 UAD.0 读 /写 读/写 读/写 读/写 读/写 读/写 读/写 读/写 读/写 复位值 (POR/WDT/LVR POR/WDT/LVR POR/WDT/LVR/PIN) 0 0 0 0 0 0 0 0 位编号 位符号 Description 3-0 7-0 7-0 UAD[19:0] 当转换为正时,进行数据累加 D4H , D5H , D6H 第 7位 第 6位 第 5位 第 4位 第 3位 第 2位 第 1位 第 0位 DAD2 (D4H) - - - - DAD.19 DAD.18 DAD.17 DAD.16 DAD1 (D5H) DAD.15 DAD.14 DAD.13 DAD.12 DAD.11 DAD.10 DAD.9 DAD.8 DAD0 (D6H) DAD.7 DAD.6 DAD.5 DAD.4 DAD.3 DAD.2 DAD.1 DAD.0 读 /写 读/写 读/写 读/写 读/写 读/写 读/写 读/写 读/写 复位值 (POR/WDT/LVR POR/WDT/LVR POR/WDT/LVR/PIN) 0 0 0 0 0 0 0 0 位编号 位符号 Description 3-0 7-0 7-0 DAD[19:0] 当转换为负时,进行数据累加 Page 55 SH79F329 55 8.2.6程序示例 VADC测量Offset VADC测量Fullscale Vadc_Offset_Proc() VADCON = 89H VADCIF==1? VADCON =00H Y N. Return (V0OR1,V0OR0) 选择通道0 选择Offset 采样频率32Hz 置位NCH 等待VADC中断 关闭VADC 返回Offset Vadc_Fullscale_Proc() VADCON = 99H VADCIF==1? VADCON =00H Y N. Return (V0FSR1,V0FSR0) 选择通道0 选择Fullscale 采样频率32Hz 置位NCH 等待VADC中断 关闭VADC 返回Fullscale VADC测量AN0输入电压 VADC测量AN1输入电压 Vadc_AN0_Proc() VADCON = 87H VADCIF==1? VADCON =00H Y N. Return (VADC1,VADC0) 选择通道0 采样频率 128Hz 置位NCH 等待VADC中断 关闭VADC 返回AN0 ADCP = 02H Delay() 设置P0.1为ADC输入 等待信号稳定 Vadc_AN1_Proc() VADCON = A7H VADCIF==1? VADCON =00H Y N. Return (VADC1,VADC0) 选择通道1 采样频率 128Hz 置位NCH 等待VADC中断 关闭VADC 返回AN1 ADCP = 01H Delay() 设置P0.0为ADC输入 等待信号稳定 Page 56 SH79F329 56 CADC测量Offset CADC测量Fullscale Cadc_Offset_Proc() CADCON = 84H CADCIF==1? CADCON =00H Y N. Return (COR1,COR0) 选择Offset校准 采样频率4Hz 采用单次转换 清除MODE 等待CADC中断 关闭CADC 返回Offset Cadc_Fullscale_Proc() CADCON = 8CH CADCIF==1? CADCON =00H Y N. Return (CFSR1,CFSR0) 选择Fullscale校准 采样频率4Hz 采用单次转换 清除MODE 等待CADC中断 关闭CADC 返回Fullscale CADC测量单次输入电压 CADC测量10次输入电压 Cadc_Single_Proc() CADCON = 82H CADCIF==1? CADCON =00H Y N. Return (CADC1,CADC0) 采样频率16Hz 采用单次转换 清除MODE 等待CADC中断 关闭CADC 返回CADC值 Cadc_Multi_Proc() CADCON = A2H CADCIF==1? CADCON &=BFH count = count +1 保存CADC结果 Y N. Return () 采样频率16Hz 采用单次转换 清除MODE 等待CADC中断 关闭CADC 设置计数器 count=0 Count <10? CADCON =00H N. Y 清除CADC中断 累计中断次数 保存现有CADC结 果 累计次数是否 达到10 Page 57 SH79F329 57 8.3 AFE通讯( SCI ) 8.3.1特性 ∎ 提供和模拟前端(AFE)通讯接口 ∎可检测AFE工作状态 8.3.2 AFE通讯( SCI )协议 SCI接口控制并监控与模拟前端的通讯,SCI通讯由地址,数据,应答三部分组成。SCIADR设置需要通讯的AFE子地址和 读写类型,SCIEN开始传输,SCIF提示传输结束。SCISTA保存通讯的状态。 与AFE的通讯必须依照如下步骤进行: 1. 对寄存器P0OS中SDAP和CLKP进行置位 2. 对SCIADR设置AFE子地址及读/写操作 3. 如是写动作,则填入相应内容到SCIDAT 4. 如是写动作,则设置是否进行自动读 5. 使能SCI功能,开始传输 6. 等待SCIF置位 7. 查看SCISTA状态是否为0,如是则传输正确,否则传输错误 8. 如是读动作,读取SCIDAT内容 注意: 1.写操作时请确认读取结果与原写入数据一致,否则请重新写入 2.读操作时建议连续读取三次,采用三选二的方式确定读取值 3.请在SCIF置位32us以内读取SCIDAT内容 4.在执行读取-修改-写入动作时,请在读取SCIDAT后保存在RAM中,对RAM内容做修改后再写入SCIDAT ,不要用SCIDAT 寄存器做读取 -修改-写入的动作。 8.3.3 AFE通讯示例 读取 AFE状态寄存器(子寄存器00H ) ReadReg(addr) CLKP=1 SDAP=1 addr= addr<<1 SCIADR=addr +1 SCICON=80H SCIF==1? 对t_dat[ ]进行3选2,将结 果保存为全局变量 t_scidat SCISTA==0? Error Code Y Y N. N. N. Return (error code) 使能AFE接口 设置通讯地址 设置通讯地址及动作 使能AFE通讯 等待AFE中断 读取数据 通讯正常? Error handling 累计次数少于3次? 保存读取结果在临时变量组 t_dat[]中, 累计读取次数 Y Page 58 SH79F329 58 写 AFE功能控制寄存器(子寄存器02H ) WriteReg (addr,data) CLKP=1 SDAP=1 addr= addr<<1 SCICON=88H SCIF==1? 读取SCIDAT到t_dat中, 写操作次数累加 SCISTA==0? Error Code Y N. Y N. 使能AFE通讯接口 设置AFE通讯地址 使能AFE通讯, 开启自动读取功能 等待AFE中断 读取数据 通讯正常? Error handling t_dat与写入数据一致? Y Return (error code) SCIADR=addr SCIDAT=data 写次数超过5次? N. Y N. Error Code Error handling 写数据正常? Page 59 SH79F329 59 8.3.4 SCI寄存器 Table 8.17 SCI控制寄存器 Table 8.18 SCI地址寄存器 Table 8.19 SCI数据寄存器 C5H 第 7位 第 6位 第 5位 第 4位 第 3位 第 2位 第 1位 第 0位 SCICON SCIEN SCIF - - SCIRW SCISTA.2 SCISTA.1 SCISTA.0 读 /写 读/写 读/写 - - 读/写 读/写 读/写 读/写 复位值 (POR/WDT/LVR/PIN) 0 0 - - 0 0 0 0 位编号 位符号 Description 7 SCIEN SCI控制位 0:关闭SCI模块 1:打开SCI模块 6 SCIF SCI中断标志 0:无SCI中断,由软件清除 1:由硬件置1,表示已完成传输 3 SCIRW 自动读控制位 0:正常的读/写操作 1:写动作完成后自动执行读动作,之后产生中断 2-0 SCISTA[2:0] 传输状态位 000:传输正确 Else:传输失败 C6H 第 7位 第 6位 第 5位 第 4位 第 3位 第 2位 第 1位 第 0位 SCIADR - - - - SCIA.2 SCIA.1 SCIA.0 Read/Write 读 /写 - - - - 读/写 读/写 读/写 读/写 复位值 (POR/WDT/LVR/PIN) - - - - 0 0 0 0 位编号 位符号 Description 3-1 SCIA[2:0] AFE子地址 0 Read/Write 读写控制位 0:执行写操作 1:执行读操作 C7H 第 7位 第 6位 第 5位 第 4位 第 3位 第 2位 第 1位 第 0位 SCIDAT SCID7 SCID6 SCID5 SCID4 SCID3 SCID2 SCID1 SCID0 读 /写 读/写 读/写 读/写 读/写 读/写 读/写 读/写 读/写 复位值 (POR/WDT/LVR/PIN) 0 0 0 0 0 0 0 0 位编号 位符号 Description 7-0 SCID[7:0] AFE数据寄存器 Page 60 SH79F329 60 8.4定时器 8.4.1特性 ∎ SH79F329 有2 个定时器(定时器0,1) ∎ 8 种时钟分频方式 ∎ 8 位累加定时器 ∎ 从0FFH 到00H 时溢出,产生中断 ∎ 具有自动重载功能 8.4.2定时器操作 缺省情况下,定时器处于复位状态。通过对寄存器BTCON中的ENBTx写'1'开启定时器。计数过程中如果BTx有更新, 则计数器重新读取BTx,并从此数开始计数。当BT0/BT1计数到达00H时产生中断(如果定时器中断被允许)。定时器BT0/BT1 将自动重载,重新从BT0/BT1开始计数。IEN0寄存器的ET0和ET1位置1能允许定时器0和定时器1中断。(详见中断章节)。 定时器0和定时器1应该按照如下顺序进行操作: 1. 通过BT0/BT1设置起始计数值 2. 选择分频系数BTxM[2:0] 3. 使能ENBTx 8.4.3定时器寄存器 Table 8.20定时器x控制寄存器(x = 0,1) Table 8.21定时器/计数器x方式寄存器(x = 0,1) A2H 第 7位 第 6位 第 5位 第 4位 第 3位 第 2位 第 1位 第 0位 BTCON ENBT1 BT1M.2 BT1M.1 BT1M.0 ENBT0 BT0M.2 BT0M.1 BT0M.0 读 /写 读/写 读/写 读/写 读/写 读/写 读/写 读/写 读/写 复位值 (POR/WDT/LVR/PIN) 0 0 0 0 0 0 0 0 位编号 位符号 Description 7, 3 ENBTx x = 0, 1 定时器 x启动,停止控制位 0:停止定时器x 1:启动定时器x 6-4, 2-0 BTxM x = 0, 1 定时器 x分频系数控制位 000:f SYS /2 0 001:f SYS /2 1 010:f SYS /2 2 011:f SYS /2 3 100:f SYS /2 4 101:f SYS /2 6 110:f SYS /2 8 111:f SYS /2 10 A4H,A3H 第 7位 第 6位 第 5位 第 4位 第 3位 第 2位 第 1位 第 0位 BT0 BT0.7 BT0.6 BT0.5 BT0.4 BT0.3 BT0.2 BT0.1 BT0.0 BT1 BT1.7 BT1.6 BT1.5 BT1.4 BT1.3 BT1.2 BT1.1 BT1.0 读 /写 读/写 读/写 读/写 读/写 读/写 读/写 读/写 读/写 复位值 (POR/WDT/LVR/PIN) 0 0 0 0 0 0 0 0 位编号 位符号 Description 7-0 BTx[7:0] x = 0, 1 定时器初始值 Page 61 SH79F329 61 8.5低电压复位(LVR) 8.5.1特性 ∎ LVR 电压V LVR为2.3V ∎ LVR 去抖动时间T LVR为30-60µs ∎ 当供电电压低于设定电压V LVR时,将产生内部复位 低电压复位(LVR)功能是为了监测供电电压,当供电电压低于设定电压V LVR时,MCU将产生内部复位。LVR去抖动时间T LVR 大约为30µs-60µs。 LVR功能打开后,具有以下特性(t表示电压低于设定电压V LVR的时间): 当V DD ≤ V LVR且t ≥ T LVR 时产生系统复位。 当V DD > V LVR或V DD < V LVR ,但t < T LVR 时不会产生系统复位。 通过代码选项,可以选择LVR功能的打开与关闭。 在交流电或大容量电池应用中,接通大负载后容易导致MCU供电暂时低于定义的工作电压。低电压复位可以应用于此,保 护系统在低于设定电压下产生有效复位。 Page 62 SH79F329 62 8.6看门狗定时器( WDT )及复位状态 8.6.1特性 ∎ 看门狗可以工作在掉电模式下(通过代码选项设置) ∎ 看门狗溢出频率可选 看门狗定时器是一个递减计数器,32KHz内部振荡器作为其时钟源,通过代码选项,可以设置WDT在掉电模式下仍会持续 运行。当定时器溢出时,将芯片复位。通过代码选项可以打开或关闭WDT功能。 WDT控制位(第2 - 0位)用来选择不同的溢出时间。定时器溢出后,WDT溢出标志(WDOF)将由硬件自动置1。通过读 写 RSTSTAT寄存器,看门狗定时器在溢出前重新开始计数。 其它一些复位标志列举如下: 8.6.2寄存器 Table 8.22 RSTSTAT控制寄存器 B1H 第 7位 第 6位 第 5位 第 4位 第 3位 第 2位 第 1位 第 0位 RSTSTAT WDOF - PORF LVRF CLRF WDT.2 WDT.1 WDT.0 读 /写 读/写 - 读/写 读/写 读/写 读/写 读/写 读/写 复位值 (POR) 0 - 1 0 0 0 0 0 复位值 (WDT) 1 - u u u 0 0 0 复位值 (LVR) u - u 1 u 0 0 0 复位值 (PIN) u - u u 1 0 0 0 位编号 位符号 Description 7 WDOF 看门狗溢出标志位 溢出时由硬件置1,可由软件或上电复位清0 0:未发生WDT溢出 1:发生WDT溢出 5 PORF 上电复位标志位 上电复位后硬件置1,只能由软件清0 0:没有发生上电复位 1:发生过上电复位 4 LVRF 低压复位标志位 低压复位后置1,可由软件或上电复位清0 0:没有发生低压复位 1:发生过低压复位 3 CLRF Reset引脚复位标志位 引脚复位后置1,由软件或上电复位清0 0:没有发生引脚复位 1:发生过引脚复位 2-0 WDT[2:0] WDT溢出周期控制位 000:WDT RC Clock/2 17 (典型值. = 4096ms) 001:WDT RC Clock/2 15 (典型值= 1024ms) 010:WDT RC Clock/2 13 (典型值= 256ms) 011:WDT RC Clock/2 12 (典型值= 128ms) 100:WDT RC Clock/2 11 (典型值= 64ms) 101:WDT RC Clock/2 9 (典型值= 16ms) 110:WDT RC Clock/2 7 (典型值= 4ms) 111:WDT RC Clock/2 5 (典型值= 1ms) Page 63 SH79F329 63 8.7电源管理 8.7.1特性 ∎ 空闲模式和掉电模式两种省电模式 ∎ 发生中断和复位可退出空闲(Idle)、掉电(Power-Down)模式 为减少功耗,SH79F329提供两种低功耗省电模式:空闲(Idle)模式和掉电(Power-Down)模式,这两种模式都由PCON 和SUSLO两个寄存器控制。 8.7.2空闲模式( Idle ) 空闲模式能够降低系统功耗,在此模式下,程序中止运行,CPU时钟停止,但外部设备时钟继续运行。空闲模式下,CPU 在确定的状态下停止,并在进入空闲模式前所有CPU的状态都被保存,如PC,PSW,SFR,RAM等。 两条连续指令:先设置SUSLO寄存器为55H,随即将PCON寄存器中的IDL位置1,使SH79F329进入空闲模式。如果不满 足上述的两条连续指令,CPU在下一个机器周期清除SUSLO寄存器或IDL位,CPU也不会进入空闲模式。 IDL位置1是CPU进入空闲模式之前执行的最后一条指令。 两种方式可以退出空闲模式: (1) 中断产生。在预热定时结束后,恢复CPU时钟,硬件清除SUSLO寄存器和PCON寄存器的IDL位。然后执行中断服务程 序,随后跳转到进入空闲模式指令之后的指令。 (2) 复位信号产生后(复位引脚上出现低电平,WDT复位,LVR复位)。在预热定时结束后,CPU恢复时钟,SUSLO寄存 器和在PCON寄存器中的IDL位被硬件清除,最后SH79F329复位,程序从地址位0000H开始执行。此时,RAM保持不变而SFR 的值根据不同功能模块改变。 8.7.3掉电模式( Power-Down ) 掉电模式可以使SH79F329进入功耗非常低的状态。掉电模式将停止CPU和外围设备的所有时钟信号。如果WDT使能,WDT 模块将继续工作。在进入掉电模式前所有CPU的状态都被保存,如PC,PSW,SFR,RAM等。 两条连续指令:先设置SUSLO寄存器为55H,随即将PCON寄存器中的PD位置1,使SH79F329进入掉电模式。如果不满足 上述的两条连续指令CPU在下一个机器周期清除SUSLO寄存器或的PD位,CPU也不会进入掉电模式。 PD位置1是CPU进入掉电模式之前执行的最后一条指令。 注意:如果同时设置 IDL位和PD位, SH79F329进入掉电模式。退出掉电模式后, CPU也不会进入空闲模式,从掉电模式退 出后硬件清 0 IDL及PD位。 有两种方式可以退出掉电模式: (1) 有效外部中断(如INT1、INT2)使SH79F329退出掉电模式。在中断发生后振荡器启动,在预热计时结束之后CPU时钟 和外部设备时钟恢复,SUSLO寄存器和PCON寄存器中的PD位会被硬件清除,然后程序运行中断服务程序。在完成中断服务程 序之后,跳转到进入掉电模式之后的指令继续运行。 (2) 复位信号(复位引脚上出现低电平,WDT复位如果被允许,LVR复位如果被允许)。在预热计时之后会恢复CPU时钟, SUSLO寄存器和PCON寄存器中的PD位会被硬件清除,最后SH79F329会被复位,程序会从0000H地址位开始运行。RAM将保 持不变,而根据不同功能模块SFR的值可能改变。 注意:如要进入这两种低功耗模式,必须在置位 PCON中的IDL/PD位后增加3个空操作指令( NOP )。 Page 64 SH79F329 64 8.7.4寄存器 Table 8.23电源控制寄存器 Table 8.24省电模式控制寄存器 程序举例 : 87H 第 7位 第 6位 第 5位 第 4位 第 3位 第 2位 第 1位 第 0位 PCON - - - - GF1 GF0 PD IDL 读 /写 - - - - 读/写 读/写 读/写 读/写 复位值 (POR/WDT/LVR POR/WDT/LVR POR/WDT/LVR/PIN) - - - - 0 0 0 0 位编号 位符号 Description 3-2 GF[1:0] 用于软件的通用标志 1 PD 掉电模式控制位 0:当一个中断或复位产生时由硬件清0 1:由软件设置进入掉电模式 0 IDL 空闲模式控制位 0:当一个中断或复位产生时由硬件清0 1:由软件设置进入空闲模式 8EH 第 7位 第 6位 第 5位 第 4位 第 3位 第 2位 第 1位 第 0位 SUSLO SUSLO.7 SUSLO.6 SUSLO.5 SUSLO.4 SUSLO.3 SUSLO.2 SUSLO.1 SUSLO.0 读 /写 读/写 读/写 读/写 读/写 读/写 读/写 读/写 读/写 复位值 (POR/WDT/LVR POR/WDT/LVR POR/WDT/LVR/PIN) 0 0 0 0 0 0 0 0 位编号 位符号 Description 7-0 SUSLO[7:0] 此寄存器用来控制CPU进入省电模式(空闲或掉电)。只有像下面的连续指令才能 使CPU进入省电模式,否则在下个周期中SUSLO,IDL或PD位将被硬件清0。 IDLE_MODE: MOV SUSLO, #55H ORL PCON, #01H NOP NOP NOP POWERDOWN_MODE: MOV SUSLO, #55H ORL PCON, #02H NOP NOP NOP Page 65 SH79F329 65 8.8预热计数器 8.8.1特性 ∎ 内建电源预热计数器消除电源的上电的不稳定状态 ∎ 内建振荡器预热计数器消除振荡器起振时的不稳定状态 SH79F329内建有电源上电预热计数器,主要是用来消除上电电压建立时的不稳定态,同时完成内部一些初始化序列,如读 取内部客户代码选项等。 SH79F329内建振荡器预热计数器,它能消除振荡器在下列情况下起振时的不稳定状态:上电复位,引脚复位,从低功耗模 式中唤醒,看门狗复位和LVR复位。 上电后,SH79F329会先经过电源上电预热计数过程,等待溢出后再进行振荡器的预热计数过程过程,溢出后开始运行程序。 电源上电预热计数时间 振荡器上电预热计数时间 上电复位 / 引脚复位 /低电压复位 看门狗复位(非掉电模式下) 掉电模式下中断唤醒 看门狗复位(掉电模式下) 电源上电 预热计数时间 振荡器上电 预热计数时间 电源上电 预热计数时间 振荡器上电 预热计数时间 电源上电 预热计数时间 振荡器上电 预热计数时间 电源上电 预热计数时间 振荡器上电 预热计数时间 11ms Have 0.5ms no 0.008ms Have 0.5ms Have 振荡器类型 status 预热计数时间 32.768kHzRC 上电复位 /引脚复位/低电压复位 2 7 XT OSC 32.768kHzRC 掉电模式下中断唤醒 2 7 XT OSC 32.768kHzRC 看门狗复位(掉电模式下) 2 7 XT OSC Page 66 SH79F329 66 8.9代码选项 OP_EWDT[2] : 0:掉电模式(Power-down)下看门狗(WDT)无效(默认) 1:掉电模式(Power-down)下看门狗(WDT)依然有效 OP_LVREN[1] : 0:禁止低电压复位(LVR)功能(默认) 1:允许低电压复位(LVR)功能 OP_WDT[0] : 0:禁止看门狗(WDT)功能(默认) 1:允许看门狗(WDT)功能 Page 67 SH79F329 67 9.模拟前端( AFE ) 9.1特性 ∎ 25mA,3V 输出LDO ∎ 2 个高压输出端口,1 个开漏结构高压输出端口 ∎ 4 路差分电压转换,4 个内部导通电路 ∎ 3 个差分比较器 ∎ AFE 内部空闲和掉电模式 9.2电源稳压器LDO SH79F329内置3V,25mA电源稳压器LDO。VPACK电压大于5V时启动LDO;VCC大于2.5V时进入正常工作模式,采用BAT 和VPACK双端供电;VCC小于2.1V或对AFE内部寄存器输出控制寄存器(01H)的PD位写1可关闭LDO(如果VPACK电压小于 5V)。 LDO VCC VPACK BAT wake LDO when VPACK>5V 9.3 AFE数字输出端口 AFE共5个数字输出端口:CHG,DSG,OD,TEMP,RSTB。CHG,DSG,OD为高压输出端口。TEMP,RSTB为低压 输出端口。 CHG,DSG,OD,TEMP均受AFE输出寄存器控制位,AFE状态寄存器共同控制。AFE状态寄存器非0,或AFE输出控制 寄存器中AIDL或APD为1时,CHG,DSG,OD输出高电平,TEMP输出低电平。作为普通高压输出端口使用需关闭4个状态检 测,并清除AIDL和APD。 引脚序号名称 输出' 0 ' 输出' 1 ' Remarks 10 CHG AFE状态寄存器(00H)为0且 AFE输出控制寄存器CHG(位2)=1且 AFE输出控制寄存器APD(位5)=0且 AFE输出控制寄存器AIDL(位4)=0 任一左述条件不成立 高电平取决于VPACK 11 DSG AFE状态寄存器(00H)为0且 AFE输出控制寄存器DSG(位1)=1且 AFE输出控制寄存器APD(位5)=0且 AFE输出控制寄存器AIDL(位4)=0 任一左述条件不成立 高电平取决于BAT 9 OD AFE状态寄存器(00H)为0且 AFE输出控制寄存器OD(位3)=1且 AFE输出控制寄存器APD(位5)=0且 AFE输出控制寄存器AIDL(位4)=0 任一左述条件不成立 输出高电平需上拉电阻, 高电平不高于VPACK 48 TEMP 任一右述条件不成立 AFE状态寄存器(00H)中WDF=0且 AFE功能控制寄存器TEMP(位5)=1且 AFE输出控制寄存器APD(位5)=0且 AFE输出控制寄存器AIDL(位4)=0 输出低电平需下拉电阻, 低电平不低于GND 20 RSTB LDO未开启或已关闭 LDO输出正常 Page 68 SH79F329 68 示例: PIN CHG = 0 , PIN DSG = 0 , PIN OD = 0 Start ReadReg(02H) t_scidat= t_scidat|1CH WriteReg (02H, t_scidat) return ReadReg(01H) t_scidat= t_scidat|40H WriteReg (01H, t_scidat) ClrStatus() t_scidat= t_scidat&0CFH ReadReg(01H) t_scidat= t_scidat|0EH WriteReg (01H, t_scidat) 读寄存器02H 清除XOL, XSCC,XSCD 写寄存器02H 读寄存器01H 清除WDDIS 清除AIDL,APD 写寄存器01H 清除Status 读寄存器01H 设置CHG, DSG,OD 写寄存器01H 示例: PIN CHG = 1 , PIN DSG = 0 , PIN OD = 1 Start ReadReg(02H) t_scidat= t_scidat|1CH WriteReg (02H, t_scidat) return ReadReg(01H) t_scidat = t_scidat|40H WriteReg (01H, t_scidat) ClrStatus() t_scidat= t_scidat&0CFH ReadReg(01H) t_scidat= t_scidat|02H WriteReg (01H, t_scidat) t_scidat= t_scidat&0F3H 读寄存器02H 清除XOL, XSCC,XSCD 写寄存器02H 读寄存器01H 清除WDDIS 清除AIDL,APD 写寄存器01H 清除Status 读寄存器01H 置位DSG 清除CHG,OD 写寄存器01H 示例: PIN TEMP = 3V Start ReadReg(02H) t_scidat= t_scidat|1CH WriteReg (02H, t_scidat) return ReadReg(01H) t_scidat = t_scidat|40H WriteReg (01H, t_scidat) ClrStatus() t_scidat = t_scidat&0CFH ReadReg(02H) t_scidat = t_scidat|40H WriteReg (02H, t_scidat) 读寄存器02H 清除XOL, XSCC,XSCD 写寄存器02H 读寄存器01H 清除WDDIS 清除AIDL,APD 写寄存器02H 置位TEMP 读寄存器02H 清除Status 写寄存器01H Page 69 SH79F329 69 9.4 AFE电压转换 AFE提供VPACK电压转换,4路差分电压转换及内部校准功能。 AFE可提供VPACK电压转换输出:Vout = V VPACK /25 AFE可选择输出4路差分电压转换(VC1-VC2, VC2-VC3, VC3-VC4, VC4-VC5):V OUT = V REF - 0.15 X(V VCn -V VCn+1 ) AFE可输出内部电压基准REF以及其它内部Offset校准。 控制列表如下表所示: 特别注意:为保证电压转换的准确性,请确保内部导通电路没有选通。 由上述公式得:VC4-VC5 = (V01-V00)/(V01-V2) X V3 VC3-VC4 = (V11-V10)/(V01-V2) X V3 VC2-VC3 = (V21-V20)/(V01-V2) X V3 VC1-VC2 = (V31-V30)/(V01-V2) X V3 V VPACK = PACK X 25 其中,V REF为AFE内建基准电压。 示例:测量 VPACK电压 测量 VC4-VC5电压各变量 Start ReadReg(02H) t_scidat= t_scidat | 03H WriteReg (02H, t_scidat) return VVpack = 25 X PACK Measure PACK 读寄存器02H 置位VMEN, 置位PACKOUT 写寄存器02H 测量AAN0电压 计算VPACK Start ReadReg(02H) t_scidat = t_scidat &0FDH WriteReg (02H, t_scidat) return temp = t_scidat & 0F0H ReadReg(03H) t_scidat = t_scidat | 01H t_scidat = temp & 0CH Measure V3 t_scidat = temp & 08H Measure V2 t_scidat = temp & 04H Measure V01 t_scidat = temp & 00H Measure V00 WriteReg (02H, t_scidat) WriteReg (02H, t_scidat) WriteReg (02H, t_scidat) WriteReg (02H, t_scidat) ReadReg(02H) WriteReg (02H, t_scidat) t_scidat = t_scidat & 0FEH 读寄存器02H 清除PACKOUT 置位VMEN 写寄存器02H 读寄存器03H 保存平衡信息 设置CAL=11 写寄存器02H 测量V3 设置CAL=10 写寄存器02H 清除VMEN 读寄存器02H 测量V00 写寄存器02H 设置 CAL=00, 选择VC4- VC5 测量V01 写寄存器02H 设置CAL=01 选择VC4-VC5 测量V2 写寄存器02H VMEN PACK CAL CEL AAN0 Remarks 0 X XX XX 0 - 1 1 XX XX PACK V VPACK /25 1 0 11 XX V3或V REF 内建基准电源 1 0 10 XX V2 通过转换电路测内建基准电源 1 0 01 00 V01 VC5输出零漂 1 0 01 01 V11 VC4输出零漂 1 0 01 10 V21 VC3输出零漂 1 0 01 11 V31 VC2输出零漂 1 0 00 00 V00 V REF - 0.15 X (VC4-VC5) 1 0 00 01 V10 V REF - 0.15 X (VC3-VC4) 1 0 00 10 V20 V REF - 0.15 X (VC2-VC3) 1 0 00 11 V30 V REF - 0.15 X (VC1-VC2) Page 70 SH79F329 70 9.5 AFE内部导通电路 AFE对4组差分电压提供内部导通回路,输入电压为2V时,导通电阻为150欧姆左右。 特别注意:为保证电压转换的准确性,请确保内部导通电路没有选通。 9.6 AFE通讯监视器 AFE通讯出错时,AFE状态子寄存器AFE Status的WDF(位3)被置位,并置位AFEIF,触发AFE中断(如果EAFE已使能)。 9.7 AFE模拟比较器 AFE共有3个模拟比较器。正向比较器1用于检测ARS1-ARS2压差;反向比较器1和反向比较器2用于检测ARS2-ARS1压差。 ARS1和ARS2电压满足条件时,置位AFE状态子寄存器,并置位AFEIF,触发AFE中断(如果EAFE已使能)。 示例:设置正向比较器 1电压阈值0.425V ,时间延迟305us 设置反向比较器 1电压阈值0.425V ,时间延迟305us Start WriteReg (06H, 5DH) return ReadReg(02H) t_scidat = t_scidat & 0F7H WriteReg (02H, t_scidat) 写寄存器06H 305us: 0101 0.425V:1101 读寄存器02H 开启SCC 写寄存器02H Start WriteReg (07H, 5DH) return ReadReg(02H) t_scidat = t_scidat & 0EFH WriteReg (02H, t_scidat) 写寄存器07H 305us: 0101 0.425V:1101 读寄存器02H 开启SCD 写寄存器02H 示例:设置反向比较器 2电压阈值0.2V ,时间延迟25ms Start WriteReg (04H, 1EH) WriteReg (05H,0CH) return ReadReg(02H) t_scidat = t_scidat & 0FBH WriteReg (02H, t_scidat) 写寄存器04H 0.2V:11110 写寄存器05H 25ms:1100 读寄存器02H 开启OL 写寄存器02H Page 71 SH79F329 71 9.8 AFE状态清除 AFE状态寄存器置位时,可通过对输出控制寄存器中LTCLR写0->1->0清除状态寄存器和AFE中断触发源。 示例:清除状态寄存器 Start return ReadReg(01H) temp = t_scidat WriteReg (01H, temp & 0FEH) WriteReg (01H, temp | 01H) WriteReg (01H, temp & 0FEH) 读寄存器01H 清除LTCLR 置位LTCLR 清除LTCLR 9.9 AFE状态和模式 SH79F329 AFE共有4个非正常工作状态或模式:AFE通讯出错状态,AFE模拟比较器触发状态,AFE空闲低功耗模式和AFE 掉电低功耗模式。 AFE通讯出错或比较器触发状态时,AFE状态寄存器置标志位,并触发SH79F329 AFE中断。可通过对输出控制寄存器最低 位LTCLR写'1',再写'0'清除AFE状态寄存器和AFE中断触发源。 AFE具有2个低功耗模式:AFE空闲模式和AFE掉电模式。AFE空闲模式下关闭比较器和通讯检测功能,CHG、DSG、OD 输出高电平,TEMP输出低电平,电压转换和内部通路均关闭。 AFE处于掉电模式时,关闭LDO输出(如果VPACK小于5V),其余与空闲模式相同。 AFE通讯出错触发模拟比较器AFE空闲模式 AFE掉电模式 normal CHG 1 1 1 1 依寄存器设置 DSG 1 1 1 1 依寄存器设置 OD 1 1 1 1 依寄存器设置 TEMP 0 0 0 0 依寄存器设置 AAN0 0 0 0 0 依寄存器设置 内部通路 关闭 关闭 关闭 关闭 依寄存器设置 LDO normal normal normal 关闭 依寄存器设置 通讯检测 normal normal 关闭 关闭 依寄存器设置 模拟比较器 normal normal 关闭 关闭 依寄存器设置 Page 72 SH79F329 72 示例: 进入掉电模式 进入空闲模式 Start return ReadReg(01H) t_scidat = t_scidat | 20H WriteReg (01H, t_scidat) 读寄存器01H 置位APD 写寄存器01H Start return ReadReg(01H) t_scidat = t_scidat | 10H WriteReg (01H, t_scidat) 读寄存器01H 置位AIDL 写寄存器01H 9.10 AFE内部寄存器 Table 9.1模拟前端状态寄存器 特别注意: AFE状态寄存器任意位置' 1 '时会触发SH79F329 AFE中断(如果已使能) AFE - 00H 第 7位 第 6位 第 5位 第 4位 第 3位 第 2位 第 1位 第 0位 AFE Status - - - - WDF OL SCCHG SCDSG 读 /写 - - - - read read read read 复位值 (POR/LVR) - - - - 0 0 0 0 位编号 位符号 Description 3 WDF AFE通讯标志位 0:AFE通讯正常 1:AFE通讯出错 2 OL 反向比较器 2触发标志位 0:未触发反向比较器2 1:V ARS2 -V ARS1大于反向比较器2电压阈值,时间超过时间阈值 1 SCCHG 正向比较器 1触发标志位 0:未触发正向比较器1 1:V ARS1 -V ARS2大于正向比较器1电压阈值,时间超过时间阈值 0 SCDSG 反向比较器 1触发标志位 0:未触发反向比较器1 1:V ARS2 -V ARS1大于反向比较器1电压阈值,时间超过时间阈值 Page 73 SH79F329 73 Table 9.2模拟前端输出控制寄存器 AFE - 01H 第 7位 第 6位 第 5位 第 4位 第 3位 第 2位 第 1位 第 0位 AFE Output CTL - WDDIS APD AIDL OD CHG DSG LTCLR 读 /写 - 读/写 读/写 读/写 读/写 读/写 读/写 读/写 复位值 (POR/LVR) - 0 0 0 0 0 0 0 位编号 位符号 Description 6 WDDIS AFE通讯监视控制位 0:监视AFE通讯 1:不监视AFE通讯 5 APD AFE掉电模式控制位 0:需软件清除 1:由软件控制AFE进入掉电模式 4 AIDL AFE空闲模式控制位 0:需软件清除 1:由软件控制AFE进入空闲模式 3 OD OD输出控制位 0:OD输出高电平(需外部上拉电阻) 1:OD输出低电平 2 CHG CHG输出控制位 0:CHG输出高电平(取决于VPACK电平) 1:CHG输出低电平 1 DSG DSG输出控制位 0:DSG输出高电平(取决于BAT电平) 1:DSG输出低电平 0 LTCLR AFE状态复位控制位 0:正常状态 0->1->0:清零AFE状态寄存器 Page 74 SH79F329 74 Table 9.3模拟前端功能控制寄存器 AFE - 02H 第 7位 第 6位 第 5位 第 4位 第 3位 第 2位 第 1位 第 0位 AFE Func CTL - - TEMP XSCD XSCC XOL PACKOUT VMEN 读 /写 - - 读/写 读/写 读/写 读/写 读/写 读/写 复位值 (POR/LVR) - - 0 0 0 0 0 0 位编号 位符号 Description 5 TEMP TEMP输出控制位 0:TEMP输出低电平(需下拉电阻) 1:输出高电平(取决于VCC电平) 4 XSCD 反向比较器 1控制位 0:开启反向比较器1 1:关闭反向比较器1 3 XSCC 正向比较器 1控制位 0:开启正向比较器1 1:关闭正向比较器1 2 XOL 反向比较器 2控制位 0:开启反向比较器2 1:关闭反向比较器2 1 PACKOUT VPACK电压转换控制位 0:关闭VPACK电压转换 1:AAN0输出VPACK/25(如果VMEN = 1) 0 VMEN AAN0输出控制位 0:AAN0输出0 1:AAN0输出VPACK/25(PACKOUT= 1)或4路差分电压转换结果(PACKOUT= 0) Page 75 SH79F329 75 Table 9.4模拟前端电压转换控制寄存器 特别注意:为保证电压转换的准确性,请确保内部导通电路没有开启。 Table 9.5模拟前端反向比较器2电压控制寄存器 AFE - 03H 第 7位 第 6位 第 5位 第 4位 第 3位 第 2位 第 1位 第 0位 AFE CELL_SEL CB3 CB2 CB1 CB0 CAL1 CAL0 CELL1 CELL0 读 /写 读/写 读/写 读/写 读/写 读/写 读/写 读/写 读/写 复位值 (POR/LVR) 0 0 0 0 0 0 0 0 位编号 位符号 Description 7 CB3 VC1-VC2内部通路控制位 0:关闭内部通路 1:开启内部通路 6 CB2 VC2-VC3内部通路控制位 0:关闭内部通路 1:开启内部通路 5 CB1 VC3-VC4内部通路控制位 0:关闭内部通路 1:开启内部通路 4 CB0 VC4-VC5内部通路控制位 0:关闭内部通路 1:开启内部通路 3-2 CAL[1:0] AAN0差分电压转换功能控制位 00:输出CELL1-0选中差分输入V OUT = V REF - 0.15 X VCn-VCn+1 01:输出CELL1-0选中差分输入低压端零飘 10:通过转换电路输出内建REF 11:直接输出内建REF 1-0 CELL[1:0] AAN0差分电压转换选择位 00:输出VC4-VC5转换电压 01:输出VC3-VC4转换电压 10:输出VC2-VC3转换电压 11:输出VC1-VC2转换电压 AFE - 04H 第 7位 第 6位 第 5位 第 4位 第 3位 第 2位 第 1位 第 0位 AFE OLV - - - OLV4 OLV3 OLV2 OLV1 OLV0 读 /写 - - - 读/写 读/写 读/写 读/写 读/写 复位值 (POR/LVR) - - - 0 0 0 0 0 位编号 位符号 Description 4-0 OLV[4:0] 反向比较器 2电压阈值控制寄存器 00000: 0.050V 00001: 0.055V 00010: 0.060V 00011: 0.065V 00100: 0.070V 00101: 0.075V 00110: 0.080V 00111: 0.085V 01000: 0.090V 01001: 0.095V 01010: 0.100V 01011: 0.105V 01100: 0.110V 01101: 0.115V 01110: 0.120V 01111: 0.125V 10000: 0.130V 10001: 0.135V 10010: 0.140V 10011: 0.145V 10100: 0.150V 10101: 0.155V 10110: 0.160V 10111: 0.165V 11000: 0.170V 11001: 0.175V 11010: 0.180V 11011: 0.185V 11100: 0.190V 11101: 0.195V 11110: 0.200V 11111: 0.205V Page 76 SH79F329 76 Table 9.6模拟前端反向比较器2延迟时间控制寄存器 Table 9.7模拟前端正向比较器1延迟时间控制寄存器 Table 9.8模拟前端反向比较器1延迟时间控制寄存器 AFE - 05H 第 7位 第 6位 第 5位 第 4位 第 3位 第 2位 第 1位 第 0位 AFE OLT - - - - OLT3 OLT2 OLT1 OLT0 读 /写 - - - - 读/写 读/写 读/写 读/写 复位值 (POR/LVR) - - - - 0 0 0 0 位编号 位符号 Description 3-0 OLT[3:0] 反向比较器 2时间阈值控制寄存器 0000: 1ms 0001: 3ms 0010: 5ms 0011: 7ms 0100: 9ms 0101: 11ms 0110: 13ms 0111: 15ms 1000: 17ms 1001: 19ms 1010: 21ms 1011: 23ms 1100: 25ms 1101: 27ms 1110: 29ms 1111: 31ms AFE - 06H 第 7位 第 6位 第 5位 第 4位 第 3位 第 2位 第 1位 第 0位 AFE SCC SCCT3 SCCT2 SCCT1 SCCT0 SCCV3 SCCV2 SCCV1 SCCV0 读 /写 读/写 读/写 读/写 读/写 读/写 读/写 读/写 读/写 复位值 (POR/LVR) 0 0 0 0 0 0 0 0 位编号 位符号 Description 7-4 SCCT[3:0] 正向比较器 1时间阈值控制寄存器 0000: 0μs 0001: 61μs 0010: 122μs 0011: 183μs 0100: 244μs 0101: 305μs 0110: 366μs 0111: 427μs 1000: 488μs 1001: 549μs 1010: 610μs 1011: 671μs 1100: 732μs 1101: 791μs 1110: 854μs 1111: 915μs 3-0 SCCV[3:0] 正向比较器 1电压阈值控制寄存器 0000: 0.100V 0001: 0.125V 0010: 0.150V 0011: 0.175V 0100: 0.200V 0101: 0.225V 0110: 0.250V 0111: 0.275V 1000: 0.300V 1001: 0.325V 1010: 0.350V 1011: 0.375V 1100: 0.400V 1101: 0.425V 1110: 0.450V 1111: 0.475V AFE - 07H 第 7位 第 6位 第 5位 第 4位 第 3位 第 2位 第 1位 第 0位 AFE SCD SCDT3 SCDT2 SCDT1 SCDT0 SCDV3 SCDV2 SCDV1 SCDV0 读 /写 读/写 读/写 读/写 读/写 读/写 读/写 读/写 读/写 复位值 (POR/LVR) 0 0 0 0 0 0 0 0 位编号 位符号 Description 7-4 SCDT[3:0] 反向比较器 1时间阈值控制寄存器 0000: 0μs 0001: 61μs 0010: 122μs 0011: 183μs 0100: 244μs 0101: 305μs 0110: 366μs 0111: 427μs 1000: 488μs 1001: 549μs 1010: 610μs 1011: 671μs 1100: 732μs 1101: 791μs 1110: 854μs 1111: 915μs 3-0 SCDV[3:0] 反向比较器 1电压阈值控制寄存器 0000: 0.100V 0001: 0.125V 0010: 0.150V 0011: 0.175V 0100: 0.200V 0101: 0.225V 0110: 0.250V 0111: 0.275V 1000: 0.300V 1001: 0.325V 1010: 0.350V 1011: 0.375V 1100: 0.400V 1101: 0.425V 1110: 0.450V 1111: 0.475V Page 77 SH79F329 77 10.指令集 算术操作指令 instruction Functional description 代码 字节 周期 ADD A, Rn 累加器加寄存器 0x28-0x2F 1 1 ADD A, direct 累加器加直接寻址字节 0x25 2 2 ADD A, @Ri 累加器加内部RAM 0x26-0x27 1 2 ADD A, #data 累加器加立即数 0x24 2 2 ADDC A, Rn 累加器加寄存器和进位位 0x38-0x3F 1 1 ADDC A, direct 累加器加直接寻址字节和进位位 0x35 2 2 ADDC A, @Ri 累加器加内部RAM和进位位 0x36-0x37 1 2 ADDC A, #data 累加器加立即数和进位位 0x34 2 2 SUBB A, Rn 累加器减寄存器和借位位 0x98-0x9F 1 1 SUBB A, direct 累加器减直接寻址字节和借位位 0x95 2 2 SUBB A, @Ri 累加器减内部RAM和借位位 0x96-0x97 1 2 SUBB A, #data 累加器减立即数和借位位 0x94 2 2 INC A 累加器加1 0x04 1 1 INC Rn 寄存器加1 0x08-0x0F 1 2 INC direct 直接寻址字节加1 0x05 2 3 INC @Ri 内部RAM加1 0x06-0x07 1 3 DEC A 累加器减1 0x14 1 1 DEC Rn 寄存器减1 0x18-0x1F 1 2 DEC direct 直接寻址字节减1 0x15 2 3 DEC @Ri 内部RAM减1 0x16-0x17 1 3 INC DPTR 数据指针加1 0xA3 1 4 MUL AB 8 X 8 16 X 8 累加器乘寄存器B 0xA4 1 11 20 DIV AB 8 / 8 16 / 8 累加器除以寄存器B 0x84 1 11 20 DA A 十进制调整 0xD4 1 1 Page 78 SH79F329 78 逻辑操作指令 instruction Functional description 代码 字节 周期 ANL A, Rn 累加器与寄存器 0x58-0x5F 1 1 ANL A, direct 累加器与直接寻址字节 0x55 2 2 ANL A, @Ri 累加器与内部RAM 0x56-0x57 1 2 ANL A, #data 累加器与立即数 0x54 2 2 ANL direct, A 直接寻址字节与累加器 0x52 2 3 ANL direct, #data 直接寻址字节与立即数 0x53 3 3 ORL A, Rn 累加器或寄存器 0x48-0x4F 1 1 ORL A, direct 累加器或直接寻址字节 0x45 2 2 ORL A, @Ri 累加器或内部RAM 0x46-0x47 1 2 ORL A, #data 累加器或立即数 0x44 2 2 ORL direct, A 直接寻址字节或累加器 0x42 2 3 ORL direct, #data 直接寻址字节或立即数 0x43 3 3 XRL A, Rn 累加器异或寄存器 0x68-0x6F 1 1 XRL A, direct 累加器异或直接寻址字节 0x65 2 2 XRL A, @Ri 累加器异或内部RAM 0x66-0x67 1 2 XRL A, #data 累加器异或立即数 0x64 2 2 XRL direct, A 直接寻址字节异或累加器 0x62 2 3 XRL direct, #data 直接寻址字节异或立即数 0x63 3 3 CLR A 累加器清零 0xE4 1 1 CPL A 累加器取反 0xF4 1 1 RL A 累加器左环移位 0x23 1 1 RLC A 累加器连进位标志左环移位 0x33 1 1 RR A 累加器右环移位 0x03 1 1 RRC A 累加器连进位标志右环移位 0x13 1 1 SWAP A 累加器高4位与低4位交换 0xC4 1 4 Page 79 SH79F329 79 数据传送指令 instruction Functional description 代码 字节 周期 MOV A, Rn 寄存器送累加器 0xE8-0xEF 1 1 MOV A, direct 直接寻址字节送累加器 0xE5 2 2 MOV A, @Ri 内部RAM送累加器 0xE6-0xE7 1 2 MOV A, #data 立即数送累加器 0x74 2 2 MOV Rn, A 累加器送寄存器 0xF8-0xFF 1 2 MOV Rn, direct 直接寻址字节送寄存器 0xA8-0xAF 2 3 MOV Rn, #data 立即数送寄存器 0x78-0x7F 2 2 MOV direct, A 累加器送直接寻址字节 0xF5 2 2 MOV direct, Rn 寄存器送直接寻址字节 0x88-0x8F 2 2 MOV direct1, direct2 直接寻址字节送直接寻址字节 0x85 3 3 MOV direct, @Ri 内部RAM送直接寻址字节 0x86-0x87 2 3 MOV direct, #data 立即数送直接寻址字节 0x75 3 3 MOV @Ri, A 累加器送内部RAM 0xF6-0xF7 1 2 MOV @Ri, direct 直接寻址字节送内部RAM 0xA6-0xA7 2 3 MOV @Ri, #data 立即数送内部RAM 0x76-0x77 2 2 MOV DPTR, #data16 16位立即数送数据指针 0x90 3 3 MOVC A, @A+DPTR 程序代码送累加器(相对数据指针) 0x93 1 7 MOVC A, @A+PC 程序代码送累加器(相对程序计数器) 0x83 1 8 MOVX A, @Ri 外部RAM送累加器(8位地址) 0xE2-0xE3 1 5 MOVX A, @DPTR 外部RAM送累加器(16位地址) 0xE0 1 6 MOVX @Ri, A 累加器送外部RAM(8位地址) 0xF2-F3 1 4 MOVX @DPTR, A 累加器送外部RAM(16位地址) 0xF0 1 5 PUSH direct 直接寻址字节压入栈顶 0xC0 2 5 POP direct 栈顶弹至直接寻址字节 0xD0 2 4 XCH A, Rn 累加器与寄存器交换 0xC8-0xCF 1 3 XCH A, direct 累加器与直接寻址字节交换 0xC5 2 4 XCH A, @Ri 累加器与内部RAM交换 0xC6-0xC7 1 4 XCHD A, @Ri 累加器低4位与内部RAM低4位交换 0xD6-0xD7 1 4 Page 80 SH79F329 80 控制程序转移指令 instruction Functional description 代码 字节 周期 ACALL addr11 2KB内绝对调用 0x11-0xF1 2 7 LCALL addr16 64KB内长调用 0x12 3 7 RET 子程序返回 0x22 1 8 RETI 中断返回 0x32 1 8 AJMP addr11 2KB内绝对转移 0x01-0xE1 2 4 LJMP addr16 64KB内长转移 0x02 3 5 SJMP rel 相对短转移 0x80 2 4 JMP @A+DPTR 相对长转移 0x73 1 6 JZ rel (不发生转移) (发生转移) 累加器为零转移 0x60 2 3 5 JNZ rel (不发生转移) (发生转移) 累加器为非零转移 0x70 2 3 5 JC rel (不发生转移) (发生转移) C置位转移 0x40 2 2 4 JNC rel (不发生转移) (发生转移) C清零转移 0x50 2 2 4 JB bit, rel (不发生转移) (发生转移) 直接寻址位置位转移 0x20 3 4 6 JNB bit, rel (不发生转移) (发生转移) 直接寻址位清零转移 0x30 3 4 6 JBC bit, rel (不发生转移) (发生转移) 直接寻址位置位转移并清该位 0x10 3 4 6 CJNE A, direct, rel (不发生转移) (发生转移) 累加器与直接寻址字节不等转移 0xB5 3 4 6 CJNE A, #data, rel (不发生转移) (发生转移) 累加器与立即数不等转移 0xB4 3 4 6 CJNE Rn, #data, rel (不发生转移) (发生转移) 寄存器与立即数不等转移 0xB8-0xBF 3 4 6 CJNE @Ri, #data, rel (不发生转移) (发生转移) 内部RAM与立即数不等转移 0xB6-0xB7 3 4 6 DJNZ Rn, rel (不发生转移) (发生转移) 寄存器减1不为零转移 0xD8-0xDF 2 3 5 DJNZ direct, rel (不发生转移) (发生转移) 直接寻址字节减1不为零转移 0xD5 3 4 6 NOP 空操作 0 1 1 Page 81 SH79F329 81 位操作指令 instruction Functional description 代码 字节 周期 CLR C C清零 0xC3 1 1 CLR bit 直接寻址位清零 0xC2 2 3 SETB C C置位 0xD3 1 1 SETB bit 直接寻址位置位 0xD2 2 3 CPL C C取反 0xB3 1 1 CPL bit 直接寻址位取反 0xB2 2 3 ANL C, bit C逻辑与直接寻址位 0x82 2 2 ANL C, /bit C逻辑与直接寻址位的反 0xB0 2 2 ORL C, bit C逻辑或直接寻址位 0x72 2 2 ORL C, /bit C逻辑或直接寻址位的反 0xA0 2 2 MOV C, bit 直接寻址位送C 0xA2 2 2 MOV bit, C C送直接寻址位 0x92 2 3 Page 82 SH79F329 82 11.电气特性 极限参数 * BAT/VPACK直流供电电压. . . . . . . . . . . .. . .-0.3V to +34V DSG, CHG, OD 输出电压. . . . . . . . . . .-0.3V to BAT/PACK VC1-4 输入电压. . . . . . . . . . . . . . . . . . . . . . . . -0.3 to +34V VC5输入电压. . . . . . . . . . . . . . . . . . . . . . . . . .-0.3 to +4V VC1-VC2, VC2-VC3, VC3-VC4输入电压. . . . -0.3 to +8.5V V DD供电电压. . . . . . . . . . . . . . . . . . . . . . . .-0.3V to +7.0V Open Drain I/O 电压. . . . . . . . . . . . . . . . . . . . . . .-0.3 to 6V ADC Input Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . -1 to 1V GPIO 输入/输出电压. . . . . . .. . .. GND-0.3V to V DD +0.3V 工作环境温度. . . . . . . . . . . . . . . . . . . . .-40°C to +85°C 存储温度. . . . . . . . . . . . . . . . . . . . . . . . -55°C to +125°C

  • 注释

如果器件的工作条件超过左列“极限参数”的范围,将造成器件 永久性破坏。只有当器件工作在说明书所规定的范围内时功能 才能得到保障。器件在极限参数列举的条件下工作将会影响到 器件工作的可靠性。 直流电气特性(BAT = 14V, V DD = AV DD = VCC, AGND = GND = 0V, T A = -20 - 85°C, f SYS = 8.338MHz, 除非另有说明) parameter symbol 最小值典型值∗ 最大值 unit 条件 工作电压 V DD - 3.0 - V V DD输入电压 工作电流(V DD + AV DD ) I OP1 - 4.5 8 mA 所有输出管脚无负载, AV DD = V DD = V CC = 3V, 内部 RC振荡电路, f SYS = 8.338MHz, 没有Flash操作 I OP2 - 2.5 4.5 mA 所有输出管脚无负载, AV DD = V DD = V CC = 3V, 内部 RC振荡电路, f SYS = 4.194MHz, 没有Flash操作 I OP3 - 1.5 2.5 mA 所有输出管脚无负载, AV DD = V DD = V CC = 3V, 内部 RC振荡电路, f SYS = 2.097MHz, 没有Flash操作 I OP4 - 0.8 1.5 mA 所有输出管脚无负载, AV DD = V DD = V CC = 3V, 内部 RC振荡电路, f SYS = 1.048MHz, 没有Flash操作 I OP5 - 0.2 0.5 mA 所有输出管脚无负载, AV DD = V DD = V CC = 3V, 内部 RC振荡电路, f SYS =32.768KHz, 没有Flash操作 待机电流(V DD + AV DD ) (空闲模式: Idle) I SB1 - 0.6 0.8 mA 所有输出管脚无负载, AV DD = V DD = V CC = 3V, 内 部RC振荡电路, f SYS = 32.768KHz, 没有Flash操作, 开启所有功能模块 I SB2 - 100 200 µA 所有输出管脚无负载, AV DD = V DD = V CC = 3V, 内 部RC振荡电路, f SYS = 32.768KHz, 没有Flash操作, 开启所有功能模块, CADC和VADC关闭 待机电流(V DD + AV DD ) 掉电模式: Power-Down) I PD1 - 15 25 µA 所有输出管脚无负载, AV DD = V DD = V CC = 3V, 内 部RC振荡电路, f SYS = 32.768KHz, PLL关闭, 没有 Flash操作, 看门狗开启, 所有功能模块关闭 I PD2 - - 5 µA 所有输出管脚无负载, AV DD = V DD = V CC = 3V, 内 部RC振荡电路, f SYS = 32.768KHz, PLL关闭, 没有 Flash操作, 看门狗关闭, 所有功能模块关闭 工作电流(仅AFE部分) I AOP1 - 60 90 µA VCC、TEMP无外挂负载, SCI模块开启 VMEN = 1, VC5 = VC4 = 0V, CHG/DSG输出低电 平, 关闭平衡电路、AWDT检测, 开启比较器检测 I AOP2 25 50 µA VCC、TEMP无外挂负载, SCI模块开启 VMEN = 0, VC5 = VC4 = 0V, CHG/DSG输出低电 平, 关闭平衡电路、AWDT检测, 开启比较器检测 T A = -25°C to 85°C Page 83 SH79F329 83 续上表 注意: 1. “*”表示典型值下的数据是在3.0V , 25°C下测得的,除非另有说明。 2.系统功耗由主体部分( AV DD +V DD )和AFE两部分组成,选择不同的组合,最终的系统功耗将会不一样。 低电压复位电气特性(BAT = 14V, V DD = AV DD = VCC, AGND = GND = 0V, T A = -20~85°C, f SYS = 8.338MHz, 除非另有说明。) VADC模/数转换器电气特性 parameter symbol 最小值典型值∗ 最大值 unit 条件 待机电流(仅AFE部分) (AFE空闲模式: AIDL) I ASB - 20 40 µA VCC无外挂负载, SCI模块开启, AIDL = 1 T A = -25°C to 85°C 待机电流(仅AFE部分) (AFE掉电模式: APD) I APD - 0.1 1.0 µA AV DD /V DD无外接电源, PACK无外接电源, APD = 1 T A = -25°C to 85°C 输出高电压 V OH 0.9V DD - V DD V P0, P1, P2 端口(除SMBD和SMBC) I OH = 1mA@ V DD = 3V 输出低电压 V OL1 0 - 0.1V DD V P0, P1, P2 端口(除SMBD和SMBC) I OL1 = -1mA@ V DD = 3V V OL2 0 - 0.4 V SMBD和SMBC, I OL2 = -7mA@ V DD = 3V V OL3 0.8 1.2 V P2端口, P2SEL已置位, I OL3 = -4mA@ V DD = 3V 输入高电压 V IH1 0.7V DD - V DD + 0.3 V P0, P1, P2端口(施密特触发器) V IH2 2 - 6 V SMBD, SMBC 输入低电压 V IL1 -0.3 - 0.3V DD V P0, P1, P2端口(施密特触发器) V IL2 -0.3 - 0.8 V SMBD, SMBC 上拉电阻 R PULLUP - 30 - kΩ 串联电阻 R SERIES 200 250 300 Ω P2口内部串联电阻(P2SEL已置位) parameter symbol 最小值典型值最大值 unit 条件 LVR电压 V LVRL 2.2 2.3 2.4 V LVR允许 LVR低电压复位宽度 T LVR - 30 - µs parameter symbol 最小值典型值最大值 unit 条件 Supply voltage AV DD - 3.0 - V 参考电压源 V REF - 1.2 - V 精度 N R - 16 - bit GND ≤ V AIN ≤ V REF A/D输入电压 V VAIN GND - 1.23 V A/D输入电阻 R VAIN - 8 - MΩ 积分非线性误差 I LE - ±1 ±3 LSB f OSC = 8.338MHz, AV DD = 3.0V 偏移误差 E Z - 2 mV f OSC = 8.338MHz, AV DD = 3.0V Page 84 SH79F329 84 CADC模/数转换器电气特性 电源稳压器电气特性(BAT = 14V, V DD = AV DD = VCC, AGND = GND = 0V, T A = -20 - 85°C, f SYS = 8.338MHz, 除非另有说明。) 电压转换器电气特性(BAT = 14V, V DD = AV DD = VCC, AGND = GND = 0V, T A = -20 - 85°C, f SYS = 8.338MHz, 除非另有说明。) parameter symbol 最小值典型值最大值 unit 条件 Supply voltage AV DD - 3.0 - V 参考电压源 C REF - 0.3 - V 精度 N R - 16 - bit GND ≤ V AIN ≤ V REF A/D输入电压 V AIN -0.3 - 0.3 V V RS1 , V RS2 A/D差分输入电压 V CAIN -0.3 - 0.3 V V RS1 - V RS2 A/D输入电阻 R CAIN - 2.5 - MΩ 积分非线性误差 I LE - ±1 ±3 LSB f OSC = 8.338MHz, AV DD = 3.0V 偏移误差 E Z - 200 µV f OSC = 8.338MHz, AV DD = 3.0V parameter symbol 最小值典型值最大值单位 条件 LDO启动电压 V STARTUP 5 - - V 用于VPACK VCC开启电压 V START 2.4 2.5 2.6 VV VPACK > V STARTUP VCC关闭电压 V END - 2.1 2.3 VV VPACK > V STARTUP 稳压器输出 V CC - 3.0 - V 稳压器输出 V CC -4% 3 2% V 8.0V < V BAT or V VPACK < 25V, I LOAD < 25mA, T A = -25°C to 85°C V CC -9% 3 2% V 6.5V < V BAT or V VPACK < 8V, I LOAD < 25mA, T A = -25°C to 85°C V CC -9% 3 2% V 5.4V < V BAT or V VPACK < 6.5V, I LOAD < 16mA, T A = -25°C to 85°C V CC -2% 3 2% V 4.5V < V BAT or V VPACK < 25V, I LOAD < 2mA, T A = -25°C to 85°C 温漂 ΔV TEMP - ±0.2 - % Iout = 2mA, TA = -25°C to 85°C 负载调节率 ΔV VCCLOAD - 7 15 mV 0.1mA < I LOAD < 2mA ΔV VCCLOAD - 40 100 mV 0.1mA < I LOAD < 25mA 线性度 ΔI LINE - 3 10 mV 5.4V <V BAT < 25V, I LOAD = 2mA parameter symbol 最小值 Typical value 最大值单位 条件 转换输出电压 V CELL_OUT - 0.975 ±1% V V Cn - V Cn+1 = 0V, 8.0V < V BAT or V VPACK < 25V V CELL_OUT - 0.3 ±1% V V Cn - V Cn+1 = 4.5V, 8.0V < V BAT or V VPACK < 25V 参考电压输出 REF - 0.975 ±1% V 8.0V < V BAT or V VPACK < 25V VPACK分压输出 VPACK - VPACK/25 ±5% V 5.0V < V VPACK < 25V 转换系数 K 0.147 0.150 0.153 - K = (AAN0输出(VC5 = VC4 = 0.0V) - AAN0输出(VC5 = 0.0V, VC4 = 4.5V)/4.5 K 0.147 0.150 0.153 - K = (AAN0输出(VC2 = VC1 = 13.5V) - AAN0输出(VC2 = 13.5V, VC1 = 18V)/4.5 AAN0建立时间 t AAN0 - 5 8 mS AAN0输出VPack电压转换结果 AAN0建立时间 t AAN0 - 5 8 mS AAN0输出CELL电压转换结果 Page 85 SH79F329 85 模拟比较器电气特性(BAT = 14V, V DD = AV DD = VCC, AGND = GND = 0V, T A = -20 - 85°C, f SYS = 8.338MHz, 除非另有说明。) AFE输出管脚电气特性(BAT = 14V, V DD = AV DD = VCC, AGND = GND = 0V, T A = -20 - 85°C, f SYS = 8.338MHz, 除非另有说 明。 ) parameter symbol 最小值 Typical value The maximum value unit 条件 反向比较器2阈值范围 V OL -50 - -205 mV 反向比较器2阈值间距 ΔV OL - 5 - mV 反向比较器2阈值迟滞 V HYS(OL) 7 10 13 mV 正向比较器1阈值范围 V SC 100 - 475 mV 反向比较器1阈值范围 V SC -100 - -475 mV 正向比较器1阈值间距 ΔV SC - 25 - mV 反向比较器1阈值间距 ΔV SC - -25 - mV f OSC = 8.338MHz, AV DD = 3.0V 正反向比较器1阈值迟滞V HYS(SC) 40 50 60 mV f OSC = 8.338MHz, AV DD = 3.0V 反向比较器2阈值精度 V OL_ACR 40 50 60 mV V OL = 50mV(min) 反向比较器2阈值精度 V OL_ACR 90 100 110 mV V OL = 100mV 反向比较器2阈值精度 V OL_ACR 184 205 226 mV V OL = 205mV(max) 正反向比较器1阈值精度V SC_ACR 80 100 120 mV 正反向V SC = 100(min) 正反向比较器1阈值精度V SC_ACR 180 200 220 mV 正反向V SC = 200 正反向比较器1阈值精度V SC_ACR 426 475 523 mV 正反向V SC = 475(max) parameter symbol 最小值典型值最大值 unit 条件 TEMP内部串接电阻 R DS(on) - 50 100 Ω R dson = (V VCC - V TEMP )/1mA DSG输出低电平 V DSGON - - 1 V V BAT = 5 - 20V, I O = -0.5mA CHG输出低电平 V CHGON - - 1 V V VPACK = 5 - 20V, I O = -0.5mA DSG输出高电平 V DSGOFF V BAT -1 - - V V BAT = 5 - 20V, I O = 0.5mA CHG输出高电平 V CHGOFF V PACK -1 - - V V VPACK = 5 - 20V, I O = 0.5mA DSG上升沿时间 t R - 40 200 µs C L = 4700pF, V DSG : 10% - 90% CHG上升沿时间 t R - 40 200 µs C L = 4700pF, V CHG : 10% - 90% DSG下降沿时间 t F - 40 200 µs C L = 4700pF, V DSG : 90% - 10% CHG下降沿时间 t F - 40 200 µs C L = 4700pF, V CHG : 90% - 10% OD低电平驱动 I OD 6 10 - mA 外接5V电压 VC n ~VC n+1导通电阻 R BAL 150 ±50% Ω VC n -VC n+1 =2V Page 86 SH79F329 86 交流电气特性(BAT = 14V, V DD = AV DD = VCC, AGND = GND = 0V, T A = -20 - 85°C, f SYS = 8.338MHz, 除非另有说明。) parameter symbol 最小值典型值最大值 unit 条件 RC振荡器频率 f RC - 32.768 - kHz V DD = 3.0V, 330KΩ电阻精度-0.1~0.1%, 温漂50ppm 频率错误 f EIO - 0.5 ±2 % 频率漂移 f DIO - - ±1 % According to T A = 0-50°C 起振时间 f SIO - - 200 ms Frequency Output in ±1% 倍频器功耗 I PLL - 60 - µA V DD = 3.0V 倍频器起振时间 t SP - 2 5 ms ±0.5% Frequency Error 复位脉冲宽度 t PW(RSTB) 10 - - µs 低电平有效 低压复位脉冲宽度 t PW(LVR) - 20 - µs LVR允许 振荡器电阻 R OSC - 330 ±0.1% KΩ 温漂50ppm PLL负载电容 C L - 1 - nF SMBus频率范围 f SMB 10 - 100 kHz 总线空闲间隔 t BUF 4.7 - - µs 低电平周期 t LOW 4.7 - - µs 高电平周期 t HIGH 4.0 - 50 µs 数据保持时间 t HD: DAT 300 - - ns 数据建立时间 t SU: DAT 250 - - ns STA保持时间 t HD: STA 4.0 - - µs STA建立时间 t SU: STA 4.7 - - µs STO建立时间 t SU: STO 4.0 - - µs 上升时间 t R - - 1000 ns (V ILMAX - 0.15V) to (V IHMIN + 0.15V) 下降时间 t F - - 300 ns 0.9V DD to (V ILMAX - 0.15) 超时周期 t TIMEOUT - 25 - ms