基于STM32的模块化硬件设计在嵌入式专业中的应用

2018-01-16 12:34查艳芳刘辉陈强
科技视界 2018年28期
关键词:硬件模块化嵌入式

查艳芳 刘辉 陈强

【摘 要】目前市场上的嵌入式开发平台多是以某款智能芯片为核心,集合多个外围设备的开发板,这种类型的开发板往往会使得某些未使用到的外设在开发板上面被闲置,同时开发板上的外设也无法进行复用。为了解决这个问题,本论文提出了基于STM32的模块化硬件设计平台。该平台选择STM32芯片为核心,采用模块化的思想进行硬件开发平台的设计。通过模块化的硬件开发平台,使得各个模块相互“独立”,可以很好的提高各个模块的利用率和复用率,同时各个模块根据需求可以任意“组合”,减少外设的闲置几率。

【关键词】STM32;模块化;嵌入式;硬件

中图分类号: TP332 文献标识码: A 文章编号: 2095-2457(2018)28-0043-002

DOI:10.19694/j.cnki.issn2095-2457.2018.28.017

【Abstract】At present, the embedded development platform on the market is mostly a development board that integrates multiple peripheral devices with a certain smart chip as the core. This type of development board tends to make some unused peripherals idle on the development board, and peripherals on the development board cannot be reused. In order to solve this problem, this paper proposes a modular hardware design platform based on STM32. The platform selects the STM32 chip as the core and adopts the modular idea to design the hardware development platform. Through the modular hardware development platform,each module is “independent” with each other, which can improve the utilization rate and reuse rate of each module.At the same time, each module can be “combined” according to requirements, reducing the idle probability of peripherals.

【Key words】STM32;Modular;Embedded;Hardware

0 引言

STM32系列是基于專为要求高性能、低成本、低功耗的嵌入式应用专门设计的,以ARM Cortex为内核的芯片。STM32系列芯片以其优越的性能,能应用于智能驱动、工业控制、智能显示、网络应用等硬件的应用领域。在嵌入式产品的早期设计过程中,很多嵌入式产品的设计开发人员和爱好者多采用一些硬件开发板进行前期的设计和开发,因此各类硬件开发板也是目前智能硬件开发市场上较为火热的产品之一。而本论文根据模块化设计的思想,以STM32芯片为核心,将各个嵌入式硬件模块独立化,以“独立”和“组合”的方式将模块化的硬件应用于嵌入式专业。

1 MCU控制模块的选择

在进行嵌入式硬件设计研发的过程中,选择一款合适的MCU控制芯片是非常重要,目前市场上各类MCU控制芯片种类繁复,功能价格不一,因此在个芯片选择的过程中,既要从功能出发,选择具有较高的性能,同时也要从经济出发,即具有较高的信价比。从综合方面考虑,最终选择了STM32系列芯片,该芯片搭载ARM公司最新的、具有先进架构的Cortex-M3内核,优先级抢占的中断控制器,支持中断自动嵌套,硬件完成现场保护与恢复,中断嵌套时,只需保护和恢复一次现场,即使在恢复现场的时候再次中断也不需要再次保护现场,只需6个clk的调整时间,同时装备了可编程的掉电监测器,有带电池供电的数据备份寄存器,芯片进入低功耗模式后可以通过“事件”唤醒,而无须执行中断子程序,定时器居然有前置的倍频器等。STM32系列芯片除了具有以上强大的功能以外,该芯片的市场售价仅为十几元,性价比高。

在嵌入式控制方面,传统的单片机以51系列为主,最近几年基于ARM的STM32系列芯片也在嵌入式控制方面应用的非常广泛,还有以TMS320系列为代表的DSP芯片等在嵌入式设计方面应用的也比较多。在众多嵌入式控制芯片中,由于STM32本身成本较低,因此应用STM32为MCU控制部分的整个智能硬件的开发成本也不会太高。同时,目前STM32的应用比较广泛,网络上针对STM32的应用实例和应用接口代码也很多。在嵌入式专业中,无论教学还是科研,都是需要利用控制类芯片实现嵌入式产品的设计和开发。无论是作为教学工具的嵌入式开发板,还是作为研发基础的嵌入式控制核心板,在选择控制芯片时,都需要在满足开发所需的性能的同时、考虑芯片的成本,以及芯片在软件设计时的便利性等问题。因此,通过综合考虑,为了满足嵌入式专业在教学和科研为中对控制芯片的需求,最终选择高性能、低成本、应用实例和应用接口代码丰富的STM32作为智能硬件的MCU控制核心。

2 模块化设计思想

目前市场上也有一些基本各类芯片的硬件开发板,但是这些硬件开发板有一个共同的问题就是它们往往是将智能控制系统、液晶等显示系统、数据采集系统、网络通信系统等集成于一块开发板上。由于购买时需要购买一个完整的开发板,所以在实际应用的过程中,可能某些外设在应用中并未被使用到,这就会使得这些外设在开发板上被闲置。例如,目前市场上的嵌入式开发板都带有蓝牙或无线收发设备,但是在教学和科研过程中,可能根本不需要用到蓝牙或无线的功能,此时,蓝牙和无线部分就被闲置了。同时,由于是一个完整的开发板,所以某块开发板上面的外设是无法被其它开发板进行再次利用的。例如在测温时,如果需要多个温度传感器,但某块开发板上的温度传感器却无法被其它开发板使用,即无法实现外设的复用。所以无论是传统的硬件开发平台造成的外设的闲置,还是无法复用,这都造成了经济上的浪费。

因此本论文提出了模块化的思想来进行智能硬件的设计,即将设计过程中所涉及的功能系统,如MCU系统、电机驱动系统、液晶显示系统、数据采集系统、网络通信系统等分别设计成一个个模块(智能控制模块、电机驱动模块、液晶显示模块、数据采集模块、网络通信模块等),共同构成一个开发设计开发平台。在使用的过程中,可以将模块化的各个部分进行灵活应用,将需要应用到的部分相关模块与控制系统核心模块相连接,即可以实现不同智能硬件产品的设计和开发。

基于模块化的思想进行设计的,即将智能硬件平台根据功能不同划分为不同的模块,在模块划分的过程中,既要考虑模块的独立性和在实际应用过程中的可复用性,也要考虑模块与模块之间的数据传输的便捷性,以及各模块本身的实用性和利用率等问题,因此如何将智能硬件设计平台中的各模块进行合理的划分至关重要。从综合方面考虑,本论文中将整个智能硬件设计平台划分为MCU控制模块、键盘模块、电机驱动模块、显示模块、传感器模块、网络模块和接口模块。模块化硬件的模块划分如图1所示。

由于在智能硬件开发平台的设计过程中,将整个平台划分成一个个模块进行设计,所以在具体智能硬件产品的设计和开发过程中,也是将各个模块综合应用之后才能实现一个具体的智能硬件产品。因此在设计的过程中,不同模块之间数据的传输是非常重要的,在每个功能模块设计时,既要考虑实行本模块的基本功能,也要注意本模块与其余模块进行数据传输的接口部分的设计。同时在开发平台中还加入了接口模块,实现不同数据之间的转换和传输。

采用模块化的思想进行智能硬件的开发平台的设计就能很好的避免以上问题,一方面模块化的设计在智能硬件的设计开发过程中能更方面的使用各个模块,提高各个模块的利用率;另一方面来说模块化的设计思想也在后期部分硬件芯片升级过程中,也能减少由此产生的其它硬件的折损率。

3 模块化硬件在嵌入式专业的应用

对于嵌入式专业而言,其科研和教学的主要目标,都是围绕嵌入式产品的设计和开发进行的。尤其是在教学过程中,学生通常需要应用相关的开发板进行嵌入式相关知识的学习,以及软硬件产品的设计和开发,甚至是毕业设计的研究和完成。因此嵌入式开发板的选择和应用对嵌入式专业来说是非常重要的。

根据模块化设计的思想,将嵌入式硬件的各个部分设计成单独的模块,在实际的嵌入式硬件设计和研发的过程中,可以根据嵌入式产品设计的实际需求,将需要的模块进行灵活的组合应用,完成不同智能硬件产品的设计和开发。例如可以将以STM32为核心的MCU模块与电机驱动模块组合,构成四轴飞行器;也可以将MCU核心模块与电机驱动模块、智能传感模块、网络通信模块、显示模块等进行组合,共同构成智能机器人的应用等;同时,还可以通过不同的模块的组合,设计和研制应用于智能家居、智能汽车、医疗健康、智能玩具、机器人等物联网和人工智能领域的产品。

4 结论

目前市场上比较多的开发平台多是以某款智能芯片为核心,并将智能芯片和外围设备集成于一整块开发板,这种方式一方面使得某些未使用到的外设在开发板上面被闲置,另一方面也使得某些外设无法为开发板之外的其余系统进行使用,即无法实现外设的复用。因此本论文提出了基于STM32的模块化硬件设计平台。该平台选择具有高性能、低成本、低功耗、强大的软件支持、全面丰富的技术文档的STM32芯片为核心。同时,采用模块化的思想进行硬件开发平台的设计。这种开发平台,对于嵌入式专业来说,无论是常规教学,还是教师的科研,通过模块化的硬件开发平台,一方面平台中的各个模块相互“独立”,可以很好的提高各个模块的利用率和复用率;另一方面平台中的各个模块根据需求可以任意“组合”,实现开发人员所需的“特定”功能。

【参考文献】

[1]刘清.《基于STM32微处理器的嵌入式教学实验平台开发》[J].中国现代教育装备.2016年第17期, p20-22.

[2]陆翔.《基于STM32的嵌入式综合实验开发平台研究》[J].实验室研究与探索.2017年第10期,p57-60.

[3]王鵬举.《STM32嵌入式处理器模块化实验平台设计与实现》[J].软件导刊,2016年第5期,p90-91.

[4]党会.《积木式模块化结构的嵌入式系统实验教学研究》[J].实验科学与技术.2016年第1期,p158-159,163

[5]金子程.《模块化思想在嵌入式系统设计中的应用》[J].无线互联科技.2015年第20期,p126-127.

[6]孔轶艳.《模块化嵌入式实验教学平台研制》[J].大众科技.2015年第5期,p128-129,137.

猜你喜欢
硬件模块化嵌入式
模块化自主水下机器人开发与应用
模块化住宅
搭建基于Qt的嵌入式开发平台
ACP100模块化小型堆研发进展
模块化VS大型工厂
嵌入式软PLC在电镀生产流程控制系统中的应用
并行硬件简介
Altera加入嵌入式视觉联盟
倍福 CX8091嵌入式控制器