1、基于8051IPCore的8位MCU芯片设计,VLSI设计第三部分 邬齐荣,8位MCU芯片设计概述8位MCU芯片系统架构VLSI软硬件协同设计VLSI逻辑综合,基于8051IPcore的RFID读卡器控制器芯片系统设计,8051MCU概况设计方法系统架构软件开发方法软硬件协同仿真,MSC-51概况,8位单片机工业标准Intel MSC-51 8位MCU(微控制器)通用单片机8052的8位MCU、16位MCU等单片机专用单片机8位MCURISC指令系统 实时控制系统8051MCU芯片应用8051MCU芯片市场,MCS-51基本架构,ALU(运算器)专用寄存器ACC(累加器), B寄存器(乘除数据
2、),PSW(程序状态寄存器)SP( 堆栈指针),DPTR(数据指针),LP0-3(端口0-3锁存器),SBUF(串行数据缓冲器),TR(定时器),CR(控制器),PC(程序指针).通用寄存器RAM ,ROM.其他数字电路和模拟电路,MCS-8051架构图,MCS-51架构特点,符合工业标准RISC指令系统哈佛结构,程序存储器,数据存储器三总线结构:控制总线,位地址线,位数据线存储器结构:程序存储器,内部数据存储器,内部字节通用寄存器和特殊寄存器位可编程定时器计数器中断控制器异步串行通信接口,汽车系统应用方案- MOTOROLA68HC05B6例子,汽油机管理,柴油机电喷注等。电子传动控制等动力
3、传输系统等。通信系统和GPS系统。 传感器系统:轮胎压力检测传感器等。音像系统,汽车DVD等动力管理系统。,设计的层次,系统级,逻辑R T L 级,晶体管级,版图级,设计方案,软硬件协同设计步骤,设计流程,设计工具,软件开发环境Keil51 和单片机实验板。程序编译、调试、数据下载。数据转换: 十六进制转二进制功能仿真:verilog_xl modelsim等设计综合编译器: D C ,Ambit.静态时序分析:PT,Pearl.自动布局布线:SE,SOC42,Astro. 版图验证:Hercules-II, Dracula.后仿真:N a n o S i m, Hspice,实现工艺,0.3
4、5微米或0.18微米工艺SiCmos工艺1P4M-1P6M,金属铜布线支持数模混合信号电路存储器编译器生存储器成版图ROM存储器采用Prom或掩膜ROM或FLASH工艺。,8位机应用程序,C语言和ASM汇编语言8051工业标准指令系统,111条指令逐条执行指令支持数据通信接口,软件开发环境,Keil51等开发工具支持通用八位机和专用八位机宿主机和目标机软件仿真器,DP-51H仿真器简介,集成的PHILIPS 80C51单片机开发平台 Keil51系统编程、调试程序图形界面,使用方便支持PC机,232串口连接DPFLASH下载器下载软件调试软件监控程序Keil C51评估版具有ISP 功能32K
5、B SRAM键盘/显示电路RS232 串行通讯接口RS485 128*64 点阵液晶显示屏接口TCP/IP 以太网接口USB 2.0 接口CAN 2.0B应用程序支持以上模块,ROM数据转换(1),Keil51输出程序的 进制ex文件将ex文件编译成进制文件在下执行hex2dual.exe命令语法Hex2dual.exe 文件名hex,LCMCS2_C0MEQU4004HLCMCS2_DATEQU4005HLCMCS1_COMEQU4000HLCMCS1_DATEQU4001H ORG8000HAJMPMAINORG 8100H,00000001100000000111010110000001
6、00111100001000001011001100001111000100,:0280000021005D:1081000075813C20B30F313530B3FD3127C290C2A9:1081100091C292517020B4EB313530B4FD3127D289:1081200090D291D292313E7D40B2933130DDFA222D:108130007FFFDFFE227F907E80DEFEDFFA22743F2B:1081400071A271C8744071A274B871A2780090874E:10815000F3E89371B508B840F87440
7、71A274B9712E:10816000A2E89371B508B880F8744071C874B8710A,ROM数据转换(2),在ROM的hdl文件指定进制文件,entity mc8051_rom isgeneric (c_init_file : string := mc8051_rom.dua); port (clk : in std_logic; - clock signal reset : in std_logic; - reset signa rom_data_o : out std_logic_vector(7 downto 0); - data output rom_adr_
8、i : in std_logic_vector(15 downto 0); - adressesend mc8051_rom;.,软硬件协同仿真,0000000110000000011101011000000100111100001000001011001100001111000100,:0280000021005D:1081000075813C20B30F313530B3FD3127C290C2A9:1081100091C292517020B4EB313530B4FD3127D289:1081200090D291D292313E7D40B2933130DDFA222D:108130007FF
9、FDFFE227F907E80DEFEDFFA22743F2B:1081400071A271C8744071A274B871A2780090874E:10815000F3E89371B508B840F8744071A274B9712E:10816000A2E89371B508B880F8744071C874B8710A,RFID专用8位MCU设计-基于MC8051IPcore,RFID读卡器方案读卡电路MF RC500 支持MIFARE双向接口卡芯片及ISO14443A1协议;操作距离达10厘米; 内部带有加密单元; 与微控制器通过接口连接,同时具有内部地址锁存器及中断引线; 灵活的中断处理机
10、制; 能自动监测并行接口连接的微控制器类型;具有64字节的先进先出缓存; 可编程定时器; 具有独一无二的编号; 支持以字节或位为单位的帧传输;RFID读卡器应用 MF RC500 适用于各种基于ISO/IEC 14443A 标准并且要求低成本、小尺寸、高性能以及单电源的非接触式通信的应用场合。 公共交通终端;手持终端; 非接触式PC 终端;非接触式公用电话,计量等.,SCUME002芯片,基于mcu 8051微控制器软核的系统架构设计.以oregano组织提供的标准8051软核为基础,对其加以优化、完善(低功耗控制,I/O口优化).集成了IIC,CAN两种总线控制器软核,形成一个简单的片上系统
11、SOCSCUME002芯片;对SCUME002芯片各功能单元做功能仿真,仿真一应用程序,验证芯片功能。SMIC(中芯国际)0.18 1P6M工艺,液晶显示模块与MCU的硬件连接,行驱动器及列驱动器与微处理器的连接。通常需要考虑接口的逻辑设计和接口的时序设计。如图。接口的逻辑设计就是根据液晶显示模块提供的接口信号,结合微处理器系统读写外部I/O设备的操作方式,设计出微处理器系统控制液晶显示模块的硬件接口电路。时序设计就是根据已设计好的硬件接口电路,根据微处理器系统操作外部I/O设备的读写时序,设计出可以满足液晶显示模块读写时序要求的实现时序。,RFID读卡器初始化软件设计,实现功能:在DP-51
12、h实验仪完成LCM点阵图形液晶显示,在液晶屏上实现“四川大学微电子RFID设备追踪系统”和“四川大学微电子RFID专用MCU芯片”的分页显示。如果按下KEY1则显示前一页,同时点亮发光管LED1LED3;按下KEY2则显示后一页,同时熄灭LED1LED3,蜂鸣器发出提示声响。编写LCD显示程序,经编译下载至单片机实验板上的存储器。运行程序。,SCUME002架构,性能参数mc8051IP核, CPU 最大速度50MH.VDD 3.3v 最大功耗 10毫瓦.ROM 4KB ,片外ROM 64KB,RAM 128B,片外64KB.定时器2个,外部中断2个. 双向I/O口4个,P1-P4(包括多功能
13、口),异步串行通信口2个. 异步串行通信口2个.,IIC接口,CAN接口. smic0181P4M工艺,面积1.5平方毫米.,mcu 8051概述,同步设计优化的架构,速度提升可达10倍,平均指令周期占2.5个时钟,CPU可达50MH用户可设置是一个用VHDL语言写成的可综合的微控制器模块,完全遵循MCS-51标准,且指令集与工业标准8051微控制器兼容全定时/计数器及串口单元数目,并可通过特殊功能寄存器使能之可选择是否使用并行乘法单元实现乘法指令可选择是否实现十进制调整指令无多路选择I/O端口128字节内部RAM, 64K字节ROM及64K字节RAM.GNU LGPL许可下,源代码可免费获取
14、独立于工艺之外,架构清晰,VHDL源代码注释清晰,易扩展, 通过VHDL中常数的定义,可实现参数化设计,MC8051结构,MC8051VHDL,VHDL entities entity-name_.vhdVHDL architectures entity-name_rtl.vhd for modules containing logicentity-name_struc.vhd for modules just connecting submodulesVHDL configurations entity-name_rtl_cfg.vhd entity-name_struc_cfg.vhd,M
15、C8051层次,MC8051结构,同步单时钟存储器接口无寄存器Timer/Counter, Serial Interface, and Interrupts可配置,- Select how many timer/counter units should be implemented - Default: 1constant C_IMPL_N_TMR : integer := 1;- Select how many serial interface units should be implemented- Default: C_IMPL_N_TMR -(DO NOT CHANGE!)-const
16、ant C_IMPL_N_SIU : integer := C_IMPL_N_TMR;- Select how many external interrupt-inputs should be implemented- Default: C_IMPL_N_TMR -(DO NOT CHANGE!)-constant C_IMPL_N_EXT : integer := C_IMPL_N_TMR;-,结构优化设计,1.低功耗控制优化:引出特殊功能寄存器PCON的第0,1位,分别用于控制软核的空闲和掉电两种低功耗工作方式。微控制器正常工作时消耗11mA20mA电流,空闲状态时为1.7mA5mA电流,
17、掉电方式为0.005mA0.05mA如下图:2.I/O口优化:在软核代码的顶层文件mc8051_top_struc.vhd中,对相应信号的映射(map)做修改,完善其第二功能;定义双向并口p0p3,代替原来的单向并行口。,IIC总线控制器设计,由于8051微控制器软核并不基于WISHBONE片上总线,首先对照wishbone规范,确定IIC软核各端口信号的意义,并据此确定如何使用8051微控制器软核的端口引线(或其组合)来集成IIC总线控制器软核。具体如下(部分信号连接省略):wb_adr _i(2:0):在IIC软核中,wb_adr _i(2:0)被定义为unsigned类型,所以,集成时,
18、首先需将P1(2:0)由std_logic类型强制转换为unsigned之后,再连接wb_adr _i。 wb_dat_i(7:0)和wb_dat_o(7:0):直接与8051核的P0口相连。 3,wb_cyc_i和wb_stb_i:二者与P1.3,P1.4译码输出端相连。 4,scl和sda:根据惯例,scl和sda一般由P1端口的第6,7位分别复用。所以,将scl和sda分别连至8051微控制器软核的P1.6和P1.7。,CAN总线控制器设计,CAN,全称“Controller Area Network”,即控制器局域网,是国际上应用最广泛的现场总线之一。CAN有两种形式:具有11位ID标
19、志符的BasicCAN和29位ID标志符的高级形式PeliCAN。 CAN的信号使用差分电压传送,其两条信号线分别为“CAN_H”和“CAN_L”。CAN中的总线数值为两种互补逻辑数值之一:“显性”或“隐性”,其中“显性(Donimant)”表示逻辑0,“隐性”(Recessive)表示逻辑1。差分电压传输方式,使其能够有更好的噪声抑制和容错性能。CAN软核遵循CAN 2.0所有规范集成方法:由于8051软核没有ALE端口,而此处需要,故首先将PCON中未定义的一位引出,用于模拟ALE。 rx_i和tx_o:根据惯例,一般用P1.0 和P1.1来复用CAN的数据输入和输出端。 故将rx_i和t
20、x_o分别连至P1.0和P1.1。其它端口连接略。,显示控制器接口,CGM12864液晶显示模块 8051接口 P1数据,P3控制,初始化显示程序设计,LCMCS2_C0MEQU4004HLCMCS2_DATEQU4005HLCMCS1_COMEQU4000HLCMCS1_DATEQU4001HORG8000HAJMPMAINORG8100HMAIN: MOVSP,#60TEST_KEY:JBP3.3,NEXT_KEY;检测键盘KEY1是否按下ACALLDELAY5MS;调延时子程序出抖动JNB P3.3,$;检测按键KEY1是否放开ACALLMUSICCLR P1.0CLR P1.1CLR
21、P1.2ACALL MAIN;本此按键有效,作出相应处理,:100020000000000201A875AA0075BA00759D007550:100030008170758922758CF0758AF075B80075A885:10004000827588107456F5207556AAF9E78721271E:10005000F522979410999520F52314342324FF3723:1000600029352225233904F524E4F52508882605B9:10007000560787271C8C28152317901234A3E520D8:1000800089F0
22、A4F52985F02A05F084F52B85F02C5C:100090002456D4F52D5954FEF52E4957F52F4230EC:1000A0007531AA523155314445F53253E0FFF533ED:1000B000452047F5344334FF6C6521F535676434DA:1000C000F536D2D47D966315E86215C2D4F423D3F5:1000D00013C33323C4F537A7158738778887397555:1000E0008170C020D03ACDC53BC7F53BD7F53CB3B6:1000F0009220B220823172324003753DFFB045A09C,0111010110111010000000000111010110011101000000000111010110000001,数据转换,RFID_MCU功能仿真 (一),定时/计数器功能仿真,8051软核空闲方式仿真,串口单元功能仿真,中断功能仿真,RFID_MCU功能仿真 (二),IIC总线控制器软核功能仿真,CAN总线控制器软核功能仿真,