• 回复
  • 收藏
  • 点赞
  • 分享
  • 发新帖

LED灯电源设计构想

LED灯电源设计构想

设计指标:

1、设计的最高原则是“简洁”。

2、功率因数>0.99

3、电源效率>95%

4、抗雷击,脉冲群,电压跌落,静电,振动,EMI

5、过压,过流,短路,开路,故障保护。

6、可编程功率:6W---200W

7、电脑联网,遥控调光。

8、铝基板,电源的重要部位温度监控。

9、全密罐封,打火机大小。

10、电流,电压,功率,电能,波形,功率因数监控。

11、环境温度,照度监测。

1286VAC---265VAC交流电压输入。

13、输入、输出的接线设计。

14、利于批量生产。

15、设计寿命大于20年。

16、年使用损坏率小于万分之一。

17、设计上尽量降低成本。

18ISO9000的制造要求。

19、尽量不使用电解电容及大电感。

201011月份第一次为用户做了几百台阻容降压的LED灯以来。观察了几个月,使用效果还可以。决心进入LED行业,认真的做个好的LED电源。毕竟以前我没有做过开关电源的设计,许多因素难免欠考虑。在这立贴说明自己的设计想法,给同行参考以便提意见。我将从输入输出这2头开始LED灯电源设计的探索之旅。

全部回复(58)
正序查看
倒序查看
2011-05-09 10:10

1如果产品没有接地或接地不良,那么跨接在LN 之间的电容CY1CY2 就会承受LN 之间的220V 的电压,在CY1 CY2 的连接点(接地点)上就会有110V 的电位。漏电是由于产品在使用的时候没有接地导致的。这种漏电对于绝大部分人来说是不会构成安全危害的,但某些对电流较敏感的人会有较强反应。

    接地阻抗测试为测试产品的接地点,对产品的外壳或金属部份,施以一个恒流(一般电流在10-40A 之间) 电源来测试两点间的阻抗大小,一般产品规定量测25A,阻抗不得大于0.1Ω CSA要求量测40A,以此测试,可检测出接地点螺丝未锁紧、接地线径太小、 接地线断路等问题。

     X Y 电容都是需要用安规电容。而X 电容一般是薄膜电容MKP 之类,方型外观;多数Y 电容是陶瓷电容耐压1KV以上。x 电容是跨接在电力线两线(L-N)之间的电容;Y 电容是分别跨接在电力线两线和地之间(L-EN-E)的电容,一般是成对出现。基于漏电流的限制,Y 电容值不能太大,一般X 电容是uF 级,Y 电容是nF 级。X 电容抑制差模干扰,Y 电容抑制共模干扰。

安规电容安全等级

X1 >2.5kV 4.0kV

X2 2.5kV

X3 1.2kV ——

安规电容安全等级 绝缘类型 额定电压范围

Y1 双重绝缘或加强绝缘 ≥ 250V

Y2 基本绝缘或附加绝缘 ≥150V 250V

Y3 基本绝缘或附加绝缘 ≥150V 250V

Y4 基本绝缘或附加绝缘 <150V

Y 电容的电容量必须受到限制,从而达到控制在额定频率及额定电压作用下,流过它的漏电流的大小和对系统EMC 性能影响的目的。GJB151 规定Y 电容的容量应不大于0.1uFY 电容除符合相应的电网电压耐压外,还要求这种电容器在电气和机械性能方面有足够的安全余量,避免在极端恶劣环境条件下出现击穿短路现象,Y 电容的耐压性能对保护人身安全具有重要意义。

   个人观点:不用接地端子,电源与灯具做好绝缘!

 

2、防雷用MOV14K431430V、连续275VAC350VDC 155J(10/1000us) 110 J(2ms) 710V6000A(8/20us)

LC滤波用贴片器件,不要用大体积电感。桥堆MB6S的正向压降0.8A时有2×1V?那MB6S的损耗有点大了(1.6W)。谁有08050.3V正向压降的二极管或桥堆?

0
回复
2011-05-09 14:14
@sankong333
1、如果产品没有接地或接地不良,那么跨接在L、N之间的电容CY1、CY2就会承受L、N之间的220V的电压,在CY1和CY2的连接点(接地点)上就会有110V的电位。漏电是由于产品在使用的时候没有接地导致的。这种漏电对于绝大部分人来说是不会构成安全危害的,但某些对电流较敏感的人会有较强反应。   接地阻抗测试为测试产品的接地点,对产品的外壳或金属部份,施以一个恒流(一般电流在10-40A之间)电源来测试两点间的阻抗大小,一般产品规定量测25A,阻抗不得大于0.1Ω而CSA要求量测40A,以此测试,可检测出接地点螺丝未锁紧、接地线径太小、接地线断路等问题。    XY电容都是需要用安规电容。而X电容一般是薄膜电容MKP之类,方型外观;多数Y电容是陶瓷电容耐压1KV以上。x电容是跨接在电力线两线(L-N)之间的电容;Y电容是分别跨接在电力线两线和地之间(L-E,N-E)的电容,一般是成对出现。基于漏电流的限制,Y电容值不能太大,一般X电容是uF级,Y电容是nF级。X电容抑制差模干扰,Y电容抑制共模干扰。安规电容安全等级X1>2.5kV≤4.0kVⅢX2≤2.5kVⅡX3≤1.2kV——安规电容安全等级绝缘类型额定电压范围Y1双重绝缘或加强绝缘≥250VY2基本绝缘或附加绝缘≥150V≤250VY3基本绝缘或附加绝缘≥150V≤250VY4基本绝缘或附加绝缘
帮顶~~~
0
回复
2011-05-09 22:39
@sankong333
1、如果产品没有接地或接地不良,那么跨接在L、N之间的电容CY1、CY2就会承受L、N之间的220V的电压,在CY1和CY2的连接点(接地点)上就会有110V的电位。漏电是由于产品在使用的时候没有接地导致的。这种漏电对于绝大部分人来说是不会构成安全危害的,但某些对电流较敏感的人会有较强反应。   接地阻抗测试为测试产品的接地点,对产品的外壳或金属部份,施以一个恒流(一般电流在10-40A之间)电源来测试两点间的阻抗大小,一般产品规定量测25A,阻抗不得大于0.1Ω而CSA要求量测40A,以此测试,可检测出接地点螺丝未锁紧、接地线径太小、接地线断路等问题。    XY电容都是需要用安规电容。而X电容一般是薄膜电容MKP之类,方型外观;多数Y电容是陶瓷电容耐压1KV以上。x电容是跨接在电力线两线(L-N)之间的电容;Y电容是分别跨接在电力线两线和地之间(L-E,N-E)的电容,一般是成对出现。基于漏电流的限制,Y电容值不能太大,一般X电容是uF级,Y电容是nF级。X电容抑制差模干扰,Y电容抑制共模干扰。安规电容安全等级X1>2.5kV≤4.0kVⅢX2≤2.5kVⅡX3≤1.2kV——安规电容安全等级绝缘类型额定电压范围Y1双重绝缘或加强绝缘≥250VY2基本绝缘或附加绝缘≥150V≤250VY3基本绝缘或附加绝缘≥150V≤250VY4基本绝缘或附加绝缘

3、这几天在学习仿真软件,网上只能下载了multisim10.1。经常出错死掉,它的元件库中的LED我修改为3.1V/350mA,不知能模拟实际的LED伏安特性吗?

0
回复
flute
LV.8
5
2011-05-10 09:59
@sankong333
3、这几天在学习仿真软件,网上只能下载了multisim10.1。经常出错死掉,它的元件库中的LED我修改为3.1V/350mA,不知能模拟实际的LED伏安特性吗?
ding!
0
回复
2011-05-10 10:04
@sankong333
3、这几天在学习仿真软件,网上只能下载了multisim10.1。经常出错死掉,它的元件库中的LED我修改为3.1V/350mA,不知能模拟实际的LED伏安特性吗?

用SIMPLIS可以模拟实际的LED伏安特性

0
回复
2011-05-10 16:34
@sankong333
3、这几天在学习仿真软件,网上只能下载了multisim10.1。经常出错死掉,它的元件库中的LED我修改为3.1V/350mA,不知能模拟实际的LED伏安特性吗?

 

4、单片机初选TI,MSP430系列。先做个原理图。

 

0
回复
2011-05-10 21:28
@whereismycat
用SIMPLIS可以模拟实际的LED伏安特性

谢,可我下载不到SIMPLIS

0
回复
2011-05-10 21:30
@sankong333
[图片] 4、单片机初选TI,MSP430系列。先做个原理图。 

5、单片机电路功耗3.6V/6mA,直接从桥堆后取电损耗太大;所以从LED灯串后取电。不过输入AC电压只能分级了:190VAC—250VAC, 80VAC---150VAC。单片机电源最大损耗

6mA×60VAC360mW。单片机电路总功耗=360mW + 3.6V×6mA +

电压采集电路损耗250V~2/1000=63mW + 30Mo*1A~2=30 mW = 475Mw6mA包括单片机,红外接收头,3线串行联网接口,热电阻温度,光敏电阻,I/O等电路的电流。

Vadc, Iadc为单片机内16ADC的电压,电流单极性采集输入。

Tled,THJLED灯板温度与环境温度热敏电阻采集输入。单片机有内部测温二极管。

VDR,IRD为光敏电阻,红外遥控头采集输入。

HZ过零检测,不一定需要。

VDD3.6V间有稳压电路。

I/O单片机到LED驱动电路的控制线4―――6根。

RXD,AND,TXD三线光隔串行联网HE1接口,可串接上百个HE1设备,再通过HE1-TCP/IP转换器上网。

0
回复
sankong333
LV.4
10
2011-05-11 11:41
@sankong333
5、单片机电路功耗3.6V/6mA,直接从桥堆后取电损耗太大;所以从LED灯串后取电。不过输入AC电压只能分级了:190VAC—250VAC,80VAC---150VAC。单片机电源最大损耗6mA×60VAC=360mW。单片机电路总功耗=360mW+3.6V×6mA+电压采集电路损耗250V~2/1000=63mW+30Mo*1A~2=30mW=475Mw。6mA包括单片机,红外接收头,3线串行联网接口,热电阻温度,光敏电阻,I/O等电路的电流。Vadc,Iadc为单片机内16位ADC的电压,电流单极性采集输入。Tled,THJ为LED灯板温度与环境温度热敏电阻采集输入。单片机有内部测温二极管。VDR,IRD为光敏电阻,红外遥控头采集输入。HZ过零检测,不一定需要。VDD到3.6V间有稳压电路。I/O单片机到LED驱动电路的控制线4―――6根。RXD,AND,TXD三线光隔串行联网HE1接口,可串接上百个HE1设备,再通过HE1-TCP/IP转换器上网。

6LED驱动电路方案1)。输入交流经PFC电路后成为直流,再经由单片机控制的多路可变恒流源。PFC电路为提高效率无需稳压,当输入交流为190VAC时直流=190×1.4276VDC,用单片机控制的第一路可变恒流源;接272.8V/3.1V(330mA)=88LED的灯串,即使直流电压掉到250VDC(179VAC),只是灯串的电流变为

260 mA (88×2.85V)。即使直流电压升为280V,只是灯串的电流变为360 mA (88×3.18V)。所以输入交流为200VAC时用第一路可变恒流源;接88LED的灯串。输入交流为220VAC时用第二路可变恒流源;接98LED的灯串。输入交流为240VAC时用第三路可变恒流源;接108LED的灯串。输入交流为260VAC时用第四路可变恒流源;接118LED的灯串。这样MOS管的功耗接近0,即使误差在308VDC(220VAC)5V的压降*1A也就5W,而总功率为308W,效率也有303/30898.4%。用单片机检测输入直流电压来控制可变恒流源是容易做到效率99%的!谁有1W LED的灯串?做实验。

7LED驱动电路方案2)。不用PFC电路,不用电解电容,用单片机检测输入交流电压来控制可变恒流源。但为提高功率因数路数要用多点。功率也相对方案1变小了。

0
回复
perterlong
LV.6
11
2011-05-11 18:28
传说中的电源
0
回复
sankong333
LV.4
12
2011-05-12 11:26
@sankong333
6、LED驱动电路方案1)。输入交流经PFC电路后成为直流,再经由单片机控制的多路可变恒流源。PFC电路为提高效率无需稳压,当输入交流为190VAC时直流=190×1.4=276VDC,用单片机控制的第一路可变恒流源;接272.8V/3.1V(330mA)=88个LED的灯串,即使直流电压掉到250VDC(179VAC),只是灯串的电流变为260mA(88×2.85V)。即使直流电压升为280V,只是灯串的电流变为360mA(88×3.18V)。所以输入交流为200VAC时用第一路可变恒流源;接88个LED的灯串。输入交流为220VAC时用第二路可变恒流源;接98个LED的灯串。输入交流为240VAC时用第三路可变恒流源;接108个LED的灯串。输入交流为260VAC时用第四路可变恒流源;接118个LED的灯串。这样MOS管的功耗接近0,即使误差在308VDC(220VAC)有5V的压降*1A也就5W,而总功率为308W,效率也有303/308=98.4%。用单片机检测输入直流电压来控制可变恒流源是容易做到效率99%的!谁有1WLED的灯串?做实验。7、LED驱动电路方案2)。不用PFC电路,不用电解电容,用单片机检测输入交流电压来控制可变恒流源。但为提高功率因数路数要用多点。功率也相对方案1变小了。

8当光敏电阻受到一定波长范围的光照时, 它的阻值(亮电阻)急剧减少, 电路中电流迅速增大。 一般希望暗电阻越大越好, 亮电阻越小越好,此时光敏电阻的灵敏度高。 实际光敏电阻的暗电阻值一般在兆欧级, 亮电阻在几千欧以下。热敏电阻则是随温度变化。VREF*1KO/(R+1KO)=VIN= VREF*N/65536

R=65536*1KO/N1KO

 

9、单片机资源有限。取消HZ周期检测,而是通过电压波形采集实现。取消环境温度热敏电阻采集输入。只有5条单片机到LED驱动电路的I/O控制线。

0
回复
madboy21
LV.8
13
2011-05-12 12:03
@sankong333
8、当光敏电阻受到一定波长范围的光照时,它的阻值(亮电阻)急剧减少,电路中电流迅速增大。一般希望暗电阻越大越好,亮电阻越小越好,此时光敏电阻的灵敏度高。实际光敏电阻的暗电阻值一般在兆欧级,亮电阻在几千欧以下。热敏电阻则是随温度变化。VREF*1KO/(R+1KO)=VIN=VREF*N/65536,R=65536*1KO/N-1KO。 9、单片机资源有限。取消HZ周期检测,而是通过电压波形采集实现。取消环境温度热敏电阻采集输入。只有5条单片机到LED驱动电路的I/O控制线。

不知道说什么,做个东西出来可能会真点。

0
回复
LED电源1
LV.4
14
2011-05-13 11:50
@perterlong
[图片]传说中的电源
真做出来 世界都有名 半年内被抄袭 那是肯定的
0
回复
sankong333
LV.4
15
2011-05-13 15:00
@sankong333
6、LED驱动电路方案1)。输入交流经PFC电路后成为直流,再经由单片机控制的多路可变恒流源。PFC电路为提高效率无需稳压,当输入交流为190VAC时直流=190×1.4=276VDC,用单片机控制的第一路可变恒流源;接272.8V/3.1V(330mA)=88个LED的灯串,即使直流电压掉到250VDC(179VAC),只是灯串的电流变为260mA(88×2.85V)。即使直流电压升为280V,只是灯串的电流变为360mA(88×3.18V)。所以输入交流为200VAC时用第一路可变恒流源;接88个LED的灯串。输入交流为220VAC时用第二路可变恒流源;接98个LED的灯串。输入交流为240VAC时用第三路可变恒流源;接108个LED的灯串。输入交流为260VAC时用第四路可变恒流源;接118个LED的灯串。这样MOS管的功耗接近0,即使误差在308VDC(220VAC)有5V的压降*1A也就5W,而总功率为308W,效率也有303/308=98.4%。用单片机检测输入直流电压来控制可变恒流源是容易做到效率99%的!谁有1WLED的灯串?做实验。7、LED驱动电路方案2)。不用PFC电路,不用电解电容,用单片机检测输入交流电压来控制可变恒流源。但为提高功率因数路数要用多点。功率也相对方案1变小了。

103.4V稳压电源,起动,复位电路设计:3.4 V稳压电源搞了2天,郁闷。模拟实验了多种方案,终于搞定!

最终结果:输入180VAC---380VAC,输出3.38V/6.73mA,功耗小于0.1W,纹波36mV。起动时间小于0.9秒。

终于要进入布PCB板,投样品阶段。

0
回复
chenccy
LV.4
16
2011-05-13 17:36
@LED电源1
真做出来世界都有名半年内被抄袭那是肯定的

还打火机大小,不切实际的想法.

0
回复
sankong333
LV.4
17
2011-05-13 19:59
@chenccy
还打火机大小,不切实际的想法.[图片]

找到一种铸造金属盒(1分5有线网分支器),板子尺寸:22×60 mm,比打火机短20mm。担心铝基板6KV雷击时的绝缘性能,用玻纤板加土制散热罐封;不过只能布4MOS管。单面布线,有点麻烦。

刚开始通电时,单片机还没工作(220VAC时起动时间小于0.6秒)。

所以增加MOS管驱动锁定电路。

11、照度调光、时间调光、灯板温度调光、网络调光、遥控调光。

0
回复
madboy21
LV.8
18
2011-05-14 09:40
@sankong333
10、3.4V稳压电源,起动,复位电路设计:3.4V稳压电源搞了2天,郁闷。模拟实验了多种方案,终于搞定!最终结果:输入180VAC---380VAC,输出3.38V/6.73mA,功耗小于0.1W,纹波36mV。起动时间小于0.9秒。终于要进入布PCB板,投样品阶段。

等众多的好东西

0
回复
liuhanchao
LV.4
19
2011-05-16 13:09
好哇,支持!
0
回复
电子盲
LV.4
20
2011-05-17 21:47
@sankong333
找到一种铸造金属盒(1分5有线网分支器),板子尺寸:22×60mm,比打火机短20mm。担心铝基板6KV雷击时的绝缘性能,用玻纤板加土制散热罐封;不过只能布4路MOS管。单面布线,有点麻烦。刚开始通电时,单片机还没工作(220VAC时起动时间小于0.6秒)。所以增加MOS管驱动锁定电路。11、照度调光、时间调光、灯板温度调光、网络调光、遥控调光。

人才啊!

支持!

0
回复
sankong333
LV.4
21
2011-05-19 17:11
@sankong333
找到一种铸造金属盒(1分5有线网分支器),板子尺寸:22×60mm,比打火机短20mm。担心铝基板6KV雷击时的绝缘性能,用玻纤板加土制散热罐封;不过只能布4路MOS管。单面布线,有点麻烦。刚开始通电时,单片机还没工作(220VAC时起动时间小于0.6秒)。所以增加MOS管驱动锁定电路。11、照度调光、时间调光、灯板温度调光、网络调光、遥控调光。

12、单片机实现的过压、过流、短路、开路、检测与保护。效率,功率因数跟踪调整。可编程的功率调整。

已投样板,我这2年的主要工作是建房子,装修。建筑节能应从建房子的设计就开始。主要在房子的保温,保温必须密封,而密封就需认真考虑换气系统。保温好的房子可做到低于30W/平方米的损耗!LED灯具我看作建筑节能的一部分。

0
回复
javike
LV.12
22
2011-05-19 20:50
有做出实物来吗?
0
回复
sankong333
LV.4
23
2011-05-23 16:22
@javike
有做出实物来吗?

 13、可网络在线升级程序,增加新功能或调整方案。

PCB板到手,开始硬件测试MOS管恒流源。要全部完成估计时间要拖久;最近又有新任务。

0
回复
sankong333
LV.4
24
2011-05-23 16:29
@sankong333
[图片] 13、可网络在线升级程序,增加新功能或调整方案。PCB板到手,开始硬件测试MOS管恒流源。要全部完成估计时间要拖久;最近又有新任务。

 14、断电时参数自动保存,以便来电恢复(间隔可达10年)。

0
回复
sankong333
LV.4
25
2011-05-23 16:30
@sankong333
[图片] 14、断电时参数自动保存,以便来电恢复(间隔可达10年)。
 15SNP简单网络通讯协议。
0
回复
sankong333
LV.4
26
2011-05-23 16:37
@sankong333
[图片] 15、SNP简单网络通讯协议。

4路MOS管都由单片机控制时,功率因数可做到0.96以上,效率达到95%以上。

还在改进的模拟电路:

 

0
回复
power88888
LV.6
27
2011-05-24 15:01
@sankong333
4路MOS管都由单片机控制时,功率因数可做到0.96以上,效率达到95%以上。还在改进的模拟电路:[图片] 
这上面试出来能行,在现实开发中可能有点难哟!
0
回复
sankong333
LV.4
28
2011-05-24 21:24
@sankong333
4路MOS管都由单片机控制时,功率因数可做到0.96以上,效率达到95%以上。还在改进的模拟电路:[图片] 

16、从软件的角度,单片机,CPU。。可看作是一个接口:

CPU_JK(RESET,INT1,。。。INTn)RESET,INT1,。。。INTn的标志置位与清除,跳转入口地址是由硬件设定的。RESET类的构造:

RESETinit();初始化函数

       DD_JK();死循环或睡眠 任务调度接口

       exit();退出处理}

在单片机里,通常的编程任务都在编写中断函数INT()上;调度接口用得少。DD_JK()类似RESET()接口,就是所谓操作系统的任务调度了,什么线程,进程,多任务之类概念的根源。在UNIX等的多用户多任务操作系统里,一般中断函数不能占据太多的时间片段,通常分快速中断函数(必须实时处理部分,设置任务位容器的相关标志,返回),慢速中断函数实际上就是在DD_JK()里相对应的后续处理任务。任务容器的标志清除通常由相应的任务一开始的指令来清除。例,定义一个16位的任务容器

BC16 TSS;如果优先级是按高位到低位排序,就从高位开始判断。。。执行任务,返回。。。死循环或睡眠等待中断。。中断返回,跳到DD_JK()开始地方。。。

DD_JK()是最易编写的函数之一,我喜欢用汇编。

0
回复
2011-05-25 09:09
想法很好
0
回复
sankong333
LV.4
30
2011-06-02 22:21
@桂源电子
想法很好[图片]
今天到深圳,请问哪有同时测功率,效率,功率因数,电压,电流的仪器卖
0
回复
sankong333
LV.4
31
2011-06-02 22:27
@sankong333
16、从软件的角度,单片机,CPU。。可看作是一个接口:CPU_JK(RESET,INT1,。。。INTn)。RESET,INT1,。。。INTn的标志置位与清除,跳转入口地址是由硬件设定的。RESET类的构造:RESET{init();初始化函数      DD_JK();死循环或睡眠任务调度接口      exit();退出处理}在单片机里,通常的编程任务都在编写中断函数INT()上;调度接口用得少。DD_JK()类似RESET()接口,就是所谓操作系统的任务调度了,什么线程,进程,多任务之类概念的根源。在UNIX等的多用户多任务操作系统里,一般中断函数不能占据太多的时间片段,通常分快速中断函数(必须实时处理部分,设置任务位容器的相关标志,返回),慢速中断函数实际上就是在DD_JK()里相对应的后续处理任务。任务容器的标志清除通常由相应的任务一开始的指令来清除。例,定义一个16位的任务容器BC16TSS;如果优先级是按高位到低位排序,就从高位开始判断。。。执行任务,返回。。。死循环或睡眠等待中断。。中断返回,跳到DD_JK()开始地方。。。DD_JK()是最易编写的函数之一,我喜欢用汇编。

;==============================================================================

;         YT 终端设备通信规范:YTRTU_SNP   Ver1.8

; 通信规范只有物理层,链路层,应用层;类似MODBUS协议。

;==============================================================================

; 简单网络协议SNP   Ver1.2

; SNP只规范了帧数据包的第一个字节; 数据包是否加密;ID号;目标,源地址,内存开始地址,长度等由256种协议规定.

;------------------------------------------------------------------------------

; BIT7--BIT4: 4位16种自定义的类型协议.

; 电表:1000, 水控: 1001, 集线器: 1010, LED终端: 1011

; BIT3: 方向位. 1-主设备发送数据帧,0-子设备响应帧.

; BIT2--BIT0:

; 1000 关闭设备.

; 1001 写数据DTW.

; 1010 读数据DTR.

; 1011 段擦除

; 1100 强制数据CDW. (用于周期性的由调度器发放令牌,得到令牌的子设备可暂时地成为

; 主站. 或作为路由命令等.)

; 1101 备用

; 1110 打开设备.

; 1111 备用.

; 0000 NAK(异常响应).

; 0001 事件数据请求的DTR响应YACK.

; 0010 无事件数据的DTR响应NACK.

; 0011 ACK(正确响应).

; 0100--0111 备用

;------------------------------------------------------------------------------

; 总线传输约定:

;------------------------------------------------------------------------------

; 主从结构的半双工方式。通信链路的建立与拆除均由主站来控制。

; 帧头为SNP;或同步字符: SYNC.

; 数据长度L:数据域的字节数。<=255, L=0表示无数据域。

; 结束符-校验码CS:各字节算术和。

; 设备可为硬设备或软件设备(一段程序).

; 线路空闲状态为1。

; 字符格式:低位先传,后传高位;起始位0;8位数据,一位偶校验位,一位停止位1。

; 每个字符间无需线路空闲间隔。

; 2帧间的线路空闲间隔最少需33位。

; 传输规则: 只有在前一轮传输结束后才能开始新一轮的传输.

; 传输响应:20MS <= TD <= 500MS, TB<= 500MS。

; 差错控制:出错丢弃。

; 数据帧结构:SNP L PT SA  D1 D2--DL

;  SNP{                    //串行主从方式协议的主站头.

;       BC8S  SNP_HEAD;    //SNP协议头.

;       BC8S  SNP_L;       //数据长度.

;       BC16S SNP_SOCKET;  //端口标识.

;       BC16S SNP_SA;      //目标开始地址.

;     }

; D1---DL为L个的字节数据.

; PT为16位端口标识,用于调度或子设备地址;一个主设备可有64K个端口子设备

; 子设备也允许拥有多个端口。

; PT=65535为广播端口,65534备用.

; SA为目的站内16位存储器(SRAM,FLASH,EEPROM)开始地址或数据标识或其子设备地址。

; 读写数据长度1字节L:从D1到DL的字节数;读时<=255, 写时<=64, L=0表示无数据域。

;------------------------------------------------------------------------------

; 总线调度约定:

;------------------------------------------------------------------------------

; 有路由或网桥功能的设备通常都可作为调度器使用。总线上只能有一个主调度器MLAS。

; 调度器地址码与优先级顺序分别为:1--33。非调度器的设备同一时间只能挂65500个,

; 地址为34--65533。

; MLAS以轮循强制数据CDW方式周期性访问总线上的设备,当设备3次无反应时,就从活动

表中去掉这些设备。

; 得到CD的设备成为主站可向总线发送信息。每周期只能发送最大长度256字节的一帧数据。

; 当MLAS退出或故障时,付调度器按优先级依时间次序升为MLAS,例MLAS1退出,总线上有

; 2,4号付调度器。当他们发现

; 总线在预定时间无信号传输时,2延迟1T时间后接管MLAS。如2被设置禁止作为MLAS,

; 则4等候3T时间后接管MLAS。如这

; 时1号调度器恢复,在MLAS轮循到1号调度器时;1号向4号MLAS发写帧,将4号MLAS设回

; 为付调度器方式,从而1号成为MLAS。

; 新入网的设备站地址为65535。MLAS轮循到65535地址有反应时,MLAS将为新设备分配地

; 址,并加入到活动表中,同时在轮循到付调度器时更新付调度器的活动表。也可通过其

; 它方式直接对MLAS设入新设备地址。

;------------------------------------------------------------------------------

; 总线路由约定:

;------------------------------------------------------------------------------

; 总线上的设备通过路由器与其它总线上设备通信;这时就必需建立连接通道。连接可通

; 过ID号服务中心的短消息,邮箱

; 等方式进行。或GSM,GPRS,TCP/IP等点到点方式实现。

; 每个设备都分配有一个唯一的8字节ID号;称为信胞ID号。ID号可为手机号,QQ号,设

; 备号等。前面为0的字节将被忽略。

; 设备号:节点6字节MAC,另2字节为端口PT。

; 1。主站对终端设备请求帧:C=11H/12H/13H,请求读数据,L=02H。

; 2。终端设备从站正常应答:C=91H/92H/93H,无后续数据帧,L=02H+M(数据长度)。

; 3。终端设备从站异常应答:C=D1H/D2H/D3H,从站收到非法的数据请求或无此数据。L=01H。

; 4。主站向从站请求设置数据:C=14H/15H/16H,L=02H+M(数据长度)。

; 5。终端设备从站正常应答:C=94H/95H/96H,L=00H。

; 6。终端设备从站异常应答:C=D4H/D5H/D6H,从站收到非法的数据请求或无此数据。L=01H。

; 7。错误信息字节ERR:D7---D0,空-费率数超-日时段数超-年时区数超-空-密码错-数

; 据标识错-非法数据-空。

;==============================================================================

; MSP430系列SNP:

; 校验口令码:              XE  08  PTL PTH  F0  10   D1-D8   ; ACK/NAK(X3H/X0H).

; D1--D8为设备密码; 10F0H---10F7H=本设备密码地址; PT=XXXXH

; 有保护命令:

; SNP=XFH 广播数据TEW:      XF  L 0XFFFF SAL SAH   D1 D2..DL  ; ACK/NAK.  X3H/X0H.

; 2. 对时命令.        XF  08 0XFFFF 80  02   D1 D2..D8   

; D1D2..D8=年月日星期时分秒 标准值.                 

; O280H---0287H=年月日星期时分秒.

; SNP=X2H 读数据DTR:  SNP  L  PTL  PTH  SAL SAH  D1 D2..DL   ; 0X1H/0X2H D1--DL CS

; 3. 读数据           X2   L  PTL  PTH  SAL SAH 

; NACK=X2H(无事件数据的DTR响应), YACK=X1H(有事件数据请求的DTR响应).

; 64K字节,0X00000000--0X0000FFFFH,

; 4. 段擦除.          XB  02  PTL  PTH  SAL SAH         ;NACK

; SNP=X1 写数据DTW: SNP L  PTL PTH  SAL SAH D1 D2..DL ;ACK/NAK(ACK=0X3H, NAK=0X0H)     

; 5. 写数据         X1 L  PTL  PTH  SAL SAH D1 D2..DL 

; 注意: SRAM开始地址为0200H,不同芯片其范围不一样,写命令只限于0200H以上的地址!

; 出厂时数据区A段B段都是空白点,即01000H--010FFH全0FFH,对FLASH区的写仅当内容

; 空白时才有效,否则返回NAK!

; 大于0FE00H以上的512B地址范围不能写(内含主程序,通信及在线升级),程序段只限于

0FE00H以下的地址.对于非空的FLSAH区域的写只能先做段擦除为空后,才能写进去!因全

段擦除,所以要注意保护相邻的数据!

; CRC为从SNP字节开始到SA的8字节帧头16位的CRC校验字。CS为D1-DL的校验和。

; 差错控制:出错丢弃。

; SA设为地址可简化各式各样智能部件通信协议的编程,地址的内容表示什么样的数据

; 可在电脑上装相应解释表驱动; 从而使各智能部件的后台人机界面一致。 

;==============================================================================

; 简单网络协议LED-SNP

; HE1串口从站接收回应数据帧任务. 出错丢弃该帧.

; 无保护命令:

; 打开设备:            BEH    8  PT    010F0H   D1-D8         ;B3H/B0H ,ACK/NAK

; 关闭设备:            B8H    8  PT    010F0H   D1-D8         ;B3H/B0H ,ACK/NAK

; 有保护命令:

; 读数据DTR:           BAH    L  PT     SA      ; YACK/NACK(B1H/B2H) D1--DL CS.

; 写数据DTW:          B9H    L  PT     SA      D1-DL         ; ACK/NAK

; 广播写数据TEW:       B9H    L 0FFFFH  SA      D1-DL         ; ACK/NAK

; 擦洗一段DTR:         BBH    2  PT     SA                    ; NACK(B2H).

; 广播擦洗一段         BBH    L 0FFFFH  SA      D1-DL         ; ACK/NAK

0
回复