CN102103543B - 利用处理器gpio管脚扩展m模块地址空间的方法 - Google Patents

利用处理器gpio管脚扩展m模块地址空间的方法 Download PDF

Info

Publication number
CN102103543B
CN102103543B CN201110043652XA CN201110043652A CN102103543B CN 102103543 B CN102103543 B CN 102103543B CN 201110043652X A CN201110043652X A CN 201110043652XA CN 201110043652 A CN201110043652 A CN 201110043652A CN 102103543 B CN102103543 B CN 102103543B
Authority
CN
China
Prior art keywords
address
module
gpio
arm processor
processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201110043652XA
Other languages
English (en)
Other versions
CN102103543A (zh
Inventor
刘兆庆
乔立岩
刘旺
黄敏
李乃海
彭喜元
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Harbin Institute of Technology
Original Assignee
Harbin Institute of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Harbin Institute of Technology filed Critical Harbin Institute of Technology
Priority to CN201110043652XA priority Critical patent/CN102103543B/zh
Publication of CN102103543A publication Critical patent/CN102103543A/zh
Application granted granted Critical
Publication of CN102103543B publication Critical patent/CN102103543B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

利用处理器GPIO管脚扩展M模块地址空间的方法,涉及一种扩展M模块地址空间的方法,它实现了对S3C4510B的外部I/O地址空间进行扩展的问题。其方法是:将ARM处理器外设地址中的14位地址线作为M模块地址的低位,将ARM处理器的11位GPIO作为M模块地址的高位;在驱动程序中将待访问的M模块地址按照上述规则换算成ARM处理器能够访问的GPIO地址和外设地址的组合,在驱动程序中设定有效的ARM处理器GPIO值,使上述GPIO地址有效,驱动程序访问上述外设地址即能够实现ARM处理器对待访问的M模块地址空间的访问,从而实现通过ARM处理器GPIO管脚将M模块控制器的地址线宽度扩展到25位。本发明适用于扩展M模块地址空间。

Description

利用处理器GPIO管脚扩展M模块地址空间的方法
技术领域
本发明涉及一种扩展M模块地址空间的方法。
背景技术
M模块是使用较为广泛的一种小背板,它的接口信号简单,支持包括快速数据传输方式在内的多种数据传输方式,有多种尺寸结构可供选择,而且还支持中断、触发等设备同步功能,非常适合仪器开发的应用。采用ARM处理器加FPGA的结构是设计M模块智能载板时经常采用的方法。而三星公司的S3C4510B是目前应用最为广泛的ARM处理器芯片之一。
尽管ARM处理器(如ARM7TDMI嵌入式处理器)的内核是32位处理器,对应的地址空间为4G字节,但是S3C4510B芯片引出的外部地址线宽度只有22位,片外扩展的SDRAM、FLASH及外设共用这22根地址线。由于S3C4510B内部没有内存管理单元(MMU),其内存空间为固定长度的线性物理地址并有固定的划分格式。S3C4510B用于扩展外部I/O空间的地址范围由4组连续的地址段组成,每个段均为4k字,共占有16k字的地址空间。S3C4510B为外设提供用于地址译码的地址线为14根,而M模块所需内存空间最大要可达16M字节,需要24根用于译码的地址线,并且M模块控制器本身还需要一定的配置空间。因此,如果M模块控制器要达到对M模块的完整的地址访问和对自身的配置,就必须具有访问超过16M字节外部I/O空间的能力,也就是说,至少拥有25根地址译码线。若实现这个目标,必须对S3C4510B的外部I/O地址空间进行扩展。
发明内容
本发明是为了实现对S3C4510B的外部I/O地址空间进行扩展的问题,从而提供一种利用处理器GPIO管脚扩展M模块地址空间的方法。
利用处理器GPIO管脚扩展M模块地址空间的方法,它的方法为:将ARM处理器外设地址中的14位地址线作为M模块地址的低位,将ARM处理器的11位GPIO作为M模块地址的高位;
在驱动程序中将待访问的M模块地址按照上述规则换算成ARM处理器能够访问的GPIO地址和外设地址的组合,在驱动程序中设定有效的ARM处理器GPIO值,使上述GPIO地址有效,驱动程序访问上述外设地址即能够实现ARM处理器对待访问的M模块地址空间的访问,从而实现通过ARM处理器GPIO管脚将M模块控制器的地址线宽度扩展到25位。
ARM处理器是型号为S3C4510B的芯片。
有益效果:本发明实现了对S3C4510B的外部I/O地址空间进行扩展,扩展后的M模块控制器能够达到对M模块的完整的地址访问和对自身的配置。
附图说明
图1是具体实施方式中所述地址总线变换的示意图。
具体实施方式
具体实施方式一、利用处理器GPIO管脚扩展M模块地址空间的方法,它的方法为:将ARM处理器外设地址中的14位地址线作为M模块地址的低位,将ARM处理器的11位GPIO作为M模块地址的高位;
在ARM处理器内的驱动程序中,将待访问的M模块地址换算成ARM处理器能够访问的GPIO地址和外设地址,为了保证计算的效率,GPIO地址换算方法仅采用与或和移位运算,例如,本设计中假设需要访问的地址为a(a为25),a的低14位用S3C4510B外设空间的16K地址空间直接给出;其14到21位由S3C4510B GPIO的0到7位经计算得到(假设其值为b);其22到24位由S3C4510B GPIO的15到17位经计算得到,则换算算法用C语言描述如下:
b=a>>14;
b&=0xff;
c=a>>7;
c&=0x38000;
return b|c;
程序返回的值即是对GPIO控制寄存器的赋值;
然后在驱动程序中设定有效的ARM处理器GPIO值,并访问ARM处理器经过计算后的外设地址即可实现ARM处理器对待访问M模块地址的访问,从而实现通过ARM处理器GPIO管脚将M模块控制器的地址线宽度扩展到25位。
ARM处理器是型号为S3C4510B的芯片。
原理:ARM7TDMI采用32位地址总线,所有的地址都可以看作字节地址,地址总线提供4GB的线性寻址空间,当发出字访问信号时,存储系统忽略低2位A[1:0];当发出半字访问信号时,存储系统忽略低位A[0],而实际使用的外设存储芯片有可能是按字节编址的,也有可能是按字或半字编址的,基于以上原因,某些ARM系统在与存储器接口时,地址线的连接需要错开,而S3C4510B则通过一个片内的地址总线生成部件,隐藏了该过程,用户在设计系统时,只需将S3C4510B的地址总线与存储器的地址总线一一对应连接即可(即S3C4510B的A[0]与外部存储器的A[0]对齐)。表1和图1说明了该过程,表1是地址总结的生成,图1是地址总线的变换。
表1:
Figure BDA0000047518060000031
因此,可以得到不同总线宽度下S3C4510B可访问外设地址范围,如表2所示:
表2:
Figure BDA0000047518060000032
利用GPIO(通用输入输出)管脚扩展S3C4510B外部地址空间的方法是用S3C4510B分配给外部I/O的14位地址线作为地址的低位,利用11位GPIO作为地址高位,这样,使M模块控制器的地址线宽度扩展到25位,便可满足地址空间译码的需求。这样,在驱动程序中需要把实际要访问的M模块地址换算成GPIO地址和S3C4510B访问的外设地址,在驱动中应先置有效的GPIO值,然后再访问S3C4510B经过计算后的外设地址即可实现对S3C4510B对M模块实际地址的访问。
目前,一般来说各种处理器提供给外设的地址空间是不足以满足M模块及其配置空间需求的,而S3C4510B提供给外设的地址空间就更小了,只有16K的大小,因此,如果要在M模块控制器上用S3C4510B处理器就必须对其外设空间的地址线进行扩展。本发明扩展地址线的方法仅仅是为了结合M模块应用而提出的,而非一种通用的方法,并且国内对M模块的研究工作相对较少。处理器的GPIO是处理器与外设通信的一种通道,一般用来与外设或者外部芯片进行简单数据的交互。
本发明的优点:本发明利用GPIO扩展地址空间的方法增加了软件计算的开销,单次访问M模块存储器空间时效率最低,因为此时地址为24位,处理器要进行乘法与移位运算,根据计算结果,正确设置GPIO和地址线的状态,将二者进行拼接才能得到正确的M模块地址;这种方法在对M模块I/O空间操作时效率较高。因为M模块I/O空间为0x00-0xFF,可将其映射于S3C4510B的16字的外设地址空间内,将GPIO直接置为低,便可以对其进行访问了。这种方法浪费芯片大量的GPIO口,但硬件逻辑设计比较简单。
实际应用的情况下,通常所有与M模块控制、配置、识别以及模块的状态信息等相关的寄存器都设计在其I/O空间上,而M模块存储器空间主要是用于载板与M模块间大数据量传输时的缓冲器,一般在突发和DMA传输模式下使用。利用GPIO扩展外设地址空间的方法对M模块I/O空间访问效率较高,对突发和DMA传输模式的传输效率没有影响;而且在实际设计中,芯片的GPIO脚并不紧张,加之采用复杂的硬件设计来简化软件设计是不可取的一种作法。因此,用GPIO扩展地址空间的方法是扩展M模块地址空间相对合理的一种方法。

Claims (2)

1.利用处理器GPIO管脚扩展M模块地址空间的方法,其特征是:它的方法为:将ARM处理器外设地址中的14位地址线作为M模块地址的低位,将ARM处理器的11位GPIO作为M模块地址的高位;
在驱动程序中将待访问的M模块地址按照上述规则换算成ARM处理器能够访问的GPIO地址和外设地址的组合,在驱动程序中设定有效的ARM处理器GPIO值,使上述GPIO地址有效,驱动程序访问上述外设地址即能够实现ARM处理器对待访问的M模块地址空间的访问,从而实现通过ARM处理器GPIO管脚将M模块的地址线宽度扩展到25位。
2.根据权利要求1所述的利用处理器GPIO管脚扩展M模块地址空间的方法,其特征在于ARM处理器是型号为S3C4510B的芯片。
CN201110043652XA 2011-02-22 2011-02-22 利用处理器gpio管脚扩展m模块地址空间的方法 Expired - Fee Related CN102103543B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110043652XA CN102103543B (zh) 2011-02-22 2011-02-22 利用处理器gpio管脚扩展m模块地址空间的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110043652XA CN102103543B (zh) 2011-02-22 2011-02-22 利用处理器gpio管脚扩展m模块地址空间的方法

Publications (2)

Publication Number Publication Date
CN102103543A CN102103543A (zh) 2011-06-22
CN102103543B true CN102103543B (zh) 2012-07-04

Family

ID=44156331

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110043652XA Expired - Fee Related CN102103543B (zh) 2011-02-22 2011-02-22 利用处理器gpio管脚扩展m模块地址空间的方法

Country Status (1)

Country Link
CN (1) CN102103543B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104881373B (zh) * 2014-12-05 2017-10-24 中国航空工业集团公司第六三一研究所 一种扩展存储器访问空间的方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1103889A2 (en) * 1999-11-29 2001-05-30 Texas Instruments Incorporated Flexible general-purpose input/output system
CN1343332A (zh) * 1999-03-12 2002-04-03 英特尔公司 用32位微处理器中的4字节和8字节页面表条目实现线性地址扩展以及到物理存储器上的映射
CN1763734A (zh) * 2005-11-10 2006-04-26 苏州国芯科技有限公司 一种基于amba总线的8051系列微处理器应用系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1343332A (zh) * 1999-03-12 2002-04-03 英特尔公司 用32位微处理器中的4字节和8字节页面表条目实现线性地址扩展以及到物理存储器上的映射
EP1103889A2 (en) * 1999-11-29 2001-05-30 Texas Instruments Incorporated Flexible general-purpose input/output system
CN1763734A (zh) * 2005-11-10 2006-04-26 苏州国芯科技有限公司 一种基于amba总线的8051系列微处理器应用系统

Also Published As

Publication number Publication date
CN102103543A (zh) 2011-06-22

Similar Documents

Publication Publication Date Title
EP3279788B1 (en) Access method, device and system for expanding memory
CN101473438B (zh) 具有单个接口的混合存储器设备和方法
CN102110072B (zh) 一种多处理器完全互访的方法及系统
CN106326140B (zh) 数据拷贝方法、直接内存访问控制器及计算机系统
CN103927270B (zh) 一种面向多个粗粒度动态可重构阵列的共享数据缓存装置及控制方法
CN102591783A (zh) 可编程存储器控制器
CN104699465A (zh) 向量处理器中支持simt的向量访存装置和控制方法
CN102279753A (zh) 可重构系统配置管理的方法及用于可重构系统的配置管理单元
CN101114259A (zh) 一种基于flash架构的处理器片内程序代码存储体及实现代码片内执行的方法
CN103778086B (zh) 一种基于粗粒度动态可重构系统的多模式数据访问装置及办法
CN101436171A (zh) 模块化通信控制系统
CN101620581A (zh) 双口ram实现闪存控制器缓存的结构及实现该缓存的方法
CN102103543B (zh) 利用处理器gpio管脚扩展m模块地址空间的方法
CN101071624A (zh) 一种带扩展输入/输出接口的存储器芯片
CN204129729U (zh) 一种基于DMA传输的Flash存储控制系统
CN111158753A (zh) 具有数据预取功能的Flash控制器结构及其实现方法
US20230022998A1 (en) Overhead Reduction in Data Transfer Protocol for NAND Memory
CN100359491C (zh) 基于mcs-51架构的16m字节数据存储器寻址空间扩充方法
CN101853236B (zh) 一种基于双总线的微控制器外设扩展方法
CN101488119B (zh) 地址译码方法、装置及单板
US20150032929A1 (en) Circuitry for a computing system, lsu arrangement and memory arrangement as well as computing system
Bhure et al. Design of cache controller for multi-core processor system
CN204009891U (zh) 一种十六位嵌入式芯片软核
CN204331714U (zh) 一种新型sdram控制器
US9804985B2 (en) Hardware abstract data structure, data processing method and system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120704

Termination date: 20130222