基于SOC的电力线路杆塔倾斜传感器
2014-11-12 365电力采购网新闻中心
导读:针对测量电力线路杆塔倾斜角的问题,以 SCA100T高精度双轴传感器为基础,采用80C51单片机为控制器,光纤为传输载体。设计了一款低成本易实现的杆塔倾角测量系统,该系统可以采集到杆塔实...
考虑到生产成本以及系统功耗,采用80C51做为SOC核心。SOC的主要功能就是:1)获取SCA100T的测量数据;2)通过采集到的数据计算出杆塔的倾斜角;3)将计算出的数据通过RS232传送到光电转换器中。在与SCA100T的通信是采用了SPI接口,但由于80C51不具备SPI功能,因此需要在软件上做出模拟SPI协议。
SPI( ( Serial Peripheral Interface ) 串行外设接口) 是摩托罗拉公司推出的一种同步串行通讯接口,用于微处理器P微控制器和外围扩展芯片之间的串行连接, 现已发展成为一种工业标准。SPI总线一共有四条I/O线,分别是SCK(串行时钟线)、CSB(从机选择,即使能线)、MOSI(信号输入端)、MISO(信号输出端)。信号传输时序图如图
图4 SPI数据读取时序图
图5 SCA100T 信号读取指令 图6 接线图
#define Low 0; //定义低电平 #define High 1; //定义高电平 #define READX 0x10; //SCA100T 读取X轴传感器指令 #define READY 0x11; //SCA100T 读取Y轴传感器指令 sbit SCK P1^0; //定义管脚地址 sbit CSB P1^3; sbit MOSI P1^1; sbit MISO P1^2; void Delay(uchar T) //CLOCK延迟 { int i; for(i=0;i void Spi_Clock(void) //时钟函数 { SCK=Low; Delay(3); SCK=High; delay(3); } void Spi_Send(uchar S_data) //发送函数 { int i; for(i=0;i<8;i++) //从高位向低位逐一发送 { MOSI=(bit)(S_data&0x80); //通过与操作实现从左向右逐位读取 S_data<<=1; Spi_Clock; //实现数据传输时钟 } } uchar Spi_Read(READCode) //输入读取指令参数就可以获取X,Y轴加速度数据 { uchar ReadData; CSB=1; //使能信号拉高电平 Spi_Send(READCode); //发送获取数据指令 ReadData=Spi_receive(); //接受数据指令 CSB=0; //使能信号拉低电平 return ReadData; } |
(本文来源:365电力采购网 责任编辑:)
上一篇:散热方案选择主要取决于逆变器功率
下一篇:最后一页