CW1802/CW1802T

Similar documents
MICROCHIP EVM Board : APP APP001 PICmicro Microchip APP001 40pin PDIP PICmicro Design Tips Character LCM Temperature Sensor Application I/O Pi

ICD ICD ICD ICD ICD

ARM Cortex-M3 (STM32F) STMicroelectronics ( ST) STM32F103 Core: ARM 32-bit Cortex -M3 CPU 72 MHz, 90 DMIPS with 1.25 DMIPS/MHz Single-cycle multiplica

(Load Project) (Save Project) (OffLine Mode) (Help) Intel Hex Motor

2 Keil µ vision 2.1 1) Keil µ vision2 V2.34 µ vision3 2) Sino_Keil.exe Keil c:\keil\ 3) JET51 USB PC C:\Keil\ USB PC 4) S-L

FM1935X智能非接触读写器芯片

USB解决方案.ppt

P4i45GL_GV-R50-CN.p65

目录

Tel:

邏輯分析儀的概念與原理-展示版

行业

FM1935X智能非接触读写器芯片

行业

Bus Hound 5

untitled

2 PIC PIC 1 / CPU PIC MCU PIC RC

General Description: Preliminary TTP916 Consumer IC VCD/DVD LCD Green mode Stand-by mode( 1W ) Features: 2.2V-5.5V LCD RAM read condition 2.6V-5.5V RC

ATMEL AT90S8515 AVR CPU AVR AVR AVR ATMEL RISC 32 8 r0 r X Y Z R0 R1 R2 R13 R14 R15 R16 R17 R26 R27 R28 R29 R30 R31 0x00 0x

行业

Cube20S small, speedy, safe Eextremely modular Up to 64 modules per bus node Quick reaction time: up to 20 µs Cube20S A new Member of the Cube Family

PIC16F F MPLAB 08 16F LED 15 LED

行业

STK2139 Datasheet

GH1220 Hall Switch

1-1 SH79F6431 A. 2( ) 9~15V ( 12V) U2 U3 3.3V SH79F B. 1(VCC/GND) SH79F6431 C. VDDIO SH79F6431 P4 P5 P0.6 P0.7 VDDIO VDDIO=5V D. 2 V 1.0

Ch03_嵌入式作業系統建置_01

bingdian001.com

untitled

P4Dual-915GL_BIOS_CN.p65

PTS7_Manual.PDF

行业

AN INTRODUCTION TO PHYSICAL COMPUTING USING ARDUINO, GRASSHOPPER, AND FIREFLY (CHINESE EDITION ) INTERACTIVE PROTOTYPING

audiogram3 Owners Manual

SPHE8202R Design Guide Important Notice SUNPLUS TECHNOLOGY CO. reserves the right to change this documentation without prior notice. Information provi

Section1_16bit Arc.ppt

Pin Configurations Figure2. Pin Configuration of FS2012 (Top View) Table 1 Pin Description Pin Number Pin Name Description 1 GND 2 FB 3 SW Ground Pin.

a b c d e f g C2 C1 2

P4V88+_BIOS_CN.p65

1 TPIS TPIS 2 2

P4VM800_BIOS_CN.p65

Microsoft PowerPoint - ATF2015.ppt [相容模式]

目 录

T stg -40 to 125 C V cc 3.8V V dc RH 0 to 100 %RH T a -40 to +125 C -0.3 to 3.6V V -0.3 to VDD+0.3 V -10 to +10 ma = 25 = 3V) VDD

2 14 PORTC.1 PORTB.3 PORTA.2/T0 GND PORTB.2 PORTA.0 PORTC.3 PORB.0/OSCO PORTB.1/OSCI PORTC.0 PORTC.2 SH69P21 /SOP PORTA

AL-M200 Series

文件名

Chroma 61500/ bit / RMS RMS VA ()61500 DSP THD /61508/61507/61609/61608/ (61500 ) Chroma STEP PULSE : LISTLIST 100 AC DC

775i65PE_BIOS_CN.p65

untitled

Microsoft Word - MTK平台生产软件使用说明.doc

12232A LED LED LED EL EL CCFL EL CCF


Microsoft Word - MSP430 Launchpad 指导书.docx

中文手册

Serial ATA ( Silicon Image SiI3114)...2 (1) SATA... 2 (2) B I O S S A T A... 3 (3) RAID BIOS RAID... 5 (4) S A T A... 8 (5) S A T A... 10

Application Note Format

Table of Contents A. Product Outline.. 3 B. Features.. 4 C. Block Diagram... 5 D. Pin Assignments. 6 E. Physical Specifications... 7 F. DC Characteris

单片机应用编程技巧(专家:邓宏杰)

第4章 系统设置

Edge-Triggered Rising Edge-Triggered ( Falling Edge-Triggered ( Unit 11 Latches and Flip-Flops 3 Timing for D Flip-Flop (Falling-Edge Trigger) Unit 11

Microsoft Word - LD5515_5V1.5A-DB-01 Demo Board Manual

untitled

Huawei Technologies Co

BC04 Module_antenna__ doc

Microsoft Word - ML63S_8.doc

MCU DSP MSO MCU DSP MSO MSO MSO MCU/DSP I/O MSO 16 Microchip IC18 turn-on MSO chirp MCU I/O I 2 C

1.1 ML_ONOFF = 1 Q 3 Q 8 C 0.3V M 2 L 1 ML_ONOFF = 0 Q 3 Q 8 C 1. + R31 VCC R21 10K ML_ONOFF R15 0:off 1:on 1K Green Light VCC=5V L1 Q VDD=12V C

Microsoft Word - LR1122B-B.doc

untitled

SDP

第10章:CCP捕捉/比较/脉宽调制

SPMC75F2413A_EVM_使用说明_V1.2.doc

逢甲大學

逢 甲 大 學

ARM JTAG实时仿真器安装使用指南

68369 (ppp quickstart guide)

System Design and Setup of a Robot to Pass over Steps Abstract In the research, one special type of robots that can pass over steps is designed and se

PROTEUS VSM

<4D F736F F D20C7B6C8EBCABDCFB5CDB3C9E8BCC6CAA6BFBCCAD4B4F3B8D92E646F63>

untitled

MODEL 62000H SERIES 5KW / 10KW / 15KW 0 ~ 375A 0 ~ 1000V/2000V( ) : 200/220Vac, 380/400Vac, 440/480Vac 3U/15KW / & 150KW / ( 10 ms ~ 99 hours)

穨control.PDF

Microsoft Word - AP1515V02

V6800/V6600 3D

1 CPU

MENU SYD8821: Ultra Low Power Bluetooth 4.2 Single Mode SoC General Description Key Features Applications Key Para

ARK-14013/14017/14018

RAID RAID 0 RAID 1 RAID 5 RAID * ( -1)* ( /2)* No Yes Yes Yes A. B. BIOS SATA C. RAID BIOS RAID ( ) D. SATA RAID/AHCI ( ) SATA M.2 SSD ( )

Hz 10MHz 0.5V 5V 0.01% 10s 2 0.5V 5V 1Hz 1kHz 10% 90% 1% 3 1Hz 1MHz 1% EPM7128SLC84-15 LM361 LM361 Zlg

untitled

K7M SLOT 1

《计算机应用基础》学习材料(讲义)

(02) (02) (02) (02) (02

Outline USB Application Requirements Variable Definition Communications Code for VB Code for Keil C Practice

D/A DAC ( 1us) (10~20 ) DAC0832 1

图 片 展 示 : 资 源 简 介 : FPGA Altera CycloneII EP2C5T144C8 (4608 个 LE) 2 路 有 源 晶 振 (50M,25M) AS & JTAG 标 准 接 口 VGA 接 口 UART 接 口 蜂 鸣 器 8bit 并 行 DAC 8 路 按 键

Hi3518EV200 HD IP Camera SoC Hi3516A

投影片 1

Transcription:

SX8F1802/SX8F1802T 内置 USB 的 8 位 AD 型 MCU

High-Performance RISC CPU: Only 35 instructions to learn: - All single-cycle instructions except branches Operating speed: - 125K-16 MHz internal clock - 8us 62.5 ns instruction cycle Interrupt capability 8-level deep hardware stack Direct, Indirect and Relative Addressing modes Special Microcontroller Features: Precision Internal Oscillator: - Factory calibrated to ±1%, typical - Software selectable frequency range of 16 MHz to 125 khz - Software tunable - Two-Speed Start-up mode - Clock mode switching during operation for power savings Software Selectable 10 khz Internal Oscillator Power-Saving Sleep mode Wide operating voltage range (2.0V-5.5V) Industrial and Extended Temperature range Power-on Reset (POR) Power-up Timer (PWRT) Timer (OST) Enhanced low-current Watchdog Timer (WDT) with on-chip oscillator (software selectable nominal 268 seconds with full prescaler) with software enable Multiplexed Master Clear with pull-up/input pin Programmable code protection High Endurance OTP cel Low-Power Features: Standby Current: - 5 ua @ 2.0V, typical Operating Current: - 11 A @ 32 khz, 2.0V, typical - 220 A @ 4 MHz, 2.0V, typical Watchdog Timer Current: - 1 A @ 2.0V, typical Peripheral Features: 14 I/O pins with individual direction control: - High current source/sink for direct LED drive - Interrupt-on-change pin - Individually programmable weak pull-ups - Ultra Low-Power Wake-Up (ULPWU) A/D Converter: - 10-bit resolution and 8 channels Timer0: 8-bit timer/counter with 8-bit programmable prescaler Enhanced Timer1: - 16-bit timer/counter with prescaler - External Timer1 Gate (count enable) - Option to use OSC1 and OSC2 in LP mode as Timer1 oscillator if INTOSC mode selected Timer2: 8-bit timer/counter with 8-bit period register, prescaler and postscaler Enhanced Capture, Compare, PWM module: - 16-bit Capture, max resolution 12.5 ns - Compare, max resolution 200 ns - 10-bit PWM with 1, 2 or 4 output channels, programmable dead time, max frequency 20 khz In-Circuit Serial Programming via SPI USB 1.1 Devic Hardware SPI maste T-key scan, configurable all GPIOs or part of GPIOs GP0 可以驱动 200ma 2 LDOs, 3.3V, 3.3 and 1.8V OTP SRAM IO ADC(10 bits) 4K words 256 bytes 14 8 channels

1. 简介 SX8F1802 的 Core 兼容 16F684 所有指令, 兼容 16F684 的大部分外围模块 ( 硬件和软件 ), 并在这基础上加入了 : USB1.1 Device SPI Master T key 扫描电路 增加了 2 个 GPIO, 就是 USB 的 DP/DM SX8F1802 有 16F684 的大部分外围模块, 它的 Memory Map 也基本一样, 但有下面不一样 : Flash 换成了 OTP, 并扩展到 4K Words 没有了 EEPROM 没有了电压比较器 RortC 口上拉设置 :95H(WPU) 寄存器的 Bit3(0-7) 要设成 1,RC 会同时上拉 PortC 口输入设置 :8DH 寄存器的 bit4(0-7) 要设成 0, 从 86H 寄存器读取 IO 值 PortC 口设置 IO 输出电平时不能用位操作 USB SPI 和 T 型按键有部分寄存器不能用位操作 :9DH,98H,19H,88H,93H, 写 9AH 和 9CH 时不能用位操作, 但读 9AH 和 9CH 时, 可以用 BTFSS 和 BTFSC 指令 程序超过 2K 时需要切换 ROM BANK, 操作如下 : 1) 使能切换 ROM BANK, 把 89H 寄存器的最高位置 1 MOVLW 0x80 --->MOVWF 89H 2) 把 PCLATH 的第 3 位置 1 MOVLW 0x08 --->IORWF PCLATH,F 3) 通过跳转指令 CALL 或者 GOTO 就能切换到第二个 ROM BANK. 4) 想切换回到第一个 ROM BANK 时, 先把 PCLATH 的第 3 位清 0: MOVLW 0XF7 ---> ANDWF PCLATH,F 再通过跳转指令 GOTO 或者 RETUEN, 切换到第一个 ROM BANK SX8F1802 OTP 版本 VDD 连接 : 1 使用 USB 时, VDD50 与 VDDBG 相连,VDD33_OUT 与 VDD33 相连,VDD50 接 5V 2 不使用 USB 时,VDD50 和 VDD33_OUT 接地,VDD33 与 VDDBG 相连,VDD33 接输入电压 SX8F1802 有两个版本,SX8F1802 是量产版本, SX8F1802T 是只为开发用, 是因为 OTP 不方面开发 SX8F1802T 和 SX8F1802 的区别是 : SX8F1802T 没有内置 OTP, 但有 NOR Flash 接口, 用户可以把程序烧入外部 Flash 进行调试 SX8F1802T 主频只能到 8MHz.

2. 管脚和 PAD SX8F1802T 只提供 bonding, bonding 图参考下边 名称 功能 说明 VDD33 VDD33 3.3V 电源 VDD VDD 1.8V 电源 GP5 GP4 GP3 GP5 T1CKI KEY_S7 GP4 CLKOUT KEY_S8 AN3 GP3 MCLR 带上拉和电平变化中断功能的 GPIO I/O Timer1 时钟 带上拉和电平变化中断功能的 GPIO I/O FOSC/4 输出 A/D 通道 3 输入 带电平变化中断的 GPIO 输入带内部上拉的主复位

GP2 GP1 GP2 T0CKI INT CCP1 AN2 KEY_S9 SPI_DO GP1 AN1 VREF KEY_S10 SPI_DI 带电平变化中断的 GPIO 输入 Timer0 时钟输入外部中断捕捉输入 / 比较输出 /PWM 输出 A/D 通道 2 输入 SPI 输出 带电平变化中断的 GPIO 输入 A/D 通道 1 输入 A/D 外部参考电压 SPI 输入 GP0 GP0 AN0 KEY_S11 SPI_CLK 带电平变化中断的 GPIO 输入 A/D 通道 0 输入 SPI 时钟 VSS VSS 接地参考端 VCCA USB PHY 电源 AGND1 USB PHY 地线 AGND2 USB PHY 地线 DM USB I/O, 也可以做 GPIO DP USB I/O, 也可以做 GPIO VDDA USB PHY 电源,3.3V, 可以闲空 VCC USB PHY 电源,1.8V, 可以闲空 TEST pad_test_mode 烧录控制信号, 只有 SX8F1802T 有 RC0 RC1 RC2 RC3 RC0 KEY_S5 AN4 RC1 KEY_S4 AN5 RC2 KEY_S3 AN6 RC3 KEY_S2 AN7 A/D 通道 4 输入 A/D 通道 5 输入 A/D 通道 6 输入 A/D 通道 7 输入 RC4 RC4 KEY_S1

RC5 pdout_p7 pdout_p6 pdout_p5 pdout_p4 pdout_p3 pdout_p2 pdout_p1 pdout_p0 pclk_p pa_p12 pa_p11 pa_p10 pa_p9 pa_p8 pa_p7 pa_p6 pa_p5 pa_p4 pa_p3 pa_p2 pa_p1 pa_p0 RC5 KEY_S0 外部 eep 数据 bit7, 其他 bit 的位置和末尾数一样, 下边所有的都只有 SX8F1802T 才有外部 eep 数据外部 eep 数据外部 eep 数据外部 eep 数据外部 eep 数据外部 eep 数据外部 eep 数据外部 eep 时钟外部 eep 地址 bit12, 其他 bit 的位置和末尾数一样外部 eep 地址外部 eep 地址外部 eep 地址外部 eep 地址外部 eep 地址外部 eep 地址外部 eep 地址外部 eep 地址外部 eep 地址外部 eep 地址外部 eep 地址外部 eep 地址 SX8F1802 有几种封装形式 第一种是全封装的, 所有的脚都 bond 出来,SSOP18. 管脚 名称 功能 说明 1 VDD5 VDD 5V 输入 2 VDD33_OUT VDD VDD 3.3V 输出 3 VDD33_IN VDD VDD 3.3V 输入 4 GP5 GP5 T1CKI KEY_S7 带上拉和电平变化中断功能的 GPIO I/O Timer1 时钟烧入模式选择脚

5 6 7 8 9 10 GP4 GP3 RC5 RC4 RC3 GP4 CLKOUT KEY_S8 AN3 GP3 MCLR RC5 KEY_S0 RC4 KEY_S1 RC3 KEY_S2 AN7 带上拉和电平变化中断功能的 GPIO I/O FOSC/4 输出 A/D 通道 3 输入 带电平变化中断的 GPIO 输入带内部上拉的主复位 A/D 通道 7 输入 11 DP USB Data+ 12 13 14 15 DM RC2 RC1 RC0 GP2 RC2 KEY_S3 AN6 RC1 KEY_S4 AN5 SPI MDI RC0 KEY_S5 AN4 SPI MDO GP2 T0CKI INT CCP1 AN2 KEY_S9 USB Data- A/D 通道 6 输入 A/D 通道 5 输入 SPI 数据输入 A/D 通道 4 输入 SPI 数据输出带电平变化中断的 GPIO 输入 Timer0 时钟输入外部中断捕捉输入 / 比较输出 /PWM 输出 A/D 通道 2 输入

SPI CLK SPI 输入 16 GP1 GP1 AN1 VREF KEY_S10 SPI MDI 带电平变化中断的 GPIO 输入 A/D 通道 1 输入 A/D 外部参考电压 SPI 输入 17 GP0 AN0 KEY_S11 带电平变化中断的 GPIO 输入 A/D 通道 0 输入 GP0 SPI MDO SPI 数据输出 18 VSS VSS 接地参考端 第二种是没有 USB 并 12F684 兼容封装封装的,SSOP14. 管脚 名称 功能 说明 1 VDD33_IN VDD VDD 3.3V 输入 2 3 4 5 6 7 GP5 GP4 GP3 RC5 RC4 RC3 GP5 T1CKI KEY_S7 GP4 CLKOUT KEY_S8 AN3 GP3 MCLR RC5 KEY_S0 RC4 KEY_S1 RC3 KEY_S2 AN7 带上拉和电平变化中断功能的 GPIO I/O Timer1 时钟烧入模式选择脚 带上拉和电平变化中断功能的 GPIO I/O FOSC/4 输出 A/D 通道 3 输入 带电平变化中断的 GPIO 输入带内部上拉的主复位 A/D 通道 7 输入

8 9 10 11 12 RC2 RC1 RC0 GP2 GP1 RC2 KEY_S3 AN6 RC1 KEY_S4 AN5 SPI MDI RC0 KEY_S5 AN4 SPI MDO GP2 T0CKI INT CCP1 AN2 KEY_S9 SPI CLK GP1 AN1 VREF KEY_S10 SPI MDI A/D 通道 6 输入 A/D 通道 5 输入 SPI 数据输入 A/D 通道 4 输入 SPI 数据输出带电平变化中断的 GPIO 输入 Timer0 时钟输入外部中断捕捉输入 / 比较输出 /PWM 输出 A/D 通道 2 输入 SPI 输入带电平变化中断的 GPIO 输入 A/D 通道 1 输入 A/D 外部参考电压 SPI 输入 13 GP0 AN0 KEY_S11 带电平变化中断的 GPIO 输入 A/D 通道 0 输入 GP0 SPI MDO SPI 数据输出 14 VSS VSS 接地参考端 第三种是 12F683 兼容封装,SSOP8. 管脚 名称 功能 说明 1 VDD33_IN VDD VDD 3.3V 输入 2 GP5 GP5 T1CKI KEY_S7 带上拉和电平变化中断功能的 GPIO I/O Timer1 时钟烧入模式选择脚

3 4 5 6 GP4 GP3 GP2 GP1 GP4 CLKOUT KEY_S8 AN3 GP3 MCLR GP2 T0CKI INT CCP1 AN2 KEY_S9 SPI CLK GP1 AN1 VREF KEY_S10 SPI MDI 带上拉和电平变化中断功能的 GPIO I/O FOSC/4 输出 A/D 通道 3 输入 带电平变化中断的 GPIO 输入带内部上拉的主复位带电平变化中断的 GPIO 输入 Timer0 时钟输入外部中断捕捉输入 / 比较输出 /PWM 输出 A/D 通道 2 输入 SPI 输入带电平变化中断的 GPIO 输入 A/D 通道 1 输入 A/D 外部参考电压 SPI 输入 7 GP0 AN0 KEY_S11 带电平变化中断的 GPIO 输入 A/D 通道 0 输入 GP0 SPI MDO SPI 数据输出 8 VSS VSS 接地参考端 第四种是 SOP16. 管脚 名称 功能 说明 1 VDD33_IN VDD VDD 3.3V 输入 2 3 GP5 GP4 GP5 T1CKI KEY_S7 GP4 CLKOUT KEY_S8 AN3 带上拉和电平变化中断功能的 GPIO I/O Timer1 时钟烧入模式选择脚 带上拉和电平变化中断功能的 GPIO I/O FOSC/4 输出 A/D 通道 3 输入

4 5 6 7 8 GP3 RC5 RC4 RC3 GP3 MCLR RC5 KEY_S0 RC4 KEY_S1 RC3 KEY_S2 AN7 带电平变化中断的 GPIO 输入带内部上拉的主复位 A/D 通道 7 输入 9 10 11 12 13 14 VDDA VDD_OUT 1.8V LDO OUT, 需要接电容 DP RC2 RC1 RC0 GP2 GP1 USB IO RC2 KEY_S3 AN6 RC1 KEY_S4 AN5 SPI MDI RC0 KEY_S5 AN4 SPI MDO GP2 T0CKI INT CCP1 AN2 KEY_S9 SPI CLK GP1 AN1 VREF KEY_S10 USB Data+ I/O A/D 通道 6 输入 A/D 通道 5 输入 SPI 数据输入 A/D 通道 4 输入 SPI 数据输出带电平变化中断的 GPIO 输入 Timer0 时钟输入外部中断捕捉输入 / 比较输出 /PWM 输出 A/D 通道 2 输入 SPI 输入带电平变化中断的 GPIO 输入 A/D 通道 1 输入 A/D 外部参考电压

SPI MDI SPI 输入 15 GP0 AN0 KEY_S11 带电平变化中断的 GPIO 输入 A/D 通道 0 输入 GP0 SPI MDO SPI 数据输出 16 VSS VSS 接地参考端 SX8F1802 bonding 图 : 3. SX8F1802 测试版示意图 PCB 接点 VSS GP0 GP1 GP2 RC0 RC1 RC2 VCCA AGND1 AGND2 SX8F1802T Address NOR Flash PCB 接点 RC3 RC4 RC5 GP3 GP4 GP5 VDD33 io13

Data CS GND 4. USB Device 1.1 注 : 蓝色部分只是 SX8F1802 有, 但 SX8F1802T 没有 USB 有 4 个 endpoint, 是固定设置, 不能改变 设置如下 : 第一个是 control, 其它 3 个是 IN 最大的 Packet 是 8 个 byte 第一个 endpoint 有一个输出 FIFO, 一个输入 FIFO, 各 8 bytes 其他的 endpoint 有一个 IN FIFO, 各 8 bytes 软件把 IN FIFO 写满或写一部分, 等空了 ( 中断或标志查询 ) 再写如果发小于 8 个数据, 把数据写到 FIFO 的后半部分, 最后再写一次第一个要发的地址, 把内部指针指向在第一个要发的数据, 当 IN token 一来, 就从这个数据一直发送到第 8 个数据 指针先增加, 后写数据 这是写 endpoint 3 的例子, 只发 4 个数据 ;; lock ds MOVLW 10H MOVWF 9CH ; set fifo addr starting point MOVLW 1BH ; 注意, 这里指向低 3 个数据, 先加指针 MOVWF 9DH MOVLW 34H ; 注意, 这里写了低 4 个数据 MOVWF 9BH MOVLW 35H MOVWF 9BH MOVLW 36H MOVWF 9BH MOVLW 37H MOVWF 9BH

; set where should the star point,note it is start pointer-1 MOVLW 1B ; here set the start pointer to 3, will send bytes 4 to 7 MOVWF 9DH ;; do 1 dummy write MOVLW 34H MOVWF 9BH 软件等 OUT FIFO 满了 ( 中断或标志查询 ), 可以把数据读出, 做判断, 等的时候可以 做别的事 OUT 还有一个非空标志, 软件可以判断有数据在 FIFO 里, 就读, 这主要是 为小于 8 个数据的包做处理 软件只需要等到收到 Package, 读出 package 和一些状态位, 对 package 进行判断, 然 后把响应的 package 写到对应的 FIFO 里 要写 / 读 FIFO, 先设 FIFO 地址 register, 0x9D Bit 5-7 Bit 3-4 Bit 0-2 Not Used FIFO 对应的 Endpoint number, 有效数是 0 到 3, 第一个 endpoint 有两个 FIFO, 都应设 0, 写是写到 OUT FIFO, 读是读 IN FIFO, 其他的 endpoint 只能写 一个 FIFO 里 byte offset, 设了 offset 后, 可以连续读 / 写,offset 会自动增减, 到了 7, 会回到 0. 设了 FIFO 的地址后, 就可以通过 0x9B 读 / 写 FIFO. Register 0x9A 是第一个 USB configure register, 读的时候可以读出 USB 状态, 定义如下 : USB Configure Register 1(0x9A) Bit name Defaults 描述 number 0 Enable 0 写 1: 使能 USB PHY, 写 0:power down PHY; PHY/FIFO0 IN 读 : 1 是 endpoint 0 IN FIFO empty empty 1 USB speed/ 1 写 1: full speed, 写 0: low speed; FIFO0 OUT FULL 读 : 1 是 endpoint 0 OUT FIFO full 2 PHY suspend/ 0 写 1: suspend PHY, FIFO1 IN empty 读 : 1 是 endpoint 1 IN FIFO empty 3 DM pull up/ 0 写 1: enable DM 内部 pull up FIFO0 OUT not 读 : 1 是 endpoint 0 OUT FIFO has data empty

4 Resume/ FIFO2 0 写 1: 在 suspend 后,resume USB, 需呀手动清零 ; IN empty 读 : 1 是 endpoint 2 IN FIFO empty 5 Soft reset 0 写 1: 复位整个 USB, 一定要写 0 才能放开 ; 6 Pull Down/ 1 写 1: pull down DP/DM; FIFO3 IN empty 读 : 1 是 endpoint 3 IN FIFO empty 7 ; Register 0x9C 是第二个 USB configure register, 读的时候可以读出 USB 状态, 它有 4 个 registers, 要读 / 写其中一个, 要先设定 0x9D 地址 register 来选定 offset, 定义如下 : USB Configure Register 2(0x9C,offset=0) Bit name Defaults 描述 number 0 Stall EN0/Setup 0 写 1: Stall endpoint 0; 读 : 1 是指收到的 package 是 Setup 1 Stall EN1/Softreset 0 写 1: Stall endpoint 1; 读 : 1 是指收到了 softreset 指令 2 Stall EN2/USBreset 1 写 :Stall endpoint 2 读 : 1 是 USB bus 在 reset 状态 3 Stall EN3/suspend 0 写 1: Stall endpoint 3; 读 : 1 是 USB bus 在 supend 状态 4 LOCK FIFO/NACK 1 写 1: 要是 USB 要求 FIFO, 并且 FIFO_ADDR[4:3] 也指向这个 endpoint, 就回 NAK,USB 不会对 FIFO 读 / 写, 这样防止 FIFO 同时读 / 写产生错误 读 : 1 是收到了 NACK 5 DPPU_LO/ACK 只读 写 1: 使能 DP weak pull up 1: 是收到了 NACK 6 Toggle/SOF 只读 写 1, FIFO_ADDR[4;3] 指向的 endpoint 会被强迫翻转 data0/data1 注意 :FIFO_ADDR[4:3]=0 指向 EP1 FIFO_ADDR[4:3]=2 指向 EP2 FIFO_ADDR[4:3]=3 指向 EP3 1: 是收到 SOF (star of frame) 7 Disable OTP power down 0 写 1, 在睡眠状态时, 不关闭 OTP Bit number USB Configure Register 2(0x9C,offset=1) name Defaults 描述

2:0 Alternate Interface 只读 Set_Interface 命令设的 Alternate Interface number 4:3 Interface 只读 Set_Interface 命令设的 Interface number 6:5 Configure 只读 Set Configure 命令设的 configure value 7 Not Used 0 USB Configure Register 2(0x9C,offset=2) Bit name Defaults 描述 number 7:0 Time Stamp 只读 当验测到 SOF 时,Bit 0 to 7 of Time stamp USB Configure Register 2(0x9C,offset=3) Bit name Defaults 描述 number 2:0 Time Stamp 只读 当验测到 SOF 时,Bit 8 to 10 of Time stamp 5: 3 Not Used 6 DM 只读 DM 的值, 当把 DM 当 GPIO 用时, 可通过这位来读 DM 脚的值 7 DP 只读 DP 的值, 当把 DM 当 GPIO 用时, 可通过这位来读 DP 脚的值 USB Configure Register 2(0x9C,offset=6) Bit name Defaults 描述 number 0 NAK0 只读 Endpoint 0 有 NAK(IN 没有 data 在 FIFO 里, OUT 时 FIFO 不空, 读时清 0 1 NAK1 只读 Endpoint 1 有 NAK(IN 没有 data 在 FIFO 里 ), 读时清 0 2 NAK2 只读 Endpoint 2 有 NAK(IN 没有 data 在 FIFO 里 ), 读时清 0 3 NAK2 只读 Endpoint 3 有 NAK(IN 没有 data 在 FIFO 里 ), 读时清 0 USB 中断 所有 USB 的 Full 和 Empty 状态产生一个 USB 总中断, 但每个 USB 中断源可以单独使能 总中断的标准位是 0x0C(PIR1) 寄存器的 bit 2 ( 最低位是 0), 必须要往这位写 0 才能 清掉

USB 里的中断源有 Endpoint 0-3. IN FIFIO 空 Endpoint 0, OUT FIFO 慢 Endpoint 0-3 有 NAK USB Host reset SX8F1802 收到 setup 包 要使能 USB 的总中断, 要往 0x8C(PIE1) 寄存器的 bit 2 ( 最低位是 0) 写 1, 要单独使 能各个中断, 配置下边的寄存器 USB Configure Register 2(0x98) Bit name Defaults 描述 number 0 Empty 0 EN 0 1: 使能 Endpoint 0 IN FIFO 空中断 1 Empty 1 EN 0 1: 使能 Endpoint 1 IN FIFO 空中断 2 Empty 2 EN 0 1: 使能 Endpoint 2 IN FIFO 空中断 3 Empty 3 EN 0 1: 使能 Endpoint 3 IN FIFO 空中断 4 Full 0 EN 0 1: 使能 Endpoint 0 OUT FIFO 满中断 5 保留 0 6 CLR ACK INT FLAG 0 写 0 来清除 ACK INT 标志位, 不需要清除时设为 1 7 EN NEW INT 0 写 1 来使能新的中断 USB Interrupt Enable Register 2(0x19) Bit name Defaults 描述 number 0 NAK EN 0 1: 使能 NAK 中断, 任何一个 endpoint NAK 都会产生中断 1 5V LDO Disable 0 1: 禁用 5V LDO, 省功耗 2 保留 0 1: 使能 Endpoint 2 IN FIFO 空中断 3 Setup EN 0 1: 使能 USB setup 中断 4 ACK INT EN 0 1: 使能 USB ACK 中断 注意 : 使能 USB ACK 中断时,98H.6 位应设为 1, 进入中断后,98H.6 位设为 0, 清掉中断 标志位 USB 强迫 Data0/Data1 翻转 如果应用需呀强行把某个 endpoint data0/data1 的包换成 data1/data0, 把 fifo-add[4:3] 设置 到这个 endpoint, 把 0x9C 的 bit 6 设为 1. DP 和 DM 也可以用来做普通的 GPIO, 但要用它们, 必须要把 USB 使能, 这会增加 8ma

的功耗 参考下边红色的寄存器设计 PORT C (0x87) Name Bit Reset Descriptions Values RC pin number [5:0] 0 PORTC 的方向 ( 输出 输入, 和 684 一样的 ) USB GPIO mode 6 0 1: 会强迫 DP/DM 做为 GPIO, 输出模式 DP DM Value (0x85) Name Bit Reset Descriptions Values DP 6 0 DP 数出的值 DM 7 0 DM 数出的值 要是 DP/DM 作为 GPIO 输入, 不用设置, 只要把 USB enable, 读 USB Configure Register 2(0x9C, offset=3, bit 6 和 7 就好 5. LDO SX8F1802 有两个 LDO, 一个输出 1.8V, 用作 core 供电, 输入电压从 2V 到 5V, 另一个输出 3.3V, 给 USB 供电, 同时会输出 3.3V 到管脚, 可以给其他芯片供电, 最大电流是 100ma, 同时也可以把他的输出电压接到 1.8V LDO 的输入 如果不用 USB, 可以不用 5.5V LDO, 用 0x9C 寄存器 (USB Configure Register 2,x9C,offset=0) 的 bit 7 把他关掉, 做到功耗最低 6. SPI Master SPI module is SPI master. Like SPI standard, the clock phase and polarity are configurable via configure registers. The following figure shows the timing diagram of SPI with 4 different configure combinations.

SPI has 4 interface pins: chip select, clock, data output and data input. SPI generates interrupts when it completes sending and receiving. By default, this interrupt is masked. SPI can run up to 16mHz. SPI speed can be changed by Clock divider bits in SPI Control Registers. SPI Control Register 0 (0x88) Name Bit Reset Values Descriptions Reserved [7:6] 0x00 SPI 5 0 1: enable all SPI outputs Output enable Read/write 4 1 1:read mode, 0: write mode;should write 0, 看注解 CPOL 3 0 Clock polarity. CPHA 2 0 Clock phase. Clock phase and clock polarity combinations have 4 different timing. Clock divider low [1:0] 0 Combine with the clock divider high in SPI Control 1, it determines the SPI clock rate. This setting is low 2 bits. 0x0: 2 0x1: 8 0x2: 16 0x3: 32 SPI Status Register 0(Read Only 0x89) Name Bit Reset Values Descriptions Reserved [7:5] 0x000 Interrupt 4 0 Interrupt flag, clear on write

RBUF full WBUF empty Interrupt count 3 0 1: read buffer is full; 0: not empty. 2 0 1: write buffer is empty; 0: not empty. 1:0 0 当 R FIFIO 收到了这么多次的数据时, 产生中断 SPI Read Buffers (0x94) Name Bit Reset Values Descriptions Write [7:0] 0 Data received SPI Write Buffers (0x93) Name Bit Reset Values Descriptions Write [7:0] 0 Data to send 注 : 1 SPI 是全双工的, 就是发和收都会同时进行, 所以应该把 SPI 放在写模式,SPI 只有在写 FIFO 有数据才开启, 要收, 也往写 FIFO 里写一个数,RBU full 和 WRBUF empty 两个标志位只需要看一个就可以, 因为 FULL 和 empty 总是同时发生 2 SPI 默认是 RA 口, 使用 RC 口时, 需要把 OPTION 的第 7 位 (0-7) 清零, 并打开 RC 上拉, 95H(WPU) 的第 3 位 (0-7) 置 1 7. T-Key Scan 梯形共有 11 个 IO 口,IO 的排列是 RC5,RC4,RC3,RC2,RC1,RC0,GP5,GP4, GP2,GP1,GP0,8DH 3:0 设置的越多,GPIO 用于扫描的就越多 T-key scan 模块可以 configure 多少个这些 GPIO 来用作 T-key scan 如设置 N 个 GPIO 用作 scan, 前边的 N 个 GPIO 会被使用, 后边的可以用作别的用途 Scan Configure (0x8D) Name Bit Reset Descriptions Values Scan pin number [3:0] 0 多少 GPIO 用来做 SCAN, 有效值 0-11,0 是 1 个 Scan enable 4 0 1: 使能 T-scan SRAM Address 5 0 SRAM 有 256 bytes, 要使用后边 128 bytes, 先设 bit 7 这位为 1. Strong Drive 6 1 1: 使能 GP0 能大电流驱动 (200ma) GP0

USB test mode 7 0 1: 把 USB 的内部信号送到 GPIO 上 (RC0-RC5) Scan Results (0x86) Name Bit Reset Descriptions Values Keys [7:0] 0 Key scan 结果 外接电路如下图, 每个交叉点代表一个按键, 交叉点的数值是当按下按键时地址 86H 就被 写成对应的值 DP 和 DM 也可以用来做普通的 GPIO, 但要用它们, 必须要把 USB 使能, 这会增加 8ma 的功耗 参考下边红色的寄存器设计 PORT C (0x87) Name Bit Reset Descriptions Values RC pin number [5:0] 0 PORTC 的方向 ( 输出 输入, 和 684 一样的 ) USB GPIO mode 6 0 1: 会强迫 DP/DM 做为 GPIO, 输出模式

DP DM Value (0x85) Name Bit Reset Descriptions Values DP 6 0 DP 数出的值 DM 7 0 DM 数出的值 要是 DP/DM 作为 GPIO 输入, 不用设置, 只要把 USB enable, 读 USB Configure Register 2(0x9C, offset=3, bit 6 和 7 就好 )