我刚开始学习单片机的时候也有和题主类似的困惑。当时刚申请了个淘宝账号不久,刚看了下我的淘宝已购物品,第五件东西买的就是51单片机开发板,
当时放假带着开发板经历20几个小时的硬座,回到家点完led灯后,先是嘴角微微一笑,然后各种困惑接踵而来,题主的问题就是其中之一。
单片机是怎么烧录程序的?单片机都没有启动,怎么就能和下载器通信了?
要回答这个问题先看一个数字电路,d触发器,如下图:
d触发器功能就是只在clk信号的上升沿这个时间点把数据data传递到q,在其它任何时刻保持q不变。这不就是一个很简易的,只有一位的存储器吗。从上图中d触发器的电路原理图里可以看到,d触发器就是由一堆与、非门组成的电路,控制存储器并不需要单片机cpu的参与,只需要一个clk就可以了。
上图中的d触发器毕竟太简单,而且数据掉电就会丢失,难免有一些忽悠人的感觉,那我们再看下复杂一点的flash存储器是如何被读写的,这也是单片机里面常用的存储介质。
如上图是flash里面的一个存储单元,乍一看好像是mos管,但仔细一看却是多了一个float gate。这个float gate其实是用氧化硅隔离了的。大概的工作方式是通过float gate里面的电荷影响开启电压,当float gate里面有电子时,开启电压会变高,可以理解是因为gate上的电场线在float gate上的电子上终结了,这时候mos管是不导通的,被认为存储的是1。反之,当float gate上没有电子时,mos管的开启电压就比较低,被认为存储的是0。所以控制存储器里存储的内容其实是一个物理问题,即如何控制float gate冲放电。感兴趣的可以参考我给的参考链接继续深究,我在这就不深究了,再深究就要露馅了。
上面说的是一个flash单元,也就是只能存储1bit,那512kbit的flash,要怎么读写。下图是一个512kbit flash芯片的结构图,可以简单的不假思索的认为这块芯片是由一堆上面的单元再加上一些数字电路,比如串口控制器所构成的,对这个flash的读写同样也不需要单片机cpu的参与,只需要遵循serial interface的时序就可以了。所以在烧写单片机的flash的时候是不需要cpu的参与的,只需要遵循flash的接口时序就可以了。
电池的续航与安全能否并存?
为了满足玩家随时随地玩VR游戏 索泰推出旗下首款背包电脑VR GO
怎样用AVR微控制器集成的ADC从周围环境中获取模拟读数
Netty如何实现消息推送
亮相联通、电信等多场5G峰会 虹软科技用5G+AI重新定义智能手机
单片机是怎么烧录程序的
意法半导体发布两款灵活多用的电源模块,简化SiC逆变器设计
超越摩尔领域的外延设备技术及市场趋势
libcurl等第三方库的通用编译方法
小米硬件引流服务盈利赢得了彩电业的最大赢家
iOS10.3正式版怎么升级:iOS10.3正式版固件下载大全
英特尔正在计划收购以色列AI芯片制造商Habana Labs
802.11物理层测试标准(11n HT-4)汇总详解
dfrobot电机(6V 160RPM 2.8kg.cm)简介
Android的阿喀琉斯之踵
51单片机工程师跳槽到stm32的方法
低功耗蓝牙模块带您了解智能血压计_SKYLAB 蓝牙模块应用
什么是5G智慧园区?5G智慧园区解决方案的优势
国内工业机器人产业发展靠“这三股力”
数据主权不应由平台把控