嵌入式软件不要求模数化电箱电?

您现在的位置:
基于Fusion模数混合FPGA芯片的心电仪片上系统开发 -
本文所属标签:
为本文创立个标签吧:
基于Fusion模数混合FPGA芯片的心电仪片上系统开发 -
来源: 作者: 发表时间: 13:50 
摘 要: 利用Actel公司的基于Flash构架的模数混合型Fusion系列FPGA芯片,设计了一款低功耗片上的心电监护仪采集显示系统。结合Fusion系列的FPGA芯片的各种资源,实现了心电采集预处理模块、数据的处理和显示模块的系统集成,完整地形成了片上系统。关键词: 心电监护;FPGA;片上系统本文引用地址:
心电监护仪器的研制起源于国外,目前由于我国医院用的心电监护仪体积大、价格昂贵、维护费用高,使用起来极其不便,因此仪器无法满足家庭与乡镇医院的使用要求。针对这种状况,一种小型、价格低廉、便于维护的多功能心电监护仪具有相当的市场竞争力[1]。 Fusion系列的FPGA是世界上首个基于Flash构架的模数混合的FPGA,即在数字FPGA的基础上加入了模拟电路部分,解决了传统模拟电路和FPGA分离给设计带来的诸多问题,降低了PCB板的制作难度,缩小了产品的体积。FPGA的可编程性使得系统易于升级。同时在数字系统中引入模拟电路,简化了系统电路设计。1 Fusion FPGA介绍 Fusion FPGA的主要特点主要体现在: (1)单芯片:无需配置芯片; (2)高安全性:晶体管受7层金属保护,具有AES和Flash Lock加密技术; (3)高可靠性:对高能量粒子轰击具有免疫作用,具有很强的固件错误免疫功能; (4)上电即行:上电时间非常短,一般只有几十个微秒左右; (5)低功耗:无论是动态功耗还是静功耗都低于竞争对手,IGLOO最低可达5 ?滋W; (6)低系统成本:无需配置芯片,小功率电源芯片,无需加密芯片,PCB面积更小。 Fusion系列FPGA内部框架如图1所示。2 片上系统的实现原理 具体片上系统框图如图2所示。经过心电信号采集传感器采集的心电信号接入12位ADC,ADC将心电模拟信号转换成数字信号被BUF锁存,然后送给Core8051供其采集处理。Core8051中设计算法,将ADC传来的数据转换成VGA可以显示的数据,然后送给VGA驱动模块。2.1 ADC模块设计 Fusion FPGA内含采样精度和转换时间可以灵活配置的AD转换器,为灵活的AD转换方案提供了可能性。作为一种逐次逼近型ADC,这种转换器具有高达600 Ks/s采样率,器件内部具有2.56 V的参考源,误差在12位模式下为&6 LSB,具有自动校准功能。 利用FPGA内部逻辑单元对ADC进行配置:设置ADC精度为12位,参考电压采用幅值为2.56 V精度为1%片内电压源供电,同时FPGA内部的ADC具有Prescaler(预处理器),所以可以灵活地设置采样电压的范围,更进一步保证了AD转换的精确度。ADC初始化工作过程如下: (1)等待ADCRESET管脚释放无效; (2)ADCRESET管脚释放无效后,ADC上电自校准; (3)上电校准后(CALIBRATE=1),对ACM 进行配置; (4)配置完成后,通过ADC_START来使ADC工作。 FPGA内部逻辑单元进行ADC的配置和初始化工作,从而控制ADC采样,具体过程如图3所示。2.2 控制核心Core8051模块设计 FPGA内部可以嵌入高速的Core8051处理器内核,它是整个系统的核心,负责有序地调用其余各功能模块,同时又兼有数据处理任务,负责将ADC传来的数据转换成VGA可以显示的数据。Core8051的硬件配置非常灵活,时钟速度可以达到33 MHz,ROM的大小可以根据需要灵活地设置,该设计配置为64 KB。片内DATA RAM仅需256 B即可完成驱动VGA的功能,也可以扩展外部64 KB RAM,从而完成更强大的软件功能。系统中设置单片机的片内DATA RAM为256 B,并通过系统总线扩展了外部64 KB的SRAM,系统框图如图4所示。2.3 彩色显示驱动模块 比较成熟的TFT_LCD显示驱动的开发大多数基于ARM[2-3]、DSP[4]的平台。然而本系统使用的处理器是Coer8051,所以没有办法移植原有的驱动模块。又因为图像数据比较大,对处理器运算能力的要求比较高,所以结合Core8051和FPGA的特点重新设计了一种算法,降低需要处理的数据量,从而在Core8051的能力范围内来完成心电图像信息的显示。 为了显示一幅完整的图像,按照液晶扫描的时钟顺序将事先准备好的一帧图像数据逐次地输入到数据端口,从而完成一帧图像的显示。由于要显示的图像只有心电信号是动态变化的,而其他的都是相对静止不动的,也就是每一次扫描时数据信息是不变化的,整幅的图像被分成动态的(心电图像)和静态的(背景、标度)两部分。动态的由Core8051产生,并在特定时刻输入到TFT_LCD;静态的图像信息事先存储到FPGA中的存储器中,每扫描一次都按照特定的顺序输入到LCD。通过这种方法,Core805就只需处理心电信号的信息,从而大大地减少了图像数据的处理量,并完成图像的显示。该模块的设计完成了低端处理器很难完成的实时彩色界面的驱动,即仅使用带有256 B RAM的Core8051就可以显示256色界面。 根据上述设想,可将液晶屏分成动态部分和静态部分,如图5所示。 图5中除了&心电信号动态显示区&中显示出动态的心电图像,其他部分包括&动态显示区&中的背景图像信息全部事先存储在FPGA内部的Flash存储器中。 动态显示区可以用两组数据来标注,设为:x0,y0,x1,y1,则这个动态显示区每个定点的坐标就可以表示为(x0,y0)(x0,y1)(x1,y0)(x1,y1)。如图5所示, 横坐标表示时间t/s,纵坐标表示心电信号的幅值大小U/v,(x0,y0)处为(0,0)坐标点。在Core8051的基础上设计编码算法,对采集到的心电信号进行编码,然后将心电信号转换成显示屏的坐标信号,然后根据坐标信号计算出心电图像的数据,并在扫描时钟的控制下逐次将数据按照顺序输入到LCD中, 这样即可实现动态的心电图像的显示。 心电信号动态显示区的设计采用了3种方法,分别为: (1)移位寄存器法。在FPGA内部构建一个240位移位寄存器作为心电图像的缓存,Core8051实时地采集数据然后发送到移位寄存器内部,同时CRT驱动模块按照自己的时序来不断地扫描移位寄存器,从而显示出心电图像。这种方法的缺点是动态曲线显示的连续性不好。 (2)双RAM缓存法[5]。利用Core8051外部扩展的64 KBRAM作为心电波形信号的缓存,同时在CRT驱动模块中再设计一个心电波形显示缓存,这样Core8051就可以先采集心电信号存储在外部扩展的64 KB RAM中,达到某一数量后,连续地发送给CRT驱动模块中的缓存,从而显示出动态的心电信号图像。该设计的一个最大优点是图像显示连续(没有抛弃任何时刻的心电数据),同时又可以根据需要选择观察采集到的任何时刻的心电波形。但由于要采集一定数量的心电波形数据,因此心电波形的显示会有一定时间的延时。 (3)单RAM缓存法。在Core8051没有扩展外部64 KB RAM的前提下设计的,利用一个双端口的RAM作为动态显示区的图像缓存,Core8051通过其中的一个写端口向图像缓存中写入数据,VGA控制器通过另外一个端口从图像缓存中读出数据,两者互不影响。同时设计算法使双端口RAM具有位读写能力,即利用Core8051来灵活地读写双端口RAM中的任何一位,这样对图像数据的处理就非常灵活了。这种设计的最大优点是如方法(1)一样可以实时地显示。 本文结合(2)、(3)两种方法进行系统的设计,弥补了各种方案的缺点,实现了动态、实时显示的功能,使得片上系统的功能变得完善。这种设计结合了FPGA的可编程性成功解决了低端8位处理器无法驱动彩色TFT_LCD动态、实时显示的问题。在此基础上,还可以利用FPGA和Core8051的资源开发其他的功能模块,例如与PC机的通信、SD卡大量心电数据存储、心电分析与报警等。3 系统测试及结果 心电信号能力集中在中低频段,随着频率的升高,响应的能量也逐渐降低[6]。利用信号发生器产生不同频率和幅值的正弦信号来模拟心电信号,并将其加到心电信号输入端口,可以看到CRT显示器上显示出和输入信号完全一致的正弦波形,没有任何失真。 Fution模数混合信号芯片的诞生给小型化、便携式片上系统的设计带来了可能,本文通过对FPGA各种资源的综合应用完成了一种心电监护仪的片上系统的设计,通过实际的测试验证了它的准确性。系统的所有功能都是在FPGA上完成的,所以它的单芯片性和FPGA可编程性,给产品的升级带来了极大的便利。参考文献[1] 吕德刚,李军.微型心电监护仪的开发[J].电子世界,).[2] 叶一初,胡方明.基于ARM7的心电采集与远程传输系统设计[J].电子设计工程,):83-85.[3] 侯立亚.基于ARM的心电采集系统的设计[J].医疗卫生装备,).[4] 李晓燕.基于DSP的便携心电数据采集处理系统[J].工业控制计算机,):54-55.[5] 龚小年,张兴敢.双口RAM的发展及在现代数字系统中的应用[J].微处理机,2007(4):110-111.[6] 何伟.心电信号及各组分的频率分布和有效带宽研究[J].生物医学工程学,):336-340.
             
> 基于Fusion模数混合FPGA芯片的心电仪片上系统开发 -
"基于Fusion模数混合FPGA芯片的心电仪片上系统开发 -"的相关文章
Copyright (C)
www.embed.cc 嵌入式开发知识网
开发知识-大学生(电子信息),,第一门户!之前没学过数模电,对A/D D/A转换一窍不通,也百度了很多资料大都深奥难懂。。算了,先自以为是一下吧,等以后学了专业课再说。。(寒假回家一定要学。。恩 就这么决定了)看了那么多资料,感觉 A/D转换就是将电压(或者是其他模拟量:如 压力,图像等)转换为数字,D/A就是反过来,而ADC就是A/D转换器,他可以采集外部电压转化为数字。本节实验通过ADC采集外部电压转换为数字显示在屏幕上。
STM32 拥有 1~3 个 ADC( STM32F101/102 系列只有 1 个 ADC),这些 ADC 可以独立使用,也可以使用双重模式(提高采样率)。 STM32 的 ADC 是 12 位逐次逼近型的模拟数字转换器。它有 18
个通道,可测量 16 个外部和 2 个内部信号源。各通道的 A/D 转换可以单次、连续、扫描或间断模式执行。 ADC 的结果可以左对齐或右对齐方式存储在 16 位数据寄存器中。 模拟看门狗特性允许应用程序检测输入电压是否超出用户定义的高/低阀值。
STM32 将 ADC 的转换分为 2 个通道组:规则通道组和注入通道组。规则通道相当于你正常运行的程序,而注入通道呢,就相当于中断。在你程序正常执行的时候,中断是可以打断你的执行的。同这个类似,注入通道的转换可以打断规则通道的转换,
在注入通道被转换完成之后,规则通道才得以继续转换。
通过一个形象的例子可以说明: 假如你在家里的院子内放了 5 个温度探头,室内放了3个温度探头;
你需要时刻监视室外温度即可,但偶尔你想看看室内的温度;因此你可以使用规则通道组循环扫描室外的 5 个探头并显示 AD 转换结果,当你想看室内温度时,通过一个按钮启动注入转换组(3 个室内探头)并暂时显示室内温度,当你放开这个按钮后,系统又会回到规则通道组继续检测室外温度。从系统设计上,测量并显示室内温度的过程中断了测量并显示室外温度的过程,但程序设计上可以在初始化阶段分别设置好不同的转换组,系统运行中不必再变更循环转换的配置,从而达到两个任务互不干扰和快速切换的结果。可以设想一下,如果没有规则组和注入组的划分,当你按下按钮后,需要从新配置
AD 循环扫描的通道,然后在释放按钮后需再次配置 AD 循环扫描的通道。
但本节只用到规则通道,因为是单次转换模式。。大概可以理解为我们现在只测量一个地方的电压值。。
配置ADC步骤如下:
ADC1 时钟,设置
PA1 为模拟输入。STM32F103RCT6 的 ADC 通道 1 在 PA1 上,所以,我们先要使能 PORTA 的时钟,然后设置 PA1 为模拟输入。 使能 GPIOA 和 ADC 时钟用 RCC_APB2PeriphClockCmd 函数,设置 PA1的输入方式,使用 GPIO_Init 函数即可。这里我们列出 STM32 的 ADC 通道与 GPIO
ADC1,同时设置
ADC1 分频因子。3)初始化
ADC1 参数,设置
ADC1 的工作模式以及规则序列的相关信息。4)使能
ADC 并校准。5)读取
配置ADC的文件adc.c
#include "adc.h"
void Adc_Init(void)
ADC_InitTypeDef ADC_
GPIO_InitTypeDef GPIO_
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_ADC1,ENABLE );
//72M/6=12,ADC 最大时间不能超过 14M
RCC_ADCCLKConfig(RCC_PCLK2_Div6);//设置 ADC分频因子6
//PA1 作为模拟通道输入引脚
GPIO_ist.GPIO_Pin=GPIO_Pin_1;
GPIO_ist.GPIO_Mode=GPIO_Mode_AIN;//模拟输入
GPIO_Init(GPIOA,&GPIO_ist);
ADC_DeInit(ADC1);//复位 ADC1,将外设 ADC1 的全部寄存器重设为缺省值
ADC_ist.ADC_Mode= ADC_Mode_I//ADC 独立模式
ADC_ist.ADC_ScanConvMode=DISABLE;//单通道模式
ADC_ist.ADC_ContinuousConvMode=DISABLE;//单次转换模式
//转换由软件而不是外部触发启动
ADC_ist.ADC_ExternalTrigConv=ADC_ExternalTrigConv_N
ADC_ist.ADC_DataAlign=ADC_DataAlign_R//ADC 数据右对齐
ADC_ist.ADC_NbrOfChannel=1;//顺序进行规则转换的 ADC 通道的数目
ADC_Init(ADC1,&ADC_ist);
ADC_Cmd(ADC1,ENABLE);//使能指定的 ADC1
ADC_ResetCalibration(ADC1);//开启复位校准
while(ADC_GetResetCalibrationStatus(ADC1));//等待复位校准结束
ADC_StartCalibration(ADC1);//开启 AD 校准
while(ADC_GetCalibrationStatus(ADC1));//等待校准结束
//获得 ADC 值
//ch:通道值 0~3
u16 Get_Adc(u8 ch)
//设置指定 ADC 的规则组通道设置它们的转化顺序和采样时间
ADC_RegularChannelConfig(ADC1,ch,1,ADC_SampleTime_239Cycles5);
ADC_SoftwareStartConvCmd(ADC1, ENABLE);//使能指定的 ADC1 的软件转换功能
while(!ADC_GetFlagStatus(ADC1,ADC_FLAG_EOC));//等待转换结束
return ADC_GetConversionValue(ADC1);//返回最近一次 ADC1 规则组的转换结果
u16 Get_Adc_Average(u8 ch,u8 times)
u32 tem_val=0;
for(i=0;i&i++)
tem_val+=Get_Adc(ch);
delay_ms(5);
return tem_val/
#ifndef _ADC_H
#define _ADC_H
#include "sys.h"
#include "delay.h"
void Adc_Init(void);
u16 Get_Adc(u8 ch);
u16 Get_Adc_Average(u8 ch,u8 times);
#include "led.h"
#include "delay.h"
#include "sys.h"
#include "usart.h"
#include "lcd.h"
#include "adc.h"
void init()
delay_init();
//延时函数初始化
uart_init(9600);
//串口初始化为9600
LED_Init();
//初始化与LED连接的硬件接口
LCD_Init();
Adc_Init();
POINT_COLOR=RED;//设置字体为红色
LCD_ShowString(60,40,200,24,24,"ADC Test ^-^");
LCD_ShowString(60,70,200,16,16,"Medium difficulty");
LCD_ShowString(60,90,200,16,16,"");
LCD_ShowString(60,110,200,16,16,"By--Mr yh");
//显示提示信息
POINT_COLOR=BLUE;//设置字体为蓝色
LCD_ShowString(60,130,200,16,16,"ADC_CH0_VAL:");
LCD_ShowString(60,150,200,16,16,"ADC_CH0_VOL:0.000V");
int main(void)
adcnum=Get_Adc_Average(ADC_Channel_1,10);
LCD_ShowxNum(156,130,adcnum,4,16,0);//显示ADC的值
tem=(float)adcnum*(3.3/4096);
LCD_ShowxNum(156,150,adcnum,1,16,0);//显示电压值的整数位
tem*=1000;
LCD_ShowxNum(172,150,tem,3,16,0x80);//显示ADC的值的小数位
LED0=!LED0;
delay_ms(250);
获得了ADC的值之后。。 再转换成电压值的公式就看不懂了。。orz
不过有一个地方需要注意 LCD_ShowxNum()的用法
再次翻出它的源码
//显示数字,高位为0,还是显示
//x,y:起点坐标
//num:数值(0~);
//len:长度(即要显示的位数)
//size:字体大小
//[7]:0,不填充;1,填充0.
//[6:1]:保留
//[0]:0,非叠加显示;1,叠加显示.
void LCD_ShowxNum(u16 x,u16 y,u32 num,u8 len,u8 size,u8 mode)
u8 enshow=0;
for(t=0;t&t++)
temp=(num/LCD_Pow(10,len-t-1))%10;
if(enshow==0&&t&(len-1))
if(temp==0)
if(mode&0X80)LCD_ShowChar(x+(size/2)*t,y,'0',size,mode&0X01);
else LCD_ShowChar(x+(size/2)*t,y,' ',size,mode&0X01);
}else enshow=1;
LCD_ShowChar(x+(size/2)*t,y,temp+'0',size,mode&0X01);
} 看到最后一个参数的说明, mode 是一个8位的变量,第7位为0代表不填充,1代表填充。
一开始对填充这个概念没什么理解,于是将两种结果(填充和不填充)烧进去看了一下,发现显示0.001 的时候,如果选不填充,它会显示0.
1(点和1之间有2个空格),如果是填充就会显示0.001 (正常显示)所以我对填充的理解是:假如一个数6, 你想显示006,那么需要设置数的长度为3,填充模式
STM32 ADC 单次转换
STM32 ADC 简介
STM32 拥有 1~3 个 ADC (STM32F101/102 系列只有 1 个 ADC) ,这些 ADC 可以独立使用,也可以使用双重模式(提高采样率)。STM3...
嵌入式开发第48天(ADC的原理与应用)
一个鸡肋的ADC?
08年刚出触摸屏的时候,adc原用于电阻式触摸屏复用的。然而刚过半年不到,电容屏推广了,adc成为了一个鸡肋的存在。当然这仅是对开发板而言,实际上ADC又叫模数变换器,用于真实世...
Cortex-M3 (NXP LPC1788)之ADC数模转换器的应用
A/D转换器的功能是将模拟输入信号采样得到可以提供计算机进行处理的数字信号。LPC1788的ADC是一个12位的逐次逼近型模数转换器,有8个复用的输入管脚,它的时钟使用PCLK分频得到。开发板的A/D...
STM32的ADC使用需要注意的一个小问题
现象:一款压力传感器,使用STM32芯片自带的ADC采集压力传感器的输出电压信号,在不配置ADC时使用万用表测量的输出信号为0.54V,与压力传感器芯片手册对照数据正常,当将ADC配置完成后,使用AD...
STM32之ADC转换
Stm32上有12位的逐次逼近模型模拟数字转换器。它有多达18个通道,可测量16个外部和2个内部信号源。各个通道的ad转换方式可有:单次、连续、扫描或者间断模型。Adc得到的结果可以左对...
F4的ADC的转换是12位的,该ADC是一种逐次逼近型模拟数字转换器,它有19个通道,其中包括16个外部信号源和两个内部信号源,还有一个VBAT通道。
ADC主要的特征:
1、12位、10位、8位...
基于&em&Cortex&/em&-&em&M3&/em&内核的STM32单片机做的&em&AD&/em&实验,指令库编辑程序源码,希望学习高端嵌入式单品机的你能够用到
&em&AD&/em&723_datasheet12位数模&em&转换&/em&器 综合评分:0 收藏评论举报 所需: 3积分/C币 ...&em&cortex&/em&_&em&m3&/em&
...&em&m3&/em&
TLC5615串行数模&em&转换&/em&器在开关电源中的应用 立即下载
呃,这里的adc没有其他的意思,别想太多。。。
其实就是Analog-to-Digital Converter(模数转换)啦
所谓的模数转换就是把模拟量转化成数字量,具体应用的话,比如,温度,湿度...
最近在进行stm8s003MCU的嵌入式开发,因为其中要进行电压采集,所以学习了下该MCU的ADC模块。之前自己也开发过NXP的MCU,但是之前主要是在前人的基础上进行的开发,所以对ADC其实没有很深...
没有更多推荐了,感觉嵌入式没有未来了?
10:38:01 +08:00 · 14634 次点击
lz 最近准备申请出国留学中...
工作经验嘛.算是 500 强公司里面做嵌入式 Linux 开发一年了吧.渣渣一个所以别和我谈内核.
但是看自己的大学专业和自己工作经验的话看来出国也只能找嵌入式的专业了.
但是觉得现在大家讨论的全都是互联网啊大数据啊一堆性感的数据工程师们
是不是嵌入式没救了, 感觉前方不是很光明呢.
109 回复 &| &直到
16:39:55 +08:00
& & 10:44:54 +08:00
在等两年~保证你白发苍苍
& & 10:45:50 +08:00
大二同专业马克
& & 10:51:23 +08:00
同行,痛苦
& & 10:55:12 +08:00
同嵌入式专业,现在还是去互联网了
& & 10:55:34 +08:00
自己足够 nb 了,就不会有这种想法了。有这种想法只是自己不 nb ,加油让自己 nb 吧
& & 10:55:47 +08:00
嵌入式不接地气,要么是屌丝小公司,以上海那边小企业为代表,干几年就到顶没出路了;要么是门槛太高了,进去不容易。转健康医疗倒是蛮方便,你可以朝这个方向努力。
& & 10:58:18 +08:00
@ 转互联网做服务器?
我想了下好像也只能做这个了.
& & 11:00:57 +08:00
@ 但是感觉整个行业看不到春天啊, 智能硬件风口一下就吹过了...
& & 11:01:24 +08:00
@ 祝你好运
& & 11:02:46 +08:00
@ 可以做一些框架啊,内核啊,安全啊,操作系统啊,不过我想往全栈发展
& & 11:02:48 +08:00
@ 说的是生物医疗电子?心电图机那种?
& & 11:04:58 +08:00
话说, lz 都搞了那些产品?方便发几个围观一下?
& & 11:15:07 +08:00
@ 全栈啊..好厉害, 感觉自己不是 CS 科班出身转行的话 挺虚的. 感觉一般的互联网公司的后端都是在做服务器开发啊, php, node.js 啥的╮(╯▽╰)╭
& & 11:16:12 +08:00
嵌入式就往物联网方向发展啊
& & 11:24:40 +08:00
感觉以后的未来就是嵌入式了
& & 11:27:15 +08:00
@ 求教大神怎么做操作系统或者内核相关?
& & 11:31:14 +08:00
& & 11:35:29 +08:00
貌似很练功力?
& & 11:43:27 +08:00
没有各种嵌入式系统做前端数据传感器,大数据就瞎了一只眼。。。
& & 11:46:10 +08:00
申请硕士的话现在决定方向无所谓吧,你先过去然后和专业前几年毕业的人聊聊再决定转不转也不迟,比在网上问靠谱。
& & 11:58:17 +08:00
在通信设备商做了三年嵌入式,现在也在往上层转型。在国内做嵌入式确实很难往上走,芯片一个级别的 sdk 开发基本被国外供应商搞定了,国内设备商做的多是板级适配,框架也基本是沿用老产品的框架,感觉从技术成长的角度能学到的硬技能不多。所以还是往上层走吧,转型是痛苦的,然而因为不转型而倒在行业的颓势里更痛苦。
& & 12:01:09 +08:00
非计算机专业,大二就会移植内核,开始写 ARM 网卡驱动(当然, COPY 其它驱动的模版)大三就写了 powerpc 平台驱动无数,好几万汗代码;内核模块也写了好几个现在工作好多年,互联网方向,现在才觉得自己做的方向才入门了而已,论深度、广度都还远远不够当然搞嵌入式我是渣渣,但是对于 90%的公司来说,已经绰绰有余了PS :说会嵌入式就和去互联网大厂面试说我会写 C/C++一样,没有任何信息量
& & 12:09:07 +08:00
嵌入式前景其实很好的。关键是找准方向找准未来比如智能家居,你不能给冰箱上集成一个完整的 PC 吧
& & 12:10:29 +08:00
@ 现在都是嵌入式安卓的多吧。
& & 12:17:10 +08:00
夕阳产业,庆幸自己去年果断转行。感谢互联网?
& & 12:17:39 +08:00
@ 很多也不用 android 的android 的只是开发门槛低,并不保持百病
& & 12:19:41 +08:00
@ 比如说小米手环的销量
& & 12:19:48 +08:00
@ 如此大神, 还是跳进了互联网的大河. 敢问大神是什么方向的?
& & 12:35:05 +08:00
做了 3 年嵌入式,
一年前已经转互联网了,
表示移动端前端真心容易好多, 生活滋润啊
& & 12:37:45 +08:00
现在只是嵌入式的发展进入了一个低谷期感觉。长期发展做成专家级别以后的发展未必不好。现在一味的冲向互联网是为什么,是因为互联网热,来钱快,但是谁能保证 10 年之后互联网来钱还能这么快呢?
& & 12:40:47 +08:00
@ 你是真大神啊
& & 12:48:08 +08:00
楼主是工作了几年?
& & 12:51:01 +08:00
& & 12:52:00 +08:00 via iPhone
智能家居,物联网不都是嵌入式吗
& & 12:56:32 +08:00
请问申请出国留学是计算机方面的么,需要什么条件
& & 12:57:37 +08:00
@ 到现在我都还没弄清楚 智能家居到底有什么优势
和 PLC 控制有什么不同
& & 12:57:56 +08:00
@ 因为进入互联网以后,发现自己就是一个渣渣,所以选择了互联网
& & 12:58:55 +08:00
@ 互联网一个渣渣而已
& & 13:38:45 +08:00
@ @ @ @ 嵌入式,夕阳产业?没前途
开玩笑!嵌入式黑科技。。好嘛?民用?智能家居?。。。民用算个蛋。。。把嵌入式弄好,算法写好,滤波学好,模电数电学好,君不见工业产品 20 块钱物料的东西(物料成本,不算研发)卖 20000 一个吗? 随便一个厂就要个几十万个的量听说过工业控制吗?民用嵌入式---听过说博世嘛?听说过汽车 ECU 嘛?听说过无人机吗?听说智能平衡车吗?---BTW :一个 FW 工程师可能没一个前端的工资高。这个倒是行业现状。。 ---嵌入式分很多种。偏硬的的(模数电,传感器),比如 cortex m3 (无 os 或者 rtos ),处理运算,产线监控和执行机构等。偏软(有 os 系列 有 linux 有安卓) 比如 crotex a8 、 am335x ARM 构架等。(工业交互等)说智能家居的都是民用型,要知道工业领域,嵌入式简直就是黑科技到极点的。。我一直都在做嵌入式开发(工业),偶尔也在做互联网项目。 嵌入式门槛太高。。以至于大多数人想转型。。并喷没啥前途因为后续的控制理论,概率论,模电,数电,信号基础 理论基础就够喝一壶调试方面。示波器(几万到十几万) 就已经拍死大多数入门款
& & 13:39:17 +08:00
我也感觉嵌入式没以前那么吃香了...
& & 13:46:37 +08:00
做民用。不了解。。可能现状不好吧。到处都在搞什么智能家居物联网。。做工业,工艺产线控制之类的。。 嵌入式能让你赚到两眼发黑。。(只是前期资本积累没有互联网来的那么爽而已。。)
& & 13:49:41 +08:00
@ 嵌入式大多都是无 os 或者 rtos 。。安卓那种。。 2333 都是交互界面
& & 13:56:16 +08:00
@ 你太鸡冻了,我描述的是 90%的嵌入式职位的情况,确实门槛很低。对于你说的这些,就不是简单的一个嵌入式了,结合了更多领域的知识。& PS :说会嵌入式就和去互联网大厂面试说我会写 C/C++一样,没有任何信息量如果仅仅说嵌入式,和直接去一个互联网大厂说你会 C/C++,充其量也就给你一个入门职位但是你说你写的飞控多牛逼多牛逼,能一样么,而且关键是,你会不停说你是做嵌入式的么?
& & 13:59:00 +08:00
@ 问题是那么多活,要多少嵌入开发人员?每个人只精通一块,有何用
& & 13:59:36 +08:00
@ & 做民用。不了解。。可能现状不好吧。到处都在搞什么智能家居物联网。。 & 做工业,工艺产线控制之类的。。 嵌入式能让你赚到两眼发黑。。(只是前期资本积累没有互联网来的& 那么爽而已。。)做嵌入式在某个方面做到 80%分,不要太挣钱了好不好,三五个人,解决工业领域的某个很具体的问题但是互联网就不行了,如果某天我创业去了,直接互联网+嵌入式+工业需求结合,总比这些现在看起来无限牛逼,内心苦逼的各种互联网创业好很多
& & 14:08:29 +08:00
我在从嵌入式转互联网的过程中...
& & 14:09:33 +08:00
感觉我和 LZ 情况很像啊, 不过我出国主要是想国外呆几年+考虑要不要肉翻.有没有主要看是什么出身, CS SE 出身就赶紧转行吧, 如果是硬件相关出身, 再忍忍还是很有前景的。个人理解“嵌入式”与其说描述的是技术, 倒不如说是描述的使用场景。 LS 几位说的物联网, 智能硬件之类, 一旦普及, 那时的嵌入式和现在的互联网行业会非常接近, 和现在是此一时彼一时。现今以吃 RTOS 为主的嵌入式工程师的空间只会越来越小。而硬件的基础地位在可见的未来不仅不会改变, 一旦进入生活的方方面面, 对其的要求反而会更高。
& & 14:15:51 +08:00
不会吧,以后物联网总觉得是大趋势,怎么可能嵌入式不行。
& & 14:25:11 +08:00
@ 嵌入式确实产品利润非常高,特别是工业领域的,但是不等于从业人员待遇好,而且门槛高不是因为技术难,是因为成本高,打个板子几万,一个示波器几万,一个测试几十万等等等等,这决定了从业人员基本没有办法跳出来自己干,跳槽都很难,因为社会上没有什么合适的岗位给你跳
& & 15:02:18 +08:00
嵌入式是 10 年之后的热门产业。智能硬件是未来的生活方式:通过功能极其单一的小型硬件,来丰富人们的生活 很简单的道理,太多太多的智能设备不需要和手机号绑定了,低头族也不是人类的未来。小型硬件够 cool
& & 15:09:35 +08:00
楼主你问错地方了,这里的大部分人根本不懂嵌入式。如上答案可知。
& & 15:50:11 +08:00
十年之前,一个前端工程师。别 TM 说 500 强,你只能随便进一个公司,做一个切页面的。面对 Java 、 PHP 工程师闪亮的牌子,露出你青涩而尴尬的笑容。看见做数据和运维的工程师,只能直接给膝盖。一个没有前途和存在感的职业。现在,万物的互联,其实还没有开始。只是初现端倪。
& & 16:16:10 +08:00
@ 你了解工控?能否给讲讲?
& & 16:24:06 +08:00
EE 比 CS 难,不过工资没 CS 高倒好像是真的。
& & 16:36:30 +08:00
@ 他们理解的嵌入式都是拿着安卓写个 UI 的嵌入式……
& & 16:49:51 +08:00
@ 技术门槛不低吧。 这一行两极分化极端严重,大部分转互联网去了。。包括我自己也会做一些互联网的项目。技术门槛不仅限于 一些模电,还有一些苦涩的线性代数,傅里叶之类的理论知识就编程技术而言。 从事嵌入式的门槛也远比互联网的要高很多。要了解系统底层中断, cpu 流水线和各种周期指令,各种飞来飞去的指针,各种内存泄露,压根没有爽爽的开线程,只能自己写调度。包括书本上的,补码,进制转换,内存结构,块结构等。哪怕从事偏软的上层架构嵌入式工程师,天天也是和 linux 内核打交道,写驱动,就是个大坑动不动系统崩溃。就硬件方面,捉襟见肘的内存,需要自己回收的内存和各种 c 语言陷阱,没有高级的分析工具,没有花花绿绿的 ide 调试,就是个坑。 开个 struct 有时候都是奢侈,写个 char[]应付一下是经常的事当然说这么多,待遇还不如一个一线城市的前端, php 工程师。。所以就是个坑。难归难,待遇差归差,但是说实话。只好耐心走下去,过个三五年 七八年(把 c 语言搞明白,搞透还得花个个把年。高级语言入门太短了。),待遇超越互联网的工程师根本不在话下,因为走到后面,回头一看就你一个人了,真正的精英,因为随便都能创造出数百万的价值。而且对于底层熟悉以后,对于上层根本不在话下。所以主要还是跟楼主说的,如果楼主喜欢这个还是坚持走下去。。。因为这个真的不简单,走到最后也会有很不错的报答,只是会很长很长的周期。。倒过来想,我编个程还要想一些数学模型,做线性代数,去描述运动,做高斯滤波,最后建立数学模型。这是件多有意思的事。。。就电机而言,就可以玩个十几年。。。所以。。。绝对有未来喜欢就别放弃
& & 17:02:43 +08:00
@ 我觉得那些专业某个领域的嵌入式工程师(比如电路, layout 等)相关的硬件的工程师的空间越来越小 嵌入式(固件)开发的工程师会有越来越大的发展空间RTOS 的诞生解决了大部分入门门槛的问题(终于不用调寄存器搞中断了 233 )。硬件(模拟)的发展解决了绝大多数的问题(什么当年的 555 ,数据选择器,早就看见不到了)现在芯片厂才是最大的坑, SoC 的概念植入,单芯片封装了越来越多的功能,大大的降低了入门门槛。厂商不但卖芯片,还大力推广 SDK ,比如 TI 再推 ZigBee 的时候有一整套完整的协议栈和上层 api ,解决了大多数人入门 802.1x 的难题,越来越容易开发越来越友善的硬件框架只会让工程师有更大的发展空间吧。
& & 17:15:16 +08:00
@ 真是写出了血泪史啊.十分感同身受, 十分受教.每个搞电子出来的都有个创造世界的梦吧.希望我能坚持哈哈哈:) thx
& & 17:17:21 +08:00
@ EE 出身.然而硬件不是很强.模电是渣渣, MCU 的话...如果 STM32 用了一两年
& & 17:23:20 +08:00
兄弟。哪个方面挣钱就做哪个。谁能一辈子做一个方向。就像说 lisp , delphi 多牛逼,不能挣钱的语言,还是没多大用。
& & 17:28:31 +08:00
我也是 EE 出生。 模电肯定比你渣,遥想当年,还挂过科, 好在线性代数,控制原理和信号,还有编程还不错。不过要是我建议,还是建议研究下通用知识, 计算机原理,算法基础,滤波,采样, AD , 之类的,那些模电超牛的人迟早要被芯片直接整死。芯片随便什么芯片都没关系。 stm32 51 甚至现在的 crotex m 系列 r 系列 还有 rtos 什么的。。编起来还是一回事儿,唯一的不同就是配配晶振,改改 gpio ,有些奇形怪状的功能看着 datasheet 配置下,还有些什么虚拟内存向量表什么的。。。建议多了解工业线上的解决方案。。随便找个工艺研究好了需求,弄套解决方案完全不是事儿。。
& & 17:43:37 +08:00
@ 哈神学挂科是常事.不过关于工业线上解决方案还真没想过. 是工业机器人那种?
& & 17:45:51 +08:00
@ 困惑点就是嵌入式在可以预见的未来(5-10 年),能不能翻身成现在的互联网一样挣钱
& & 17:49:21 +08:00
物联网时代就是你们机遇啊!笨
& & 17:52:15 +08:00
@ 可以自己单干的,看你怎么干。现在大家都是做一个 demo ,然后写产品解决什么问题,有什么创意,甚至只要好玩,拿给投资者,拿风投就行啦。
& & 18:02:07 +08:00
对于那些满眼新技术,看不起基础技术的,以为新技术就是最 nb 的,楼主可以让他们滚犊子了。有这迷茫的时间不如去图书馆拿本书好好看
& & 18:10:12 +08:00 via Android
嵌入式很有前途,互联网最后还想扩张,没嵌入式能行?想进入线下,不需要各种传感器芯片?我自己反正很看好物联网和智能家居,慢慢熬吧,三十年河东三十年河西
& & 18:13:50 +08:00 via Android
arduino 都觉得虐心,不敢入这个坑了,假期还是买个树莓派耍耍吧。
& & 18:19:25 +08:00
嵌入式不好发 paper 吧。。如果是申 Master 当我没说,如果是申 Phd ,那要谨慎啊
& & 18:28:49 +08:00
@ 我意思是硬件相关出身会更好一些,
软件专业的基础知识在 RTOS 的环境下大多数是没什么用的. CS 还好点, SE 出身做这个其实就是在走弯路.另外现在上下游厂商的确都是在抢对方的活儿干, 都希望直接提供傻瓜式服务. 如果站在干辛苦活儿的那头, 熬一下很有希望, 如果站在傻瓜那头, 那就赶紧跑路了比较好.嵌入式的软件工程师和 layout 工程师感觉一样, 都是处于各自领域的下游地位, 每天看着别人抢自己的活儿, 真的很尴尬.
& & 18:37:04 +08:00
@ 举例:监控产线,当出现异常自动停车系统。监控流量,调节阀门开度系统(启动 /液压 /电子)执行系统说个通俗点的。。根据油门踏板的深度和加速意愿,调整汽车发动机节气门开度,喷油嘴喷射量等。等等。行业相关不说太细了。。反正每个工业领域都有无数的亟需解决的问题。。只要解决一件,都可以带来巨大的收益。
& & 18:40:59 +08:00
@ 但是只要是和核心技术相关的,比如算法,滤波,波形优化,数模采样等,这样的人才不受任何上下游的压榨。我记得在知乎上还有个 大疆 的核心研发,在那里吹(也不是吹吧,大差不差确实如此) 学好卡尔曼滤波 /高斯滤波,把波形做漂亮,研究好了飞机卫星车都不在话下,(我记得是讲一片女性的宇航员的做了套卫星什么机构)
& & 19:15:06 +08:00
@ 你说的这些其实难点并不在程序上。类比说,写一个最完善的模拟恒星演化的程序并不是在考验你写程序的能力即使参照代码规范或者各种软件工程规范是最烂的程序,也有可能值很多很多钱,这功力就在程序之外了,对于一个量产出来的程序员,并没有什么参考价值
& & 19:29:01 +08:00
@ 现在的可穿戴设备都是玩具,将来能赚钱的是那些不是玩具的可穿戴设备。健康医疗所指的就是这块。算医学和计算机的交叉应用吧。
& & 19:29:25 +08:00
正在这坑中,我觉得现在的嵌入式蛮苦逼的。
& & 20:13:02 +08:00
@ 如果你有乔布斯的眼光,别人都用按键的时候,你看到了触摸屏的前景。那你就遵循自己的判断。如果你没这种眼光,就顺大流,哪样挣钱做那样。以我的看法,互联网会永远火下去,嵌入式可能会火,可以先做互联网,把钱挣到手,如果嵌入式火了,你又有互联网的基础,走的会更远。
& & 20:19:28 +08:00
现在智能硬件不是很火么,嵌入式的人才应该很抢手才对啊
& & 20:31:51 +08:00
@ 你说的那是偏算法方向的了,跟嵌入式没有必然联系。比如互联网行业也有不少 NLP/数据挖掘 /图像识别岗位,也要懂线代概率论,门槛也高。类似还有游戏行业做图形学的,金融业搞 quant 的,这些并不能代表行业普遍水准。大疆招的那些核心研发主要是要求有机器学习背景,懂嵌入式只是加分。这些人研究完产品原型再交给楼主说的那种典型的嵌入式工程师去实现。不信去看看大疆的招聘页面,相关职位叫导航算法工程师 /控制算法工程师,是跟嵌入式工程师并列的。
& & 20:43:08 +08:00
@ 你的观点略显狭隘。所有智能硬件都属于嵌入式,包括你的手机,平板.....可以肯定的是需要有人去做些这些事情,而且需求很大,这些硬件并非无中生有的
& & 20:52:17 +08:00 via iPhone
@ 电机控制本身就是赚钱的行当,可信这行业太封闭了 。 嵌入式的从业人员地位现在是有点尴尬,毕竟开发成本和开发效率在那,没办法赚快钱,很容易资金断裂,加上本身行业降成本厉害,大头主要核心人员拿走了,下面普通开发人员的钱很少 。嵌入式本身技术入门槛不高,倒真深入进去精通门槛就太高了,导致在很长一段时间工资和能力不成正比,造成了有能力的一波人外逃其它行业,也能活得滋润。
只希望互联网+或者物联网能后把这谭死水搅活
& & 21:40:46 +08:00 via iPhone
还好吧。。实验室一老师,自己接接私活儿,月入一狗半还是有的。和他同期毕业的在腾讯的勉强做到中层,他自己魔都两套房一辆车,娃儿都快上小学了。
& & 22:46:43 +08:00
搞纯嵌入式的工程师一大堆 关键是要有核心独门技能
& & 22:56:28 +08:00
等待一场集成电路的泡沫~~~嵌入式的前景才会真来到~~~
& & 23:04:20 +08:00
@ 哈哈 好像是这样。我在工业领域, 在我这个领域能请得起专业的算法控制工程师的,好像没有( top 500 旗下某子公司),。基本上作为一个嵌入式工程师不但要写代码调试,还要的都要懂那些东西。。不过嵌入式写代码的现在也难找,找个会写 c 语言的难,写得好的更难,找个写 py php 的满大街一把抓。公司走了个 fw engineer ,都快 2 个月了还没找到新的。。。@
说真的,还真希望能让互联网搅活这坛子水。把互联网引入嵌入式(不是中国广吹的“传统意义”上的物联网)
& & 00:02:08 +08:00 via Android
前几年在吹环境工程这专业有前途。。。。
& & 01:27:56 +08:00 via Android
作为一个学电子专业(做过 MSP430,stm32 平台)的全栈(Python , php , MySQL , JavaScript , html5 ,运维,数据可视化),我慢慢的悟出来了一个道理。真正赚钱多少不取决于技术层面,也就是说技术人员的工资不是技术人员自己定的,而是市场定的。当做这个行业的公司多的时候,人才和公司是双选的,技术可以跳待遇高的,但是如果市场被一些大公司垄断时,工资也就那个意思了。。其实还有一点,硬件开发可以复用,也比较模块化,产品迭代慢,软件开发专一性强,迭代周期短
& & 03:49:42 +08:00
智能硬件都还没火起来,下这个结论为时尚早啊
& & 07:39:32 +08:00
在国内写 FW 没钱途,之前干了五年,从硬体转的韧体,开始做工控的 PLC ,后来转了搞 DSP 做 TI 达芬奇方案的应用,看起来很厉害其实不过是个熟练工的活,招不到人就对了,市场普遍不愿意出钱,同样年份的写 SW 的工资高多了如果出国,更别搞嵌入式了, EE CE 里面比较烂的一个坑了,仅次于 DSP 和通信, ECE 也就搞搞 CUDA 啥的还可以,或者直接转 CS
& & 08:36:53 +08:00
你的观察看到根本了,底层硬件垄断程度太高、市场不活跃,是人才价格上不去的主要原因。
& & 10:17:06 +08:00
@ 哈哈我就是申请 master. PhD 对我有点遥远.@ @ @ @ 谢谢大家的指点.深切感受到了嵌入式这块的市场不够活跃. 一方面这算是比较基础的技术, 另一方面是没有热点.现在的智能硬件确实像是玩具, 不过想要崛起我觉得需要其他行业的一起努力, 比如化学工业的电池科技? 电子电路, 还有人工智能啊学习算法什么的...感觉要离真正的突破还有一段时间不过对个人来说, 搞搞嵌入式对提升功力还是很有帮助的. 趁这个机会好好研究一下 kernel 什么的.-----------------------------------------------------------------------------------------不过自学 machine learning 有戏么...
& & 11:11:31 +08:00
VR 关注度很高,或许是一个机会?
& & 14:48:37 +08:00
我前端搞了两年感觉没出路,还想学习嵌入式呢
& & 18:08:16 +08:00 via iPhone
@ 互联网多泡沫而已@ 做太多数据什么层面的东西,害怕未来都不会有什么质的变化,从电子计算机但现在半个世纪多,还是那个样子,还是把 VIM 当信仰
& & 18:32:40 +08:00
@ 貌似当年 char 都拆分成 8 bit 用了 哈哈
& & 18:45:20 +08:00
@ 太累,前端一个 IE6 都觉着兼容这么麻烦,嵌入式就各种 CPU ,各种硬件,底层细节需要你处理考虑了,玩不转。
& & 19:35:46 +08:00
请问 LZ 是如何准备的出国,想咨询下经验
& & 19:38:08 +08:00
@ 哈哈哈,一针见血!
& & 21:33:54 +08:00 via Android
那些数据挖掘所基于的数据不都是来自物联网, IoT ,嵌入式设备吗?
& & 06:02:40 +08:00
@ 这是个容易犯的误区,国内做嵌入式的很多人都这么想,不客气的说,这些人都是低 level 可以轻松替换的;说难听点,那还靠富士康 华硕等等来生产这些设备呢,怎么不说富士康的 PE 更重要打个简单的比方,一个在线商城,负责 ordering 的人把数据写入到某个数据库里面;另外一个组利用这些数据产生 customer specific 的 promotion ,和各种 promotion 的实际效果,以及产生的 revenue 的情况等等等等你觉得是负责 persistence 数据的人挣钱多呢,还是开发个 platform 来分析这些数据的人挣钱多呢,这个链条越下游,就越没有钱途
& & 11:22:15 +08:00
& · & 1269 人在线 & 最高记录 3762 & · &
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.1 · 24ms · UTC 17:09 · PVG 01:09 · LAX 10:09 · JFK 13:09? Do have faith in what you're doing.

我要回帖

更多关于 磁电式传感器ppt 的文章

 

随机推荐