物联网与嵌入式专业基础概念

 <目录>

1、模拟信号,数字信号及其转换

2、FPGA及其学习方法

3、电脑休眠、睡眠与待机

4、433M与2.4G

5、X86与X86-64、RAM与ROM

6、摩尔定律、阻抗、马太效应

7、SoC bring-up

1、模拟信号是指用连续变化的物理量所表达的信息,如温度、湿度、压力、长度、电流、电压等等,它在一定的时间范围内可以有无限多个不同的取值。模拟信号一般通过PCM脉码调制(PulseCode Modulation)方法量化为数字信号,即让模拟信号的不同幅度分别对应不同的二进制值,例如采用8位编码可将模拟信号量化为2^8=256个量级,实用中常采取24位或30位编码;数字信号一般通过对载波进行移相(Phase Shift)的方法转换为模拟信号。

信号采样也称抽样,是信号在时间上的离散化,即按照一定时间间隔△t在模拟信号x(t)上逐点采取其瞬时值。在数字信号处理领域,量化指将信号的连续取值(或者大量可能的离散取值)近似为有限多个(或较少的)离散值的过程。连续信号经过采样成为离散信号,离散信号经过量化即成为数字信号。注意离散信号通常情况下并不需要经过量化的过程,但可能在值域(比如区间取值)上并不离散,还是需要经过量化的过程。信号的采样和量化通常都是由ADC实现的。

模数转换器即A/D转换器,或简称ADC,通常是指一个将模拟信号转变为数字信号的电子元件。通常的模数转换器是将一个输入电压信号转换为一个输出的数字信号。

模拟数字转换器的分辨率是指,对于允许范围内的模拟信号,它能输出离散数字信号值的个数。这些信号值通常用二进制数来存储,因此分辨率经常用比特作为单位,且这些离散值的个数是2的幂指数。例如,一个具有8位分辨率的模拟数字转换器可以将模拟信号编码成256个不同的离散值(因为28 = 256),从0255(即无符号整数)或从-128127(即带符号整数),至于使用哪一种,则取决于具体的应用。

2、FPGA(Field-Programmable Gate Array),即现场可编程门阵列,FPGA一般来说比ASIC(专用集成电路)的速度要慢,实现同样的功能比ASIC电路面积要大。但是他们也有很多的优点比如可以快速成品,可以被修改来改正程序中的错误和更便宜的造价。厂商也可能会提供便宜的但是编辑能力差的FPGA。因为这些芯片有比较差的可编辑能力,所以这些设计的开发是在普通的FPGA上完成的,然后将设计转移到一个类似于ASIC的芯片上FPGA以并行运算为主,相比于PC或单片机(无论是冯诺依曼结构还是哈佛结构)的顺序操作有很大区别,也造成了FPGA开发入门较难。FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输入输出模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。 FPGA利用小型查找表(16×1RAM)来实现组合逻辑,每个查找表连接到一个D触发器的输入端,触发器再来驱动其他逻辑电路或驱动I/O,由此构成了既可实现组合逻辑功能又可实现时序逻辑功能的基本逻辑单元模块,这些模块间利用金属连线互相连接或连接到I/O模块。FPGA的逻辑是通过向内部静态存储单元加载编程数据来实现的,存储在存储器单元中的值决定了逻辑单元的逻辑功能以及各模块之间或模块与I/O间的联接方式,并最终决定了FPGA所能实现的功能,FPGA允许无限次的编程

FPGA基础是数字电路和VHDL语言,建议都有一本数字电路的书。初学者学习Verilog语言,VHDL语言语法规范严格,调试起来很慢,Verilog语言容易上手,一般大型企业都是用Verilog语言,VHDL语言规范,易读性强,所以一般军工都用VHDL。对于初学者,要求我们熟悉一些固定模块的写法。在学习FPGA开发过程,首先要对电路设计熟悉,明白电路的工作过程:电路是并行执行。FPGA学习要多练习,多仿真,signaltapII是很好的工具,可以看到每个信号的真实值,建议初学者一定要自己多动手,光看书是没用的。关于英文文档问题,如果要学会Quartus II的所有功能,只要看它的handbook就可以了,很详细。做FPGA的工程师,最后一般都是专攻算法了,对于初学者,数字信号处理是基础,应该好好理解,不用什么都学,根据你以后从事的方向,比如说通信、图像处理,雷达、声纳、导航定位等。

这样学习FPGA最有效:

1)熟悉语法,其实你不需要什么都会,但是要记住几个经典的时序,逻辑电路的描述方式。 2)熟悉三个经典电路描述并仿真。三个经典电路分别是,分频器,计数器(可做一个时钟),序列检测器。3)知道了FPGA学习主要不在于编程!Verilog是硬件描述语言!描述!!写代码时脑子里必须有电路图!!知道FPGA主要学的是硬件和算法!!软件最多能占10%就不错了!!

3、电脑休眠、睡眠与待机

休眠是将当前处于运行状态的数据保存在硬盘中,整机将完全停止供电。

此时电脑几乎和通常关机一样“安静”,你完全可以切断电源,因为保存到硬盘里面的数据不会由于断电而丢失!与待机相比,休眠是不能通过外部设备来唤醒的,它和正常开机一样启动电脑;不过和开机相比,休眠后启动电脑无需一个一个进程地来启动,只须要将硬盘中的内存镜像读取到内存中即可。

    睡眠是Windows Vista中的新模式,将系统切换到睡眠状态后,系统会将内存中的数据全部转存到硬盘上的休眠文件中(这一点类似休眠),然后关闭除了内存外所有设备的供电,让内存中的数据依然维持着(这一点类似待机)。这样,当我们想要恢复的时候,如果在睡眠过程中供电没有发生过异常,就可以直接从内存中的数据恢复(类似待机),速度很快;但如果睡眠过程中供电异常,内存中的数据已经丢失了,还可以从硬盘上恢复(类似休眠),只是速度会慢一点。不过无论如何,这种模式都不会导致数据丢失。

将系统切换到待机后,除了内存,电脑其他设备的供电都将中断,只有内存依靠电力维持着其中的数据(因为内存是易失性的,只要断电,数据就没有了)。这样当希望恢复的时候,就可以直接恢复到待机前状态。这种模式并非完全不耗电,因此如果在待机状态下供电发生异常(例如停电),那么下一次就只能重新开机,所以待机前未保存的数据都会丢失。但这种模式的恢复速度是最快的,一般五秒之内就可以恢复。

4、下式为无线信号在空气中传输时的损耗计算公式: 

Los = 32.44 + 20lg d(Km) + 20lg f(MHz)  Los 是传输损耗,单位为dB  d是距离,单位是Km ; f是工作频率,单位是MHz 

可见,传输损耗与频率成正比,即频率越高传输损耗越大;或者说在同样传输损耗情况下,传输距离与频率成反比,即频率越高,传输距离越短。 目前的2.4G设备信号传输距离短(一般10~30米,可靠通讯距离10米),传输过程衰减大,信号穿透、绕射能力弱。 

433M信号强,传输距离长,穿透、绕射能力强,传输过程衰减较小。

2.4G数据传输速率较高(250kbps),433M速率较低(100kbps)。

目前所采用的射频收发芯片, 2.4GHz技术的先进性实际体现在基于该频点上所开发的带有复杂智能协议的应用,如无线局域网、蓝牙、无线传感器网络ZigBee等,它们的先进性体现在复杂的协议和应用上,如智能网络和自组网技术等而绝不是体现在射频收发采用了2.4GHz这个频率。

 Kbps又称比特率,指的是数字信号传输传输时单位时间传送的数据位数,一般我们用的单位是kbps即千位每秒。Kbps也可以表示网络的传输速度,为了在直观上显得网络的传输速度较快,一般公司都使用kb(千位)来表示,如果是KBps,则表示每秒传送多少千字节。1KByte/s=8Kbps。ADSL(ADSL技术提供的上行和下行带宽不对称,因此称为非对称数字用户线路)上网时的网速是512Kbps,如果转换成字节,就是512/8=64KByte(即64千字节每秒)

由于2.4GHz频段在国际上和国内都是无需许可证的开放频段,因此在此频段开发了许多应用,这一频段已十分拥挤。目前在2.4GHz频段上开发的应用主要有:无线局域网、蓝牙、ZigBee无线传感器网络、部分无绳电话以及其他一些短距离无线通讯设备等。而433M数据发射模块的工作频率为315M/433MHz,采用声表谐振器SAW稳频,频率稳定度极高,当环境温度在-25~+85度之间变化时,频飘仅为3ppm/度。

5、X86是由Intel推出的一种复杂指令集,用于控制芯片的运行的程序。x86架构有32位和64位两种。x64(x86-64)就是64位,x86就是32位,32位计算机的CPU一次最多能处理32位数据,64位处理器每次处理 8Byte(64bit)。2003年AMD对X86架构发展了64位的扩充,并命名为AMD64。后来英特尔也推出了与之兼容的处理器,并命名为Intel 64。两者一般被统称为x86-64或x64。

值得注意的是英特尔早在1990年代就与惠普合作提出了一种用在安腾系列处理器中的独立的64位架构,这种架构被称为IA-64。IA-64是一种崭新的系统,和x86架构完全没有相似性;不应该把它与x86-64或x64弄混。

目前市面上的CPU分类主要分有两大阵营,一个是intel、AMD为首的复杂指令集CPU,另一个是以IBM、ARM为首的精简指令集CPU。两个不同品牌的CPU,其产品的架构也不相同,例如,Intel、AMD的CPU是X86架构的,而IBM公司的CPU是PowerPC架构,ARM公司是ARM架构。

RAM-RamdomAccessMemory易挥发性随机存取存储器,高速存取,读写时间相等,且与地址无关,如计算机内存等。

ROM-Read Only Memory只读存储器。存取速度很低,(较RAM而言)且不能改写。断电后信息不丢失,如计算机启动用的BIOS芯片。

6、摩尔定律是由英特尔(Intel)创始人之一戈登·摩尔(Gordon Moore)提出来的。其内容为:当价格不变时,集成电路上可容纳的元器件的数目,约每隔18-24个月便会增加一倍,性能也将提升一倍。换言之,每一美元所能买到的电脑性能,将每隔18-24个月翻一倍以上。随着器件尺寸越来越接近物理极限,研发新一代的工艺节点时,仅缩小器件尺寸是不够的。多家研究机构和半导体公司都在试图改善晶体管结构设计,以尽可能地延续摩尔定律。想要提高微处理器的性能,就需要按比例缩小电路中的元件尺寸,以允许更多的电路能够封装到芯片中,并进而加快电子的移动速度(处理速度)。想要缩小尺寸就势必需要改进光刻技术(在硅表面上进行刻蚀的一种基础性微处理器工艺技术)。

阻抗(electricalimpedance)是电路中电阻、电感、电容对交流电的阻碍作用的统称。阻抗衡量流动于电路的交流电所遇到的阻碍。阻抗将电阻的概念加以延伸至交流电路领域,不仅描述电压与电流的相对振幅,也描述其相对相位。当通过电路的电流是直流电时,电阻与阻抗相等,电阻可以视为相位为零的阻抗。

马太效应的名字来源于圣经《新约·马太福音》中的一则寓言:从前,一个国王要出门远行,临行前,交给3个仆人每人一锭银子,吩咐道:“你们去做生意,等我回来时,再来见我。”国王回来时,第一个仆人说:“主人,你交给我的一锭银子,我已赚了10锭。”于是,国王奖励他10座城邑。第二个仆人报告:“主人,你给我的一锭银子,我已赚了5锭。”于是,国王奖励他5座城邑。第三仆人报告说:“主人,你给我的1锭银子,我一直包在手帕里,怕丢失,一直没有拿出来。于是,国王命令将第三个仆人的1锭银子赏给第一个仆人,说:“凡是少的,就连他所有的,也要夺过来。凡是多的,还要给他,叫他多多益善。”这就是“马太效应”,反映当今社会中存在的一个普遍现象,即赢家通吃。

马太效应(Matthew Effect),指强者愈强、弱者愈弱的现象。早在公元前500多年以前,中国古代哲学家老子就已经提出类似的思想:“天之道,损有余而补不足。人之道则不然,损不足以奉有余。”马太效应”正是老子思想中的“人之道”思想,而“天之道”可用国家整体意志来比喻,国家意志表现为削弱范围内强的个体,补足其他弱势个体,两者正好是既对立又统一的。

美国科学史研究者罗伯特·莫顿(RobertK. Merton)归纳“马太效应”为:任何个体、群体或地区,在某一个方面(如金钱、名誉、地位等)获得成功和进步,就会产生一种积累优势,就会有更多的机会取得更大的成功和进步。

7、“SoC bring-up”通常指的是将操作系统移植到包含SoC芯片的新嵌入式系统的过程。 这包括以下任务:
1、通过编写低级测试代码来协助硬件调试,以运行内存和外设接口。
2、确保引导加载程序可以与特定引导设备通信,并验证整个引导过程是否正常工作。 这还可以包括编写允许将初始引导映像写入空白引导设备的驱动程序。
3、验证正在使用的特定外围设备是否存在操作系统级设备驱动程序。 这可能包括为特定应用程序硬件编写自定义驱动程序。
4、确保应用程序级代码的调试机制到位并正常工作。 这可能包括基于JTAG(硬件)的调试的某种组合或类似于通过网络接口运行的gdb。
总之,这些东西有时被称为“板支持包”或BSP。

你可能感兴趣的:(IoT,&,embedded)