基于状态机和片内总线的CPCI串口板及其工作方法技术

技术编号:10389673 阅读:138 留言:0更新日期:2014-09-05 14:38
本发明专利技术属于计算机通讯领域,尤其涉及一种基于FPGA状态机和WB片内总线的CPCI串口板及其工作方法,采用一主多从的片内总线运行模式,包括了处理单元、8或16通路异步收发器、双口SDRAM粘连逻辑、地址译码器、配置状态寄存器区、串口接收信号滤波逻辑等电路;异步收发器软核支持WB片内总线,与NS16550A器件兼容;板卡串口具备扩展能力;串口通讯速率大于2Mbps,且有6个字节数据缓冲区;通讯收发帧之间的延迟时间有256档可设,最小10us,最大2.56ms,误差小于0.1us;上位机能对各串口独立配置、全面监控,实现了由FPGA状态机执行多路串口数据收发、处理和存储流程、突出了时序性能。

【技术实现步骤摘要】
基于状态机和片内总线的CPCI串口板及其工作方法
本专利技术属于计算机通讯
,尤其涉及一种基于FPGA状态机和WB片内总线的CPCI串口板及其工作方法。
技术介绍
计算机通讯适配器是计算机与外部设备的信息通讯桥梁,具有双向通讯、数据缓冲、参数可设置等功能,主要用于对外部设备的数据通讯、状态监控、实验测试和维修维护等。CompactPCI(CompactPeripheralComponentInterconnect,紧凑型外设部件互连标准,以下简称CPCI)异步串口板安装在计算机CPCI扩展槽内,板卡上有CPCI总线控制器模块、多路异步串口模块、数据处理单元和数据缓冲区,可实现计算机CPCI总线与外围多路设备串行总线之间的异步串口。可以按照异步串口电路的实现方式分类,目前各种CPCI异步串口板一般采用以下方法实现:1、使用嵌入式处理器作数据处理单元采用独立的嵌入式处理器作为数据处理单元,要么使用嵌入式处理器自身的2到3个异步串口,要么使用粘连到FPGA片内总线的异步收发逻辑或异步收发器件,由DSP处理器统一处理和存储串行数据。此方法的关键点是采用高性能数字信号处理器(DSP)和一主多从式总线结构。2、使用FPGA芯片集成收发逻辑和处理逻辑采用FPGA芯片集成了若干独立的收发逻辑和处理逻辑,其中每个收发逻辑实现了一路串行数据的接受、发送和并串转换,每个处理逻辑实现了一路串行数据的读取、处理和存储,整个FPGA芯片实现了若干独立的CPCI总线与异步串口之间的数据处理和交换通道。此方法的关键点是在FPGA内实现了若干独立的数据通道,每个均采用各自的收发逻辑和处理逻辑,在处理逻辑内实现了相关通道的通讯协议。对于上述第一种设计方法,采用单片机或嵌入式处理器作为处理单元,通过访问通用异步收发器,来接受或者发送数据,数据存储器为一片双口SDRAM,利用信号灯控制协议,CPCI总线上位机和板卡处理单元轮换访问数据,板卡处理单元直接接收和应答数据。通常情况下,串口应答有响应时间的要求,而用嵌入式处理器读取、处理和存储数据,速度慢,特别是无法满足高速、多路、实时接收和应答串口数据的要求,一般从串口数据帧接收完毕开始,到串行数据帧开始发送为止,这段串口应答延迟时间至少1ms级,而且应答延迟时间无法精确控制。另外上位机和单片机都可对双口SDRAM进行写访问,而且必须满足串口应答时间限制,串口在发送过程中上位机对数据存储器的写操作将导致串口发送数据帧不完整的问题。对于上述第二种设计方法,如果收发逻辑选用带访问端口的通用异步串行收发器或UART软核,每个处理逻辑就是一个可访问外部端口的总线状态机,则每个串口通路均是一个主逻辑和一个从逻辑构成的独立总线系统,整个FPGA将包括若干独立总线系统。每个总线系统还需要访问外部数据存储器,并建立防止访问冲突机制,同时要为CPCI总线上位机提供查询和设置端口。可见这种方案构造的片上系统结构复杂,规模很大,难以把握。如果收发逻辑选用简单的无访问端口的串并转换逻辑,与通用异步串行收发器相比,功能不足,如不支持CPCI总线的通讯模式设置、工作状态查询、通讯错误类型查询、处理器中断报警和波特率设置等。
技术实现思路
针对目前CPCI异步串口板存在的应答延迟时间长,FPGA资源浪费,片上系统结构复杂,扩展性差、功能不足、兼容性差的问题,本专利技术提出的一种基于FPGA状态机和WB总线的CPCI异步串口板及其工作方法。本专利技术提出的基于FPGA状态机和WB片内总线的异步串口板主要包括:PCI9052总线控制器、双口SDRAM、FPGA芯片、CPCI总线连接器、SCSI连接器。其中,FPGA芯片内包括:WB片内总线、8个异步收发器、双口SDRAM总线粘连逻辑、LOCAL总线寄存器区、地址译码逻辑、串口接收滤波逻辑、WB总线处理逻辑,即FPGA状态机;双口SDRAM总线粘连逻辑分为双口SDRAM与LOCAL总线粘连逻辑、双口SDRAM与WB总线粘连逻辑;LOCAL总线寄存器区分为LOCAL总线配置寄存区、LOCAL总线状态寄存区;地址译码逻辑分为LOCAL总线地址译码逻辑、WB总线地址译码逻辑。CPCI总线通过CPCI总线连接器和PCI9052总线控制器连接,PCI9052总线控制器通过PCI9052LOCAL总线和FPGA芯片中的LOCAL总线地址译码逻辑、LOCAL总线配置寄存区、LOCAL总线状态寄存区、双口SDRAM与LOCAL总线粘连逻辑连接。WB总线地址译码逻辑、WB总线处理逻辑通过WB总线和8个异步收发器、双口SDRAM与WB总线粘连逻辑相连,8个异步收发器通过串口接收滤波逻辑和FPGA芯片外的SCSI连接器相连,SCSI连接器通过串行总线和8个串口相连;异步收发器中断信号与片内WB总线处理逻辑相连,以便告知WB总线处理逻辑某异步收发器要求处理异步串口交易。所述PCI9052总线控制器为ASIC器件,实现了PCI总线到9052LOCAL总线协议适配;LOCAL总线配置为8位数据线,1个2K字节的RAM空间,1个IO空间,1个高电平有效的中断源,支持DMA模式。所述双口SDRAM采用IDT7132芯片,除电源引脚外,均与FPGA用户IO相连,在FPGA内设置了粘连逻辑,以便上位机通过LOCAL总线、WB总线处理逻辑通过WB总线进行访问。所述双口SDRAM的存储空间分为两部分,即上位机可写访问的一级缓冲区和WB总线处理逻辑可写访问的二级缓冲区,一级或二级缓冲区均分成了16个子区,每路异步串口对应着一级缓冲区内的一对发送子区和接收子区,以及二级缓冲区内的一对发送子区和接收子区;上位机可读写访问一级缓冲区的所有发送子区,但只能读访问一级缓冲区的所有接收子区;WB总线处理逻辑除只能读访问一级缓冲区的所有发送子区外,可读写一级缓冲区内所有接收子区和二级缓冲区内所有发送和接收子区。所述FPGA芯片为1个或2个XC2S200-5PQ208芯片,每个均可实现一个独立的片上系统,提供8个或16个全双工串口通路。所述WB总线处理逻辑按照LOCAL总线配置寄存器区,配置各异步收发器的工作模式,通过监视双口SDRAM一级和二级缓冲区的“信号灯”标识和通用异步收发器的中断信号,确定是否需要启动任务。本专利技术提出的基于FPGA状态机和WB片内总线的CPCI异步串口板的工作方法,主要包括上位机和WB总线处理逻辑处理异步串口发送数据的方法,WB总线处理逻辑处理异步收发器接收和发送数据的方法,前者优先于后者,即覆盖二级缓冲区的中断请求优先于异步收发器的串口交易中断请求,不是同一数据区可并行处理。所述上位机和WB总线处理逻辑处理异步串口发送数据的工作方法,主要包括:步骤1、如果上位机请求更新一级缓冲区的某子区,即覆盖二级缓冲区中断请求存在,上位机查询“FPGA访问双口SDRAM一级缓冲区标志”,判断WB总线处理逻辑是否正在访问一级缓冲区,若为真,则继续查询等待;否则置位“上位机访问双口SDRAM一级缓冲区标志”,设置“更新发送区ID寄存器”和“发送帧长度寄存器”,覆盖一级缓冲区的相应子区,完毕后复位“上位机访问双口SDRAM一级缓冲区标志”,产生更新二级缓冲区的中断请求;步骤2、WB总线处理逻辑响应中断,查询“上位机访问双口SD本文档来自技高网
...
基于状态机和片内总线的CPCI串口板及其工作方法

【技术保护点】
一种基于FPGA状态机和WB片内总线的CPCI异步串口板,其特征在于,主要包括:PCI9052总线控制器、双口SDRAM、FPGA芯片、CPCI总线连接器、SCSI连接器;其中,FPGA芯片内包括:WB片内总线、8个异步收发器、双口SDRAM总线粘连逻辑、LOCAL总线寄存器区、地址译码逻辑、串口接收滤波逻辑、WB总线处理逻辑,即FPGA状态机;双口SDRAM总线粘连逻辑分为双口SDRAM与LOCAL总线粘连逻辑、双口SDRAM与WB总线粘连逻辑;LOCAL总线寄存器区分为LOCAL总线配置寄存区、LOCAL总线状态寄存区;地址译码逻辑分为LOCAL总线地址译码逻辑、WB总线地址译码逻辑;CPCI总线通过CPCI总线连接器和PCI9052总线控制器连接,PCI9052总线控制器通过PCI9052LOCAL总线和FPGA芯片中的LOCAL总线地址译码逻辑、LOCAL总线配置寄存区、LOCAL总线状态寄存区、双口SDRAM与LOCAL总线粘连逻辑连接;WB总线地址译码逻辑、WB总线处理逻辑通过WB总线和8个异步收发器、双口SDRAM与WB总线粘连逻辑相连,8个异步收发器通过串口接收滤波逻辑和FPGA芯片外的SCSI连接器相连,SCSI连接器通过串行总线和8个串口相连;异步收发器中断信号与片内WB总线处理逻辑相连,以便告知WB总线处理逻辑某异步收发器要求处理异步串口交易。...

【技术特征摘要】
1.一种基于FPGA状态机和WB片内总线的CPCI异步串口板,其特征在于,主要包括:PCI9052总线控制器、双口SDRAM、FPGA芯片、CPCI总线连接器、SCSI连接器;其中,FPGA芯片内包括:WB片内总线、8个异步收发器、双口SDRAM总线粘连逻辑、LOCAL总线寄存器区、地址译码逻辑、串口接收滤波逻辑、WB总线处理逻辑,即FPGA状态机;双口SDRAM总线粘连逻辑分为双口SDRAM与LOCAL总线粘连逻辑、双口SDRAM与WB总线粘连逻辑;LOCAL总线寄存器区分为LOCAL总线配置寄存区、LOCAL总线状态寄存区;地址译码逻辑分为LOCAL总线地址译码逻辑、WB总线地址译码逻辑;CPCI总线通过CPCI总线连接器和PCI9052总线控制器连接,PCI9052总线控制器通过PCI9052LOCAL总线和FPGA芯片中的LOCAL总线地址译码逻辑、LOCAL总线配置寄存区、LOCAL总线状态寄存区、双口SDRAM与LOCAL总线粘连逻辑连接;WB总线地址译码逻辑、WB总线处理逻辑通过WB总线和8个异步收发器、双口SDRAM与WB总线粘连逻辑相连,8个异步收发器通过串口接收滤波逻辑和FPGA芯片外的SCSI连接器相连,SCSI连接器通过串行总线和8个串口相连;异步收发器中断信号与片内WB总线处理逻辑相连,以便告知WB总线处理逻辑某异步收发器要求处理异步串口交易;所述双口SDRAM的存储空间分为两部分,即上位机可写访问的一级缓冲区和WB总线处理逻辑可写访问的二级缓冲区,一级或二级缓冲区均分成了16个子区,每路异步串口对应着一级缓冲区内的一对发送子区和接收子区,以及二级缓冲区内的一对发送子区和接收子区;上位机可读写访问一级缓冲区的所有发送子区,但只能读访问一级缓冲区的所有接收子区;WB总线处理逻辑除只能读访问一级缓冲区的所有发送子区外,可读写一级缓冲区内所有接收子区和二级缓冲区内所有发送和接收子区。2.根据权利要求1所述异步串口板,其特征在于,所述PCI9052总线控制器为ASIC器件,实现了PCI总线到9052LOCAL总线协议适配;LOCAL总线配置为8位数据线,1个2K字节的RAM空间,1个IO空间,1个高电平有效的中断源,支持DMA模式。3.根据权利要求1所述异步串口板,其特征在于,所述双口SDRAM采用IDT7132芯片,除电源引脚外,均与FPGA用户IO相连,在FPGA内设置了粘连逻辑,以便上位机通过LOCAL总线、WB总线处理逻辑通过WB总线进行访问。4.根据权利要求1所述异步串口板,其特征在于,所述FPGA芯片为1个或2个XC2S200-5PQ208芯片,每个均可实现一个独立的片上系统,提供8个或16个...

【专利技术属性】
技术研发人员:韩怀宇袁凤肖巨军王锋周东朋艾重阳
申请(专利权)人:北京佳讯飞鸿电气股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1