一种基于无线通讯的CC2530微控制器的调试方法及系统与流程
- 国知局
- 2024-08-01 00:16:02
本发明涉及微控制器调试,具体涉及一种基于无线通讯的cc2530微控制器的调试方法及系统。
背景技术:
1、cc2530是一款ti(德州仪器)公司发明的无线收发芯片,它能够以非常低的总材料成本建立强大的网络节点。cc2530使用业界标准的增强型8051内核,结合rf无线收发器,是用于2.4ghz ieee802.15.4的zigbee应用的一个片上系统(soc)。cc2530具有不同的运行模式,使得它尤其适应超低功耗要求的系统。cc2530运行模式之间的转换时间短的特点进一步确保了低能源消耗,因此cc2530目前广泛应用于各种要求低功耗的场景。
2、现有的串口调试工具具备基本的串口调试功能,包括串口检测、波特率设置、设置校验方式等,但对于cc2530无线通讯的调试,缺少可以动态修改信道设置、网络id码、panid码等参数的功能,且传输的数据往往是一串十六进制格式的数据,在调试时不太直观,如果传输的数据异常(在预警值外),往往不能及时发现。
3、目前针对cc2530的调试软件并不支持自定义通信规约,因此不具有通用性。另外,现有应用在上位机端观察传输的数据时,并未对数据进行分组,而是一连串的数据帧,难以提取出有效的信息。
4、综上所述,现有针对cc2530的调试方法,存在无法实现cc2530无线通讯的调试、通用性差、数据错误难以及时发现、难以对信息进行有效提取等的问题。
技术实现思路
1、为了克服现有技术的不足,本发明提供一种基于无线通讯的cc2530微控制器的调试方法及系统,用于解决现有cc2530的调试方法无法进行无线通讯调试、通用性差、数据错误难以发现、有效信息难以提取的问题,从而实现cc2530微控制器的无线通讯调试、调试高通用性以及数据的有效监测。
2、为解决上述问题,本发明所采用的技术方案如下:
3、一种基于无线通讯的cc2530微控制器的调试方法,包括以下步骤:
4、使用visual studio软件进行ui界面的开发以及串口的配置,得到调试上位机;
5、将所述调试上位机与cc2530微控制器之间通过uart协议进行连接,获取可用的通信串口并打开;
6、通过在所述调试上位机中进行数据格式的定义,得到自定义的收发数据格式;
7、通过所述调试上位机利用所述可用的通信串口,实时接收所述cc2530微控制器以所述自定义的收发数据格式发送的数据,并储存在所述调试上位机的接收数据区域中;
8、在所述接收数据区域中自动提取出用户关注的数据,进行转换、分组后,通过所述调试上位机进行实时展示;
9、根据实时展示数据,输入所述cc2530微控制器的调试参数,并通过所述可用的通信串口发送所述调试参数;
10、通过所述cc2530微控制器接收所述调试参数,并对所述调试参数进行解析,根据解析结果进行应用;
11、其中,所述应用包括:更新配置寄存器、改变工作模式或执行相应操作。
12、作为本发明优选的实施方式,在进行ui界面的开发以及串口的配置时,包括:
13、选择c#语言,选择windows窗体应用,并通过所述c#语言提供的serialport类进行串口的控制,在进行串口选择时,直接搜索调用。
14、作为本发明优选的实施方式,在获取可用的通信串口并打开时,包括:
15、使用serialport.getportnames()获取可用的通信串口,并得到所述可用的通信串口的串口名;
16、使用serialport1.portname获取所述调试上位机输入的端口号;
17、使用serialport1.baudrate获取所述调试上位机输入的波特率;
18、使用serialport1.databits获取所述调试上位机输入的数据位;
19、使用serialport1.open()打开所述可用的通信串口;
20、其中,serialport1为所述可用的通信串口的串口名。
21、作为本发明优选的实施方式,在得到自定义的收发数据格式时,包括:
22、选择帧头长度、id码长度、数据长度,并将所述帧头长度、所述id码长度以及所述数据长度组成一完整的数据帧,得到所述自定义的收发数据格式;
23、其中,所述数据帧的收发以数组的形式进行存储,且为十六进制;
24、在自动提取出关注的数据时,包括:
25、通过数组下标检索出对应的数据,转换为十进制,并进行分组。
26、作为本发明优选的实施方式,在实时接收所述cc2530微控制器发送的数据时,包括:
27、实时接收所述cc2530微控制器以帧头+id码+温度数据+帧序列+信号强度的格式发送的每一帧温度数据;
28、其中,用户可以自行定义各部分数据的位数,所述调试上位机接收到所述cc2530微控制器发送的数据时会根据用户定义的帧长度进行自动换行。
29、作为本发明优选的实施方式,在接收所述调试参数,并进行解析时,包括:
30、根据所述解析结果,使用basicrf软件包提供的api函数控制所述cc2530微控制器接收所述调试参数,并进行解析;
31、其中,所述basicrf软件包中需要配置4个无线参数,包括:本机地址、目标地址、网络id以及通信信道;所述本机地址、所述网络id和所述通信信道在初始化时写入到所述cc2530微控制器中;所述目标地址则在数据发送和接收时使用。
32、作为本发明优选的实施方式,在使用basicrf软件包提供的api函数控制所述cc2530微控制器时,包括:
33、建立一个basicrfcfg_t结构体用以保存basicrf无线传输的基本设置;
34、调用basicrfinit()函数对basicrf的数据结构进行初始化;
35、将所述调试参数按照basicrf数据帧的格式进行打包,并根据所述cc2530微控制器的地址,发送数据包给所述cc2530微控制器;
36、通过所述cc2530微控制器不断调用basicrfpacketisready()函数识别硬件抽象层是否有数据包的到来,并判断数据包的格式是否正确;
37、若正确,则保留所述数据包的基础信息,并判断所述基础信息是否合法;
38、若是,进入数据包接收环节,并调用basi-crfreceive()函数进行数据包的接收;
39、其中,所述基础信息包括:数据包的长度、数据包的源地址、数据包的网络端。
40、作为本发明优选的实施方式,在根据解析结果进行应用时,包括:
41、对所述可用的通信串口进行实时监听,当接收到来自所述可用的通信串口的调试参数后,开启初始化函数的开关;
42、根据所述调试参数的解析结果,通过所述初始化函数对所述cc2530微控制器的硬件进行初始化,并在初始化完成后,关闭所述初始化函数的开关。
43、作为本发明优选的实施方式,在通过所述初始化函数对所述cc2530微控制器的硬件进行初始化时,包括:
44、配置所述cc2530微控制器的内部模块时钟源供给的控制寄存器;
45、配置所述cc2530微控制器的工作模式寄存器;
46、配置所述cc2530微控制器的存储器参数配置寄存器;
47、获取sdram起始地址、搬运代码sdram目标地址、代码在flash中的起始地址,以每个循环的方式将nor flash中的所有代码搬运到sdram;
48、配置所述cc2530微控制器的remap寄存器;
49、使pc指针指向主程序起始地址。
50、一种基于无线通讯的cc2530微控制器的调试系统,包括:
51、配置单元:用于使用visual studio软件进行ui界面的开发以及串口的配置,得到调试上位机;
52、通信连接单元:用于将所述调试上位机与cc2530微控制器之间通过uart协议进行连接,获取可用的通信串口并打开;
53、数据格式自定义单元:用于通过在所述调试上位机中进行数据格式的定义,得到自定义的收发数据格式;
54、实时接收单元:用于通过所述调试上位机利用所述可用的通信串口,实时接收所述cc2530微控制器以所述自定义的收发数据格式发送的数据,并储存在所述调试上位机的接收数据区域中;
55、实时展示单元:用于在所述接收数据区域中自动提取出用户关注的数据,进行转换、分组后,通过所述调试上位机进行实时展示;
56、调试单元:用于根据实时展示数据,输入所述cc2530微控制器的调试参数,并通过所述可用的通信串口发送所述调试参数;通过所述cc2530微控制器接收所述调试参数,并对所述调试参数进行解析,根据解析结果进行应用;
57、其中,所述应用包括:更新配置寄存器、改变工作模式或执行相应操作。
58、相比现有技术,本发明的有益效果在于:
59、(1)本发明提供了一种具有高通用性的用于cc2530微控制器的无线通信调试方法及系统,其具备基本的串口设置功能,也支持在上位机的软件端设置rf信道、id码、pan id码、发送周期等,用户设置好参数后即可对cc2530微控制器进行一键配置;
60、(2)本发明支持自定义通信规约,用户可以十分方便地修改通讯数据的格式,同时支持数据转码,把十六进制的数据转换成易于辨认的十进制数据等,并且在数据差异超过预警值时,可以自动提取出该数据帧并预警;
61、(3)本发明所提供的方法及系统具备通用性,给用户节省不必要的数据辨认时间,大大提高开发效率,另外,增加的自定义通信格式功能,可有效应对不同需求的使用场景。
62、下面结合附图和具体实施方式对本发明作进一步详细说明。
本文地址:https://www.jishuxx.com/zhuanli/20240730/200339.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。