摘要:首先阐述cypress公司的可编程片上系统(psoc)的动态配置能力及其实现结构,概要地列出几种对psoc微控制器在系统编程(isp)的方法;在此基础上分析cy8c26443-24pi通过。
关键词:可编程片上系统 在系统编程 闪速存储器 非易失性存储器 嵌入式微控制器
引言
随着集成电路应用的飞速发展,片上系统的结构变的越来越复杂,这对嵌入式微控制器(embedded mcu)的性能提出了更高的要求。和目前的16位甚至32位的微控制器相比,8位微控制器结构简单、代码密度高,是嵌入式系统的重要组成部分。传统的8位mcu结构比较成熟,但是作为嵌入式应用,其各方面性能还远不能令人满意。此外,一般在嵌入式系统的应用中,都需要 使用几十种甚至是更多的模拟或数字外围元器件。熟悉mcu开发的工程师们都知道,在mcu的开发过程中,最需要花时间和精力的就是元器件的选购,以及元器件兼容性方面的考虑。目前在市场上有成千上万不同种外围元器件,设计人员要想从中寻找到适合自己应用的元器件是一件令人头痛的事情。因此,设计工程师的理想方案似乎是采用定制的soc芯片,但是如果采用定制微控制器、asic和pld器件,一方面价格比较昂贵,另一方面需要设计人员具有专门的设计技能。因此,研制一个高效率、外围元器件可嵌入配置的、低功耗的≮位微控制器是很有必要的。
作为asic(application specific ic)设计方法学中的新技术,soc始于20世纪90年代中断。1994年motorola发布的flex coretm系统(用来制作基于68000tm和power pctm的定制微处理器)和1995年lsi logic公司为sony公司设计的soc,可能是基于ip(intellectual property)核完成soc设计的最早报导。由于soc可以充分利用已有的设计积累,显著地提高asic的设计能力,因此发展非常迅速。
psoc(programmable system on chip)是美国cypress microsystems公司于最近推出的新一代功能强大的8位可配置的嵌入式单片机。该系列单片机与传统单片机的根本区别在于其内部集成的数字和模拟block模块,工程师可以根据不同设计要求调用不同的数字和模拟block模块,完成芯片内部的功能设计;实现使用一块芯片就可以配置成具有多种不同外围元器件的微控制器,建立一种可配置嵌入式微控制器;用以实现从确定系统功能开始,到软/硬件划分,并完成设计的整个过程。因此,psoc能够适应非常复杂的实时控制需求,使用它进行产品开发可以大大提高开发效率,降低系统开发的复杂性和费用,同时增强系统的要可靠性和抗干扰能力;因此,它特别适用于各种控制和自动化领域。
1 psoc的动态配置能力及实现
闪速存储器(flash memory)是一类非易失性存储器nvm(non-volatile memory),它即使在供电电源关闭后仍能保持片内信息;而诸如dram、sram这类易失性存储器,当供电电源关闭时其片内信息随丢失。闪速存储器还集合了其它非易失性存储的特点:与eprom相比较,闪速存储器在系统电可擦除和可重复编程具有明显的优势,它不需要特殊的高电压就可以完成擦除和/或编程操作;与eeprom相比较,闪速存储器具有成本低、密度大的特点。其独特的性能使其广泛地运用于各个领域,包括嵌入式系统。
psoc器件内就集成有一个sonostm(硅/氧化氮/氧化硅)工艺制造的闪速存储器,以及快速微控制器(mcu)和sram及模拟和数字的可编程阵列模块(即psoc block)。在psoc芯片内共有2个256字节的寄存器空间。这些寄存器空间可以用于个性化和参数化设定片上资源和数据读写;通过系统提供的psoc designer开发工具,设计人员可以合理地配置数字和模拟psoc block参数,并且写入psoc芯片的闪速存储器中,完成psoc芯片的设计工作。当psoc芯片工作时,芯片根据已配置的数字和模拟psoc block参数,完成对寄存器空间设定,配置系统硬件;根据不同的系统需求,设计人员可以改变数字和模拟psoc block参数的配置,实现多种特定配置的mcu外围元器件的功能。这就是可编程嵌入式片上系统的配置能力。不但如此,psoc还可以实现动态重新配置,即在运行时,根据系统不同时刻的需求,通过编程动态地改变存储在片内闪速存储器中设