更全的杂志信息网

基于FPGA的SSI通信模块设计*

更新时间:2009-03-28

同步串行接口(SSI)是一种串行通信协议,通常微控制单元(MCU)、数字信号处理器(DSP)以及其他一些工控机不提供SSI接口,S7-300 PLC中提供了接收SSI信号的模块SM338,但实时性不好,并且用PLC作为上位机增加了系统的一次性成本和维护成本,从某种角度来说限制了SSI协议类型传感器的发展[1,2]。为此,设计一种效率高、通用性强且成本低的SSI接口模块对于相关领域的发展具有重要意义。吴蕊等介绍了一种SSI-USB转换器,用于SSI信号和USB信号的相互转换,从而实现了SSI传输协议从机和上位机的相互通信[3]。由于采用USB接口电路,故该方法通用性强,成本不高。但它将同步转换为异步,致使通信速率降低。戴蓉等提出了一种SSI-485转换器,给出了SSI信号到RS-485信号转换的软硬件解决方法。但它是基于PLC作为上位机而设计的,故通用性不够好[4]。笔者基于现场可编程门阵列(FPGA)设计SSI接口模块,用Verilog硬件描述语言(Verilog Hardware Description Language,Verilog HDL)实现主体功能,采用较少的外围器件完成整体功能。

气液两相原料流体经过井口油嘴节流至压力约10~13 MPa,温度约40~55℃,流体经高压分离器进行分离,分离出的天然气通过气相出口进入外输管网。高压分离器液相进入1.6 MPa低压分离器再次分离,分离出的油水两相流体进入计量环保罐后装入罐车外运(图1)。

1 SSI接口协议

SSI是一种主机和从机点对点的通信接口,其中从机可以是具有SSI协议的各种传感器,例如磁致伸缩位移传感器、编码器等。由于它具有较高的可靠性和安全性,被广泛地应用于工业领域。

SSI协议采用RS-422模式,RS-422标准是RS-232的改进型,全称“平衡电压数字接口电路的电气特性”,结构简单,通过4根线(两根时钟信号线和两根数据线)即可完成数据传输,这种差分传输方式增加了数据传输的抗干扰性和系统整体控制的可靠性[5]。SSI协议采用主机主动式读取方式,从机根据主机发送的时钟脉冲按位将数据送到主机。

SSI传输时序如图1所示,空闲状态下时钟线和数据线保持高电平,在时钟脉冲的第1个下降沿,从机储存当前获取的数据,在时钟的第1个上升沿,数据的最高有效位被送出,并且在接下来的每一个时钟上升沿送出一位数据,到数据的最低有效位被送出后,数据线将保持Tm时间的低电平,此段时间又叫单稳态触发时间,用来判断一个完整的数据是否被送出,Tm应和同步时钟频率相匹配,当同步时钟频率为最小值50kHz时,Tm为20.0μs左右。单稳态触发时间结束后,数据线被拉高,从机更新数据,为下一周期的数据传输做准备[6]。图1中Tp为时钟间隔,也就是发送的两个数据之间的间隔,Tp最小应为21.0μs,并且要保证Tp>TmT为时钟周期,由同步时钟信号频率决定,在本设计中0.5μs<T<2.0μs;由时序图可知同步时钟频率决定了通信速率,但其频率不是越高越好,应视具体环境而定。

2 硬件部分

采用FPGA设计,实时性要求较高,且传输数据为数字信号,所以在进行隔离时要充分考虑通信速率和数据传输的稳定性。经查阅资料并对各种隔离芯片进行对比,最终选择ADuM1201芯片。这是一款采用iCoupler技术的双通道数字隔离器,功耗相对于光耦器件低很多。在电流传输比和使用寿命上明显优于一般的光耦隔离器件,价格适中。隔离电路如图4所示,芯片采用正反向双通道输入输出,提高了工作效率。

近几年来,由于我国实行宽松的货币政策和积极的财政政策,加上经济的高速发展,共同推动了我国银行业的快速发展。2017年我国金融市场整体运行稳健,银行业保持着较高的增长势头;但近几年来,商业银行面临的风险也随经济全球化和互联网经济的发展而增加,因此,正确分析资产证券化业务所面临的风险和探究降低资产证券化风险的措施十分重要。

  

图1 SSI接口时序

  

图2 SSI接口模块总体结构框图

2.1 电源电路

设计方案中的供电电压统一采用5.0V,并采用LM2596芯片设计降压电路,将24.0V电压转换为方案所需要的5.0V电压。LM2596是一款降压开关型集成稳压芯片,输入电压最高可达40.0V,应用电路可设计为具有3.3、5.0、12.0V的固定电压输出和范围为1.2~37.0V的可调输出电压,输出电流最高为3A。其内部设有150kHz的固定频率振荡器和1.23V基准稳压器,并有完善的过热保护和限流保护电路。LM2596的开关频率为150kHz,高于一般芯片开关频率,故其外围电路的滤波元件可以取较小值,相应的器件体积也会减小,从而减小了模块体积。

此模块为时钟信号输出源,用于产生驱动从机的同步时钟信号。模块结构如图7所示,首先将50MHz时钟信号分频为所需要的时钟频率,然后通过计数器得到驱动从机所需要的同步时钟信号,其中同步时钟信号频率的选择通过逻辑控制块连接上位机,由上位机选择输出的同步时钟频率。本设计时钟频率可选择为0.5、1.0、2.0MHz,对应的时钟周期分别为2.0、1.0、0.5μs。时钟频率可满足多数工业所需要的通信速率要求。

方案采用5.0V固定电压输出,其电源电路如图3所示。L1为滤波电感,取值参考LM2596中文手册,取输入电压为24.0V,最大负载电流为3A,L1电感值可取47μH;C1为输入电容,其目的是防止输入端出现较大的瞬时电压,输入电容值依据电容耐压值和电流均方根的关系来选取,C1取680μF;C2为输出电容,取值时应将输出产生的纹波大小考虑在内,在这里C2取值为330μF;D1为整流二极管,电源电路设计要求二极管的反向耐压至少为输入电压的1.25倍,故二极管选择为IN5822,其反向耐压为40.0V,大于30.0V(输入电压40.0V的1.25倍),且其开关速度快,正向压降低,性能和效率都能满足设计要求。

  

图3 电源电路

边沿检测是FPGA中非常重要的一部分,通过边沿检测来捕获输入时钟信号的跳变作为时序逻辑的触发信号,可以有效提高逻辑的可靠性和稳定性[8]。在本设计中时钟边沿检测模块用于检测同步时钟信号的下降沿,并将检测到的下降沿送到数据接收模块作为接收数据的触发使能信号,从而协助该模块完成主从通信的目的。

模块首先检测上位机的起始命令,如接收到上位机命令,进行下降沿检测,从第2个下降沿开始的每一个下降沿接收一位数据,接收到最低有效位后判断数据线处于单稳态的时间,如数据线变为高电平,则向上位机发送接收结束标志,同时将数据存入32位寄存器中,如接收到的位数小于32位,则在空位补零。上位机收到结束信号后,依次读取寄存器数据,每次读取8位,总共读取4次。在此过程中,上位机与SSI接口模块需要相互通信,其通信速率需达到与SSI接口模块相匹配的速率,故选择上位机时应将其通信速率作为评估指标。

2.2 隔离电路

SSI接口模块硬件总体框图如图2所示。

  

图4 隔离电路

2.3 差分转换电路

SSI协议采用RS-422电气传输特性,所以需将时钟信号和数据信号转换为差分信号。方案采用MAX491驱动芯片来实现单端信号和差分信号的相互转换。MAX491是一款用于RS-485和RS-422通信的低功耗收发器,可作为电平转换器应用于工业领域,最高传输速率可达2.5MHz,5.0V电源供电,并可实现负载和过热保护,特性满足设计需求。差分转换电路设计如图5所示,差分数据信号和单端时钟信号经电路转换为单端信号和差分信号。

  

图5 差分信号转换电路

2.4 其他硬件电路

软件部分采用模块化设计,主要包括时钟发生模块、时钟边沿检测模块和数据接收处理模块。方案采用Verilog HDL进行编程,这是一种硬件描述语言,类似于C语言,入门快,可以有效缩短开发周期,减少开发成本。设计的程序流程如图6所示,由于SSI通信接口上电以后,SSI主机已经处于运行状态,致使模块无法判断SSI同步时钟信号是否处于起始状态,继而会将某一下降沿误认为起始状态,引起数据传输错误[7]。为此,在软件设计中加入忙检测,判断通信接口是否处于空闲状态,并将检测结果返回给上位机,上位机根据返回结果向SSI接口模块发送相关命令。

中国画是在笔触和视角之间找到了一个端点,这个端点与视点并不是同一个概念。笔触在大师们的绘画中都有其重要的价值,在凡高那儿笔触是他的雕塑,在罗斯科那儿笔触是他的中轴线。徐浡君没有否认自己与这个荷兰人的关系,他与这位大师不仅仅在处理风景的方式上,在笔触与叙述,秩序与激情之间的关系的处理上也有着某种相似性。激情和他画布的图像试图让这位艺术家赤身裸体。并非出于对纯真的敬意,而是一种职业性认识,徐浡君描绘矮山上那些庄稼的花朵或者让水面上的反光就让它停留在画布的空白之处。

3 软件部分

其他部分电路设计包括FPGA最小系统的设计,方案采用50MHz有源晶振电路,晶振输出连接FPGA芯片,用来驱动FPGA芯片的内部逻辑电路。

  

图6 程序流程

3.1 时钟发生模块

西门子MindSphere的三个新应用程序包,包括Connect & Monitor(连接和监控), Analyze & Predict(分析和预测)和Digitalize & Transform(数字化与转型),三者都包含全面的咨询服务。这些新应用包将帮助用户更快、更简单地实现物联网项目,例如加快对资产的连接、分析和优化,利用预测分析来预防非计划停机。同时还将简化服务和商业模式。

采用四字节并行处理,可由40B32B模块给出的K_qb信号在一个四字节时钟内进行检测,并根据Valid_qb信号进行正确/K/字节个数统计,不需要根据单字节时钟去检测和计数,降低了电路运行频率和实现难度。

  

图7 时钟发生模块结构框图

3.2 时钟边沿检测模块

3.3 数据接收处理模块

此模块用于接收从机发送的数据并将它串并转换后发送给主机,表1为模块端口说明。数据传输分为格雷码和二进制两种,格雷码式的数据传输可靠安全,降低了数据传输的错误率,但它不能直接运算,优势只能体现在传输过程,如接收端收到格雷码数据,需将它转换为二进制码。在此模块中可根据主机发送的格雷码转换命令对输入的数据进行格雷码转换,并将它转换为二进制数据。

 

表1 端口说明

  

端口名称数据宽度端口方向端口说明clk1input系统时钟neg_in1input下降沿检测sta1input接收使能datain1input数据接收端rst1input复位s1s02input输出数据选择端gray1input格雷码转换使能insel2inputSSI数据位数选择eoc1output接收完成标志data_out8output数据输出端

所选FPGA芯片EP4CE6F17C8的最小系统供电电压3.3V,故通过LDO电源芯片将5.0V电压转换为3.3V驱动FPGA芯片。

4 实验结果分析

为便于仿真调试,设置同步时钟频率为2MHz,系统时钟频率为50MHz。通过在QuartusII 13.0软件上仿真得到图8所示的结果,可以看出,当数据传输处于空闲状态时,时钟线保持高电平。仿真中选择发送26位数据长度的十进制数“26141035”,二进制格式为“01 10001110 11100001 01101011”。当数据接收完成后,由s1s0控制端依次选择读取高位、次高位、次低位和低位,由图8可知,数据输出端依次输出“00000001”、“10001110”、“11100001”、“01101011”,达到了预期结果,验证了方案设计的正确性。

5 结束语

利用低成本的硬件和开发周期较短的硬件描述语言完成SSI接口模块设计,达到从机和主机的SSI协议通信目的,并通过仿真验证了其可行性。该模块可应用于工业SSI通信协议,例如编码器、磁致位移伸缩传感器和其他一些位移和速度测量的场合,还可以作为串并数据转换、格雷码转换等功能模块使用。相比较于将SSI信号转换为USB或者RS-485协议信号以及SM338接口模块,降低了成本,通用性有所提高,传输稳定,并且采用FPGA芯片作为核心处理器,在传输速率上有了明显优势。SSI接口模块的研究和应用,对于上述传感器及其相关工业领域的发展意义重大。

  

图8 仿真结果

对于赛利亚“混杂化”文化身份的确立,可在西斯内罗斯“混杂化”的写作语言和中得以体现。西斯内罗斯在用英语创作时融合了西班牙语,特别是与墨西哥文化相关的一些饮食、音乐和宗教,都保留了其母语名称。这产生了所谓的文学“重写本”,也就是杂交的一种形式。(Bruce,1990:19)这也是西斯内罗斯对文化身份的一种诠释和理解。

参 考 文 献

[1] 郭耀华,姚明林,张银蒲.基于FPGA的SSI接口传感器通信系统[J].仪表技术与传感器,2010,(11):108~110.

[2] 张鹏飞,王玮,赵哲.基于FPGA的多通道SSI通信控制器设计[J].电子技术应用,2011,37(10):36~38.

[3] 吴蕊,朱蕴璞,邓俊,等.应用于磁致伸缩传感器的SSI-USB转换器[J].仪表技术与传感器,2011,(5):63~64.

[4] 戴蓉,王高鹏,齐向华.SSI-485转换器的研究与应用[J].水利信息化,2008,(2):31~33.

[5] 邹凤欣,高增雪,杨溪林.一种基于CPLD/FPGA的旋变编码器用SSI数据发送器[J].仪器仪表学报,2011,(z):278~281.

[6] 冯济琴,彭东林,王先全,等.SSI同步串行技术在时栅传感器中的应用研究[J].仪表技术与传感器,2010,(4):105~107.

[7] 陈志同.基于SSI协议的绝对值编码器通信接口研究[D].天津:天津理工大学,2014.

[8] 韩彬,于潇宇,张雷鸣,等.FPGA设计技巧与案例开发详解[M].北京:电子工业出版社,2016:332~334.

 
李文涛,李瑞刚
《化工自动化及仪表》2018年第04期文献

服务严谨可靠 7×14小时在线支持 支持宝特邀商家 不满意退款

本站非杂志社官网,上千家国家级期刊、省级期刊、北大核心、南大核心、专业的职称论文发表网站。
职称论文发表、杂志论文发表、期刊征稿、期刊投稿,论文发表指导正规机构。是您首选最可靠,最快速的期刊论文发表网站。
免责声明:本网站部分资源、信息来源于网络,完全免费共享,仅供学习和研究使用,版权和著作权归原作者所有
如有不愿意被转载的情况,请通知我们删除已转载的信息 粤ICP备2023046998号