您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 能源与动力工程 > CPU新介绍--C8051F020单片微控制器
第二章C8051F020单片微控制器2.1C8051系列单片机简介C8051F020是美国SiliconLaboratories公司生产的ISPFlash微控制器。C8051F020系列器件使用SiliconLabs的专利CIP-51微控制器内核。CIP-51与MCS-51TM指令集完全兼容,可以使用标准803x/805x的汇编器和编译器进行软件开发。CIP-51内核具有标准8052的所有外设部件,包括5个16位的计数器/定时器、两个全双工UART、256字节内部RAM、128字节特殊功能寄存器(SFR)地址空间及8/4个字节宽的I/O端口。然而与传统的8051系列单片机相比,C8051F020具有许多其它的优点,如:1.速度提高CIP-51采用流水线结构,与标准的8051结构相比指令执行速度有很大的提高。在一个标准的8051中,除MUL和DIV以外所有指令都需要12或24个系统时钟周期,最大系统时钟频率为12-24MHz。而对于CIP-51内核,70%的指令的执行时间为1或2个系统时钟周期,只有4条指令的执行时间大于4个系统时钟周期。因此,CIP-51工作在最大系统时钟频率25MHz时,它的峰值性能达到25MIPS。2.JTAG技术C8051单片机内部预设了JTAG模块,它使得每一个单片机芯片都具有完整的在线调试功能,而不必使用复杂的仿真调试工具。3.FLASH在线编程技术C8051系列的FLASH型单片机不但可以采用外部编程器进行烧写,用户还可以利用自己的程序修改FLASH的内容,而且不需要外加编程电压,可以方便地实现软件升级。4.扩展的中断系统扩展的中断系统向CIP-51提供22个中断源(标准8051只有7个中断源),允许大量的模拟和数字外设中断微控制器。一个中断驱动的系统需要较少的MCU干预,因而有更高的执行效率。在设计一个多任务实时系统时,这些增加的中断源是非常有用的[12]。2.2C8051F020的结构如图2-1所示,C8051F020片内结构主要由以下模块组成:基础时钟模块、看门狗定时器、1个硬件乘法器、一个模拟比较器、10/12位A/D转换器、2个12位D/A转换器、带有5个16位定时器TIMER_A、TIMER_B、带有5个捕捉/比较寄存器的16位定时器、2个串行通信接口、4个8位并行端口,以及64KBFLASHROM和4KB的RAM等。图2-1C8051F020的内部结构图Fig.2-1InnerStructureofC8051F0202.3C8051F020的运算处理能力2.3.1CIP-51微控制器MCU系统控制器的内核是CIP-51微控制器,其内部结构如图2-1所示。CIP-51与MCS-51TM指令集完全兼容,可以使用标准803x/805x的汇编器和编译器进行软件开发。该系列MCU具有标准8051的所有外设部件,包括5个16位的计数器/定时器、两个全双工UART、256字节内部RAM、128字节特殊功能寄存器(SFR)地址空间及4个8位宽的I/O端口。CIP-51还包含片内调试硬件和与MCU直接接口的模拟和数字子系统,在一个集成电路内提供了完整的数据采集或控制系统解决方案[13]。图2-1CIP-51结构图Fig.2-1InnerStructureofCIP-512.3.2存储器组织结构CIP-51系统控制器的存储器组织与标准8051的存储器组织类似。有两个独立的存储器空间:程序存储器和数据存储器。程序和数据存储器共享同一个地址空间,但用不同的指令类型访问。CIP-51内部有256字节的内部数据存储器和64K字节的内部程序存储器地址空间。CIP-51的存储器组织如图2-3所示。图2-3储存空间的基本结构Fig.2-3BasicStructureofMemorySpaceCIP-51有64K字节的程序存储器空间。MCU在这个程序存储器空间中实现了65536字节可在系统编程的FLASH存储器,组织在一个连续的存储块内,从地址0x0000到0xFFFF。程序存储器通常被认为是只读的,但是CIP-51可以通过设置程序存储写允许位(PSCTL.0)。用MOVX指令对程序存储器写入。这一特性为CIP-51提供了更新程序代码和将程序存储器空间用于非易失性数据存储的机制。CIP-51的数据存储器空间中有256字节的内部RAM,位于地址0x00到0xFF的地址空间。数据存储器中的低128字节用于通用寄存器和临时存储器。可以用直接或间接寻址方式访问数据存储器的低128字节。从0x00到0x1F为4个通用寄存器区,每个区有8个寄存器。接下来的16字节,从地址0x20到0x2F,既可以按字节寻址又可以作为128个位地址用直接位寻址方式访问[12]。2.3.3系统中断结构CIP-51包含一个扩展的中断系统,支持22个中断源,每个中断源有两个优先级。中断源在片内外设与外部输入引脚之间的分配随器件的不同而变化。每个中断源可以在一个SFR中有一个或多个中断标志。当一个外设或外部源满足有效的中断条件时,相应的中断标志被置为逻辑‘1’。如果中断被允许,在中断标志被置位时将产生中断。一旦当前指令执行完,CPU产生一个LCALL到一个预定地址,开始执行中断服务程序(ISR)。每个ISR必须以RETI指令结束,使程序回到中断前执行完的那条指令的下一条指令。如果中断未被允许,中断标志将被硬件忽略,程序继续正常执行。每个中断源都可以用一个SFR(IE-EIE2)中的相关中断允许位允许或禁止,但是必须首先置‘1’EA位(IE.7)以保证每个单独的中断允许位有效。不管每个中断允许位的设置如何,清‘0’EA位将禁止所有中断。某些中断标志在CPU进入ISR时被自动清除。但大多数中断标志不是由硬件清除的,必须在ISR返回前用软件清除。如果一个中断标志在CPU执行完中断返回(RETI)指令后仍然保持置位状态,则会立即产生一个新的中断请求,CPU将在执行完下一条指令后重新进入ISR。C8051具有灵活的片上和外部中断体系,可以适应实时中断驱动系统的需要。中断可由处理机的运行状态来启动,如看门狗溢出、外围模块或外部发生的时间等。每个中断源可以用各自的中断允许位单独控制。各中断源、中断标志、优先级以及地址分配情况如表2-1所示[10]。中断源中断标志地址优先级外部复位无0x0000最高外部中断0(/INT0)IE0(TCON.1)0x00030定时器0溢出TF0(TCON.5)0x000B1外部中断1(/INT1)IE1(TCON.3)0x00132定时器1溢出TF1(TCON.7)0x001B3UART0RI0(SCON0.0)TI0(SCON0.1)0x00234定时器2溢出TF2(T2CON.7)0x002B5串行外设接口SPIF(SPI0CN.7)0x00336SMBus接口SI(SMB0CN.3)0x003B7ADC0窗口比较AD0WINT(ADC0CN.2)0x00438可编程计数器阵列CF(PCA0CN.7)CCFn(PCA0CN.n)0x004B9比较器0下降沿CP0FIF(CPT0CN.4)0x005310比较器0上升沿CP0RIF(CPT0CN.5)0x005B11比较器1下降沿CP1FIF(CPT1CN.4)0x006312比较器1上升沿CP1RIF(CPT1CN.5)0x006B13定时器3溢出TF3(TMR3CN.7)0x007314ADC0转换结束AD0INT(ADC0CN.5)0x007B15定时器4溢出TF4(T4CON.7)0x008316ADC1转换结束AD1INT(ADC1CN.5)0x008B17外部中断6IE6(P3IF.5)0x009318外部中断7IE7(P3IF.6)0x009B19UART1RI1(SCON1.0)TI1(SCON1.1)0x00A320外部晶体振荡器准备好XTLVLD(OSCXCN.7)0x00AB21表2-1C8051F020的中断向量Tab.2-1InterruptVectorsofC8051F0202.4C8051F020的片上外围模块C8051F020具有丰富的片上外围模块资源,如Flash存储器,看门狗定时器,比较器,AD转换器等。8个字节宽的端口I/O(C8051F020/2)或4个字节宽的端口I/O(C8051F021/3)。所有口线为5V电平,硬件实现的SPI、SMBus/I2C和两个UART串行接口,可编程的16位计数器/定时器阵列,有5个捕捉/比较模块,5个通用16位计数器/定时器,专用的看门狗定时器,双向复位引脚。2.5C8051F020目标系统开发方式2.5.1常用的嵌入式系统开发技术在嵌入式系统的开发方式中,常用的开发技术有CPU仿真、ROM仿真、在系统编程等。1.CPU仿真CPU仿真的原理是将待开发系统的CPU用仿真器来代替。在实际的调试中,先将样机的CPU暂时拔离插座,将仿真器的仿真插头接入此插座。这样样机CPU的数据线、地址线和控制线都与仿真器相连。而在仿真器内部有一个与目标板CPU相同的CPU,控制着三总线。这样一来,样机系统除了CPU外,就成了仿真器系统的一个扩展部分。样机CPU在调试完成后又重新插回。根据上述原理可知,每开发一种CPU的样机系统,就需要有一种相对应的开发系统。同时,开发系统本身所占据的资源,如:存储空间、I/O地址、中断源等,必须与样机工作时所需的避开,以免冲突。2.ROM仿真ROM仿真的原理,是将样机ROM中待调试的用户程序引出到样机系统外的RAM中,由外部的一台调试主机进行代码修改和运行控制。它仍然需要经过地址和数据总线来实现开发系统与样机的连接,它是利用外部主机来实现样机ROM中程序的调试及修改。3.ISP(在系统编程)ISP(In-SystemProgramming)在系统可编程,指电路板上的空白器件可以编程写入最终用户代码,而不需要从电路板上取下器件,已经编程的器件也可以用ISP方式擦除或再编程。ISP的实现一般需要很少的外部电路辅助实现,通常可利用单片机的JTAG口,通过专门设计的固件程序来编程内部存储器。ISP为单片机的实验和开发带来了很大的方便和灵活性,也为广大单片机爱好者带来了福音。利用ISP,不需要编程器就可以进行单片机的实验和开发,单片机芯片可以直接焊接到电路板上,调试结束即成成品,甚至可以远程在线升级或改变单片机中的程序。比较以上三种方式,可以看出,前两种方式开发过程都较为复杂,成本也较高。采用ISP来进行24通道舞台电脑灯控制系统的开发,不但简单易行,而且成本也较低。2.5.2C8051F020的FET开发方式JTAG(JointTestActionGroup)是1985年制定的检测PCB和IC芯片的一个标准,1990年被修改后成为IEEE的一个标准,即IEEE1149.1-1990。通过这个标准,可对具有JTAG口芯片的硬件电路进行边界扫描和故障检测。这是为了在线测试的需要而发展起来的针对芯片及线路板测试的接口技术。它利用串行移位输入及输出的方式对芯片的输入端加载特定的代码序列,并获得输出端给出的响应序列。C8051系列每个MCU内部都有JTAG和调试电路,可以通过JTAG接口使用安装在最终应用系统上的产品MCU进行非侵入式、全速、在系统调试。SiliconLabs的调试系统支持观察和修改存储器和寄存器、断点和单步执行;不需要额外的目标RAM、程序存储器或通信通道。在调试时,所有的模拟和数字外设都全功能正确运行(保持同步)。当MCU因单步执行或执行到断点而停机时,WDT被禁止。整个调试过程,外部只需要一台能实现JTAG接口控制功能的主机即可。一般用一台PC电脑,经过USB接口就能实现。其主要引脚及功能见表2-4:表2-4JTAG引脚及其功能Tab.2-4FunctionofJTAGPins引脚描述TDO测试数据输出TDI测试数据输入TMS测试模式选择TCK测试时钟输入RST测试复位,输入引脚,低电平有效当用户将源程序编译生成代码后,就可以将程序代码下载到芯片的FLASH中。用户可以通过调试环境软
本文标题:CPU新介绍--C8051F020单片微控制器
链接地址:https://www.777doc.com/doc-2907149 .html