当前位置:首页 > 工业控制 > 电子设计自动化

摘 要: 利用DMA数据传输方式的特点,设计了一种基于DMA方式的RF905无线通信IP软核。该IP软核基于AVALON总线,其控制和运算逻辑由一片FPGA芯片完成,适合应用于NIOSII嵌入式系统。测试与验证表明,该IP软核在传输数据时大大降低了CPU的占用时间,提高了嵌入式系统的性能并且占用较少资源,与一般的IP硬核相比,速度快,成本低,灵活性好,可移植性强,从而更能满足短距离无线通信的要求。该IP软核已应用于某无线电力参数监测系统中。
关键词: NIOSII;无线通信;知识产权;直接存储访问 ;AVALON总线

目前无线通信基本上都是利用单片机或者ARM片内的无线通信 IP硬核实现,如TI公司的片内集成2.4 GHz的ZigBee无线收发模块的CC2430单片机核、LINKUP System公司的带蓝牙无线收发器的L7205 ARM720T核。虽然这种无线通信 IP硬核的性能比较高,但是由于其参数往往都已经固化在片内,灵活性差,而且与其他片内外设不可分离地组合在一起,可移植性差,无线硬核的通信协议也比较复杂,使用不方便,致使整个系统的设计具有很大局限性。
RF905是一款独立于微控制器的无线收发器芯片,工作在433 MHz频段。它将频率调制解调器、功率放大器、晶体振荡器等集成在一块芯片内并且可以通过SPI接口进行编程,因此将其集成到各种嵌入式系统中非常方便。目前采用RF905芯片进行无线通信的系统都是采用查询方式和中断方式来实现[1-3]。由于这两种传输方式在数据的传输过程中会经常打断CPU的运行,尤其是当进行大块数据的传输时会占用CPU很多时间,从而大大降低了整个系统的性能。
直接存储访问(DMA)是一种不经过CPU而直接从内存存取数据的数据交换模式。由于整个数据的传输过程由DMA控制器控制,CPU可以不被打扰地处理其他的事情,提高了CPU的效率。因此本文设计的RF905无线通信IP软核采用DMA方式,它可以在传输数据时将NIOSII CPU从繁重的工作中解脱出来以处理其他事情,因而大大降低了CPU的占用时间,提高了NIOSII系统的性能。由于其具有高性能、参数可配置、可移植、可裁剪等特点,并且具有很高的灵活性、实用性,更能满足设计的要求。
1 无线通信 IP软核的整体构架
本文采用DMA传输方式设计的RF905无线通信 IP软核的整体构架如图1所示。

该软核主要由以下4个子模块组成:RF905无线发送接收控制器、带Avalon-MM Slave[4]接口的寄存器文件(简称寄存器文件)、带Avalon-MM Master[5]接口的Master Read 类型DMA控制器(简称DMA读控制器)和带Avalon-MM Master接口的Master Write 类型DMA控制器(简称DMA写控制器)。
当NIOSII处理器[6-9]需要进行无线数据发送时,首先需要通过带Avalon-MM Slave接口的寄存器文件对RF905无线发送接收控制器和Master Read 类型DMA控制器进行配置,以设定要发送到达的地址、将要发送的数据的字节数以及该数据存放在内存中的基地址;然后将要发送的数据写到指定位置内存中并启动Master Read 类型DMA控制器,从而将存储器中的数据通过RF905无线发送接收控制器逐一发送出去。当所有要发送的数据发送完毕时会向NIOSII处理器产生一个中断,告知处理器串口数据发送完毕,从而可以启动下一次数据发送。由于整个数据发送的过程是由Master Read 类型DMA控制器管理的, NIOSII处理器可以专心处理其他的事情而不被打扰,因而NIOSII CPU的利用率大大提高。
当NIOSII处理器需要进行无线数据接收时,首先需要通过带Avalon-MM Slave接口的寄存器文件对RF905无线发送接收控制器和Master Write 类型DMA控制器进行配置,以设定本机的接收地址、将要接收的数据的字节数以及该数据存放在内存中的基地址;然后启动Master Write 类型DMA控制器,从而将通过RF905无线发送接收控制器接收到的数据逐个地存储到存储器的指定位置。当所有要接收的数据接收完毕时会向NIOSII处理器产生一个中断,告知处理器串口数据接收完毕,此时NIOSII处理器可以从存储器中读取接收到的数据进行处理并启动下一次数据接收。由于整个数据接收的过程是由Master Write 类型DMA控制器管理的,NIOSII处理器可以专心处理其他的事情而不被打扰,因而NIOSII CPU的利用率大大提高。
2 模块的设计与实现
2.1 RF905无线发送接收控制器
2.1.1 RF905无线发送控制器
当有数据要发送时,首先通过SPI接口把接收机的地址和要发送的数据送传给RF905,而后置高TRX_CE和TX_EN,使RF905进入数据发送模式。在数据发送模式下,RF905首先开启射频寄存器,然后进行数据打包(加字头和CRC校验码)并将其发送出去。当数据发送完成,数据准备好引脚被置高,此时应将TRX_CE置低以进入空闲状态。至此一次完整的RF905数据发送过程完成。
本文利用有限状态机的方法采用Verilog硬件描述语言设计了一个RF905发送控制器,从而完成对RF905无线数据发送的时序控制。其状态转移图如图2所示。

从图2可以看出,状态机一开始处于idle状态。当启动Master Read 类型DMA控制器以进行一次数据发送时,状态机进入load_address状态。load_address、send_address这两个状态主要用于通过三线的SPI接口设置要发送到的4 B地址,而后进入load_data状态。Load_data状态主要用于获取由Master Read 类型DMA控制器从内存中读取的32 B数据,并将其送入发送移位寄存器,而后状态机进入send_data状态。send_data、finish这两个状态主要用于将发送移位寄存器中的数据通过三线SPI接口的控制下写入到RF905片内的FIFO缓存中,而后状态机将进入wait状态。在该状态首先置高TRX_CE和TX_EN以启动一次数据发送,然后通过DR引脚是否为高电平来判断数据发送是否完成,如果完成则将TRX_CE置低,并进入block_finish状态。在该状态状态机对已经发送的数据字节数进行判断,如果小于欲发送的字节数,则说明所有的数据还没有发送完毕,计数加1并进入load_address状态,以读取并发送下一个数据字节,直到所有的数据字节都发送完毕,状态机将进入master_done状态,在该状态状态机检测本次DMA传输是否完毕,如果完毕则产生中断信号并进入idle状态。至此一次完整的DMA传输方式的RF905无线数据发送完成。
2.1.2 RF905无线接收控制器
当有数据需要接收时,首先通过SPI接口把本机的地址传给RF905,而后置高TRX_CE并置低TX_EN,使RF905进入数据接收模式。在数据接收模式下,RF905会自动进行载波检测和地址匹配,当一个正确的数据包接收完毕,RF905自动移去字头、地址和CRC校验位,然后把DR引脚置高。此时应将TRX_CE置低以进入空闲状态并通过SPI接口读取接收到的数据。至此一次完整的RF905数据接收过程完成。
本文利用有限状态机设计了一个RF905接收控制器,从而完成了对RF905无线数据接收的时序控制。其状态转移图如图3所示。

从图3可以看出,状态机一开始处于idle状态。当启动Master Write 类型DMA控制器以进行一次数据接收时,状态机进入start状态。start状态主要用于将TRX_CE置为高电平并将TX_EN置为低电平以启动一次数据接收,而后进入ready状态。在该状态通过DR引脚是否为高电平来判断数据接收是否完成,如果完成则将TRX_CE置低,并进入recv(receive data)状态。recv与finish这两个状态主要用于从RF905片内的FIFO缓存中接收字节数据并存放到接收移位寄存器中。当32 B数据接收完毕时,将该字节数据交给Master Write 类型DMA控制器以完成字节数据到内存的写操作,而后状态机经过load和buffer_ready两个状态进入block_finish状态。在该状态,状态机对已经接收到的数据字节数进行判断,如果小于欲接收的字节数则说明所有的数据还没有接收完毕,状态机将返回ready状态,直到所有的数据字节都接收完毕,状态机将进入master_done状态。Master_done状态检测本次DMA传输是否完毕,如果完毕则产生中断信号并经过get_done状态进入idle状态。至此一次完整的DMA传输方式的RF905无线数据接收完成。
2.2 寄存器文件
本文设计的寄存器文件是具有Avalon-MM slave 接口的外设,它内部共有4个32 bit寄存器,具体结构和功能如表1所示。NIOSII处理器可以采用基地址+地址偏移量的方式来访问这4个寄存器,从而实现对DMA方式RF905无线通信 IP软核的配置以及对无线数据接收与发送的控制。


2.3 DMA读控制器
本文设计的DMA读控制器是具有Avalon-MM Master 主端口的外设。它通过Avalon-MM Master 主端口与AVALON交换结构进行基本的读传输,以完成从指定起始地址的存储器中读取指定长度的数据并传送给RF905无线发送控制器发送出去。其仿真波形图如图4所示。

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

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 信息技术
关闭
关闭