当前位置:首页 > 通信技术 > 通信技术
[导读]摘要:给出了一个可用于SoC设计的SPI接口IP核的RTL设计与功能仿真。采用AMBA 2.0总线标准来实现SPI接口在外部设备和内部系统之间进行通信,在数据传输部分,摒弃传统的需要一个专门的移位传输寄存器实现串/并转换的

摘要:给出了一个可用于SoC设计的SPI接口IP核的RTL设计与功能仿真。采用AMBA 2.0总线标准来实现SPI接口在外部设备和内部系统之间进行通信,在数据传输部分,摒弃传统的需要一个专门的移位传输寄存器实现串/并转换的设计方法,采用复用寄存器的方法,把移位传输寄存器和发送寄存器结合在一起,提高了传输速度,也节约了硬件资源。采用SoC验证平台进行SoC环境下对IP的验证,在100 MHz时钟频率下的仿真和验证结果表明,SPI接口实现了数据传输,且满足时序设计要求。

0 引言

SPI(Serial Peripheral Interface)是一种同步串行总线接口,很多器件如E2PROM、FLASH、实时时钟、A/D转换器等都用到了SPI接口,它也是SoC中的一个常用外围功能模块。AMBA总线是由ARM公司开发的一种高性能、开放性SoC系统总线,它主要包括AHB,ASB和APB三种总线类型。AHB总线主要用于连接高性能、高速度的系统模块,如CPU,DSP,SRAM等;APB总线主要用于连接低速外围模块,如UART,I2C等,接口简单,效率高,功耗低;ASB总线通过连接系统高速部件来实现高速通信,一般较少用到。

本文设计一个可作为IP核用于SoC设计的SPI接口,采用AMBA2.0总线标准来实现SPI接口在外部设备和内部系统之间进行通信,SPI接口作为低速外围模块挂载在APB总线上。

1 SPI接口的定义

1.1 接口信号

SPI的接口信号为同步串行时钟SCLK、主机输入/从机输出MISO、主机输出/从机输入MOSI、从机选择

(低电平有效),由于只用到四根线工作,与其他接口相比具有结构简单、速度快的优点。SPI有主/从两种工作模式,SPI总线的串行时钟SCLK用来同步数据传输,在主模式下由主机产生,从机选择信号

用来决定外部设备是否被选作SPI的从设备。主从设备连接方式如图1所示。

1.2 内部寄存器

SPI的内部寄存器如表1所示。

1.3 传输时序

在本设计中,SPI的传输时序由控制寄存器CTRL来决定。CTRL[9]定义为RX_NEGE,置1表示数据在时钟下降沿接收,置0为上升沿接收;CTRL[10]定义为TX_NEGE,置1表示数据在下降沿发送,置0为上升沿发送;CTRL[11]定义为LSB,置1表示数据从最低位开始传输,置0从最高位开始传输。CTRL[6:0]定义为CHAR_LEN,为数据传输长度,最长可为128 b。以其中一种传输时序为例说明,如图2所示。

2 SPI接口的RTL设计

本设计是针对SoC系统的,目标是实现适用于SoC设计并且符合SPI通信协议的IP核,实现SoC通过此SPI接口和外设通信。所以,本设计分成SPI主机模块spi_master的设计和SPI从机模块spi_slave的设计,采用Verilog HDL进行RTL设计。

2.1 spi_master模块设计

spi_master的功能主要包括:

(1)实现主机通过APB总线初始化spi_master的寄存器;

(2)实现spi_master和spi_slave之间的数据交换。

因此,spi_master模块主要就是实现分频和串并转换,主要包含时钟产生子模块spi_clgen和数据传输子模块spi_shift,其设计结构如图3所示。

2.1.1 时钟产生子模块设计

该子模块主要作用是产生SPI主/从设备通信所需的同步串行时钟sclk。在主模式下,sclk由系统提供的时钟信号pclk分频产生,产生的串行时钟的时钟频率由式(1)计算得来:

传输开始前,cnt载人DIVIDER值,满足传输条件下cnt减1计数,减为0时,输出时钟clk_out翻转,并且在clk_out的上升沿和下降沿分别产生pos_edge和neg_edge信号。

2.1.2 数据传输子模块设计

该子模块的主要功能是完成数据的串/并转换。在本设计中,该子模块负责把内部APB总线并行传输进来的数据转化成串行数据传输给SPI从设备,并且把外部SPI从设备串行传输进来的数据转化成并行数据传入到APB总线上。

传统的串/并转换设计方法需要一个专门的移位传输寄存器,本设计采用了复用寄存器的方法,把移位传输寄存器和发送寄存器结合在一起。当传输停止且总线锁存使能时,数据从APB总线并行传输到spi_shift移位传输寄存器即发送寄存器TxX,然后在传输时钟使能情况下串行输出到MOSI;而在主机接收使能的情况下,由从机MISO串行输人数据至spi_shift移位传输寄存器。传输结构如图4所示,从图4可以看出,数据传输位宽最大可达128 b/s。

2.1.3 RTL代码设计

spi_master模块代码设计划分如下:

(1)寄存器选择使能信号的地址译码电路;

(2)读寄存器部分,将并行数据输出到APB总线上;

(3)控制寄存器ctrl、时钟分频寄存器divider、从机选择寄存器ss初始化部分;

(4)例化时钟分频子模块和数据传输子模块。

为了提高代码的复用性,特别设计了一个宏定义模块,主要定义了传输最大位数SPI_MAX_CHAR,分频寄存器位数SPI_DIVIDER_LEN,从机选择数目SPI_SS_NB等相关数据。

2.2 spi_slave模块设计

这部分设计作为SPI的从设备与主机进行数据交换,与spi_shift模块时钟同步。通信开始后,从机数据最高位开始串行输入到MISO,主机发出的数据从最低位串行输出到MOSI。

3 SPI接口的功能仿真

本设计采用Verilog HDL编写Testbench,使用ModelSim软件进行功能仿真,并用Debussy软件联合调试并观察波形。为了实现主从设备通信的仿真,编写了一个p_master模块并例化到测试代码里面来模拟主机SoC对spi_master的操作,主要包括一个数据写task、一个数据读task、一个数据比较task。分别测试了1 b,8 b,16 b,32 b,64 b,128 b的数据。仿真全部通过,局部仿真波形如图5所示。

以第一次传输为例进行分析,传输时调用写任务,分别向寄存器DIVIDER、TX_0、CTRL写入32’h01、32’h5a、32’h308,设定spi_sla ve.data为32’ha5967e5a。由波形看出,数据在ss[0]有效传输,传输完成后MIS0=8’b10100101(即32’ha5),MOSI=8’b01011010(即32’h5a),满足了上升沿发送下降沿接收及高位先开始的数据传输时序。在100 MHz的主时钟频率下,得到串行时钟频率25 MHz,为4分频,符合式(1)的计算。

4 SPI接口的SoC平台验证

验证用SoC平台具有良好的可重用性和通用性,可以方便的挂接带有AHB/APB总线接口的IP核,并通过内部寄存器对其进行配置和验证,避免了对不同IP设计需要不同的Testbench平台,提高了IP验证的效率。本设计用到的SoC验证平台如图6所示,验证环境为Linux操作系统,仿真工具为VCS。

在SoC验证平台中,SPI接口作为外设连接在APB总线的Slave4端口上,地址空间为0xA400_0000~0XA4FF_FFFF。用C测试程序向Tx0写32’h67,spi_slave.data=32’h0,局部仿真波形如图7所示,MOSI=8’b01100111(即32’h67),MISO=8’b0,结果表明符合要求。

5 结语

本文实现了基于AMBA 2.0总线的、可作为IP核用于SoC设计的SPI接口的设计,并且经过全面的仿真验证,可以看出本设计满足性能要求。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭