基于MTV412微控制器的1对8的ISP系统
引 言
随着微操纵器微操纵器
一个微操纵器,(也称作微处理器或MCU)就是一个小型的计算机,它由一系列简洁的电路和一些支持微处理器作用的简洁模块组成,如晶体振荡器,定时器,看门狗,串行和模拟I / O口等等。芯片里包括非闪烁存储器和OTP ROM 用来存储程序,以及一个很小的读写程序。 [全文]
应用领域的不断扩展和深入,越来越多种类的微操纵器具有ISP(In System Programming,在系统编程)功能。使用ISP可以使工厂在产品设计、制造过程中不必把微操纵器从目标板中拔出,通过I2C实现在线体上程序升级。目前,在国内一线工厂,主设备(上位机)一般都用PC,这样不仅浪费资源,而且灵活性较差;同时由于在线体上只能对单个从设备进行程序更新,严重影响了工厂的生产效率。为此,本文设计了一种基于MTV412微操纵器的1对8的ISP系统,主设备采纳MysON公司的MTV412,可以同时对8台从设备进行在线程序更新。 目前,51内核的微操纵器ISP模式一般分为两大类:一类是使用JTAG协议的ISP模式;另一类:ISP模式是使用一条非凡的指令,使单片机单片机
单片机是单片微型计算机(Single-Chip Microcomputer)的简称,是一种将中心处理器微处理器随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)采纳超大规模集成电路技术集成到一块硅片上构成的微型计算机系统。 [全文]
进入ISP。在进入ISP模式后,要自己操纵对单片机的擦除写入逻辑。这一类模式又可细分为2种不同的模式:①进入ISP模式后,单片机只提供一个接口,不再运行从设备的程序,擦写逻辑全由主设备提供,本系统中MTV412和MTV312就属于这种模式;②进入ISP模式以后,从设备会运行在某一区域已经编写的程序,芯片的编程逻辑都由芯片中这段程序操纵,主设备只是作为单片机的一个数据源,向单片机传输要擦写的数据,如Winbond公司的W79E632。1 背景介绍
1.1 MTV412和MTV312
MTV412和MTV312是台湾Myson公司的产品,主要是面向LCDLCD
LCD(Liquid Crystal Display),即液晶显示屏。LCD是平面超薄的显示设备,它由一定数量的彩色或黑白像素组成,放置于光源或者反射面前方。液晶显示器功耗很低,因此倍受工程师青睐,适用于使用电池的电子设备。它的主要原理是以电流刺激液晶分子产生点、线、面配合背部灯管构成画面。单色的LCD已经基本退出市场,彩色LCD主要又分为 STN 和 TFT 两种,其中TFT(Thin Film Transistor)LCD,又称为主动式电晶薄膜晶体管液晶显示屏,也就是被很多人俗称的真彩液晶显示屏;DSTN(Dual-ScnTwistedNematic)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或者烧录器烧录器
烧录器实际上是一个把可编程的集成电路写上数据的工具,烧录器器主要用于单片机(含嵌入式)/存储器(含BIOS)之类的芯片的编程(或称刷写)。 烧录器在大陆是叫编程器。因为台湾的半导体产业进展的早,到大陆后,客户之所以叫它为“编程器”是因为现在英文名为PROGRAMMER,这个英文名与一般编写软件程式设计师是同名,所以就叫“编程器”。 [全文]
直接把程序烧录到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,或者串口串口
串口是计算机上一种非常通用的设备通信协议,大多数计算机包含两个基于RS232的串口。串口同时也是仪器仪表设备的通信协议,并可用于猎取远程采集设备的数据。 [全文]
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。主设备可以在线体上对从设备进行批量编程,值得在一线工厂推广使用。
来源:蝴蝶
该文章来至网络或用户,仅供学习交流之用,版权归原作者所有。
如有侵权,请及时与我们联系!
基于MAXQ3120微操纵**的****(EM)参考设计
MAXQ3120****(EM)参考设计构建了一款多功能、多费率****,它符合世界范围的全部可用标准。参考设计构成了一款能够适合各地要求和各种性能要求的****原型。这篇文档将指导软...
以IP平台形式将8051微操纵**引入FPGA
一直以来,设计人员为迅速进展的市场如消费电子和汽车等开发产品时,都面对严重的上市时间压力。但是现在,这些严格的时间要求已经转移至其它许多领域,包括嵌入式操纵和工...
微操纵**时钟—选择晶振、谐振槽路、RC振荡**还是硅振荡**?
微操纵**的时钟源可以分为两类:基于机械谐振**件的时钟源,如晶振、陶瓷谐振槽路;基于相移电路的时钟源,如:RC (电阻、电容)振荡**。硅振荡**通常是完全集成的RC振荡**...
16位微操纵**的设计与实现
随着信息技术的进展,网络通信、信息安全和信息家电产品的普及,嵌入式MCU正是所有这些信息产品中必不可少的部件。目前国内一些科研院校和半导体公司都在致力于研发自主设...
Maxim 推出高性能的16位 RISC 微操纵**
Maxim推出了带有红外(IR)收发**的高性能的16位RISC微操纵**MAXQ613。MAXQ610微操纵**不仅取得广泛成功,并且减小了存储**容量(48KB闪存、1.5KB SRAM),从而可为系统设计人员...