当前位置:首页 > 单片机 > 单片机
[导读]针对没有集成在系统编程(ISP)功能的单片机,提出一种基于串口RS 485协议通信的通用ISP方案。避免了此类单片机系统在程序升级时对编程器、仿真器等特定工具的依赖。以80C196KC单片机为例,通过FLASH、RAM、单片机的UART口、PC机及相关软件模块的设计实现了程序的在线升级。与其他方案比较,此方案具有代价低,设计简单,可靠性高等诸多特点。

0 引 言
   
一般来说,在系统编程(ISP)是指依靠某种外部工具(除了常规的并行编程器以外)直接给处理器内部集成的程序存储器编程。这里所指的外部工具常见的有很多种,不同的处理器供应厂商可能提供不同的方案。例如,根据编程接口的不同,就有JTAG、单线、串口、SPI口等多种方式。尽管编程方式有所不同,但其原理都是类似的,就是依靠外部条件触发处理器,令其脱离正常执行的内部常规用户应用程序代码的进程,转而执行保存在其程序存储空间内某个固定位置处的控制擦除程序存储器及给程序存储器编程的代码(或是处理器外部提供的执行代码),然后通过某种与PC计算机的通信方式,将用户指定的某个在PC上编译完成的嵌入式处理器可运行的二进制代码文件编程人嵌入式处理器内的程序存储器。这种编程方式只需要常规的硬件配置(某些处理器可能需要某些叫作下载线的简单硬件电路)支持,而不需要特别的编程器(指并行编程器)支持,所以即使处理器芯片已经焊接到了电路板上也可以实现编程,这也就是ISP的真实含义。

1 通用的在系统编程方法
   
随着嵌入式系统技术的发展,电可擦除的FLASH芯片以容量大,价格低,编程方便等优势得到了广泛的应用。用一片FLASH作为程序存储器的系统无法直接实现在系统编程(ISP),为了方便现场调试和程序升级,可以采用集成ISP功能的MCU(如AVR、部分ARM芯片等),或者采用双FLASH设计等方法实现ISP功能。但有不少系统仍然使用不具备直接ISP功能的MCU(如M68K、N80C196等),同时因印制版面积、成本等原因的考虑也没有采用双FLASH芯片,此类系统在程序升级时通常需要编程器、仿真器等特定工具,在现场调试时很不方便。
    针对使用不具备ISP功能的MCU系统,只要满足以下四个条件,就可以按照本文的方法进行ISP设计。考虑自编程过程中文件出错、断电等特殊情况,此方案可实现故障保护。
    (1)程序空间和数据空间统一编址,程序可以在RAM中运行;
    (2)FLASH芯片正确连接了写信号;
    (3)拥有能放下Update程序并让其正常工作的额外程序/数据空间;
    (4)具备某种通信能力(例如以太网、串口、CAN、MODEM等)。
    程序分布如图1所示。这种情况下需要把整个工作分为三部分完成。第一是引导程序(称为Boot程序);第二是升级程序(Update程序);第三是正常程序(Normal程序)。Boot程序负责控制程序的运行模式:升级模式、正常模式。如果进入升级模式,Boot程序需要将Update程序复制到指定的运行空间,并转入执行Update程序;如果进入正常模式,Boot需要做的工作就十分简单,可以直接把控制权交给正常程序。要注意Update在自编程时不能破坏Boot程序。此时Normal程序不再负有复制Update程序到指定运行空间的任务,完全按照正常的模式运行。

    按照这种方案,Boot程序和Update程序是自编程设计的核心内容,只要保证这部分程序代码的完整性,就能拥有在线编程的能力。要对这部分程序代码区进行保护,保证在第一次写入程序存储器后就不会再被擦除。这样即使在自编程时发生灾难性故障,Boot程序和Update程序是不会被破坏的,仍然可以继续运行,保证下次仍然可以进行自编程。程序完成后必须分别固化到程序存储器的指定空间,以保证程序的正常运行。

2 80C196KC ISP的通信模块设计
    实现80C196KC ISP的核心思想即用AT29C256代替常用的M27C256做程序存储器与80C196KC相接,区别在于前者1引脚接/WR,后者1脚悬空;再用一片DS1230Y(NV SRAM)做中转。AT29C256分三个空间存放引导程序、更新程序和正常控制程序;其中引导程序用于80C196KC和上位机进行串口通信,接收上位机编译好的更新程序(.Hex文件),并把它放到DS1230Y中,在下载完成后把其中接收的程序代码发回上位机进行校验,校验无误后跳转去运行更新程序;更新程序用于将DS1230Y中校验无误的新程序复制到AT29C256的正常控制程序空间;正常控制程序即待更新或已经更新的系统程序。每次系统上电后由键盘判断是否需要在系统编程,如果需要,则经过引导程序和更新程序执行后,跳转到正常控制程序空间运行更新了的程序。如果不需要,则直接跳转到正常控制程序空间运行。在从AT29C256取指令时,注意WE脚保持高电平。
2.1 通信协议
    目前微机的串行通信口都是基于RS 232协议的,但因其传送速率较低、抗干扰能力较差、传送距离太近等缺点,该系统采用RS 422通信方式。RS 422每个通道通过二条信号线进行传输,采用平衡驱动、差分接收形式,对在接收器输入端出现的共模噪声起到了抑制作用,可以允许较大的信号衰减。另外由于两者之间不共地,不存在回路之间的电位差,彻底消除了远距离信号传输中因地电位不等造成的影响,从而有很强的抗干扰能力,并且可获得较长的传输距离。
2.2 通信接口电路
    鉴于篇幅,这里只给出串口通信中PC端硬件接口部分。
    首先由一块MAX232芯片把PC机串行口的RS 232电平转换为TTL电平,然后通过6N137的光电隔离模块进行隔离,再通过MAX 487芯片完成RS 232协议到RS 422协议的转换。其实也就是一个电平被转换为两个压差电平的过程,如图2所示。

2.3 通信软件设计
   
单片机(下位机)软件开发采用PL/M语言。主要由更新程序和通信程序组成,通信程序又包括通信主程序、接收、发送和定时中断程序等。其中通信主程序是不断循环执行的,如果上位机发送了数据则进入接收中断处理程序,并同时在定时中断中设置一个在接收中断中被清零的计数器,当定时器溢出某个时间范围时,说明接收完毕。这时触发发送中断,上发接收到的整个文件内容用于校验。这里仅给出部分更新程序代码。


    固化中断服务程序,并通过在PL/M语句中嵌入汇编语句完成程序的跳转。下载完成后,将程序复制到AT29C256后运行新程序,DS1230Y仍用作数据存储器。
    PC(上位机)操作界面应用Delphi 6.0开发。在Delphi 6.0开发环境下实现串行通信有多种方法,如:调用MSCOMM.OCX控件、在Windows下使用Win-dows API、应用嵌入式汇编语言、直接构造Delphi中的通信控件、利用动态链接库(DLL)等。考虑到该系统的通信情况比较简单,所以直接使用MSComm组件编写串口通信软件,主要包括三个方面的设计内容:
    (1)收发数据,指的是在PC机的串口与80C196KC的串口UART之间能收发字符串,二进制串(16进制显示);
    (2)收发文件,指的是在PC机的串口与80C196KC的串口UART之间能收发字符型文件,16进制文件(.Hex文件)
    (3)差错校验及系统可靠性设计。通信的成功与否最后还要看校验的结果,即接收端是否能正确无误的接收到发送端发送的内容。差错控制流程图如图3所示,核心代码如下:

    最终开发出的操作界面如图4所示,包括下载进程显示条,串口初始化设置框,收发数据文本框,选择打开发送文件按钮,发送文件大小显示框,校验按钮,文本与16进制类型选择框以及通信状态显示项。

3 结 语
   
提出了基于串口通信的通用的单片机ISP方法并针对80C196KC实现了PC机上已编译程序的在线下载。通过回声法校验,返回的接收文件与发送文件完全一致,系统可靠性高,设计简单,实现容易,具有一定的理论研究意义和应用前景。为“国家杂交水稻工程技术研究中心”人工气候室智能控制系统的系统程序更新,升级和远程维护提供了方便。

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

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭