一种多通道同步串口设计与实现.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种多通道同步串口设计与实现

一种多通道同步串口的设计与实现   摘 要 同步串口用来传递参数和控制命令,当同时有多路串口需要通过FPGA控制,为了节省硬件资源,减少同步串口的布线数,采用两线制同步串口传输,即时钟线和数据线。接收数据时,根据传输协议,利用滑窗的方式搜索帧头,判断数据位置;发送数据时,将数据打包,采用移位寄存的方式,进行串并转换。接收和发送数据,根据状态机来判断串口的优先级,来合理调度同步串口的使用。采用自适应端口分配机制,动态配置新通道的端口号 【关键词】同步串口 FPGA 滑窗 随着系统集成度的提高和阵列技术的应用,为了实现系统同步和参数传递等要求,单个控制模块需要实现多通道同步控制,每个通道需要一个同步串口,这样需要的同步串口数量大,当采用FPGA控制的时候,考虑到低成本和最小面积的要求,尽量减少同步串口的布线数量,采用两线制同步串口传输。多通道同步串口的收发采用轮询的方式,将数据按照预定的顺序对相应通道的同步串口进行读写操作。当通道更换时,与串口对应的硬件端口将改变,为了更换的方便性和通用性,采用自适应端口分配机制,来动态配置新通道的端口号 1 两线制同步串口 多通道同步串口连接如图1所示,每个同步串口连接到FPGA的对应管脚,使用FPGA来并行接收,同步串口电平使用422标准,传输格式使用两线制,即数据线和时钟线,两线制同步串口的传输协议可由用户自定义,传输的时候使用时钟的上升沿锁存数据,高位在前 2 FPGA实现 FPGA内部采用异步FIFO解决外部时钟频率和FPGA时钟频率不匹配的问题,写时钟由时钟线上的同步时钟信号提供,时钟频率为6MHz;读时钟由FPGA 的锁相环PLL时钟提供,输出本地时钟6MHz 2.1 接收模块 由于多通道同步串口接收多个被控件上传的信息,FPGA数据接收模块有多个,每个模块接收到的数据都存放在一个特定的FIFO中,命名为FIFO_Receiver,8个FIFO_Receiver同时连接到一个状态机中,用来分时处理每路被控件的上报信息,如图2所示 接收数据采用滑窗的形式,将每位数据放入一个固定长度的寄存器中,用来判断帧头的位置,其原理见图3所示,帧头数据形式可由用户自定义。当接收模块找到帧头后,将数据和帧头写入对应的FIFO_Receiver中,接收模块状态机定时查询每个FIFO_Receiver的状态,将信息汇总上报 2.2 发送模块 由于多通道同步串口需要同时控制多个被控件,所以采用物理端口绑定的方法来传输数据,即根据被控件同步串口的硬件连接,确定被控件位置,将需要的参数发送到相应的被控件端口。具体方法是发送模块将要控制的数据写入相应被控件发送模块的缓存FIFO中,将其称之为FIFO_Send,再由FIFO_Send完成并串转换。发送数据采用移位寄存的方式,将数据按字节写入移位寄存器中,然后由同步串口的时钟按位读取比特数据 3 自适应端口分配 多通道同步串口与多台被控件连接,每台被控件对应一个地址,多通道同步串口与被控件的通信就是对相应地址的通信。当某台被控件需要更换的时候,需要与新插入的被控件进行通信,这就涉及到地址重配。由于被控件的硬件完全相同,所以不能通过硬件来区别不同的被控件,只能通过软件动态配置来完成 具体的实现过程为:被控件定时通过同步串口发送命令给多通道同步串口,先发送连接建立请求,目的是让多通道同步串口单机开启与该被控件的通信进程,多通道同步串口单机开启进程后,回馈给被控件握手成功的命令,被控件收到后将端口信息以协议包的形式传给多通道同步串口单机,多通道同步串口单机将收到的端口信息与绑定的物理端口比较,如果一致,表示被控件没有更换,结束进程,如果不一致,多通道同步串口单机会发送重发命令,再一次收到命令后,判断该端口号是否与第一次发送相一致,一致则将新的端口号与物理地址绑定,不一致则报告异常事件 4 结论 根据集成度和阵列技术应用的要求,采用多通道串口收发实现同步和传递参数,利用轮询机制保证了数据收发的有序和可靠性,利用自适应端口分配机制保证了通道模块的通用型和易操作性,实际的测试结果表明两线制同步串口配合通信协议,可以高效、简洁的传输命令信息 参考文献 [1]王茹.一种同步串口的设计与实现[J].计算机技术与发展,2008(02):173-176. [2]詹必胜,吴斌方,杨光友.多路同步串口的FPGA传输实现[J].电子产品世界,2009,16(05):38-40.

文档评论(0)

linsspace + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档