背景介绍在日益信息化的社会中,各种嵌入式系统已经渗透到日常生活的各个角落。嵌入式系统的功能越来越复杂,使得一个嵌入式系统产品从市场需求确立到方案选择、原型开发、量产的开发成本越来越大,开发时间越来越长。因此,设计一个高效的嵌入式系统显得尤为重要。

1.1传统嵌入式系统设计方法

嵌入式系统开发的关键是验证核心部分的功能。传统的验证方法是建模、仿真和制作靶板评估。

通过建模进行功能验证存在缺点。首先是耗时和准确性的矛盾。建立高层模型需要的时间很短,但是模拟不够精确。相反,低级别模型可以达到满意的评估结果,但建模时间较长。其次,建模和仿真是一个静态的过程,不能很好地反映系统的实际运行情况。好了,目标板,所有部件的连接都已经固定好了。如果需要改变一些连接,只能重新设计制版。这将大大延长产品上市时间,增加开发成本。新推出的嵌入式系统产品在设计之初很难考虑清楚所有的技术细节,有时甚至会边设计边修改性能指标,因此直接制作专用的目标板原型并不适合复杂嵌入式系统产品的设计。

1.2嵌入式系统的模块化设计方法

嵌入式系统的设计要求可测性、高效性和灵活性。目前,嵌入式系统的物理尺寸越来越小,功能越来越复杂。为了便于系统的调试和维护,完全的可测性是极其重要的。另一方面,模块化设计方法越来越受到人们的重视。模块化设计方法是将复杂的系统合理地划分为不同的功能模块,然后充分利用已有的模块设计新的模块,最后将这些模块连接起来形成目标系统。模块化设计方法减少了全新的设计,降低了开发难度,节约了开发成本,缩短了开发时间,是一种高效的嵌入式系统设计方法。另外,各个模块连接的灵活性很重要,直接决定了模块的组合能力。

2基于ARM内核的快速成型平台的嵌入式系统硬件具有以下特点:

1、嵌入式硬件以嵌入式处理器为核心。嵌入式处理器种类繁多,功能各异。

2、与嵌入式处理器相比,嵌入式系统的外设种类更少,接口标准也相对统一。

3、随着EDA的发展,SOC(片上系统)的应用越来越广泛。

2.1 arm内核处理器的特点

ARM核处理器以其低成本、低功耗、高性能的优势,在嵌入式系统中得到了广泛的应用。基于ARM核的处理器是高度集成的SOC,包括ARM核和各种外设。图1是基于ARM的处理器的常见结构。存储器控制接口为外部存储器提供总线接口。总线接口支持不同种类的存储器芯片和不同的存储操作。此外,总线还可以用来扩展外围设备。片内外设包括中断控制器。HTML"target="_ blank"控制器、操作系统定时器、UART、I2C、PWM和AC97等。在这些片内外设中,有些信号是复用的,方便用户使用。如果用户需要片上外设,只需要配置相关寄存器就可以将片上外设连接到通用I/O,非常灵活,比如带USB接口的服务器/客户端。有些芯片内外都有特殊信号。用户通过连接或扩展这些通用I/O和专用I/O来使用片上外设,当片上外设无法完成目标系统的功能时,就需要通过总线来扩展专用外设芯片。

图1(1(ARM内核处理器)的框图

图2(带ARM内核处理器的嵌入式系统框图)

2.2基于ARM的快速成型平台的实现

图2是基于ARM核处理器的嵌入式系统的框图。该系统分为两部分。一部分是最小的系统,由嵌入式ARM核处理器和存储器组成。另一部分包括从嵌入式处理器的片上外设接口直接扩展的外设和通过总线扩展的外设。为了充分利用模块化设计方法,这些部件应该能够通过灵活的互连形成一个平台。灵活的互联功能由互联模块完成。

CPLD、FPGA等可编程器件可以在系统中进行编程,只需修改相应的控制程序就可以修改连接,非常方便灵活。CPLD成本低,运行速度快,但集成度比较低。FPGA集成度高,可以实现CPLD难以实现的复杂逻辑功能,如嵌入逻辑分析仪程序、获取必要信号、完成系统在线测试等。FPGA的另一个优点是可以动态配置。比如系统上电时配置自检程序,自检通过后再配置实际工作程序。最后将CPU软核嵌入FPGA开发SOC。因此,可编程互连模块由FPGA构成。

为了确定可编程互连模块的插入位置,分析了图2中嵌入式系统的结构。

最小系统决定了整个系统的处理能力,是整个系统的核心。常用嵌入式处理器的时钟周期已经高达400MHz,并将进一步发展。连接处理器的总线速度和内存芯片的速度也超过100MHz。FPGA的管脚到管脚的延迟是几纳秒,所以FPGA模块的插入会拖慢整个系统的处理速度。因此,不能在处理器和存储器之间插入FPGA模块。外设可以使嵌入式系统与实际应用环境进行通信和交互。通常外设高度模块化,相互独立,外设之间几乎没有柔性连接的要求,处理器和外设之间的数据通信速度比最小的系统慢很多。因此,用互连模块代替最小系统与外设之间的直接物理连接是可行的。

根据这一思想,设计了如图3所示的快速成型平台。

图3(快速原型平台)

在图3中,可编程互连模块是快速成型平台的核心部分。常见的外设有:网卡、USB接口、LVDS接口、RS-232接口、RS-485接口、音频AC' 97接口、PCMCIA/CF卡接口。这些常用的外设就是上面提到的可复用模块。由于嵌入式处理器的总线、通用I/O、专用I/O和各种外设都连接到可编程互连模块上,不同的嵌入式处理器只需要设计最小系统,然后将最小系统连接到快速成型平台上,利用该平台提供的外设对系统进行调试。

上面设计的快速原型平台既考虑了当前嵌入式硬件系统的发展特点,即嵌入式处理器种类多,外设种类相对较少,接口标准趋于统一,又充分体现了可测性、灵活性和模块化的设计思想。

3随机方向信号的可配置互联常见的信号传输方向,无论是单向的还是双向的,都可以提前确定。比如数据总线是双向的,读或写是完全确定的,数据传输的方向可以通过读写信号来控制。但是有一种特殊的总线,如I2C,它是一种多主/从通信总线。如图4所示,如果设备1发起通信,则SCL上的信号传输方向是从设备1到设备2。如果设备2作为主设备发起通信,则SCL上的信号传输方向正好相反。系统设计要求信号可以在总线上双向传输。FPGA由一系列逻辑门组成。如果I2C信号通过FPGA连接,将无法正常工作。这是因为双向传输可以看作是由两个反平行门实现的(如图5所示,实际传输方向由方向控制信号决定)。然而,I2C信号不能通过电路

如果I2C信号通过接线或跳线直接连接,可以保证I2C的正常运行。但这与快速成型平台可配置互连的灵活性相悖,因此提出以下方案。I2C信号不是通过FPGA连接,而是通过基于MOSFET的数据开关。目前市场上常用的任何方向的点对点MOSFET开关都不能直接使用。因为常见的结构是单向对多向或者多向对一。采用CPLD控制门控,多路并联可形成88的点对点随机可配置连接。它是从一路到八路的数据交换的内部结构。