当前位置:首页 > 单片机 > 单片机
[导读]本文设计了一种基于MTV412微控制器的1对8的ISP系统,主设备采用Myson公司的MTV412,可以同时对8台从设备进行在线程序更新。

引 言

    随着微控制器应用领域的不断扩展和深入,越来越多种类的微控制器具有ISP(In System Programming,在系统编程)功能。使用ISP可以使工厂在产品设计、制造过程中不必把微控制器从目标板中拔出,通过I2C实现在线体上程序升级。目前,在国内一线工厂,主设备(上位机)一般都用PC,这样不仅浪费资源,而且灵活性较差;同时由于在线体上只能对单个从设备进行程序更新,严重影响了工厂的生产效率。为此,本文设计了一种基于MTV412微控制器的1对8的ISP系统,主设备采用Myson公司的MTV412,可以同时对8台从设备进行在线程序更新。

    目前,51内核的微控制器ISP模式一般分为两大类:一类是使用JTAG协议的ISP模式;另一类:ISP模式是使用一条特殊的指令,使单片机进入ISP。在进入ISP模式后,要自己控制对单片机的擦除写入逻辑。这一类模式又可细分为2种不同的模式:①进入ISP模式后,单片机只提供一个接口,不再运行从设备的程序,擦写逻辑全由主设备提供,本系统中MTV412和MTV312就属于这种模式;②进入ISP模式以后,从设备会运行在某一区域已经编写的程序,芯片的编程逻辑都由芯片中这段程序控制,主设备只是作为单片机的一个数据源,向单片机传输要擦写的数据,如Winbond公司的W79E632。

1 背景介绍

1.1 MTV412和MTV312

    MTV412和MTV312是台湾Myson公司的产品,主要是面向LCD Monitor和LCD TV的视频控制IC。该款芯片可以满足视频应用中的控制需求,因而被广泛应用于视频类产品中,在本系统中,主设备采用的是128 KBMTV412微控制器。从设备采用MTV312,是64 KB的带有ISP功能的51系列8位微控制器

1.2 编译环境Keil C51

    Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统。它是一种专门为805l单片机设计的高效率的C语言编译器,符合ANSI标准,生产的程序代码运行速度极高,所需要的存储空间极小,完全可以和汇编语言相媲美。Cx51已被完全集成到一个功能强大的全新集成开发环境uVision2中。uVision2提供了强大的项目管理功能,可以十分方便地进行结构化多模块程序设计。本系统主设备的源代码通过Keil C51编译获得烧写所需的HEX或者BIN文档。

1.3 切换Bank原理

    传统的51系列单片机是8位的,因此它最多可以访问64 KB地址空间,如果要用51系列的单片机访问128KB的空间,那么就必须用切换Bank的方法。一个Bank是64 KB,通过外部的硬件来选择对应的Bank。本系统中,MTV412就是通过切换Bank的方法来在线升级ISP从设备程序的。MTV412切换Bank是通过P3.5完成的。通过设置P3.5不同的电平,切换到不同的Bank区域,如果要进行4个Bank的切换,必须要由2个端口来控制。图1为MTV412的128 KB的存储空间分配。其中:Common区域用于存放上电复位程序、中断向量、全局变量、中断函数、切换Bank程序和库函数等;Bank区域用于存放一些不同的应用函数。

    如图2所示,本系统把MTV412的128 KB Falsh分为Bank0和Bankl,大小各40 KB。在Keil C51编辑器中,必须加入L51_BANK.A51汇编文件,它包含系统的Bank数目和切换Bank调用的函数和端口。

2 系统构架

    系统架构如图3所示。首先,将从设备MTV312的文件通过Keil C51生成64 KB的HEX或者BIN文档;然后,再把主设备MTV412的文件通过Keil C5l生成128 KB的HEX或者BIN文档;最后,把从设备MTV312的BIN或者HEX分成两个32 KB,分别放在主设备MTV412 128 KB的8000H和18000H开始的位置。文件的地址空间分配如图4所示。



    通过PC或者烧录器直接把程序烧录到MTV412上。这样MTV412就可以脱离PC,通过I2C直接对从设备在生产线体上进行ISP。

2.1 硬件实现

    主设备MTV412的硬件电路如图5所示。P6口作为SCL,P1作为SDA。因为P6是单向口,P1是双向口,SDA不仅要输出数据,还要接收ACK。P1对应8个从设备的SDA,P6对应8个从设备的SCL。MTV412的多功能口P3.0和P3.1既可以作为普通的I/O口,也可以作为I2C的SCL和SDA,或者串口RXD和TXD。本系统设为I2C端口,可以通过PC直接更新MTV412上的程序。

2.2 软件实现

    主设备MTV412有128 KB的Flash空间。其中,Bank0(32 KB)和Bankl(32 KB)存储对应的从设备MTV312的程序数据和调用函数func0和funcl。Com- mon区域放置与从设备通信的程序,模拟ISP过程。在main函数中通过调用func0和func1,把对应的Bank0和Bank1从8000H开始的内容放入缓存区,每次读取256字节,然后在Common区中进行ISP。

    ISP时,从设备64 KB程序数据分成256个block,每个block为256字节。

    ISP过程如图6所示。

①进入ISP:发送I2C start→发送0x4C→发送0x77→发送I2C stop。

②清除Flash(硬件清除Flash):发送I2C start→发送0x7C→发送0x68和0x00→发送0x7C→发送0x00,0x00→delay 1 s→发送I2C stop。

③清除CRC寄存器:发送I2Cstart→发送0x7c→发送0xD0→发送I2C stop。

④Flash编程:发送I2C start→发送0x7C→发送0xA0,block起始地址(0x00~0xff)→发送I2C stop→循环256次(发送I2C start→发送地址0x00→发送256字节数据→发送I2C stop)。

⑤校验CRC:发送I2C start→发送0x7C→接收4字节CRC校验值→与软计算的CRC值比较。若相等,则发送I2C stop;否则,重新Flash编程。

⑥复位:发送I2C start→发送0x7C→发送0x48和0x00→发送I2C stop。

    要使从设备MTV312具有ISP的功能,须添加一段程序在从设备的主应用程序中。该程序用来响应多功能口SCL和SDA(RXD,TXD)的电平变化。在执行以下程序后,MTV312进入ISP模式:

void Intlsp(void)interrupt 2{//从设备MTV312外部中断1

结 语

    该系统的实现方法比较简单,可以脱离PC独立运行,同时给工厂提供更为简单、方便的在线ISP。主设备可以在线体上对从设备进行批量编程,值得在一线工厂推广使用。

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

e络盟技术专家制作的最新解决方案综合指南提供丰富的电动汽车充电信息资源

关键字: 电动汽车 充电站 微控制器

【2024年5月13日,德国慕尼黑和斯图加特讯】随着汽车行业向软件定义汽车和新E/E架构过渡,市场对高性能硬件和强大网络安全解决方案的需求也逐渐增加。为满足这一需求,全球功率系统和物联网领域的半导体领导者英飞凌科技股份公...

关键字: 微控制器 半导体 物联网

本文针对电动两轮车自燃防控装置的开发与分析进行了研究。通过电动两轮车自燃原因分析,提出了电动两轮车的自燃防控智能装置设计思路,介绍了电动两轮车的自燃防控智能

关键字: STC89C52RC 单片机 微控制器

【2024年5月9日,德国慕尼黑讯】信息安全与功能安全在汽车行业发挥着日益重要的作用,即便在低端微控制器应用中也不例外。与此同时,汽车制造商正在用触摸表面取代机械按钮,实现简洁的驾驶舱和方向盘。因此,电子电路的空间受到很...

关键字: 物联网 电子电路 微控制器

【2024年5月8日,德国慕尼黑讯】Rust编程语言凭借其独特的内存安全特性,已经成为汽车软件开发中C/C++的有效补充和潜在替代品。全球功率系统和物联网领域的半导体领导者英飞凌科技股份公司(FSE代码:IFX / OT...

关键字: 编译器 微控制器

2024年5月6日 – 专注于引入新品的全球电子元器件和工业自动化产品授权代理商贸泽电子 (Mouser Electronics) 即日起开售Analog Devices, Inc. (ADI) 的MAX32690微控制...

关键字: 可穿戴设备 微控制器 片上系统

【2024年4月29日, 德国慕尼黑讯】嵌入式安全被认为是物联网(IoT)应用部署的一个重要属性。英飞凌科技股份公司(FSE代码:IFX / OTCQX代码:IFNNY)近日宣布,其新型PSOC™ Edge E8x MC...

关键字: 微控制器 MCU 物联网

2024年4月26日,中国 – 服务多重电子应用领域、全球排名前列的半导体公司意法半导体 (STMicroelectronics,简称ST;纽约证券交易所代码:STM) 公布了按照美国通用会计准则 (U.S. GAAP)...

关键字: 微控制器 模拟器件

利用LogiCoA™微控制器,以更低功耗实现与全数字控制电源同等的功能

关键字: 微控制器 电源 CPU

台湾新竹 – 2024年4月23日 – 著名的微控制器供货商新唐科技公司,与全软件开发生命周期提供跨平台解决方案的全球软件公司Qt Group宣布深化合作,扩展新唐科技人机界面(HMI)平台支持「Qt for MCUs」...

关键字: 微控制器 嵌入式系统 MCU
关闭
关闭