APP下载

基于DSP的多串口军事通信系统的设计方法

2016-03-12海装装备采购中心

电子世界 2016年23期
关键词:中断串口芯片

海装装备采购中心 阮 进

中电集团10所 邓 欣

基于DSP的多串口军事通信系统的设计方法

海装装备采购中心 阮 进

中电集团10所 邓 欣

针对军事通信系统中数字信号处理器(Digital Signal Process,简称DSP)的外设串口资源的有限,不适用与多个外部设备通信的情况,提出了一种DSP多串口军事通信系统的设计方法,不但实现了DSP外部串口的扩展,并保证在大数据量、多串口通信情况下军事通信系统的高效可靠的数据传输性能。通过实际测试验证了该方法的有效性。

DSP;多串口通信;ST16C554

1 引言

随着电子技术的日益发展,DSP作为一种运算速度快、处理功能强大的单片微处理器,已广泛应用于控制系统、电气设备、信号处理及通信系统等领域。尤其在实时信号处理和综合控制方面,当DSP作为通信数据处理的核心处理器时,常需与多个外部设备进行串口通信,但DSP的串行外设接口资源的有限成为多串口通信处理的瓶颈。如何扩展DSP的串行外设接口,保证多串口通信的快速、稳定和可靠,成为系统设计的关键。

近年来,DSP串口扩展的设计方法得到了大量的研究和应用[1~4],尤其在军事通信系统中,为保证多通信单元间的高速、稳定、可靠的数据传输,多串口通信设计方法也得到了深入研究。经典设计方法有采用现场可编程门阵列(FPGA)实现串口数据的收发和存储[1,2],该方法成本低,但编程复杂、开发周期长、可靠性低;文献[3]采用异步通信芯片ST16C554实现串口数据的收发和存储,再通过FPGA逻辑电路进行多串口中断管理,ST16C554芯片的串口通信处理可靠性高,开发设计简单,但其发送/接收缓存单元(FIFO)的空间有限,当大量数据经多串口同时传输时会出现数据丢失情况,限制了DSP的串口通信能力。

基于军事通信系统对数据传输高稳定性和低误码率的要求,本文提出一种DSP多串口军事通信系统设计方法。该方法可实现DSP串口扩展,并保证快速、可靠的通信传输。通过实际设备检测,验证了该通信系统具有高效稳定的数据通信性能。

2 DSP串口扩展总体设计

本设计主要由中断管理单元和全局异步发送接收(UART)单元两部分构成,如图1所示的DSP多串口通信系统原理框图。通信系统中可有多个UART单元,一个UART单元收发四个外部串口数据,当每接收到一串口数据时,UART单元将产生一中断请求信号INTi(i=1,2…n),送至中断管理单元。中断管理单元采用多串口共享一个中断源的方式来管理多串口通信,先从UART单元取出串口数据存入对应的存储器,并将各串口中断请求通过中断处理后输出串口通信中断信号D_INT,作为DSP的外部中断。DSP响应中断,从FPGA中查询8位串口中断状态标志字IFAG,选择当前优先级最高的串口进行通信。完成通信后,清除中断状态标志字的相应位,重新开启中断。

图1 DSP多串口通信系统原理框图

3 硬件电路设计

3.1 UART单元

UART单元主要实现各串口数据的收发功能。选取EXAR公司生产的全局异步收发芯片ST16C554,增加扩展串口通道。外部串行接口多为可靠性高的RS422标准差分电平信号,可采用Maxim公司的标准RS422电平转换器,将串口信号转为TTL电平后送至ST16C554。

(1)RS422电平转换器MAX3462

电路设计可根据电平要求、传输速率等因素选择不同型号的MAX系列芯片。本文设计选取型号MAX3462,该芯片为高速差分RS422/RS485标准电平转换器,具有高达20Mbps数据传输速率,采用全双工传输方式,接收具有失效保护的功能,具有较强差分驱动能力,适用于高速数据传输和较远距离数据传输。

(2)异步串口通信芯片ST16C554

ST16C554芯片为一种应用广泛的全局异步收发器,具有四个通道独立接收发送数据,数据传输速率最高为1.5Mbps(外部晶振为24M),波特率和数据收发格式可编程设置,具有最高16字节收发缓存FIFO,且有1、4、8、14字节四个可选择的中断触发深度。

(3)UART单元接口设计

图2 UART单元原理框图

如图2所示,ST16C554芯片的四个收发通道经MAX3462连至外部串口,数据/地址总线和其他控制信号均与FPGA的I/O相连。ST16C554的时钟可由晶振或FPGA产生的时钟供给。

3.2 中断管理单元

中断管理单元主要由FPGA逻辑电路设计实现其各项功能。

(1)多串口数据存储

由于ST16C554芯片只有16字节的缓存空间,当几个串口均有大数据量的通信时,会产生数据丢失。本设计采用在FPGA内部建立缓存空间,给各串口均配有一个双端口RAM(DPRAM)。DPRAM包含两个独立的端口,共用一块地址空间,两端口均可向这块空间里写数据或从中读取数据,这里采用先读后写模式,并根据各串口一次收发数据量情况设定空间容量用来存储串口数据。

由各UART单元输出的中断请求信号INT1~INTn进入FPGA后,首先进行键宽处理,延迟100ns后输出,以避免信号中的毛刺引起中断触发。FPGA根据各串口的中断请求信号从ST16C554的总线读取接收到的数据,将其存入对应的DPRAM中。

(2)多串口中断管理设计

本设计采用一个中断源管理多串口通信的方法。键宽后的各串口中断请求信号相或产生F_INT信号,同时设置8位串口状态标志字IFAG(每一位代表一串口中断请求标志)。

图3 中断管理状态图

当DSP准备好进行串口通信时,控制FPGA产生一中断允许信号INT_EN。中断管理单元根据INT_EN信号和F_INT信号产生送至DSP的串口通信中断信号D_INT。中断管理时序如图3所示,在DSP进入中断服务程序期间, INT_EN设置为0,禁止中断管理模块产生新的DSP中断信号;若此时有新的串口中断请求产生,中断管理单元将锁存该中断信号,一直等待DSP结束上一中断服务程序,INT_EN被重置为1,便产生新的DSP中断信号D_INT,触发DSP响应中断,接收新的串口数据。

D_INT信号的产生由FPGA设计一个8位状态机实现。中断管理状态图(描述8位状态机的转换)如图4所示。状态机由XCLK驱动,XCLK为FPGA通过分频生成的1MHz时钟,即△t=1μs。在退出中断时,将INT_EN设置为1,从状态S3转换到状态S0,经历5个状态转换,时间延迟td=5△t=5μs,确保当前中断完全退出。F_INT锁存中断请求,以确保下一中断能获得响应。

图4 中断管理时序图

4 软件设计

该DSP多串口通信系统的软件主要为DSP的编程软件,关于多串口通信的软件设计包括ST16C554的初始化、多串口数据收发等。

DSP需对各ST16C554的每个串口进行初始化,初始化内容包括:(1)设置串口波特率;(2)设置传输数据格式;(3)选择收发缓存单元FIFO的工作模式;(4)允许接收保持寄存器中断。

DSP的多串口通信软件流程如下:(1)DSP外设中断初始化;(2)设置FPGA的中断允许信号INT_EN=1;(3)当有串口中断时,进入中断服务程序,设置INT_EN=0;(4)根据串口状态标志字从相应的DPRAM中读取串口数据;当多个串口通道同时收到数据时,DSP根据系统设定的串口通信优先级选取优先级高的串口先进行通信;(5)串口数据接收完成后,退出中断服务程序;当DSP准备接收下一串口中断时,重新设置INT_EN=1。

5 测试结果及分析

对本文设计的DSP多串口通信系统进行测试,测试结果如下:

表2 本文方法测试结果

由表2可见,对于单通道和多通道同时工作情况,串口通信不受字节长度影响,均能正确接收,验证了本文方法具有良好的多串口通信性能,满足DSP通信系统的实际需要。

6 结束语

为实现在军事通信系统中DSP的多串口通信,本文设计了一种基于ST16C554芯片的串口扩展方法。该设计主要由UART单元和中断管理单元两部分构成,UART单元完成串口数据的收发功能,中断管理单元实现多串口通信的管理。本方法解决了大数据量的多串口通信的数据丢失情况,提高了串口中断响应速度,适用于DSP与外部多个设备的数据通信。

[1]董长富,郭超平,宋渝.基于FPGA的多串口模块的设计和实现[J].电子元器件应用,2006,11(8):43-46.

[2]赵权,刘翠玲.基于FPGA的通用异步收发机的设计[J].北京工商大学学报,2008,26(1):53-56.

[3]黄郑,夏建刚.在CPLD管理下实现高效多串口中断源[J].单片机与嵌入式系统应用,2002,10:34-36.

[4]张晓峰,李悦丽,黎向阳,张强.一种基于FPGA和SC16C554实现多串口通信的方法[J].电子技术,2009,6.

通过调整神经网络隐含层神经元的个数进行多次的模拟,发现隐含层神经元个数为3~5时迭代次数少,拟合效果好,因此选择隐含层神经元数量为3个是合理的,具体情况如表1所示。将采集到的数据经过归一化处理之后对神经网络进行训练,得到了符合要求的神经网络模型,这个模型完整地模拟了研磨机随着磨盘的磨损导致研磨时间的变化,能够很好地优化整个研磨机的工作过程。

表1 不同隐含层神经元数据拟合情况

参考文献

[1]周以亮.灯饰研磨机的数控系统设计[D].杭州电子科技大学,2014.

[2]王远隆.BP神经网络控制应用的基本问题[J].机械与电子,2010(S1): 119-124.

[3]Xiaotai Wu,Yang Tang,Wenbing Zhang. Stability analysis of switched stochastic neural networks with time-varying delays[J].Neural Networks,2014,51.

[4]刘宝.基于AT91SAM9261的嵌入式水晶磨削控制系统的研究与开发[D].重庆大学,2012.

朱诗榜(1992—),浙江温州人,在读硕士,现就读于杭州电子科技大学。

4.结论

通过对水晶研磨机的研磨时间的分析,建立了BP神经网络模型,

猜你喜欢

中断串口芯片
芯片会议
关于射频前端芯片研发与管理模式的思考
浅谈AB PLC串口跟RFID传感器的通讯应用
基于FPGA的中断控制器设计*
Linux中断线程化分析及中断延时测试
跟踪导练(二)(5)
千里移防,卫勤保障不中断
数字电源内部数据传输的串口通信方法实现
USB接口的多串口数据并行接收方法探索
多通道采样芯片ADS8556在光伏并网中的应用