跳转到主要内容
国际橡塑展报名
国际橡塑展报名
国际橡塑展报名
国际橡塑展报名
国际橡塑展报名
国际橡塑展报名
【视频】Proteus入门到精通12

Proteus软件是英国Lab Center Electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前比较好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。

这一套Proteus教学视频是由up主wangxinmingqq花时间录制的,内容很全,既适合初学者,又适合对proteus有一定基础的人。

如何形成一个良好的编程风格(二)

<strong> 3、标识符</strong>

a、变量的命名

方法一:采用匈牙利命名法。命名规则的主要思想是“在变量中加入前缀以增进人们对程序的理解”。

例如平时声明32位整型变量Length对应使用匈牙利命名法为unLength。现在列出经常用到的变量类型。

变量类型 示例

char cLength

unsigned char ucLength

short int sLength

【下载】AN0003 MM32F103 常见问题解答

<strong>1. 系统时钟</strong>

<strong>1.1 外部高速时钟接法</strong>

外部无源晶振电路如下图所示,晶振两脚接约 22pf 电容,并上 1M 反馈电阻。因芯片内部没有集成反
馈电阻,为保证 XTAL 起振,必须接 1M 欧姆电阻;

We want you!2016灵动微电子校园招聘开始啦,招兵买马要的就是你!

各位小伙伴们,2016灵动微电子校园招聘要开始啦,加入我们,就趁现在!

<strong> 第一场:南京校园招聘会</strong>

2016年9月19下午: 南京邮电大学

2016年9月20上午:南京航空航天大学

2016年9月20下午: 河海大学

2016年9月21上午: 南京理工大学

2016年9月21下午: 东南大学

<strong> 具体岗位信息如下:</strong>

<strong>集成电路前端设计工程师</strong>

<strong>职位描述:</strong>

1、按照产品定义完成IP设计及系统设计;

如何形成一个良好的编程风格(一)

编程的总则:编程首要是要考虑程序的可行性,然后是可读性、可移植性、健壮性以及可测试性。大多数程序员只是关注程序的可行性,而忽略了可读性,可移植性和健壮性,其实我个人认为,程序的可行性和健壮性与程序的可读性有很大的关系,能写出可读性很好的程序的程序员,他写的程序的可行性和健壮性必然不会差,也会有不错的可移植性。程序的可读性需要程序员有一个良好的编程风格。

好风格应该成为一种习惯。如果你在开始写代码时就关心风格问题,如果你花时间去审视和改进它,你将会逐渐养成一种好的编程习惯。一旦这种习惯变成自动的东西,你的潜意识就会帮你照料许多细节问题,甚至你在工作压力下写出的代码也会更好。

<strong>1、排版</strong>

【视频】Proteus入门到精通11

Proteus软件是英国Lab Center Electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前比较好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。

这一套Proteus教学视频是由up主wangxinmingqq花时间录制的,内容很全,既适合初学者,又适合对proteus有一定基础的人。

老外揭秘:原来黑客是这么破解MCU的

这篇文章是俄国人Sergei P.Skorobogatov就读英吉利剑桥大学之博士论文,讲解了各种MCU的攻防技术,堪称一部小百科全书。对于志在研究MCU防护的筒子,能给你很多参考思路:但对于想当黑客的人,我们对后果概不负责!

C非侵入式攻击不需要对元器件进行初始化。攻击时可以把元器件放在测试电路中分析,也可单独连接元器件。一旦成功,这种攻击很容易普及,并且重新进行攻击不 需要很大的开销。另外,使用这种攻击不会留下痕迹。因此,这被认为是对任意元器件的硬件安全最大的威胁。同时,通常需要很多时间和精力来寻找对特定元器件 的非侵入式攻击方法。这通常对元器件进行反向工程,包括反汇编软件和理解硬件版图。

对ARM异常(Exceptions)的理解

ARM支持7种异常。问题时发生了异常后ARM是如何响应的呢?下面一起来学习一下:

所有的系统引导程序前面中会有一段类似的代码,如下:

<center><img src="http://mm32.eetrend.com/files/2016-09/wen_zhang_/100002849-9339-8ecbff5…; alt=""></center>

【下载】AN0004 基于IAR开发MM32

本应用笔记主要介绍了IAR for ARM集成开发环境及调试工具的安装,及在 IAR环境下添加 MM32 MCU Device ,建立一个 MM32 的 IAR项目及编译下载调试。

<strong>1、IAR EWARM 集成开发环境介绍与安装</strong>

<strong>1.1 IAR EWARM 简介</strong>

嵌入式工程师眼中应该有的人工智能概念!

作者:何立民

“思考”与“行为”是人类智能的两种类型。“思考”是大脑独立的思维方式,“行为”是作用于客体的智力表现。

两种不同的智能类型决定了人工智能两种形式、两条道、两种工具、两个领域。人工智能源自图灵机模型,图灵机在实现了人工智能的实用化智力内核(微处理器)后,迅速分化成两种不同的智力内核(通用微处理器与嵌入式微控制器),以满足人工智能两个领域的全面需求。

<strong>人类智能的两种表现</strong>

单片机有前途还是嵌入式有前途,你想过这个问题吗?

其实抛出这个问题的是吴坚鸿,下面是他在某论坛中写下的东西:

“我在深圳一直搞单片机的开发,接的项目各种各样,不计其数。很多朋友问我学习单片机有前途还是嵌入式系统有前途,毫无疑问的,当然是单片机有前途。

嵌入式系统现在炒得很火,满街到处都是嵌入式系统的培训。遇到很多刚入门的朋友,开口闭口都是嵌入式系统。好像觉得嵌入式系统就是武林秘诀,谁掌握了谁就是武林盟主。现在,我愿意公开我的独家心得跟大家分享,看了之后有收获的朋友,也不要感激我,只要记得这个文章的原创是吴坚鸿就可以了。

好文:细谈I2C和SPI总线协议

作者:ce123

<strong>IICvs SPI</strong>

现今,在低端数字通信应用领域,我们随处可见IIC (Inter-Integrated Circuit) 和 SPI (Serial Peripheral Interface)的身影。原因是这两种通信协议非常适合近距离低速芯片间通信。Philips(for IIC)和Motorola(for SPI) 出于不同背景和市场需求制定了这两种标准通信协议。

处在独特环境下的中国半导体业

中国半导体业处于一个独特的环境下,西方势力总是企图扼制中国半导体业的进步与发展,之前靠打与压的方法可能己不再是”最佳”方案,取而代之可能是形式上与中国的合作,共同发展。

如高通与中芯国际的28纳米制程;高通,IMEC,与中芯国际的14纳米制程研发;高通与贵州的服务器芯片合资公司;英特尔,清华与澜起的服务器芯片合作;AMD与天津海光合资,并授权使用x86处理器架构等。首先是应该表示欢迎,但也不要抱过高的期望,因为它们在什么时候都不会愿意培养自己的一个竞争对手呈现。

同样不要天真的认为”扼杀中国半导体业的大势己经改变?”。实质上它们的基点没有丝毫的动摇。只是由于中国是全球最大的IC市场,政府又愿意投资,以及自身不断的强大,从市场经济角度,从根本上谁也不会与money过不去。

使用Keil判断ARM的冷启动和热启动的方法

常把单片机系统的复位分为冷启动和热启动。所谓冷启动,也就是一般所说的上电复位,冷启动后片内外RAM的内容是随机的,通常是0x00或0xFF;单片机的热启动是通过外部电路给运行中的单片机的复位端一复位电平而实现的,也就是所说的按键复位或看门狗复位。复位后,RAM的内容都没有改变。在某些场合,必须区分出设备的重启是热重启还是冷重启。常用的方法是:确定某内存单位为标志位(如0x40003FF4~0x40003FF7 RAM单元),启动时首先读该内存单元的内容,如果它等于一个特定的值(例如为0xAA55AA55),就认为是热启动,否则就是冷启动。

根据以上的设计思路思路定义一个变量:

uint32 unStartFlag;

在程序启动时判断:

if(unStartFlag==0xAA55AA55)

{

ARM 7 用户模式下禁止/使能中断的一种方法--使用软中断 for Keil MDK

最近写一个程序,需要在用户模式下关中断,但ARM 7的体系结构决定了中断必须在特权模式下才可以更改,所以想到使用ARM的软中断来实现关中断和开中断。

使用软中断,首先要有硬件指令的支持,ARM有条指令是SWI。

SWI 指令的格式为:

SWI {条件} 24 位的立即数

SWI 指令用于产生软件中断,以便用户程序能调用操作系统的系统例程。操作系统在 SWI 的异常处理程序中提供相应的系统服务,指令中 24 位的立即数指定用户程序调用系统例程的类型,相关参数通过通用寄存器传递,当指令中 24 位的立即数被忽略时,用户程序调用系统例程的类型由通用寄存器 R0 的内容决定,同时,参数通过其他通用寄存器传递。

指令示例:

SWI 0x02 ;该指令调用操作系统编号位02的系统例程。

一文通晓各种开关电源拓扑

各种事物都有套路,开关电源的套路就是各种拓扑。对这些拓扑了然于胸,就能看清开关电源的本质。

为了表征各种电压或电流波形的好坏,一般都是拿电压或电流的幅值、平均值、有效值、一次谐波等参量互相进行比较。在开关电源之中,电压或电流的幅值和平均值最直观,因此,我们用电压或电流的幅值与其平均值之比,称为脉动系数S;也有人用电压或电流的有效值与其平均值之比,称为波形系数K。

因此,电压和电流的脉动系数Sv、Si以及波形系数Kv、Ki分别表示为:

Sv=Up/Ua——电压脉动系数

Si =Im/Ia——电流脉动系数

Kv=Ud/Ua——电压波形系数

Ki=Id/Ia——电流波形系数

单片机EMC设计需注意的要点

<strong>1、单片机的工作频率</strong>

<strong>1.1 单片机的设计应根据客户的需求来选择较低的工作频率</strong>

首先介绍一下这样做的优点:采用低的晶振和总线频率使得我们可以选择较小的单片机满足时序的要求,这样单片机的工作电流可以变得更低,最重要的是VDD到VSS的电流峰值会更小。

当然我们这里需要做一个妥协,因为客户的要求可能是兼容的和平台化的(目前汽车电子的发展趋势就是平台化),选择较高的工作频率可以兼容更多的平台,也方便以后升级和扩展,因此要选择一个较低的可以接受的工作频率。

<strong>2、恰当的输出驱动能力</strong>

有趣的keil MDK细节

<strong>1、MDK中的char类型的取值范围是? </strong>

在MDK中,默认情况下,char 类型的数据项是无符号的,所以它的取值范围是0~255。它们可以显式地声明为signed char 或 unsigned。因此,定义有符号char类型变量,必须用signed显式声明。我曾读过一本书,其中有一句话:“signed关键字也是很宽宏大量,你也可以完全当它不存在,在缺省状态下,编译器默认数据位signed类型”,这句话便是有异议的,我们应该对自己所用的CPU构架以及编译器熟练掌握。

<strong>2、赋初值的全局变量和静态变量,初值被放在什么地方?</strong>

Cortex-M3 .s启动文件分析

<strong>1、基本概念(CMSIS):</strong>

Cortex Micro-controller Software Interface Standard,微控制器软件接口标准。

<strong>2、CMSIS标准的文件结构:</strong>

a) core_cm.c (stdint.h)

b) system_.c (core_cm, system_)

c) startup_.s

其中core_cm.c以及core_cm中为内核外设访问层,其中定义了内核中的外设以及一些内核的访问及控制函数。
startup_.s文件是系统的启动文件,其包括堆和栈的初始化配置、中断向量表的配置以及将程序引导到main()函数等功能。

IOT是驱动MCU软件技术的洪荒之力?

8048的面世标志着控制专用CPU MCU(Microcontroller Unit)的延生,而作为互联网基石的PC,其CPU8088却是在3年以后的1979年才出现。自1979年以后,PC的CPU从16位、4.77MHz时钟、单核发展到了今天的64位、常见的3GHz时钟和多核。而比PC的CPU历史悠久的MCU,其字节停止在32位已有10多年了。相对于芯片,MCU软件技术进展更慢,在PC机软件开发已由工厂化发展到全社会协同的今天,MCU软件技术仍停留在单打独斗的个人英雄时代。