关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 基于FPGA状态机和片上总线的CompactPCI异步串口板设计方案

基于FPGA状态机和片上总线的CompactPCI异步串口板设计方案

——
作者:韩怀宇 张建军 袁凤时间:2014-06-26来源:电子产品世界收藏
编者按:摘要:首先简要介绍了CompactPCI异步串口板的通常设计方法,并且提出了这些方法的不足之处,重点阐述了基于FPGA状态机和片上总线的新设计方案,以及该方案的技术优势,随后公布了基于该方案的异步串口板达到的性能指标。通过比较有关应答延迟的试验数据,提出了基于FPGA状态机和基于DSP处理器的异步串口板卡存在明显的处理速度差异问题,并基于两种设计方案,解释了形成差异的原因。最后提出了FPGA状态机对外部总线存储器或端口的访问管理性能大幅超越了任何一款DSP处理器的观点,并对同行提出了类似研发项目的设计建议

  (1)双口SDRAM

本文引用地址:http://www.eepw.com.cn/article/248894.htm

  采用IDT7132芯片作为数据缓冲区,容量2k×8bit,读写周期均为20ns。为了避免上位机正在更新某数据区,而与该数据区对应的异步串口要求发送该数据区的情况,在设计中将双口SDRAM的存储空间分为两部分,即上位机可写访问的一级缓冲区和WB总线处理逻辑可写访问的二级缓冲区。对应36通路,一级和二级缓冲区均分成了72个子区,每路异步串口对应着一级缓冲区内的一对发送子区和接收子区,以及二级缓冲区内的一对发送子区和接收子区。上位机可读写一级发送子区,但只能读一级接收子区;WB总线处理逻辑只能读一级发送子区,可读写一级接收子区和二级所有子区。

  (2)芯片

  芯片为串口板核心器件,选用XC3S2000-4 FG456芯片,I/O口速度达到5ns。

  ①WB片内总线
  即WISHBONE片内总线,是一种应用普遍的、具有灵活性的IP核互联接口。

  ②异步收发器
  异步收发器为IP软核,来源于opencores开源组织,支持WISHBONE接口,与通用异步收发器兼容,每个可实现一路全双工异步串口通讯。

  ③双口SDRAM总线接口逻辑
  片内有两个独立的双口SDRAM总线接口逻辑,分别实现了双口SDRAM与WISHBONE总线和LOCAL总线的逻辑连接。

  ④LOCAL总线寄存器区
  为了方便上位机对各异步串口独立灵活配置、全面监控工作状态,必须设置可供上位机访问的若干配置寄存器和状态寄存器, 而且LOCAL总线寄存器区逻辑是上位机与片内WB总线处理逻辑之间的通讯桥梁。

  ⑤地址译码逻辑
  片内有两个独立的地址译码逻辑,分别根据LOCAL总线地址和WISHBONE总线地址,片选总线从逻辑。

  ⑥串口接收滤波逻辑
  片内36个独立的串口接收滤波逻辑,每个对应一路异步收发器的接收端,可滤除正负跳变宽度小于1ms的毛刺,但会造成1ms的信号延迟。

  ⑦WB总线处理逻辑
  即WISHBONE总线状态机,实现了访问WISHBONE总线、数据处理、数据存储和各串口通讯协议的功能。主要任务是根据上位机设置的LOCAL总线配置寄存器区,设置各异步收发器的工作模式,接收串口数据,遵循通讯协议,发送串口数据,完成一级、二级缓冲区数据更新或复制,并将各串口通道的工作状态标识到LOCAL总线状态寄存器区,供上位机查询。

  2.2.2 处理流程

  如果上位机请求更新一级缓冲区的某子区,上位机查询“访问双口SDRAM一级缓冲区标志”,若为真,则等待;否则置位“上位机访问双口SDRAM一级缓冲区标志”,更新一级缓冲区的发送子区,完毕后复位“上位机访问双口SDRAM一级缓冲区标志”,产生“更新二级缓冲区的中断请求”。WB总线处理逻辑响应该中断,查询“上位机访问双口SDRAM一级缓冲区标志”,若为真,则等待;否则置位“FPGA访问双口SDRAM一级缓冲区标志”,读访问一级缓冲区的相应发送子区,并存入二级缓冲区的相应发送子区,完毕后复位“FPGA访问双口SDRAM一级缓冲区标志”。在WB总线处理逻辑更新二级缓冲区期间,暂不响应异步串口交易中断。

  如果某异步收发器存在接收发送任务,即串口交易中断请求存在,WB总线处理逻辑读访问该异步收发器的中断状态寄存器,如果是发送中断,继续发送下一字节,并退出,循环直至发送帧结束;如果是接收中断,读访问接收数据寄存器,并将数据存入二级缓冲区对应接收子区。每接收一个字节后,延迟半位,未出现新的接收数据中断,则认为已收到完整数据帧。随后设置“二级缓冲区接收子区覆盖一级缓冲区接收子区”中断请求。如果上位机未访问一级缓冲区,则WB总线处理逻辑响应上述中断,执行二级至一级的某接收子区“数据复制”,任务结束后,清相应中断;如果上位机正在访问一级缓冲区,则等待时机再复制数据。

fpga相关文章:fpga是什么




评论


相关推荐

技术专区

关闭