|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
) C8 a' p- k0 v. M4 y摘要:在MCS96系列单片机的应用开发中,经常会遇到需要大容量的数据存储器的情况。-种段式7 W* `- w1 `/ l3 Z* { q9 {
管理的大容数据存贮器扩展技术给出了解决办法,但是该技术的核心部分是采用子程序来实现,因而在- r! W/ A) u2 z8 ?! o$ x
应用于实时系统时受到了限制。本文针对这种段式管理的大容量数据存贮器扩展技术存在的缺点,提出了2 h7 ^! E9 W) Q+ _9 `
利用CPLD芯片与单片机综合的应用模式来实现原有扩展方法的改进,由于采用CPLD的硬件实现大大减- w, ?7 O% |3 x6 ] {( h K
少了数据存贮器寻址时间,从而使得段式管理的扩展技术能够应用于实时系统.6 E$ f3 o( I9 }# ?1 q7 S
关键词:单片机; 逻辑地址;物理地址; CPLD
: O1 e3 |# i0 g6 y# ~7 w
9 I( y- w2 R& h2 @1引言
0 j4 ^1 [3 P ]1 |0 J BMCS96系列单片机是一种比MCS51系列单) R8 p: K# k" C9 D# @5 g0 s
片机功能更全,性能更高的单片机。在应用开发8 x' ^, A0 S1 O2 D, e
中,它经常会遇到需要大容量的外部数据存储器
# ^3 A; f8 y0 m的情况。由于MCS96系列单片机的内存体系结" i1 ]) I$ @' ]7 ~9 H4 M
构采用普林斯顿结构,因此和采用哈佛结构的
: y; w! h; U$ V" bMCS51系列单片机的外部数据存储器的扩展是
! q9 J( k8 |' q) }1 k" b$ O4 x v有差别的。如果采用和MCS51系列单片机相同8 t8 C k, o6 s8 K7 Z& ^
的外部数据存储器扩展方法,则会造成整个数据
4 D4 X! } v0 y3 T# R$ _* e5 x5 G* c存储器的物理地址空间不连续,因而是不便于用4 S) C" ~: C/ H5 S7 P
各种高级语言编程的,在参考文献[1]中给出了一! {# ~9 q8 J" ^: m' F! h
种段式管理的扩展方法,该方法通过设置逻辑段" R2 d8 Y6 p+ o, f! t1 U
表,利用子程序来实现逻辑地址与物理地址之间
# [0 k( h& B8 q: i的转换,从而实现用连续的逻辑地址来编程,克
$ w4 g# S# J# v& y服了不连续的物理地址空间的缺陷,便于用户采
1 U$ i( h7 [9 N9 m. Y- W用高级语言来编程,而且对各段存储空间的数据" o4 I$ J. g) o/ R; c" y; B
提供了保护。该扩展技术最大的扩展容量可达到! x: G2 N6 J9 k4 C! Y
8MB,对于采用FLASHRAM的数据存贮器芯片
) e; S) H) w# ?" g& ?3 W, C3 s的扩展尤其适用,它可以使得硬件电路非常简单,
, Z2 t7 q P S不需要使用地址译码器,参考文献[2]就给出了针5 V( N g7 e" `4 ?+ u' m
对FLASHRAM的一种应用实例。虽然这种段式
0 q, S) A5 g% z3 {管理的扩展方法能够用于扩展大容量的外部数据
) _/ F0 u# J x" x' s: f/ f存储器,但是由于是采用子程序来实现逻辑地址
& |2 h+ P. z% x4 F$ x与物理地址的转换,因此在外部数据存储器的寻
6 l& T; q o* g; j$ r6 r5 I址时是要费一定时间的,对于- - 些实时应用系统( I8 F& v: {, Q0 k, `9 |
是不适用的。针对这种缺点,本文通过单片机与: d$ R+ E' A- y1 v3 d! z" o
CPLD的综合设计模式,利用CPLD来代替段式
0 A, g# R' L+ ~, l, e, b管理扩展方法中的转换子程序,从而使得这种扩
' r- ^" G/ m$ A0 U9 g, u9 B9 R展方法能够适用于实时应用系统。2 o" p& |, N+ O0 e: l3 M2 R
, V) _7 a7 W5 B# u) M
8 r% a) t; [! o" i% p
: J4 G1 w8 B5 G
|
|