软件SPI通信程序:
#include "C:\sample\spi.h"
unsigned char rw_spi(unsigned char val)
{unsigned char Bit_counter
for(Bit_counter=8Bit_counter!=0Bit_counter--)
{output_low(pin_b1)
output_low(pin_b0)
if(val&0x80) output_high(pin_b0)
val<<=1
output_high(pin_b1)
if(input(pin_b0)) val|=1
}
output_low(pin_b1)
return val
}
void main()
{
unsigned char value
setup_adc_ports(NO_ANALOGS|VSS_VDD)
setup_adc(ADC_OFF)
setup_psp(PSP_DISABLED)
setup_spi(SPI_SS_DISABLED)
setup_wdt(WDT_OFF)
setup_timer_0(RTCC_INTERNAL)
setup_timer_1(T1_DISABLED)
setup_timer_2(T2_DISABLED,0,1)
setup_timer_3(T3_DISABLED|T3_DIV_BY_1)
setup_comparator(NC_NC_NC_NC)
setup_vref(FALSE)
//Setup_Oscillator parameter not selected from Intr Oscillator Config tab
// TODO: USER CODE!!
while(1)
{output_high(pin_b2)
output_high(pin_d0)
delay_ms(1000)
output_low(pin_d0)
delay_ms(1000)
output_low(pin_b2)
value=rw_spi(0x00)
putc(value)
value=rw_spi(0x00)
putc(value)
output_high(pin_b2)
delay_ms(10)
output_low(pin_b2)
rw_spi(0x00)
rw_spi(0x00)
}
}
硬件SPI程序:
#include "C:\sample\spifyt.h"
#int_SSP
#define EEPROM_ADDRESS BYTE
void SSP_isr(void)
{
}
void main(EEPROM_ADDRESS address)
{
int data=0
setup_adc_ports(NO_ANALOGS|VSS_VDD)
setup_adc(ADC_OFF)
setup_psp(PSP_DISABLED)
setup_spi(SPI_MASTER|SPI_L_TO_H|SPI_CLK_DIV_4)
setup_wdt(WDT_OFF)
setup_timer_0(RTCC_INTERNAL)
setup_timer_1(T1_DISABLED)
setup_timer_2(T2_DISABLED,0,1)
setup_comparator(NC_NC_NC_NC)
setup_vref(FALSE)
enable_interrupts(INT_SSP)
enable_interrupts(GLOBAL)
//Setup_Oscillator parameter not selected from Intr Oscillator Config tab
// TODO: USER CODE!!
while(1){
delay_ms(2000)
output_low(pin_b2)
spi_write(0x9)
spi_write(0x80)
delay_ms(11)
spi_write(0x18)
spi_write(address)
data=spi_read(0)
putc(data)
delay_ms(20)
data=spi_read(0)
putc(data)
delay_ms(100)
output_high(pin_b2)
}
}
希望对你有用。。
这个控制方案很多的:利用ZigBee无线传感器网络技术对LED节能灯实现远程控制的方案,给出了详细的软硬件设计。
1 自组网控制系统及工作原理
为实现故障检测、温度检测、电压检测、亮度检测和控制以及故障报警等功能,自组网控制系统采用了图1所示的设计。
整个无线网络是由终端节点(ZigBee Endpoint,ZE)、路由(ZigBee Router,ZR)、和协调器(ZigBee Coordinator,ZC)3种设备构成。其中终端是简化功能设备(Reduced Function Device,RFD),只能与路由或者协调器直接通信。路由是全功能设备(FuU Function Device,FFD),既可以和路由和终端直接通信,也可以和协调器直接通信。协调器是PAN协调器(PANC),负责一个PAN区域的网络建立及管理。协调器收集所有节点和路由的信息,通过RS232发给监控计算机来确定灯的亮度、环境温度、电池电量等。
工作原理:系统中每个终端、路由分别控制一盏灯,每个灯对应一个ID(终端或路由加入网络时由协调器自动分配),各个节点和路由将传感器收集的数据通过无线发送到协调器,协调器将收到的数据通过串口发送到监控计算机。如果LED灯出现故障,检测电路会产生报警信号,报警信号最终会发送到监控计算机,计算机会提示工作人员故障灯的ID,让维护更便利。另外终端的光敏传感器会收集光照的程度,然后由终端自动的调整光照的亮度。
终端也会将自身的供电电压传送到监控计算机,以防节点缺电而影响使用。
2 系统硬件设计
系统是由电源模块、无线传输模块(CC2530、温度检测、电压检测)、LED驱动模块、LED检测模块等组成,具体硬件电路逻辑结构如图2所示。其中电源模块是采用市面常用的ASM1117-5.0和ASM1117-3.3,原理简单易懂。下面主要介绍无线通信模块和LED驱动模块。
无线通信模块采用TI公司的CC2530模块,CC2530是用于IEEE 802.15.4、ZigBee和RF4CE应用的一个真正的片上系统(SoC)解决方案。它能够以非常低的总的材料成本建立强大的网络节点。CC2530结合了领先的RF收发器的优良性能、业界标准的增强型8051 CPU、系统内可编程闪存、8 KB RAM和许多其他强大的功能。CC2530有4种不同的闪存版本:CC2530F32/64/128/256(分别具有32/64/128/256 KB闪存)。CC 2530具有不同的运行模式,使得它尤其适应超低功耗要求的系统。运行模式之间的转换时间短,进一步确保了低能源消耗。CC2530优良的性能和具有代码预取功能的低功耗、8051微控制器内核、32/64/128 KB的系统内可编程闪存、8 KBRAM,具备在各种供电方式下的数据保持能力并且支持硬件调试,具有极高的接收灵敏度和抗干扰性能。它的可编程输出功率高达4.5 dBm,并且只需极少的外接元件。硬件电路结构框图如图3所示,其中光控单元采用TPS851芯片,温控模块采用TC77。
LED驱动模块采用的芯片是PT4115。PT4115是一款连续电感电流导通模式的降压恒流源,用于驱动一颗或多颗串联LED。PT4115输人电压范围从6~30 V,输出电流可调,最大可达1.2 A。根据不同的输入电压和外部器件,PT4115可以驱动高达数十W的LED。PT4115内置功率开关,采用高端电流采样设置LED平均电流,并通过DIM引脚可以接受模拟调光和很宽范围的PWM调光。当DIM的电压低于0.3 V时,功率开关关断,PT4115进入极低工作电流的待机状态。驱动原理图如图4所示。PT4115和电感L、电流采样电阻RS形成一个自振荡的连续电感电流模式的降压、恒流LED控制器。VIN上电时,L和RS的初始电流为零,LED输出电流也为零。这时候,CS比较器的输出为高,内部功率开关导通,SW的电位为低。电流通过L、RS、LED和内部功率开关从VIN流到地,电流上升的斜率由VIN、L和LED压降决定,在RS上产生一个压差VCSN,当VIN-VCSN>115mV时,CS比较器的输出变低,内部功率开关关断,电流以另一个斜率流过L、RS、LED和肖特基二极管(D),当VIN-VCSN<85 mV时,功率开关重新打开,这样使得在LED上的平均电流为I。I=(0.085+0.115)/(2×RS)=0.1/RS。
本文应用IAR Embedded Workbench开发环境,在TI ZStack-2.2.1-1.1.3协议栈的基础上,编写了系统的应用程序代码,用VC编写了上位机程序。系统软件主要包括协调器节点程序、路由和终端程序、上位机程序。ZStack提供了丰富的函数调用接口。
ZigBee网络中的协调器工作流程如图5所示,路由(涵盖终端)工作流程如图6所示。在ZigBee网络中,网络协调器具有建立网络、维护邻居设备表、对逻辑网络地址进行分配、允许设备MAC层/应用层的连接或断开网络的功能。对于节点之间的通信有两种寻址方式,分别是通过64位IEEE地址和16位网络地址来寻找网络设备,当节点加入网络时候,协调器会自动给其分配唯一的16位网络地址。灯的无线控制系统要求能够对任意一盏灯进行亮度调节,因此人工分配64位IEEE地址给每个路灯,以便以后进行控制。另外配置ZigBee设备对象断点时候,网内的所有节点的ID和断点描述符必须相同,否则节点间不能通信。路由器和终端的工作流程相识,这里不作区分。
上位机能够为工作人员清楚地提供电压、温度、节点数目、节点地址等数据,实现远程无线控制,创作和谐的人机交互界面,如图7所示。工作人员能够在上位机上使用ID对灯亮暗程度进行远程控制。
4结语
经测试,在室内无障碍15 m左右距离,无遮挡物环境下速率能够达到2 50 kbps室外空旷环境下30~1 00m距离,速率为40 kbps300 m,速率为25 kbps。距离150 m时通信的误码率可小于2%。系统在发射状态下电流为25.7 mA,接收时为29.3mA,休眠状态下仅为2.5μA。本系统具有成本低、功耗低、实施简单、维护方便的特点,具有较高的参考价值。
国网电力科学研究院是全国电力系统控制及其通信标准化技术委员会、全国静态继电保护装置标准化分技术委员会、电力行业继电保护标准化技术委员会、全国带电作业标准化技术委员会、全国电磁兼容标准化技术委员会、全国高电压安全标准化技术委员会、全国高电压试验技术和绝缘配合标准化委员会高电压试验技术分标委会、电力行业变压器标准化技术委员会、电力行业绝缘子标准化技术委员会、电力行业电力电缆标准化技术委员会等国家和电力行业标准化技术委员会的挂靠单位。
全国电力系统控制及其通信标准化技术委员会
全国电力系统控制及其通信标准化技术委员会主要负责我国电力系统控制及其通信的相关标准,包括电力系统远方终端、线路阻波器、线路结合器、电力线载波机、远方保护设备、远方传输协议、与ISO标准和ITU-T建议兼容的远动协议、变电站通信网络和系统、配电线载波的配电自动化系统、配电管理接口、能量管理系统应用程序接口、电力市场中的数据通信、数据和通信安全等方面的标准。CSBTS/TC82与IECTC57在业务上对口,秘书处设在国网电力科学研究院。
SBTS/TC82下设四个工作组。变电站工作组与IECTC57第3、10、11、12工作组对口,负责IEC60870和IEC61850系列标准。通信工作组与IECTC57第7、15工作组对口,负责IEC60870-6和IEC62210系列标准。配网工作组与IECTC57第9、14工作组对口,负责IEC61334和IEC61968系列标准。EMSAPI工作组与IECTC57第13工作组对口,负责IEC61970系列标准。
CSBTS/TC82现有30名委员和5名顾问,并组织和推荐了26名我国电力系统专家作为通信成员参加了IECTC57的各个工作组。
第三届委员会成立于2002年1月,主任委员刘国定,秘书长陆杏全。
全国静态继电保护装置标准化分技术委员会
全国静态继电保护装置标准化分技术委员会和电力行业继电保护标准化技术委员会由中国电力企业联合会负责领导和管理,主要负责电力系统保护和安全装置专业技术领域内标准化工作,组织本专业电力标准的制订、修订和复审工作。涉及继电保护及安全自动装置通用和基础标准以及线路保护、主设备保护、安全自动装置、变电站自动化、保护测试及其相关设备等方面的产品标准。全国静态继电保护装置标准化分技术委员会与国际电工委员会IECTC95技术委员会对口,秘书处均设在国网电力科学研究院。
两标委会由本专业生产、运行、科研、教学等方面的具有较高理论水平和丰富实践经验、熟悉并热心标准化工作的专家组成。全国静态继电保护装置标准化分技术委员会现有委员29名,顾问4名。主任委员陈建国,秘书长夏期玉。电力行业继电保护标准化技术委员会现有委员23名,顾问3名。主任委员沈国荣,秘书长夏期玉。
全国电磁兼容标准化技术委员会
全国电磁兼容标准化技术委员会成立于2000年7月,是国家标准化管理委员会直属的标委会,主要工作是负责国内电磁兼容标准化工作和IEC/TC77的国内归口技术工作,包括代表国家技术委员会对相关的技术文件进行投票表决、标准的引进推广和组织对应于IEC61000系列电磁兼容标准的转化工作。
现在,IEC61000系列已转化36项国家标准,其中包括强制性标准2项、推荐性标准25项、指导性技术文件9项。秘书处设在国网电力科学研究院,是全国电磁兼容标准化技术委员会的常设机构,负责处理标委会日常工作。秘书处实行主任委员领导下的秘书长负责制。
IEC/TC77每两年举办一次年会,主要对重大的技术问题和技术标准进行讨论和表决,同时也对相关技术标准的工作任务的分配和进展进行报告。秘书处已多次组团参IEC/TC77年会,对我国的电磁兼容标准化起到了积极作用,同时也增加了国家电网公司的影响。2003年标委会第一次正式组成7人中国代表团,参加在韩国济洲的TC77会议;2005年组团参加了在南非的开普敦年会;2007年组团参加在澳大利亚悉尼召开的年会。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)