使用16位ROMCS设计的义隆
TM
SC300
andlanSC310微控制器
应用说明
本应用笔记介绍了如何断言MCS16的ROMCS访问和IOCS16用于I / O
不进行外部地址译码存取。
MCS16和IOCS16信号定义
MCS16 (内存大小16)由一个16位的产生
内存扩展卡时,该卡将其识别为
被寻址。这个信号告诉数据总线转向
逻辑寻址的存储器装置能够
进行通信的两个数据路径。当访问
一个8位的存储装置,所述MCS16线保持
无效状态,表明该数据总线控制逻辑
当前被寻址的装置是一个8位的存储器
装置,它能够仅在下部连通的
数据路径。
IOCS16 ( I / O大小16)由16位ISA我生成/ O
当主板识别出它正在扩展板
解决。 IOCS16提供了相同的功能,用于
16位I / O扩展设备的MCS16信号
提供了16位的存储器装置。
结果在所有的I / O访问被错误地视为16
位。
更好的方法是将配合ROMCS到MCS16 。
MCS16然后正确地仅在ROMCS断言
周期。这种方法的问题在于,上
电时,所述ROMCS信号在内部控带
MEMR和MEMW 。这意味着, MCS16不会
有效期至MEMR或MEMW信号被确认。该
定时要求MCS16期间断言
一个ROMCS周期基本上是相同的,作为一个ISA
周期。 MCS16必须是有效的35纳秒后, LA是稳定的。如果
MCS16是门控与MEMR MEMW或命令,
它不会是有效期至洛杉矶后约90纳秒。
该lanSC300和lanSC310微控制器具有
在变址寄存器B3H可编程选项
允许启用ROMCS作为一个简单的地址
解码和不带门控或MEMR MEMW 。运用
此选项, ROMCS (并因此MCS16 )将
稳定时SA是稳定的,这是20纳秒后, LA是
稳定,从而满足MCS16时序要求。
不幸的是,如前面所指出的, lanSC300和
lanSC310微控制器电源与ROMCS
门控与MEMR ,因此在初始码
取治疗ROMCS为8位宽。在这种模式下,
从一个16位宽的存储器进行读取时,该
lanSC300和lanSC310微控制器将提取
偶数和奇数存储在相同的字节
访问。根据本执行复位代码
限制要求您编写索引寄存器B3H ,
使得MEMR门可以关闭,从而允许
正确的16位读取发生。在代码示例
下一个页面显示符合该复位代码存根
要求。在该示例中,所有的代码读取
跳转到标签“ fetching16 ”之前具有相同的
字节中的偶数和奇数地址。开始执行
在标签reset_vector ,其将设在
FFFFF0.
注意:
义隆
Tm值
SC300和lanSC310微
控制器内部或一起MCS16和IOCS16 。
的或运算的信号是通过在微控制器搜索
内存和I / O访问(包括I / O访问
这是内部到微控制器) 。
ASSERTING MCS16 FOR ROMCS
访问的结果不带地址译码
该lanSC300和lanSC310微控制器
支持16位宽的存储器中ROMCS空间。上
复位时,这些微控制器开始从此取
内存。该ROMCS存储器的宽度是
由MCS16输入控制。如果MCS16信号
置, ROMCS存储器被视为16位宽;
否则,该内存将被视为8位。
有没有一种方法为系统设计人员断言MCS16
对于ROMCS没有做地址访问
解码?首先,请注意,你不能简单地扎MCS16
低,即使是在一个系统中所有的内存是16位
宽。这不起作用,因为lanSC300和
内部或一起lanSC310微控制器
MCS16和IOCS16 。因此,搭售MCS16过低都会
本文件包含有关正在开发的产品,在Advanced Micro Devices公司的信息。信息
旨在帮助您评估该产品。 AMD保留对本建议修改权利或停止工作
产品,恕不另行通知。
出版#
21825
启:
A
Amendment/0
发行日期:
1997年7月
重设代码示例
代码段
假设CS :代码
ORG
取16 :
;当我们到达这里,我们取16位,
;所以我们可以用正常的指令来跳转到
;真正的启动代码
db
dw
ORG
0eah
0 , 0f000h
0ffdch
; JMP的代码真正的开始
;可以是任何地方
;必须位于0ffdch
0ffd7h
;这段代码被设置成偶数和奇数字节是重复的
;这段代码只是把04B3的斧头和斧输出端口22H
;这台址寄存器B3位2 ,使ROMCS
;是一个地址译码,而不是门控与MEMR / MEMW
;奇偶
db
fetching8 :
MOV
添加
MOV
MOV
OUT
和
JMP
db
NOP
NOP
NOP
NOP
组织0fff0h
reset_vector :
JMP
代码结束
结束
短fetching8
; EB EB
跳转到FFDD
;
复位向量
啊, 004H
人, 0B0H
人, 0B3H
BL , 0e7h
022h ,斧
CH , BL
0b4h
;B4
;
;B4 04
;B4 B0
;B0 B3
; B3 E7
;E7 22
22 EB
无害化,建立了跳短指令
在此目标所做的取
跳将16位
这段代码永远不会被执行这样的
内容无所谓
无害化,建立了一个指令
无害化,建立了一个指令
复制MOV的操作码啊
这个位置必须是在FFDD
短取16 ; EB EC
EC
; EC
2
使用16位ROMCS设计的义隆
TM
SC300和lanSC310微控制器
PGP引脚作为地址译码和IOCS16时序
的通用可编程PGP0和PGP1
管脚可被编程为使用的输入或输出
变址寄存器70H位6 PGP0和索引寄存器74H
第2位为PGP1 。 PGP2和PGP3只是输出。
该PGP3 - PGP0引脚可单独编程
作为解码输出或芯片选择外部
使用比特指数6-0寄存器94H外设
PGP2 , 95H为PGP3 , 9CH的PGP1和89H的
PGP0 。在地址解码模式,位这6-0
寄存器对应于SA的地址位SA9 SA3 ,
从0h ,为3F8h其提供的地址在解码
8字节为单位。要使用PGP3 - PGP0引脚
开车IOCS16 ,他们必须首先配置为地址
解码只在索引寄存器91H ,然后他们会
满足下面的图1中的定时。
图1示出了仿真结果的时序
要求PGPx和IOCS16 。有关详细
其他信号之间的定时,请参阅ISA I / O 16位
读取/写入周期的时序图
义隆
TM
SC300
单片机的数据手册
,订单号18514 。
SA15–SA0
t2
t1
PGPx
IOCS16
t3
注意事项:
1. T1 : SA稳定PGP下降沿为10 ns (最大值)时,作为地址译码只(指数91H )编程
2. T2 : SA稳定PGP上升沿为10 ns (最大值)时,作为地址译码只(指数91H )编程
3. T3 : SA稳定IOCS16活跃的95纳秒(最大)
图1. PGP引脚作为地址进行解码对战IOCS16输入时序要求
参考资料
s
义隆
TM
SC300单片机数据表
,
订单# 18514
s
义隆
TM
SC310单片机数据表
,
订单# 20668
s
义隆
TM
SC300程序员参考手册
,
订单# 18470
s
义隆
TM
SC310程序员参考手册,
订单# 20665
s
义隆
TM
SC300和Elan
TM
SC310 Devices的ISA总线
异常应用笔记
,订单号20747
使用16位ROMCS设计的义隆
TM
SC300和lanSC310微控制器
3
商标
AMD ,AMD标识及其组合是Advanced Micro Devices , Inc.的商标。
ELAN是Advanced Micro Devices公司的商标。
本出版物中使用的产品名称仅用于识别目的,可能是其各自公司的商标。
4
使用16位ROMCS设计的义隆
TM
SC300和lanSC310微控制器