【转载】芯片级拆解51、AVR、MSP430、凌阳61、PIC,5种单片机,多张显微照片
先秀一张解剖照,放大裁剪,小米1S微距拍摄,800万像素摄像头很给力!
今天等待被拆的是5个单片机芯片:
(1)凌阳16位单片机SPCE061A ,这是我接触的第一个单片机,最高主频49MHz,32KB的FLASH,2KB的RAM,最大的特点就是集成了音频处功能,可以播放音频文件,带语音识别功能。
(2)TI的16位低功耗单片机MSP430F149,非常好用的一款单片机,最高主频8MHz,指令为单周期,60KB FLASH,2KB RAM,特点是超低功耗,官方公布的休眠功耗是2uA,本人实测单片机最小系统板的功耗是2.2uA,TI的数据果然实在。据说PIC纳瓦技术的单片机可以挑战MSP430的低功耗,从数据看能够到nA级别,没有实测,不做评论。
(3)51兼容机AT89S52,与AT89C52的区别是带ISP下载功能,不用插到烧录器上也可以烧写程序。8KB的FLASH,256B的RAM。
(4)Atmega16,属于AVR单片机中比较高档的系列,8位单片机,16代表集成了16KB的FLASH,同时还带有512B的EEPROM,1KB RAM。
(5)PIC的PIC16F877A,同样也是8位单片机,这款单片机没有用过,了解的不多。
ok,上这5位将要被脱去外衣的单片机的照片!
先睹为快,先看看拆完之后的效果!
拼图的时候调着玩,发现照亮边缘之后的效果很有意思~
使用浓硫酸溶解的方法给芯片脱壳,这种塑料封装的芯片,其外壳能在加热的浓硫酸中溶解,下面是DIP封装的芯片结构示意图
除了塑料外壳之外,芯片管脚和铜基板也能在加热的浓硫酸中溶解。
这是加热时候用的炉子
使用称量瓶来盛放芯片和浓硫酸,注意,这是违规操作!包括称量瓶在内的绝大多数量具不能高温操作,更不能用来加热。一是高温导致量具变形,影响精度;二是加热不均匀容易导致量具破裂!
手头没有烧杯,就先拿称量瓶来代替。因为是使用加热炉来加热,称量瓶受热比较均匀,再加上严格控制加热的温度,称量瓶还是经受的住的,至少我试过的几次没有出现问题。但是如果在器具比较齐全的情况下,为了安全考虑,大家还是不要跟我学啊!
倒入浓硫酸,好紧张。。。注意安全防护
放到炉子上开始加热,一定要控制好温度,我是把手指放到炉子上去试的,毕竟实测的数据才可信嘛
很快芯片就开始溶解了。。。
没一会,芯片就化作一缕青烟和一堆残渣。。。
等溶液冷却之后,倒掉残渣,将裸片放到清水中清洗一下
这就是刚才溶液里剩下的裸片,裸片周围是金线
那么大的封装里面,裸片只有这么一点点


经过几次重复的操作,5个单片机全被我脱光啦!耗时2个多小时。
OK,小米的摄像头又派上用场啦,微距效果很棒!
注意,这就是用小米的摄像头拍的,没加显微镜!


只是拍微距,还不过瘾,我们再来看看显微照片,先修一下我的袖珍显微镜,只有手掌大小,很像玩具,放大倍数从160到200倍可调
用胶带将旋钮粘上,固定在200倍
先从凌阳61开始



Bonding出来的金线清晰可见

左边那片乱糟糟的是数字电路单元。因为在IC设计过程中,数字电路部分的自动化程度很高,基本上都是EDA软件自动布局布线,而模拟电路部分的LAYOUT基本都是手工画的,很整齐
拆的时候被压弯的金线
那第二个呢,我们看看大名鼎鼎的MSP430,这个硅片相比其它单片机比较薄
这张照片很有意思,大家可以看到,TI 在画LAYOUT的时候在芯片上做了标记,如果仔细看能看出来是MSP430F149,后面两个字符不知道是什么
下面这张图可以很明显的区分出来模拟电路部分和数字电路部分


仍然是被压弯的金线。。。
接下来是51的兼容机,AT89S52,方方正正,很漂亮!





大家注意到,这个芯片PAD上的金线没了,是因为在清洗芯片上的残渣的时候不小心把金线也全都弄掉了。。。

我觉得最漂亮的就是AVR的这个单片机了
怎么样,像不像从卫星上拍摄地面上的村庄的感觉啊,内容很丰富
金线依然是在清洗的时候被弄掉了。。。真可惜

前面的是村庄,这里还有农田!!!
像不像一大片麦田?

最后呢,是PIC单片机
这个弄的比较失败,用浓硫酸溶解的时候没弄干净,有一小块塑料还粘在裸片表面,懒得再重新弄一遍了,就想把塑料刮下去,结果就刮成这个惨样了。。。


OK,5种单片机的显微照片就传这么多了,拍了将近300张照片,从中找了几十张比较清晰的
拍完之后把裸片裹成“粽子”保护起来,


最后来一张毛爷爷的照片贿赂贿赂大家,祝大家赚好多好多的Money!
【转载】芯片级拆解51、AVR、MSP430、凌阳61、PIC,5种单片机,多张显微照片的更多相关文章
- 【阿里聚安全·安全周刊】Intel芯片级安全漏洞事件|macOS存在漏洞
关键词:Intel漏洞丨mac OS漏洞丨三星漏洞丨安卓安全丨CPU漏洞丨phpMyAdmin漏洞丨iOS设备|安卓恶意软件检测|Burpsuite 本周资讯top3 [Intel漏洞]芯片级安全 ...
- 整体算力提升40% 芯片级安全防护 | 阿里云发布第七代ECS云服务器
2 月 8 日,阿里云宣布推出第七代 ECS 云服务器产品家族,基于最新的神龙架构,相较于上一代整体算力提升 40%,容器部署密度最大可提升 6 倍,是最佳的云原生载体,此外全量搭载安全芯片,实现&q ...
- [转]Linux芯片级移植与底层驱动(基于3.7.4内核)
1. SoC Linux底层驱动的组成和现状 为了让Linux在一个全新的ARM SoC上运行,需要提供大量的底层支撑,如定时器节拍.中断控制器.SMP启动.CPU hotplug以及底层的G ...
- 转载:(Mac)在bash和zsh配置环境变量path的几种方法
参考文献 老习惯,列出本文参考或引用或转载的文档和博客,致以崇高的敬意,感兴趣的可以去看看 1.http://postgresapp.com/ 2.http://postgresapp.com/doc ...
- 【ADO.NET-中级】百万级数据的批量插入的两种方法测试
在SQL Server 中插入一条数据使用Insert语句,但是如果想要批量插入一堆数据的话,循环使用Insert不仅效率低,而且会导致SQL一系统性能问题.下面介绍SQL Server支持的两种批量 ...
- 【转载】SDL2.0在mfc窗口中显示yuv的一种方法
DWORD ThreadFun(){ //用mfc窗口句柄创建一个sdl window SDL_Window * pWindow = SDL_CreateWindowFrom( (void ...
- 【转载】Analysis Service Tabular Model #002 Analysis services 的结构:一种产品 两个模型
Analysis Service 2012 Architecture – One Product, Two Models 在之前SQL Server 2008 R2 版本中的分析服务实际上只有一个版本 ...
- 【转载】java 监听文件或者文件夹变化的几种方式
1.log4j的实现的文件内容变化监听 package com.jp.filemonitor; import org.apache.log4j.helpers.FileWatchdog; public ...
- 保姆级别的RabbitMQ教程!包括Java和Golang两种客户端
目录 什么是AMQP 和 JMS? 常见的MQ产品 安装RabbitMQ 启动RabbitMQ 什么是Authentication(认证) 指定RabbitMQ的启动配置文件 如何让guest用户远程 ...
随机推荐
- javascript 技巧
1.将arguments转化为数组函数中的预定义变量arguments并非一个真正的数组,而是一个类似数组的对象. 它具有length属性,但是没有slice, push, sort等函数,那么如何使 ...
- jquery实现自动滚屏效果,适用用公告新闻等滚屏
从网络上找到的例子,自己做了下扩展,原示例是向上滚动,扩展了一个向下滚动的方法: <html xmlns="http://www.w3.org/1999/xhtml"> ...
- osg,vtk,ogre的区别
osg使用过一年,阅读过一部分源代码,vtk也断续使用过三四年了,ogre研究的比较深入,基本上比较熟悉它的整体结构,说说个人的看法 vtk是一个算法库,里面包括了很多挺不错的算法,如果做有限元云图, ...
- 读<jquery 权威指南>[3]-动画
一. 显示与隐藏——hide(),show() 1. 方法: hide(speed,[callback]); show(speed,[callback]); 说明:这两个方法还可以实现带动画效果的显示 ...
- WCF初探-19:WCF消息协定
WCF消息协定概述 在生成 WCF应用程序时,开发人员通常会密切关注数据结构和序列化问题,而不必关心携带数据的消息结构. 对于这些应用程序,为参数或返回值创建数据协定的过程很简单.但是,有时完全控制 ...
- Spring Bean配置2
Spring表达式语言:SpEL •Spring 表达式语言(简称SpEL):是一个支持运行时查询和操作对象图的强大的表达式语言. •语法类似于 EL:SpEL 使用 #{…} 作为定界符,所有在大框 ...
- OC基础--类
都是注释哈 类的组成: C语言中函数分为声明和实现 OC中定义一个类也分为声明和实现, 也就是说以后我们在OC中定义类, 就是在写类的声明和实现 编写类的声明和实现: 声明 .h: /* 行为方法: ...
- AngularJs的UI组件ui-Bootstrap分享(三)——Accordion
Accordion手风琴控件使用uib-accordion和uib-accordion-group指令. <script> angular.module('myApp', ['ui.boo ...
- js中的offsetWidth岁的BUG
---恢复内容开始--- 在js使用offsetWidth来操作控件的运动是会遇到: var oDiv = document.getElementById('div1') oDiv.style.wid ...
- [转]http://makefiletutorial.com/
Intro This makefile will always run. The default target is some_binary, because it is first. some_bi ...