(1.成都信息工程大学 电子工程学院,四川 成都 610225;2.中国气候局大气探测重点开放实验室,四川 成都 610225)
:基于STC15W204S单片机研究仿照了单总线EEPROM芯片DS2431。SOP8封装的STC15W204S单片机具有引脚少、价格便宜、不须要外部晶振、内部时钟从5 MHz~35 MHz可设置的优点。DS2431是一款具有1 024 bit的1 Wire EEPROM芯片,它具有4页×256 bit的存储空间,64位唯一不可变动的光刻。64位光刻的唯一性使DS2431广泛运用于硬件电路的加密、硬件电路唯一的ID序列号以及密钥信息的存储等。紧张先容了1Wire通信协议、单片机仿照芯片硬件电路、单片机仿照DS2431的程序设计流程、单片机仿照DS2431的64位光刻以及EEPROM。

:TP368.1文献标识码:ADOI: 10.19358/j.issn.1674-7720.2017.08.011

引用格式:张杰,杨笔锋,严学阳,等.基于STC15W204S单片机仿照单总线EEPROM芯片DS2431[J].微型机与运用,2017,36(8):31-33,38.
0弁言
基金项目:国家重大科学仪器设备开拓专项(2012YQ110205)DS2431是一款具有64位唯一光刻的1 024 bit EEPROM芯片。仿照DS2431便是要仿照DS2431的64位光刻和数据的存储,从而实现用单片机仿照的DS2431和原来的DS2431具有相同的64位光刻和数据存储功能。利用64位光刻的不可变动的特性,DS2431广泛运用于硬件电路加密、设备唯一ID序列号、关键信息存储、知识产权保护、安全功能掌握等。单总线设备具有大略的线路、较少的硬件开销和低廉的本钱等优点,便于总线扩展和掩护[12]。作为一种大略的旗子暗记传输电路,1Wire总线用一根数据线来实现一个或者一个以上的从器件和主掌握器之间的半双工通信。单总线通信可以通过初始化1Wire器件、识别1Wire器件和主机与从机之间数据交流三个步骤来实现[34]。它是主从构造,主机呼叫从器件的时候,从器件才进行应答[5]。以是,主机只有通过严格的单总线命令序列来访问1Wire器件,即初始化从器件、ROM、功能命令[67]。如果涌现序列混乱,1Wire器件将不会相应主机的命令[89]。仿照1Wire器件哀求单片机严格应对单总线命令序列和命令时隙,哀求单片机对主机发出的命令进行应答[10]。通过对DS2431应答仿照从而达到用单片机仿照DS2431的目的,用这种方法也可以对其他的1Wire器件进行仿照。
1单总线协议
1.11-Wire单总线时序
1Wire器件在数据传输过程中都会遵照严格的通信协议,单总线通信协议有复位脉冲、应答脉冲、写1、写0、读1、读0几种类型[11]。
单总线的初始化步骤如图1所示。
(1)主机拉低总线480 μs~960 μs,然后主机开释总线进入吸收状态[12]。
(2)从机监测到主机不少于480 μs的复位旗子暗记后等待15 μs~60 μs,然后产生一个应答旗子暗记(拉低总线60 μs~240 μs)[13]。
(3)从机开释总线至少一个2 μs的规复韶光。
写1和写0时序步骤如图2所示。
(1)主机拉低总线5 μs~15 μs,然后主机将总线拉高或者拉低45 μs。
(2)从机在15 μs后开始采样。
(3)主机开释总线并且有至少一个2 μs的规复韶光(标准是5 μs)。
(4)全体写1时隙至少60 μs。
读数据时序步骤如图3所示。
(1)主机将总线拉低至少1 μs。
(2)从机从低落沿到来之后将总线拉低或者拉高并保持15 μs。
(3)在主机拉低总线后15 μs内主机开释总线并采样。
(4)15 μs后由电阻将总线拉高。
(5)全体韶光不少于60 s,每个韶光片之后有一个至少2 μs的规复韶光。
1.2单总线接口
图4单总线接口单总线接口电路是非常大略的,DS2431的读和写的电压范围是2.8 V~5.25 V。在I/O口接一个上拉电阻,根据DS2431数据手册,上拉电阻电阻的范围是0.3 kΩ~2.2 kΩ。单总线接口如图4所示。
2仿照单总线器件时序及接口
2.1仿照单总线器件时序
仿照单总线器件的时序最主要的是在符合单总线通信协议的规定韶光内对主机发起的旗子暗记进行应答,个中须要对延时把握精确,错过了时序主机有可能视从机没有应答从而通信失落败。在仿照时序的时候可以借助逻辑剖析仪来对时序进行剖析并通过剖析结果对仿照时序进行微调。
仿照单总线初始化步骤如图5所示。
(1)单片机等待主机复位旗子暗记,监测主机拉低总线并在480 μs内再次确认主机拉低了总线。
(2)单片机在确认了复位旗子暗记后延时等待总线拉高。
(3)单片机监测到主机将总线开释拉高后拉低总线(从机应答)60~240 μs。
(4)单片机开释总线(拉高总线表示应答完成)。
仿照主机写1和写0时序步骤:
(1)单片机等待主机拉低总线发起通信。
(2)在监测到主机拉低总线后,单片机延时几微秒后开始采样。
(3)单片机采样后开始延时,主机写完数据后规复总线。
(4)全体韶光持续60 μs。
时序图如图5所示,个中采样韶光可以微调,可以借助逻辑剖析仪剖析时序。主机写命令55h并匹配。
ROM的仿照时序如图6所示。
仿照主机读数据时序步骤:
(1)主机将总线拉低至少1 μs。
(2)单片机监测到主机拉低总线1 μs后立即对总线拉高或者拉低,要确保主机能够进行采样。
(3)主机采样后,单片机规复总线。
(4)全体韶光不少于60 μs,每个韶光片之后有一个至少2 μs的规复韶光。
时序图如图3所示,个中单片机对总线操作的韶光可以微调,可以借助逻辑剖析仪剖析时序。主机写命令FOh并搜索ROM的仿照时序如图7所示。
2.2仿照单总线器件硬件电路接口设计
STC15W204S单片机事情电压范围为2.5 V~5.5 V,在ISP编程时内部时钟在5 MHz~35 MHz范围内可调,±1%温飘(-40℃~+85℃)常温下温飘±0.6%(-20℃~+65℃),可以知足硬件指标哀求。STC15W204S有8个引脚6个I/O口。调试时P3.0和P3.1做串行接口用于烧写程序,P3.3、P5.4、P5.5可以接一个LED灯用于调试不雅观测单片机状态。烧写好程序的单片机只须要3个引脚便可以事情。电路接口设计如图8所示。
3仿照DS2431的程序设计
3.1程序设计的流程
图9程序设计流程主机会在一开始发出复位旗子暗记,一旦检测到有从器件存在就可以发出ROM操作命令[14]。ROM命令有“读”ROM【33h】、“匹配”ROM【55h】、“跳过”ROM【CCh】、“搜索”ROM【F0h】等。如果主机发出了ROM命令,那么单片机吸收到了ROM命令就要做出相应的回应。同样接下来主机会发出读写操作,单片机也进行相应的回应。程序设计流程如图9所示。
3.2仿照64位光刻和EEPROM
由于每一片单总线芯片的64位光刻都是唯一且不可变动的,以是DS2431的光刻可以用来做硬件ID序列号,也可以用来加密硬件,EEPROM可以用来存储关键信息。
为仿照光刻,首先读出一块DS2431的光刻,然后用单片机开一个8 B的数组存储这些光刻。当主机发出33h命令时单片机就按字节给它吐光刻,当主机发出F0h命令时单片机就按位吐出光刻。当主机发出55h命令时单片机默认吸收相应的数据即可[15]。须要把稳的是主机发出的命令是先写高位再写低位,在吸收命令的时候也是先吸收高位再吸收低位。
仿照EEPROM可以用单片机开一块数组用来存储数据,可以一开始就给这些数组写一些固定的值,主机来读的时候就吐数给它。也可以开一片内存来存储主机写的数,单片机可以将这些数据存到片内EEPROM。在设计这个数组的时候要参照仿照目标的EEPROM构造,单片机在接到地址命令和页码命令时用相应的数组构造来对应。
4结论
利用STC15W204S单片机仿照DS2431有很好的发展前景和利用代价,STC15W204S单片机具有引脚少、功耗低、不需外部晶振、价格低廉等优点。本研究实现了用单片机仿照DS2431,破解了DS2431光刻不可以复制的难题。本研究实现了用单片机仿照单总线从机的应答时序,利用这种方法还可以仿照其他的单总线设备。DS2431广泛运用于打印设备、医疗设备、硬件电路的加密。利用STC15W204S单片机仿照DS2431的部分功能就可以破解某些加密设备、复制硬件电路等。STC15W204S单片机具有温度漂移,在复制的时候应考虑温度漂移范围。单片机的事情范围应设置不同的频率多次下载程序测试,并结合延时函数的修正来确定,下载程序时应取其正常事情范围的中间值来战胜温度漂移问题。可以利用高低温实验来验证程序及仿照单片机的可靠性。
参考文献
[1] 陈浩. 基于智能传感器和单片机的温度监测系统[D]. 北京:华北电力大学,2005.
[2] 陈志英,李光辉. 单总线技能及其运用[J]. 电气时期,2015(8):74-75.
[3] 杨张利. IC卡燃气表智能掌握及检测系统研究[D]. 重庆:重庆大学,2007
[4] 胡皓,雷金莉,周妮娜. 1-Wire总线技能及其在失火监测中的运用[J]. 机电工程技能,2006,35(6):68-71.
[5] 张扬清. 基于双机通信的电压和温度监控系统[J]. 科技风,2013(23):104-105.
[6] 张东. 基于双CPU的温室温度远间隔测控系统研究[D]. 重庆:重庆大学,2007
[7] 张华峰. One-Wire Bus检测网从站管理及可靠传输研究[D]. 南昌:南昌大学,2007
[8] 高罗卿. 1-wire系统中TM卡的单片机等效更换[J]. 单片机与嵌入式系统运用, 2008(8):62-65.
[9] 李颖. 车用动力电池SOC估算方法的研究及其管理系统设计[D]. 沈阳:东北大学, 2012.







