SONIX reserves the right to make change without further notice to any products herein to improve reliability, function or design. SONIX does not
assume any liability arising out of the application or use of any product or circuit described herein; neither does it convey any license under its patent
rights nor the rights of others. SONIX products are not designed, intended, or authorized for us as components in systems intended, for surgical
implant into the body, or other applications intended to support or sustain life, or for any other application in which the failure of the SONIX product
could create a situation where personal injury or death may occur. Should Buyer purchase or use SONIX products for any such unintended or
unauthorized application. Buyer shall indemnify and hold SONIX and its officers, employees, subsidiaries, affiliates and distributors harmless against
all claims, cost, damages, and expenses, and reasonable attorney fees arising out of, directly or indirectly, any claim of personal injury or death
associated with such unintended or unauthorized use even if such claim alleges that SONIX was negligent regarding the design or manufacture of
Page 1
SONIX products are not designed, intended, or authorized for us as components in systems intended, for surgical implant into the body, or other applications intended to support or sustain life, or for any other application in which the failure of the SONIX product could create a situation where personal injury or death may occur.
Jump to user start address 0001H General purpose area 0007H 0008H Interrupt vector User interrupt vector 0009H User program 000FH 0010H 0011H General purpose area FFBH End of user program FFCH FFDH Reserved FFEH FFFH Version 0.7 SONiX TECHNOLOGY CO., LTD Page 15...
; Jump to user program address. … ; Interrupt vector. PUSH ; Save ACC and PFLAG register to buffers. … … ; Load ACC and PFLAG register from buffers. RETI ; End of interrupt service routine … Version 0.7 SONiX TECHNOLOGY CO., LTD Page 16...
Page 17
SN8P275X Series 8-bit micro-controller build-in 12-bit ADC START: ; The head of user program. … ; User program … START ; End of user program … ENDP ; End of program Version 0.7 SONiX TECHNOLOGY CO., LTD Page 17...
Page 18
ENDP ; End of program. Note: It is easy to understand the rules of SONIX program from demo programs given above. These points are as following: 1. The address 0000H is a “JMP” instruction to make the program starts from the beginning.
INC_XYZ macro shows a simple method to process X, Y and Z registers automatically. Example: INC_XYZ macro. INC_XYZ MACRO INCMS ; Z+1 ; Not overflow INCMS ; Y+1 ; Not overflow INCMS ; X+1 ; Not overflow ENDM Version 0.7 SONiX TECHNOLOGY CO., LTD Page 19...
Page 20
; To lookup data. If BUF = 0, data is 0x0035 ; If BUF = 1, data is 0x5105 ; If BUF = 2, data is 0x2012 … TABLE1: 0035H ; To define a word (16 bits) data. 5105H 2012H … Version 0.7 SONiX TECHNOLOGY CO., LTD Page 20...
; ACC = 3, jump to A3POINT SONIX provides a macro for safe jump table function. This macro will check the ROM boundary and move the jump table to the right position automatically. The side effect of this macro maybe wastes some ROM size.
Page 22
SN8P275X Series 8-bit micro-controller build-in 12-bit ADC Example: “@JMP_A” application in SONIX macro file called “MACRO3.H”. B0MOV A, BUF0 ; “BUF0” is from 0 to 4. @JMP_A ; The number of the jump table listing is five. A0POINT ; ACC = 0, jump to A0POINT A1POINT ;...
; If Not jump to checksum calculate CHECKSUM_END ; If Yes checksum calculated is done. Y_ADD_1: INCMS ; Increase Y ; Jump to checksum calculate CHECKSUM_END: … … END_USER_CODE: ; Label of program end Version 0.7 SONiX TECHNOLOGY CO., LTD Page 23...
Fcpu code option is only available for High Clock. Fcpu of slow mode is Flosc/4. In external RC mode, the Noise_Filter is enabled by assembler. If watchdog enable, watchdog timer is still counting in green mode. Version 0.7 SONiX TECHNOLOGY CO., LTD Page 24...
End of bank 0 area 100h 100h~17Fh of Bank 1 = To store general purpose data (128 bytes). “ “ General purpose area BANK 1 “ “ “ 17Fh End of bank 1 area Version 0.7 SONiX TECHNOLOGY CO., LTD Page 25...
Page 30
2. All of register names had been declared in SN8ASM assembler. 3. One-bit name had been declared in SN8ASM assembler with “F” prefix code. 4. “b0bset”, “b0bclr”, ”bset”, ”bclr” instructions are only available to the “R/W” registers. Version 0.7 SONiX TECHNOLOGY CO., LTD Page 30...
; Load ACC form buffer. RETI ; Exit interrupt service vector Note: To save and re-load ACC data, users must use “B0XCH” instruction, or else the PFLAG Register might be modified by ACC operation. Version 0.7 SONiX TECHNOLOGY CO., LTD Page 31...
1 = The result of an arithmetic/logic/branch operation is zero. 0 = The result of an arithmetic/logic/branch operation is not zero. Note: Refer to instruction set table for detailed information of C, DC and Z flags. Version 0.7 SONiX TECHNOLOGY CO., LTD Page 32...
If the ACC is equal to the immediate data or memory, the PC will add 2 steps to skip next instruction. A, #12H ; To skip, if ACC = 12H. CMPRS C0STEP ; Else jump to C0STEP. … … C0STEP: Version 0.7 SONiX TECHNOLOGY CO., LTD Page 33...
Page 34
DECS BUF0 C0STEP ; Jump to C0STEP if ACC is not zero. … … C0STEP: DECMS instruction: DECMS BUF0 C0STEP ; Jump to C0STEP if BUF0 is not zero. … … C0STEP: Version 0.7 SONiX TECHNOLOGY CO., LTD Page 34...
Bit 0 LBIT7 LBIT6 LBIT5 LBIT4 LBIT3 LBIT2 LBIT1 LBIT0 Read/Write After reset Example: If want to read a data from RAM address 20H of bank_0, it can use indirectly addressing mode to Version 0.7 SONiX TECHNOLOGY CO., LTD Page 35...
Page 36
; Clear @HL to be zero DECMS ; L – 1, if L = 0, finish the routine CLR_HL_BUF ; Not zero END_CLR: ; End of clear general purpose data memory area of bank 0 … … Version 0.7 SONiX TECHNOLOGY CO., LTD Page 36...
Bit 3 Bit 2 Bit 1 Bit 0 XBIT7 XBIT6 XBIT5 XBIT4 XBIT3 XBIT2 XBIT1 XBIT0 Read/Write After reset Note: Please refer to the “LOOK-UP TABLE DESCRIPTION” about X register look-up table application. Version 0.7 SONiX TECHNOLOGY CO., LTD Page 37...
Bit 3 Bit 2 Bit 1 Bit 0 RBIT7 RBIT6 RBIT5 RBIT4 RBIT3 RBIT2 RBIT1 RBIT0 Read/Write After reset Note: Please refer to the “LOOK-UP TABLE DESCRIPTION” about R register look-up table application. Version 0.7 SONiX TECHNOLOGY CO., LTD Page 38...
; To clear Y register to access RAM bank 0. B0MOV Z, #12H ; To set an immediate data 12H into Z register. B0MOV A, @YZ ; Use data pointer @YZ reads a data from RAM location ; 012H into ACC. Version 0.7 SONiX TECHNOLOGY CO., LTD Page 39...
High Detect Watchdog Low Detect Overflow Watchdog Normal Run Watchdog Reset Watchdog Stop System Normal Run System Status System Stop Power On External Watchdog Delay Time Reset Delay Reset Delay Time Time Version 0.7 SONiX TECHNOLOGY CO., LTD Page 43...
Clearing watchdog timer program is only at one part of the program. This way is the best structure to enhance the watchdog timer function. Note: Please refer to the “WATCHDOG TIMER” about watchdog timer detail information. Version 0.7 SONiX TECHNOLOGY CO., LTD Page 44...
DC low battery condition. When turn off the AC power, the VDD drops slowly and through the dead-band for a while. Version 0.7 SONiX TECHNOLOGY CO., LTD Page 45...
2. For AC power application and enhance EFT performance, the system clock is 4MHz/4 (1 mips) and use external reset (“ Zener diode reset circuit”, “Voltage bias reset circuit”, “External reset IC”). The structure can improve noise effective and get good EFT characteristic. Version 0.7 SONiX TECHNOLOGY CO., LTD Page 46...
Page 47
Delay Time The LVD (low voltage detector) is built-in Sonix 8-bit MCU to be brown out reset protection. When the VDD drops and is below LVD detect voltage, the LVD would be triggered, and the system is reset. The LVD detect level is different by each MCU.
The reset signal is slower than VDD power up timing, and system occurs a power on signal from the timing difference. Note: The reset circuit is no any protection against unusual power or brown out reset. Version 0.7 SONiX TECHNOLOGY CO., LTD Page 48...
PNP transistor outputs high voltage and MCU operates normally. When VDD is below “Vz + 0.7V”, the C terminal of the PNP transistor outputs low voltage and MCU is in reset mode. Decide the reset detect voltage by zener specification. Select the right zener voltage to conform the application. Version 0.7 SONiX TECHNOLOGY CO., LTD Page 49...
When power drops below the reset detect voltage, the system reset would be triggered, and then system executes reset sequence. That makes sure the system work well under unstable power situation. Version 0.7 SONiX TECHNOLOGY CO., LTD Page 50...
The external reset circuit also use external reset IC to enhance MCU reset performance. This is a high cost and good effect solution. By different application and system requirement to select suitable reset IC. The reset circuit can improve all power variation. Version 0.7 SONiX TECHNOLOGY CO., LTD Page 51...
Fcpu = Flosc/4. SONIX provides a “Noise Filter” controlled by code option. In high noisy situation, the noise filter can isolate noise outside and protect system works well. The minimum Fcpu of high clock is limited at Fhosc/4 when noise filter enable.
Example: When entering the power down mode (sleep mode), both high-speed oscillator and internal low-speed oscillator will be stopped. B0BSET FCPUM0 ; To stop external high-speed oscillator and internal low-speed ; oscillator called power down mode (sleep mode). Version 0.7 SONiX TECHNOLOGY CO., LTD Page 53...
High_Clk code option. The start up time of crystal/ceramic and RC type oscillator is different. RC type oscillator’s start-up time is very short, but the crystal’s is longer. The oscillator start-up time decides reset time length. 4MHz Crystal 32768Hz Crystal 4MHz Ceramic Version 0.7 SONiX TECHNOLOGY CO., LTD Page 54...
“R” value is to change frequency. 50P~100P is good value for “C”. XOUT pin is general purpose I/O pin. Note: Connect the R and C as near as possible to the VDD pin of micro-controller. Version 0.7 SONiX TECHNOLOGY CO., LTD Page 55...
XIN pin. XOUT pin is general purpose I/O pin. External Clock Input XOUT Note: The GND of external oscillator circuit must be as near as possible to VSS pin of micro-controller. Version 0.7 SONiX TECHNOLOGY CO., LTD Page 56...
; To stop external high-speed oscillator and internal low-speed ; oscillator called power down mode (sleep mode). Note: The internal low-speed clock can’t be turned off individually. It is controlled by CPUM0, CPUM1 (32K, watchdog disable) bits of OSCM register. Version 0.7 SONiX TECHNOLOGY CO., LTD Page 57...
; Output Fcpu toggle signal in low-speed clock mode. B0BCLR P0.0 ; Measure the Fcpu frequency by oscilloscope. Note: Do not measure the RC frequency directly from XIN; the probe impendence will affect the RC frequency. Version 0.7 SONiX TECHNOLOGY CO., LTD Page 58...
All active All active All active All inactive P0, P1, T0 Wakeup source P0, P1, Reset Reset EHOSC: External high clock ILRC: Internal low clock (16K RC oscillator at 3V, 32K at 5V) Version 0.7 SONiX TECHNOLOGY CO., LTD Page 59...
; Set CPUM1 = 1. Note: If T0 timer wakeup function is disabled in the green mode, only the wakeup pin and reset pin can wakeup the system backs to the previous operation mode. Version 0.7 SONiX TECHNOLOGY CO., LTD Page 60...
Page 61
Note: During the green mode with T0 wake-up function, the wakeup pins, reset pin and T0 can wakeup the system back to the last mode. T0 wake-up period is controlled by program and T0ENB must be set. Version 0.7 SONiX TECHNOLOGY CO., LTD Page 61...
The wakeup time is as the following. The wakeup time = 1/Fosc * 4096 = 1.024 ms (Fosc = 4MHz) The total wakeup time = 1.024ms + oscillator start-up time Version 0.7 SONiX TECHNOLOGY CO., LTD Page 62...
GIE bit will set to “1” to accept the next interrupts’ request. All of the interrupt request signals are stored in INTRQ register. Note: The GIE bit must enable during all interrupt operation. Version 0.7 SONiX TECHNOLOGY CO., LTD Page 64...
Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 INTEN_1 MSPIEN Read/Write After Reset Bit 0 MSPIEN: MSP interrupt control bit.. 0 = Disable 1 = Enable Version 0.7 SONiX TECHNOLOGY CO., LTD Page 65...
Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 INTRQ_1 MSPIRQ Read/Write After Reset Bit 0 MSPIRQ: MSP interrupt request bit. 0 = No Request. 1 = Request. Version 0.7 SONiX TECHNOLOGY CO., LTD Page 66...
Example: Store ACC and PAFLG data by PUSH, POP instructions when interrupt service routine executed. START INT_SERVICE START: … INT_SERVICE: PUSH ; Save ACC and PFLAG to buffers. … … ; Load ACC and PFLAG from buffers. Version 0.7 SONiX TECHNOLOGY CO., LTD Page 67...
Page 68
SN8P275X Series 8-bit micro-controller build-in 12-bit ADC RETI ; Exit interrupt service vector … ENDP Version 0.7 SONiX TECHNOLOGY CO., LTD Page 68...
8-bit micro-controller build-in 12-bit ADC 6.6 EXTERNAL INTERRUPT OPERATION (INT0~INT2) Sonix provides 3 sets external interrupt sources in the micro-controller. INT0, INT1 and INT2 are external interrupt trigger sources and build in edge trigger configuration function. When the external edge trigger occurs, the external interrupt request flag will be set to “1”...
A, #74H B0MOV T0C, A ; Reset T0C. … ; T0 interrupt service routine … EXIT_INT: … ; Pop routine to load ACC and PFLAG from buffers. RETI ; Exit interrupt vector Version 0.7 SONiX TECHNOLOGY CO., LTD Page 70...
A, #74H B0MOV TC0C, A ; Reset TC0C. … ; TC0 interrupt service routine … EXIT_INT: … ; Pop routine to load ACC and PFLAG from buffers. RETI ; Exit interrupt vector Version 0.7 SONiX TECHNOLOGY CO., LTD Page 71...
A, #74H B0MOV TC1C, A ; Reset TC1C. … ; TC1 interrupt service routine … EXIT_INT: … ; Pop routine to load ACC and PFLAG from buffers. RETI ; Exit interrupt vector Version 0.7 SONiX TECHNOLOGY CO., LTD Page 72...
For multi-interrupt conditions, two things need to be taking care of. One is to set the priority for these interrupt requests. Two is using IEN and IRQ flags to decide which interrupt to be executed. Users have to check interrupt control bit and interrupt request flag in interrupt routine. Version 0.7 SONiX TECHNOLOGY CO., LTD Page 75...
Page 76
; Jump to exit of IRQ B0BTS0 FADCIRQ ; Check ADCIRQ INTADC ; Jump to ADC interrupt service routine INT_EXIT: … ; Pop routine to load ACC and PFLAG from buffers. RETI ; Exit interrupt vector Version 0.7 SONiX TECHNOLOGY CO., LTD Page 76...
1 = Pn is output mode. Note: Users can program them by bit control instructions (B0BSET, B0BCLR). Note: If not used ADC function, AVDD must be connect with VDD, otherwise P4 I/O maybe ERROR. Version 0.7 SONiX TECHNOLOGY CO., LTD Page 77...
Page 78
; Set all ports to be output mode. B0MOV P0M, A B0MOV P4M,A B0MOV P5M, A B0BCLR P4M.0 ; Set P4.0 to be input mode. B0BSET P4M.0 ; Set P4.0 to be output mode. Version 0.7 SONiX TECHNOLOGY CO., LTD Page 78...
Example: Write one bit data to output port. B0BSET P4.0 ; Set P4.0 and P5.3 to be “1”. B0BSET P5.3 B0BCLR P4.0 ; Set P4.0 and P5.3 to be “0”. B0BCLR P5.3 Version 0.7 SONiX TECHNOLOGY CO., LTD Page 80...
Note: P1OC is write only register. Setting P10OC must be used “MOV” instructions. Example: Disable P1.0 to open-drain mode and output low. A, #0 ; Disable P1.0 open-drain function. B0MOV P1OC, A Note: After disable open-drain function, I/O mode returns to last I/O mode. Version 0.7 SONiX TECHNOLOGY CO., LTD Page 81...
CHS[2:0]: ADC input channels select bit. 000 = AIN0, 001 = AIN1, … 110 = AIN6, 111 = AIN7. Note: For P4.n general purpose I/O function, users should make sure of P4.n’s ADC channel is disabled. Version 0.7 SONiX TECHNOLOGY CO., LTD Page 82...
Page 83
; Set P4.1 output buffer to avoid glitch. B0BSET P4.1 ; Set P4.1 buffer as “1”. ; or B0BCLR P4.1 ; Set P4.1 buffer as “0”. ; Enable P4.1 output mode. B0BSET P4M.1 ; Set P4.1 as input mode. Version 0.7 SONiX TECHNOLOGY CO., LTD Page 83...
Example: An operation of watchdog timer is as following. To clear the watchdog timer counter in the top of the main routine of the program. Main: A, #5AH ; Clear the watchdog timer. B0MOV WDTR, A … … CALL SUB1 CALL SUB2 … … MAIN Version 0.7 SONiX TECHNOLOGY CO., LTD Page 84...
Page 85
; I/O and RAM are correct. Clear watchdog timer and ; execute program. B0BSET FWDRST ; Only one clearing watchdog timer of whole program. … CALL SUB1 CALL SUB2 … … … MAIN Version 0.7 SONiX TECHNOLOGY CO., LTD Page 85...
Load T0TB Fcpu T0C 8-Bit Binary Up Counting Counter CPUM0,1 T0 Time Out T0ENB Note: In RTC mode, the T0 interval time is fixed at 0.5 sec and isn’t controlled by T0C. Version 0.7 SONiX TECHNOLOGY CO., LTD Page 86...
T0ENB: T0 counter control bit. 0 = Disable T0 timer. 1 = Enable T0 timer. Note: T0RATE is not available in RTC mode. The T0 interval time is fixed at 0.5 sec. Version 0.7 SONiX TECHNOLOGY CO., LTD Page 87...
4 us 31.25 ms 122.07 us Fcpu/2 0.512 ms 2 us 15.625 ms 61.035 us Note: T0C is not available in RTC mode. The T0 interval time is fixed at 0.5 sec. Version 0.7 SONiX TECHNOLOGY CO., LTD Page 88...
0 = Disable TC0 timer. 1 = Enable TC0 timer. Note: When TC0CKS=1, TC0 became an external event counter and TC0RATE is useless. No more P0.0 interrupt request will be raised. (P0.0IRQ will be always 0). Version 0.7 SONiX TECHNOLOGY CO., LTD Page 91...
62.5 ms 244.141 us Note: TC0C can’t be set as 0xFF when TC0 timer operating in interrupt, buzzer output modes. TC0C available range is 0x00~0xFE. The problem doesn’t exist in pure PWM mode. Version 0.7 SONiX TECHNOLOGY CO., LTD Page 92...
= 100 = 64H Note: TC0R can’t be set as 0xFF when TC0 timer operating in interrupt, buzzer output modes. TC0R available range is 0x00~0xFE. The problem doesn’t exist in pure PWM mode. Version 0.7 SONiX TECHNOLOGY CO., LTD Page 93...
; Enable TC0 output to P5.4 and disable P5.4 I/O function B0BSET FALOAD0 ; Enable TC0 auto-reload function B0BSET FTC0ENB ; Enable TC0 timer Note: Buzzer output is enabled, and “PWM0OUT” must be “0”. Version 0.7 SONiX TECHNOLOGY CO., LTD Page 94...
Note: TC0C and TC0R can’t be set as 0xFF when TC0 timer operating in interrupt, buzzer output modes. TC0C and TC0R available range is 0x00~0xFE. The problem doesn’t exist in pure PWM mode. Version 0.7 SONiX TECHNOLOGY CO., LTD Page 96...
0 = Disable TC1 timer. 1 = Enable TC1 timer. Note: When TC1CKS=1, TC1 became an external event counter and TC1RATE is useless. No more P0.1 interrupt request will be raised. (P0.1IRQ will be always 0). Version 0.7 SONiX TECHNOLOGY CO., LTD Page 98...
Note: TC1C and TC1R can’t be set as 0xFF when TC1 timer operating in interrupt, buzzer output modes. TC1C and TC1R available range is 0x00~0xFE. The problem doesn’t exist in pure PWM mode. Version 0.7 SONiX TECHNOLOGY CO., LTD Page 99...
= 100 = 64H Note: TC1R can’t be set as 0xFF when TC1 timer operating in interrupt, buzzer output modes. TC1R available range is 0x00~0xFE. The problem doesn’t exist in pure PWM mode. Version 0.7 SONiX TECHNOLOGY CO., LTD Page 100...
; Enable TC1 output to P5.3 and disable P5.3 I/O function B0BSET FALOAD1 ; Enable TC1 auto-reload function B0BSET FTC1ENB ; Enable TC1 timer Note: Buzzer output is enabled, and “PWM1OUT” must be “0”. Version 0.7 SONiX TECHNOLOGY CO., LTD Page 101...
Note: TC1C and TC1R can’t be set as 0xFF when TC1 timer operating in interrupt, buzzer output modes. TC1C and TC1R available range is 0x00~0xFE. The problem doesn’t exist in pure PWM mode. Version 0.7 SONiX TECHNOLOGY CO., LTD Page 103...
125K Overflow per 16 count The Output duty of PWM is with different TC0R. Duty range is from 0/256~255/256. …… …… …… …… TC0 Clock TC0R=00H High TC0R=01H High TC0R=80H High TC0R=FFH Version 0.7 SONiX TECHNOLOGY CO., LTD Page 104...
TC0R, A INCMS BUF0 ; Get the new TC0R value from the BUF0 buffer defined by ; programming. B0MOV A, BUF0 B0MOV TC0R, A Note: The PWM can work with interrupt request. Version 0.7 SONiX TECHNOLOGY CO., LTD Page 106...
Note: TC0C and TC0R can be 0xFF in pure PWM output. If PWM function is operating with TC0 interrupt, TC0C and TC0R can’t be set as 0xFF and the available range is 0x00~0xFE. Version 0.7 SONiX TECHNOLOGY CO., LTD Page 107...
Page 108
… B0BTS1 FTC0IRQ INT_SER90 B0MOV A, TC0RBUF ; When TC0 Interrupt occurs, update TC0R. B0MOV TC0R, A … … INT_SER90: … ; Pop routine to load ACC and PFLAG from buffers. RETI Version 0.7 SONiX TECHNOLOGY CO., LTD Page 108...
125K Overflow per 16 count The Output duty of PWM is with different TC1R. Duty range is from 0/256~255/256. …… …… …… …… TC1 Clock TC1R=00H High TC1R=01H High TC1R=80H High TC1R=FFH Version 0.7 SONiX TECHNOLOGY CO., LTD Page 109...
TC1R, A INCMS BUF0 ; Get the new TC1R value from the BUF0 buffer defined by ; programming. B0MOV A, BUF0 B0MOV TC1R, A Note: The PWM can work with interrupt request. Version 0.7 SONiX TECHNOLOGY CO., LTD Page 111...
Note: TC1C and TC1R can be 0xFF in pure PWM output. If PWM function is operating with TC1 interrupt, TC1C and TC1R can’t be set as 0xFF and the available range is 0x00~0xFE. Version 0.7 SONiX TECHNOLOGY CO., LTD Page 112...
Page 113
… B0BTS1 FTC1IRQ INT_SER90 B0MOV A, TC1RBUF ; When TC1 Interrupt occurs, update TC1R. B0MOV TC1R, A … … INT_SER90: … ; Pop routine to load ACC and PFLAG from buffers. RETI Version 0.7 SONiX TECHNOLOGY CO., LTD Page 113...
SIO clock idle status. CPHA bit is designed to control the clock edge direction of data receive. CPOL and CPHA bits decide the SIO format. The SIO data transfer direction is controlled by MLSB bit to decide MSB first or LSB first. SIO Interface Circuit Diagram Version 0.7 SONiX TECHNOLOGY CO., LTD Page 114...
Page 115
The transfer first bit = LSB. SCK data transfer edge = Rising edge. SCK idle status = High. The transfer first bit = LSB. SCK data transfer edge = Falling edge. SIO Data Transfer Timing Version 0.7 SONiX TECHNOLOGY CO., LTD Page 115...
CPHA: The Clock Phase bit controls the phase of the clock on which data is sampled. 0 = Data receive at the first clock phase. 1 = Data receive at the second clock phase. Version 0.7 SONiX TECHNOLOGY CO., LTD Page 116...
0 = Start bit was not detected. 1 = Indicates that a start bit has been detected last Note1. It will be cleared when STOP bit was detected. Bit 2 RED_WRT: Read/Write bit information. Version 0.7 SONiX TECHNOLOGY CO., LTD Page 119...
0 = General call address disabled 1 = Enable interrupt when a general call address (0000h) is received. Bit 6 ACKSTAT: Acknowledge Status bit (In master mode only) In master transmit mode: Version 0.7 SONiX TECHNOLOGY CO., LTD Page 121...
Bit 2 Bit 1 Bit 0 MSPADR MSPADR7 MSPADR6 MSPADR5 MSPADR4 MSPADR3 MSPADR2 MSPADR1 MSPADR0 Read/Write After reset Bit [7:1] 7-bit Address. Bit 0 Tx/Rx mode control bit. 0=Tx mode. 1=Rx mode. Version 0.7 SONiX TECHNOLOGY CO., LTD Page 122...
4. MSP interrupt request MSPIRQ is set on the falling edge of ninth SCL pulse. Status when Data is Received Reply an ACK MSPSP signal MSPIRQ MSPBUF MSPOV Data Received Action Table Note1. BF=0, MSPOV=1 shows the software is not set properly to clear Overflow register. Version 0.7 SONiX TECHNOLOGY CO., LTD Page 123...
When overflow occur, no acknowledge signal replied which either BF=1 or MSPOV=1. MSP interrupt is generated in every data transfer. The MSPIRQ bit must be clear by software. Following is the Slave Receiving Diagram SLRXCKP=0 SLRXCKP=1 Version 0.7 SONiX TECHNOLOGY CO., LTD Page 124...
ACK_ = high, transmission is complete. Slave device will reset logic and waiting another START signal. If ACK_= low, slave must load MSPBUF which also MSPSR, and set CKP=1 to start data transmission again. MSP Slave Transmission Timing Diagram Version 0.7 SONiX TECHNOLOGY CO., LTD Page 125...
(ACK_) MSPIRQ flag set for interrupt request. In the interrupt service routine, reading MSPBUF can check if the address is the general call address or device specific. General Call Address Timing Diagram Version 0.7 SONiX TECHNOLOGY CO., LTD Page 126...
Normal mode before Master sent START signal. Note:2. In MSP wake-up, if the address not match, MCU will keep in power down mode. Note 3. Clear MSPWK before enter power down mode by Software for wake-up indication. Version 0.7 SONiX TECHNOLOGY CO., LTD Page 127...
MRG will reload when SCL pin is detected High. SCL clock rate = Fcpu/(MSPADDR)*2 For example, if we want to set 400Khz in 4Mhz Fcpu, the MSPADDR have to set 0x05h. MSPADDR=4Mhz/400Khz*2=5 MSP Rate Generator Block Diagram Version 0.7 SONiX TECHNOLOGY CO., LTD Page 128...
WCOL Status Flag If user write to MSPBUF when START condition processing, then WCOL is set and the content of MSPBUF data is un-changed. (the writer doesn’t occur) START Condition Timing Diagram Version 0.7 SONiX TECHNOLOGY CO., LTD Page 129...
WCOL Status Flag If user write to MSPBUF when Repeat START condition processing, then WCOL is set and the content of MSPBUF data is un-changed. (the writer doesn’t occur) Repeat Start Condition Timing Diagram Version 0.7 SONiX TECHNOLOGY CO., LTD Page 130...
Write ACKEN=1, ACKNDT=0 ACK_ MSPIRQ Clear MSPIRQ Clear MSPIRQ Set MSPIRQ at by Software by Software the end of receive Set MSPIRQ at the end of Acknowledge sequence Acknowledge Sequence Timing Diagram Version 0.7 SONiX TECHNOLOGY CO., LTD Page 131...
MSPADDR[6:0], and start down counter. This ensure that SCL high time will always be at least one MRG overflow time in the event that the clock is held low by an external device. Clock Arbitration sequence Timing Diagram Version 0.7 SONiX TECHNOLOGY CO., LTD Page 132...
(ACK_=1). A slave send an acknowledge when it has recognized its address (including general call), or when the slave has properly received the data. MSP Master Transmission Mode Timing Diagram Version 0.7 SONiX TECHNOLOGY CO., LTD Page 133...
WCOL Flag If user write to MSPBUF when a receive is already progress, the WCOL bit is set and the content of MSPBUF data will unchanged. MSP Master Receiving Mode Timing Diagram Version 0.7 SONiX TECHNOLOGY CO., LTD Page 134...
For 12-bit resolution the conversion time is 16 steps Note: The analog input level must be between the AVREFH and AVREFL. Note: The AVREFL connects to VSS internally in SN8P2754, SN8P2755 and SN8P2756. Note: The AVREFH level must be between the AVDD and AVREFL + 2.0V.
100 = AIN4, 101 = AIN5, 110 = AIN6, 111 = AIN7 Note: If ADENB = 1, users should set P4.n/AINn as input mode without pull-up. System doesn’t set automatically. If P4CON.n is set, the P4.n/AINn’s digital I/O function including pull-up is isolated. Version 0.7 SONiX TECHNOLOGY CO., LTD Page 136...
Analog Signal Input 0.1uF VREFH Reference High Voltage Input 47uF 0.1uF ADC reference high voltage is from external voltage. The capacitor (47uF) between VREFH and VSS is necessary to stable VERFH voltage. Version 0.7 SONiX TECHNOLOGY CO., LTD Page 141...
1:The D/A converter is not designed for a precise DC voltage output and is suitable for a simple audio application e.g. Tone or Melody generation. 2:For best linearity performance, the max. Loading Resistance R is 150 ohm @5V, 100 ohm @3V Version 0.7 SONiX TECHNOLOGY CO., LTD Page 142...
Note: 1. “M” is system register or RAM. If “M” is system registers then “N” = 0, otherwise “N” = 1. 2. If branch condition is true then “S = 1”, otherwise “S = 0”. Version 0.7 SONiX TECHNOLOGY CO., LTD Page 144...
SN8ICE 2K Plus: Full function emulates SN8P275X series. Use ICE emulation MSP function: 1. P10 must connect to LCD_CLK,P11 must connect to LCD_SDA. 2. P10/P11 is built-in open-drain function. When enable open-drain function, P10/P11 must connect pull-up resistor. Version 0.7 SONiX TECHNOLOGY CO., LTD Page 146...
MPIII Writer: It's convenient to connect Full Speed USB 1.1 port with PC and then update the writer, connect programming chip or download programming code. 15.1.3 IDE (Integrated Development Environment) SONiX 8-bit MCU integrated development environment include Assembler, ICE debugger and OTP writer software. For SN8ICE 2K Plus: M2IDE V1.19 or later Version 0.7 SONiX TECHNOLOGY CO., LTD...
Marking Definition 17.1 INTRODUCTION There are many different types in Sonix 8-bit MCU production line. This note listed the production definition of all 8-bit MCU for order or obtain information. This definition is only for Blank OTP MCU. 17.2 MARKING INDETIFICATION SYSTEM SN8 X PART No.
Need help?
Do you have a question about the SN8P2754 and is the answer not in the manual?
Questions and answers