常用的数据传输方式可以分为并行传输和串行传输两种,从严格意义上讲,在相同参考序列下并行传输方式毫无疑问要优于串行传输方式的速度,但是反差-并行传输方式的干扰能力,不适合长距离通信,且占用更多的系统资源,成本较高,因此需要长距离通信时通常采用串行传输方式,串行通信协议常用的物理接口是也有所不同,例如RS-232作为单侧传输,级别为负逻辑关系,RS-422和RS-485作为差分传输,级别逻辑关系,在这种情况下DSP芯片串行端口资源非常有限需要通过其自身的串行端口资源进行多通道数据传输的命令不能满足实际工程的需求,同时,如果频繁响应串行端口中断DSP,会影响算法的实现和功能效率,因此需要以DSP芯片为主处理器,以FPGA为协处理器芯片,采用适当的方法对串行端口进行扩展。多通道串行数据收发器并进行缓存,两块芯片通过EMIF接口完成通信,将更多符合条件的串行接口连接到高速并行接口,从而实现DSP串行端口复用的扩展。
1总体方案设计的主要实现
6行串行数据发送和接收,DSP和使用TI公司的TMS320C6747型芯片,该芯片主要用于高速,高性能,应用和开发,具有强大的硬件配置和高速运算能力,芯片具有三个片上串行接口硬件资源,此外,在正常情况下,例如DSP芯片采用中断模式处理串行数据的方式,将串行口对应的缓冲区填入中断信号后,CPU内核会根据响应对中断和中断优先级来处理数据缓冲区,因此,主要在两个方面使用DSP处理6号串行数据:一方面,DSP仅三个串行端口资源不能满足通道数量上实际工程的需求另一方面,DSP的串口数据缓冲区空间很小,只有16个字节,处理大量数据会频繁响应串口中断,影响内部控制程序和算法的执行效率,甚至可能造成过大的冲击,由于错过中断而造成中断和数据丢失的现象,为了解决上述问题,借助于串口的扩展DSP和FPGA芯片的数据缓存,通过串行端口接收数据,六路转换后的接口芯片分别实现信号的电平,通过光电隔离后输入到FPGA,在FPGA内进行缓存,读取数据并生成外部中断请求DSP,DSP对此进行中断响应,并通过EMIF接口读取FPGA中缓存的数据,这是通过判断数据帧数据源中的通道信息和用于相应处理的数据来确定的,发送数据后,DSP EMIF接口通过将数据发布到FPGA,FPGA判断数据帧中的通道信息,以确保数据输出通道并完成。
2总结
本文提出的方案在串行协议,通道号和传输波特率方面显示出强大的通用性和灵活性,可以满足各种应用环境的要求。
作者: curton, 来源:面包板社区
链接: https://mbb.eet-china.com/blog/uid-me-3876349.html
版权声明:本文为博主原创,未经本人允许,禁止转载!
文章评论(0条评论)
登录后参与讨论