一种基于ARM芯片的控制器及控制目标设备的方法与流程

文档序号:11229684阅读:602来源:国知局
一种基于ARM芯片的控制器及控制目标设备的方法与流程

本发明涉及一种基于arm芯片的控制器及控制目标设备的方法。



背景技术:

随着无线技术的发展和广泛应用,现代医疗、测量等设备或系统越来越多的应用无线技术和传动自动控制技术,例如医疗检测设备中一些使用微波手段进行检测的设备、无线行业中的无线或天线测试系统等设备或系统,其核心往往是电机系统及信号开关矩阵,对这些设备的控制实际上可以认为就是对电机系统和开关矩阵的控制。这类系统通常由软件和硬件相结合实现,面向操作者的往往是较为方便的计算机操作软件,操作者通过操作计算机软件来实现对设备或系统控制。然而计算机软件往往是无法独立控制外部硬件设备的。

以上不足,有待改善。



技术实现要素:

为了克服现有的技术的不足,本发明提供一种基于arm芯片的控制器及控制目标设备的方法。

本发明技术方案如下所述:

一种基于arm芯片的控制器,包括stm32最小系统、高精度时钟模块、以太网网络模块及rs485通信模块,所述高精度时钟模块、所述以太网网络模块及所述rs485通信模块连接分别与所述stm32最小系统连接,所述stm32最小系统通过所述以太网网络模块与计算机连接,所述stm32最小系统通过所述rs485通信模块与电机系统连接,所述stm32最小系统与信号开关矩阵连接。

进一步地,所述stm32最小系统包括外围电路、smt32芯片、存储芯片、第一串口、iic接口、spi接口及i/o接口,所述存储芯片为独立存储芯片或集成于所述smt32芯片的内部,所述外围电路连接所述smt32芯片,所述smt32芯片分别连接所述第一串口、所述iic接口、所述spi接口及所述i/o接口。

进一步地,所述高精度时钟模块通过所述iic接口与所述smt32芯片连接。

进一步地,所述以太网网络模块通过所述spi接口与所述smt32芯片连接。

进一步地,所述rs485通信模块通过所述第一串口与所述smt32芯片连接。

进一步地,所述信号开关矩阵通过所述i/o接口与所述stm32最小系统连接。

进一步地,所述stm32最小系统还包括第二串口,所述第二串口与所述smt32芯片连接,所述smt32芯片通过所述第二串口与所述计算机相连。

进一步地,所述高精度时钟模块包括设有ds3231时钟芯片和at24c32存储芯片。

本发明的另一个目的在于提供一种基于arm芯片的控制器控制目标设备的方法:

对控制器进行上电,stm32最小系统开始运行c语言代码,具体为:c语言代码控制smt32最小系统进行rcc初始化;

c语言代码控制smt32最小系统进行nvic初始化;

c语言代码控制smt32最小系统进行高精度时钟初始化;

c语言代码控制smt32最小系统进行gpio初始化;

c语言代码控制smt32最小系统进行第一串口初始化;

c语言代码控制smt32最小系统进行以太网网络模块初始化;

初始化完成后进入待命状态,当计算机向以太网网络模块发送命令后,smt32最小系统将命令解析并转化后,控制器通过rs232接口输出电机系统控制信号,控制器通过i/o接口输出信号开关矩阵切换信号。

进一步地,在c语言代码控制smt32最小系统进行高精度时钟初始化过程中,smt32最小系统在c语言程序控制下与高精度时钟模块通信,进行当前时间和时间期限的对比,若当前时间超出时间期限则向计算机发出讯息,若当前时间未超出时间期限则继续。

根据上述方案的本发明,其有益效果在于,本发明在系统中设有控制器,控制器和计算机连接,同时也连接到电机系统和信号开关矩阵,从而实现计算机操作软件对设备或系统的控制,控制器可作为系统控制器应用于医疗设备、无线或天线测量设备等设备的控制。

附图说明

图1为本发明的硬件系统结构框图。

图2为本发明的软件系统结构框图。

图3为本发明的系统流程图。

具体实施方式

下面结合附图以及实施方式对本发明进行进一步的描述:

如图1所示,一种基于arm芯片的控制器,包括stm32最小系统、高精度时钟模块、以太网网络模块及rs485通信模块,高精度时钟模块、以太网网络模块及rs485通信模块连接分别与stm32最小系统连接,stm32最小系统通过以太网网络模块与计算机连接,stm32最小系统通过rs485通信模块与电机系统连接,stm32最小系统与信号开关矩阵连接。

本发明的有益效果在于,本发明在系统中设有控制器,控制器和计算机连接,同时也连接到电机系统和信号开关矩阵,从而实现计算机操作软件对设备或系统的控制,控制器可作为于系统控制器应用于医疗设备、无线或天线测量设备等设备的控制。

stm32最小系统包括外围电路、smt32芯片、存储芯片、第一串口、iic接口、spi接口及i/o接口,存储芯片为独立存储芯片或集成于smt32芯片的内部,外围电路连接smt32芯片,smt32芯片分别连接第一串口、iic接口、spi接口及i/o接口。

在本实施例中,高精度时钟模块通过iic接口与smt32芯片连接。

在本实施例中,以太网网络模块通过spi接口与smt32芯片连接。以太网网络模块是一块集成了全硬件tcp/ip协议栈的以太网模块,其作用是连接计算机和smt32最小系统,实现双向的通信。

在本实施例中,rs485通信模块通过第一串口与smt32芯片连接。rs485通信模块的作用主要是转发计算机的电机系统控制命令,电机系统的协议在计算机实现,并不在控制器中实现,但电机系统控制命令需要经过控制器转换收发。

在本实施例中,信号开关矩阵通过i/o接口与stm32最小系统连接。在本实施例中,i/o接口设有多个。

在本实施例中,stm32最小系统还包括第二串口,第二串口与smt32芯片连接,smt32芯片通过第二串口与计算机相连,第二串口为对外备用接口,可替代网口。

高精度时钟模块包括设有ds3231时钟芯片和at24c32存储芯片。

stm32最小系统为设有arm芯片的pcba板,arm芯片烧录c语言程序,在keil4下编译生成二进制文件,烧录到stm32系列arm芯片的flash存储区,arm芯片上电即运行程序。

软件共有5大子模块,包括通信协议、网络芯片驱动模块、rs485通信模块、at24c02驱动模块及ds3231驱动模块。

通信协议:stm32最小系统是以stm32系列的arm芯片为核心的电路板,arm芯片里面运行c语言程序。该电路板上电后,把网络芯片配置成tcpserver模式。命令格式是02开头,03结尾,中间的内容都是字符,不同种类的命令都有不同的标识符。通信协议能够响应的命令有电机系统控制命令、信号矩阵切换命令、ds3231时间读取、设置命令及at24c02存储区数据读写命令。

网络芯片驱动模块:stm32系列的arm芯片驱动网络芯片采用spi接口。网络芯片读写同步不用延时或者轮询,数据读写完毕,会进入中断程序,在中断程序中查询寄存器的相关标志位,可判别是何种操作引发的中断。网络芯片配制成tcpserver模式,为了防止多个客户端接入,造成通信紊乱,本程序中限定只能接入一个计算机。

rs485通信模块:rs485通信模块的作用主要是转发计算机的电机系统控制命令,电机系统的协议在计算机实现。由于硬件部分包含了rs485收发自动识别电路,故在软件中不必包含rs485芯片收发引脚的控制,对rs485的控制在软件层面上和rs232是一样的。

at24c02驱动模块:at24c02用来存储电路板功能的使用时间期限,当使用时间期限到时,电路板的相关功能则会关闭。

ds3231驱动模块:stm32系列芯片通过i2c接口读取或设置该ds3231时钟芯片的时间。软件上电运行时,在初始化的过程中,先读取ds3231时钟芯片的时间,再读取at24c02里面的时间期限,如果ds3231时钟芯片的时间晚于at24c02里面的时间期限,则关闭控制板响应命令的功能。

本实施例提供的基于arm芯片的控制器的工作原理为:计算机连接至以太网网络模块,以太网网络模块通过spi接口与stm32最小系统连接,stm32最小系统上电后stm32芯片运行其at24c32存储芯片里的c语言程序。高精度时钟模块通过iic接口连接至stm32最小系统,stm32最小系统可读取或设置高精度时钟模块的时间,也可读取其at24c32存储芯片里记录的截止时间,ds3231时钟芯片始终在计时,基于arm芯片的控制器每次初始化时stm32最小系统都会读取高精度时钟模块ds3231时钟芯片的当前时间并和at24c32存储芯片内记录的截止时间对比,如果当前时间已经超过了截止时间,则stm32最小系统将关闭响应控制命令的功能;stm32最小系统的i/o接口可输出高低电平组合的输出信号,实现待控设备的信号开关矩阵(如无线测试设备中的电子开关、探头切换开关等模块)的控制。

在本实施例中,以控制多探头无线测试系统为例,多探头无线测试系统的控制实际上主要是电机系统及信号开关矩阵的控制。多探头无线测试系统中,主要是要控制具有机械传动功能的电机系统和具有信号切换作用的信号开关矩阵,基于arm芯片的控制器使用rs232接口输出控制电机系统的命令、读取电机系统的信息,基于arm芯片的控制器使用i/o接口输出高低电平组合控制电子开关矩阵。

一种基于arm芯片的控制器控制目标设备的方法:

准备工作:对smt32最小系统进行软件烧录,以太网网络模块通过spi接口连接到smt32最小系统;高精度时钟模块通过iic接口连接到smt32最小系统;rs485通信模块通过第一串口连接到smt32最小系统。将控制器的网口连接至计算机,也可通过备用的第二串口连接计算机,将控制器的rs322接口连接至目标设备的电机系统;将控制器的i/o接口连接至目标设备的信号开关矩阵。

步骤一、对控制器进行上电,stm32最小系统上电开始运行c语言代码,具体为:c语言代码控制smt32最小系统进行rcc初始化;

步骤二、c语言代码控制smt32最小系统进行nvic初始化;

步骤三、c语言代码控制smt32最小系统进行高精度时钟初始化,在c语言代码控制smt32最小系统进行高精度时钟初始化过程中,smt32最小系统在c语言程序控制下与高精度时钟模块通信,进行当前时间和时间期限的对比,若当前时间超出时间期限则向计算机发出讯息,若当前时间未超出时间期限则继续。

步骤四、c语言代码控制smt32最小系统进行gpio初始化;

步骤五、c语言代码控制smt32最小系统进行第一串口初始化;

步骤六、c语言代码控制smt32最小系统进行以太网网络模块初始化;

步骤七、初始化完成后进入待命状态,当计算机向以太网网络模块发送命令后,smt32最小系统将命令解析并转化后,控制器通过rs232接口输出电机系统控制信号,控制器通过i/o接口输出信号开关矩阵切换信号。

以上初始化过程并非一定要按照某种特定顺序进行,显然的,只要能完成各个模块的初始化,调整顺序是没有关系的,顺序的调整仅仅是软件上处理先后的简单调整。

在本实施例中,可进行时间期限设置,进行时间期限设置首先smt32最小系统上电,开始运行c语言代码,并与高精度时钟模块通信,此时可通过计算机运行上位机程序来设置或读取高精度时钟模块通信的时间和时间期限。此设置目的在于创建一个自动控制使用时限功能,在设置好以后,每次控制器上电运行c语言程序时均会进行当前时间和时间期限的对比,当前时间超出时间期限时,则不再响应计算机给出的控制电机系统或控制信号开关矩阵的命令。

在本实施例中,通过上述基于arm芯片的控制器控制目标设备的方法,从而实现了对多探头无线测试系统的控制。

应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。

上面结合附图对本发明专利进行了示例性的描述,显然本发明专利的实现并不受上述方式的限制,只要采用了本发明专利的方法构思和技术方案进行的各种改进,或未经改进将本发明专利的构思和技术方案直接应用于其它场合的,均在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1