嵌入式单片机产品开发设计框架

发布者:科技舞者最新更新时间:2022-12-26 来源: jdzj关键字:嵌入式  单片机  产品开发 手机看文章 扫描二维码
随时随地手机看文章

老板突然要给你一个新的需求,要你做一款自己不熟悉的产品,第一感觉都是懵的,不知道这个产品的工作原理是什么?用的是什么方案,什么芯片?

我们首先是买个样品回来研究一下,看别人是怎么做的,然后在别人样品的基础上优化升级,做出自己的产品。 比较郁闷的事情就是买回来的样品,芯片的丝印被打磨了,或者找不到芯片相关的资料。

对于电子工程而言,个人从事的行业不一样,个人的经历和经验也局限于自己做过的产品,随意再有经验的工程师,碰到自己没有做过的产品都是一样。

设计一款,首先是要确定产品的设计方案。产品的设计方案决定着产品设计的成功与失败,比较重要,所以我们在产品方案确定的时候,我们会不断的比较不同的方案,不同的模块,最终确定自己的产品设计。

今天,我们就以无际单片机编程给学员的第二个项目“WIFI防盗报警网关”为例,给大家比较透彻的解析一下硬件设计的过程。

第一步:根据产品的需求,确定产品设计的方案

先把产品的需求按照功能进行拆解成几个部分,然后逐个确定方案。

WIFI防盗报警网关的需求我们需要拆解成四个部分:

1.WIFI无线通讯(广域网

2.ASK无线通讯(局域网)

3.用户交互

4.单片机


1.WIFI无线通讯(广域网)

WIFI无线通讯模块可以选择的非常多,其中比较热的包括上海乐鑫ESP8266、ESP32,有人科技的USR-C210、USR-216、WIFI232-B2/A2、涂鸦科技的WRG1等。

不同的模块的比较,各自有各自的优势,我们最终选择的是涂鸦科技的WRG1,为什么选择涂鸦科技的?

ESP8266、ESP32、USR-C210等WIFI 模块,我们之前在产品设计中也有过应用,比较熟悉,但这些模块需要自己搭云服务器,开发手机端APP。

搭建云平台服务器,开发手机端APP(安卓和IOS),需要巨大的成本。

而涂鸦科技,只要我们购买它们的模块,就可以免费使用涂鸦科技的云平台,并提供的SDK包,支持自行生产手机应用端APP。

不仅帮我们省了成本,还大大缩短产品开发周期。

最终选择了的WIFI模块是涂鸦科技的WRG1 这个型号模组。

2.局域网无线通讯(ASK)

ASK技术相对非常成熟,我们直接选择市面上比较成熟的模块即可,而且成本也不是很高。


3.用户交互设计

输入操作:按键输入

输出部分: LCD显示、蜂鸣器、喇叭报警声输出。

按键操作:向上、向下、向左、向右、确定、取消 6个按键操作

LCD 显示: 我们选择的128×64 OLED 液晶屏显示,

蜂鸣器和喇叭输出比较常规,我们就在这里不讲了


4.单片机选型

单片机型号: STM32F103.

我们开发的WIFI报警主机最主要是为了让大家通过这个项目学习掌握STM32单片机的开发,所以一定要选择出货量比较大的通用型的信号,在这里就不多谈了。

第2步:确定供电方式和电源电路设计

很多兄弟可能觉得电源设计比较简单,这是一个比较危险的想法,因为电源是产品最重要的环节之一,很多硬件出问题,都是因为电源设计不合理导致的。

电源设计注意事项:

  • 供电满足所有芯片的供电电压,比较典型的包括:1.8V 3.0V 3V 5V

  • 供电电流高过系统最大电流的50%以上

  • 注重电源纹波的处理,一边要求纹波小于100mV

报警主机的系统工作电压:

WIFI报警主机系统的所有模块,包括WIFI模块,蜂鸣器、ASK无线接收,喇叭、单片机等都支持3.3V 供电,所以选择3.3V供电。

外部输入的电压通常有5V、9V、12V、24V、220V等,不能直接满足系统的供电要求,需要增加电源转换电路。

WIFI报警主机是通过USB 5V供电,我们需要增加5V转3.3V的电路。我们选择的电源芯片是XL1513E,可以满足5V转换3.3V的要求.

供电电流:

根据各自模块的工作电流确定,系统的正常的工作电流大概在25-40mA 之间,报警电流100mA 左右,XL1513E的供电电流支持2A. 远远的超过电路需求,可以满足产品设计。

系统纹波处理:

  • 芯片的VCC输入脚,需要增加1-4个100nF的贴片电容

  • 射频,4G,NB等工作峰值电流比较大的电路需要增加多个电解电容和贴片电容,减少纹波对模块工作的干扰。

第3步:测试验证设计方案的可行性

通过以上的两步,确定了电路设计的整体框架,接下来就需要测试验证设计的合理性,并要确定设计的可行性。

对于自己比较熟悉的,有丰富的经验,直接使用就OK。

自己之前没有使用过的芯片或模块,我们需要提前测试,简单的验证一下方案的可行性。

喇叭,蜂鸣器,按键,ASK等我们比较熟悉,我们着重测试了涂鸦科技的WRG1模块,确定模块的可行性。

通过1-2周的开发测试验证,确定涂鸦科技的WIFI模块可以满足我们的需求。

最后: 确定产品的硬件设计方案,开始进一步设计原理图,绘制PCB、焊接样品,测试调试。


关键字:嵌入式  单片机  产品开发 引用地址:嵌入式单片机产品开发设计框架

上一篇:如何快速的入门单片机?单片机自学教程有哪些?
下一篇:自学单片机难吗?单片机编程教学班怎么选?

推荐阅读最新更新时间:2024-11-12 01:33

堆栈在C语言中的定义(单片机的中堆栈相当于栈)
在计机领域,堆栈是一个不容忽视的概念,我们编写的C语言程序基本上都要用到。但对于很多的初学着来说,堆栈是一个很模糊的概念。堆栈:一种数据结构、一个在程序运行时用于存放的地方,这可能是很多初学者的认识,因为我曾经就是这么想的和汇编语言中的堆栈一词混为一谈。我身边的一些编程的朋友以及在网上看帖遇到的朋友中有好多也说不清堆栈,所以我想有必要给大家分享一下我对堆栈的看法,有说的不对的地方请朋友们不吝赐教,这对于大家学习会有很大帮助。 首先了解下计算机C语言中各个变量的存放区域: 代码区(CODE): 存放函数代码; 静态数据区(DATA): 存放全局变理/静态变量; 堆区(HEAP):
[单片机]
单片机iic+pca9685驱动控制9路舵机源程序
利用stc12c5a60s2单片机的iic通信,驱动pca9685,因为采用了9个舵机,所以不需要短接驱动板上的焊点,驱动的scl,sda对应接单片机的就好,vcc接3.3v,然后v+和gnd要给5v,插上9个舵机,我任务需要控制舵机90度来回转即可,用的串口,蓝牙控制,很简单,给需要的朋友参考 pca9685驱动板驱动9个舵机单片机源程序如下: #include reg52.h #include intrins.h #include stdio.h #include math.h typedef unsigned char uchar; typedef unsigned int uint;
[单片机]
<font color='red'>单片机</font>iic+pca9685驱动控制9路舵机源程序
51单片机的IO口操作基础知识介绍
以我们常用的STC单片机为例:STC单片机所有IO口均可由软件配置成4种工作类型。4种类型分别为:准双向口/弱上拉(标准8051输出模式)、强推挽输出/强上拉、仅为输入(高阻)或开漏输出功能。每个口有2个寄存器中的相应位控制每个引脚的工作类型。上电复位后的工作模式为准双向/弱上拉模式。2V以上为高电平,0.8V以下为低电平,每个I/O口驱动能力可以达到20mA。 那么我们通过配置哪两个寄存器来设定I/O口的工作模式呢:这两个寄存器就是PxM1和PxM0,P0口对应的就是P0M1和P0M0,P1口对应的就是P0M1和P0M0,P2口对应的就是P0M1和P0M0,P3口对应的就是P0M1和P0M0。以P0口的设置为例: 如果有
[单片机]
51<font color='red'>单片机</font>的IO口操作基础知识介绍
51单片机玩转物联网基础篇07-外部中断
前言 本节我们开始,我们学习51单片机的中断系统,51单片机有5个中断源,我们首先学习外部中断,并通过中断方式检测P3^2接口是否有低电平产生。 一、基础知识 1.中断简介 中断是指CPU在执行A事件的时候,突然收到B事件发出的(中断)请求,CPU停止手中的事情,转而去执行B事件,B事件执行完毕后,又回到原来A事件被打断的地方,继续执行程序的过程,示意图如下所示: 51单片机共有5个中断源,分别是外部中断0、外部中断1、定时器中断0、定时器中断1和串口中断,这5个中断源有二个中断优先级,每个中断源可以编程为高优先级和低优先级中断,可实现二级中断服务程序嵌套。 2.中断寄存器 (1) 中断允许寄存器TCON(88H)
[单片机]
51<font color='red'>单片机</font>玩转物联网基础篇07-外部中断
蓝桥杯STC15单片机复习——DS1302
前言 本次实验测试STC15的定时计数器,,STC15F2K60S2单片机共有三个定时计数器,我们比较常用的只是定时器0和定时器1.所谓计数器,就是计算定时计数器对应引脚的脉冲,对于国信长天的板子,上面搭载有NE555的谐振电路,可以输出频率可调的方波,本此实验通过计数器采集其输出的方波并计算显示其大致频率。 1、计数器 首先配置定时计数器0为计数器模式,用于采集NE555的信号输出。 #include STC15F2K60S2.h #define uint unsigned int #define uchar unsigned char void ALL_Init(); void delay_ms(uint
[单片机]
旋转编码器与PIC单片机接口
旋转编码器 是一种输入装置,其帮助用户与系统进行交互。它看起来更像是一个无线电电位器旋转编码器是一种输入设备, 可帮助用户与系统交互。它看起来更像是一个无线电电位器, 但它输出一系列脉冲, 这使得它的应用独特。当编码器的旋钮旋转时, 它以小步的形式旋转, 这有助于它用于 stepper/servo 电机控制。 在本文中,我们将了解不同类型的旋转编码器及其工作原理。我们还将它与PIC单片机PIC16F877A连接,并通过旋转编码器控制整数值,并在16 * 2 LCD屏幕上显示其值。在本教程的最后, 您将会很乐意为您的项目使用旋转编码器。所以让我们开始吧…。 旋转编码器及其类型 旋转编码器通常称为轴编码器。它是一个机电传
[单片机]
旋转编码器与PIC<font color='red'>单片机</font>接口
ARM造就高性价比MCU优势 寻求差异化是关键
在ARM Cortex系列处理器问世之后,各家MCU厂商大量采用该核心来打造自家MCU产品,使得市场上一时间ARM架构MCU成为当红炸子鸡。尽管8位元MCU的普及度高,然而8位元特性并不能满足所有应用,特别是更为复杂的工业自动化控制,这也让ARM Cortex架构的32位元优势能够充分发挥。 附图 : ARM Cortex核心依据效能不同,拥有包括M0、M0+、M3、M4等不同架构(图:ARM)  意法半导体产品行销经理杨正廉指出,ARM Cortex系列核心所主打的,就是以32位元的效能与8位元的价格,来取代传统MCU产品。32位元与8位元的差别,就如同跑车与脚踏车,一旦用上了32位元MCU,意味着运算工作将更为复杂,精
[单片机]
【GD32 MCU 入门教程】六、GD32 MCU 选项字节设置及解除方法
您在使用GD32过程中是否遇到过芯片反复复位,代码无法更新,代码一直执行在0x1fffxxxx区域,或代码执行在SRAM区域的情况?如果有遇到这类现象是否找到原因呢?如果没找到是否检查过选项字节是否正常呢?这一章节我们针对各系列的选项字节设置和解除做一个相关说明,后续遇到上述问题可以考虑一下是否是选项字节配置错误导致。 1 .各系列选项字节说明 GD32L23x/GD32E50x系列选项字节: GD32E103/GD32E11x/GD32VF103/GD32C103/GD32C113GD32F10x/GD32F20x/GD32F30x/GD32F403系列选项字节介绍: GD32F1x0/GD32F3x0/GD32E230
[单片机]
【GD32 <font color='red'>MCU</font> 入门教程】六、GD32 <font color='red'>MCU</font> 选项字节设置及解除方法
热门资源推荐
热门放大器推荐
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved