- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
用电缆实现Atmage8535的ISP编程
用下载电缆实现Atmage8535的ISP编程
摘要 下载电缆被广泛应用于电子系统设计与调试过程中。本文介绍它的基本原理和编程控制方法;针对目前单片机的ISP串行编程模式列举实例,简要介绍ATmega的串行编程的方法和部分协议,使用GCC++编译,应用下载电缆实现对ATmega等系列单片机的ISP编程;本文提出统一下载电缆硬件或软件的设想,并提供可以下载支持多种单片机ISP编程软件的网址。 关键词 下载电缆 串行编程 ATmega ISP AT89S51
引 言
随着电子技术的日益发展,芯片的规模越来越大,封装日趋小型化,相对的系统板级调试困难也加大。IEEE制定了标准测试端口与边界扫描的标准IEEE std 1149.1,这就是JTAG的接口协议。JTAG接口通过TCK、TDI、TDO、TMS四根信号线,以串行模式为系统提供了对复杂芯片的各引脚连通性测试,进一步还能实现对可编程芯片的配置与处理器芯片的调试等等。下载电缆就是一种使用计算机的并行端口通过软件的仿真实现JTAG接口协议,访问可编程芯片的廉价工具。本文使用的下载电缆是Altera公司为其可编程逻辑器件开发的ByteBlasterMV电缆。ISP(在系统可编程的简称)是最先由Lattice公司提出的一种技术,是通过同步串行方式实现对其可编程逻辑器件的重配置。ISP与JTAG的接口协议很相像,只是后者形成了标准。ISP现在已经成为一种概念,它的提出改变了传统硬件系统开发的流程,大大方便了开发者,加快了开发速度。现在发多数的可编程器件(FPGA、CPLD、DSP、MCU……)都支持ISP的特性。单片机也不例外,Atmel公司推出的AT89S系列、AT90S系列、ATmega系列等也符合ISP特性。
下载电缆的硬件
要实现JTAG接口协议可以使用专用的IC ,如74LVT8980、74LVT8990 ,它与MCU配合可以提供高速的JTAG串行访问,成本较高。下载电缆则是实现JTAG接口协议的廉价方案。它仅使用74HC244做线路驱动,由计算机的并行端口引出I/O作为TCK、TDI、TDO、TMS等信号线。由于并口在SPP模式下共有3个端口——数据输出、控制输出、状态输入,各种下载电缆究竟从哪个端口引出JTAG信号线几乎都不相同,图1、图2是两种下载电缆的原理图。
并口简介:
计算机的并行端口工作在SPP模式下,对它的控制是通过数据输出端口、控制输出端口、状态输入端口来实现。
并行口有25个引脚,其中包括8位数据线、5位状态线、4位控制线。
数据端口(378H);D0~D7用于数据输出。
状态端口(379H);*S7(Busy)、S6(nAck)、S5(PE)、S4(Select)、S3(nError)。
控制端口(37AH);*C3(nSelin)、C2(nLnit)、*C1(Anto Feed)、*C0(nStrobe)。
(端口地址是缺省的LPT1设置;*表示此引脚有反向器)
表一为并行端口定义。对应原理图有:
Altera的下载电缆TCK、TDI、TMS、TDO分别对应D0、D6、D1、*S7;
Atmel的电缆TCK、TDI、TMS、TDO分别对应*C0、D0、*C3、S6。
下载电缆的编程方法
DricerLINX Port I/O Driver(可以从下载)来实现I/O端口访问。安装DLPORTIO以后,通过调用DLPORTIO.DLL动态连接库中的UCHAR DLPORT_API DIPortRead PortUchar IN ULONG Port ;VOID DLPORT_API DIPortWrite PortUchar IN ULONG Port,IN UCHAR Value ;两个函数就可以访问位于378H、379H、37AH(这是个缺省的LPT1设置)的3个并行口I/O端口。程序段1实现了对Altera下载电缆的一次电平赋值:
程序段1
Altera下载电缆电平赋值函数
Void CAvrISPDLg::Setbit Unsigned char value 0;
if !m_tck value| 0x01;
if !m_tms value| 0x02;
if !m_tdi value| 0x40;
DIPortWritePortUchar 0x378,value ;
Value DIPortReadPortUchar 0x379 ;
If value0x80 m_tdo 1;
Else m_tdo 0; 通过以上程序依次改变JTAG各接口I/O的电平状态,模拟JTAG协议的时序,就可以访问支持JTAG标准的各种芯片。
ISP协议的解析与实现
对ATmege系列单片机的ISP编程不使用JTAG协议,而使用SPI同步串行接口协议,
文档评论(0)