第一步,做出实体芯片。
单片机一般理解为MCU(Microcontroller Unit,微控制单元),包含定时器、ALU(Arithmetic Logic Unit,算术逻辑单元)、内存、寄存器、总线等部分。而普通意义的单片机还包含GPIO、串口(UART)、DMA、协处理器、ADDA等。
前置:计算机组成原理、微机原理。
流水线:
前置:数字逻辑电路、集成电路设计及其EDA技术、verilog。
把各个模块细分为寄存器级,比如移位运算器、节拍器、译码器、存储器等。
物理上是这样的:
然后还要会调试BUG、会看时序。
前置:时序用MODELSIM,综合用QUARTUS II等。
如果你以为这就完事了,那你就错了,此时才刚刚开始!
接下来,继续生成电路网表,时序收敛;如果不对,继续返回上述流程重新调试。
前置:Synopsys。
我们来回顾一下:
此时应该生成版图文件,然后根据制造厂商提供的物理器件库,进行最后的各种设计规则检查。
前置:集成电路版图设计,软件有Cadence:Virtuoso Layout Editor。
送到代工厂,还要懂元器件。
前置:半导体物理,半导体器件物理,固体物理,电介质物理,量子力学,热力学与数理统计。
根据得到的图表,设计版图和工艺流程,大概是这样:
前置:集成电路制造。
然后进行电气测试,电磁测试,最后封装。
前置:集成电路封装技术。
最后,不能忘记出片的时候,焚香沐浴更衣,朝南拜三拜,祈祷不会有大问题。
第二步,设计系统驱动。
终于得到了物理上的片子,下面我们开始写汇编器,编译器。
本质上烧写进ROM的是这样的机器码:
汇编器:把汇编语言变成机器码。
前置:perl。
编译器BISON和FLEX:把高级语言转换成汇编语言。
前置:编译原理。
现在,终于可以固化进ROM跑程序了,这里你还需要一段小型的开启代码(bootloader)。
前置:汇编语言。
然后,开始写操作系统。
前置:ucos(嵌入式操作系统)。
系统宏定义,系统功能配置,系统头文件,初始化文件,调度文件,任务管理文件,系统时间管理文件,信号量文件,邮箱文件,消息队列文件,内存管理文件,系统服务文件,MAIN文件。
接下来,写操作系统中的任务。
前置:C语言,数据结构,算法导论。
拿着含辛茹苦的板子,还需要配置最小系统,以及外围器件。
前置:PCB设计和制造,电焊等技艺,模电、高频电子线路,信号与系统。
如果有信号传输,那么通讯协议如下:
前置:SPI、I2C、CAN、TCP/IP、wifi等。
最后是RF天线:
前置:微波技术、电磁场与电磁波、HFSS、天线技术等。
关键字:单片机 微机
引用地址:
从零造单片机,需要哪些知识?
推荐阅读最新更新时间:2024-11-06 03:05
51单片机学习之路(五)-万年历
写在前面:以下涉及到的程序及电路图不保证为最优方案,会存在很多不足之处,望谅解。另外,C51的内容是在整理很久之前所学的知识,可能会存在错误,欢迎指正。 正文 学习目标:利用51单片机在数码管上模拟时钟的功能。 学习内容: 在8位数码管上同时使用其中的3位并显示不同的数字、字母或字符 在数码管上模拟时钟的功能 程序一:数码管简单应用 本次所使用的数码管为8位共阴数码管 源程序 #include reg52.h typedef unsigned char uchar; typedef unsigned int uint; #define display_duan P0 //定义数码管段选端口为P0 #define
[单片机]
pic单片机计数
1 #include pic.h //用的是PICC编译器 2 __CONFIG (HS & PROTECT & PWRTEN & BOREN & WDTDIS); 3 //PIC单片机都需要配置该位,HS是外部晶振模式 4 // 使能PROTECT保护程序存储器 5 //BOREN使能掉电保护 6 7 //WDTDIS关闭看门狗 8 void display(int pulse_amount); 9 void
[单片机]
在单片机上实现动态加载功能
本项目是一个在单片机(如:STM32)上实现动态加载功能的函数库,与Windows中的dll,Linux中的so类似,可以将代码动态地从其他的存储介质,动态加载到RAM中。 软件架构 本项目文件夹有三个,其中common存储了用于生成可重定位的.axf文件的工程与动态加载器工程交互用的函数,src提供动态加载器的源码,rel_axf_project_template提供了一个简单的可重定位的.axf文件的工程示例,example.c是一个简单的使用示例,所有文件的主要功能如下: /common/dl_extern_lib.h 描述了app程序用于调用host程序的函数向量表的基地址,以及相关的一些宏定义 /common/dl_
[单片机]
TI - MCU - MSP430使用指南13 -> Timer定时器模块
定时器,作为MCU最重要也是最基本的功能集成在每一个MCU中。随着MCU功能的日渐强大,定时器的功能也越来越强大,因此配置和使用起来也就比较麻烦,下面我们针对MSP430的Timer模块进行详细讲解,配合多种可以直接使用的例程,方便用户直接移植和深入理解。 首先,普及一下定时器知识:本质上就是一个计数器,可以由用户自定义计数的值,同时到达计数值后可以执行相应的动作,因此可以时间周期性动作,采集捕捉动作等,用于实时控制及多种功能实现。 MSP430 MCU中有三种定时器:Timer_A Timer_B Timer_D. 首先 Timer_D定时器基本没有集成在MCU中,很少很少使用,是一个高分辨率的定时器,因此我们不
[单片机]
基于ARM单片机的汽车电动助力转向系统的研究
摘 要: 在研究了电动助力转向系统(EPS)及其控制器(ECU)结构和工作原理的基础上,设计了基于ARM S3C44B0X单片机的控制系统。通过方向控制电路、H桥电机驱动电路和PWM脉宽调制技术实现对电机的控制。研制的硬件控制器通过了有关的电气性能测试,并采用模糊PD控制策略对EPS原地转向的助力特性进行了仿真分析。 电动助力转向系统(EPS)是汽车工程领域的热门课题之一,目前研究的主要内容为EPS系统的控制规则和硬件控制器(ECU)的设计,而控制规则的实现必须以一个稳定、可靠的控制器为基础。现有的控制器多数基于功能增强的8位单片机,也有的用DSP。目前,以32位处理器作为高性能嵌入式系统开发的核心是嵌入式技术发展的
[汽车电子]
基于C8051F000的多通道数据采集范围控制系统
1 引 言 在实际应用中,对被控对象的物理参数(温度、湿度、位移、电流、电压等)在一定的范围内进行控制,是单片机的典型应用之一。很多宏观要求精确控制的场合,其微观控制过程,仍可归结为是对某些参数变化范围的控制。如,传统的三相异步电机从启动到正常运行,其电流、电压和温度的变化;抽水塔水位的变化;机床刀具的行程变化及数字电表的自动量程变换等。这些控制过程最显著的特点是:被控物理量都是一个变化范围,而非某一个精确的“点”。有效控制物理量变化范围的方法很多,本文重点介绍利用C8051F000单片机片内8路高性能的12位ADC数据采集系统和可编程窗口检测器,实现对多路参数变化范围控制的硬件组成和软件设计方法。 2 C805
[应用]
MCS251单片机和PC机间的串口通信
随着计算机技术的快速发展和广泛应用,上位机和下位机的主从工作方式为工业控制及自动控制系统所采用。由于PC机分析能力强、处理速度更快及单片机使用灵活方便等特点,所以一般都将PC机作为上位机,单片机作为下位机,二者通过RS2232或者RS2485接收、发送数据和传送指令。单片机可单独处理数据和控制任务,同时也将数据传送给PC机,由PC机对这些数据进行处理或显示。 本文介绍PC机和单片机通信在一种基于C8051F单片机的波形发生器中的应用,在上位机上显示正弦波的幅值和频率,由上位机发送指令可以改变波形幅度及频率。 1 硬件电路的设计 MCS251 单片机有一个全双工的串行通讯口UART,利用其RXD和TXD与外界进
[单片机]
简单热敏电阻测温电路
单片机在电子产品中的应用已经越来越广泛,在很多的电子产品中也用到了温度检测和温度控制,但那些温度检测与控制电路通常较复杂,成本也高,本文提供了一种低成本的利用单片机多余I/O口实现的温度检测电路,该电路非常简单,且易于实现,并且适用于几乎所有类型的单片机。其电路如图1所示: P1.0、P1.1和P1.2是单片机的3个I/O脚; RK为100k的精密电阻; RT为100K-精度为1%的热敏电阻; R1为100Ω的普通电阻; C1为0.1μ的瓷介电容。 其工作原理为: 先将P1.0、P1.1、P1.2都设为低电平输出,使C1放电至放完。 将P1.1、P1.2设置为输入状态,P1.0设为高电平输出,通过RK电阻对C1充电,单片机内部计时器
[测试测量]