[发明专利]一种用于智能电网的微基站系统的实现方法有效
申请号: | 201810334292.0 | 申请日: | 2018-04-14 |
公开(公告)号: | CN108540478B | 公开(公告)日: | 2020-12-18 |
发明(设计)人: | 孙瑞玮 | 申请(专利权)人: | 孙瑞玮 |
主分类号: | H04L29/06 | 分类号: | H04L29/06 |
代理公司: | 苏州国卓知识产权代理有限公司 32331 | 代理人: | 李小叶 |
地址: | 102200 北京市昌平*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种用于智能电网的微基站系统及实现方法,包括:ARM芯片+Linux操作系统形成的SOC0芯片,用于和PC端上位机之间传输数据,DSP芯片+uCOS操作系统形成的SOC1芯片,用于和采集终端之前传输数据,SOC0芯片和SOC1芯片之间通过串口进行连接。通过上述方式,本发明用于智能电网的微基站系统及实现方法通过采用利用ARM+DSP芯片和Linux+uCOS操作系统,在智能电网远程终端采集系统中缩小了整个系统的体积,压缩了硬件成本,也替换掉了GSM模块,省掉了GPRS流量费用,在用于智能电网的微基站系统及实现方法的普及上有着广泛的市场前景。 | ||
搜索关键词: | 一种 用于 智能 电网 基站 系统 实现 方法 | ||
【主权项】:
1.一种用于智能电网的微基站系统及实现方法,其特征在于,包括:ARM芯片+Linux操作系统形成的SOC0芯片,用于和PC端上位机之间传输数据,DSP芯片+uCOS操作系统形成的SOC1芯片,用于和采集终端之前传输数据,SOC0芯片和SOC1芯片之间通过串口进行连接,实现方法包括以下步骤:(1)采用ARM芯片+Linux操作系统形成SOC0芯片:(a)串口初始化:在程序开始时先初始化UART,设置波特率为115200、有效数据位为8位、奇偶校验位为0位、停止位为1位、读写串口时的超时等待时间为3ms、最小接收字符为255,(b)创建线程1:当串口初始化完毕后就创建线程1,专门用来处理串口发来的数据,读UART数据时在一个while(1)循环内利用read函数的返回值来判断读到数据的个数,每次读到的最大值即255个,将读到的数据放入一个全局buf0[ ]内,然后break跳出while循环,在read串口时如果里面没有数据,其也会在3毫秒后返回,因为之前设置过读串口的超时时间:3毫秒,然后进入数据处理函数AT_CMD_main(),因为发上来的数据包括IP和PORT字符串、IEC101/104封装的数据包、还有垃圾字符,先将字符串和"AT^SISS=0,address,socktcp://"进行比较,如果相同那这个字符串就是IP和PORT,通过算法解析出来,分别将IP和PORT放入本进程的IP_buf[ ]和PORT_buf[ ]内,供本进程的socket和PC端上位机进行连接,在IP和PORT绑定函数之前,会设置一个信号量,绑定IP和PORT时首先判断信号是否有信号,没有则阻塞睡眠,有则进行绑定和PC端上位机连接,如果不是IP和PORT字符串,那么就是判断其是否是IEC101/104封装的数据包,在传输数据时我们在数据包后面加了一个数据总长度字符,解码时只需根据这个字符就可判断,如果是需要上传的数据,那么就用前面已连接好的socket将数据发送给上位机,这样便实现了基站的上传通道,如果不是要发送的数据,那么就认为是垃圾字符直接丢弃即可,(c)创建线程2:在利用socket将数据发送PC上位机之前创建线程2,专门用于从上位机的socket接收数据,PC上位机有命令下发时,将其代表的十六进制的数据,换算成相应的字符串,在字符串后面加上'\r' ,'\n',因为采集终端识别的是AT指令格式的txt文本数据,(d)创建进程1:进程1是利用socket来将采集终端的数据发送给PC上位机,在发送之前先判断信号量sem_NO1,看是否有信号,无信号就会睡眠,有信号继续发送,因为在将数据放入buf时,使信号量+1;(2)采用DSP芯片+uCOS操作系统形成SOC1芯片:(e)创建任务1:SOC1芯片使用UART和中频无线信号来传输数据,在任务1中通过中频无线模块将采集终端发来的数据接收解码出来,放入到一个BUF_0内,根据收到时的帧号和子帧号来判断数据是属于哪一个采集终端的,然后利用数据中包含的recv_id和send_id来判断数据是否重传、丢包,(f)创建任务2:在任务2中通过串口将任务1解码出来的数据发送给SOC0,在从BUF_0内取数据时,会根据数据字符串都会以"AT"开头或者根据写指令要写入数据的长度,来处理取出的字符串,如果不是以上面两个条件出现的字符,则当做垃圾字符丢弃,(g)创建任务3:在任务3中将上位机发来的命令发送给采集终端,根据结构体struct usr_info中的用户信息来判断应该发给那个采集终端,在发送数据时根据recv_id和send_id和ack_flag来判断数据是否传输成功、数据是否更新再次发送。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于孙瑞玮,未经孙瑞玮许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201810334292.0/,转载请声明来源钻瓜专利网。