基于串口通信的DSP在线升级方案优化研究
2023-06-02冯锦
冯锦
关键词:DSP在线升级;软硬件设计;串口通信;升级方案优化
研究发现,数字信号处理器(DSP)实践效用较强,应用该处理器可借助合理的方式实现数字信号的处理、筛选,以及实时高速解算,从而提高信息处理效率。第一代DSP芯片TMS32010的问世.推动了相关行业发展。由于其价格低廉,在实践过程中简单易用故备受追捧。将数字信号处理器( DSP)与通用微处理器相比(同等工作频率的)可以发现,其处理能力强,可实现对电磁波等微弱信息的实日寸智能处理。在DSP应用中,其在线升级技术难度大,为保障有效的DSP处理能力,经试验论证,可借助串口通信的功能,降低在线升级的难度,以保障理想的处理效率。
1基于串口通信的DSP运行原理
我国的DSP研发虽然时间短,但成效显著。研究表明,基于串口通信的DSP在线升级是一种有效的尝试,其原理容易理解。其主要凭借CAN等串口,加入二次引导机制,通过合理的方式完成DSP终端点对点的在线升级,从而消除程序漏洞,高质量满足用户需求,提高嵌入式设备升级的可行性。传统的在线升级技术存在缺陷,升级文件在使用中会存在丢包等问题,从而提高了升级失败的概率。为解决这一问题,经研究提出基于CAN总线的高质量升级技术,这种多DSP智能节点的升级手段可保障升级的效率,实现DSP功能最大化。该方法基于CAN总线,利用多节点自主匹配,以完成相关信息的识别,并在此基础上处理升级信息[1]。该方法具有扩展性,可适用于各类工程项目,具有安全稳定性高且便于控制的优点。
2软设计优化
2.1总体设计思路
在具体实践中采用的是通过CAN总线优化的方式,合理化打造一种多智能节点集成状态,并在此状态下实现软件升级,并借助智能节点的识别,保障软件使用的合理性。其主要思想非常明确,是在分组件状态下结合系统操作形态和技术参数,为每个智能节点提供工作路径,使其有明确的标识信息[2]。事实表明,若要实现在线升级,实现DSP功能最大化,则应进行BOOT引脚配置,以保障DSP运行效果理想,具体如表1所列。
系统在运行中,需依托技术手段,发挥所有智能节点创建的价值,保障DSP功能最大化,使其拥有稳定的运行效率,并可持续引导程序数据包运动,满足实际加载需求,进而在为后续的DSP节点运行提供保障、引导程序的同时,实现数据包的校验及烧写。需要注意的是,其余匹配失败的DSP将在技术指引下退出引导程序,在理想化的流程中等待下电。研究发现,由于引导程序较为特殊,仅贮存并运行于RAM上,基于此,在DSP重新上电后,可以完全忽略引导程序的影响(这里特指对原有程序的影响)[3],从而提高升级操作的针对性,仅对指定节点进行升级,以实现升级目标且不会影响其他DSP节点运行的效果。
2.2通信协议的选择
以往采用的方法是优化系统升级环境,并在CCS环境下借助相关的接口操作,辅助Flash加快对DSP的软件更新。但实践表明,这种基于JTAG接口的升级改造方案,会限制空间的传输距离。与此同时,对于嵌入式设备来说,单纯使用JTAG接口操作不便,因为JTAG接口结构的特性,需将其隐藏于设备内部,若要实施升级操作,则需将设备拆装,相对麻烦。
针对以上不足,设计了基于CAN通信总线,并结合ARM作为升级主控节点的升级方法,利用连接器配置文件(DSP控制器的)和精简的Ymodem协议,实现DSP在线升级。最终的结果表明,该方案极为可行,实践过程简单,整体的升级速度快,并且升级后的DSP稳定性高。借助外部通信接口便可实现对编程文件的综合处理,其中包括接收、差错校验以及执行更新等,若接收状态并不理想,则会按照流程重新升级,以确保CAN通信总线发挥作用。由此可见,本次升级方案比较理想,具有参考意义。
2.3应答式通信功能
现实中,为有效防止传输阶段的参数泄漏,出现丢包、错包现象,在本次升级方案改造中,先后设置了3种数据帧。数据传输过程根据数据帧不同的功能,对数据进行监测,以确保升级数据包的完整性[4]。
数据帧按照用途可分为LIVE帧(具体应用中,用于确认发送端的连接状态,确保其和接收端连接成功,打通数据传输通道)、UPDA帧(应用过程中,用于将待烧写程序按科学的比例切割,同时重新科学组包,保障数据传输品质)、UPOK帧(核心任务是确保良好的接收状态。整个过程中,若接收完整则意味着可执行下个指令,开始对内容擦除和烧写,若接收状态并不理想,未通过完整性检验,则原理上不可进行Flash操作,需要按照流程重新升级)。
2.4数据完整性校验功能
在本次系统优化中,因为升级文件被分解传输,所以若要实现无误的传输,则需辅助二次引导机制,并进行完整性检验[5]。检验的对象有:第1级对hex文件进行校验,以确保该文件的完整性,同时将校验结果附加到传输文件中;第2级对帧数据进行校验,以确保每一包数据传递含义的正确性。实践表明,二级校验机制较关键,可有效避免升级文件不完整,数据包丢失等问题,从而避免错误数据在没有纠正的情况下烧写入Flash中。
3硬件升级设计
3.1Flash分块设计
DSP核复位后可启动DSP,使其通过自身的CAN总线读取1KB的数据,并将读取结果存人内部SRAM。现实中,芯片固化自动读取过程是分析的重点,由于其过程较为复杂,需综合考虑多个因素,整个过程在学术界称为一级Bootloader。研究表明,一级Bootloader所读取的数据功能性较强,在应用阶段主要用于二级Bootloader程序的实现,属于程序运行的基础。
3.2核间通信设计
在具体实践中,为实现通信接口的复用,需打造核间互联方式。在整个结果中以DSP1#为主,其他的属于辅助DSP。DSP1#负责实现精准对接上位机接口的功能,接收到升级文件后,会将文件分发给其他核,通过不同核的相互作用,实现有效数据的传输,最终完成升级任务。
4某工程中DSP在线升级方案实践
4.1引导程序设定
引导程序功能显著,在实际操作中主要用于指定DSP实施有效的智能节点匹配,并在此基础上和应用程序数据包进行完整性的交互,以避免数据包内容丢失。结合表的BOOT引脚布置方案,在开始上电后可以保障智能节点的状态,使其均进入CAN-Bootloader控制体系中,此时发送引导程序数据包,并将其贮存在RAM中。具体如图1所示。
4.2上位机软件
上位机软件至关重要,主要负责引导程序交互的工作,在实践中需借助程序数据包的发送,实现以下功能。(1)确保程序安全加载。该功能为后续工作提供了保障,是重要的技术关口。(2)发挥节点匹配功能。在引导发送信息后,需将智能节点回送的数据,也就是匹配结果,完整地传递给操作人员,以保障软件在线升级流程的顺畅。
4.3升级结果验证
使用JTAG连接DSP后,可精准读取Flash内存地址,同时解析数据包。并且在实操中,控制系统集成后DSP智能节点优势显著,各组件功能稳定,DSP运转效率高,上电运行正常,表明此次升级方案有效。
5结束语
本文阐述了一种基于CAN协议实现多DSP智能节点软件升级的技术方案。該方法实践可行性较高,通过在线升级方法的优化,可完成DSP功能的强化,具有操作方法简单,实际应用中扩展性强的优势,值得推广。从本文研究结果可看出,以标准CAN总线为依托,增强DSP嵌入式计算机的功能是一种良好的方式。