告诉你制作单片机需要哪些知识?.doc

上传人:白大夫 文档编号:3405730 上传时间:2019-08-22 格式:DOC 页数:4 大小:22.50KB
返回 下载 相关 举报
告诉你制作单片机需要哪些知识?.doc_第1页
第1页 / 共4页
亲,该文档总共4页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《告诉你制作单片机需要哪些知识?.doc》由会员分享,可在线阅读,更多相关《告诉你制作单片机需要哪些知识?.doc(4页珍藏版)》请在三一文库上搜索。

1、告诉你制作单片机需要哪些知识?来来来,让我们一起,左手右手一个慢动作。每一个方向都值得一个人用一生去钻研,每一个步骤都有其自身的魅力。第一步,做出实体芯片。单片机一般理解为MCU(Microcontroller Unit,微控制单元)包含定时器、ALU(Arithmetic Logic Unit,算术逻辑单元)、内存、寄存器、总线等部分而普通的意义的单片机还包含GPIO、串口(UART)、DMA、协处理器、ADDA等等。看懂如下图前置:计算机组成原理,微机原理。流水线前置:数字逻辑电路,集成电路设计及其EDA技术,verilog把各个模块细分为寄存器级,比如移位运算器、节拍器、译码器、存储器等

2、module minicpu(clk, reset, run, in, cs, pcout, irout, qtop, abus, dbus, out); input clk,reset,run; input 15:0 in; output 1:0 cs; output 15:0 irout, qtop, dbus, out; output 11:0 pcout, abus; wire 15:0 qnext, ramout, aluout; reg 11:0 abus; reg halt, jump, pcinc, push, pop, thru, qthru, dbus2qtop, dbus

3、2ram, dbus2obuf, ir2dbus, qtop2dbus, alu2dbus, ram2dbus, in2dbus; reg pop2, ir2abus, qtop2abus, qnext2abus; reg 11:0 pcout, pcnext; reg 15:0 out; statef statef0(.clk(clk),.reset(reset),.run(run),.halt(halt),.cs(cs); stackm stackm0(.clk(clk),.reset(reset),.load(dbus2qtop),.push(push),.pop(pop),.pop2(

4、pop2),.thru(qthru),.d(dbus),.dthru(ramout),.qtop(qtop),.qnext(qnext); alu alu0(.a(qtop),.b(qnext),.f(irout4:0),.s(aluout); dpram #(16,10,1024) dpram0(.clk(clk),.load1(dbus2ram),.addr1(abus),.addr2(pcnext),.d1(dbus),.q1(ramout),.q2(irout);物理上是这样的然后会调试BUG,看时序。前置:时序用MODELSIM,综合用QUARTUS II 等等然后此时才刚刚开始。继

5、续生成电路网表,时序收敛,如果不对继续返回上述流程继续调试。前置:Synopsys回顾一下此时应该生成版图文件,然后根据制造厂商提供的物理器件库进行最后的各种设计规则检查。前置:集成电路版图设计,软件有Cadence:VirtuosoLayout Editor送到代工厂还要懂元器件前置:半导体物理,半导体器件物理,固体物理,电介质物理,量子力学,热力学与数理统计。根据得到的图表设计版图和工艺流程,大概是这样前置:集成电路制造然后进行电气测试,电磁测试,最后封装。前置:集成电路封装技术最后不能忘记出片的时候焚香沐浴更衣,朝南拜三拜,祈祷不会有大问题。第二步,设计系统驱动。终于得到了物理上的片子我

6、们开始写汇编器,编译器。本质上烧写进ROM的是这样的机器码。汇编器(把汇编语言变成机器码)前置:perl#!/usr/bin/perl -W /* */ print * LABEL LIST *n; foreach $l (sort(keys(%label) printf %-8s%03Xn,$l,$label$l; $addr=0; print n* MACHINE PROGRAM *n; foreach (source) $line = $_; s/w+:/; if(/PUSHIs+(-?d+)/) printf %03X:%04Xt$line,$addr+,$MCODEPUSHI+($1

7、 elsif(/(PUSH|POP|JMP|JZ|JNZ)s+(w+)/) printf %03X:%04Xt$line,$addr+,$MCODE$1+$label$2; elsif(/(-?d+)/) printf %03X:%04Xt$line,$addr+,$1 elsif(/(A-Z+)/) printf %03X:%04Xt$line,$addr+,$MCODE$1; else print tt$line; 编译器 BISON和FLEX(把高级语言转换成汇编语言)前置:编译原理% #include % %union char *s; int n; %token NAME NUMBE

8、R %destructor free($); NAME NUMBER %token IF WHILE DO %type if0 %token GOTO ELSE INT IN OUT HALT . . % int yyerror(char *s) printf(%sn,s); int main() yyparse(); % #include #include y.tab.h int n=0; % . . while yylval.n=+n;return(WHILE); 0-9+ yylval.s=strdup(yytext);return(NUMBER); a-zA-Za-zA-Z0-9* y

9、ylval.s=strdup(yytext);return(NAME); . return(yytext0); % int yywrap() return(1);终于可以固化进ROM可以跑程序了,你还需要一段小型的开启代码(bootloader)前置:汇编语言start: JK start nop sdal 32 sdah 0 datp loop: ting inl ting inh jend cxcute nop jmp loop inc excute: call 32 nop jmp start nop然后开始写操作系统前置:ucos(嵌入式操作系统)系统宏定义,系统功能配置,系统头文件,

10、初始化文件,调度文件,任务管理文件系统时间管理文件,信号量文件,邮箱文件,消息队列文件,内存管理文件,系统服务文件,MAIN文件。写操作系统中的任务前置:C语言,数据结构,算法导论。double KalmanFilter(const double ResrcData, double ProcessNiose_Q,double MeasureNoise_R,double InitialPrediction) double R = MeasureNoise_R; double Q = ProcessNiose_Q; static double x_last; double x_mid = x_la

11、st; double x_now; static double p_last; double p_mid ; double p_now; double kg; x_mid=x_last; /x_last=x(k-1|k-1),x_mid=x(k|k-1) p_mid=p_last+Q; /p_mid=p(k|k-1),p_last=p(k-1|k-1),Q=噪声 kg=p_mid/(p_mid+R); /kg为kalman filter,R为噪声 x_now=x_mid+kg*(ResrcData-x_mid);/估计出的最优值 p_now=(1-kg)*p_mid;/最优值对应的covari

12、ance p_last = p_now; /更新covariance值 x_last = x_now; /更新系统状态值 return x_now; 拿着含辛茹苦的板子还需要配置最小系统以及外围器件前置:PCB设计和制造,电焊等技艺,模电、高频电子线路,信号与系统如果有信号传输通讯协议前置:SPI,I2C,CAN,TCP/IP、wifi等等uint SPI_RW(uint uchar) uint bit_ctr; for(bit_ctr=0;bit_ctr8;bit_ctr+) / output 8-bit MOSI = (uchar / output uchar, MSB to MOSI uchar = (uchar 1); / shift next bit into MSB. SCK = 1; / Set SCK high. uchar |= MISO; / capture current MISO bit SCK = 0; / .then set SCK low again return(uchar); / return read uchar RF天线前置:微波技术,电磁场与电磁波,HFSS,天线技术等等。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1