单片机

来源:玩转单片机

单片机的40个引脚大致可分为4类:电源、时钟、控制和I/O引脚。

⒈ 电源:
⑴ VCC - 芯片电源,接+5V;
⑵ VSS - 接地端;
⒉ 时钟:XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。
⒊ 控制线:控制线共有4根,
⑴ ALE/PROG:地址锁存允许/片内EPROM编程脉冲
① ALE功能:用来锁存P0口送出的低8位地址
② PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。
⑵ PSEN:外ROM读选通信号。
⑶ RST/VPD:复位/备用电源。
① RST(Reset)功能:复位信号输入端。
② VPD功能:在Vcc掉电情况下,接备用电源。
⑷ EA/Vpp:内外ROM选择/片内EPROM编程电源。
① EA功能:内外ROM选择端。
② Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。
⒋ I/O线
80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。

拿到一块芯片,想要使用它,首先必须要知道怎样连线,我们用的一块称之为89C51的芯片,下面我们就看一下如何给它连线。
1、 电源:这当然是必不可少的了。单片机使用的是5V电源,其中正极接40管脚,负极(地)接20管脚。
2、 振蒎电路:单片机是一种时序电路,必须供给脉冲信号才能正常工作,在单片机内部已集成了振荡器,使用晶体振荡器,接18、19脚。只要买来晶体震荡器,电容,连上就能了,按图1接上即可。
3、 复位管脚:按图1中画法连好,至于复位是何含义及为何需要复要复位,在单片机功能中介绍。
4、 EA管脚:EA管脚接到正电源端。 至此,一个单片机就接好,通上电,单片机就开始工作了。

我们的第一个任务是要用单片机点亮一只发光二极管LED,显然,这个LED必须要和单片机的某个管脚相连,不然单片机就没法控制它了,那么和哪个管脚相连呢?单片机上除了刚才用掉的5个管脚,还有35个,我们将这个LED和1脚相连。(见图1,其中R1是限流电阻)

按照这个图的接法,当1脚是高电平时,LED不亮,只有1脚是低电平时,LED才发亮。因此要1脚我们要能够控制,也就是说,我们要能够让1管脚按要求变为高或低电平。即然我们要控制1脚,就得给它起个名字,总不能就叫它一脚吧?叫它什么名字呢?设计51芯片的INTEL公司已经起好了,就叫它P1.0,这是规定,不能由我们来更改。

2

名字有了,我们又怎样让它变'高'或变'低'呢?叫人做事,说一声就能,这叫发布命令,要计算机做事,也得要向计算机发命令,计算机能听得懂的命令称之为计算机的指令。让一个管脚输出高电平的指令是SETB,让一个管脚输出低电平的指令是CLR。因此,我们要P1.0输出高电平,只要写SETB P1.0,要P1.0输出低电平,只要写 CLR P1.0就能了。

现在我们已经有办法让计算机去将P10输出高或低电平了,但是我们怎样才能计算机执行这条指令呢?总不能也对计算机也说一声了事吧。要解决这个问题,还得有几步要走。第一,计算机看不懂SETB CLR之类的指令,我们得把指令翻译成计算机能懂的方式,再让计算机去读。计算机能懂什么呢?它只懂一样东西——数字。因此我们得把SETB P1.0变为(D2H,90H ),把CLR P1.0变为 (C2H,90H ),至于为什么是这两个数字,这也是由51芯片的设计者--INTEL规定的,我们不去研究。第二步,在得到这两个数字后,怎样让这两个数字进入单片机的内部呢?这要借助于一个硬件工具"编程器"。如果你还不知道是什么是编程器,我来介绍一下,就是把你在电脑上写出来来的代码用汇编器等编译器生成的一个目标烧写到单片机的eprom里面去的工具,80c51这种类型的单片机编程是一件很麻烦的事情,必要要先装到编程器上编程后才能在设备上使用,而目前最新的AT89s51或者STC89C51单片机能支持在线编程(isp)功能,不用拔出来利用简单的电路就可以实现把代码写入单片机内部,本站有详细的编程器制作教程下载。

下面我们来实战一下:下图(图2)所示的软件名字叫keil —>点此下载,是用来编写程序代码并生成一个可以写入到单片机芯片的Hex文件(我们人要控制单片机只能用汇编语言或者C语言而单片机不认识怎么办呢?所以keil这个软件就把程序语言转换成了一种特定格式的Hex文件,只要把这个文件下载到单片机芯片单片机就会按我们程序的思路来运行)

3

4

好了…… ,我们把 SETB P1.0 这条汇编语句用keil软件编译生成Hex文件,然后用图3所示的软件和图1所示的硬件(用串口连接电脑)下载到我们已经做好的电路板上的单片机芯片里去(图省事的话建议直接买个开发板),然后接通电源……什么?灯不亮?这就对了,因为我们写进去的指令就是让P10输出高电平,灯当然不亮,要是亮就错了。所以要将keil编缉区的内容改为CLR P1.0,重新编译生成Hex文件,重新下载,接电,好,灯亮了。因为我们写入的Hex就是让P10输出低电平的指令。这样我们看到,硬件电路的连线没有做任何改变,只要改变写入单片机中的内容,就能改变电路的输出效果。

围观 300

微控制器将在观光噪比(IoT)取向设计大多数因特网主控制元件和这些MCU将有可能被电池供电。电源效率将是实现可接受的电池寿命至关重要因此MCU将需要管理的电池使用更精确地比以往任何时候。许多MCU具有特殊的功能,帮助管理电池电量和使用这些功能优化可能使输赢在市场之间的差异。

本文将很快回顾一些实现高效电池的MCU产品设计,并说明所需的关键功能,例如使用的设备,这些功能如何提高工作效率和电池寿命。软件工具,帮助估计电池寿命将用于展示如何在您详细的设计实施估计寿命。这极大地有助于设备选择并且是一个关键的技术用于创建电源效率的设计。

管理电源域

电池的MCU实现时想我们最初可能,前提是有一个单一的MCU电源域,流失的电池,我们的目标是管理这个电源域打造最节能的微控制器实现成为可能。很快我们就会发现这种假设通常是假的,但是,即使是简单的MCU通常具有片上多电源域。事实证明,有多个电源域可以是一个很大的优势,当电源效率是最重要的,以我们的设计。具有多个域可以让我们更有效地管理和控制电源到MCU的是基于我们需要执行为特定实现的功能所需的部分。让我们来看一个具体的MCU,看多电源域怎么可能是有利的一个典型的电池供电的设计。

所述STM32F0x1系列MCU(例如,STM32F051K8U6)是STM32 MCU系列入门级装置,并且因此是可在基于电池的应用中经常使用的装置的一个很好的例子。下面的图1显示了为STM32F0x1 / X2设备的各种电源域。的VDDA域权力模拟导向块中的装置,并包括用于在A / D转换器,D / A转换器,温度传感器,复位发生器和时钟的PLL功能。该VDDIO2电源域可在STM32F04x / 7X / 9x的设备,并提供了一个独立的I / O电源轨时,不同的I / O标准需要得到支持(该电源电压范围为1.65〜3.6 V,以支付各种I / O标准)。主VDD功率域提供功率,以大量的装置。这包括在非STM32F04x / 7X / 9X设备的I / O环,待机电路和唤醒逻辑通常总是在,它也通过权力1.8 V数字核心(处理器,内存和数字外设)一个片上稳压器。

意法半导体STM32F0x1 / X2电源图片


图1:STM32F0x1 / X2电源显示电池备份域。 (意法半导体提供)

最终的电源域,从外部VBAT引脚源,提供电源备份域。备份功能包括一个低能量的32 kHz晶振时钟振荡器,备份寄存器保持其值,即使电源中断,给设备的其他部分(方便保存重要的数据,系统复位和电源之间波动),而真正的-time时钟(RTC)的块。一个低电压检测器可以自动切换到在VBAT输入时在VDD信号低于设定的阈值,以简化电池备份实现。

这些独立电源域可以很容易地控制和管理传送到MCU根据由应用程序所需的动作时的功率。例如,如果设备正在等待的RTC信号它的时刻开始的模拟 - 数字,大部分装置可以掉电只用电池备份域操作。该RTC超时可以切换的I / O信号,提醒外部电源管理器件,然后可以打开额外的电源域。这可以是一个非常功率高效的技术,但需要一个外部功率和电池管理装置。

在一些应用中STM32F0x1 / X2器件将通过将装置的各个部分进入低功率模式,管理的时钟频率和测量电压源管理电池和电源,以在其自己的密钥块,以检测何时低电压电平可能会影响操作。在这些应用程序的多个片上电压域和低功耗工作模式都是关键要求。现在让我们看看在低功耗模式,更详细地了解他们与多个芯片的电源域是如何工作的进一步提高电池的实现方案的电源效率。
为了帮助工程师设计开发意法半导体提供的STM32F0系列的产品培训模块概述。

低功耗MCU运行模式延长电源效率

几乎所有的MCU现在提供各种各样的减少通过限制工作频率和/或重点区块的可操作性操作电源的低功耗工作模式。这些模式有各种各样的名字,但它们的功能往往是非常相似的。飞思卡尔MCU MCF51QE系列的低功耗工作模式,你应该寻找时,电源效率是您的应用程序的关键类型的一个很好的例子。甲状态转移图和简单的功率调节表示于图2来说明这些模式如何可以用来提高功率效率。该运行模式不限制经营和监管工作在全开状态。在其它模式中的各种块进行操作使用较低的功率通过关闭电源键元件或通过降低工作频率。例如,在等待模式中的CPU关闭以节省电力,但外设在它们的全时钟速率操作。这节省了功率时不需要CPU的运行,但定时器或通信外围设备必须继续工作。通常,这些外设可以通过中断刚睡醒的CPU当CPU是必需的。到关闭CPU的能力可以节省一个显著量运行功率的由于CPU,操作时,采用多数所述MCU功率预算。每个低功率模式的更详细的说明在下面的部分中提供。

飞思卡尔MCF51QE128低功耗模式的图像


图2:飞思卡尔MCF51QE128低功耗模式。 (飞思卡尔提供)

运行模式 - CPU时钟可以全速运行,内部供应是充分的监管。
LPrun模式 - CPU和外设时钟被限制为250 kHz的CPU时钟和125 kHz的总线时钟最大的内部供应处于软监管。
等待模式 - CPU关闭以节省电能;外设时钟正常运行,内部稳压器正常工作。
LPwait模式 - CPU关闭以节省电能;外设时钟是在低速(125 kHz的最大值)和内部稳压器在宽松的监管模式下运行运行。
停止模式 - 系统(CPU和外设)时钟停止。
STOP4 - 所有的内部电路供电(全调节模式)和内部时钟源仍处于最高频率最快的恢复。
停止3 - 所有的内部电路松散的监管和时钟源的最低值(125 kHz的最大值),提供用电和恢复速度之间的良好平衡。
停止2 - 内部电路的部分电源关闭; RAM内容被保留。在低功耗模式,此设备。需要复位从停止2模式恢复。

在运行,等待和停止模式普遍存在于现代MCU和非常功耗节能设计提供了依据。尤其是,应用程序,只定期使用主CPU - 也许只进行平均大量传感器读数或管理接收到的数据缓冲器,当缓冲器接近充满 - 可以通过关闭CPU和让智能节省功率的戏剧性量外围设备处理尽可能多的算法成为可能。等待和停止之间的区别通常体现在响应时间,因为它通常需要更长的时间来块从低功耗状态通电(即减少一个典型的停止模式下,静态电流),而不是删除一个时钟门控信号一个块(即只减少动态电流在典型等待模式)。

可以在MCF51QE128的LPrun和LPwait模式提供了另一种技术,通过运行在CPU和/或外围设备,以降低功耗低得多的频率比正常。当操作不容易被周期性地执行,而且必须连续运行,而不必在高速运行时非常有用。例如,通信数据包可能以高速在正常运行模式中接收,但LPrun可以用来处理数据。这是特别有用的,如果处理时间是依赖于数据的,并且不能经由周期性定时器中断很容易地进行管理。一旦数据被处理时,LPwait状态可以进入等待,直到下一数据分组需要被接收。

结合使用不同的电源域和低功耗模式允许多种有效实现。寻找各种时钟频率,低功耗模式和状态转换的最佳组合可以是一个艰巨的运动,通常需要事先对具体实施工作要做,或者你可能会发现使用已选定的设备并影响项目进度不能满足你的操作要求显著。理想情况下,你会希望能够模拟各种运行功率水平,估计电池寿命为目标的应用程序。幸运的是(或者也许是因为他们明白这一点的难度)的MCU厂商都创造了一些评估工具,我们可以用它来解决这个难题。

软件工具帮助评估电力需求和电池寿命

其中一个使用的工具越容易从Microchip XLP电池寿命估算(BLE)1。这个免费下载的工具,与任何XLP单片机工程估算功耗在整个应用程序。它也可以被用于获取的功耗为您的XLP MCU设计内键例程详细估计。下面的图3显示了BLE的图形用户界面(GUI)。您只需选择您的设备,你的电压和温度,然后你的目标电池(步骤1至3的GUI)。然后,您可以指定关键业务应用程序,定义工作频率,该函数使用模式下,时间的功能被激活和各种模块(如ADC,UART,定时器等)功能时有效。 (在下面的例子中有一个在运行模式在16兆赫,两种休眠模式功能并在1 MHz的运行模式功能的功能)的软件自动确定在每个功能所使用的电流,然后报告所估计的电池寿命该设计。在这个例子中,电池的寿命估计在不到200天。一个完整的文本文件,报告可以生成保存程序设置和结果。一个例子示于图3的底部。

将Microchip XLP电池寿命估算程序映像


图3:Microchip的XLP电池寿命估算程序 - GUI和报告。 (Microchip的提供)

使用的电池寿命估算程序可以很容易地找出关键程序和您的应用程序使用最多的功率。这使您可以调整设计,同时尝试不同的设备,以找到合适的实现。这样做之前,详细的编码和电路板设计可以节省你浪费显著努力探索的选项,将无法实现,你需要一个成功的设计的电源效率。

一旦你有信心,你的选择,你可以再取使用评估套件,如Microchip的PIC24F评估和演示工具包的下一个步骤。通常,这些套件包括了丰富的示例代码,参考设计和丰富的文档,可以很容易编写你的关键程序和测量实际的功率水平,你会在全面实施得到。

新的低功耗技术的高效电池的实现方案

MCU厂商也在推动技术信封不断创造从头开始新的低功耗功能。德州仪器创造低功耗面向MCU的使用新的非易失性存储器的铁电RAM或FRAM,它结合了速度,灵活性一个家庭,和SRAM的耐力与闪光灯的稳定性和可靠性,都在较低的总功率消耗。 FRAM存储器具有超低功耗和快速(每字125纳秒)写道。 FRAM可以用作程序,数据,或存储到简化应用开发。 FRAM的超低功耗,非易失性使其成为电池供电的MCU应用需要,如数据汇总和传感器预处理显著存储访问和计算能力的绝佳选择。

该MSP430FR微控制器系列还具有关键的低功耗模式,智能外设,以及先进的处理能力。图4中的框图显示所有关键MCU功能的MSP430FR5731 / 5/9的设备可用。还检查了TI产品培训模块,涵盖了TI MSP430FR MCU系列的特性,并展示了如何在FRAM技术为各种应用显著的低功耗优势。

德州仪器MSP430FR5731 / 5/9框图图片


图4:德州仪器MSP430FR5731 / 5/9框图。 (德州仪器提供)

结论

很多物联网应用程序将使用电池供电的MCU实现和电源效率将是成功的产品是至关重要的。选择合适的MCU为您实现更容易,当你使用一个功率估计工具来选择合适的设备为您的目标应用程序。

来源: http://www.21ic.com/app/mcu/201612/696466.htm

围观 237

来源:赛迪顾问

一、下游应用牵引MCU产业前景向好

(一)物联网

自上世纪70年代问世以来,单片机(Microcontroller Unit,MCU)就凭借其极强的通用型和极高的研发普及率成为全球嵌入式电子应用领域不可或缺的核心部件。网络通信、工业控制、汽车电子、消费电子、金融电子等领域都离不开MCU产品的支持。未来,物联网相关应用将是集成电路(Integrated Circuit,IC)和电子信息终端产品的发展方向,无论是工业制造业、汽车还是消费电子,都在向互联互通的方向演进升级。新增的物联网设备和老旧设备的物联网替代将是未来发展的主题。

通常情况下,物联网设备都需要具备嵌入式控制、传感数据采集、能耗控制及数据交互通信等功能。在数据吞吐量较大、通信协议较复杂、对主控芯片运算精度要求较高的场合,主流的解决方案多采用32位MCU;而在轻负荷、要求快速响应的应用中,16位及8位MCU仍有大量需求,特别是8位MCU凭借其成本优势及开发的便利,在一些颗粒度较小的模块中仍然大规模使用。综合来看,随着下游物联网产业的演进和相关技术的快速发展,MCU市场必将延续高速稳定增长的态势。

(二)智能卡

数据显示,MCU芯片在智能卡领域的出货量接近50%,而从销售收入看,智能卡领域的收入占比达到15.8%。近年来,随着加密算法、NFC等相关技术的逐渐成熟,搭载MCU芯片的智能IC卡(Integrated Circuit Card)已基本覆盖日常消费、金融支付、政府及公共事务等各个领域。特别是金融IC卡方面,在政策引导和市场驱动的双重作用下正在加快普及。

目前,全国近400家商业银行中绝大多数都已经发行了金融IC卡。其全面替代磁条卡已成定局。与此同时,银联芯片卡标准已相继落地泰国等旅游业发达的东南亚国家,实现了我国自主研发金融技术标准的对外输出。预计未来几年,智能卡市场将迎来爆发式增长,这也将直接拉动上游的MCU市场。

(三)汽车电子

在汽车智能化的演进趋势下,越来越多的MCU产品被应用于新型智能驾驶控制系统以实现半自动驾驶、自动泊车、巡航控制以及电子稳定控制(ESC)等功能。与此同时,越来越多的汽车制造商开始致力于扩展驾驶辅助系统功能,使之在5-10年后能够最终实现无人驾驶功能,这将为车用MCU和传感器市场的发展带来机会。

新能源汽车方面,据中国汽车工业协会统计,截至2016年11月,我国累计生产新能源汽车42.7万辆,销售40.2万辆。新能源汽车的快速发展也直接拉动了汽车电子用MCU芯片的市场需求。配备大容量片上存储空间和更多I/O接口功能的32位MCU目前已被广泛应用于监视新能源汽车的电池状态,以及纯电动或混动车的启动电功率。未来汽车电子应用仍将是MCU市场的主要增长动力之一。

二、投资MCU企业的三种思路

(一)入股MCU龙头企业,快速切入下游市场

2016年,高通收购恩智浦、软银收购ARM公司无疑是集成电路产业界的两起重磅事件。巧合的是,这两件收购案的标的都与MCU产品有关。恩智浦继2015年收购飞思卡尔后,已成为汽车电子领域MCU的当之无愧的领军企业;而ARM则早已凭借其划时代的IP架构左右着MCU产业生态。成熟型MCU相关企业在研发实力、供应链、市场认可度及客户渠道等方面都具有显著优势。收购成熟型企业一方面可以直接补齐自有产品线,扩大专利覆盖度,优势技术互补形成完整解决方案,同时可通过规模效应实现外延式增长并降低运营成本;另一方面可以快速切入其所在下游应用领域,拓展应用市场范围,扩大市场占有率。

(二)并购成长型MCU及IP设计公司,提升技术层次

成熟型企业间的兼并重组往往是出于战略布局需要,这些公司的普遍特点是运营状况良好,盈利能力较强,市场占有率较高。与之相比,一些初创型或中等体量的芯片企业一方面或多或少存在运营效率低下、产品线较为单一、资金不足或缺乏完善销售渠道等问题;另一方面又在某些细分领域具有技术先进性。这样的公司虽然尚未在市场上占有一席之地,且短时间内难以贡献业绩,却可以作为投资方补齐短板、拓展市场、布局新领域的技术储备。同样地,一些大型芯片企业由于战略布局的需要,会对一些非核心业务部门进行剥离或调整,这些部门也进入了资本市场。国际知名MCU供应商微芯科技就一直贯彻着这种扩张性收购战略。自2010年以来先后凭借收购获得了存储器控制、蓝牙及Wi-Fi无线连接、车载娱乐系统、悬浮手势、屏幕触控、气体监测等方面的相关技术及专利,持续提升着其MCU技术层次。

(三)搭车全球产能扩张,投资产业链下游环节

MCU虽然属于通用型芯片,但是汽车、工业、网络通信等应用领域因其具有不同的行业标准,对工艺的要求也有较大差别。因此,国际MCU领军厂商多采取IDM的运营策略。目前,中国大陆及台湾地区的MCU设计企业基本都是Fabless的经营模式,整体实力及营收规模方面与国际领先厂商有着较大差距,因此在工艺流程环节基本不具备议价能力,产业链环节缺失;此外,申请行业认证的周期一般较长。以汽车电子用芯片为例,从前期研发到通过最终验证可能需要2-3年的时间,这与大陆及台湾半导体厂商产品快速上市的经营理念相悖。随着新能源汽车产业、智能制造产业的迅速发展,MCU的应用场景也将持续拓展,投资产业链下游的制造环节,完善针对不同应用领域的工艺技术,打造虚拟IDM集团的投资路径初步显现。

三、关注国际并购把脉市场契机

(一)密切关注全球产业界重大兼并重组

同业公司间的兼并重组多出于扩展产品线、扩大市场份额等目的,而在体量较大的并购案后,往往会出现一系列连锁的业务优化调整举措,如NXP在收购Freescale仅一个月后,便将其RF部门出售给中国建广资本;2016年6月,又宣布将分立器件及逻辑IC部门出售给建广资本为首的中国财团。无独有偶,2016年11月,中国IC设计公司华大半导体发布声明,将通过旗下的晶门科技收购微芯公司的触控技术资产;而就在今年2月份,微芯公司刚刚完成对另一家触控芯片提供商爱特梅尔(Atmel)的收购。因此,中国产业界公司及金融资本应密切关注国际IC巨头的战略层面的合纵连横,通过聘请专业的行业咨询公司等途径拆解分析并购双方的业务及产品线,以发现潜在的投资机会。

(二)重点考察下游应用优势企业

当前,全球主流MCU厂家的高端产品基本都是基于ARM或8051架构。不同于专注某一嵌入式应用场景的SoC芯片,MCU产品更强调通用性,且由于MCU芯片对集成度和工艺制程的要求相对较低,国际大厂之间基本不存在技术壁垒。在市场上的产品趋于同质化的环境下,各家MCU厂商的策略是深耕下游应用领域以取得差异化竞争优势,如NXP在智能卡领域份额较高,而瑞萨电子则在汽车电子领域优势明显。未来,随着集成电路企业势力范围的划定,一家公司通吃下游领域的可能性将微乎其微。因此,下游应用市场前景将直接决定芯片提供商的可持续发展能力。

(三)“异构”产品短时间内难以爆发

除了目前绝对主流的ARM架构和传统的8051架构,目前市面上还有基于MIPS架构的MCU产品。2015年9月,Microchip宣布将其基于新的MIPS M5150架构的PIC32MZ产品系列的时钟频率提升至200MHz。虽然在某些参数性能上,非主流架构MCU能够取得局部领先,但是由于其应用范围较窄,相关研发人员不足,产业生态基础极为薄弱。以服务器芯片领域作为对比,Power架构、MIPS架构的服务器芯片始终未能获得市场认可。IBM在中国普及Power架构的力度不可谓不大,但是目前却依然没有一家公司做出成绩。因此,在没有颠覆性的技术革新的情况下,ARM架构及8051架构MCU依然将会占据绝大部分市场份额。

围观 343

常见单片机芯片分析简介

● HT:工具好用.DEMO难搞.成本中等.
● PIC:工具难用,DEMO易搞.成本偏高.
● FREESCALE:工具难用,DEMO易搞.成本偏高.
● STC/51:工具好用,DEMO易搞.成本偏低.
● AVR:工具好用,DEMO易搞.成本中等.
● MSP430:工具非常好用,DEMO易搞.成本偏高.
● EMC:工具好用,DEMO难搞.成本偏低.
● SUNPLUS:工具难用,DEMO难搞.成本偏低.
● TENX:工具难用,DEMO难搞.成本偏低.
● OKI:工具难用,DEMO难搞.成本偏低.
● EPSON:工具难用,DEMO易搞.成本偏低.
● PHILIPS:工具好用,DEMO易搞.成本偏高.
● WINBOND:工具好用,DEMO易搞.成本中等.

国内几种常用的单片机芯片做个简介:

PIC单片机:
是MICROCHIP公司的产品,其突出的特点是体积小,功耗低,精简指令集,抗干扰性好,可靠性高,有较强的模拟接口,代码保密性好,大部分芯片有其兼容的FLASH程序存储器的芯片.

EMC单片机:
是台湾义隆公司的产品,有很大一部分与PIC 8位单片机兼容,且相兼容产品的资源相对比PIC的多,价格便宜,有很多系列可选,但抗干扰较差.

ATMEL单片机(51单片机):
ATMEl公司的8位单片机有AT89、AT90两个系列,AT89系列是8位Flash单片机,与8051系列单片机相兼容,静态时钟模式;AT90系列单片机是增强RISC结构、全静态工作方式、内载在线可编程Flash的单片机,也叫AVR单片机.

PHLIPIS 51PLC系列单片机(51单片机):
PHILIPS公司的单片机是基于80C51内核的单片机,嵌入了掉电检测、模拟以及片内RC振荡器等功能,这使51LPC在高集成度、低成本、低功耗的应用设计中可以满足多方面的性能要求.

HOLTEK单片机:
台湾盛扬半导体的单片机,价格便宜,种类较多,但抗干扰较差,适用于消费类产品.

TI公司单片机(51单片机):
德州仪器提供了TMS370和MSP430两大系列通用单片机.TMS370系列单片机是8位CMOS单片机,具有多种存储模式、多种外围接口模式,适用于复杂的实时控制场合;MSP430系列单片机是一种超低功耗、功能集成度较高的16位低功耗单片机,特别适用于要求功耗低的场合

国际电子公司的单片机芯片产品:
(按照公司进行说明,读者可以和楼2的内容比较着阅读,不太好合在一起写,分开着写了)

1. MOTOROLA单片机
MOTOROLA是世界上最大的单片机厂商。品种全、选择余地大、新产品多是其特点,在8位机方面有68HC05和生级产品68HC08,68HC05有30多个系列,200多个品种,产量已超过20亿片。8位增强型单片机68HC11也有30多个品种,年产量在1亿片以上。生级产品有68HC12。16位机68HC16也有十多个品种。32位单片机的683XX系列也有几十个品种。近年来,以PowerPC、Coldfire、M.CORE等为CPU,将DSP未为辅助模块集成的单片机也纷纷推出,目前仍是单片机的首选牌品。MOTOROLA单片机特点之一是在同样速度下所用的时钟频率较Intel类单片机低得多,因而使得高频噪声低、抗干扰能力强,更适合用于工控领域及恶劣的环境。MOTOROLA8位单片机过去的策略是以掩膜为主,最近推出OTP计划以适应单片机发展趋势,在32位机上,M.CORE在性能和功耗方面都胜过ARM7。

2. Microchip单片机
Microchip单片机是市场份额增长最块的单片机。它的主要产品是16C系列8位单片机,CPU采用RISC结构,仅33条指令,运行速度快,且以低价位著称,一般单片机价格都在一美元以下。Microchip单片机没有掩膜产品,全都是OTP器件(近年已推出FLASH型单片机——编者注)。Microchip强调节约成本的最优化设计,使用量大、档次低、价格敏感的产品。

3. Scenix单片机
Scenix单片机的I/O模块有新意。I/O模块的集成与组合技术是单片机技术不可缺少的重要方面。除传统的I/O功能模块如并行I/O、URT、SPI、I2C、A/D、PWM、PLL、DTMF等,新的I/O模块不断出现,如USB,CAN、J1850,最具代表性的是MOTOROLA32位单片机,它集成了包括各种通信协议在内的I/O模块,而Scenix单片机在I/O模块的处理上引入虚拟I/O的新概念。Scenix采用了RISC结构的CPU,使CPU最高工作频率达50MHz。运算速度接近50MIPS。有了强有力的CPU,各种I/O功能便可以用软件的办法模拟。单片机的封装采用20/28引脚。公司提供各种I/O的库函数,用于实现各种I/O模块的功能。这些用软件完成的模块包括多路UART、多种A/D、PWM、SPI、DTMF、FSK、LCD驱动等,这些都是通常用硬件实现起来也相当复杂的模块。

4. NEC单片机
NEC单片机自成体系,以8位单片机78K系列产量最高,也有16位、32位单片机。16位以上单片机采用内部倍频技术,以降低外时钟频率。有的单片机采用内置操作系统。NEC的销售策略著重于服务大客户,并投入相当大的技术力量帮助大客户开发产品。

5. 东芝单片机
东芝单片机的特点从4位机到64位,门类齐全。4位机在家电领域仍有较大的市场。8位机主要有870系列、90系列等,该类单片机允许使用慢模式,采用32K时钟时功耗低至10uA数量级。CPU内部多组寄存器的使用,使得中断响应与处理更加快捷。东芝的32位单片机采用MIPS3000ARISC的CPU结构,面向VCD、数字相机、图像处理等市场。

6. 富士通单片机
富士通也有8位、16位和32位单片机,但8位机使用的是16位机的CPU内核。也就是说8位机与16位机所用的指令相同,使得开发比较容易。8位单片机有著名的MB8900系列,16位机有MB90系列。富士通公司注重于服务大公司、大客户,帮助大客户开发产品。

7. Epson单片机
Epson公司以擅长制造液晶显示器著称,故Epson单片机主要为该公司生产的LCD配套。其单片机的特点是LCD驱动部分做得特别好。在低电压、低功耗方面也很有特点。目前0.9V供电的单片机已经上市,不久的将来,LCD显示的手表类单片机将使用0.5V供电。

8.8051单片机
最早由Intel公司推出的8051/31类单片机也世界上用量最大的几种单片机之一。由于Intel公司在嵌入式应用方面将重点放在186、386、奔腾等与PC类兼容的高档芯片的开发上,8051类单片机主要由Philips、三星、华邦等公司接产。这些公司都在保持与8051单片机兼容的基础上改善了8051许多特点(如时序特性)。提高了速度、降低了时钟频率,放宽了电源电压的动态范围,降低了产品的价格。

9. Zilog单片机
Z8单片机是Zilog公司的产品,采用多累加器结构,有较强的中断处理能力。产品为OTP型,Z8单片机的开发工具可秤价廉物美。Z8单片机以低价位的优势面向低端应用,以18引脚封装为主,ROM为0.5-2k。最近Zilog公司又推出了Z86系列单片机,该系列内部可集成廉价的DSP单元。

10. NS单片机
COP8单片机是美国国家半导体公司的产品,该公司以生产先进的模拟电路著称,能生产高水平的数字模拟混合电路。COP8单片机片内集成了16位A/D,这是单片机中不多见的。COP8单片机内部使用了抗EMI电路,在看门狗电路以及STOP方式下单片机的唤醒方式上都有独到之处。此外,COP8的程序加密控制也做得特别好。

11. 三星单片机
三星单片机有KS51和KS57系列4位单片机,KS86和KS88系列8位单片机,KS17系列16位单片机和KS32系列32位单片机。三星单片机为OTP型ISP在片编程功能。三星公司以生产存储器芯片著称,在存储器的市场供大于求的形式下,涉足参与单片机的竞争。三星公司在单片机技术上引进消化发达国家的技术,生产与之兼容的产品,然后以价格优势取胜。例如在4位机上采用NEC的技术,8位机上引进Zilog公司Z8的技术,在32位机上购买了ARM7内核,还有DEC的技术、东芝的技术等。其单片机裸片的价格相当有竞争力。

12. 华邦单片机
华邦单片机属8051类单片机,它们的W78系列与标准的8051兼容,W77系列位增强型51系列,对8051的时序作了改进。同样时钟频率下速度提高了2.5倍,FLASH容量从4k到64k,有ISP功能。在4位单片机方面华邦有921系列带LCD驱动的741系列。在32位机方面,华邦使用了惠普公司PA-RISC单片机技术,生产低位的32位RISC单片机。

来源:玩转单片机

围观 633

一、引言

单片机(Microcontroller)一般都有内部ROM/EEPROM/FLASH供用户存放程序。为了防止未经授权访问或拷贝单片机的机内程序,大部分单片机都带有加密锁定位或者加密字节,以保护片内程序。如果在编程时加密锁定位被使能(锁定),就无法用普通编程器直接读取单片机内的程序,这就是所谓拷贝保护或者说锁定功能。事实上,这样的保护措施很脆弱,很容易被破解。单片机攻击者借助专用设备或者自制设备,利用单片机芯片设计上的漏洞或软件缺陷,通过多种技术手段,就可以从芯片中提取关键信息,获取单片机内程序。因此,作为电子产品的设计工程师非常有必要了解当前单片机攻击的最新技术,做到知己知彼,心中有数,才能有效防止自己花费大量金钱和时间辛辛苦苦设计出来的产品被人家一夜之间仿冒的事情发生。

二、单片机攻击技术

目前,攻击单片机主要有四种技术,分别是:

1软件攻击
该技术通常使用处理器通信接口并利用协议、加密算法或这些算法中的安全漏洞来进行攻击。软件攻击取得成功的一个典型事例是对早期ATMELAT89C 系列单片机的攻击。攻击者利用了该系列单片机擦除操作时序设计上的漏洞,使用自编程序在擦除加密锁定位后,停止下一步擦除片内程序存储器数据的操作,从而使加过密的单片机变成没加密的单片机,然后利用编程器读出片内程序。

2电子探测攻击
该技术通常以高时间分辨率来监控处理器在正常操作时所有电源和接口连接的模拟特性,并通过监控它的电磁辐射特性来实施攻击。因为单片机是一个活动的电子器件,当它执行不同的指令时,对应的电源功率消耗也相应变化。这样通过使用特殊的电子测量仪器和数学统计方法分析和检测这些变化,即可获取单片机中的特定关键信息。

3过错产生技术

该技术使用异常工作条件来使处理器出错,然后提供额外的访问来进行攻击。使用最广泛的过错产生攻击手段包括电压冲击和时钟冲击。低电压和高电压攻击可用来禁止保护电路工作或强制处理器执行错误操作。时钟瞬态跳变也许会复位保护电路而不会破坏受保护信息。电源和时钟瞬态跳变可以在某些处理器中影响单条指令的解码和执行。

4探针技术

该技术是直接暴露芯片内部连线,然后观察、操控、干扰单片机以达到攻击目的。为了方便起见,人们将以上四种攻击技术分成两类,一类是侵入型攻击(物理攻击),这类攻击需要破坏封装,然后借助半导体测试设备、显微镜和微定位器,在专门的实验室花上几小时甚至几周时间才能完成。所有的微探针技术都属于侵入型攻击。另外三种方法属于非侵入型攻击,被攻击的单片机不会被物理损坏。在某些场合非侵入型攻击是特别危险的,这是因为非侵入型攻击所需设备通常可以自制和升级,因此非常廉价。大部分非侵入型攻击需要攻击者具备良好的处理器知识和软件知识。与之相反,侵入型的探针攻击则不需要太多的初始知识,而且通常可用一整套相似的技术对付宽范围的产品。因此,对单片机的攻击往往从侵入型的反向工程开始,积累的经验有助于开发更加廉价和快速的非侵入型攻击技术。

三、侵入型攻击的一般过程

侵入型攻击的第一步是揭去芯片封装。有两种方法可以达到这一目的:第一种是完全溶解掉芯片封装,暴露金属连线。第二种是只移掉硅核上面的塑料封装。第一种方法需要将芯片绑定到测试夹具上,借助绑定台来操作。第二种方法除了需要具备攻击者一定的知识和必要的技能外,还需要个人的智慧和耐心,但操作起来相对比较方便。芯片上面的塑料可以用小刀揭开,芯片周围的环氧树脂可以用浓硝酸腐蚀掉。热的浓硝酸会溶解掉芯片封装而不会影响芯片及连线。该过程一般在非常干燥的条件下进行,因为水的存在可能会侵蚀已暴露的铝线连接。接着在超声池里先用丙酮清洗该芯片以除去残余硝酸,然后用清水清洗以除去盐分并干燥。没有超声池,一般就跳过这一步。这种情况下,芯片表面会有点脏,但是不太影响紫外光对芯片的操作效果。最后一步是寻找保护熔丝的位置并将保护熔丝暴露在紫外光下。一般用一台放大倍数至少100倍的显微镜,从编程电压输入脚的连线跟踪进去,来寻找保护熔丝。若没有显微镜,则采用将芯片的不同部分暴露到紫外光下并观察结果的方式进行简单的搜索。操作时应用不透明的纸片覆盖芯片以保护程序存储器不被紫外光擦除。将保护熔丝暴露在紫外光下5~10分钟就能破坏掉保护位的保护作用,之后,使用简单的编程器就可直接读出程序存储器的内容。

对于使用了防护层来保护EEPROM单元的单片机来说,使用紫外光复位保护电路是不可行的。对于这种类型的单片机,一般使用微探针技术来读取存储器内容。在芯片封装打开后,将芯片置于显微镜下就能够很容易的找到从存储器连到电路其它部分的数据总线。

由于某种原因,芯片锁定位在编程模式下并不锁定对存储器的访问。利用这一缺陷将探针放在数据线的上面就能读到所有想要的数据。在编程模式下,重启读过程并连接探针到另外的数据线上就可以读出程序和数据存储器中的所有信息。

还有一种可能的攻击手段是借助显微镜和激光切割机等设备来寻找保护熔丝,从而寻查和这部分电路相联系的所有信号线。由于设计有缺陷,因此,只要切断从保护熔丝到其它电路的某一根信号线,就能禁止整个保护功能。由于某种原因,这根线离其它的线非常远,所以使用激光切割机完全可以切断这根线而不影响临近线。这样,使用简单的编程器就能直接读出程序存储器的内容。

虽然大多数普通单片机都具有熔丝烧断保护单片机内代码的功能,但由于通用低档的单片机并非定位于制作安全类产品,因此,它们往往没有提供有针对性的防范措施且安全级别较低。加上单片机应用场合广泛,销售量大,厂商间委托加工与技术转让频繁,大量技术资料外泻,使得利用该类芯片的设计漏洞和厂商的测试接口,并通过修改熔丝保护位等侵入型攻击或非侵入型攻击手段来读取单片机的内部程序变得比较容易。

四、应对单片机破解的几点建议

任何一款单片机,从理论上讲,攻击者均可利用足够的投资和时间使用以上方法来攻破。所以,在用单片机做加密认证或设计系统时,应尽量加大攻击者的攻击成本和所耗费的时间。这是系统设计者应该始终牢记的基本原则。除此之外,还应注意以下几点:

(1)在选定加密芯片前,要充分调研,了解单片机破解技术的新进展,包括哪些单片机是已经确认可以破解的。尽量不选用已可破解或同系列、同型号的芯片。

(2)尽量不要选用MCS51系列单片机,因为该单片机在国内的普及程度最高,被研究得也最透。

(3)产品的原创者,一般具有产量大的特点,所以可选用比较生僻、偏冷门的单片机来加大仿冒者采购的难度。

(4)选择采用新工艺、新结构、上市时间较短的单片机,如ATMELAVR系列单片机等。

(5)在设计成本许可的条件下,应选用具有硬件自毁功能的智能卡芯片,以有效对付物理攻击。

(6)如果条件许可,可采用两片不同型号单片机互为备份,相互验证,从而增加破解成本。

(7)打磨掉芯片型号等信息或者重新印上其它的型号,以假乱真。当然,要想从根本上防止单片机被解密,程序被盗版等侵权行为发生,只能依靠法律手段来保障。

来源:电子产品世界

围观 386

一、振荡器停止振荡

又可以分为电源电压不稳,或者强干扰引起的振荡器停振。

二、PC指针跑飞

电源电压不稳或强干扰引起PC跑飞,如果看门狗不好,也会引起死机。

三、设计上对长引出线的IO没有保护,静电打在IO口上引起单片机死锁,破坏了硬件逻辑功能,导致死机。

四、复位收到干扰,引起反复复位,在反复复位当中有可能会导致死机。

综上所述:

设计电路时,应该注意:
1.电源稳定
2.IO保护
3.振荡器PCB布线要注意
4.复位电路设计和PCB布线
5.电源,信号线干扰路径的保护,加滤波TVS等
6.高速信号输出远离信号输入端,如SPI总线,I2C总线布线要远离ADC,复位,时钟等布线处,以及其他模拟前端。

一家之言,欢迎纠正

电源电压的地不稳定造成电源电压瞬间负电压导致单片机故障程序不发运行。

我的理解:

1、"跑飞"是因为程序隐患或外部干扰引起的误动作,致使PC被写入"出界"数据,跑到了RAM区,或者跑到了FLASH的空白区。如果PC指向了RAM区,哪情况就不好说了!因为程序译码器可能得到任意译码结果。如果PC指向了FLASH空白区,则可以事先将所有FLASH空白区填入某个你想要的数据,迫使程序译码器在这里翻译出你想要的指令,从而进行相应的处理。在IAR Workbench中好象有在空白区填充数据的设置。

2、"死机"是指PC进入了"死循环",或者是MCLK等于近似为零的值。此时,要想救活MCU,非外狗不可。

*程序运行过程中,如果MCU电源出现问题(电源供电问题,或其它外部电路引起的电源扰动),比较容易出现"跑飞"现象。程序跑飞应该是PC出错;软件和硬件都可能出这样的问题。

死机应该是CPU根本没有运行,多是硬件方面的问题造成的,比如POR复位不成功,430比较容易出现掉电不完全后重新上电。

有了看门狗就不会死机?

死机是指CPU的程序指针进入一个死循环,无法执行正常的程序流程。其外在表现常常是:正常功能丧失,按键无响应,显示凝固。单片机死机后,只有复全才能走出死循环,执行正常的程序流程。众所属知,克服死机的最有效手段是加看门狗(WatchDog)。

目前用得最广泛的看门狗实际上是一个特殊的定时器DogTimer。DogTimer按固定速率计时,计满预定时间就发出溢出脉冲使单片机复位。如果每次在DogTimer溢出前强行让DogTimer清零,就不会发出溢出脉冲。清零脉冲由CPU发出,在单片机程序中每隔一段语句放一个清DogTimer的语句--FeedDog语句,以保证程序正常运行时DogTimer不会溢出。一旦程序进入一个不含FeedDog语句的死循环,DogTimer将溢出,导致单片机复位,跳出这个死循环。本文称这种看门狗为典型看门狗,典型看门狗已被集成比,如MAX706、MAX791等[1];还有许多单片机本身集成了这种看门狗,如PIC16C57、MC68HC705等,

有一个错误观点:加了看门狗,单片机就不会死机。实际上,看门狗有时间会完全失效。当程序进入某个死循环,而这个死循环中又包含FeedDog语句,这时DogTimer始终不会溢出,单片机始终得不到复位信号,程序也就始终跳不出这个死循环。针对这一弊端,笔者设计了双对限看门狗和定时复位看门狗。

双时限看门狗有两个定时器;一个为短定时器,一个为长定时器。短定时器定时为T1,长定时器定时为T2,0

这样,当程序进入某个死循环,如果这个死循环包含短定时器FeedDog语句而不包含长定时器FeedDog语句,那么长定时顺终将溢出,使单片机复位。巧妙安排长定时器FeedDog语句的位置,可保证出现死机的概率根低。在水轮发电机组微机控制装置中的对比应用证明了这一点。

目前几乎所有的看门狗都是依赖于CPU(依赖于CPU FeedDog)。这可以比作:一个保险设备能否起到保险作用还依赖于被它保护的对象的行为。显然,依赖于CPU的看门狗是不能保证单片机在分之百不死机的。

在绝对不允许死机的装置中,笔者设计了一种完全不依赖于CPU的看门狗--定时复位看门狗。定时复位看门狗的主体也是一个定时器,到预定时间就发出溢出脉冲,此溢出脉冲使单片机强行复位。定时复位看门狗不需要CPU FeedDog。

简言之,定时复位看门狗就是定时地让单片机强行复位。这样,即使装置死机,其最大死机时间也不会大于定时器定时时间。显然,只要硬件完好,这种看门狗百分之百地保证了单片机不会长时间死机。在智能电表(包括IC卡电能表、复费率电能表、多功能电能表)中采用了定时复位看门狗,每1秒让CPU强行复位,迄今数十万电表运行了近五年,无一例死机报告。

来源:玩转单片机

围观 470

单片机、ARM、DSP这三者都可以说是CPU,那这三者有什么区别吗?

首先,CPU(中央处理器),本质就是一个集成电路,实现的功能就是从一个地方(如rom)读出一个指令,从一个地方(如ram)读出数据,然后根据指令的不同对数据做不同的处理(如相加),然后把结果存回某个地方(如ram)。不同架构的CPU会有不同的指令、不同的存取方式、不同的速度、不同的效率等差异。

然后说说单片机(通常意义所说的微控制器MCU),ARM(通常意义所说的高效能RISC),DSP(通常意义所说的通用数字信号处理器),这三个 CPU分别是针对不同的应用而产生的CPU。当然这也不是绝对的,因为ARM现在出的CPU囊括了MCU(如M0),RISC(如A8),DSP(如 M4)。

单片机实际上是微控制器MCU、ARM是高效能RISC、DSP就是数字信号处理器,那您能具体的从这三者的功能谈谈它们的控制原理吗?

微控制器MCU的目的主要是用作控制,他不需要多快的速度,如电饭锅的控制器,只需要控制发热元件的通断、信号等的开关等,但是对成本要求很严格,所以一般做得比较简单,8位的很多。

高效能的RISC,常用于一些数据处理比较多的地方,最常见的莫过于现在的消费性电子产品了,手机、pad等,目前ARM的商业模式主要是卖内核,集成到各家的SoC中间。它其实就是个通用的CPU,能干各种各样的活,和Intel的CPU一样。但是通用就有效能问题,在某些特殊场合,效能就显得没那么高了,如大量运算(譬如做FFT)的时候,这样就有DSP的用武之地了。

DSP数字信号处理器,只要是做数字信号处理的模块都可以叫做一个DSP,如视频解码的IP核。通用的数字信号处理器,如TI的TMS320C55x DSP。该CPU的长处就是在于运算,大量循环的计算,如连续1024个乘加。他的指令针对这种应用有特殊的处理,相比RISC可以更快速高效地完成这类运算。

您能结合开发案例,具体谈谈它们的主要应用场景吗?

单片机集成完整的冯诺依曼体系所规定的结构,是一个完整的计算机体系。实现特定的运算功能,应用集中在工业自动化控制等专门化需求的运算领域,大多都是工业应用上的需求,如“基于单片机设计的LED驱动电源综合测试仪”、“单片机拨号程序”等。

ARM芯片精髓在“R”,是RISC精简指令集的意思。RISC指令集根据80%的时候只用到了20%的处理器指令的状况,使用了经过精简设计的指令系统,使得整个处理器的设计可以更加简洁,功耗、体积大大缩小,所以ARM在手机、平板等智能移动设备上得到了广泛应用。如“arm的 linux内核下的手持机开发”、“ARM的linux内核LVDS显示开发”等均是基于ARM芯片的智能产品。

DSP是数字信号处理器,相较于普通计算机实现通用计算的特点,DSP只负责数字信号(视频、音频或者其他传感器获得数字信号)处理。在日常生活中,常见的DVD、蓝光播放机、数字电视机顶盒、MP4等都广泛使用了DSP。这个“基于DSP的声音控制系统开发”、“基于DSP图像处理固定区域内人数统计仪”等对于音频音质、图像像素要求较高的产品多使用DSP控制器。

来源:嵌入式精选

围观 432

成为一名嵌入式工程师,简单的单片机基础学习与应用是不可缺少的。学习单片机就是学习单片机的硬件结构,内部资源与外设的应用。在C语言中(极少量的汇编)掌握各种功能的初始化,启动与停止,实现各种功能函数的编写与调试。

第一步:数字I/O的应用
在大多数的单片机实验中,跑马灯实验正是数字I/O的典型应用,也是跑马灯的实验被安排第一个的原因。通过将单片机的I/O引脚位进行置位或清零来点亮或关闭LED灯,虽然简单,但是这就是数字电路中的逻辑功能。数学I/O应用的实验还有按键实验,当按下某键时,某LED灯被点亮。数字I/O实验教会我们单片机的编程思想,必须首先对单片机的相应寄存器进行配置,以初始化I/O引脚,这样才能使该引脚具备数字输入与输出功能。 单片机的一个内置或外置功能的使用,就是对该功能相关的寄存器进行设置,初始化,而这便是单片机编程的特点。少则4、5个函数搞定,多则十几行程序,要有耐心,别怕麻烦,所有的单片机都是这样。

第二步:RS232串口通讯
单片机都有UART接口,这个简单、古老的通讯方式可以与我们PC机的RS232接口直接连接通讯,当然,因为它们两者电平逻辑不同,必须要使用一个RS232电平转换芯片才能与PC机连接,例如Max232芯片。

UART接口的使用是非常重要的,通过这个接口,我们可以使单片机与PC机之间交换信息,“接口”概念的学习也便由此引入。使用UART接口也会学习到目前最为简单与常用的通信协议等知识。我们也可以通过PC机的串口调试软件来监视到单片机实验板的数据,想一想,这会是一个多么神奇的事情啊。

第三步:定时器的使用
学会定时器的使用,就可以利用单片机来实现典型的时序逻辑电路。时序逻辑电路的应用是最强大、最广泛的。例如,在工业的控制中,我们让某个开关每隔1秒钟打开与关闭一次。这个方案可以通过普通的数字集成电路实现,也可以通过PLC来实现,也可以通过CPLD或FPGA来实现,但是只有单片机的实现是最简单,成本也是最经济的。定时器是单片机内部资源里最为重要的一个,更是逻辑与时间控制实现的基础。

第四步:中断
在单片机软件设计架构中,一段程序循环执行是其一个特点,也是一个弊端。每个操作指令的执行都需要一定的执行时间,如果程序没有执行到该指令,则该指令的动作就不会触发,这样就会忽略许多快速发生的事件,例如方波频率检测的上升沿。针对在单片机程序正常运行时能够对外部事件立即做出响应而设计了中断功能。当中断功能执行时,单片机优先处理中断程序,当中断处理完成后,再回到单片机的正常程序执行中。中断的机理是比较容易理解的,但是什么时候打开中断,什么时候关闭、屏蔽中断,需要如何配置才能使能中断的某些功能,中断里要执行哪些程序,这些程序的要满足哪些要求就需要花些时间去理解与实践了。中断学会后,就可以编写复杂结构功能的程序,可以一边闪着小LED灯,一边扫描着按键,一边发送着数据,也可以干着多个事情……打个比喻,中断功能可以使单片机吃着碗里的,看着锅里的。根据传说中的8020定律,如果您掌握了上面提到的这四步,那么,您已经学会了80%的内容了。

第五步:I2C、SPI通讯接口
单片机系统毕竟资源有限,而利用I2C、SPI通讯接口进行扩展外设是最常用的方法,也是非常重要的方法。这两个通讯接口都是串行通讯接口,典型的基础实验就是I2C的EEPROM实验与SPI的SD卡读写实验。

第六步:比较,捕捉,PWM功能
比较,捕捉与PWM功能可以使单片机更加适合电机控制,信号检测,实现电机速度与步长的调节。PWM波现在又是LED调光的主要手段。这里已经初步接触了数字电路里的模拟电路部分。

第七步:A/D模数采集
单片机目前基本都自带多通道A/D模数转换器,通过这些A/D转换器可以单片机获取模拟量,用于检测电压、电流等信号。学习时要分清模拟地与数字地,参考电压,采样时间,转换速率,转换误差等重要概念。这一步学会了数字电路控制模拟电路部分,而最简单的A/D模数转换器就是电压表实验。
第八步:学习USB接口、TCP/IP协议、工业总线

目前主流的通讯协议为USB协——下位机与上位机高速通讯接口;TCP/IP——万能的互联网使用的通讯协议;工业总线——诸如Modbus,CANOpen等工业控制各个模块之间通讯的协议。这些都会应用在未来的项目里,集成入单片机里的固件,并且也是当前产品开发的一个发展方向。

来源:21ic

围观 302

影响单片机系统可靠安全运行的主要因素主要来自系统内部和外部的各种电气干扰,并受系统结构设计、元器件选择、安装、制造工艺影响。这些都构成单片机系统的干扰因素,常会导致单片机系统运行失常,轻则影响产品质量和产量,重则会导致事故,造成重大经济损失。

形成干扰的基本要素有三个:

(1)干扰源。指产生干扰的元件、设备或信号。如:雷电、继电器、可控硅、电机、高频时钟等都可能成为干扰源。
(2)传播路径。指干扰从干扰源传播到敏感器件的通路或媒介。典型的干扰传播路径是通过导线的传导和空间的辐射。
(3)敏感器件。指容易被干扰的对象。如:A/D、 D/A变换器,单片机,数字IC,弱信号放大器等。

1 干扰的耦合方式

干扰源产生的干扰信号是通过一定的耦合通道才对测控系统产生作用的。因此,我们有必要看看干扰源和被干扰对象之间的传递方式。干扰的耦合方式,无非是通过导线、空间、公共线等等,细分下来,主要有以下几种:

(1)直接耦合:
这是最直接的方式,也是系统中存在最普遍的一种方式。比如干扰信号通过电源线侵入系统。对于这种形式,最有效的方法就是加入去耦电路。

(2)公共阻抗耦合:
这也是常见的耦合方式,这种形式常常发生在两个电路电流有共同通路的情况。为了防止这种耦合,通常在电路设计上就要考虑。使干扰源和被干扰对象间没有公共阻抗。

(3)电容耦合:
又称电场耦合或静电耦合。是由于分布电容的存在而产生的耦合。

(4)电磁感应耦合:
又称磁场耦合。是由于分布电磁感应而产生的耦合。

(5)漏电耦合:
这种耦合是纯电阻性的,在绝缘不好时就会发生。

2 常用硬件抗干扰技术
针对形成干扰的三要素,采取的抗干扰主要有以下手段。

2.1 抑制干扰源

抑制干扰源就是尽可能的减小干扰源的du/dt, di/dt。这是抗干扰设计中最优先考虑和最重要的原则,常常会起到事半功倍的效果。 减小干扰源的du/dt主要是通过在干扰源两端并联电容来实现。减小干扰源的di/dt则是在干扰源回路串联电感或电阻以及增加续流二极管来实现。

抑制干扰源的常用措施如下:

(1)继电器线圈增加续流二极管,消除断开线圈时产生的反电动势干扰。仅加续流二极管会使继电器的断开时间滞后,增加稳压二极管后继电器在单位时间内可动作更多的次数。

(2)在继电器接点两端并接火花抑制电路(一般是RC串联电路,电阻一般选几K到几十K,电容选0.01uF),减小电火花影响。

(3)给电机加滤波电路,注意电容、电感引线要尽量短。

(4)电路板上每个IC要并接一个0.01μF~0.1 μF高频电容,以减小IC对电源的影响。注意高频电容的布线,连线应靠近电源端并尽量粗短,否则,等于增大了电容的等效串联电阻,会影响滤波效果。

(5)布线时避免90度折线,减少高频噪声发射。

(6)可控硅两端并接RC抑制电路,减小可控硅产生的噪声(这个噪声严重时可能会把可控硅击穿的)。

2.2 切断干扰传播路径
按干扰的传播路径可分为传导干扰和辐射干扰两类。

所谓传导干扰是指通过导线传播到敏感器件的干扰。高频干扰噪声和有用信号的频带不同,可以通过在导线上增加滤波器的方法切断高频干扰噪声的传播,有时也可加隔离光耦来解决。电源噪声的危害最大,要特别注意处理。

所谓辐射干扰是指通过空间辐射传播到敏感器件的干扰。一般的解决方法是增加干扰源与敏感器件的距离,用地线把它们隔离和在敏感器件上加屏蔽罩。

切断干扰传播路径的常用措施如下:

(1)充分考虑电源对单片机的影响。电源做得好,整个电路的抗干扰就解决了一大半。许多单片机对电源噪声很敏感,要给单片机电源加滤波电路或稳压器,以减小电源噪声对单片机的干扰。比如,可以利用磁珠和电容组成π形滤波电路,当然条件要求不高时也可用100Ω电阻代替磁珠。

(2)如果单片机的I/O口用来控制电机等噪声器件,在I/O口与噪声源之间应加隔离(增加π形滤波电路)。

(3)注意晶振布线。晶振与单片机引脚尽量靠近,用地线把时钟区隔离起来,晶振外壳接地并固定。

(4)电路板合理分区,如强、弱信号,数字、模拟信号。尽可能把干扰源(如电机、继电器)与敏感元件(如单片机)远离。

(5)用地线把数字区与模拟区隔离。数字地与模拟地要分离,最后在一点接于电源地。A/D、D/A芯片布线也以此为原则。

(6)单片机和大功率器件的地线要单独接地,以减小相互干扰。大功率器件尽可能放在电路板边缘。

(7)在单片机I/O口、电源线、电路板连接线等关键地方使用抗干扰元件如磁珠、磁环、电源滤波器、屏蔽罩,可显著提高电路的抗干扰性能。

2.3 提高敏感器件的抗干扰性能

提高敏感器件的抗干扰性能是指从敏感器件这边考虑尽量减少对干扰噪声的拾取,以及从不正常状态尽快恢复的方法。

提高敏感器件抗干扰性能的常用措施如下:

(1)布线时尽量减少回路环的面积,以降低感应噪声。

(2)布线时,电源线和地线要尽量粗。除减小压降外,更重要的是降低耦合噪声。

(3)对于单片机闲置的I/O口,不要悬空,要接地或接电源。其它IC的闲置端在不改变系统逻辑的情况下接地或接电源。
 
(4)对单片机使用电源监控及看门狗电路,如: IMP809,IMP706,IMP813, X5043,X5045等,可大幅度提高整个电路的抗干扰性能。

(5)在速度能满足要求的前提下,尽量降低单片机的晶振和选用低速数字电路。
 
(6)IC器件尽量直接焊在电路板上,少用IC座。

2.4 其它常用抗干扰措施

(1)交流端用电感电容滤波:去掉高频低频干扰脉冲。

(2)变压器双隔离措施:变压器初级输入端串接电容,初、次级线圈间屏蔽层与初级间电容中心接点接大地,次级外屏蔽层接印制板地,这是硬件抗干扰的关键手段。次级加低通滤波器:吸收变压器产生的浪涌电压。

(3)采用集成式直流稳压电源: 有过流、过压、过热等保护作用。

(4)I/O口采用光电、磁电、继电器隔离,同时去掉公共地。
 
(5)通讯线用双绞线:排除平行互感。

(6)防雷电用光纤隔离最为有效。

(7)A/D转换用隔离放大器或采用现场转换:减少误差。

(8)外壳接大地:解决人身安全及防外界电磁场干扰。

(9)加复位电压检测电路。防止复位不充分, CPU就工作,尤其有EEPROM的器件,复位不充份会改变EEPROM的内容。

(10)印制板工艺抗干扰:

① 电源线加粗,合理走线、接地,三总线分开以减少互感振荡。
② CPU、RAM、ROM等主芯片,VCC和GND之间接电解电容及瓷片电容,去掉高、低频干扰信号。
③ 独立系统结构,减少接插件与连线,提高可靠性,减少故障率。
④ 集成块与插座接触可靠,用双簧插座,最好集成块直接焊在印制板上,防止器件接触不良故障。
⑤ 有条件的采用四层以上印制板,中间两层为电源及地。

本文引用地址:http://www.eepw.com.cn/article/201611/340530.htm

围观 654



这是单片机初学者经常问的问题。对于这个问题,我想没有人敢下定论。因为每一种单片机各有所长,都适用于其所能充分发挥作用的领域,不存在优差之分。学单片机应该先学51单片机,学会了51单片机再去学其他单片机,这是学习单片机过来人的同感,也是公认的学习方法。为什么要先学51单片机?因为51单片发展最早,应用最广泛,特别是I/O口的操作非常简单,而且相关的学习资料最多、教材最成熟,学习起来得心应手,入门很快。有了这个基础再去学习其他单片机那就是小菜一碟了,只是对着芯片数据手册设置寄存器罢了,快则一两个星期,多则一个月就能掌握另一种单片机了。如果一开始就选择非51单片机学习,那将是“路漫漫其修远兮,你将艰难而求索!”

那学51单片机用C语言还是汇编语言好?当然是C语言了。因为↓↓↓
1、C语言是高级语言,代码移植性好,易于维护;
2、编程灵活,随心所欲;
3、语言层次分明,思路清晰,可读性强。
4、C语言是目前最流行的单片机编程语言,例程代码多,便于参考,单片机技术发展之快,应用之广,学习群体日益庞大,这和keil C51开发环境的问世是分不开的。
5、C语言是大众编程语言,是其他编程语言的基础,学会了C语言,对于进一步深造的选择就很自由了。汇编语言是早期单片机学习使用的语言,优点是执行指令比C语言稍快外,其他方面笔者不敢恭维。

学会51单片机以后,就可以根据你从事的工作或者你的目标选择以下一种或多种继续深造。

1、AVR单片机-----速度快,一个时钟周期执行一条指令,而普通的51单片机需要12个时钟周期执行一条指令。当然,Atmel公司出品的AT89LP系列单片机也是一个时钟执行一条指令,但目前还未普及。AVR单片机比51单片机多了USB通信模块、SPI通信模块、I2C通信模块、PWM模块、AD转换模块等,但在C语言编程方面对I/O的操作比51麻烦得多。

2、PIC单片机------品种齐全,应用领域广泛,片内资源也很丰富,也是很受欢迎的单片机。比51单片机多SPI通信模块、I2C通信模块、PWM模块、AD转换模块等片内资源。4个时钟周期执行一条指令,速度看似比51单片机快,事实上并非如此,PIC单片机最高时钟频率一般为8MHZ,而51单片机最高时钟频率可达到33MHZ 。速度上PIC单片机并不占优势,而抗干扰能力则也比51单片机略强。C语言编程方面对I/O的操作要比51麻烦。

3、MSP430单片机-----16位单片机,速度快,一个时钟周期执行一条指令,超低电压低功耗,适合用于电池供电设备。

4、Motorola单片机-----抗干扰能力极强,适用于恶劣环境,这是以降低速度为代价的。

5、DSP技术------用于音频、视频、通信等快速数字处理领域,速度超快,编程算法也比较复杂。

6、FPGA技术------难度和单片机差不多,应用领域逐渐广泛。

7、嵌入式系统-----应用于非PC机控制以外的复杂的智能控制系统,以及智能通信设备、掌上电脑、学习设备、娱乐设备等,应用领域也很广泛。学习难度也较大,需要有操作系统、硬件、驱动原理等方面的知识。山寨版的手机、掌上电脑等满街泛滥都是嵌入式系统发展惹的祸。

8、其他单片机,如德州仪器单片机,合泰单片机,NEC单片机等。

要说学哪一种单片机最有前途,笔者也不敢妄加断言。不管选择那一种,前途光明与否都由你的造诣深度来决定,精则兴,不精则废。

来源:网络

围观 442

页面

订阅 RSS - 单片机