00966A.book

Similar documents
untitled

00872a.book

00975A.book

untitled

untitled

01018A.book

untitled

01262B.book

21928a.book

21999a_cn.book

PIC24 MSSP FRM Rev A.book

,Microchip Technology PIC LCD, PIC16F913/914/ 916/917/946 PIC18F6390/6490/8390/8490 PIC16F65J90/85J90 Microchip LCD LCD, Microchip 的优势 LCD PIC, LCD LC

01020B.book

01096B.book

PIC18F65J90/85J90 Product Brief

61127c_cn.book

41632B.book

21666b.book

21498c_cn.book

CTMU Temperature Measurement AN.book

61146A.book

01236B.book

MCP47x6_DaughterBoard.book

01277A_cn.book

TB3109 PIC32MX 器件中与 USB 模块相关的更改 USB 模块中断位 ( 即 USBIF USBIE USBIP 和 USBIS 位 ) 的位置变化会影响 PIC32MX 器件上的 USB 协议栈操作 表 1 给出了所列 PIC32MX 器件系列中 USBIF USBIE USBIP

untitled

00686A.Book

TB3098 PIC16F170X 外设引脚选择 (PPS) 技术简介 作者 : 简介 Stephen Allen Microchip Technology Inc. 外设引脚选择 (Peripheral Pin Select,PPS) 可以使数字外设灵活地映射到各种外部引脚 在过去, 外设硬接线到

93002A.book

93004A.book

00513D_CN.FM

33023A.book(31001A_cn.fm)

70641A.book

-. APP00 各部功能介紹 : 如下圖所示本實驗板功能區分大致可分為以下幾個區塊, 重要項目將各別提出說明 : Block_A Block_B Block_C Block_D Block_E Block_F Block_G BLOCK_H 說明 : Block_A: 電源輸入及串列通信連接埠 :

工作原理 脉冲血氧仪基于氧合血红蛋白 (HbO 2 ) 和脱氧血红蛋白 (Hb) 的红光 ( 波长为 nm) 和红外光 ( 波长为 nm) 吸收特性来监测人体血液的氧饱和度 (SpO 2 ) 脉冲血氧仪会交替地闪烁红光和红外光, 光线穿过手指到达光电二极管 HbO

MCP1630

0507A_Auto Tech_Microchip

AN901.book

2.0 MHz, 500 mA Synchronous Buck Regulator

39697b.book

AN1487 DALI 控制装置 作者 : 简介 数字可寻址照明接口 (Digitally Addressable Lighting Interface,DALI) 已成为欧洲应对能源危机的一项标准, 主要针对商业和工业用途 DALI 是 IEC 规范的一部分, 具体与数控可调光荧光镇流

01019A.book

00992A.book

2 PIC PIC 1 / CPU PIC MCU PIC RC

The DatasheetArchive - Datasheet Search Engine

Using Microchip’s Micropower LDOs

01476A.book

光 探 测 应 用 光 探 测 应 用 可 以 使 用 许 多 探 测 器, 例 如 光 电 二 极 管 光 电 晶 体 管 光 敏 电 阻 光 电 管 光 电 倍 增 管 电 荷 耦 合 器 件 等 本 应 用 笔 记 将 重 点 介 绍 光 电 二 极 管, 因 为 它 是 最 常 用 的 光

21927a.book

MCP Phase Energy Meter Reference Design Using PIC18F2520 Users Guide

MRF24WG0MAMB Software Migration

93001A.book

Microsoft Word - WAP001 Workshop Board 中文 Manual VER.3.doc

文件名

模拟外设 : 10 位模数转换器 (Analog-to-Digital Converter, ): - 最多 17 路外部通道 - 可在休眠模式下进行转换 : - 最多 2 个 - 低功耗 / 高速模式 - ( 同相 ) 反相输入上的固定电压参考 - 可从外部访问输出 5 位数模转换器 (Digit

RW Focus Asia Whitepaper CH1029

Rotork E120E IQ brochure

LayoutPhyCS_cn.book

目录 简介 概念 解决方案 / 实现 相关资源... 7 Microchip 网站... 8 变更通知客户服务... 8 客户支持... 8 Microchip 器件代码保护功能... 8 法律声明... 9 商标... 9 DNV 认证的质量管理体系

800 mA Fixed-Output CMOS LDO with Shutdown

先进制造技术是近几年提得较多,叫得较响的一个专用词语,而且先进制造技术在机械制造业领域中的应用越来越广泛而深入,并取得了很大的成绩

00884a_cn.book

SMSC LAN8700 Datasheet

查询 AN989( 汉 ) 供应商 捷多邦, 专业 PCB 打样工厂,24 小时加急出货 AN989 使用 MSSP 模块进行 I 2 C 串行 EEPROM 与 PIC18 器件的接口设计 作者 : 引言 Chris Parris Microchip Technology Inc. Microch

RW Salary Survey China A4

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

CorpbrocTaiwan.IND

Rotork new IQ brochure

DS21335.book

图 1 给出了 WWDT 的框图 为确保在最坏情况下能够通过程序主循环, 需要为定时器设置延时 定时器可通过控制寄存器进行配置 在定时器达到其设定的最大计数值并发生上溢前, 用户的应用程序应定期发出 CLRWDT 指令 如果用户的应用程序未能成功通过 CLRWDT 指令复位定时器, 则看门狗将发生上

MASTERs 06 Slide Template

EPSON Safety Instructions Manual

51983a - MCP mA D2PAK UG.book

物理传感器布线设计 基本设计要素包括传感器的尺寸 传感器相对于接地层和 / 或其他低阻抗走线的位置, 以及 mtouch/righttouch 器件中的具体设置 在遵守几个简单准则的前提下, 可以对器件进行独特的设计, 来检测用户接近或附近金属物体和高介电常数物体的移动 要实现具有高信号强度和低噪声

A2 LOCAL , % 5Wi-Fi Wi-Fi 30 Wi-Fi Wi-Fi. HK 5 Wi-Fi Wifi 8 5 Wi-Fi.HK Wi-Fi.HK 30 W

untitled

ICD ICD ICD ICD ICD

导成word文件

电阻式温度检测器 (RTD) 参考设计 2013 Microchip Technology Inc. DS51891A_CN

什么是 SSC? 如何为音频应用配置 SSC TB3175 简介 同步串行控制器 (Synchronous Serial Controller,SSC) 是一种串行同步通信模块, 可用于 Microchip 32 位 ARM Cortex -M3 Cortex -M4 和 Cortex -M7 系列

_LIT MAN USR LX380-L-CHI

全.pdf

24FJ256GB210 PB rev A.book


Ps22Pdf

MCP3424 评估板用户指南 2012 Microchip Technology Inc. DS51737A_CN

SMK环境报告书2009

5V to 3V Newsletter

2004年中国机场行业投资分析报告

#00chp_ii-viiiCS.p65

MPLAB X IDE 和 软 件 工 具 简 介 Microchip 生 产 约 900 种 不 同 的 开 发 工 具, 本 文 档 仅 重 点 介 绍 其 中 一 些 精 选 工 具 关 于 Microchip 开 发 工 具 的 完 整 列 表, 请 访 问

A2 LOCAL % 2% 5% 95% % % 10 90% 80% 80%

NMT A Bionic NAVIGATOR SC-7150 SC NM Clinician Programmer (CP) Bionic NAVIGATOR Boston Scientific Corporation or

PIC32 Starter Kit User’s Guide


30177t.book

00905A.book

65期.indd

PIC18 Flash to PIC18 J-Flash Migration

70640A.book

Transcription:

SPI 串行 EEPROM 与 PICmicro 单片机的接口设计 作者 : 引言 Martin Kvasnicka Microchip Technology Inc. 目前市场上有许多种单片机用在嵌入式控制系统设计中, 这些嵌入式控制系统中的很大一部分都要用到非易失性存储器 由于串行 EEPROM 具有封装尺寸小, 存储容量灵活, 对 I/O 引脚要求低, 和低功耗低成本等特点, 已成为非易失性存储器的首选 为了满足市场需求, Microchip Technology 已经推出了一整套符合工业标准的串行 EEPROM, 覆盖了 2 线式 (I 2 C ) 3 线式 (Microwire) 和 SPI 通信标准, 并提供了不同的存储容量 工作电压范围和封装形式 本应用笔记提供了设计思路和源代码, 以方便设计人员进行 Microchip 中档单片机 PIC16F877 和 Microchip SPI 串行 EEPROM 器件之间的通信设计 主控同步串口模块 (MSSP) 上的硬件 SPI 端口允许单片机与 EEPROM 进行简单的 3 线连接, 且不需要外部 胶合 (glue) 逻辑电路 图 1 所示为 Microchip SPI 存储器与 PIC16F877 单片机之间通信接口的硬件原理图 软件代码的编写是参照上述连接进行的 图 1: PDIP(600 MIL) PIC16F877 与 25XXX 串行器件接口电路 MCLR/VPP RA0/AN0 RA1/AN1 RA2/AN2VREF- RA3/AN3/VREF+ RA4/T0CKI RA5/AN4/SS RE0/RD/AN5 RE1/WR/AN5 RE2//AN7 VDD VSS OSC1/CLKIN OSC2/CLKOUT RC0/T10S0T1CKI RC1/T10/CCP2 RC2/CCP1 RC3//SCL RD0/PSP0 RD1/PSP1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 PIC16F877 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 RB7/PGD RB6/PGC RB5 RB4 RB3/PGM RB2 RB1 RB0/INT VDD VSS RD7/PSP7 RD6/PSP6 RD5/PSP5 RD4/PSP4 RC7/RX/DT RC6TX/CK RC5/SDO RC4/SDI/SDA RD3/PSP3 RD2PSP2 Vcc 1 8 Vcc WP 2 3 25XXXXX 7 6 HOLD Vss 4 5 注 :, WP 和 HOLD 引脚要连接上拉电阻, 阻值约为 10 kω 2006 Microchip Technology Inc. DS00966A_CN 第 1 页

固件说明 本固件程序旨在说明 SPI 协议的特性, 并给出了操作码的代码示例, 便于使用 SPI EEPROM 的应用系统进行集成以加快电子产品的开发周期 程序用到的操作码包括写使能 (WREN) 写 读 读状态寄存器 (RDSR) ( 用于写进行 (WIP, Write-in-Process) 查询子程序 ) 和写禁止 (WRDI) 在示波器屏幕截取图上对使能 到禁止 期间的波形作了标记, 以方便阅读 示波器屏幕截取图下给出了数据手册中对应的波形图 MSSP 模块工作在模式 1,1 下, 时钟频率大约为 625 khz 程序代码是模块化的, 并添加了注释, 因此改变运行模式和速度, 以及修改命令 ( 如连续读和页写入 ) 等的操作都非常的简单 本应用笔记中出现的所有数值均为十六进制数值 写使能 图 2 所示为写使能 (WREN) 命令的一个示例 片选信号被置为高电平 ( 有效 ) 后, 通过 MSSP 端口发送操作码 必须在写入存储阵列或状态寄存器之前执行写使能命令 执行写禁止命令 (WRDI) 会清零 WEL 位, 另外在器件掉电或写周期结束时, WEL 位会自动清零 通过在固件中查询 WREN 关键字可以找到写使能命令 图 2: 写使能 (WREN) 0 1 2 3 4 5 6 7 0 0 0 0 0 1 1 0 DS00966A_CN 第 2 页 2006 Microchip Technology Inc.

读状态寄存器查看 WEL 位 图 3 所示为读状态寄存器来查看写使能锁存位 (WEL) 操作的一个示例 在写入存储阵列或状态寄存器之前必须将 WEL 位置 1 在进行写操作前检查 WEL 位是否已置 1 是个非常好的编程习惯 通过 器件被再次选中, 并接收操作码 0x05 尽管看起来操作码被接收了两次, 但数据输入引脚上后出现的 8 位操作码将被忽略, 它们是无效数据仅作为时钟信号, 用于将状态寄存器中的内容通过数据输出引脚移出 移出的数值为 0x02, 表明状态寄存器中的 WEL 位已被置 1 至此器件已为写入存储阵列或状态寄存器做好准备 图 3: 读状态寄存器查看 WEL 位 (RDSR) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 指令 0 0 0 0 0 1 0 1 来自状态寄存器的数据 7 6 5 4 3 2 1 0 2006 Microchip Technology Inc. DS00966A_CN 第 3 页

写命令 ( 操作码 地址和数据 ) 图 4 所示为写命令的一个示例 图中波形表明已选中器件, 接收的操作码为 0x02 高地址字节为 0x00, 低地址字节紧随其后, 其值为 0x55 最后移入数据 0xAA 在写命令结束时, 片选信号电平发生翻转, 立即触发内部写周期 内部写周期开始后, 通过查询状态寄存器中的 WIP 位来确定写操作何时结束, 否则需要在单片机固件中增加一个约为 5ms 的延时 本示例代码使用查询 WIP 位的方法 图 4: 写命令 地址和数据 0 1 2 3 4 5 6 7 8 9 10 11 21 22 23 24 25 26 27 28 29 30 31 指令 16 位地址数据字节 0 0 0 0 0 0 1 0 15 14 13 12 2 1 0 7 6 5 4 3 2 1 0 Twc DS00966A_CN 第 4 页 2006 Microchip Technology Inc.

数据查询 (RDSR 检查 WIP 位是否已置 1) 写命令成功执行后, 可以通过读状态寄存器来检查写周期是否已被触发, 并可持续监视直至写周期结束 本示例中, 器件被选中, 接收的操作码为 0x05 随后, 状态寄存器的内容从数据输出引脚移出, 其值为 0x03 图 5 显示了 WEL 位 (bit 1) 和 WIP 位 (bit 0) 均被置 1 (0x03), 这表明写周期正在进行 图 5: 数据查询 ( 读状态寄存器检查 WIP 位 ) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 指令 0 0 0 0 0 1 0 1 来自状态寄存器的数据 7 6 5 4 3 2 1 0 2006 Microchip Technology Inc. DS00966A_CN 第 5 页

数据查询结束 (RDSR WIP 位清零 ) 示例为一循环代码, 它持续查询状态寄存器中的数值, 直到 WIP 位被清零 图 6 显示了执行状态寄存器读命令后, 数值 0x00 从数据输出引脚移出 这表明写周期已结束, EEPROM 正等待其他的命令 WEL 位在写周期结束时清零, 这可以提供附加的保护以避免意外的写操作 图 6: 数据查询结束 (RDSR WIP 和 WEL 位清零 ) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 指令 0 0 0 0 0 1 0 1 来自状态寄存器的数据 7 6 5 4 3 2 1 0 DS00966A_CN 第 6 页 2006 Microchip Technology Inc.

写禁止命令 前面已经给出了读状态寄存器同时 WEL 位置 1 的情形 图 7 显示了在 WEL 位置 1 后执行 WRDI 命令的情况 之后读状态寄存器, 此时显示 WEL 位已清零, 器件不再接受任何写存储阵列或状态寄存器的命令 图 7: RDSR - WEL 位置 1 并在 WRDI 命令后清零 0 1 2 3 4 5 6 7 0 0 0 0 0 1 10 0 2006 Microchip Technology Inc. DS00966A_CN 第 7 页

结论 本应用笔记讨论了使用 Microchip 中档单片机上的 MSSP 模块进行 SPI 通信的主要特性 给出代码的可移植性非常高, 稍做修改就可用在其他带有 MSSP 模块的 PICmicro 单片机上 使用本文提供的代码, 设计人员能够开始着手建立或简或繁的 SPI 程序库 代码在 Microchip PICDEM 2 Plus 演示板 ( 连接方式如图 1 所示 ) 上通过了测试 DS00966A_CN 第 8 页 2006 Microchip Technology Inc.

请注意以下有关 Microchip 器件代码保护功能的要点 : Microchip 的产品均达到 Microchip 数据手册中所述的技术指标 Microchip 确信 : 在正常使用的情况下, Microchip 系列产品是当今市场上同类产品中最安全的产品之一 目前, 仍存在着恶意 甚至是非法破坏代码保护功能的行为 就我们所知, 所有这些行为都不是以 Microchip 数据手册中规定的操作规范来使用 Microchip 产品的 这样做的人极可能侵犯了知识产权 Microchip 愿与那些注重代码完整性的客户合作 Microchip 或任何其他半导体厂商均无法保证其代码的安全性 代码保护并不意味着我们保证产品是 牢不可破 的 代码保护功能处于持续发展中 Microchip 承诺将不断改进产品的代码保护功能 任何试图破坏 Microchip 代码保护功能的行为均可视为违反了 数字器件千年版权法案 (Digital Millennium Copyright Act) 如果这种行为导致他人在未经授权的情况下, 能访问您的软件或其他受版权保护的成果, 您有权依据该法案提起诉讼, 从而制止这种行为 提供本文档的中文版本仅为了便于理解 Microchip Technology Inc. 及其分公司和相关公司 各级主管与员工及事务代理机构对译文中可能存在的任何差错不承担任何责任 建议参考 Microchip Technology Inc. 的英文原版文档 本出版物中所述的器件应用信息及其他类似内容仅为您提供便利, 它们可能由更新之信息所替代 确保应用符合技术规范, 是您自身应负的责任 Microchip 对这些信息不作任何明示或暗示 书面或口头 法定或其他形式的声明或担保, 包括但不限于针对其使用情况 质量 性能 适销性或特定用途的适用性的声明或担保 Microchip 对因这些信息及使用这些信息而引起的后果不承担任何责任 如果将 Microchip 器件用于生命维持和 / 或生命安全应用, 一切风险由买方自负 买方同意在由此引发任何一切伤害 索赔 诉讼或费用时, 会维护和保障 Microchip 免于承担法律责任, 并加以赔偿 在 Microchip 知识产权保护下, 不得暗中或以其他方式转让任何许可证 商标 Microchip 的名称和徽标组合 Microchip 徽标 Accuron dspic KEELOQ microid MPLAB PIC PICmicro PITART PRO MATE PowerSmart rfpic 和 SmartShunt 均为 Microchip Technology Inc. 在美国和其他国家或地区的注册商标 AmpLab FilterLab Migratable Memory MXDEV MXLAB PICMASTER SEEVAL SmartSensor 和 The Embedded Control Solutions Company 均为 Microchip Technology Inc. 在美国的注册商标 Analog-for-the-Digital Age Application Maestro dspicdem dspicdem.net dspicworks ECAN ECONOMONITOR FanSense FlexROM fuzzylab In-Circuit Serial Programming IP ICEPIC Linear Active Thermistor MPASM MPLIB MPLINK MPM PICkit PICDEM PICDEM.net PICLAB PICtail PowerCal PowerInfo PowerMate PowerTool Real ICE rflab rfpicdem Select Mode Smart Serial SmartTel Total Endurance UNI/O WiperLock 和 Zena 均为 Microchip Technology Inc. 在美国和其他国家或地区的商标 SQTP 是 Microchip Technology Inc. 在美国的服务标记 在此提及的所有其他商标均为各持有公司所有 2006, Microchip Technology Inc. 版权所有 Microchip 位于美国亚利桑那州 Chandler 和 Tempe 及位于加利福尼亚州 Mountain View 的全球总部 设计中心和晶圆生产厂均于 2003 年 10 月通过了 I/TS-16949:2002 质量体系认证 公司在 PICmicro 8 位单片机 KEELOQ 跳码器件 串行 EEPROM 单片机外设 非易失性存储器和模拟产品方面的质量体系流程均符合 I/TS-16949:2002 此外, Microchip 在开发系统的设计和生产方面的质量体系也已通过了 I 9001:2000 认证 2006 Microchip Technology Inc. DS00966A_CN 第 9 页

全球销售及服务网点 美洲 亚太地区 亚太地区 欧洲 公司总部 Corporate Office 2355 West Chandler Blvd. Chandler, AZ 85224-6199 Tel: 1-480-792-7200 Fax: 1-480-792-7277 技术支持 : http://support.microchip.com 网址 :www.microchip.com 亚特兰大 Atlanta Alpharetta, GA Tel: 1-770-640-0034 Fax: 1-770-640-0307 波士顿 Boston Westborough, MA Tel: 1-774-760-0087 Fax: 1-774-760-0088 芝加哥 Chicago Itasca, IL Tel: 1-630-285-0071 Fax: 1-630-285-0075 达拉斯 Dallas Addison, TX Tel: 1-972-818-7423 Fax: 1-972-818-2924 底特律 Detroit Farmington Hills, MI Tel: 1-248-538-2250 Fax: 1-248-538-2260 科科莫 Kokomo Kokomo, IN Tel: 1-765-864-8360 Fax: 1-765-864-8387 洛杉矶 Los Angeles Mission Viejo, CA Tel: 1-949-462-9523 Fax: 1-949-462-9608 圣何塞 San Jose Mountain View, CA Tel: 1-650-215-1444 Fax: 1-650-961-0286 加拿大多伦多 Toronto Mississauga, Ontario, Canada Tel: 1-905-673-0699 Fax: 1-905-673-6509 中国 - 北京 Tel: 86-10-8528-2100 Fax: 86-10-8528-2104 中国 - 成都 Tel: 86-28-8676-6200 Fax: 86-28-8676-6599 中国 - 福州 Tel: 86-591-8750-3506 Fax: 86-591-8750-3521 中国 - 香港特别行政区 Tel: 852-2401-1200 Fax: 852-2401-3431 中国 - 青岛 Tel: 86-532-8502-7355 Fax: 86-532-8502-7205 中国 - 上海 Tel: 86-21-5407-5533 Fax: 86-21-5407-5066 中国 - 沈阳 Tel: 86-24-2334-2829 Fax: 86-24-2334-2393 中国 - 深圳 Tel: 86-755-8203-2660 Fax: 86-755-8203-1760 中国 - 顺德 Tel: 86-757-2839-5507 Fax: 86-757-2839-5571 中国 - 武汉 Tel: 86-27-5980-5300 Fax: 86-27-5980-5118 中国 - 西安 Tel: 86-29-8833-7252 Fax: 86-29-8833-7256 台湾地区 - 高雄 Tel: 886-7-536-4818 Fax: 886-7-536-4803 台湾地区 - 台北 Tel: 886-2-2500-6610 Fax: 886-2-2508-0102 台湾地区 - 新竹 Tel: 886-3-572-9526 Fax: 886-3-572-6459 澳大利亚 Australia - Sydney Tel: 61-2-9868-6733 Fax: 61-2-9868-6755 印度 India - Bangalore Tel: 91-80-2229-0061 Fax: 91-80-2229-0062 印度 India - New Delhi Tel: 91-11-5160-8631 Fax: 91-11-5160-8632 印度 India - Pune Tel: 91-20-2566-1512 Fax: 91-20-2566-1513 日本 Japan - Yokohama Tel: 81-45-471-6166 Fax: 81-45-471-6122 韩国 Korea - Gumi Tel: 82-54-473-4301 Fax: 82-54-473-4302 韩国 Korea - Seoul Tel: 82-2-554-7200 Fax: 82-2-558-5932 或 82-2-558-5934 马来西亚 Malaysia - Penang Tel: 60-4-646-8870 Fax: 60-4-646-5086 菲律宾 Philippines - Manila Tel: 63-2-634-9065 Fax: 63-2-634-9069 新加坡 Singapore Tel: 65-6334-8870 Fax: 65-6334-8850 泰国 Thailand - Bangkok Tel: 66-2-694-1351 Fax: 66-2-694-1350 奥地利 Austria - Wels Tel: 43-7242-2244-399 Fax: 43-7242-2244-393 丹麦 Denmark-Copenhagen Tel: 45-4450-2828 Fax: 45-4485-2829 法国 France - Paris Tel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79 德国 Germany - Munich Tel: 49-89-627-144-0 Fax: 49-89-627-144-44 意大利 Italy - Milan Tel: 39-0331-742611 Fax: 39-0331-466781 荷兰 Netherlands - Drunen Tel: 31-416-690399 Fax: 31-416-690340 西班牙 Spain - Madrid Tel: 34-91-708-08-90 Fax: 34-91-708-08-91 英国 UK - Wokingham Tel: 44-118-921-5869 Fax: 44-118-921-5820 10/31/05 DS00966A_CN 第 10 页 2006 Microchip Technology Inc.