基于IMX6Q+TSI721的RapidIO硬件设计与实现
作者:***
来源:《计算机与网络》2021年第13期
为了使ARM架构的CPU能通过PCIE总线连接到RapidIO系统中,利用NXP公司的IMX6Q处理器PCIE接口和RapidIO桥芯片Tsi721的硬件特性,在Linux操作系统下开发该芯片的驱动程序,实现了PCIE总线网络和RapidIO总线网络的无缝对接。通过实际测试,验证了工作的正确性。
RapidIO总线是当前广泛应用的一种嵌入式系统内部互联架构,具有高带宽、低延迟,支持多处理器等特征,比千兆以太网提供更高的传输速率,比PCIE更适合组建平行通信网络。本设计采用了FREESCALE公司的i.MX6Q芯片作为核心CPU,它是基于ARMCort
ex-A9架构,40nm工艺制程,最高运行频率可达1.2GHz,具备PCIE2.0接口,可以进行功能扩展,凭借IMX6Q的此功能,选择美国IDT公司生产的PCIE转RapidIO桥接芯片Tsi721与之无缝对接,来实现RapidIO总线功能。为将SerialRapidIO总线更好地应用到ARM处理器系统中,本文提出了一种基于IMX6Q+TSI721的解决方案。
RapidIO协议架构
linux内核设计与实现 pdf RapidIO是一个开放的标准,宗旨是为嵌入式系统开发可靠的、高性能、基于包交换的互连技术。主要用于系统内部互连,支持芯片到芯片、板到板间的通信。为了满足灵活性和可扩展性的要求,RapidIO分为3个层次:逻辑层、传输层及物理层。如图1所示。
CPU硬件设计
ARM嵌入式Rapidio通信平台硬件由IMX6Q+TSI721芯片组成,IMX6Q集成1路PCIE接口,外接TSI721桥接芯片,扩展Rapidio总线接口,外接DDR3存储器。其中FLASH用于存储Bootloader、操作系统内核、文件系统,在IMX6Q内运行Linux操作系统,Linux操作系统集成协议栈,通过BSP与硬件进行通信,图2是硬件平台架构示意图。
IMX6Q电源设计
此次设计办卡的功率大概在5W左右,为了留出充足的余量,使用5V2A的适配器。CPU的供电电压分为核电压和IO电压,并且要求核心电压的上电时间要早于IO电压,综合考虑到CPU的用电量和用电余量,采用RT8074GSP和MP2143DJ两种DCDC芯片原理如图3和图4所示。
当核心电压上电完成后,控制电压VDDHIGH_CAP打开P沟道MOS管AO3415A实现IO的供电从而满足上电顺序的要求。
TSI721硬件设计
Tsi721可提供8个直接内存存取DMA和4个信息引擎/通道,每个通道都可实现16Gbps速度的数据传输,从而在多核多线程系统中实现对单个内核中多引擎任务的分配,最大程度简化了系统级软件的开发。TSI721的电路设计主要包括基本配置电路设计、时钟电路设计、SRIO接口设计、PCIE接口设计与电源设计。Tsi721的基本配置电路主要包括JTAG接口、I2C接口、复位信号与GPIO状态配置。JTAG信号引脚均悬空。Tsi721的GPIO除了具
有普通GPIO的功能之外,还要用于初始化配置。GPIO[12:0]信号在复位信号使能后的4000个时钟周期内,是作为初始化配置使用的,在初始化完成之后这些GPIO引脚可以用于普通GPIO功能。表1是Tsi721的初始化配置引脚电平。
TSI721时钟设计
Tsi721有2种时钟模式,一种是PCIECommonClock模式(CLKMOD=1),即PCI-E端口与SRIO端口的参考时钟频率可以不相同,另一种模式是PCIENon-commonClock(CLKMOD=0),这种模式下PCCLK与REFCLK要使用相同的时钟频率。设计中采用PCIECommonClock模式,这时Tsi721的两路时钟采用不同的时钟频率,PCI-E参考时钟PCCLK使用PCIe的UPStram端口提供的100MHz时钟信号。另一个是SRIO参考时钟REFCLK,时钟频率为156.25MHz,通过本地LVDS晶振提供,时钟信号采用交流耦合输入,如图6所示。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论