基于单片机软核的SOPC系统设计与实现

发布者:朱雀最新更新时间:2011-03-23 关键字:sopc 手机看文章 扫描二维码
随时随地手机看文章

随着微电子工艺技术和IC设计技术的不断提高,整个系统都可集成在一个芯片上,而且系统芯片的复杂性越来越高。为了提高效率,复用以前的设计模块已经成为系统世馘 (SOC)设计的必上之路。SOC的实现基本上有两种方法,一种是用ASIC芯片实现,另一种是FPGA或PLD芯片实现。后一种实现也称为SOPC实现。SOPC技术是美国Altera公司于2000年最早提出的,即用大规模可编程器件实现SOC的功能。它为SOC的实现提供了一种简单易行而又成本低廉的手段,极大地促进了SOC的发展。本文设计就是采用SOPC技术,在一块FPGA芯片上,实现一个水文测报通信系统。该系统是专门为国家防汛指挥系统项目而开发的实时多任务的前置通信控制机,用于实现水文数据的传输、处理和存储。

国家防汛指挥系统工程启动之后,对水文测报网络中的通信控制机性能提出了更加苛刻的要求:更多、更快速的通信端口;更大的存储容量;更高的可靠性;更强的实时性;更强的可操作性;更便捷的应用程序开发平台。为了实现这些要求,以前曾采有传统的单片机系统完成这项工作,但这些方法存 几大缺陷:(1)系统占用面积比较大;(2)管脚的数量比较多,因而电路板问题引导发故障较多;(3)电路板信号传送之间存在干扰,系统运行速度难以达到要求。针对这些问题,本文采用SOC设计方式,进行软硬件协同设计,把整个可复用的内核如8051IP核、USB IP核、UART IP核等集成在一块FPGA芯片上,用WISHBONE总线构成一个完整的片上通信系统。实验结果证明:该系统所占用的面积缩小为原来的四分之一,管脚数量减少了三分之一,系统运行的速度也提高了。USB IP核的速度可以达到60MHz,完全满足设计要求。

1 系统实现方案

1.1 系统结构说明

本设计采用ALTERA公司的开发平台,即在一块ALTERA公司的Cyclone系列FPGA芯片上构建SOPC系统。芯片内部IP核的结构示意图如图1所示。

图中,系统核心8051 IP核采用的是第三方的图件,遵守GPL协议的公开源代码,指令体系与标准的8051兼容,全同步设计,并且通过修改包含了测试器接口;源代码由VHDL语言写成,拥有良好的注释及可扩展性。其它IP核如UART IP核、I2C IP核、USB IP核等都是自行设计的;图中总线采用的是WISHBONE片上总线。

1.2 系统功能的实现

系统的主要功能是数据传输。从图1所示的结构图可见,内部数据传输采用的是总线结构,所有的设备都是通过总线进行数据传送的,因此设计的核心是总线数据传输。本文设计采用的是SILICORE公司的WISHBONE片上总线标准。片上总线(On-Chip Bus,OCB)是实现SOC中IP核连接最常见的技术手段,它以总线方式实现IP核之间的数据通信。与板上总线不同,片上总线不用驱动底板上的信号和连接器,使用更简单,速度更快。WISHBONE是一种主/从结构的总线,所有的IP核挂接在WISHBONE总线上,其规范是一种片上系统IP核互连体系结构。本系统选取8051 IP核为主,其它IP核为从,主/从IP核通过握手信号使数据在WISHBONE总线上进行交换。

下面详细说明WISHBONE总线功能的实现。WISHBONE主设备核(8051 IP)与WISHBONE从设备核(USB IP核、UART IP核、I2C IC核等)端口信号连接图如图2所示;主设备核读取从设备核数据的时序示决图如图3所示。写操作时序与之类似。



WISHBONE连线示意图中只画出一个主设备核和一个从设备核,实现情况可挂接多个主设备和从设备。本文采用了一主多从的结构,即一个主设备核(8051 IP核)控制总线,与多个从设备核(UART IP核、USB IP核等)进行数据传输。WISHBONE总线连接线可分为:同步信号线CLK-I;设备地址线ADR;主IP核到从IP核的数据输出线DAT_O,从IP核到主IP核的数据输入线DAT_I;控制线SEL、STB、CYC、ACK;附加线TAGN(用户可以自行定义,本文定义了定信号线WE)。

WISHBONE的数据传输由主设备控制,采用握手信号STB-O和ACK-I控制传输过程,如图4所示。

以本文设计为例,一个WSIHBONE总线读周期的详细过程可分解如下:

(1)运行8051汇编程序,8051 IP核(主IP核)使CYC-O为高,表示8051 IP核占用总线;同时送出SEL-O信号选取从设备核(SEL-O信号线电平定义从设备核地址;本文中UART IP核地址为0001、I2C IP核地址为0010、USB IP核地址为0101;假设SEL-O送出的信号线电平为0101,即USB IP核被选中),同时发出STB-O握手信号通知从设备核送出数据。


(2)USB IP核收到选中信号和STB激励信号后,把数据放在数据线上,并送出ACK信号表明设备准备好。

(3)8051 IP核收到ACK信号,从数据线上读取数据。

(4)数据读出后,8051 IP核把STB信号置低,通知从IP核数据已读出。

(5)USB IP核收到STB低电平信号,把ACK置低,一个数据传送周期结束。

写周期与以上过程类似,不同之处在于8051核收到ACK高电平信号后才把数据放在数据线上,由从IP核来读取。

2 系统设计方法与关键技术

2.1 系统设计方法

系统设计采用的核心工具软件:设计输入编程器及仿真工具——ActiveHDL6.1,逻辑综合工具——Synplify Pro 7.6结构综合工具——QuartusII v4.1,仿真工具——Modelsim 6.0 SE。Active DHL+Synplify+Quartus I工具链提供了从源代码输入到FPGA实现整个流程的核心开发平台。

SOC的设计、仿真和验证确实是一个纷繁复杂的过程。在实际运行中,采用IP核分别设计然后再整合在一起的方法来进行:先进发单个IP核,仿真、下载到FPGA板进行测试,所有的IP核均满足设计要求后,再挂接到WISHBONE总线上进行仿真与验斑点。由于整体仿真成功的几率太小,而且每次仿真占用的时间太长,因此设计中采用循序渐时的方法。实际上,每个IP核都有自身的特殊性,分别开发也是必然的。例如开发USB IP核时,就要单独开发主机端(PC机)驱动程序及8051汇编接口。

2.2 关键技术

2.2.1 系统集成时仿真时间过长的解决

SOC的仿真一直是该技术实现中耗时最长的。在用SOPC实现系统集成时,由于多个IP核集成后系统仿真时间延长,占用了系统宝贵的开发时间,而USB IP核仿真时占用时间最长,因此开发两个模型:一个是USB HOST端的HDL行为模型,这个模型模拟了一个真实HOST的行为过程,如上电检测、速度识别、标准设备请求等过程,并且可以检测USB设备应答数据是否正确。另一个是8051 IP核的行为模型,用于仿真8051核的行为。把这两个模型与USB IP连接,在Modelsim软件包中进行仿真。实验证明效果很好,与直接用IP核集成方式仿真相比,时间减少了80%以上。
2.2.2 MC8051 IP核数据传输端口的选取

在考虑如何选取MC8051 IP核的数据传输端口时,有两种方案可供选择:一种是利用四组8位并行I/O端口作为主设备(MASTER)数据传送信号端口,它们的编程方式、时序、功能与8051单片机的四个并行口p0、p1、p2、p3相似;另一种方案是利用该核特有的用于与RAM存储器传送数据的端口作为主设备端口;同时把RAM存储器接在WISHBONE总线的从设备端口,以使从设备与8051 IC核进行数据传输。后一种方案与前一种方案相比,优点是当设备已经被选中处于就绪状态时,只需要一条MOVX指令就可以完成对从设备的仿问(读、写操作)。而第一种方案至少需要先通过并行I/O端口输出地址、再输出数据或读入数据,至少需要两条以上传送指令,增加了数据传送时间。通过对代码的分析和仿真可以知道,使用第二种方案大大提高了运行速度(约为前一种的三倍),同时方便了系统的开发。

2.2.3 系统软件的运行方式

由于8051 IP核的指令执行从ROM中的0地址开始,因此需要把ASM5
1汇编程序先编译生成HEX文件,再把这个文件与硬件一起综合、映射、下载,这样该HEX文件就可以作为初始文件保留在ROM中,用来实现软硬件协同仿真。

2.2.4 仿真库的选取

有些软件包不含所有的FPGA器件的单元库(Logic Cell Library),如ActiveHDL6.1。因此仿真时常报库单元不存在错。设计中采用的办法是用Modelsim仿真,并且提前编译好的仿真用的单元库。这样就很好地完成了逻辑门级仿真和时序级(布局布线后)仿真。

3 系统新增重要部分的设计及创新之处

由于水文测报的特殊性,常常需要传送大容量的文件,如图片、实时数据采集包等,同时有些数据需要备份、上传。原单片机PCB板有UART、I2C等通信功能块,本文的SOPC集成除了开发上述功能模块IP核外,还增加了USB IP核的设计。在实际测试中,USB接口的使用大大提高了系统的数据传输速度,而且更方便、更灵活,大大提高了系统功能。

USB协议结构复杂,涉及的面很广,IP核的开发难度最大,同时考虑到USB IP核在整个系统中的特殊性,下面将详细说明USB IP核的设计与集成过程。

3.1 USB IP核设计基本原理及框图

USB IP核的设计原理图如图5所示。USGB主控制器为USB主机端(通常安装在计算机内),负责主机与USB设备间的物理数据传输,即将客房软件启动的数据传输转化为USB总线上的实际串行数据流,经USB传输线传输。收发器将收到的数据转换成数字CMOS串行数据流,然后通过USB核控制逻辑传输到设备端点(图中的E0~E6),最后通过DMA接口传送到8051 IP核或存储在SSRAM中。




按照USB协议,USB提供三种速度传输模式:低速的1.5Mbps、全速的12Mbps、高速的480Mbps。根据设计要求,USB IP核的传送速率应当在全速以上。因此,设计USB核时,采用全速的USB设备标准,同时增设DMA接口和DMA控制器IP核,以保证升级成高速设备时USB IP核的可复用性。

实际上,USB IP核采用的主频是48MHz,而8051 IP核的时钟只有12MHz,两者主频不同,必然产生时钟不同步问题。由于8051核的主频只有USB核的四分之一,大大低于USB设备的速度,因此,当数据传送到设备端大大低于USB设备的速度。当数据传送到设备端点时,8051 IP核与USB IP核的通信将成为速度瓶颈。

3.2 创新之处

为了解决速度问题和同步难点,在8051 IP核与USB IP核端点之间,设置了两个可转换控制的缓冲区——BUF0和BUF1,大小都等于USB最大包的大小。数据流程如图6所示。

这两个缓冲区由一个标志寄存器控制,状态控制器的值只有两个:01或10。01表示USB IP核逻辑控制BUF0缓冲区,8051 IP核通过DMA控制器操作BUF缓冲区;反之,值为10,则BUF0由8051 IP核读写,BUF1由USB IP核逻辑操作。

数据交换的过程如下:(1)初始化:复位后,8051 IP核通过WINSHBONE总线预置数据到BUF0缓冲区;(2)数据输入:USB IP核端点读入一个缓冲区数据,同时8051 IP核端口对另一个缓冲区数据;(3)数据输出:USB IP核端点写数据到一个缓冲区,8051 IP核端口再从这个缓冲 区数据;两者也可同时进行,但具体实现十分复杂,在此不多讨论。

这么做的好处是:首先,8051 IP核和USB IP核读入时可以同
时操作,USB IP核不用等到8051核工作完成再进行下一步工作,提高了速度:其次,由于分开操作,时钟不同步问题基本得到了解决;再次,如果想进下不提高芯片速度,例如要进行数据组的传输(一次与8051 IP核交换四组8位数据),也会更加方便快捷。

4 测试实验结果

整个系统包括硬件平台和软件功能实现两部分。硬件包括MCU核心系统和外围辅助电路。软件包括程序调试器软件、8051 IP核网关功能程序包以及一部分IP核的PC驱动程序(如USB WINDOWS下的驱动程序)。整个系统测试包括硬件平台测试和软件功能测试。

在硬件验证时,FPGA采用ALTERA公司CYCLONE系列的EP1C12Q240C8,双时钟频率,USB IP核时钟频率为48MHz,其它部分(含MC8051)逻辑工作时钟频率为11.0592MHz,实验板为低成本双层PCB板。系统建立后实现了对MC8051定时器定时功能的验证、UART模块的验证、USB数据包传送的测试、对中断控制器的验证。

软件测试主要是对8051核网关功能程序的测试。代码下载到实验板后对信道数据接收进行了200次试验(以RF信道为例)。测试结果均符合“微机向前置机配置命令”所列各项命令的应答,准确无误,实现了水情数据可靠的接收、存储以及将数据上传到后台微机等功能。图6 SOPC技术以中硬件协同设计、具有知识产权的内核(IP Core)复用和超深亚微米技术为支撑,采用SOPC技术设计并实现的芯片是面向特定用户的芯片,它能最大程度满足嵌入式系统的要求,与传统的板上系统相比,具有许多优点:

①充分利用IP技术,减少了产品设计复杂性和开发成本,缩短了产品开发的时间;

②单芯片集成电路可以有效地降低系统功耗;

③减少了芯片对外引脚数,简化了系统加工的复杂性;

④减少了外围驱动接口单元及电路板之间的信号传递,加快了数据传输和处理的速度;

⑤内嵌的线路可以减少甚至避免电路板信号传送时所造成的系统信号串扰。

在本设计中由于采用了SOPC技术,整个系统的性能和稳定性有了很大提高。因此,SOPC技术及应用的特点决定它可以为复杂的板上系统提供了一种更高效更稳定的解决方案。

关键字:sopc 引用地址:基于单片机软核的SOPC系统设计与实现

上一篇:AVR单片机中TWI的模块化检测系统设计
下一篇:基于AVR的直流电机高精度数字控制系统

推荐阅读最新更新时间:2024-03-16 12:34

SOPC上实现的波形发生器
引 言   SoPc可编程片上系统是一种特殊的嵌入式微处理器系统。首先,它是片上系统(SoC),即由单个芯片完成整个系统的主要逻辑功能;其次,它是可编程系统,以FPGA为硬件基础,具有灵活的设计方式,可裁减、可扩充、可升级,并具备软硬件系统在线可编程的功能。   IP(Intellectual Property)知识产权是SoC设计中非常重要的内容。资源复用(IP Reuse)是指在集成电路设计过程中,通过继承、共享或购买所需的部分或全部知识产权内核(IP Core)进行设计、综合和验证,从而加速流片设计过程的设计方法。IP技术包含两个方面的内容:IP核的生成和IP核的重用。本设计中采用VHDL语言,构建一个功能强大的完整DDS
[嵌入式]
SOPC中NiosII的LCD显示驱动IP设计
  引言   NioslI嵌入式处理器是A1tera公司提出的SOPC解决方案,是一种用户可随意配置和构建的32位嵌入式处理器,结合丰富的外设可快速、灵活地构建功能强大的SOPC系统。Altera公司提供了一些通用的IP核,使得用户可轻松集成属于自己的专用功能;但对于一些特定的外设,没有现成可用的IP核,如液晶模块CBGl28064等。   用户可通过自定义逻辑的方法在SOPC设计中添加自定义IP核。在实际应用中,LCD液晶显示器凭借功耗低、体积小、轻薄及控制驱动简单等特点,在智能仪器、仪表和低功耗电子产品中得到了广泛应用。本文以深圳秋田视佳实业有限公司的液晶显示模块CBGl28064为例,在基于NioslI的SOPC系统中
[嵌入式]
<font color='red'>SOPC</font>中NiosII的LCD显示驱动IP设计
基于SOPC的通用TFT-LCD控制器IP核设计
  随着电子技术的迅猛发展,液晶显示器(LCD)具有功耗低,体积小,重量轻,超薄等许多其他显示器无法比拟的优点,被广泛用于智能仪器、仪表和低功耗电子产品中。TFT-LCD屏采用有源显示方式,具有抗抖动,色彩饱和度高,还原能力强和对比度高等特点,在嵌入式系统中具有广泛的应用前景。在嵌入式系统中,LCD控制器是处理器与LCD显示驱动器之间的接口部件,对LCD屏提供时序信号和显示数据,用来控制数据在LCD屏幕上的显示,是LCD系统中重要的组成部分。现有的LCD控制器一般都由各个生产厂家自行开发,通用性差,而软件控制TFT-LCD会占用大量的处理器资源,使得系统的集成度不高。      SoPCBuilder是Altera公司实现SoPC
[嵌入式]
基于<font color='red'>SOPC</font>的通用TFT-LCD控制器IP核设计
基于DSP Builder的VGA接口设计
  引言   随着电子技术的发展,VGA(视频图形阵列)接口出现在很多嵌入式平台上,用于图像信息的实时显示等。在某些情况下,设计者希望通过普通的显示器或投影仪观测FPGA内部的一些矢量信号,即把带VGA接口的显示器当作示波器使用等,这就需要对数据进行处理,使之能够在显示器上实时显示。   本文基于DSP Builder的VGA接口设计方法,对VGA接口时序和系统设计需求进行了介绍,并在硬件平台下实现一维与二维信号的显示。   VGA接口标准   VGA显像原理   显示器通过光栅扫描的方式,电子束在显示屏幕上有规律地从左到右、从上到下扫描。在扫描过程中,受行同步信号控制,逐点往右扫,完成一行扫描的时间倒数为行频
[嵌入式]
基于SOPC的通用TFT-LCD控制器IP核设计
随着电子技术的迅猛发展,液晶显示器(LCD)具有功耗低,体积小,重量轻,超薄等许多其他显示器无法比拟的优点,被广泛用于智能仪器、仪表和低功耗电子产品中。TFT-LCD屏采用有源显示方式,具有抗抖动,色彩饱和度高,还原能力强和对比度高等特点,在嵌入式系统中具有广泛的应用前景。在嵌入式系统中,LCD控制器是处理器与LCD显示驱动器之间的接口部件,对LCD屏提供时序信号和显示数据,用来控制数据在LCD屏幕上的显示,是LCD系统中重要的组成部分。现有的LCD控制器一般都由各个生产厂家自行开发,通用性差,而软件控制TFT-LCD会占用大量的处理器资源,使得系统的集成度不高。 SoPC Builder是Altera公司实现SoPC概念的一
[工业控制]
基于<font color='red'>SOPC</font>的通用TFT-LCD控制器IP核设计
基于SOPC的运动视觉处理系统的设计与实现
引言   随着深亚微米工艺的发展, FPGA的容量和密度不断增加,以其强大的并行乘加运算(MAC)能力和灵活的动态可重构性,被广泛应用于通信、图像等许多领域。但是在复杂算法的实现上,FPGA不如嵌入式处理器方便,所以在设计具有复杂算法和控制逻辑的系统时,往往需要和嵌入式处理器结合使用,这就是 SOPC(System on a Programmable chip,可编程片上系统)技术。 SoPC是 SoC和 FPGA结合的产物,由单个可编程重构的芯片完成整个系统的主要功能。SoPC设计灵活多变,可以用原理图,硬件描述语言甚至是 C/C++高级语言进行设计;同时还具有可重构、可裁减、可扩充等特点,升级方便。 SoPC兼备 SoC和
[安防电子]
基于<font color='red'>SOPC</font>的运动视觉处理系统的设计与实现
基于SOPC的列车通信网卡的设计
  国内外车载网络技术的发展是随着现场总线网络技术的发展而发展起来的,先后产生了RS485、Lonworks、WorldFIP等多种总线网络形式。1999年,国际电工委员会(IEC)颁布了IEC-61375标准,该标准中将车载网络分为两级总线的层次结构,即用于连接各节可动态编组的车辆间的绞线式列车总线WTB(Wire Train Bus)和用于连接车辆(或固定编组的车辆单元)内部各种设备的多功能车辆总线MVB(Multifunction Vehicle Bus),它们之间的列车总线节点起着网关的作用,其中MVB网络由于较低的要求和其易用性高的特点,在实际中运用很广泛。本文通过深入研究几种列车通信网络产品底层协议,特别是TCN的底层
[工业控制]
基于SOPC 的1553B 总线接口逻辑设计
1 引言    数据总线是飞机航电系统中首先运用的数字电子设备之一,MIL-STD-1553B 就是其典型代表,它利用一条屏蔽的双绞线进行带有时钟信息的数据传输。1553B 具有高可靠性的特点,它已经成为我国航空航天领域广泛采用的军用总线标准。由于1553B 总线协议控制器基本依赖于进口的专用芯片,价格昂贵,还受到限制,并且这些芯片需要很多外围的硬件电路配合工作,如果完成整个总线接口板的设计,还需要单独的MCU,集成度不高,这样就在某种程度上限制了设计能力。随着嵌入式技术的发展,可编程片上系统设计(System on aProgrammable Chip,SOPC)技术已经在很多领域得到实际应用。本文采用SOPC 技术,以Xi
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved