基于微控制器的串行端口接口(SPI)启动电路AN-812_cn
AN-812
应用笔记
One Technology Way • P.O. Box 9106 • Norwood, MA 02062-9106, U.S.A. • Tel: 781.329.4700 • Fax: 781.461.3113 • www.analog.com
Rev. 0 | Page 1 of 8
基于微控制器的串行端口接口(SPI®)启动电路
作者:Alfredo Barriga
05
68
6-
00
1
CSB
tS
tDS
tDH
tLO
tHI...
AN-812
应用
One Technology Way • P.O. Box 9106 • Norwood, MA 02062-9106, U.S.A. • Tel: 781.329.4700 • Fax: 781.461.3113 • www.analog.com
Rev. 0 | Page 1 of 8
基于微控制器的串行端口接口(SPI®)启动
作者:Alfredo Barriga
05
68
6-
00
1
CSB
tS
tDS
tDH
tLO
tHI tCLK tH
SCLK DON’T CARE DON’T CARE
SDIO R/WDON’T CARE W1 W0 A12 A11 A10 A9 A8 A7 D5 D4 D3 D2 D1 D0 DON’T CARE
表1
规格名称 含义
tDS 数据与SCLK上升沿之间的设置时间
数据与SCLK上升沿之间的保持时间
时钟周期
CSB与SCLK之间的建立时间
CSB与SCLK之间的保持时间
SCLK应处于逻辑高电平状态的最短时间
SCLK应处于逻辑低电平状态的最短时间
tDH
tCLK
tS
tH
tHI
tLO
简介
本应用笔记描述基于微控制器的通用串行端口接口(SPI)启
动电路的工作原理。对于需要在上电时修改某些器件参数
的用户而言,这是一种低成本解决
。本电路实现了一
种用于对转换器或任何具有SPI选项的器件进行编程的3线
式SPI应用,并能向用户定义的SPI寄存器发送命令。
SPI定义
SPI端口由三个引脚组成,分别是串行时钟引脚(SCLK)、
串行数据输入/输出引脚(SDIO)和片选引脚(CSB)。SCLK是
串行移位时钟输入,用来同步串行接口的读、写操作。
SDIO是双用途引脚;它用作输入或输出引脚,取决于所发
送的指令和时序帧中的相对位置。CSB是低电平有效控制
引脚,用来选通读写周期。SPI详细时序参见图1。表1给出
了其时序规格。
图1.SPI详细时序
AN-812
Rev. 0 | Page 2 of 8
目录
修订历史
2005年12月—修订版0:初始版
简介.....................................................................................................1
SPI定义...............................................................................................1
修订历史 ............................................................................................2
电路描述 ............................................................................................3
配置文件 ............................................................................................3
电路工作原理 ...................................................................................4
器件编程 ............................................................................................5
板外编程 ............................................................................................5
电平转换 ............................................................................................6
获得代码和编程工具 ......................................................................6
器件明细和BOM..............................................................................7
参考文献 ............................................................................................8
AN-812
Rev. 0 | Page 3 of 8
05
68
6-
00
2
电路描述
这种特殊SPI启动电路的核心是PIC12F629微控制器。它是
基于Flash™的器件,能够利用SCLK、SDIO和CSB控制信
号写入SPI端口。它可以多次编程,以适应不同应用的需
要,而且其尺寸很小,可轻松集成到任何
中。
配置文件
要写入芯片的配置文件由独立的LabVIEW™应用程序自动
生成,它允许用户指定要访问的寄存器数目和每个位置上
要写入的8位数据字。LabView生成汇编代码,汇编代码
经过编译和链接后产生要写入微控制器的十六进制文件。
为此需要使用两个应用程序,二者均由主LabVIEW独立
配置程序(SPI Code Builder.exe)调用。Microchip®公司的
MPASM®用于编译和链接汇编程序,MikroElektronika®公
司的PicFLASH®用作编程器,将所产生的十六进制文件载
入微控制器。这两个基于Windows®的应用程序已内置于
SPI Code Builder应用程序安装文件中。用户也可以采用其
它编译器和编程应用程序来汇编该独立程序所提供的源代
码。图2所示为SPI Code Builder和PicFLASH®编程器窗口的
示例。
图2.SPI Code Builder和PicFLASH®窗口
AN-812
Rev. 0 | Page 4 of 8
05
68
6-
00
3
VDD
U1
SW1
SW2
GP5
GP4
RESET
MCLA
GND
SCLK
SDI
CSB
PIC12F629_SN
ISP
(PIC PROGRAMMER)
SPI PORT
O
P
T
IO
N
A
L
3.3V
5.0V
VSS
R1
4.7kΩ
C2
0.1µF
GP0
GP1
GP2
1
2
A
2
2
3
1
4
B
3
1
OFF
3
4
8
7
6
5
R5
200Ω
R2
4.7kΩ
CR1
U2
1
3
5
7
R3
4.7kΩ
R4
4.7kΩ
2
4
6
8
9 10
C3
10µF
C4
0.1µF
3.3V3.3V P1
P2GND
L1
120nF
OPTIONAL
2
1
电路工作原理
PIC12F629是一款低成本8引脚、8位微控制器。它内置一
个振荡器,如果使能该振荡器,则无需使用外部时钟源。
该器件以4 MHz的内部频率工作,SCLK引脚的时钟输出频
率基于其工作速度和指令周期数。
上电后,该微控制器即开始工作,向目标器件发送写入命
令。数据发送完毕后,该微控制器进入掉电模式,以将功
耗降至最低(最大值13 μW)。只要按下RESET按钮或者进行
周期供电,就可以随时使其重新启动。可以将一个可选的
LED连接到引脚3(GP4),以在数据传输过程中指示器件繁
忙。图3所示为该SPI启动电路的原理示意图。此电路可以
用于任何3.3 V兼容SPI接口,而且实现成本非常低廉。对于
要求更低输入电压的器件,也可以集成一个电平转换器。
图3.SPI启动电路
AN-812
Rev. 0 | Page 5 of 8
05
68
6-
00
4
VDD
U1
GP5
GP4
MCLA
GND
SCLK
SDI
CSB
PIC12F629_SN
S
P
I P
O
R
T
3.3V
VSS
R1
4.7kΩ
R2
0.1µF
GP0
GP1
GP2
1
2
3
4
8
7
6
5
器件编程
本电路所用的微控制器在最终应用电路中可以进行串行编
程,方法是通过用于时钟和数据的两条线以及用于电源、
地和编程电压/RESET的三条线。市面上提供许多低成本串
行和USB编程器,如MikroElektronika®公司的PicFLASH®
USB编程器等。这款编程器成本较低,可以在线购买。
编程
要求该单元在编程期间以5 V电源供电。如果微控
制器的工作电压小于5 V,则必须增加一个开关或两位跳
线,用于选择系统电源和编程电源(SW1)。三位开关可以
使电路工作在三种不同的模式:编程模式、正常SPI模式
和关断模式。在系统上电时,如果用户不希望写入SPI端
口,则可以集成关断位置。若不想在编程电源与系统电源
之间切换,微控制器可以永久性以5 V电源供电。这样,电
路设计不仅更为简单,而且符合编程电压要求。
板外编程
用户可以选择在将微控制器焊接到电路板之前对其进行
编程。利用所选封装(8引脚PDIP、SOIC或DFN-S)的适当
插口可以实现这一点。编程器所用的控制线路可以直接
连到插口,以进行板外编程。图3所示为使用预编程微控
制器的原理示意图。此电路中,VDD直接连到3.3 V电源,
RESET按钮从MCLR(引脚4)中永久性拆除。用户可以在电
源与VDD引脚之间增加一个跳线,以便选择使能或禁用该
微控制器。
对微控制器进行板外编程的另一个好处是不用考虑将微控
制器设置到与所需编程电源电压一致的电压。器件的电源
电压可以是2 V到5.5 V范围内的任意电压,从而可以灵活
地使用现有电源。
图4.SPI启动电路(简化图)
AN-812
Rev. 0 | Page 6 of 8
05
68
6-
00
5
S401
RESET/REPROGRAM
3
4
1
2
VDD
U402
GP5
GP4
MCLA/GP3
PIC12F629_SN
O
P
T
IO
N
A
L
VSS
GP0
GP1
GP2
1
2
3
4
8
7
6
5
R419
261Ω
C427
0.1µF
CR401
LED_SS
ISP
(PIC PROGRAMMING HEADER)
J401
E401
1
3
5
7
2
4
6
8
9
PICVCC
GP1
GP0
NCLA/GP3
10
PICVCC
GP1
GP0
NCLA/GP3
R421
4.7kΩ
R422
4.7kΩ
R423
4.7kΩ
VCCY
U403
ADC3304BRUZ
VCCA
14 1
Y1 A1
13 2
Y2 A2
12 3
Y3 A3
11 4
Y4 A4
10 5
9 NC
9 6
EN GND
8 7
SCLK_DUT
SDIO_DUT
CSB_DUT
SPI_VDD5V
5V
5V
C429
0.1µF
C428
0.1µF
R425
10kΩ
JP401
2
1
CLOSED—HI-Z
OPEN—NORMAL OP
CLOSE WHEN PROGRAMMING PIC (U402)
R418
4.7kΩ
电平转换
逻辑阈值取决于各种产品所用的工艺和设计。对于一些产
品,SPI输入为5 V或3.3 V兼容。然而,其它产品可能只能
接受较低的电压(例如1.8 V)。这种情况下,可能有必要集
成一个电平转换器,以便将来自微控制器的电平转换为
DUT输入可以接受的电平。建议客户使用四通道双向电平
转换器ADG3304。该转换器允许自定义设置,以执行双向
逻辑电平转换,而无需借助额外的信号来设置转换方向。
例如,如果微控制器以5 V电源供电,而SPI端口为1.8 V兼
容,则可以设置ADG3304将SCLK、SDI和CSB信号从5 V转
换到1.8 V。ADG3304易于使用,所需外部元件非常少。此
外,用户可以通过拉低引脚8(EN)而随时禁用转换器的输
出。图5显示了带有电平转换器的SPI启动电路的实现方
案。
获得代码和编程工具
用户可以从ADI公司网站(www.analog.com)获得源代码和
编程工具安装程序。有关PicFLASH USB编程器的信息,请
访问www.mikroelektronika.co.yu。
图5.带转换器的SPI启动电路
AN-812
Rev. 0 | Page 7 of 8
器件明细和BOM
表2. 重复购买的器件
数量 器件
4 RES_402
1 SWITCH011
1 PIC12F629_SOIC
1 HEADER10
1 任何三位开关。也可使用跳线模块。
表3. 一次性购买的器件
数量 器件
1 PIC Flash USB编程器1
1 或者任何兼容PIC的串行编程器。
表4. 可选器件
数量 器件
1 8引脚SOIC插口
1 LED_GAAS
1 RES_402
1 ADG3304
1 按钮
AN-812
Rev. 0 | Page 8 of 8
T
参考文献
• Interfacing to High Speed ADCs via SPI® User Manual is available at www.analog.com.
• �e ADG3304 data sheet is available at www.analog.com.
• �e PIC12F629 data sheet and MPLAB® PM3 ICSP Design Guide can be obtained from Microchip® at www.microchip.com.
• Information on the PicFLASH® USB Programmer and open source so�ware can be obtained at www.mikroelektronika.co.yu
© 2005 Analog Devices, Inc. All rights reserved. Trademarks and
registered trademarks are the property of their respective owners.
)0(50/21-0-68650NA
TTT
本文档为【基于微控制器的串行端口接口(SPI)启动电路AN-812_cn】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。