首页 接线图文章正文

基于FPGA的多通道SSI通信控制器设计

接线图 2024年04月29日 12:22 133 admin

  采用VHDL硬件描述语言,以Xilinx公司的FPGA为设计平台,设计实现了以开源软核MC8051为核心的控制单元,控制4路SSI协议模块的SoPC架构的通信控制器,并对通信控制器进行了功能仿真与验证。该控制器可灵活进行IP核模块扩展,并可作为外围处理机与TI公司TMS320C6000系列DSP进行互连通信,将慢速串行通信任务进行分离,从而减轻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设计流程,主要是利用软硬件协同方法完成整个系统设计。

基于FPGA的多通道SSI通信控制器设计  第1张

  2 通信控制器架构模块组成

  本文采用了一种全新的SoPC体系结构,整个嵌入式系统主要由主控制器和FPGA(从控制器)两大功能单元组成,其结构如图2所示。主控制器选用TI公司的TMS320C6713 DSP,虚框内的电路单元则为所设计的多通道同步通信控制器(也即从控制器)。通过TMS320C6713处理器芯片自带的EMIF模块与基于FPGA实现的多通道同步通信控制器进行数据交换。基于FPGA实现的从处理器内部选用MC8051 IP软核来控制和管理4路SSI协议通信控制器,TMS320C6713与MC8051之间通过双端口RAM共享数据和交换信息,整个系统采用中断控制方式,实现主/从控制器协同处理任务。

基于FPGA的多通道SSI通信控制器设计  第2张

  由图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的值进行设置。

基于FPGA的多通道SSI通信控制器设计  第3张基于FPGA的多通道SSI通信控制器设计  第3张

  2.2 SSI协议控制器


  同步串行接口SSI(Synchronous Serial Interface)[4]通信协议是同步串行通信协议的一种类型,该协议主要包含帧同步信号GATE、时钟信号CLK和串行数据DATA三类信号,其时序关系如图4所示。

基于FPGA的多通道SSI通信控制器设计  第5张

  在图4中,帧同步信号GATE有方式1和方式2两种可选择方式协调控制时钟信号CLK和串行数据DATA。方式1用虚曲线①表示,在该方式下,整个系统空闲时,GATE一直处于高电平状态,当触发一个瞬态低电平脉冲后,DATA在GATE信号的上升沿根据系统配置要求进行传输,同时GATE保持高电平。方式2用实曲线②表示,该方式下当系统空闲时,GATE一直处于低电平状态,当触发一个瞬态高电平脉冲后,DATA在GATE信号的下降沿进行传输,同时GATE保持低电平。在上述两种方式中,DATA可在CLK的上升沿或者下降沿保持稳定并进行采集。

  SSI IP核接口信号图如图5所示。

基于FPGA的多通道SSI通信控制器设计  第6张

  本文中共定义了4路(A~D)相同结构的SSI IP核,MC8051通过中断和查询方式对4路通信协议控制器进行数据的收/发操作控制。

  2.3 双端口RAM

  MC8051中的外部数据存储器MC8051_XRAM存储空间最高可达到64 KB,本设计用VHDL语言生成一个32 KB的外部数据扩展双端口存储器MC8051_XRAM,一端供MC8051 IP核操作,另一端供DSP操作,通过地址线译码,从而为MC8051_XRAM和4路SSI协议控制器提供cs_x和cs_a~cs_d等片选信号。输入MC8051_XRAM模块的地址线为addra(15:0),实际使用到的地址线空间为addra(14:0),支持32 KB寻址空间。

  2.4 中断逻辑单元

  中断逻辑单元的操作地址为FFD3H,当DSP向该地址进行写操作时,中断逻辑单元将向多通道同步通信控制器发出低有效的中断信号;当多通道同步通信控制器中的MC8051向该地址进行写操作时,中断逻辑单元将清除中断。该中断逻辑单元的信号接口信息如表1所示。

基于FPGA的多通道SSI通信控制器设计  第7张

选中A路通道对并行数据的发送进行仿真测试,其测试仿真如图7所示。从图可以看出,并行数据Data在MC8051工作时钟Wr_clk和外部分频时钟Exclk作用下,通过设置A通道内的寄存器组合达到最终串行数据的发送。从而可以验证,数据发送仿真功能正确。

基于FPGA的多通道SSI通信控制器设计  第8张

选中B路通道对外围串行数据的接收进行仿真测试,其测试仿真如图8所示。从图可以看出,串行数据Rxd在MC8051工作时钟Clk和外部分频时钟Exclk作用下,通过配置B通道内的寄存器组合得到并行数据的接收。从而可以验证,数据接收仿真功能正确。

  本文以Xilinx公司的FPGA器件为设计平台,采用VHDL硬件描述语言,设计了一种SoPC架构的从通信控制器,并对设计方案进行了仿真与验证,得出了设计方案的正确性,并已成功用于某遥测数据工程实践中,因其兼具较高的数据传输率、IP核的可移植性和灵活扩展性而容易推广使用。

版权与免责声明

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

发表评论

接线图网Copyright Your WebSite.Some Rights Reserved. 备案号:桂ICP备2022002688号-2 接线图网版权所有 联系作者QQ:360888349