标题 | 通信协议转换在可编程逻辑器件中的实现 |
范文 | 刘悦 【摘要】 标准RS232接口常用于单片机或微处理机配合PC上位机进行串口通信,SPI总线可以使处理器与外部设备以串行方式通信。本文介绍了RS232接口与SPI串行通信接口在可编程逻辑器件中实现通信协议转换,实现PC端对外围设备(SPI接口)的调试与控制使用。 【关键字】 协议转换 FPGA 串口通信 SPI总线 一、 前言 SPI总线广泛应用于Flash存储器、ADC/DAC器件、数字信号处理机、实时时钟。它在器件仅占用4根引脚控制数据的传输,线路简单,节省布局空间。由于PC没有SPI接口,PC无法实现对这类外围器件的直接通信,在某种程度上,增加调试的难度。因此,本文利用可编程逻辑器件(FPGA)设计通信协议转换逻辑,实现RS232与SPI的协议转换,间接完成PC对外围器件的数据传输。 二、设计思路 SPI作为一种同步串行接口技术,实现处理器与器件的全双工高速通信。而RS232则是一种异步串口通信接口,因此使用PC的RS232接口无法直接对具有SPI总线接口的器件进行操作。因此,设计中选用FPGA作为完成通信协议转换的桥梁。FPGA逻辑设计灵活,可设计RS232接口电路完成对PC端串口数据的接收。解析串口协议后,获取操作器件的有用信息,通过SPI接口将数据传输至器件本身,最终实现PC对FPGA外围器件的控制。当然,协议转换的过程是可逆的,器件信息也可通过SPI回传至FPGA,供PC读取使用。 设计中电路较为简单,使用MAX3232完成RS232电平到TTL电平转化,便于FPGA与PC上位机正常通信使用。电路结构框图如图2-1所示: 三、协议转换流程 协议转换过程分为FPGA与PC的异步串口通信,FPGA与外围器件的SPI同步串行通信。 在PC与FPGA通信中,FPGA检测PC端发送信号标志,即自身RXD信号拉低,串口通信起始位开始,此时FPGA开始进行数据接收。PC对外围器件的控制指令依次发送至FPGA用作解析,在PC发送数据量较大的情况下,为避免数据在通信中出错,便于对器件的灵活控制,可对PC端数据帧打包修饰,方便FPGA解析控制器件的可靠指令。FPGA的TXD引脚可向PC端返回外围器件的可用信息。 在FPGA解析串口数据后,可执行对外围器件的驱动操作。FPGA将PC对外围器件的控制指令,在SDI,CS,SCLK引脚的配合下发送至目标器件。SPI通信中,CS信号始终拉低,系统共用SCLK时钟脉,在上升沿模式下,数据SDI在SCLK上升沿输入至器件,在SCLK下升沿由FPGA改变数据SDI的值。当器件需要返回FPGA内部信息时,数据在CS,SCLK的协同下,由SDO发送至FPGA。 FPGA操作流程图如图3-1所示: 四、 总结 使用可编程逻辑器件FPGA作为通信协议转换芯片,设计灵活,拓展性强,可用于RS232转SPI总线、I2C总线、CAN总线等的协议转换。本文中利用FPGA可实现RS232与SPI的协议转换,间接完成PC上位机对某些具有SPI总线接口器件的直观控制。PC通过发送简单的串口指令至FPGA解析,由FPGA通过SPI接口实现对外围器件的配置操作,解决了以往收、发端,因通信协议不匹配,导致无法进行数据交互的弊端,具有较高的使用价值。 参 考 文 献 [1]李忠桥, 游小杰, 郑琼林. 单片机SPI通信中数据流的同步问题研究[J]. 单片机与嵌入式系统应用, 2007(1):11-13. [2]蘇明, 姚冬苹. 专用异步串口通信电路的FPGA实现[J]. 物联网技术, 2011(3):65-67. [3]张海林, 杨勇. 自动化系统中的串行通信协议的设计[J]. 计算机工程与应用, 2003, 39(31):159-160. [4]丁超, 范征宇. 通信协议转换在嵌入式控制器上的实现[J]. 自动化仪表, 2007, 28(9):35-37. [5]桑伟, 王少荣. 基于ARM的通信协议转换器的设计[J]. 电工技术, 2007(4):44-46. [6]王谦, 张洪涛, 张栋冰,等. 基于嵌入式控制器的通信协议转换[J]. 湖北工业大学学报, 2005, 20(6):11-14. |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。