当前位置:首页 > 物联网 > 《物联网技术》杂志
[导读]摘要:针对工业控制领域中对多串口通信的需求,采用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设计的多路串口数据转发通信处理机适用于工业环境复杂的多单元数据采集监测系统,可作为一个集中器应用于复杂数据釆集系统中。与多串口卡、通过多串口芯片扩展串口方案相比,新的多串口数据转发通信处理机具有稳定性好、实时性强、功耗低、灵活性好、成本低等优点。


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

Bluespec支持加速器功能的RISC-V处理器将Achronix的FPGA转化为可编程SoC

关键字: RISC-V处理器 FPGA SoC

为无处不在的端侧设备插上AI的翅膀,AMD发布第二代Versal™ 自适应 SoC

关键字: AMD FPGA 自适应SoC AI 边缘计算

Pmod接口可以说是数字电路板的连接革命。随着科技的飞速发展,数字电路板间的通信与连接技术也在不断创新和进步。Pmod接口,作为一种新兴的数字接口标准,正逐渐成为数字电路板间通信的桥梁,为电子设备的连接和通信带来了革命性...

关键字: pmod接口 FPGA 数字电路板

近日举办的GTC大会把人工智能/机器学习(AI/ML)领域中的算力比拼又带到了一个新的高度,这不只是说明了通用图形处理器(GPGPU)时代的来临,而是包括GPU、FPGA和NPU等一众数据处理加速器时代的来临,就像GPU...

关键字: FPGA AI 图形处理器

当我们提到成本优化型FPGA,往往与简化逻辑资源、有限I/O和较低制造工艺联系在一起。诚然,在成本受限的系统设计中,对于价格、功耗和尺寸的要求更为敏感;但随着一系列创新应用的发展、随着边缘AI的深化,成本优化型FPGA也...

关键字: AMD FPGA Spartan 边缘计算

全球领先的高性能现场可编程门阵列(FPGA)和嵌入式FPGA(eFPGA)半导体知识产权(IP)提供商Achronix Semiconductor公司宣布,该公司参加了由私募股权和风险投资公司Baird Capital举...

关键字: FPGA 智能汽车 eFPGA

全新 FPGA 能为嵌入式视觉、医疗、工业互联、机器人与视频应用提供高数量 I/O、功率效率以及卓越的安全功能

关键字: FPGA 嵌入式视觉 机器人

Altera致力于为客户提供端到端的FPGA、易于使用的AI、软件和弹性供应链。

关键字: FPGA AI

在半导体领域,大部分对于AI的关注都集中在GPU或专用AI加速器芯片(如NPU和TPU)上。但事实证明,有相当多的组件可以直接影响甚至运行AI工作负载。FPGA就是其中之一。

关键字: FPGA AI 半导体

半导体产品老化是一个自然现象,在电子应用中,基于环境、自然等因素,半导体在经过一段时间连续工作之后,其功能会逐渐丧失,这被称为功能失效。半导体功能失效主要包括:腐蚀、载流子注入、电迁移等。其中,电迁移引发的失效机理最为突...

关键字: 半导体 电迁移 FPGA
关闭
关闭