BentlyNevada 3500/25, 126398-01
在智能电表应用中的一个重要的问题就是数据的保存和数据的安全,不仅要求数据要及时的保存而且要求所保存的数据不能有错误,所以***需要考虑的是数据的冗余和校验。出于成本和数据安全的考虑,可以采用两种方案实现电量计量,一是当电量有变化时周期性将当前的电量存入EEPROM中;二是只在意外断电时将当前电量存入EEPROM中。***种方案需要考虑的是EEPROM的擦写次数是否能满足使用要求。第二种方案需要考虑的是备用电源的供电时间能否满足存储时间的要求。
前一种方案,单片机每隔10秒向EEPROM存入写入一次当前的电量,如果当前电量与前一次写入的值相等则不写入以节约EEPROM的写入寿命。存储时采用不固定的存储地址,从0地址开始每次写入两次数据,占用8个字节,作为备份。下次写入时将写入地址向后移动2个数据的宽度,即8个字节。循环写入整个EEPROM的空间,如此可以计算出(1024*300,000次)/8=38,400,000次,每隔10秒存储一次大约可以使用12年。
后一种方案,单片机的ADC管脚连接电压采集转换,利用采集到的ADC值判断当前主电源的供给状况。一旦ADC值降低的某一阀值则认为主电源断电,开始采用备用电源供给。备用电源采用大电容的方案,单片机写入双备份8个字节的时间大约为50ms,写入时的电流约为2mA,单片机的运行电流(5V)约为8mA。假设电容从5V放电到3.8V,通过计算可以得知0.05s*0.01A/(5V-3.8V)=417uF。故在系统的供电电源上并联两个470uF的电容即可完全满足主电源掉电后的存储电源供给。
3.2.车载收音机应用
车载收音机的应用方案需要考虑两块存储空间的安排,一块是寄存 器表区域,存储收音机调谐器寄存器表的信息。数据量大约68个字节,这部分存储信息在出厂时写入后禁止修改。一块是用户参数值区域,用于保存收音机运行时用户设置值的空间。大约需要100个字节,其中包括开关机信息、收音机频率信息、音量音色信息等等,存储时不会一次刷新整片存储区域,一般只会修改几个字节的信息。
按照车载收音机存储空间的安排,可以将1K的EEPROM空间按照128个字节一块的大小分割成8个块。第0块用于存储寄存器表,出厂时一次写入后禁止改写。从第1块到第7块组成一个循环链表作为用户数据的存储,每次上电选择相邻的两个块作为当前存储空间,下一次上电选择的两个存储空间向后移一个。如***次上电选择1、2两个块,第二次上电选择2、3两个块,以此类推,使得EEPROM的每个块的擦写次数平均化。EEPROM空间分配如下图1所示,开机流程如下图2所示,遍历每个块直到找到有效的块并读出上次断电前存储的设置值,如果直到第7块都没有找到有效块则载入默认值。确定有效的设置值后初始化写入主数据块和备份数据块一次,程序运行时如果有设置值的改变则依次修改主数据块和备份数据块。如果遇到意外断电,至少可以保证
一个数据块中的内容是合法有效的。


4.总结
综上所述,本文介绍了两种常见的单片机存储应用实例,均通过STM8S内置EEPROM实现存储。设计的方案符合设计要求并具备低成本、抗干扰等优点,适用于一般单片机存储的应用。
AI810
AO810V2
CI840
DI810
DO810
DO815
EI803F
EI813F
FI820F
RLM01
SA801F
SA811F
SD802F
SD822
TU810V1
TU847
1762-IF2OF2
1762-OW16
PS10-2T2-DD1-AD3
IC660BBA020
KJ3001X1-CA1
KJ3002X1-BC1
CIMR-M5N2015
A02B-0228-***2
A06B-6102-H245#H520
ASX-16C
ATS48C11Q
ATS48C14Q
PD63F160
FOS79800D-000
83480A
83485A
86100A
86103A
86105A
86105C-OPT200
DPS-250AB-47A
3503E
LC82*8
MAC2
VM1
MVME167PA-34SE
HDS02.2-W040N-HS32-01-FW
3700A
6ES7 633-2BF02-0AE3
1C31132G01 1C31129G04
1756-0W16
1756-DNB
1756-IB32
1756-L61
CAT-140-MN-1000
6EP1436-1SH01 升级替代型号 6EP1436-3BA00 DC 24V 20
A0810
140ACI04000
140ACO13000
140CPS11420
140CPU53414B
140CRA93100
140CRP93100
140DDI35300
140DDO35300
140NOE77101
140XBP01600
CHDQ***-75DM
***000-4T0150P
***000-4T0220P
MDD112D-N030-N2M-130GA0
ACS800-01-0020-3
ACS800-01-0025-3
ACS800-01-0060-3
ACS800-01-0070-3
ACS800-01-0100-3
ACS800-01-0120-3
3V4150
3V4160
140CHS11000
140CPS11100
140CPS11420
140CPS12420
140CPU43412A
140CRA93200
140CRP93200
140DDI35300
140DDI84100
140DRA84000
140NOE77101
1203-CN1
1746-A10
1746IM16
1746OW16
1747-L542
1756 L55
1756-BA2
1756-IF16
1756-OB16I
1756OB32
1756-OF8
1761-L20BWA-5A
2711P-T6C20D
140CRA93200
140CRP93200
MDD112D-N-030-N2M-130GB0
OKYM 6W 21
A20B-3900-0042
140ACI04000
140ACO13000
DPR250
A20B-3900-0042
140CPU11303
490NRP95400
GMI-S13
AO810
MT4414T
MT4424T
***000-4T0150P
***000-4T0220P
140DDI35300
140DDO35300
140NOE77110
ES50
6ES7 331-7RD00-0AB0
ADVANTAG 9100
6NH9720-3AA00
A03B-0819-C161
WH5-2FF
L5201-2-02
31C015-503-4
MM05C-503-00
MVME5500-0161
ARTMO-250VE2T8PCN
DSAI 130D
DSAO 120A
DSBC 176
SGMAH-01AAA21
IC697MDL740E
ADAM-5017
ADAM-5050
ADAM-5510
140CRA 93100
1756L55M22
3503E
3700A
MPL-A320H-HJ22AA
DKCXX.3-100-7
PS4-201-MM1
E4809-770-069A
MVME167PA-34SE
HE100S
6FX1115-0AA02
6FX1123-7AA02
6FX1125-1AA01
6FC3988-7AF01
1756-OW16I
1756-TBCH/A
CACR-IR151515EB
SDCSPOW-1
PSSI CPU 302060
PSSI DI20T 302112
PSSI DIOZ 302108
PSSI PS24 302051
C7012A 1202
1326AB-B420E-M2L
1747-CP3(USB)
1747-CP3(串口)
1747-L542
IC693PBM200
140DD035300
140DDI35300
140NOE77110
TSXCTY4A
TSXPBY100
XBT-F034610
PS-M06D12S5-NJ1L(S)
A06B-0126-B577
6ES7331-7KF02-OABO
6ES7332-5HD01-OABO
1756-CN2
1756-EWEB
1756-IB32
1756-L63
1756-OF8
1756-OV32E
972-0DP10
MC-4/11/10/400
1756-CNB
1756-CNBR
1756-ENBT
1756-IF8
1756-IM16I
1756-L63
1756-OF4
1756-OF8
1756-OW16I
1756-PA72
1756-PA75
1756-TBCH
1756-TBNH
1757-SRM
LOGO-230RC
1746-IM16
1746-OW16
1746-P2
1747-L541
1756-BA1
1756-IB32
1756-L55M13
1756-OB32
1756-PA72/C
6ES7 307-1EA00-0AAO
6ES7 315-2AF03-0AB0
6ES7 317-2AJ10-0AB0
6ES7 321-1BL00-0AA0
6ES7 322-1BH02--0AA0
6ES7 322-1BL00-0AA0
6ES7 322-1HH01--0AA0
6ES7 331-7KB02-0AB0
6ES7 331-7KF02-0AB0
6ES7 332-5HD01-0AB0
6ES7 953-8LL00-0AA0
6ES7971-1AA00-0AA0
6SE7 216-2BD23-OXB0
VLT2822PT4B20SBR1DBF10A00C0
OP-620
621-6575
ES1-112-7MT
A03B-0801-C054
A03B-0807-C161
A06B-6114-H208
A16B-1212-022
A16B-2200-035
A16B-2200-036
A20B-2000-0170
2094-BC02-M02-S
872C-D3NP12-D4
PSR4/5A-250
3TK2804-0BB4
3TK2907-0BB4
1746-NO8I
1770-XYC
1771-A2B
1771-CD
1771-P7
1794-ASB
1794-IM8
1794-OM8
1794-TBN
OP-620
INNIS21
INNPM12
K-TFT-AN-CCFT
FERE100
SGDH-04AE
140ACI04000
140ACO02000
140DDI35300