1、基带导航芯片串口服务器设计思路1 概述:本文旨在记录基带导航芯片串口服务器的设计思路,以及实现方式,下 图是基带导航导航芯片串口服务器的整体框图。如上图所示,上位机烧录程序通 过串口将程序源代码发送 给基带导航芯片,根据用 户的实际需求,串口服务器判断是下 载或者运行用户程序,如果是下载,则串口服务器就发送程序字节给上位机,上位机烧录 程序判断后将程序文件通过 串口发给导航芯片,串口服 务器接收程序文件并进行校验,写入片外 FLASH。如果是运行用户程序, 则串口服务器将 SPI FLASH 中存储 的用户程序拷贝至内存,然后开始执行。2. 串口服务器的设计串口服务器设计主要包括上位机烧录程序
2、及芯片片内程序两个部分。 烧录程序用于将源文件进行拆分为字节特定的字节块,发送;串口服务器程序 负责应用程序的跳转,及接受字节块,判断并重新组装为程序字 节, 对片外 FLASH 中 APP 区或者 BOOTLOADER 区进行烧录。在烧录时,出于对传输的可靠性及保密性的要求,需要 对传输 制定特定的协议。以下是串口服务器的软件运行流程图,上位机烧录程序 基带导航芯片片外 F L A S H串口S P I开始读取 S P I F L A S H , 执行二级启动程序下载或者运行下载程序到内部 F L A S H 中 运行用户程序3.串口通信协议为了保证程序数据的一次性传输成功,使用发送-检测错
3、误-重传 机制实现串口通信,由上位机程序将文件切割为字节块,以特定长度的字节块的形式传输数据,并且每个块都使用一个 校验和来进行错误检测。接收端每收到一个字节块,就对该字节块计算校验和,如果与字 节块中包含的校验和不同就发送重传命令,如果相同,就发送继续指令。工作的流程图如下:传输开始接收到字节块判断校验和发送重传指令存入缓存传输完成 ?E N D重传次数 + +达到最大 ?方案验证:下载速度:考虑到片内的 CODE RAM 最大为 384KB,若在 115200 波特率下,也仅仅需要 0.4 秒,即使在加上协议的开销, 应该能将速度控制在 1 秒之内。空间大小限制:由于一级启动的代码仅仅支持 4KB 大小,如果如果串口服务器太过复杂,会增大程序的代码量,此 时需要 3 级启动。