|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
6 H! }& V' ~* t/ Q摘要:在MCS96系列单片机的应用开发中,经常会遇到需要大容量的数据存储器的情况。-种段式
# u5 a h% F3 H* F. m管理的大容数据存贮器扩展技术给出了解决办法,但是该技术的核心部分是采用子程序来实现,因而在% r9 p; ]$ ]; e# k: y% q
应用于实时系统时受到了限制。本文针对这种段式管理的大容量数据存贮器扩展技术存在的缺点,提出了7 f S+ A3 ]# w: L8 u, T1 I) W- @
利用CPLD芯片与单片机综合的应用模式来实现原有扩展方法的改进,由于采用CPLD的硬件实现大大减. a1 } _6 W- L0 p$ U
少了数据存贮器寻址时间,从而使得段式管理的扩展技术能够应用于实时系统.4 l6 ~2 D5 q W( h' N3 N, ^
关键词:单片机; 逻辑地址;物理地址; CPLD
" N% d G! f1 B3 f
# c- ~5 [$ L5 X4 ]2 b" y1引言) e( p3 i1 X8 v' S
MCS96系列单片机是一种比MCS51系列单% p% w8 N' o9 ]5 k" k( [1 }- M5 e
片机功能更全,性能更高的单片机。在应用开发/ [! W2 Z9 v. A# x& g
中,它经常会遇到需要大容量的外部数据存储器
6 `/ ?+ T: l7 _7 p3 M* f0 b的情况。由于MCS96系列单片机的内存体系结' U+ ]1 C6 Q# e0 {7 k9 F) Q
构采用普林斯顿结构,因此和采用哈佛结构的+ I- u5 C! I& V! t
MCS51系列单片机的外部数据存储器的扩展是# s) R& z! p/ k0 [
有差别的。如果采用和MCS51系列单片机相同7 I* @: V$ c; ~2 ]* I* \
的外部数据存储器扩展方法,则会造成整个数据
" c& {9 B0 x2 |# W) S% M存储器的物理地址空间不连续,因而是不便于用- z' L3 q( u9 w
各种高级语言编程的,在参考文献[1]中给出了一
* c! p( i4 I" i; q9 s/ g+ ~8 o种段式管理的扩展方法,该方法通过设置逻辑段
; F% S( B& n! D1 e! k8 E% t表,利用子程序来实现逻辑地址与物理地址之间
4 F* ]7 Q! F/ V% K' n的转换,从而实现用连续的逻辑地址来编程,克
2 w. v9 m }$ t' K服了不连续的物理地址空间的缺陷,便于用户采
1 F0 u1 i. ~' a8 y% r, ~8 Y: \用高级语言来编程,而且对各段存储空间的数据
# [; v& q; G+ o& s' p提供了保护。该扩展技术最大的扩展容量可达到
`/ F$ A) n: Y% [! Z- m8MB,对于采用FLASHRAM的数据存贮器芯片) a* W+ D- G' }, A) P; K6 _
的扩展尤其适用,它可以使得硬件电路非常简单,
" b/ ?3 O5 O+ Y+ m; h9 U, E4 n不需要使用地址译码器,参考文献[2]就给出了针5 U5 M, n$ N1 o5 R
对FLASHRAM的一种应用实例。虽然这种段式
$ P) X; r( b) d) m管理的扩展方法能够用于扩展大容量的外部数据
7 g! `0 l% O/ ]* B0 b0 a. n存储器,但是由于是采用子程序来实现逻辑地址
' A' e! W- O6 l* c4 }/ `与物理地址的转换,因此在外部数据存储器的寻8 x6 I, {% \/ F5 G/ p# Q
址时是要费一定时间的,对于- - 些实时应用系统& q# N D4 W7 E4 H) s) q+ J
是不适用的。针对这种缺点,本文通过单片机与
# a" m3 `# f1 D! P1 [& ` CCPLD的综合设计模式,利用CPLD来代替段式
( F% @- W' o3 i$ k3 z2 Q* [+ X) P管理扩展方法中的转换子程序,从而使得这种扩8 H' ^- S: n5 a# p+ P! j
展方法能够适用于实时应用系统。
8 m/ K3 `. r/ X ?* z: U2 u
- d$ T9 p4 V) G5 L5 }* v' e0 P( F2 l8 M
T' E) l, ^' |$ @( v9 H& ?
6 c2 S( k1 d% i* d2 i8 q |
|