PSoC 5LP:带CPLD的可靠ARM嵌入式处理器
您是不是需要复杂可编程逻辑器件(CPLD)但又不愿放弃固件?或者说您希望最好在单个芯片中同时集成微控制器和CPLD?PSoC® 5LP是赛普拉斯半导体公司的最新片上可编程系统,当它用作CPU时,它就是一款32位的67 MHz ARM Cortex-M3处理器,而用作CPLD时,其可编程逻辑提供的基于LUT的FPGA门,相当于20,000多个门。
高效数字架构
PSoC 5LP(此后简称为“PSoC”)以通用数字模块(UDB)形式提供面积效率极高的可编程逻辑(如图1所示)。UDB包含2个PLD、1个控制逻辑和1条带有数据逻辑单元的(ALU)的数据路径,每个模块都是独立而互联的。这种架构说明,任何数字功能都是由结构化逻辑(理想适用于数据路径)和随机逻辑(理想适用于PLD)组合实现的。
· PLD模块是把12个输入馈送给到8个乘积项的阵列,其输出提供给功能齐全的宏单元。
· 状态和控制逻辑提供UDB和CPU之间的无缝接口。
· 数据路径是PSoC的重要组成部分,这是一个针对通信和控制操作(如SPI或PWM所需要的)优化的8状态微微处理器。比较某些常见功能的UDB资源使用和传统CPLD/FPGA资源使用情况,保守估计每条数据路径的等效门为700多个。
· 无限互联:灵活路由对CPLD至关重要,UDB正好可实现这一点。UDB子模块可链接或路由到外设,特别是UDB的任何信号输出都能路由到任何GPIO。可能的路由组合极其丰富。
一个PSoC有多达24个UDB,因此有大量的可编程逻辑可供您使用。举例来说,您可让PSoC UDB支持24个8位PWM或8个简单UART,同时仍能支持更多逻辑。当然,UDB具有可重配置这一事实特性可让您根据自己的需求正确配置数字功能的类型和数量。
选择模式
PSoC的主要组件就是PSoC CreatorTM,这是一款免费的集成设计环境(IDE),能帮助您按照自己所想的方式开展设计。
任何数字设计都遵循如图2所示的步骤,一步步完成从要求到产品的过程。一旦明确了项目要求,就能在PSoC Creator中完成所有其它设计工作。
1. 基于组件的设计:如果您是一名固件工程师,在数字设计方面是新手,那么PSoC Creator能帮助您用熟悉的面向对象设计的方法创建出强大的数字设计。您可以将预先构建的、经过测试的“虚拟芯片”或组件拖放到设计中,创建SPI Master接口或开关去除抖动器再简单不过。此外,您还可采用经预先测试的稳健可靠的API通过C语言代码控制这些组件。一旦完成设计,PSoC Creator就能在PSoC上进行优化构建和编程。
2. 基于Verilog的设计:如果您更适应Verilog等硬件描述语言(HDL)的CPLD传统设计,那么PSoC Creator也能满足您的需求。您可编写全新的Verilog代码,将现有设计移植到PSoC UDB中,也可在设计中实例化预先构建的PSoC组件。一旦完成设计,就可让PSoC Creator进行综合,让项目对应于硬件,此外也可手动操作综合器。
重用、精简、循环.
PSoC Creator提供100多种虚拟芯片或组件,包括从AND和OR门到风扇控制器、电源监控器等系统级组件。每个组件均经过全面特性描述和测试,并配套提供数据表和示例项目。
所有这些组件的C代码和Verilog源都是开放式的,您可修改和篡改这些组件,使其满足您的特定需求。甚至是创建您自己的组件!打造定制外设或某种常见功能的专用版,用PSoC都能简单直接地实现。
采用模块化方法能进行IP封装,便于重复利用,从而缩短了开发时间,让您能够集中精力去进一步完善最终应用。
额外的处理功能
PSoC还含有一个数字滤波器模块(DFB),这是一个针对乘法累加算法优化的硬件协处理器,可视为一个并行24位67 MHz微型DSP。您的信号处理工作可交给DFB来完成,从而将Cortex-M3解放出来执行系统关键型任务。
此外,PSoC还含有一个24通道直接存储器访问(DMA)。DMA配合UDB可视为PSoC中另一个独立的处理系统,从而可进一步减轻CPU的负担。
不只是可编程逻辑
除了所有数字功能之外,PSoC还提供存储器、精确模拟和许多其它功能。举例来说,它提供1个20位差分Σ-Δ ADC 、2个12位1 MSPS差分SAR ADC,支持模数转换。除了这些ADC之外,内部0.1%的电压参考及其它组件(如运算放大器)也能用于集成分立电路,满足与现实模拟世界连接的需要。
低功耗
PSoC 5LP中的LP是指低功耗,其睡眠模式下功耗约为2µA,休眠模式功耗仅为300nA。PSoC 5LP内置有一个升压调节器,所以它能够直接用一节普通电池或太阳能电池供电,供电电压低至0.5V。PSoC Creator支持组件级电源管理,而大多数PSoC Creator组件可用API单独开启。此外,PSoC的架构能让数字和模拟外设进
- Linux嵌入式系统开发平台选型探讨(11-09)
- 基于ARM体系的嵌入式系统BSP的程序设计方案(04-11)
- 在Ubuntu上建立Arm Linux 开发环境(04-23)
- 达芬奇数字媒体片上系统的架构和Linux启动过程(06-02)
- SQLite嵌入式数据库系统的研究与实现(02-20)
- 革新2410D开发板试用手记(04-21)