bga封装的芯片怎么连接到fpga和单片机的区别或者fpga 的引脚呢

查看: 8198|回复: 3
漫谈可编程芯片
讲得不错,谢谢了
Powered by技术小站:
地点:西安
时间:11月16日 14:00 - 17:00
地点:东莞
时间:11月9日 14:00 - 17:00
地点:深圳
时间:11月8日 13:00 - 17:30
地点:深圳
时间:11月2日 14:00 - 17:00
自己动手定制51开发板PCB
高速PCB模块化电路设计实战
韦东山Linux工作驱动程序编写
李述铜从0到1学会使用RTOS
张飞电子视频全套共十部
讲师:孟瑞生
讲师:林超文
讲师:李述铜
讲师:郑振宇
移入鼠标可放大二维码
各类芯片封装简介
来源:ZLG致远电子 作者:厂商供稿日 14:50
[导读] 日常工作中,电子工程师会经常接触到各种类型的IC,比如逻辑芯片、存储芯片、MCU或者FPGA等,对于它们的功能特性,工程师们或许会比较清楚,但讲到IC的封装,不知道了解多少?
日常工作中,电子工程师会经常接触到各种类型的IC,比如逻辑芯片、存储芯片、MCU或者FPGA等,对于它们的功能特性,工程师们或许会比较清楚,但讲到IC的封装,不知道了解多少?
这里将介绍一些常用的IC封装原理及功能特性,通过了解各种类型IC的封装,电子工程师在设计电子电路原理时,可以准确地选择IC,而对于工厂批量生产烧录,更可以快速地找到对应IC封装的烧录座型号。
一、DIP双列直插式封装
DIP是指采用双列直插形式封装的集成电路芯片,绝大多数中小规模集成电路(IC)均采用这种封装形式,其引脚数一般不超过100个。采用DIP封装的IC有两排引脚,需要插入到具有DIP结构的芯片插座上。当然,也可以直接插在有相同焊孔数和几何排列的电路板上进行焊接。DIP封装的芯片在从芯片插座上插拔时应特别小心,以免损坏引脚。
DIP封装具有以下特点:
u 适合在PCB(印刷电路板)上穿孔焊接,操作方便。
u 芯片面积与封装面积之间的比值较大,故体积也较大。
DIP是最普及的插装型封装,应用范围包括标准逻辑IC,存储器和微机电路等。
图1 DIP封装图
二、QFP/ PFP类型封装
QFP/PFP封装的芯片引脚之间距离很小,管脚很细,一般大规模或超大型集成电路都采用这种封装形式。用这种形式封装的芯片必须采用SMD(表面安装设备技术)将芯片与主板焊接起来。采用SMD安装的芯片不必在主板上打孔,一般在主板表面上有设计好的相应管脚的焊点。将芯片各脚对准相应的焊点,即可实现与主板的焊接。
QFP/PFP封装具有以下特点:
u 适用于SMD表面安装技术在PCB电路板上安装布线。
u 成本低廉,适用于中低功耗,适合高频使用。
u 操作方便,可靠性高。
u 芯片面积与封装面积之间的比值较小。
u 成熟的封转类型,可采用传统的加工方法。
目前QFP/PFP封装应用非常广泛,很多MCU 厂家的A芯片都采用了该封装。
图2 QFP封装图
三、BGA类型封装
随着集成电路技术的发展,对集成电路的封装要求更加严格。这是因为封装技术关系到产品的功能性,当IC的频率超过100MHZ时,传统封装方式可能会产生所谓的&CrossTalk&现象,而且当IC的管脚数大于208 Pin时,传统的封装方式有其困难度。因此,除使用QFP封装方式外,现今大多数的高脚数芯片皆转为使用BGA(BALL Grid Array PACKAGE)封装技术。
BGA封装具有以下特点:
u I/O引脚数虽然增多,但引脚之间的距离远大于QFP封装方式,提高了成品率。
u BGA的阵列焊球与基板的接触面大、短,有利于散热。
u BGA阵列焊球的引脚很短,缩短了信号的传输路径,减小了引线电感、电阻;信号传输延迟小,适应频率大大提高,因而可改善电路的性能。
u 组装可用共面焊接,可靠性大大提高。
u BGA适用于MCM封装,能够实现MCM的高密度、高性能。
图3 BGA封装图
四、SO类型封装
SO类型封装包含有:SOP(小外形封装)、TOSP(薄小外形封装)、SSOP (缩小型SOP)、VSOP(甚小外形封装)、SOIC(小外形集成电路封装)等类似于QFP形式的封装,只是只有两边有管脚的芯片封装形式,该类型的封装是表面贴装型封装之一,引脚从封装两侧引出呈& L& 字形。
该类型的封装的典型特点就是在封装芯片的周围做出很多引脚,封装操作方便,可靠性比较高,是目前的主流封装方式之一,目前比较常见的是应用于一些存储器类型的IC。
图4 SOP封装图
五、QFN封装类型
QFN是一种无引线四方扁平封装,是具有外设终端垫以及一个用于机械和热量完整性暴露的芯片垫的无铅封装。
该封装可为正方形或长方形。封装四侧配置有电极触点,由于无引脚,贴装占有面积比QFP 小,高度 比QFP 低。
QFN封装的特点:
u 表面贴装封装,无引脚设计;
u 无引脚焊盘设计占有更小的PCB面积;
u 组件非常薄(《1mm),可满足对空间有严格要求的应用;
u 非常低的阻抗、自感,可满足高速或者微波的应用;
u 具有优异的热性能,主要是因为底部有大面积散热焊盘;
u 重量轻,适合便携式应用。
QFN封装的小外形特点,可用于笔记本电脑、数码相机、个人数字助理(PDA)、移动电话和MP3等便携式消费电子产品。从市场的角度而言,QFN封装越来越多地受到用户的关注,考虑到成本、体积各方面的因素,QFN封装将会是未来几年的一个增长点,发展前景极为乐观。
图5 BGA封装图
六、PLCC封装类型
PLCC是一种带引线的塑料的芯片封装载体。表面贴装型的封装形式,引脚从封装的四个侧面引出,呈&丁&字形,外形尺寸比 DIP封装小得多。PLCC封装适合用SMT表面安装技术在PCB上安装布线,具有外形尺寸小、可靠性高的优点。
PLCC为特殊引脚芯片封装,它是贴片封装的一种,这种封装的引脚在芯片底部向内弯曲,因此在芯片的俯视图中是看不见芯片引脚的。这种芯片的焊接采用回流焊工艺,需要专用的焊接设备,在调试时要取下芯片也很麻烦,现在已经很少用了。
图6 PLCC封装图
由于IC的封装类型繁多,对于研发测试,影响不大,但对于工厂的大批量生产烧录,IC封装类型越多,那么选择对应配套的烧录座型号也会越多。ZLG致远电子十多年来专业于芯片烧录行业,其编程器支持并提供有各种封装类型IC的烧录座,可供工厂批量生产。
图7 P800Flash编程器
关注电子发烧友微信
有趣有料的资讯及技术干货
下载发烧友APP
打造属于您的人脉电子圈
关注发烧友课堂
锁定最新课程活动及技术直播
声明:电子发烧友网转载作品均尽可能注明出处,该作品所有人的一切权利均不因本站而转移。
作者如不同意转载,既请通知本站予以删除或改正。转载的作品可能在标题或内容上或许有所改动。
dip相关文章
dip相关下载
qfn相关文章
qfn相关下载
qfp相关文章
qfp相关下载
bga相关文章
bga相关下载
论坛精华干货
供应链服务
商务及广告合作
Jeffery Guo
关注我们的微信
供应链服务 PCB/IC/PCBA
版权所有 (C) 深圳华强聚丰电子科技有限公司
电信与信息服务业务经营许可证:粤B2-BGA封装的FPGA焊接检验
当一块电路板上的BGA封装的FPGA焊接好后.在焊接其它电路之前最好先检验一下,BGA的焊接是否有问题.
1.检查各个给FPGA供电的电源到地是否有短路,若有,则BGA的焊接很可能有问题.
2.焊接好JTAG接口的相关电路,配置相关的电路,时钟相关的电路.给FPGA的IO和内核接上要求的直流电源,下载一个锁相环电路到FPGA,
若该锁相环能正常工作(如能实现分频),则说明关键引脚的焊接没有问题.
若1,2两步均无问题,则说明BGA的焊接,在关键引脚是没有问题的,这时可以焊接电路板上其他部分电路.
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。颠覆传统的小脚丫FPGA资料分享,电路城首发
小脚丫身世:可编程逻辑的设计方法从根本上改变了现代数字电路的设计,不管是从最简单的与非门还是到最复杂的SoC。通过一句句硬件描述语言可编程逻辑器件FPGA帮我们实现了各种数字电路,这一切显得十分神奇又十分神秘。目前市场上有各种各样的FPGA开发板,它们不是功能太复杂,使用门槛太高就是核心芯片老旧,几乎要被淘汰。Step团队经过精心挑选,打造了小脚丫一代FPGA开发板,为大家提供一个非常酷,实用,且入门简单的学习开发平台。小脚丫特点:
食指大小,目前最小的FPGA开发板DIP40封装,大小只有52mm*18mm,即插即用,免除了设计中复杂的布线和制版,大幅降低成本。
USB供电,自带板载编程器,无需额外配置FPGA下载线,精心挑选性价比最高最适合多数电子应用的FPGA芯片LCMXO2-1200内嵌Flash模块,综合FPGA 和CPLD的优点,上电瞬时启动无需从外部重新配置FPGA。
0.5mm pitch的BGA封装省时,省心,省力,省钱,免去重新设计4层以上的板卡即可享受FPGA小巧的BGA封装产品。
免费的设计工具 ,上手容易 ,无需再到处寻找最新破解软件,实用,入门简单既可作学习数字逻辑的FPGA开发板,也可作核心功能模块适合各种DIY和原型设计小脚Y产品参数资料分享:
软件安装包:LCMXO2-1200HC-4MG132C芯片数据手册_boardSetp_FPGA_Pin
电路相关文件(请在PC端查看下载)
电路城电路折扣劵获取途径:
电路城7~10折折扣劵(全场通用):对本电路进行评分获取;
电路城6折折扣劵(限购≤100元电路):申请成为卖家,上传电路,审核成功后获取。
版权声明:电路城所有电路均源于网友上传或网上搜集,供学习和研究使用,其版权归原作者所有,对可以提供充分证据的侵权信息,本站将在确认后24小时内删除。对本电路进行投诉建议,点击反馈给电路城。
使用说明:直接使用附件资料或需要对资料PCB板进行打样的买家,请先核对资料的完整性,如果出现问题,电路城不承担任何经济损失!
大家都在看:
电路城是集电路图、库、代码交易于一体的电路交易平台,11.8~11.14至电路城购特价电路,真低价,不用等!特惠时间:日& 日请点击以下电路标题,进入查看电路详情以及购买一元购(毕业设计)基于51单片机车流量检测电路(原理图+PCB+程序+论文)
特价(¥1) 原价(¥10)AD元器件库文件和封装库文件 自己积累+公司积累
特价(¥1)
原价(¥5)基于STM32F4的解魔方机器人-stm32大赛二等奖(有视频)
特价(¥1)
原价(¥20)WiFi视频小车制作(原理图,上位机、下位机代码) 特价(¥1)
原价(¥10)(毕业设计)单片机钞票识别系统设计
特价(¥1) 原价(¥20)小米3维修电路图,底板点位图
特价(¥1) 原价(¥3)STM32F103C8T6最小系统,自带ST_link下载器(原理图、PCB、驱动等,有实物)
¥1【校赛二等奖】 STM32单片机EMWIN界面测温型集成恒流源的温度巡检仪
¥1更多优惠项目电路(毕业设计)指纹语音密码锁设计(原理图+PCB+源程序等)
特价(¥5)原价(¥30)基于机智云与stc89c52单片机的物联网LED测试
特价(¥10) 原价(¥20)RTL8211E芯片接口网卡原理图+PCB源文件
特价(¥5)原价(¥15)全志A10开发板原理图+PCB源文件 特价(¥10)原价(¥20)智能家居监控管理系统(参赛获奖作品) 特价(¥99) 原价(¥199)
来自:时间:
1、设计要求基于小脚丫FPGA开发板设计带数码管显示倒计时的交通灯系统,要求:
1)一个道路绿灯持续时间25S,红灯持续时间10S,黄灯持续时间3S;
2)另一道路绿灯持续时间10S,红灯持续时间25S,黄灯持续时间3S;
3)第一位数码管和第二位数码管显示倒计时;2、硬件连接FPGA的系统时钟来自于小脚丫FPGA开发板配置的25MHz时钟晶振,连接FPGA的C1引脚。本设计除了时钟和复位键以外没有其他的输入,故只用到一个按键K6硬件设计如图1所示,按键连接到FPGA的B1引脚。图1、复位键硬件设计设计中需要两个RGB的led进行交通灯显示的呈现,每一个RGB的LED都有三个引脚需要跟小脚丫连接在一起。两个LED跟小脚丫FPGA开发板之间的连接关系如图2所示,对应的管脚如下。图2、RGB_LED硬件连接设计中需要使用数码管进行倒计时的显示,小脚丫通过74HC595来控驱动和控制数码管。74HC595跟小脚丫FPGA开发板之间的连接关系如图3所示,对应的管脚如下。图3、数码管驱动74HC595硬件连接3、工作原理和状态转换
1)使用计数器做分频处理,得到周期为1秒的脉冲信号clk_1h;
2)使用一个6bit的BCD码表示倒计时时间的值,其中高2bit表示值的十位,低4bit表示值的个位;
3)用以下四个状态分别表示交通灯不同的显示;
S0: 大路绿灯亮,小路红灯亮,持续25S;
大路黄灯(蓝灯)亮,小路红灯持续3S;
大路红灯亮,小路绿灯亮,持续10S;
大路红灯亮,效率黄灯(蓝灯)亮,持续3S;
得到状态转换图如下:图4、交通灯状态转换图4、代码设计为了实现所需要的功能,我们将整个设计在顶层划分为五个不同的模块,如图5所示。图5、交通灯程序框图4.1 clock_division模块Clock_division模块主要实现数字时钟的模式控制,程序代码截图如下:4.2 Curren_state模块这部分代码的作用是将次态赋值给当前态,这是三段式的标志性模块。该模块程序代码截图如下:4.3 Output&count模块这部分代码可以说是整个代码的核心部分,交通灯的显示在这部分完成。此外,这一部分还负责进行倒计时,这部分的代码将即使数字分为个位和十位进行分别倒计时。此举有利用后面对74HC595驱动数码管的代码进行调用。其序代码截图如下:4.4 CubeDisplay模块这部分代码用于74HC595的控制,以使得数码管能够按照计划进行倒计时显示。这部分代码截图如下:5、系统运行图6、系统运行视频地址:优酷视频(基于小脚丫FPGA的倒计时交通灯):/v_show/id_XMTU0NDI4NjQ1Mg==.html6、资源报告
时钟计数分频
三段式程序段的编写
串行/并行转换
74HC595控制9、相关文件
Traffic_Light
交通灯状态转换和灯显示,以及顶层模块功能
倒计时显示模块
来自:时间:
1、设计要求基于小脚丫FPGA开发板和四位数码管实现数字时钟的设计,要求:1)采用FPGA+按键+四位数码管实现数字时钟功能;2)时间显示格式:XX:XX:XX (时:分:秒),采用24小时制;3)四位数码管显示时分秒,可以通过按键控制选择显示时分界面还是分秒界面。4)通过按键设定初始时间。5)设置在整点12点时,通过蜂鸣器响示意整点报时。蜂鸣器响维持大概5S;2、硬件连接FPGA的系统时钟来自于小脚丫FPGA开发板配置的24MHz时钟晶振,连接FPGA的C1引脚。本设计用到五个个按键K1~K5,硬件设计如图1所示,五个按键分别连接到FPGA的B8、C8、A10、A11和A12引脚。图1. 按键硬件设计本设计用到一个蜂鸣器来示意整点报时,硬件设计如图1所示,蜂鸣器连接到FPGA的B2引脚。图2. 蜂鸣器硬件设计本设计用到四位数码管来显示时间,四位数码管用两个74HC595驱动,硬件设计如图1所示,74HC595的串行时钟SCK、并行时钟RCK和串行数据DIN分别连接到FPGA的N2、M1和K1引脚上。图3. 数码管驱动74HC595硬件设计3、工作原理1)使用计数器做分频处理,得到周期为1秒的脉冲信号;2)使用三个8bit的BCD码表示时钟、分钟、秒钟的值,其中高4bit表示值的十位,低4bit表示值的个位;3)正常运行时,每来一个1S脉冲信号个位加1,个位满10清零同时十位加1,当秒钟满60清零同时分钟个位加1,依次进行...直到23:59:59的下一刻全部清零;4)按键K5,模式调节,设计共分4中模式(分秒显示、分秒调节、时分显示、时分调节),按动K5依次切换模式;5)按键K2,时间调节,当数字时钟在时针调节、分针调节或秒针调节模式时,按动K2调节对应时间位;6)在调时分和调分秒两个状态,可以通过K4和K2键分别左移右移要调整的位,要调整的位会通过对应位的闪烁来示意。通过K4和 K2左右移动选择好要调整的位以后,就可以通过K1和K3来增大或调小对应的位;4、代码设计为了实现所需要的功能,我们将整个设计划分不同的模块,如图4所示。图4. 数字时钟程序设计框架4.1
五位按键消抖模块图5. 五位按键消抖模块 ?输入:五位的按键电平信息输入 ?输出:五位消抖后的脉冲输出 ?功能:将按键按下一次的电平信号,经过消抖后变成一个维持一个时钟周期的脉冲信号; ?原理:图6. 按键抖动特性FPGA过20ms检测按键是否按下,存储检测到的值,并且按位取反与前一个20ms检测的值相与,得到一个值,如果为1,则判断按键按下,否则则无按下。图7.
FPGA按键的理解示意图4.2 电子表显示控制模块。图8. 电子表显示控制模块 ?输入:五位的按键脉冲 ?输出:十六位的BCD码输出,每四个代表一个十进制数; ?原理:四位的位闪烁控制信号。某一位为一代表这位对应的数码管的一位进行闪烁显示。(在调整状态下,会让当前调整的哪一位进行闪烁。正常显示状态下seg_flash_data全为零); ?功能:主要就是一个状态机,通过检查输入的按键信息,进行显示状态切换,时间调整。四个状态分别为:显示分秒,调分秒,时分显示,调时分;当K5按键按下(key_pulse[4])时依次跳转,如图9所示。图 9. 数字时钟状态控制设计4.3 数码管译码模块图10. 数码管译码模块 ?输入:四位的BCD码数据 ?输出:八位的七段数码数据 ?功能:一个case语句,将输入的四位BCD码转化为七段数码数据; ?原理:数码管分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管,共阳极(COM)需接+5V才能使其工作。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码,共阴极(COM)需接GND才能使其工作。小脚丫拓展板上的数码管如下图所示:图11. 数码管内部电路共阴极数码管:位选为低电平(即0)选中数码管;各段选为高电平(即接+5V时)选中各数码段;由0到f的编码为:4.4 四位数码管显示控制模块。图12. 数码管显示控制模块 ?输入:四个八位的七段数码管数据和位闪烁控制信号seg_flash_data.
?输出:需要串行输出给74HC595的十六位数据; ?功能:模块就是循环的将四位七段数码数据,组合一个十六位的输出数据;4.5 74HC595驱动功能模块图13. 74HC595驱动功能模块 ?输入:十六位的位选段选数据。 1)duan_wei_data[13:0]分别对应: 2)[ X,X,H+,H-,DIG4,DIG3,DIG2,DIG1,DP,G,F,E,D,C,B,A] ; ?输出:SPI接口输出,串行输出十六位位选段选信号; ?功能:将输入的并行的十六位的位选段选数据通过SPI接口转化为串行输出; ?原理:详见Text8.数码管显示及74HC595芯片资料5、系统运行图14. 系统运行视频地址:/v_show/id_XMTM5MDE4OTE2MA==.html?from=s1.8-1-1.26、资源报告
7、知识点?时钟计数分频?按键消抖处理?功能建模?波形仿真?SPI时序实现?74HC575数码管驱动原理8、参考文档Lattice MachXO2数据手册9、相关文件
Watch_system
顶层模块,将所有功能模块接口连接起来
Clock_control_module
实现数字钟的计时,调整,整点报时功能
Key_jitter
实现按键消抖
Smg_encoder_module
实现BCD码到数码管段码的转换
Seg595_control_module
循环送出每位数码管段位数据
Seg595_function_module
实现SPI时序,十六位的段位数据串行移入74HC595
来自:时间:
基于stm32和小脚丫FPGA的任意波形发生器设计概述:
首先通过对直接数字频率合成技术的基本原理及理论基础进行研究,通过stm32控制FPGA来配置输出波形的参数,FPGA加高速DA转换器产生原始的波形,经过无源滤波器后控制增益与直流偏置,最后输出。后面针对stm32外设控制、stm32与FPGA的SPI通讯、FPGA波形输出与DAC配置、无源滤波设计、增益控制与直流偏置控制5个模块进行硬件设计与软件的实现。基于stm32和小脚丫FPGA的任意波形发生器技术参数:输出频率范围:1Hz-40MHz预设100Hz 1KHz 100KHz 1MHz 20MHz;相位控制:0
270 ;波形选择:正弦波、方波、锯齿波、三角波;方波占空比:10% 、20% 、 30% 、 40 % 、50 % 、60 % 、70 % 、80 % 、90% 可调;增益控制:-10dB-+18dB 8档可调;直流偏置:1v-2v 8档可调;调制:ASK、FSK、PSK;
来自:时间:
可编程逻辑类型
FPGA芯片厂商
2017 年 03 月 02日
吹泡泡的yu购买了:
Maidorns购买了:
zhmili购买了:
三哥&三叔购买了:
ziliao0903购买了:
ziliao0903购买了:
黑键。购买了:
TCWU购买了:
免费下载!
您想购买此电路吗?,上传电路,审核成功后获取电路城6折折扣劵。
6折折扣劵只能购买小于100元(含100元)的电路。简介/单片机
单片机单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等 。
应用分类/单片机
单片机作为计算机发展的一个重要分支领域,根据目前发展情况,从不同角度单片机大致可以分为通用型/专用型、总线型/非总线型及工控型/家电型。
通用型/专用型
这是按单片机适用范围来区分的。例如,80C51是通用型单片机,它不是为某种专用途设计的;专用型单片机是针对一类产品甚至某一个产品设计生产的,例如为了满足电子体温计的要求,在片内集成ADC接口等功能的温度测量控制电路。
总线/非总线型
这是按单片机是否提供并行总线来区分的。总线型单片机单片机普遍设置有并行地址总线、&数据总线、控制总线,这些引脚用以扩展并行外围器件都可通过串行口与单片机连接,另外,许多单片机已把所需要的外围器件及外设接口集成一片内,因此在许多情况下可以不要并行扩展总线,大大减省封装成本和芯片体积,这类单片机称为非总线型单片机。
控制型/家电型
这是按照单片机大致应用的领域进行区分的。一般而言,工控型寻址范围大,运算能力强;用于家电的单片机多为专用型,通常是小封装、低价格,外围器件和外设接口集成度高。&显然,上述分类并不是惟一的和严格的。例如,80C51类单片机既是通用型又是总线型,还可以作工控用。
发展历史/单片机
单片机单片机诞生于1971年,经历了SCM、MCU、SoC三大阶段,早期的SCM单片机都是8位或4位的。其中最成功的是INTEL的8031,此后在8031上发展出了MCS51系列MCU系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大提高。随着INTEL&i960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。
而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。目前,高端的32位Soc单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端的型号也只有10美元。
当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。主要阶段
SCM即单片微型计算机(Single&Chip&Microcomputer)阶段,主要是寻求最佳的单片形态嵌入式系统的最佳体系结构。“创新模式”获得成功,奠定了SCM与通用计算机完全不同的发展道路。在开创嵌入式系统独立发展道路上,Intel公司功不可没。&
MCU即微控制器(Micro&Controller&Unit)阶段,主要的技术发展方向是:不断扩展满足嵌入式应用时,对象系统要求的各种外围电路与接口电路,突显其对象的智能化控制能力。它所涉及的领域都与对象系统相关,因此,发展MCU的重任不可避免地落在电气、电子技术厂家。从这一角度来看,Intel逐渐淡出MCU的发展也有其客观因素。在发展MCU方面,最著名的厂家当数Philips公司。
Philips公司以其在嵌入式应用方面的巨大优势,将MCS-51从单片微型计算机迅速发展到微控制器。因此,当我们回顾嵌入式系统发展道路时,不要忘记Intel和Philips的历史功绩。
SoC嵌入式系统(System&on&Chip)式的独立发展之路,向MCU阶段发展的重要因素,就是寻求应用系统在芯片上的最大化解决,因此,专用单片机的发展自然形成了SoC化趋势。随着微电子技术、IC设计、EDA工具的发展,基于SoC的单片机应用系统设计会有较大的发展。因此,对单片机的理解可以从单片微型计算机、单片微控制器延伸到单片应用系统。早期发展史1971年intel公司研制出世界上第一个4位的微处理器;Intel公司的霍夫研制成功世界上第一块4位微处理器芯片Intel&4004,标志着第一代微处理器问世,微处理器和微机时代从此开始。因发明微处理器,霍夫被英国《经济学家》杂志列为“二战以来最有影响力的7位科学家”之一。
1971年11月,Intel推出MCS-4微型计算机系统(包括4001&ROM芯片、4002&RAM芯片、4003移位寄存器芯片和4004微处理器)其中4004(下图)包含2300个晶体管,尺寸规格为3mm×4mm,计算性能远远超过当年的ENIAC,最初售价为200美元。
1972年4月,霍夫等人开发出第一个8位微处理器Intel&8008。由于8008采用的是P沟道MOS微处理器,因此仍属第一代微处理器。
1973年intel公司研制出8位的微处理器年8月,霍夫等人研制出8位微处理器Intel&8080,以N沟道MOS电路取代了P沟道,第二代微处理器就此诞生。
主频2MHz的8080芯片运算速度比8008快10倍,可存取64KB存储器,使用了基于6微米技术的6000个晶体管,处理速度为0.64MIPS(Million&Instructions&Per&Second&)。
1975年4月,MITS发布第一个通用型Altair&8800,售价375美元,带有1KB存储器。这是世界上第一台微型计算机。
1976年intel公司研制出MCS-48系列8位的单片机,这也是单片机的问世。
Zilog公司于1976年开发的Z80微处理器,广泛用于微型计算机和工业自动控制设备。当时,Zilog、Motorola和Intel在微处理器领域三足鼎立。
20世纪80年代初,Intel公司在MCS-48系列单片机的基础上,推出了MCS-51系列8位高档单片机。MCS-51系列单片机无论是片内RAM容量,I/O口功能,系统扩展方面都有了很大的提高。
硬件特性/单片机
单片机1、主流单片机包括CPU、4KB容量的ROM、128&B容量的RAM、&2个16位定时/计数器、4个8位并行口、全双工串口行口、ADC/DAC、SPI、I2C、ISP、IAP。
2、系统结构简单,使用方便,实现模块化。
3、单片机可靠性高,可工作到10^6&~10^7小时无故障。
4、处理功能强,速度快。
5、低电压,低功耗,便于生产便携式产品。
6、控制功能强。
7、环境适应能力强。
基本结构/单片机
运算器运算器由运算部件——算术逻辑单元(Arithmetic&&&Logical&Unit,简称ALU)、累加器和寄存器等几部分组成。ALU的作用是把传来的数据进行算术或逻辑运算,输入来源为两个8位数据,分别来自累加器和数据寄存器。ALU能完成对这两个数据进行加、减、与、或、比较大小等操作,最后将结果存入累加器。例如,两个数6和7相加,在相加之前,操作数6放在累加器中,7放在数据寄存器中,当执行加法指令时,ALU即把两个数相加并把结果13存入累加器,取代累加器原来的内容6。
运算器有两个功能:
(1)&执行各种算术运算。
(2)&执行各种逻辑运算,并进行逻辑测试,如零值测试或两个值的比较。
运算器所执行全部操作都是由控制器发出的控制信号来指挥的,并且,一个算术操作产生一个运算结果,一个逻辑操作产生一个判决。控制器控制器由程序计数器、指令寄存器、指令译码器、时序发生器和操作控制器等组成,是发布命令的“决策机构”,即协调和指挥整个微机系统的操作。其主要功能有:
(1)&从内存中取出一条指令,并指出下一条指令在内存中的位置。
(2)&对指令进行译码和测试,并产生相应的操作控制信号,以便于执行规定的动作。
(3)&指挥并控制CPU、内存和输入输出设备之间数据流动的方向。
微处理器内通过内部总线把ALU、计数器、寄存器和控制部分互联,并通过外部总线与外部的存储器、输入输出接口电路联接。外部总线又称为系统总线,分为数据总线DB、地址总线AB和控制总线CB。通过输入输出接口电路,实现与各种外围设备连接。主要寄存器(1)累加器A
累加器A是微处理器中使用最频繁的寄存器。在算术和逻辑运算时它有双功能:运算前,用于保存一个操作数;运算后,用于保存所得的和、差或逻辑运算结果。
(2)数据寄存器DR
数据寄存器通过数据总线向存储器和输入/输出设备送(写)或取(读)数据的暂存单元。它可以保存一条正在译码的指令,也可以保存正在送往存储器中存储的一个数据字节等等。
(3)指令寄存器IR和指令译码器ID
指令包括操作码和操作数。指令寄存器是用来保存当前正在执行的一条指令。当执行一条指令时,先把它从内存中取到数据寄存器中,然后再传送到指令寄存器。当系统执行给定的指令时,必须对操作码进行译码,以确定所要求的操作,指令译码器就是负责这项工作的。其中,指令寄存器中操作码字段的输出就是指令译码器的输入。
(4)程序计数器PC
PC用于确定下一条指令的地址,以保证程序能够连续地执行下去,因此通常又被称为指令地址计数器。在程序开始执行前必须将程序的第一条指令的内存单元地址(即程序的首地址)送入PC,使它总是指向下一条要执行指令的地址。
(5)地址寄存器AR
地址寄存器用于保存当前CPU所要访问的内存单元或I/O设备的地址。由于内存与CPU之间存在着速度上的差异,所以必须使用地址寄存器来保持地址信息,直到内存读/写操作完成为止。
显然,当CPU向存储器存数据、CPU从内存取数据和CPU从内存读出指令时,都要用到地址寄存器和数据寄存器。同样,如果把外围设备的地址作为内存地址单元来看的话,那么当CPU和外围设备交换信息时,也需要用到地址寄存器和数据寄存器。
应用范围/单片机
单片机目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械以及各种智能机械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。
单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:智能仪器单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、电流、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。例如精密的测量设备(电压表、功率计,示波器,各种分析仪)。工业控制&单片机具有体积小、控制功能强、功耗低、环境适应能力强、扩展灵活和使用方便等优点,用单片机可以构成形式多样的控制系统、数据采集系统、通信系统、信号检测系统、无线感知系统、测控系统、机器人等应用控制系统。例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。家用电器现在的家用电器广泛采用了单片机控制,从电饭煲、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备和白色家电等。网络和通信现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。医用设备领域单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。模块化系统某些专用单片机设计用于实现特定功能,从而在各种电路中进行模块化应用,而不要求使用人员了解其内部结构。如音乐集成单片机,看似简单的功能,微缩在纯电子芯片中(有别于磁带机的原理),就需要复杂的类似于计算机的原理。如:音乐信号以数字的形式存于存储器中(类似于ROM),由微控制器读出,转化为模拟音乐电信号(类似于声卡)。在大型电路中,这种模块化应用极大地缩小了体积,简化了电路,降低了损坏、错误率,也方便于更换。汽车电子单片机在汽车电子中的应用非常广泛,例如汽车中的发动机控制器,基于CAN总线的汽车发动机智能电子控制器、GPS导航系统、abs防抱死系统、制动系统、胎压检测等。此外,单片机在工商、金融、科研、教育、电力、通信、物流和国防航空航天等领域都有着十分广泛的用途。
学习方法/单片机
基础理论单片机基础理论知识包括模拟电路、数字电路和C语言知识。模拟电路和数字电路属于抽象学科,要把它学好还得费点精神。在你学习单片机之前,觉得模拟电路和数字电路基础不好的话,不要急着学习单片机,应该先回顾所学过的模拟电路和数字电路知识,为学习单片机加强基础。否则,你的单片机学习之路不仅会很艰难和漫长,还可能半途而废。扎实的电子技术基础是学好单片机的关键,直接影响单片机学习入门的快慢。有些同学觉得单片机很难,越学越复杂,最后学不下去了。有的同学看书时似乎明白了,可是动起手来却一塌糊涂,究其原因就是电子技术基础没有打好,首先被表面知识给困惑了。
单片机属于数字电路,其概念、术语、硬件结构和原理都源自数字电路,如果数字电路基础扎实,对复杂的单片机硬件结构和原理就能容易理解,就能轻松地迈开学习的第一步,自信心也会树立起来。相反,基础不好,这个看不懂那个也弄不明白,越学问题越多,越学越没有信心。如果你觉得单片机很难,那就应该先放下单片机教材,去重温数字电路,搞清楚触发器、寄存器、门电路、COMS电路、时序逻辑和时序图、进制转换等理论知识。理解了这些知识之后再去看看单片机的结构和原理,我想你会大彻大悟,信心倍增。
模拟电路是电子技术最基础的学科,她让你知道什么是电阻、电容、电感、二极管、三极管、场效应管、放大器等等以及它们的工作原理和在电路中的作用,这是学习电子技术必须掌握的基础知识。一般是先学习模拟电路再去学习数字电路。扎实的模拟电路基础不仅让你容易看懂别人设计的电路,而且让你的设计的电路更可靠,提高产品质量。
单片机的学习离不开编程,在所有的程序设计中C语言运用的最为广泛。C语言知识并不难,没有任何编程基础的人都可以学,在我看来,初中生、高中生、中专生、大学生都能学会。当然,数学基础好、逻辑思维好的人学起来相对轻松一些。C语言需要掌握的知识就那么3个条件判断语句、3个循环语句、3个跳转语句和1个开关语句。别小看这10个语句,用他们组合形成的逻辑要多复杂有多复杂。学习时要一条语句一条语句的学,学一条活用一条,全部学过用过这些关键语句后,相信你的C基础建立了。
当基础打好以后,你会感觉到单片机不再难学了,而且越学越起劲。当单片机乖乖的依照你的逻辑思维和算法去执行指令,实现预期控制效果的时候,成就感会让你信心十足、夜以续日、废寝忘食的投入到单片机的世界里。可以这么说,扎实的电子技术基础和C语言基础能增强学习单片机信心,较快掌握单片机技术。实验实践这是真正学习单片机的过程,既让人兴奋又让人疲惫,既让人无奈又让人不服,既让人孤独又让人充实,既让人气愤又让人欣慰,既有失落感又有成就感。其中的酸甜苦辣只有学过的人深有体会。思想上要有刻苦学习的决心,硬件上要有一套完整的学习开发工具,软件上要注重理论和实践相结合。
1.有刻苦学习的决心
首先,明确学习目的。先认真回答两个问题:我学单片机来做什么?需要多长时间把它学会?这是你学单片机的动力。没有动力,我想你坚持不了多久。其次,端正学习心态。单片机学习过程是枯燥乏味、孤独寂寞的过程。要知道,学习知识没有捷径,只有循序渐进,脚踏实地,一步一个脚印,才能学到真功夫。再次,要多动脑勤动手。单片机的学习具有很强的实践性,是一门很注重实际动手操作的技术学科。不动手实践你是学不会单片机的。最后,虚心交流。在单片机学习过程中每个人都会遇到无数不能解决的问题,需要你向有经验的过来人虚心求教,否则,一味的自己埋头摸索会走许多弯路,浪费很多时间。
2.有一套完整的学习开发工具
学习单片机是需要成本的。必须有一台电脑、一块单片机开发板(如果开发板不能直接下载程序代码的话还得需要一个编程器)、一套视频教程、一本单片机教材和一本C语言教材。电脑是用来编写和编译程序,并将程序代码下载到单片机上;开发板用来运行单片机程序,验证实际效果;视频教程就是手把手教你单片机开发环境的使用、单片机编程和调试。对于单片机初学者来说,视频教程必须看,要不然,哪怕把教材看了几遍,还是不知道如何下手,尤其是院校里的单片机教材,学了之后,面对真正的单片机时可能还是束手无策;单片机教材和C语言教材是理论学习资料,备忘备查。不要为了节约成本不用开发板而光用Protur软件仿真调试,这和纸上谈兵没什么区别。
3.&要注重理论和实践相结合
单片机C语言编程理论知识并不深奥,光看书不动手也能明白。但在实际编程的时候就没那么简单了。一个程序的形成不仅需要有C语言知识,更多需要融入你个人的编程思路和算法。编程思路和算法决定一个程序的优劣,是单片机编程的大问题,只有在实际动手编写的时候才会有深切的感悟。一个程序能否按照你的意愿正常运行就要看你的思路和算法是否正确、合理。如果程序不正常则要反复调试(检查、修改思路和算法),直到成功。这个过程耗时、费脑、疲精神,意志不坚强者往往被绊倒在这里半途而废。
学习编写程序应该按照以下过程学习,效果会更好。看到例程题目先试着构思自己的编程思路,然后再看教材或视频教程里的代码,研究人家的编程思路,注意与自己思路的差异;接下来就照搬人家的思路亲自动手编写这个程序,领会其中每一条语句的作用;对有疑问的地方试着按照自己的思路修改程序,比较程序运行效果,领会其中的奥妙。每一个例程都坚持按照这个过程学习,你很快会找到编程的感觉,取其精华去其糟粕,久而久之会形成你独特的编程思想。当然,刚开始,看别人的程序源代码就像看天书一样,只要硬着头皮看,看到不懂的关键字和语句就翻书查阅、对照。只要能坚持下来,学习收获会事半功倍。在实践过程中不仅要学会别人的例程,还要在别人的程序上改进和拓展,让程序产生更强大的功能。同时,还要懂得通过查阅芯片数据手册(DATASHEET)里有关芯片命令和数据的读写时序来核对别人例程的可靠性,如果你觉得例程不可靠就把它修改过来,成为是你自己的程序。不仅如此,自己应该经常找些项目来做,以巩固所学的知识和积累更多的经验。硬件设计当编写自己的信手拈来、阅读别人的程序能够发现问题的时候,说明你的单片机编程水平相当不错了。接下来就应该研究硬件了。硬件设计包括电路原理设计和PCB板设计。学习做硬件要比学习做软件麻烦,成本更高,周期更长。但是,学习单片机的最终目的是做产品开发----软件和硬件相结合形成完整的控制系统。所以,做硬件也是学习单片机技术的一个必学内容。
电路原理设计涉及到各种芯片的应用,而这些芯片外围电路的设计、典型应用电路和与单片机的连接等在芯片数据手册(DATASHEET)都能找到答案,前提是要看得懂全英文的数据手册。否则,照搬别人的设计永远落在别人的后面,你做的产品就没有创意。电子技术领域的第一手资料(DATASHEET)都是英文,从第一手资料里你所获得的知识可能是在教科书、网络文档和课外读物等所没有的知识。虽然有些资料也都是在DATASHEET的基础上撰写的,但内容不全面,甚至存在翻译上的遗漏和错误。当然,阅读DATASHEET需要具备一定的英文阅读能力,这也是阻碍单片机学习者晋级的绊脚石。良好的英文阅读能力能让你在单片机技术知识的海洋里自由遨游。
做PCB板就比较简单了。只要懂得使用Protel软件或&AltimDesigner软件就没问题了。但要想做的板子布局美观、布线合理还得费一番功夫了。
娴熟的单片机C语言编程、会使用Protel软件或&AltimDesigner软件设计PCB板和具备一定的英文阅读能力,你就是一个遇强则强的单片机高手了。
抗干扰/单片机
在提高硬件系统抗干扰能力的同时,软件抗干扰以其设计灵活、节省硬件资源、可靠性好越来越受到重视。下面以MCS-51单片机系统为例,对微机系统软件抗干扰方法进行研究。软件设计在工程实践中,软件抗干扰研究的内容主要是:一、消除模拟输入信号的噪声(如数字滤波技术);二、程序运行混乱时使程序重入正轨的方法。本文针对后者提出了几种有效的软件抗干扰方法。指令冗余&CPU取指令过程是先取操作码,再取操作数。当PC受干扰出现错误,程序便脱离正常轨道“乱飞”,当乱飞到某双字节指令,若取指令时刻落在操作数上,误将操作数当做操作码,程序将出错。若“飞”&到了三字节指令,出错机率更大。
在关键地方人为插入一些单字节指令,或将有效单字节指令重写称为指令冗余。通常是在双字节指令和三字节指令后插入两个字节以上的NOP。这样即使乱飞程序飞到操作数上,由于空操作指令NOP的存在,避免了后面的指令被当作操作数执行,程序自动纳入正轨。
此外,对系统流向起重要作用的指令如RET、&RETI、LCALL、LJMP、JC等指令之前插入两条NOP,也可将乱飞程序纳入正轨,确保这些重要指令的执行。拦截技术&所谓拦截,是指将乱飞的程序引向指定位置,再进行出错处理。通常用软件陷阱来拦截乱飞的程序。因此先要合理设计陷阱,其次要将陷阱安排在适当的位置。
(1)软件陷阱的设计
当乱飞程序进入非程序区,冗余指令便无法起作用。通过软件陷阱,拦截乱飞程序,将其引向指定位置,再进行出错处理。软件陷阱是指用来将捕获的乱飞程序引向复位入口地址0000H的指令。通常在EPROM中非程序区填入以下指令作为软件陷阱:
(2)陷阱的安排
最后一条应填入020000,当乱飞程序落到此区,即可自动入轨。在用户程序区各模块之间的空余单元也可填入陷阱指令。当使用的中断因干扰而开放时,在对应的中断服务程序中设置软件陷阱,能及时捕获错误的中断。如某应用系统虽未用到外部中断1,外部中断1的中断服务程序可为如下形式:
NOPNOPRETI返回指令可用“RETI”,也可用“LJMP&0000H”。如果故障诊断程序与系统自恢复程序的设计可靠、&完善,用“LJMP&0000H”作返回指令可直接进入故障诊断程序,尽早地处理故障并恢复程序的运行。考虑到程序存贮器的容量,软件陷阱一般1K空间有2-3个就可以进行有效拦截。(3)软件“看门狗”技术
若失控的程序进入“死循环”,通常采用“看门狗”技术使程序脱离“死循环”。通过不断检测程序循环运行时间,若发现程序循环时间超过最大循环运行时间,则认为系统陷入“死循环”,需进行出错处理。
“看门狗”技术可由硬件实现,也可由软件实现。在工业应用中,严重的干扰有时会破坏中断方式控制字,关闭中断。则系统无法定时“喂狗”,硬件看门狗电路失效。而软件看门狗可有效地解决这类问题。
笔者在实际应用中,采用环形中断监视系统。用定时器T0监视定时器T1,用定时器T1监视主程序,主程序监视定时器T0。采用这种环形结构的软件“看门狗”具有良好的抗干扰性能,大大提高了系统可靠性。对于需经常使用T1定时器进行串口通讯的测控系统,则定时器T1不能进行中断,可改由串口中断进行监控(如果用的是MCS-52系列单片机,也可用T2代替T1进行监视)。这种软件“看门狗”监视原理是:在主程序、T0中断服务程序、T1中断服务程序中各设一运行观测变量,假设为MWatch、T0Watch&、T1Watch,主程序每循环一次,MWatch加1,同样T0、T1中断服务程序执行一次,T0Watch、&T1Watch加1。在T0中断服务程序中通过检测T1Watch的变化情况判定T1运行是否正常,在T1中断服务程序中检测MWatch的变化情况判定主程序是否正常运行,在主程序中通过检测T0Watch的变化情况判别T0是否正常工作。若检测到某观测变量变化不正常,比如应当加1而未加1,则转到出错处理程序作排除故障处理。当然,对主程序最大循环周期、定时器T0和T1定时周期应予以全盘合理考虑。限于篇幅不赘述。硬件技术单片机系统因干扰复位或掉电后复位均属非正常复位,应进行故障诊断并能自动恢复非正常复位前的状态。
非正常复位的识别
程序的执行总是从0000H开始,导致程序从&0000H开始执行有四种可能:一、系统开机上电复位;二、软件故障复位;三、看门狗超时未喂狗硬件复位;&四、任务正在执行中掉电后来电复位。四种情况中除第一种情况外均属非正常复位,需加以识别。
(1)硬件复位与软件复位的识别
此处硬件复位指开机复位与看门狗复位,硬件复位对寄存器有影响,如复位后PC=0000H,&SP=07H,PSW=00H等。而软件复位则对SP、SPW无影响。故对于微机测控系统,当程序正常运行时,将SP设置地址大于07H,或者将PSW的第5位用户标志位在系统正常运行时设为1。那么系统复位时只需检测PSW.5标志位或SP值便可判此是否硬件复位。
由于硬件复位时片内RAM状态是随机的,而软件复位片内RAM则可保持复位前状态,因此可选取片内某一个或两个单元作为上电标志。设40H用来做上电标志,上电标志字为78H,若系统复位后40H单元内容不等于78H,则认为是硬件复位,否则认为是软件复位,转向出错处理。若用两个单元作上电标志,则这种判别方法的可靠性更高。
(2)开机复位与看门狗故障复位的识别
开机复位与看门狗故障复位因同属硬件复位,&所以要想予以正确识别,一般要借助非易失性RAM或者EEROM。当系统正常运行时,设置一可掉电保护的观测单元。当系统正常运行时,在定时喂狗的中断服务程序中使该观测单元保持正常值(设为&AAH),而在主程中将该单元清零,因观测单元掉电可保护,则开机时通过检测该单元是否为正常值可判断是否看门狗复位。
(3)正常开机复位与非正常开机复位的识别
识别测控系统中因意外情况如系统掉电等情况引起的开机复位与正常开机复位,对于过程控制系统尤为重要。如某以时间为控制标准的测控系统,完成一次测控任务需1小时。在已执行测控50分钟的情况下,系统电压异常引起复位,此时若系统复位后又从头开始进行测控则会造成不必要的时间消耗。因此可通过一监测单元对当前系统的运行状态、系统时间予以监控,将控制过程分解为若干步或若干时间段,每执行完一步或每运行一个时间段则对监测单元置为关机允许值,不同的任务或任务的不同阶段有不同的值,若系统正在进行测控任务或正在执某时间段,则将监测单元置为非正常关机值。那么系统复位后可据此单元判系统原来的运行状态,并跳到出错处理程序中恢复系统原运行状态。
非正常复位后系统自恢复运行的程序设计
对顺序要求严格的一些过程控制系统,系统非正常复位否,一般都要求从失控的那一个模块或任务恢复运行。所以测控系统要作好重要数据单元、参数的备份,如系统运行状态、系统的进程值、当前输入、输出的值,当前时钟值、观测单元值等,这些数据既要定时备份,同时若有修改也应立即予以备份。
当在已判别出系统非正常复位的情况下,先要恢复一些必要的系统数据,如显示模块的初始化、片外扩展芯片的初始化等。其次再对测控系统的系统状态、运行参数等予以恢复,包括显示界面等的恢复。之后再把复位前的任务、参数、运行时间等恢复,&再进入系统运行状态。
应当说明的是,真实地恢复系统的运行状态需&要极为细致地对系统的重要数据予以备份,并加以数据可靠性检查,以保证恢复的数据的可靠性。
其次,对多任务、多进程测控系统,数据的恢复需考虑恢复的次序问题。
系统基本初始化是指对芯片、显示、输入输出方式等进行初始化,要注意输入输出的初始化不应造成误动作。而复位前任务的初始化是指任务的执行状态、运行时间等。
对于软件抗干扰的一些其它常用方法如数字滤波、RAM数据保护与纠错等,限于篇幅,本文未作讨论。在工程实践中通常都是几种抗干扰方法并用,互相补充&完善,才能取得较好的抗干扰效果。从根本上来说,硬件抗干扰是主动的,而软件是抗干扰是被动的。细致周到地分析干扰源,硬件与软件抗干扰相结合,完善系统监控程序,设计一稳定可靠的单片机系统是完全可行的。
加密方法/单片机
科研成果保护是每一个科研人员最关心的事情,加密方法有软件加密,硬件加密,软硬件综合加密,时间加密,错误引导加密,专利保护等措施有矛就有盾,有盾就有矛,有矛有盾,才促进矛盾质量水平的提高加密只讲盾,也希望网友提供更新的加密思路,现先讲一个软件加密:利用MCS-51&中A5&指令加密,其实世界上所有资料,包括英文资料都没有讲这条指令,其实这是很好的加密指令A5&功能是二字节空操作指令加密方法在A5&后加一个二字节或三字节操作码,因为所有反汇编软件都不会反汇编A5&指令,造成正常程序反汇编乱套,执行程序无问题仿制者就不能改变你的源程序。
硬件加密:单片机就是掩模产品中的不合格产品,内部有ROM,可以把&当&来用,再扩展外部程序器,然后调用8031&内部子程序当然你所选的同批8031芯片的首地址及所需用的中断入口均应转到外部程序区。
用高电压或激光烧断某条引脚,使其读不到内部程序,用高电压会造成一些器件损坏重要RAM&数据采用电池(大电容,街机采用的办法)保护,拔出芯片数据失去机器不能起动,或能初始化,但不能运行。
用真假方法加密
擦除芯片标识
把8X52单片机,标成8X51&单片机,并用到后128B的RAM&等方法,把AT90S8252&当AT89C52,初始化后程序段中并用到EEPROM&内容,你再去联想吧!
用激光(或丝印)打上其它标识如有的单片机引脚兼容,有的又不是同一种单片机,可张冠李戴,只能意会了,这要求你知识面广一点&。
用最新出厂编号的单片机,如2000&年后的AT89C&就难解密,或新的单片机品种,如AVR&单片机。
DIP&封装改成PLCC,TQFP,SOIC,BGA等封装,如果量大可以做定制ASIC,或软封装,用不需外晶振的单片机工作(如AVR&单片机中的AT90S1200),使用更复杂的单片机,FPGA+AVR+SRAM=AT40K系列。
硬件加密与软件加密只是为叙说方便而分开来讲,其实它们是分不开的,互相支撑,互相依存的软件加密:其目的是不让人读懂你的程序,不能修改程序,你可以…
利用单片机未公开,未被利用的标志位或单元,作为软件标志位,如有一个用户标志位,PSW.1&位,是可以利用的程序入口地址不要用整地址,如:XX00H,XXX0H,可用整地址-1,或-2,而在整地址处加二字节或三字节操作码,在无程序的空单元也加上程序机器码,最好要加巧妙一点用大容量芯片,用市场上仿真器不能仿真的芯片,如内部程序为64KB&或大于64KB&的器件,如:AVR&单片机中ATmega103&的Flash&程序存储器为128KBAT89S8252/AT89S53中有EEPROM,关键数据存放在EEPROM&中,或程序初始化时把密码写到EEPROM&中,程序执行时再查密码正确与否,尽量不让人家读懂程序。关于单片机加密,讲到这里,就算抛砖引玉。&
万方数据期刊论文
电力自动化设备
万方数据期刊论文
电力自动化设备
万方数据期刊论文
农业机械学报
&|&相关影像
互动百科的词条(含所附图片)系由网友上传,如果涉嫌侵权,请与客服联系,我们将按照法律之相关规定及时进行处理。未经许可,禁止商业网站等复制、抓取本站内容;合理使用者,请注明来源于。
登录后使用互动百科的服务,将会得到个性化的提示和帮助,还有机会和专业认证智愿者沟通。
此词条还可添加&
编辑次数:37次
参与编辑人数:22位
最近更新时间: 17:58:01
申请可获得以下专属权利:
贡献光荣榜}

我要回帖

更多关于 bga fpga 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信