首页
业界动态
市场趋势
新品速递
技术文章
解决方案
首页
»
业界动态
» 单片机的ISP在线编程设计
单片机的ISP在线编程设计
作者:
时间:2009-05-10 13:05
来源:
引
言
随着电子技术的日益发展,芯片的规模越来越大,封装日趋小型化,相应地对系统板级调试的困难也在加大。在传统的调试方式中,频繁的调试和更换程序需要频繁地插拔芯片,开发效率极低。
AT89S
系列单片机提供的
ISP
在线编程技术彻底地改变了传统的开发模式,开发单片机系统时不会损坏芯片的引脚,加速了产品的上市并降低了研发成本,缩短了从设计、制造到现场调试的时间,简化了生产流程,大大提高了工作效率,因此它是对市场定型产品进行现场升级和维护的经济、有效的方式,极大地促进了
PLD
产品的发展。
1 PC
机并行口
1
.
1
并行口硬件接口简介
标准并行口有
25
个引脚,其中数据端口引脚为
2
~
9
,状态端口引脚为
15
、
10
~
13
,控制端口引脚
1
、
14
、
16
、
17
用于连接器件,其他引脚
18
~
25
是接地引脚
GND
。
25
针并行口如图
1
所示。
并行口工作在
SPP
模式下,
PC
机是通过对
3
个
8
位端口寄存器的读或写来实现对它们的控制。端口寄存器分别是:
◆
数据端口
(
地址
0x378)
为
D7
~
D0
,对应引脚
P9
~
P2
;
◆
状态端口
(
地址
0x379)
为
S7
~
S3
,对应引脚
P11
、
P10
、
P12
、
P13
、
P15
;
◆
控制端口
(
地址
0x37A)
为
C3
~
C0
,对应引脚
P17
、
P16
、
P14
、
P1
。
注意:
S7
、
CO
、
C1
、
C3
信号的逻辑状态在连接器处是与相应寄存器位相反的。对这些位进行写操作时,写入的值应该与连接器处设置的值相反;同样,进行读操作时,读取的值也与连接器处设置的值相反。
1
.
2
并行口编程简介
WindOWS
对系统底层操作采取了屏蔽的策略,但是在硬件或系统软件开发中只要涉及系统底层的操作,就不得不深人到
Windows
的内核去编写属于系统级的设备驱动程序。对并行口的读/写操作就是如此。为了绕过
WindOWS
安全保护机制,需要允许
32
位
Windows
程序直接对
I
/
O
口进行操作。这里使用由
Yariv Kaplan
编写的
WinIo
库中的几个函数来实现对
I
/
O
口的读/写。
(
1
)初始化与终止
对端口读
/
写前后要分别初始化和终止
GetPortVal
函数从指定端口读取一个
BYTE
/
WORD
/
DW0RD
类型的值;
SetPortVal
函数向指定端口写入一个
BYTE
/
WORD
/
DWORD
类型的值;
wPortAddr
是指定一个端口地址值;
pdwPortVal
为指向一双字节型变量的指针,该变量存储从
wPortAddr
端口读取的值;
dwPortVal
为一双字节型变量写到
wPortAddr
端口中;
bSize
指定读取字节数,值可以为
1
、
2
或
4
。
2 AT89S5X
系列单片机
2
.
1 AT89S51
简介
AT89S51
是一个低功耗、高性能
CMOS 8
位单片机,片内含
4 KB ISP(In-System Programming)
的可反复擦写
1 000
次的
Flash
只读程序存储器。该器件采用
Atmel
公司的高密度、非易失性存储技术制造,兼容标准
MCS-51
指令系统及
80C
51
引脚结构,芯片内集成了通用
8
位中央处理器和
ISP Flash
存储单元。功能强大的
AT89S51
可为许多嵌入式控制应用系统提供高性价比的解决方案。
2
.
2 AT89S51
串行编程时序及指令
2
.
2
.
1
串行编程模式下的时序分析
2
.
2
.
2
串行编程指令
串行编程使用
4
字节协议,指令如表
1
所列。
3
并行口与
AT89S5X
单片机的硬件设计
通过对并行口和编程时序的分析,我们制作了
AT89S5X
单片机的
ISP
下载线。下面对并行口与单片机的连线作一简单介绍:并行口
P2
引脚连接单片机的
P1
.
5
引脚
(MOSI)
;并行口
P10
引脚连接单片机的
P1
.
6
引脚
(MISO)
;并行口
P1
引脚连接单片机的
P1
.
7
引脚
(SCK)
;并行口
P17
引脚连接单片机的
RST
引脚,如图
2
所示。
4 ISP
下载线的软件设计
在硬件设计的基础上,通过对
ISP
时序和串行编程指令的分析,采用
Visual C++ 6
.
0
编写了下载线程序。其主要关键编程函数略
——
编者注。
结
语
以下是作者在调试中获取的一些参数,希望对大家有所帮助。
参考资料:
晶体振荡器的频率为
33 MHz(MAX)
,所以周期
T=1
/
F=1
/
33 MHz=30 ns(MIN)
;
SCK
正脉冲宽度为
8×30 ns=240ns(MIN)
;
SCK
负脉冲宽度为
8×30 ns=240ns(MIN)
;
MOSI
建立到
SCK
变高时间为
30ns(MIN)
;
SCK
变高后
MOSI
保持时间为
2×30 ns(MIN)
;
SCK
变低到
MISO
有效时间为
10 ns(MIN)
~
32 ns(MAX)(
一般取
16ns)
;芯片檫除指令周期为
500 ms
;串行字节写周期为
64×30 ns+400 ns
。
实验数据:
晶体震荡器的频率为
33 MHz(MAX)
,所以周期
T=1
/
F=1
/
33 MHz=30 ns(MIN)
;芯片擦除指令周期为
200ms
;
SCK
变高后
MOSI
保持时间为
1 ms(MIN)
。
单片机
ISP
在线编程
上一篇:OMNIVISION汽车成像SOC助力辅助驾驶
下一篇:嵌入式系统动态电压调节设计技术
相关推荐
飞思卡尔CEO:新战略初现成效 未来更关注中国市场
飞思卡尔日前公布了其2013年一季度业绩报告,报告称其一季度营业额为9.81亿美元,EBITDA盈利水平为1.78亿美元,毛利率为40.6%,调整后每股亏损0.03美元。 2013年一季度营业额同比增长3%,环
飞思卡尔
单片机
2013-04-28
飞思卡尔携手周立功单片机 共同拓展中国MCU市场
飞思卡尔半导体公司已和国内嵌入式行业的知名品牌周立功单片机发展有限公司签订“渠道合作伙伴”(Connect Partner)项目协议,周立功单片机将成为飞思卡尔渠道合作伙伴项目的战略合作伙伴之
飞思卡尔
MCU
单片机
2012-12-19
英飞凌为提高XMC4000单片机生产率免费提供DAVE 3
英飞凌科技股份公司近日宣布,针对其XMC4000工业单片机家族,提供全面、高效的开发支持:其DAVE 3集成式开发平台环境,已可在英飞凌网站(www.infineon.com/dave)免费下载。它包含基于DAVE
英飞凌
单片机
2012-04-20
英飞凌XMC4500工业单片机现已量产供货
英飞凌科技股份公司已发布XMC4500系列产品。这是英飞凌推出的首个基于ARM Cortex M4处理器的32位工业单片机产品家族。XMC4500单片机将于2012年5月投入量产。目前,英飞凌正携XMC4500单片机
英飞凌
单片机
XMC4500
2012-03-19
ZLG成为Energy Micro中国区合作伙伴
2011年12月14日上午10时,广州周立功单片机发展有限公司和节能微控器和无线射频供应商Energy Micro公司合作信息发布会在深圳香格里拉酒店举行。发布会上,Energy Micro正式宣布ZLG成为其基于A
周立功
Energy
Micro
单片机
2011-12-19
Microchip第100亿颗PIC单片机交付三星电子
全球领先的整合单片机、模拟器件和闪存专利解决方案的供应商——Microchip Technology Inc(美国微芯科技公司)日前宣布已将第100亿颗PIC单片机(MCU)交付给三星电子有限
微芯科技
单片机
PIC32
2011-09-21
在线研讨会
焦点