电子发烧友网 > 控制/MCU > 正文

嵌入式开发中的一些硬件相关的概念介绍

2018年01月09日 10:18 次阅读

做嵌入式系统开发,经常要接触硬件,需要对数字电路和模拟电路要有一定的了解,这样才能深入的研究下去。那些刚刚接触嵌入式,总觉得很难,其实做什么事情,都要把最基础的知识掌握牢固,才能最终走上大神的道路。下面我们简单地介绍一下嵌入式开发中的一些硬件相关的概念。

电平(Level)

在数字电路中,分为高电平和低电平,分别用1和0表示。一个数字电路的管脚,总是存在一个电平的,要么高要么低,或者说要么1要到0(其实,还有另一种状态,后面会提到)。

总线(Bus)

在嵌入式系统中一定会有一块处理器芯片,此外,还有其它的芯片作为外部设备(后面简称外设),这些芯片与处理器协作实现产品的功能。复杂的产品往往是由大量的芯片组成的。那么不可避免的是我们需要将所有的外设与处理器进行相连,最为简单的是将所有的外设都采用独立(注意是独立)的信号线连接至处理器。

这样的好处是容易理解,但问题是:不可行。因为处理器芯片需要引出太多的线了,从芯片的生产和产品的生产角度来看都不实际。加之,处理器(在此我们假设处理器是单核的,而不是多核的)处理事务在微观上是串行的,也就是说在某一时刻如果要对外设进行读写操作,那只可能是对大量外设中的一个进行,即多个外设不可能在微观上被处理器同时访问。需要注意的是,这里提出了微观这一概念,这是为了区别于宏观。

从宏观上来讲,一个处理器中可以有多个任务同时运行,但这些任务在微观上却是一个一个运行的(后面会用串行来描述这里所说的“一个一个”),多任务的串行运行实现是由操作系统扮演着重要的角色来实现的。回到我们的话题,即然将每个外设采用独立的信号线连到处理器不可行,且处理器在单一时间内只会对一个外设进行访问,那我们能不能采用共享的信号线将所有的芯片连在一起呢?这就是总线概念的由来。

通俗的说,如果我们周围有十个家庭,为了让这十个家庭每两个之间都能往来,我们并不需要为每两个家庭修一条单独(注意是单独)的路(如果这样,要修45条路),而是可以修一条大路,然后,每个家都与大路相连。

对于总线,我们往往说总线是处理器的,而其它的外设是挂在总线上的。那有一个问题,我们每一时间只能访问挂在总线上的一个外设,那如何区分这些外设呢?和我们的路一样,我们需要用地址来区分每一个家庭,在总线上,也是采用地址来进行区分的。这样,总线就根据其功能分为两类了。一类是地址总线,这一总线上的数据只会是从处理器向外设“流”,是单向的。

另一类则是数据总线,用来将数据从处理器传送到外设(从处理器的角度来说是写操作)或者是将数据从外设传送到处理器(从处理器的角度来说是读操作),显然,数据总线是双向的。也就是说,在我们的嵌入式系统中同时存在地址总线和数据总线将所有需要与处理器进行通讯的芯片连在一起的。

总线是有宽度的,正如我们的路分为“三车道”或是“四车道”,我们说32位处理器,是指其数据总线宽度是32位,也就是“有32辆车能同时跑”,显然,宽度越是宽我们的处理器速度就越是快,因为我们从外设芯片存取数据的速度会更快,这就是为什么我们的计算机向64位发展的原因。同样的,地址总线也是有宽度的,对于32位处理器其最大宽度也就是32位。

总线的概念有了,那接下来的一个问题是,即使是每一个外设都有一个地址,那这一地址记在哪里呢?是放在外设芯片上吗?如果这样的话,那就有一个问题,每一类外设的地址必须是不能重叠的,而当一个产品中需要两块一样的芯片的话,两块芯片的地址就无法区分了,看来这样操作存在问题。还有,如果这样的话每一个外设也得与(比如,32根)数据总线完全相连,并监听数据线以了解处理器是不是在“叫”自己,这样很是复杂。此外,地址也有可能因为外设种类的增多而用光。总的来说地址不能存放在外设芯片,那如何让外设知道,此时它是被处理器招换从而需要进行读写访问的呢?答案就是芯片的片选(CS, chip select)信号,或者又号使能(ENable)信号。

片选(CS或EN)

片选信号对于外设芯片来讲,就是一个(也是一根)通知信号,告诉芯片“嘿,请开门,我要放些东西进来,或是拿些东西走”,这里的东西只能是数据,不可能是玉米棒什么的。那有个问题,这个信号源从哪里来呢?显然,只能从处理器来。那是不是也是像总线那样,每一个芯片都共用一根线连在一起呢?如果这样,可能处理器“一叫开门”所有的芯片都将“门”打开了。

如果是处理器写数据,那可能所有的芯片都被写入同样的数据。而取数据时,每个外设芯片都向外“扔”数据,这一定会造成数据总线冲突,因为有的芯片向总线上“扔”1,有的则“扔”0,这种情况下处理器一定会“发疯”的,因为它不知道应当得到1还是0。

既然这样,那显然不能将所有的片选信号连在一起了,只能是各芯片的片选信号独立。前面提到了地址总线,我们是采用一根地址线连一个外设芯片呢?还是采用其它的方法。如果采用一根地址线连一个外设芯片,那可能最多只能挂接32个芯片了,这显然不行。其实,在现实中,是采用32位的数字来表示一个外设芯片的地址的,比如1可以表示芯片A,而6534可以表示另外一个芯片B,等等。

由此看来,理论上我们可以表示2的32次方(4294967296)个设备,之所以说理论上,是因为有的设备要占用大量的地址。即然这样,那还有一个问题,如果将32位的地址总线转换成芯片的一根片选信号呢?这需要引入译码(器)的概念。

译码器(Decoder)

译码器将一个数据转换成一根信号线上的信号,比如3/8译码器,可以将一个位宽是3位的数据转换成8根(2的3次方)完全独立的信号线,当向数据侧写入二进制的011时,对应的是8根线的第3根,当输入二进制的111时,对应的是8根线中的最后一根。有了译码器,处理器的地址线就简化了,只要32根地址线加上外面的译码器,就可以访问大量的外设芯片了。外部设备的选择问题,我们已经解决了,现在还得回头看一看数据总线。

图1 3/8译码器

在嵌入式系统中,所有芯片的数据总线可以理解成是直接相连的。之所以用了“可以理解”一词,是因为为了提高总线的负载能力,其中会加入总线驱动器。为了理解,我们看一看我们生活中的自来水,比如,在北京理论上可能所有的水管是连在一起的,但中间可能为了提高水压,存在很多小的水站用来增加供水压力,而不可能全北京所有的自来水自接来自一个水厂。

既然所有的数据总线是连在一起的,那就可能会有问题。当向外部设备写数据时,处理器先向地址总线输送目标外设的地址,地址译码器将其转换成一根信号的片选信号送到了目标外设,目标外设收到这一信号后,将“门”打开。接下来处理器将要传送到外设的数据往数据总线上一放,由于只有目标外设芯片打开了“门”,所以数据只会进入到目标外设,而其它的外设什么也不会收到。

接下来看一看读。读的话,由于数据是从外设输送到处理器的,尽管我们采用和写一样的方法打开目标外设的“门”,但此时,其它的外设也在数据总线上,它们有可能处于1也可能处于0,是不是会影响处理器读取目标外设的数据呢?结果当然不会,但我们得引入另一个概念:高阻态。

高阻态

很显然,当处理器从目标外设读数据时,我们希望其它没有被选上的芯片的数据总线不会对目标外设所要传送的数据有影响,那怎么办呢?实际上,当芯片没有被选中时,其数据总线都处于高阻态。所谓的高阻态,我们可以理解成这一管脚在外设芯片内部是断开的,如此一来,显然不会对处理器从目标外设读取数据造成任何的影响了。我们说当一个芯片没有被选中或是没有被使能时,其数据总线一定是处于高阻态的。前面用了“门”的开和关来打比方,那“门”是指什么呢?是指外设的数据总线,片选信号的作用就是控制将外设的数据总线与处理器的数据总线相连或是断开。

驱动

总线上的数据是谁放上去的我们就说谁是那一时刻的驱动者。也就是说,当处理器向外设写数据时,它是在驱动数据总线的,而当处理器从目标外设读取数据时,目标外设是在驱动数据总线的。对于地址总线,因为只可能从处理器向目标外设写,所以地址总线永远是由处理器驱动的。当一个芯片没有被选中时,我们说它并不驱动数据总线。

三态门

前面我们说到外设芯片的数据总线在没有被选中时其处于高阻态,当被选中时,其电平可能是高(1)或是低(0)。如此一来,我们说外设的数据总线其芯片管脚是属于三态门的,即存在高电平、低电平和高阻态,三个状态。

电平的有效性

前面我们了解了什么是片选信号,也讲到了三态门,需要指出的是片选信号通常不是三态门,其只存在两个状态,即高电平或是低电平。前面我们也说了,片选信号是用来“开门”的,而片选信号又有高和低电平,那到底是高电平表示“开门”呢?还是低电平?对于这一问题,我们称如果一个电平对于一个片选信号表示“开门”那么它就是这一信号的有效电平。比如,对于一个片选信号,如果低电平表示“开门”,那么我们说这个片选信号是低电平有效的。虽然,在这里我们用片选信号来解释电平的有效性,但是很多信号都存在有效性的问题,比如,后面我们将要谈的读信号和写信号都存在有效性问题。

时序

在前面我们说到当处理器要向外设芯片写数据时,需要先将所需访问的外设的地址放在地址总线上,然后,由译码器将地址总线上的数据转换成片选信号,片选信号则使能目标外设芯片,接下来处理器写数据到数据总线上,从而完成一个写操作。显然,在处理器将数据写到数据总线之前地址线上的数据必须一直保留一段时间,否则的话译码器不能长时间的使片选信号有效。

当完成了数据的写操作后,处理器就不需要保证地址总线上的地址有效了。我们可以看出,这一系列的操作都有一定严格的时间顺序的,这称之为时序。时序描述了处理器与外部设备的交互信号 “规程”,大家只有按照这一“规程”来操作,才能保证处理器与外部设备之间能正常的通讯。这好比,我们的道路上的红绿灯,如果我们行人和车辆不按照其指示来通行的话,就会出现事故。通常,采用时序图来描述芯片之间通讯的信号“规程”。

图2 读时序图

图3 读时序图

从图中我们可以看出ADDRESS是表示地址总线的,DQ是表示数据总线的,CE是片选信号,且是低电平有效,其宽度要保证在进行读操作时总是有效的。学会看时序图对于做嵌入式系统开发非常有帮助,因为我们不可避免的要与芯片打交道。在时序图中,通常会标识很多的时间需求信息。

在写启动代码时需要初始化各地址空间的片选地址寄存器和读写时序,时序的配置依据就是来自于外设芯片的时间需求,这是芯片手册很重要的一部分内容。当一个地址空间中存在多个外设芯片时,我们需要考虑到其中最慢的外设芯片的时间需求,否则的话有的芯片就不能正常工作。

读/写信号

当处理器需要从外设芯片读取信号时,除了需要产生片选信号外,还需要告诉外设芯片这是一个读操作,是通过读信号来实现的;或者这个信号用于告诉外设芯片,这是一个向外设芯片写数据的操作。

I/O端口

前面提到了外设(芯片)),现在是对外设进行分类的时候了。大体上外设分为两类,一类是存储器外设,而另一类是非存储器外设,后者常被称之为I/O设备,这里的I/O是Input/Output的简写,即输入、输出。可见,I/O外设是一个非常宽泛的概念。对于存储器外设,其特点是,它所占用的空间是连续的一片。

比如,SDRAM内存就是属于存储器外设,如果其容量是8M字节,那么其占用的地址空间也会是8M的。与存储器外设所不同的是,I/O外设所点用的地址一般都很少。比如一个I/O外设可能存在多个控制寄存器,这些控制寄存器从处理器来看就是多个I/O端口(地址),向这个地址写数据就是向外设所对应的寄存器写数据,反之,也可以是读。

比如,一个串口芯片可能存在多个寄存器,一个用来查询芯片的状态,一个用来设置芯片的功能,另一个用来读取芯片从串口线所收到的数据,最后,还有一个用来向芯片写数据以向串口线上发送数据。对于这一串口芯片的寄存器,从处理器的角度来看,都是独立的I/O端口。

I/O端口存在读、写性问题,有的端口是只读的,有的端口是只写的,还有的端口是即可读也可写,其读写性是由外设芯片的寄存器所决定的,在芯片的数据手册中能找到。需要指出的是,有些存储器外设也存在I/O端口,以对其进行一定的控制。从I/O端口这一名字来看,对于处理器来说,就是对从外面读入数据或是向外面输出数据的一个接口总称。

中断

中断从硬件的角度来看就是一个能产生高、低电平的一根信号线,但理解它需要从处理器的角度出发。我们说过了,处理器从微观上看,所做的工作是按顺序进行的,其对程序的处理只能是一条指令一条指令的执行。如果存在需要对外设芯片进行访问,而有可能从处理器发出读、写命令后,由于外设通常比处理器慢很多,所以外设芯片需要一些时间来准备好所需的数据。在这种情况下,如果处理器一直等外设芯片的返回数据再执行后续的指令的话,将耗费宝贵的时间,这些时间完全可以用来做其它的工作。

别忘了,从宏观上看来处理器常常是多任务的,任务是指操作系统所提供的调度单位。当一个任务因为等待外设芯片的数据而阻塞时,我们可以切换到另外的任务,从而提高处理效率。这就有一个问题,当处理器去处理另一个任务时,如果外设芯片的数据好了的话,如果告诉处理器呢?对了!就是通过中断信号。中断信号的高、低电平可以用来表示是否有中断需要处理器注意以处理特定的事件(比如,外设数据准备好了的事件)。

由此看来,中断的引入能大大的提高处理器的运用效率。为了使用处理器上的中断,一开始我们需要初始化好处理器的中断控制器,比如安装好所需的中断服务程序或称之为ISR(Interrupt Service RouTIne),然后,打开中断屏蔽位。中断服务程序中需要做如下的操作:

从外设读入或向外设写数据。读还是写通常需要读取外设的中断状态寄存器来决定。

清除外设的中断信号。我们知道,中断信号是由外设芯片驱动的,为了告诉外设芯片,处理器已经处理完了所需做的工作,那么处理器需要通过一定的方式通知外设芯片。这种方式就是向外设芯片的寄存器中的某一位写入一个数据,比如,可能是写入1表示清中断,也可能是写入0表示清中断,这通常在外设的数据手册中能查到。当外设收到了处理器的清中断请求后,其就会驱动中断线使其无效。比如,一个外设的中断线是当其为低电平表示有中断,将其从低电平变为高电平就是驱动为无效。

清除处理器的中断信号标识。处理器中往往也会保存外部中断信号是否发生过,当我们处理完了外设芯片的中断时,我们也需要清除处理器上的标识,从而为下一次中断做准备。需要注意的是,清外设的中断必须发生在请处理器中断标识之前!

中断还存在一个触发方式问题。有两种触发方式 ,一种是电平触发,另一种是沿触发。电平触发是指电平的高低表示外设是否有中断,而沿触发则是能过中断线上的电平的升或降来表示的,显然,存在两种沿触发方式。一种是中断线从低电平变为高电平,我们称之为上升沿触发,另一处是中断线从高电平转换为低电平,我们称之为下降沿触发。总的来说中断的触发方式有电平触发、上升沿触发和下降沿触发。电平触发方式中处理中中断设置很重要的一个步骤。

万用表

万用表通常是用来查看电平的高低、电阻的大小等的,是常用且必不可少的工具之一。在嵌入式系统开发中,我们常用的是数字万用表。

示波器

在嵌入式系统开发中,我们不可避免的要与外设芯片打交道。调试驱动程序时,除了需要完全看明白芯片的数据手册,且在软件高度的过程中,还需要看我们所期望的信号电平是否发生在芯片上。比如,我们在写驱动程序时,需要通过写I/O端口来对外设芯片进行操作,当写相应的I/O端口时,我们知道所对应芯片的片选信号应当有效,有时,我们需要验证是否按预期发生了,这就需要用到示波器。一般的示波器是能同时观测两个信号线的信号状态的。

示波器都提供一定的功能,比如设置信号扑捉的方式等等。示波器很重要的一个参数据是其采集频率,根据Nyquist采集定理,如果我们想用示波器查看频率是100M赫兹的信号,那么其采样频率必须至少是其两倍,即200M赫兹。有人可能会问:为什么不用万用表来看呢?因为万用表的采集频率很底,无法采集到很快的信号变化。

逻辑分析仪

简单的说逻辑分析器就是具有很多信号通道的示波器。通过逻辑分析仪,我们可以看到地址总线和数据总线上的数据。逻辑分析仪都提供一定的编程能力,用于编程什么时候开始对总线上的数据进行采集。
 

技术专区

关注电子发烧友微信

有趣有料的资讯及技术干货

下载发烧友APP

打造属于您的人脉电子圈

关注发烧友课堂

锁定最新课程活动及技术直播
收藏 人收藏
分享:

评论

相关推荐

嵌入式Linux系统的7个重要模块

嵌入式Linux系统--命令行,即Shell是操作系统的重要部分,当然也包括嵌入式Linux系统。在...

发表于 2018-04-10 10:38 43次阅读
嵌入式Linux系统的7个重要模块

在嵌入式Linux上运行一个最简单的“Hello...

最后发现目标板支持FTP服务器,总数找到一个救命稻草,不过很可惜,用户密码未知,问了中间厂商,用户和...

发表于 2018-04-10 10:36 35次阅读
在嵌入式Linux上运行一个最简单的“Hello...

如何在液晶显示器上显示汉字、ASCII字符和彩色...

本文介绍了以高性能的8位单片机C8051F120作为核心处理器,接收和处理PC机键盘和触摸屏的操作信...

发表于 2018-04-10 09:27 24次阅读
如何在液晶显示器上显示汉字、ASCII字符和彩色...

明远智睿 EK140P全功能板手册

发表于 2018-04-09 16:09 42次阅读
明远智睿 EK140P全功能板手册

基于ARM的嵌入式最小系统的架构研究

随着嵌入式相关技术的迅速发展, 嵌入式系统的功能越来越强大,应用接口更加丰富,根据实际应用的需要设计...

发表于 2018-04-09 13:38 14次阅读
基于ARM的嵌入式最小系统的架构研究

嵌入式音频系统设计(硬件:S3C2410+UDA...

近几年, 嵌入式 数字音频产品受到越来越多消费者的青睐。在MP3、手机等消费类电子产品中,人们对于这...

发表于 2018-04-09 09:56 14次阅读
嵌入式音频系统设计(硬件:S3C2410+UDA...

嵌入式实时操作系统:RTOS和PC上的区别

通用操作系统中的任务调度策略一般采用基于优先级的抢先式调度策略,对于优先级相同的进程则采用时间片轮转...

发表于 2018-04-09 09:38 101次阅读
嵌入式实时操作系统:RTOS和PC上的区别

PowerVR 2NX NNA实现最高效率的解决...

2017年9月21日 ─ Imagination Technologies 宣布推出完整、独立式的硬...

发表于 2018-04-09 07:16 20次阅读
PowerVR 2NX NNA实现最高效率的解决...

嵌入式Linux内存管理的知识汇总

这个内存管理的知识点还真的需要我们专门的去理解一下,今天大家一起来学习学习嵌入式Linux内存管理的...

发表于 2018-04-09 05:58 18次阅读
嵌入式Linux内存管理的知识汇总

嵌入式操作系统是什么_嵌入式操作系统有哪些

嵌入式操作系统(Embedded OperatingSystem,简称:EOS)是指用于嵌入式系统的...

发表于 2018-04-08 14:36 116次阅读
嵌入式操作系统是什么_嵌入式操作系统有哪些

嵌入式stm32IAR中eww、ewp、ewd···等各文件的含义和用途

发表于 2018-04-08 13:19 170次阅读
嵌入式stm32IAR中eww、ewp、ewd···等各文件的含义和用途

优化嵌入式软件的七个技巧,不同应用程序的优化需求...

如果没有合适的测量工具,优化一个系统是很困难的。举例来说,如果不使用一种精确的方法来测量系统和微控制...

发表于 2018-04-08 11:21 133次阅读
优化嵌入式软件的七个技巧,不同应用程序的优化需求...

基于DAC7714的嵌入式激光跟踪仪设计

在基于AT91RM9200处理器的某嵌入式激光跟踪仪中,为了实现目标的快速、平稳跟踪,需要控制两路电...

发表于 2018-04-08 11:03 42次阅读
基于DAC7714的嵌入式激光跟踪仪设计

基于SoPC 技术的片上嵌入式Nios Ⅱ软核六...

嵌入式系统的核心是RISC 处理器,具有代表性的RISC软核处理器是Nios Ⅱ处理器。软核处理器是...

发表于 2018-04-07 09:27 39次阅读
基于SoPC 技术的片上嵌入式Nios Ⅱ软核六...

嵌入式学习的学习规划介绍

太多细节未说明,可根据实际情况调整。重点在于1、3,不必完全按照顺序作。对于学习c++,理由是c++...

发表于 2018-04-06 19:09 92次阅读
嵌入式学习的学习规划介绍

一款随Linux内核代码维护的性能诊断工具

Perf Event 是一款随 Linux 内核代码一同发布和维护的性能诊断工具,由内核社区维护和发...

发表于 2018-04-06 09:23 1264次阅读
一款随Linux内核代码维护的性能诊断工具

基于DevOps工具链设计过程及前后效果对比

某项目是为配合大视频运维推出的一个项目,需求和任务管理停留在原始的ts上,项目依托svn进行代码管理...

发表于 2018-04-05 09:08 1566次阅读
基于DevOps工具链设计过程及前后效果对比

一文看懂嵌入式app和开发式app的区别是什么

传统意义上来说,APP这个简写的英文名称之所以会如此流行,主要是因为移动互联网的快速崛起。移动互联网...

发表于 2018-04-04 09:38 169次阅读
一文看懂嵌入式app和开发式app的区别是什么

低成本开发系统现在正处于物联网期望膨胀峰值期

预测物联网平台将在一年内充斥大众市场,在接下来的二至五年内,差异化或专业化的高精度传感器和模拟信号链...

发表于 2018-04-04 09:04 1561次阅读
低成本开发系统现在正处于物联网期望膨胀峰值期

物联网连接、处理、感应和安全功能于一身

一款简化物联网(IoT)产品设计的一体化软件工具套件。全新ModusToolbox™套件在业界熟悉且...

发表于 2018-04-04 08:48 1918次阅读
物联网连接、处理、感应和安全功能于一身

嵌入式STM32F412擦除内部FLASH时间过长

发表于 2018-04-03 13:24 197次阅读
嵌入式STM32F412擦除内部FLASH时间过长

对于刚入门ARM嵌入式的一些建议

对于学硬件的人而言,必须先对硬件的基本使用方法有感性的认识,更必须深刻认识该硬件的控制方式.

发表于 2018-04-03 11:36 170次阅读
对于刚入门ARM嵌入式的一些建议

考一考你!这三道嵌入式Linux题你会吗?来做一...

题一: 解释命令ls -a | more具体含义. 思考过后,再到下方寻找答案 题二: GCC -g...

发表于 2018-04-03 11:22 105次阅读
考一考你!这三道嵌入式Linux题你会吗?来做一...

嵌入式选择用C语言开发的原因

面向对象程序设计可以看作一种在程序中包含各种独立而又互相调用的对象的思想,这与传统的思想刚好相反:传...

发表于 2018-04-03 10:54 114次阅读
嵌入式选择用C语言开发的原因

关于磁场检测仪的嵌入式软件各模块协同开发

Bus Hound可以用来分析USB总线数据协议、捕获I/O动作等。同时,也可以传送用户编写的命令...

发表于 2018-04-03 10:37 59次阅读
关于磁场检测仪的嵌入式软件各模块协同开发

【寻找IoT达人 第一期】LiteOS对接云平台,报名开启!

发表于 2018-04-03 10:21 176次阅读
【寻找IoT达人 第一期】LiteOS对接云平台,报名开启!

12种最热门的开源项目,你都知道哪些?

GitHub 上最热门的开源项目有哪些,又有哪些新的项目挤进热门榜单了呢,一起来看看。

发表于 2018-04-03 08:38 1151次阅读
12种最热门的开源项目,你都知道哪些?

采用Zynq UltraScale+MPSoC进...

ZCU104 评估套件可帮助设计人员为监控、高级驾驶员辅助系统 (ADAS)、机器视觉、增强实境 (...

发表于 2018-04-03 08:30 2247次阅读
采用Zynq UltraScale+MPSoC进...

AMD不断扩展ZEN架构处理器平台

在此基础上,AMD公司下一里程碑事件就是把目前建立的这些优势和能力,包括刚才讲到基于ZEN架构处理器...

发表于 2018-04-02 09:38 258次阅读
AMD不断扩展ZEN架构处理器平台

系统关键技术通用评估平台,轻松集成FPGA设计

系统设计有时十分复杂,需要充分了解许多不同的元件,如果解决方案的各环节可以进行原型制作并快速演示,就...

发表于 2018-04-02 09:33 1996次阅读
系统关键技术通用评估平台,轻松集成FPGA设计

学习嵌入式应用层开发的几大阶段

变成高手,你还要进一步学习内核和系统,内容包括计算机系统结构和汇编,linux内核编程,linux内...

发表于 2018-04-02 09:17 217次阅读
学习嵌入式应用层开发的几大阶段

2018中国IC领袖峰会纪实报道:在AI时代,中...

从制造能力来说,中国半导体制造和国外还存在1到2代的差距。这也是中国IC设计业主要使用外部资源的原因...

发表于 2018-04-02 08:56 337次阅读
2018中国IC领袖峰会纪实报道:在AI时代,中...

自制物联网智能设备-手机远程控制两路电机的转向和...

导读: 利用物联网开关与51单片机通信,然后控制两个电机的转向和转速。 01准备材料 物联网开关、5...

发表于 2018-04-01 09:11 85次阅读
自制物联网智能设备-手机远程控制两路电机的转向和...

使用FreeRTOSViewer跟踪调试Free...

本文介绍一种基于 MPLAB X IED+Harmony 下使用 FreeRTOSViewer 工具...

发表于 2018-04-01 08:19 1017次阅读
使用FreeRTOSViewer跟踪调试Free...

Linux设备驱动程序与编写应用程序的本质区别

Linux驱动程序的开发与应用程序的开发有很大的区别。

发表于 2018-03-31 08:18 950次阅读
Linux设备驱动程序与编写应用程序的本质区别

stm32如何制作一个读取U盘文件系统的工程

发表于 2018-03-30 15:29 282次阅读
stm32如何制作一个读取U盘文件系统的工程

MiniGUI与嵌入式系统的关系 MiniGUI...

,MiniGUI是分层设计的,层次结构如图2所示。在底层,GAL和IAL为MiniGUI提供了底层的...

发表于 2018-03-30 14:27 96次阅读
MiniGUI与嵌入式系统的关系 MiniGUI...

嵌入式操作系统都基于GCC进行源码编译

系统头文件是指C语言本身和操作系统相关的头文件。在使用-v选项获取系统头文件路径时,必须后面带一个有...

发表于 2018-03-30 13:57 132次阅读
嵌入式操作系统都基于GCC进行源码编译

为5G做好准备,两种5G技术的故事

“5G代表了自动驾驶体验所需的基础技术,”联电公司(UMC)市场部副总裁Steven Liu表示。 ...

发表于 2018-03-29 15:47 288次阅读
为5G做好准备,两种5G技术的故事

嵌入式STM32F030低温下RTC不工作

发表于 2018-03-29 15:01 298次阅读
嵌入式STM32F030低温下RTC不工作

Java、云计算、嵌入式等史上最全技术知识图谱秘...

28张,张张经典、实用、全面,比如Java架构师图谱,微服务架构秘籍,阿里巴巴常用小框架等等。

发表于 2018-03-29 14:18 485次阅读
Java、云计算、嵌入式等史上最全技术知识图谱秘...

STM32内存管理以及STM32中的堆栈

这个是MDK编译之后能够得到的每个段的大小,也就能得到占用相应的FLASH和RAM的大小,但是还有两...

发表于 2018-03-29 13:45 344次阅读
STM32内存管理以及STM32中的堆栈

基于ARM-Linux架构的远程可控电源插座设计...

光电耦合器选用MOC3062,它集光电隔离、过零检测和过零触发为一体,可以自动检测交流电压的过零...

发表于 2018-03-29 13:43 92次阅读
基于ARM-Linux架构的远程可控电源插座设计...

儒卓力首次到深圳参展业界盛事CITE 2018

全球电子元器件分销商兼亚洲电子供应链中的知名厂商儒卓力(Rutronik Elektronische...

发表于 2018-03-28 14:45 1038次阅读
儒卓力首次到深圳参展业界盛事CITE 2018

stm32之串口工作在DMA模式下有时接收异常

发表于 2018-03-28 13:32 374次阅读
stm32之串口工作在DMA模式下有时接收异常

嵌入式神经网络赋予人工智能视觉、听觉和分析能力

随着专用的处理器和软件的崛起,为开发具备人工智能的嵌入式系统敞开了大门。

发表于 2018-03-28 10:22 655次阅读
嵌入式神经网络赋予人工智能视觉、听觉和分析能力

嵌入式USB主机系统设计

本论文设计了一种嵌入式USB主机系统,并完成了该系统的硬件和固件的实现和调试。为了验证系统,实现了打...

发表于 2018-03-27 10:43 88次阅读
嵌入式USB主机系统设计

学嵌入式能不能只用C写程序?

想深入链接C语言的函数是如何调用的,参数是如何传递的,想了解指针的本质、函数名的本质,就要深入汇编级...

发表于 2018-03-26 08:34 242次阅读
学嵌入式能不能只用C写程序?

嵌入式Wi-F的来源以及与普通Wi-Fi的区别

现在我们可以这样来看,从硬件层面上看,WIFI设备与CPU通信是通过USB接口的,与其他WIFI设备...

发表于 2018-03-24 11:18 1533次阅读
嵌入式Wi-F的来源以及与普通Wi-Fi的区别

基于CK802安全内核开发出面向物联网安全的商业...

中天微积极布局AI领域的嵌入式CPU IP研发与推广,其针对AI领域的新一代CPU内核系列将于近期推...

发表于 2018-03-24 10:27 495次阅读
基于CK802安全内核开发出面向物联网安全的商业...

微程序控制器的结构及嵌入式FPU微指令控制模块设...

本微指令控制器的存储模块,有8bit地址输入和64位数据输出用于管理和控制整个FPU工作。64位微指...

发表于 2018-03-24 10:01 139次阅读
微程序控制器的结构及嵌入式FPU微指令控制模块设...

嵌入式Linux内存管理的一些知识点总结

发表于 2018-03-24 09:31 234次阅读
嵌入式Linux内存管理的一些知识点总结

学习嵌入式Linux内存管理的知识

malloc实际上,并不是用户调用malloc后马上对物理地址与虚拟地址之间进行映射,只有在用户对...

发表于 2018-03-23 13:35 281次阅读
学习嵌入式Linux内存管理的知识

整理总结一份属于自己的编码风格

· Lib:引用的库文件。 一个工程一定要包含一个main.c文件,只用来存放main函数。其余函...

发表于 2018-03-23 11:48 238次阅读
整理总结一份属于自己的编码风格

嵌入式Linux开发工程师的成长过程

系统工程师夹在驱动工程师及应用工程师这两个层次之间,他要对系统有一个整体的概念,系统主要是指操作系统...

发表于 2018-03-23 11:39 352次阅读
嵌入式Linux开发工程师的成长过程

江湖流传的“ EtherCAT技术武林会 ”

发表于 2018-03-23 11:25 214次阅读
江湖流传的“ EtherCAT技术武林会 ”

移动和嵌入式设备上也能直接玩机器学习?

最近,机器学习(ML)话题大热,Arm也推出神经网络机器学习软件 Arm NN。这是一项关键技术,可...

发表于 2018-03-22 16:36 614次阅读
移动和嵌入式设备上也能直接玩机器学习?

嵌入式Linux工具之GCC常用编译选项

“-I dir”选项可以在头文件的搜索路径列表中添加 dir 目录。由于 Linux 中头文件都默认...

发表于 2018-03-22 11:16 298次阅读
嵌入式Linux工具之GCC常用编译选项

开发板设计中CMOS输入可能发生的耗电问题

想象CMOS输入属于一个栅极驱动器的情况,该栅极驱动器控制一个高功率MOSFET/IGBT,后者在应...

发表于 2018-03-22 09:09 1293次阅读
开发板设计中CMOS输入可能发生的耗电问题

熟悉开发板和体验

发表于 2018-03-21 10:34 397次阅读
熟悉开发板和体验

开发高可靠性嵌入式系统的7个易操作且可以长久使用...

对嵌入式工程师来说一个很大的好处是,我们的IDE和工具链可以自动产生应用程序或内存空间校验和(Che...

发表于 2018-03-21 08:37 1188次阅读
开发高可靠性嵌入式系统的7个易操作且可以长久使用...

CX5010嵌入式控制器:高性能,多接口

在控制方面,华恒公司全面应用了Beckhoff的自动化产品:整个工厂都配备了用于控制的面板型PC和...

发表于 2018-03-20 16:31 426次阅读
CX5010嵌入式控制器:高性能,多接口

嵌入式Linux的入门,开发嵌入式需要大量辅助软...

熟练掌握C/C++,熟悉Linux/Windows操作系统,对于OS的软、硬件资源的分配、任务调度,...

发表于 2018-03-20 11:37 486次阅读
嵌入式Linux的入门,开发嵌入式需要大量辅助软...

约会“可交互的高端物联网嵌入式平台——QFN-3...

作者:上海润欣科技股份有限公司创研社 导语 QFN-3由Fortune、NXP、Qualcomm共同...

发表于 2018-03-20 09:49 298次阅读
约会“可交互的高端物联网嵌入式平台——QFN-3...

使用MaxCompute阿里大数据计算方法详解

基于MaxCompute搭建社交好友推荐系统,使用MaxCompute阿里的大数据计算的方法可以做哪...

发表于 2018-03-19 09:53 1215次阅读
使用MaxCompute阿里大数据计算方法详解

Linux驱动工程面试必问知识点

一看就知道,找工作用的,主要想从事驱动方面的开发工作,当然追求linux的道路还很漫长,先说说面试,...

发表于 2018-03-17 10:09 640次阅读
Linux驱动工程面试必问知识点

MicroBlaze软核处理器简介

MicroBlaze 是高度可配置的 IP 核,支持 70 多种配置选项。一些重要的配置选项为指令/...

发表于 2018-03-16 16:10 464次阅读
MicroBlaze软核处理器简介

AMD嵌入式发力边缘计算

自2016年开始,一条沉睡的巨龙 AMD 开始慢慢苏醒。也正是因为GPU时代的到来,让AMD在过去一...

发表于 2018-03-16 15:15 100次阅读
AMD嵌入式发力边缘计算

基于Au1200的嵌入式媒体播放器实现

(1)未来PMP将会增加硬件编码功能,配合摄像头,PMP将实现拍照和摄像功能;配合TV接收模块,可以...

发表于 2018-03-16 14:40 234次阅读
基于Au1200的嵌入式媒体播放器实现

基于LPC2368嵌入式的软件设计

为了能让学生充分接触到ARM板的硬件设计,更好的实现教学目的,该实验平台采用核心板和扩展板硬件分离设...

发表于 2018-03-16 11:56 154次阅读
基于LPC2368嵌入式的软件设计

嵌入式Linux驱动开发基础总结(下篇)

14, 字符设备驱动程序设计基础主设备号和次设备号(二者一起为设备号): 一个字符设备或块设备都有一...

发表于 2018-03-15 09:17 440次阅读
嵌入式Linux驱动开发基础总结(下篇)

嵌入式Linux驱动开发基础总结(上篇)

1, linux驱动一般分为3大类:* 字符设备 * 块设备 * 网络设备2, 开发环境构建:* 交...

发表于 2018-03-15 09:14 584次阅读
嵌入式Linux驱动开发基础总结(上篇)

感受智能汽车世界的最新科技是多么酷炫

慕展作为行业盛会,果然名不虚传,现场人头攒动,十分热闹!随着汽车的大量普及,人们对车辆的智能性以及安...

发表于 2018-03-15 09:08 664次阅读
感受智能汽车世界的最新科技是多么酷炫

低功耗嵌入式供水终端漏水监测系统及组网设计

监控节点主要包括嵌入式工控模板、超声流量检测模块、热释电人体探测模块、无线收发电路、声光报警电路、电...

发表于 2018-03-14 14:10 264次阅读
低功耗嵌入式供水终端漏水监测系统及组网设计

与一线Linux嵌入式开发工程师的对话

陈工程师一直做Linux的嵌入式开发,作为在开发一线的工程师,他对很多问题的看法可能更切合实际需求,...

发表于 2018-03-14 07:43 339次阅读
与一线Linux嵌入式开发工程师的对话

相对于互联网而言,物联网的本质在于“万物相连”

在最低层的硬件平台之上,有物联网操作系统内核和外围功能模块,加上集成开发环境,这些子系统之间相互配合...

发表于 2018-03-13 10:09 725次阅读
相对于互联网而言,物联网的本质在于“万物相连”

Qualcomm扩展嵌入式计算产品组合将顶级处理...

2018年2月21日,圣迭戈——QualcommIncorporated(NASDAQ: QCOM)...

发表于 2018-03-13 09:56 78次阅读
Qualcomm扩展嵌入式计算产品组合将顶级处理...

瑞萨Renesas Synergy™ 一站式解...

Renesas Synergy™ 平台的完整一站式解决方案和Synergy™ Gallery,不仅有...

发表于 2018-03-12 14:45 583次阅读
 瑞萨Renesas Synergy™ 一站式解...

嵌入式硬件工程师的年终总结:生活虐我千百遍,我待...

又到年底总结了,我自问:2017年,你成长了吗?去年九月,我以年轻还有无限可能的名义来到了北京,我觉...

发表于 2018-03-12 10:33 519次阅读
嵌入式硬件工程师的年终总结:生活虐我千百遍,我待...

操作系统的内核都是用C语言写的_这不全是嵌入式选...

以一个人从A地到B地为例,面向过程就是需要规划路线,了解路况,自己做好一系列的准备;而面向对象就是坐...

发表于 2018-03-11 20:03 294次阅读
操作系统的内核都是用C语言写的_这不全是嵌入式选...

一位以linux为例的嵌入式大神的学习心得总结(...

嵌入式分为广义和狭义两种。广义的嵌入式就是片上系统(system on a chip),包括单片机、...

发表于 2018-03-09 16:27 493次阅读
一位以linux为例的嵌入式大神的学习心得总结(...

指纹识别在嵌入式IoT系统中的实现和设计要点

作者:上海润欣科技股份有限公司创研社 前言 随着指纹识别在智能手机上面的普及,指纹识别技术在越来越多...

发表于 2018-03-09 10:08 870次阅读
指纹识别在嵌入式IoT系统中的实现和设计要点

三种常见嵌入式设备通信协议

嵌入式设备与PC通讯的通信协议设计经验 嵌入式设备在运行中需要设置参数,这个工作经常由PC机来实现。

发表于 2018-03-06 10:06 877次阅读
三种常见嵌入式设备通信协议

还不错!装有移动设备和嵌入式设备的神经网络机器学...

Arm宣布推出神经网络机器学习(ML) 软件 Arm NN,这只是第一步,我们还计划添加其他高级神经...

发表于 2018-03-06 09:26 462次阅读
还不错!装有移动设备和嵌入式设备的神经网络机器学...

网民对嵌入的了解

人觉得其实互联网中真正有技术含量的就是后台开发,包括集群架构与优化,分布式系统和云计算等,

发表于 2018-03-05 16:28 97次阅读
网民对嵌入的了解

三道嵌入式Linux复习题

题一:在大多数linux发行版本中,以下哪个属于块设备 (block devices) ? a....

发表于 2018-03-05 15:28 132次阅读
三道嵌入式Linux复习题

《通过SensorTile了解嵌入式系统》

SensorTile包括5个实用的MEMS传感器,

发表于 2018-03-05 14:32 143次阅读
《通过SensorTile了解嵌入式系统》

嵌入式Linux内核编译步骤和经验

不过这应该也不是必须的,因为我在我的Fedora 13上(其自带的内核版本是2.6.33.3),就下...

发表于 2018-03-05 14:26 642次阅读
嵌入式Linux内核编译步骤和经验

嵌入式的由来和发展

对嵌入式的发展起到至关重要的人物Jim Ready

发表于 2018-03-05 13:49 176次阅读
嵌入式的由来和发展

嵌入式驱动的构造分析总结

在Linux系统上编写驱动程序,说简单也简单,说难也难。难在于对算法的编写和设备的控制方面,是比较让...

发表于 2018-03-03 09:23 540次阅读
嵌入式驱动的构造分析总结

嵌入式开发中可能会碰到的一些问题

1、单片机等小的外部总线单片机等小的MCU一般都有外部总线,可以用来接真彩LCD(异步总线接口TFT...

发表于 2018-03-02 14:04 547次阅读
嵌入式开发中可能会碰到的一些问题

嵌入式Linux复习题精华

题一: led驱动编写有几种方式?思考过后,再到下方寻找答案 题二: bootloader和uboo...

发表于 2018-03-02 11:21 452次阅读
嵌入式Linux复习题精华

嵌入式硬件电路设计基础知识梳理

今天就说说硬件电路设计方面的几个注意事项,首先,咱们了解下嵌入式的硬件构架。

发表于 2018-03-01 15:16 551次阅读
嵌入式硬件电路设计基础知识梳理

一文了解stm32使用DMA模块的相关操作

CPU最重要的工作室进行数据运算,从加减乘除到一些高级的运算,包括浮点、积分、微分、FFT等。CPU...

发表于 2018-02-27 11:18 3354次阅读
一文了解stm32使用DMA模块的相关操作

你知道嵌入式c中各变量存储位置吗

在进行C/C++编程时,需要程序员对内存的了解比较精准。经常需要操作的内存可分为以下几个类别: ...

发表于 2018-02-24 13:53 725次阅读
你知道嵌入式c中各变量存储位置吗

如何定制嵌入式Linux发行版

便宜的物联网板的普及意味着它不仅会控制应用程序,还会控制整个软件平台。 那么,如何构建一个针对特定用...

发表于 2018-02-24 10:37 395次阅读
如何定制嵌入式Linux发行版

嵌入式设计开发中的常见问题小总结

单片机等小的外部总线单片机等小的MCU一般都有外部总线,可以用来接真彩LCD(异步总线接口TFT显示...

发表于 2018-02-24 10:23 1428次阅读
嵌入式设计开发中的常见问题小总结

如何在MPC8247处理器上开发嵌入式电力交换系...

本文首先介绍了基于 MPC8247 的嵌入式 电力交换系统 的硬件平台,着重阐述了如何在MPC82...

发表于 2018-02-10 09:16 5次阅读
如何在MPC8247处理器上开发嵌入式电力交换系...

基于嵌入式系统中看门狗的原理与使用

在产品化的嵌入式系统中,为了使系统在异常情况下能自动复位,一般都需要引入看门狗。

发表于 2018-02-08 18:27 1074次阅读
基于嵌入式系统中看门狗的原理与使用

很全面的嵌入式开发与学习的入门知识

刚刚涉及嵌入式开发者总是先阅读一些指导类型文章,然后就开始对开发语言的选择踌躇不决。是C 还是C++...

发表于 2018-02-08 16:55 1475次阅读
很全面的嵌入式开发与学习的入门知识