基于FPGA的多通道SSI通信控制器设计
扫描二维码
随时随地手机看文章
摘 要: 采用VHDL硬件描述语言,以Xilinx公司的FPGA为设计平台,设计实现了以开源软核MC8051为核心的控制单元,控制4路SSI协议模块的SoPC架构的通信控制器,并对通信控制器进行了功能仿真与验证。该控制器可灵活进行IP核模块扩展,并可作为外围处理机与TI公司TMS320C6000系列DSP进行互连通信,将慢速串行通信任务进行分离,从而减轻DSP的负担,提高系统的整体性能。
关键词: 同步串行接口;FPGA;MC8051;IP核;DSP
在嵌入式系统应用领域中,需要完成的任务越来越复杂,应用环境也越来越恶劣,要求嵌入式计算机在体积不断减小的情况下,具有更强的处理功能和较低的功耗。本文采用FPGA[1]设计技术,利用VHDL硬件描述语言[2],将4个同步串行接口协议SSI IP核[3]模块组成一个功能可扩展的SoPC架构的从通信控制器,从而使主从控制器协同工作,保证了整个嵌入式系统在通信速度达到技术要求的前提下,能更有效地降低系统功耗与体积。
1 SoPC设计方法
可编程片上系统SoPC(System on Programmable Chip)(或称基于大规模FPGA的单片系统)是一种灵活、高效的SoC解决方案,将处理器、存储器、I/O口等系统需要的功能模块集成到一个PLD器件上,构成了一个可编程片上系统,具有灵活的设计方式(可裁减、可扩充、可升级),并具备软硬件在系统可编程功能。
图1为典型的基于IP核库的SoPC设计流程,主要是利用软硬件协同方法完成整个系统设计。
2 通信控制器架构模块组成
本文采用了一种全新的SoPC体系结构,整个嵌入式系统主要由主控制器和FPGA(从控制器)两大功能单元组成,其结构如图2所示。主控制器选用TI公司的TMS320C6713 DSP,虚框内的电路单元则为所设计的多通道同步通信控制器(也即从控制器)。通过TMS320C6713处理器芯片自带的EMIF模块与基于FPGA实现的多通道同步通信控制器进行数据交换。基于FPGA实现的从处理器内部选用MC8051 IP软核来控制和管理4路SSI协议通信控制器,TMS320C6713与MC8051之间通过双端口RAM共享数据和交换信息,整个系统采用中断控制方式,实现主/从控制器协同处理任务。
由图2可知,该SoPC架构控制器内部可划分为4大模块:从处理器MC8051 IP核、4路SSI协议通信控制器、双端口RAM和中断逻辑单元。下面分别对4个主要组成模块进行介绍。
2.1 从处理器
为了提高同步通信控制器的自主性与灵活性,在FPGA内部嵌入一个微控制器80C51 IP核作为同步通信控制器的核心控制单元。MC8051 IP软核的特点主要有:指令集与工业标准的8051控制器兼容;新的体系结构使单片机处理速度提高了10倍;无多路复用I/O端口,实行输入和输出接口完全隔离;256 B的内部RAM;最高可达64 KB的内部ROM和最高可达64 KB的外部RAM;容易调整或改变VHDL源代码实现相关的核扩展功能;可通过VHDL常量进行参数化设置。
图3是MC8051 IP核的内部功能结构图。从图中可以看到,该IP核包括的子模块有:算术逻辑单元MC8051_ALU、串行接口单元MC8051_SIU、定时器/计数器单元MC8051_TMRCTR、核心控制单元MC8051_CONTROL、内部数据存储单元MC8051_RAM、内部程序存储单元MC8051_ROM和外部数据存储单元MC8051_RAMX。其中,N表示MC8051_SIU和MC8051_TMRCTR两个单元根据实际需要可灵活制定的个数,其范围值为1~256,可在VHDL代码中改变参数C_IMPL_N_TMR的值进行设置。