当前位置:首页 > 物联网 > 《物联网技术》杂志
[导读]摘要:针对工业控制领域中对多串口通信的需求,采用SOPC技术并利用FPGA的可编程性,给出了一个基于NiosII的30路串口数据转发通信处理机的设计方法,同时定义了相应的数据通信协议,从而实现了30路下位机与上位机的串口通信。实验结果表明,该系统具有相对较高的可靠性和稳定性,并可以根据实际需求灵活改变串口个数,具有良好的可移植性、易实现性和灵活性。


引言

随着电子技术的飞速发展,接口技术显得越来越重要,而且所要监控的工业环境也变的越来越复杂,对多串口通信的需求也随之增加。在多串口应用方面,目前虽然有一种通过PCI扩展主机串口的数量的多串口卡,但其价格高昂,在系统维护、性能、布线等方面存在很大缺陷,且可扩展串口数量也有限;另外,还有一种通过多串口芯片来扩展串口数量的方案,其可扩展的串口数则更有限,而且电路板体积大,功耗高,价格也高。

基于以上原因,本文利用SOPC技术,基于Nios设计了一个30路串口数据转发通信处理机。该设计方案具有集成度高、体积小、功耗低和速度快等优点,而且还具有用户可编程的特点,可方便实现其功能重构⑵。同时,该方案还可根据实际需求灵活改变串口个数,而且有着相对较好的移植性、易实现性和灵活性,具有潜在推广价值。

1  NiosⅡ软核处理器串行接口

1.1  NiosⅡ软核处理器的特性

本系统是以NiosII软核处理器为核心设计的片上系统,处理器采用Altera公司的第二代用户可配置的通用32位RISC软核处理器,它是Altera公司特有的基于通用FPGA架构的软CUP内核,设计者可以利用其开发工具SOPCBuilder设计构造以NiosII处理器为基础的系统,而且可以根据需要来调整嵌入式系统的特性、性能以及成本,扩展产品的生命周期,避免由于处理器的更新换代带来的损失.

1.2  UART内核

SOPC Builder中提供了具有Avalon接口的UART的IP核,可实现基于FPGA的嵌入式系统与外部器件之间的串行符号流通信。通过UART核可实现RS232协议,并可提供可调的波特率、校验、停止、数据位以及可选的RTS/CTS控制信号,可根据需要配置UART。图1所示为UART内核框图,它有两个用户可视部分:寄存器文件和RS232信号。

基于NiosII的多串口转发通信处理机设计

2  通信处理机硬件设计

该设计运用了Altera的NiosⅡ软核处理器,借助SOPCBuilder和QuartusII工具,可在EP2C8T144芯片上实现30路串口转发通信处理机的设计。图2所示为30路串口转发通信处理机的硬件设计框图,包括内嵌NiosII软核处理器系统、31个串行接口模块(其中一个串口作为母串口与PC机连接,其他30个串口为子串口与下位机连接)、JTAG调试模块等,通过SOPCBuilder可以根据设计者的需要来配置CPU及各功能模块的参数。

基于NiosII的多串口转发通信处理机设计

2.1  FPGA内嵌NiosⅡ处理器系统设计

由于NiosII是一个内嵌在FPGA中的软核处理器,其外设定制也就显得比较方便,在QuartusII工具中提供的SOPCBuilder环境下,其定制逻辑的结构框图如图2所示的硬件设计框图中的NiosII处理器系统。该系统定制了31个UART内核,且只用TXD和RXD这两个信号,而没有定制RTS和CTS控制信号。本设计把串口UART0作为母串口,其他串口作为子串口,有1位起始位,8位数据位,1位停止位,无奇偶校验位,串口波特率可以通过编程确定。

NiosII处理器系统的生成除了NiosII软核、片内及片外外设的定制外,还需要对各外设进行基址和中断号的分配、系统复位和异常地址设置。设计中可通过自动分配系统基地址和系统中断向量,来手动分配CPU复位地址为外设EPCS16.CPU溢出地址为片上RAM,CPU调试断点地址为JTAG调试地址,从而由系统报告得知系统是否定制成功,图3所示为NiosII系统定制图。 

基于NiosII的多串口转发通信处理机设计

2. 2  FPGA外围电路设计

在该系统中,外围电路主要包括复位电路、串行接口电路、串行配置电路和存储电路等。限于篇幅,本文主要简单阐述其串行配置电路和串行接口电路。

由于CyloneII系列FPGA芯片主要采用SRAM单元保存配置数据,而SRAM是掉电易失性的,因而每次上电时,FPGA芯片都要重新下载配置数据。该系统采用串行配置器件EPCS16并通过主动串行模式来对FPGA芯片进行配置,其剩余的存储空间用来存储用户程序。EPCS16芯片与FPGA芯片相连的4个引脚分别是DATA、ASDI、nCS和DCLK。

为了与RS232的电压相匹配,在FPGA的I/O引脚和RS232连接器之间需要加电平转换芯片MAX3232,其连接也比较简单,只有两个引脚需要连接。MAX3232的T1IN和R1ONT引脚分别与UART核的TXD和RXD信号相连,R1IN和T1ONT引脚连接到RS232连接器。为了显示通信状态,TXD和RXD信号都将在连接一个发光二极管后通过一个上拉电阻接3.3V电源。

3  系统软件设计

3. 1  通信协议设计

在进行数据通信时,为了确保通信双方能够建立可靠、有效的数据通信,必须先定义好相应的数据通信协议。本文根据系统实际需求来定义与下位机的握手通信协议,其协议帧格式如表1所列。

基于NiosII的多串口转发通信处理机设计


该数据帧有8个字节,传输数据段长度可根据实际需求而定,校验字段为除帧头外的6个字节相加对256取余。需要说明的是,数据帧格式并不惟一,用户可以根据实际需求设计出不同的数据帧格式。

串口通信是按位传送、按字节来接收的「曰,按照表1中定义的数据帧格式的接收过程如下:

(1) 判断当前接收的数据段,如果是一帧开始,则对相关参数进行初始化。接着开始读,直到读到帧起始符0x7E或者读完为止;若没有,则丢掉所读数据。

(2) 如果读到了帧起始符0x7E,系统将设置读状态,该阶段字节数为7,分别对应地址、命令类型、传输数据、校验字;该阶段的处理就是读取7个字节数据。

利用数据帧进行数据传输时,只要将所读取的字节跟定义的数据通信格式比较,就可得到一帧完整的t-i-t

数据。

3.2  串口通信实现程序

系统软件设计是在非操作系统环境下利用软件集成开发工具IDE所提供的硬件抽象层HAL的库函数支持来编写的。系统上电复位后,FPGA芯片从串行配置芯片中加载配置数据,并初始化各串口参数,之后就可进行串口数据的收发。母串口通常以广播的形式给每个子串口发送数据,由下位机来判断是否接收数据;母串口以轮询的方式接收子串口数据。图4所示为母串口数据收发流程图。

基于NiosII的多串口转发通信处理机设计

4  实验结果

通过上位机的串口调试工具,可对所设计的多串口通信处理机进行测试。测试时由下位机发送数据,经过处理机接收后再转发给PC机,然后对比下位机发送和PC机接收的数据。实验证明多次测试均未见错误,其结果如表2所列。由此可见,基于Niosn设计的30路串口数据转发通信处理机具有高度的可靠性和稳定性。

基于NiosII的多串口转发通信处理机设计

5  结语

基于NiosII设计的多路串口数据转发通信处理机适用于工业环境复杂的多单元数据采集监测系统,可作为一个集中器应用于复杂数据釆集系统中。与多串口卡、通过多串口芯片扩展串口方案相比,新的多串口数据转发通信处理机具有稳定性好、实时性强、功耗低、灵活性好、成本低等优点。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭