当前位置:首页 > 通信技术 > 通信技术
[导读]文章提出了一种基于FPGA和通用异步通信芯片SC16C554的多串口数据通信的方法,分析了硬件电路设计和软件实现的关键点。测试结果表明该方法能大大减小接收数据的响应时间,提高多串口数据通信的可靠性。

0 引言
   
随着电子技术的飞跃发展,通用数字信号处理器(DSP)的性能价格比不断提高,数据处理能力不断加强,其应用领域日益增多,在数据实时采集及高速数字信号处理中应用尤其广泛。当DSP独立构成一个处理单元时,往往需要和外设进行数据交换,其通信能力至关重要。在研制机载合成孔径雷达系统时,信号处理机作为系统的核心要与飞控系统、稳定平台、雷达信号源以及导航系统等部分进行数据交换;如何实现其与其它部分之间有效的通信成为系统设计的关键。串口通信因为其简单,可靠仍然是广泛采用的方法之一。

1 串口扩展方案选择
   
多串口通信常用的实现方案有两种:一种是软件实现,采用软件编程模拟串口,该方法成本低,但编程复杂、开发周期长、可靠性低。另一种是硬件实现,使用多串口单片机或专用串口扩展芯片,该方法虽然成本较高,但是开发比较简单,可靠性高。
    目前比较通用的实现方案是采用通用异步通信芯片实现串口扩展,采用FPGA/CPLD实现DSP与异步串口扩展芯片之间的逻辑控制,完全基于DSP接收和发送数据。该方案的缺点是:当数据量较大、多串口同时工作时占用DSP的时间较长,影响DSP的工作效率,且会造成数据丢失。因此本文提出了一种新的实现方法--基于FPGA和通用异步通信芯片实现多串口通信设计。在不进行硬件改动的基础上,通过在FPGA内建立一个缓存机制,实现接收串口芯片的数据,达到一定量时向DSP发送中断读取数据。该设计能极大减少对DSP的占用时间,提高了DSP的工作效率;同时提高了对串口芯片中断请求的响应速度,解决了数据丢失的问题。

2 硬件电路设计
   
本设计采用通用异步通信芯片SC16C554来实现串口扩展。SC16C554主要特点有:
    1.有A、B、C、D四个通道独立收发数据;
    2.最高传输速率可达5Mbit/s,具有可编程波特率发生器,便于灵活选择数据收发频率;
    3.具有16字节的收发FIFO,且有1、4、8、14字节四个可选择的中断触发深度;
    4.可通过编程设置传输数据的格式(数据长度,校验位,停止位);
    5.具有可独立控制的发送、接收、线路状态和MODEM状态中断;
    6.充分分级的中断系统控制,全面的线路状态报告功能。
    基于FPGA和SC16C554实现多串口通信的基本原理图如图1所示:

3 软件设计及实现
   
系统实际工作所需波特率分别为9600、38400、115200、153600 。分析计算可得不同波特率发送数据时,连续两个数据之间的时间间隔如表1所示:

    由表1可知单个通道连续两个中断产生的最小时间间隔为65μs;因此在65μs的时间内如果可以实现对四个通道分别进行一次读数据操作,即使是四个通道同时来数据也不会发生数据丢失的现象。
3.1 数据的存储设计
   
即在FPGA内部建立一个缓存机制。设计采用在FPGA内部做一个双端口RAM(DPRAM),用来存储串口数据,DSP通过访问DPRAM得到接收的串口数据。
    DPRAM指一个存储模块却包含两个独立的端口,这两个端口共用同一块地址空间,两个端口都可以向这块空间里写数据或从中读取数据。DPRAM的读写数据的模式包括只读、只写、读写三种模式,其中读写模式又包括先写后读、先读后写、只写不读三种模式,我们采用先读后写的模式。
    我们将DPRAM的地址空间分为四部分,分别用来存放四个通道的数据。当FPGA收到数据时,我们可以根据置通道标志寄存器CS[2:0]的值来判断该数据来自哪个通道,将其存入对应的地址空间,并将该通道对应地址线加一。当该通道存储数据量达到编程设置的触发深度时,就将DSP中断寄存器dspint置低,向DSP发送中断;同时向DPRAM内一事先定义好的公共存储空间写入通道标志字。当DSP收到中断后,首先访问该公共存储区读取通道标志字,判断该中断是由哪个通道产生的;然后调用相应的接收函数从DPRAM内读取该通道的数据存入指定的地址空间等待处理。
3.2 读串口数据状态机的设计
   
一个完整的读取串口数据操作需要进行三次读操作:读中断状态寄存器(ISR)、读线状态寄存器(LSR)、读接收保存寄存器(RHR)。由于这三次读操作具有严格的逻辑顺序和时序关系,非常适合采用状态机来描述;所以本设计采用有限状态机来实现读取串口数据。图2为读通道A数据的状态转移图。 

    State0:空闲状态,当没有数据时状态机一直停留在空闲状态;
    State 1:赋IsR寄存器地址给UART_A,置通道标志寄存器CS[2:O]=001(表示A通道);
    State2:读ISR,判断中断类型(04为接受数据准备好中断),赋LSR寄存器地址给UART、A;
    State3:读LSR,判断是否有数据(LSR[0]=1表示有数据在RHR内),赋RHR寄存器地址给UART A;
    State4:读RHR,读取串口数据。
    多通道工作时,可以通过增加状态机状态来实现。完成一个通道的读数操作需要四个状态,当四个通道同时工作时,状态机的状态需要增加到17个。其中Stare5~State8完成对通道B的操作;其中State9~State12完成对通道C的操作;其中State13~State16完成对通道D的操作。
3.3 读时序设计
    SC16C554的通用读时序图如下:

    其中t6s=0ns t6h=0ns t7h=0ns t7d=10ns t7w=26nst9d=20ns t12h=15ns都为最小值,t12d max=26ns由图3可以看出:对串口进行一次读操作所需的时间T=t6s+t7d+t7w+t9d所以T最小为56ns。本设计采用60MHz时钟分频出10MHz时钟,在一个1OMHz时钟周期(100ns)内完成一次读操作。用6 0 MH z时钟同步一个计数器cscount[2:0],在第一个6 0MH z时钟的上升沿(cs_count=3’b000时)置CS为低,并赋对应的地址给UART A;在第二个60MHz时钟的上升沿(cs_cout=3’b001时)置UART IOR为低;在第四个60MHz时钟的上升沿(cs_count=3’b011时)置CS、UART IOR为高。这样UART IOR有效时间为两个时钟周期(33ns),且比CS延时一个时钟周期(17ns),完全满足图3读时序的要求。
    由图2可知,由空闲状态State0到完成一次串口数据的读取,共需要500ns的时间。这样多通道工作时连续完成四个通道的读数操作共需2μs,远小于单个通道连续两个中断产生的时间间隔65μs;这样有效解决了多通道工作时,当读取数据的过程中其它通道中断丢失的问题。如:当读通道A数据的过程中,通道B产生中断请求;则状态机完成通道A数据读取返回到空闲状态State0,检测到INTB为高,状态机进入下一个状态(State5)进行通道B的数据接收。

4 测试结果及分析
   
我们分别对两种方案进行了测试,结果如下:表2为完全基于DSP接收和发送数据的通信性能测试;表3为基于FPGA接收串口数据的通信性能测试。

    波特率发送周期数据长度测试结果
    比较两种方案的测试结果可以得出以下结论:
    1单通道工作时:两种方案的通信性能是一样的。
    2多通道同时工作时:由表2测试结果可以看出,每次发送的数据量过大、或发送周期较小时,由于DSP对串口芯片中断请求的处理速度问题就会造成数据丢失。由表3测试结果可以看出,四通道工作时,发送数据长度为64字节,通道发送周期最小可达10ms;如果发送数据长度减小,通道发送周期还可以更小。该设计性能远远好于方案改进前完全基于DSP接收和发送数据的性能;能满足系统实际工作的需要。

5 结束语
   
基于FPGA接收数据的设计有两个突出的优点:1、极大提高了对串口中断的响应速度,避免了多通道工作、完全基于DSP接收和发送数据时数据大量丢失的情况;2、完全可编程设置DSP中断产生条件,解决了原来串口芯片只有1、4、8、14字节四个触发深度的限制,可编程设置存储空间范围内的任意字节的触发深度,大大减少了DSP的中断数量,提高了DSP的工作效率。另外程序具有较强的可移植性,当设计需要修改时,只需修改少量代码,有效降低了设计周期。

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

慕尼黑2024年5月9日 /美通社/ -- TÜV南德意志集团(以下简称"TÜV南德")持续保障安全、可靠及可持续发展。作为全球化的服务提供商,TÜV南德2023年全年营收达约31亿欧元,首次突破30亿欧元大关,同比增长...

关键字: BSP 可持续发展 数字化 人工智能

凭借深度学习技术和SmartBid产品,百度国际MediaGo获得美国商业奖认可 旧金山2024年5月6日 /美通社/ -- 第22届美国商业奖(American Business Award®)近日发布获奖名...

关键字: MEDIA GO SMART BSP

上海2024年4月17日 /美通社/ -- 在2024 F1中国站即将拉开帷幕之际,高端全合成润滑油品牌美孚1号今日举办了品牌50周年庆祝活动。三届F1年度车手总冠军马克斯•维斯塔潘也亲临现场,共同庆祝这一里程...

关键字: BSP 汽车制造 行业标准 产品系列

北京2024年4月17日 /美通社/ -- 2024年4月13日,由北京康盟慈善基金会主办的"县域诊疗,规范同行"——肿瘤诊疗学术巡讲项目首站在广州隆重召开。本次会议邀请全国多位肺癌领域专家和县域同道...

关键字: AI技术 医疗服务 BSP 互联网

海口2024年4月16日 /美通社/ -- 4月14日,在中法建交60周年之际,科学护肤先锋品牌Galenic法国科兰黎受邀入驻第四届中国国际消费品博览会(以下简称"消博会")法国馆。Galenic法...

关键字: NI IC BSP ACTIVE

数字信号处理器(DSP)在通信、控制、图像处理等多个领域扮演着越来越重要的角色。TMS320F2808PZA作为德州仪器(Texas Instruments)推出的一款高性能DSP控制器,其独特的架构和强大的功能使其在众...

关键字: tms320f2808pza 数字信号处理器 DSP

上海2024年4月17日 /美通社/ -- 每年4月17日是世界血友病日。今年,世界血友病日以"认识出血性疾病,积极预防和治疗"为主题,呼吁关注所有出血性疾病,提升科学认知,提高规范化诊疗水平,让每一位出血性疾病患者享有...

关键字: VII 动力学 软件 BSP

伦敦2024年4月16日 /美通社/ -- ATFX宣布任命Siju Daniel为首席商务官。Siju在金融服务行业拥有丰富的经验和专业知识,曾在全球各地的高管职位上工作了19年以上。Siju之前担任FXCM首席商务官...

关键字: NI AN SI BSP

全球领先的科技公司默克推出了同类产品中首个经验证的全新一体化遗传稳定性分析。 Aptegra™ CHO遗传稳定性检测利用全基因组测序和生物信息学,显著加快了客户的生物医药安全性测试,从而帮助加快了客户进入商业生产的步伐。...

关键字: 稳定性分析 BSP 人工智能
关闭
关闭