ARM嵌入式系统中双口RAM的驱动开发及应用

合集下载

双口RAM在嵌入式系统调试中的应用

双口RAM在嵌入式系统调试中的应用

路 板面 积 。配台 IA总 线采 用 中 S
不仅可 满 足上 位 机 多任务控 制 系统 的需要
, ,

可 提 高本 系统 实时数 据 的处 理时 1l I 序 中 睦 时 效

I 7 3 ( ) 上位机 地址 DT 1 0U6 在
信方式, 或因结构复杂, 或因 传递


种 插 卡 式 可 编程 控 制 器 a该 嵌 入 式
I T 10 美 国I T 司采用 高 为与 上位机 共享 的通信 数据 区 如 图 D 73 是 D 公 P C实 质是 一个 智能 化 I L / O接 口卡 , 性 能 的 c s Mo 工艺生 产 的高速 1 K 2 所示 i 轰器件 的高集 成 度大大 简化
维普资讯


置 与 ] ■ 茸 结 E :
双 口 RAM 在 嵌 入 式 系 统 调 试 中 的 应 用
羲 毫 文 台 牡 曲 点 夼 t 渔 八 P 毒 辕 | 本 蛄 糕 采 特 , 甥 它 嵌 成 L 蜕 硬 I e
:: #

该片用别同的断志 芯 运 有 于 类 中标 进
行总线仲裁: 存储阵列中的 ×3E FH
和 ×3F F H单元被用做通信 “ 邮箱 ,
择调磷 竹萋席 怠媾了 _ 《 霉溉 箕罐虢攫神 强 鲥 调,
黪嚣 l中嘲貔蔫戮婚 . 谚 试 最。
j 嘲 R M ^ { 统 试 ≤ | 藏口 ^ j 或 摹 调 嵌
芯片却 独具特 点 :①具 有两套 完垒
卜 上 — — 003 、 8:04F - — — — 一 0.F 00003 — 0-F D 00-F - 0 - 1
00 00

Linux内核中双口RAM驱动开发及在大圆机控制系统中的应用

Linux内核中双口RAM驱动开发及在大圆机控制系统中的应用
关键词 : 针 织大圆机 ; 双 口R AM ; L i n u x 3 . 0 . 1 ; A RM1 1 ; 驱 动程 序 中图分类号 : TP 2 9 文献标志码 : A 文章编号 : 1 0 0 9 -2 6 5 X( 2 0 1 4 ) 0 3 -0 0 1 3 -0 5
De v e l o pm e nt o f Du a l — po r t RAM Dr i v e r i n Li n u x Ke r n e l a nd Appl i c a t i o n i n Co nt r ol S y s t e m of Ci r c ul a r Ma c hi n e
W ANG Yi l i ,H 【 , Xu d o n g,H UAN G Bi n ( F a c u l t y o f Me c h a n i c a l E n g i n e e r i n g a n d Au t o m a t i o n , Z h  ̄ i n a g S c b T e c h Un i v e r s i t y ,Ha n g z h o u 3 1 0 0 1 8 , C h i n a )
d i a me t e r j a c q u a r d c i r c u l a r k n i t t i n g ma c h i n e .T h e e x p e r i me n t a l r e s u l t s h o ws t h a t t h e c o n t r o l
s y s t e m o f c i r c u l a r ma c h i n e c a n l o a d d u a l — — p o r t RA M d r i v e r a n d c o r r e c t l y i d e n t i f y d u a l _ ’ p o r t RAM wh e n s t a r t i n g;i t c a n r e a l i z e p a r a me t e r t r a n s f e r o f u p p e r a n d l o we r c o mp u t e r s t h r o u g h

ARM嵌入式系统中双口RAM的驱动开发及应用_图文.

ARM嵌入式系统中双口RAM的驱动开发及应用_图文.

CY7C027的驱动开发
3.1驱动程序功能概述
为了在Linux2.6操作系统下实现本文所述的功能,必须为阿尔泰嵌入式开发板、嵌入式工控板、核心板
嵌入式开发板:包含ARM7、ARM9、Xscal、CPU为核心的教学开发板和企业评估板:
嵌入式工控板:以工业级嵌入式微控制器为核心的数据采集和现场控制、远程通讯为一体的高端工业控制产品。
址到虚拟地址的映射,这个工作在每次打开设备时执行。对于
3.2.3虚拟地址资源的分配
的中断并唤醒读进程。驱动程序整体结构框图见图2。具体的在Linux中,无法直接访问某一物理地址空间,而是必须访
file_operations结构被初始化为:struct
file_operations
问经过映射的虚拟地址。在dpram_open例程中实现了物理地
dpram_fops={
图1系统连接框图
张震:硕士研究生
另一方面,ARM从以太网获得远端处理机下达的命令,解析后通过DPRAM转达给前端的CPLD。使数据源采集端执行相应的命令。系统连接方式如图1:
ARM处理器选用AT91RM9200。这是一款ARM920T核心的处理器,工作时钟180MHz时可达到200MIPS。它拥有以太网
间断、快速的数据传输。
关键词:嵌入式系统;双端口RAM;Linux2.6;驱动程序中图分类号:1.1B鹞.1文献标识码:A
Abstract:RISCprocessorsbasedon
nvariousdigitalsystems.Thisarticletook
AT91RM9200
控制器等丰富的外设,比较适合本文的应用。
本应用选用的CY7C027是CYPRESS公司采用0.35一mi—cronCMOS工艺生产的一款高性能32K

基于arm的嵌入式系统开发与应用

基于arm的嵌入式系统开发与应用

基于arm的嵌入式系统开发与应用1. 介绍嵌入式系统是一种专门用于控制特定功能的计算机系统,通常集成在各种设备和系统中,例如智能手机、家用电器、汽车和工业设备等。

嵌入式系统的开发与应用在现代科技发展中扮演着重要的角色,其中基于ARM架构的嵌入式系统更是备受关注。

本文将从软硬件角度全面评估基于ARM的嵌入式系统开发与应用,并探讨其深度和广度的价值。

2. ARM架构概述ARM(Advanced RISC Machine)架构是一种精简指令集(RISC)架构,设计用于低功耗、高效能的处理器。

由于其出色的性能和低功耗特性,ARM架构在嵌入式系统中得到广泛应用。

从单片机到多核处理器,ARM架构提供了丰富的产品线,为嵌入式系统的开发与应用提供了强大的支持。

3. 嵌入式系统开发在基于ARM架构的嵌入式系统开发过程中,软件开发和硬件设计是两个关键环节。

软件开发涉及嵌入式操作系统、驱动程序、应用程序等内容,而硬件设计包括处理器、存储器、外围接口等硬件组件的选择和设计。

开发者需要针对特定的应用场景,选择合适的ARM处理器和相关的软硬件组件,进行系统集成和调试,以实现嵌入式系统的功能需求。

4. 嵌入式系统应用基于ARM的嵌入式系统在各个领域都有着广泛的应用。

在智能手机和平板电脑中,ARM处理器提供了强大的性能和低功耗的特性,为移动互联网应用提供了可靠的支持。

在工业控制和自动化领域,基于ARM 的嵌入式系统可以实现实时控制和高效能处理,满足各种复杂的应用需求。

在智能家居、医疗设备和汽车电子系统等领域,基于ARM的嵌入式系统也发挥着重要的作用。

5. 个人观点与总结作为一名嵌入式系统开发者,我对基于ARM架构的嵌入式系统开发与应用有着深刻的理解和实践经验。

ARM架构的强大性能和灵活性,使得其在嵌入式领域有着独特的优势。

在未来,随着物联网和智能化技术的不断发展,基于ARM的嵌入式系统将会迎来更广阔的发展空间,为各种智能设备和系统带来更多的创新应用和可能性。

ARM嵌入式系统技术开发与应用

ARM嵌入式系统技术开发与应用

四、嵌入式系统软件基础
2、嵌入式软件的分类
无操作系统 带操作系统
操作系统的优势:
1. 有了操作系统,程序员就可以将注意力集中到系统某个功能 本身。一些与底层硬件相关的操作都可以交由操作系统来完 成。
2. 借助操作系统,程序员只需要根据不同的系统内核,设定各 种任务的优先级和其他相关参数,就可以保证任务之间的顺 利调度。这使得程序员可以很方便的添加或者去除系统的部 分模块。
采用嵌入式微处理器的系统通常出现在对体积和功耗要求不高的工控 领域。目前常见的嵌入式微处理器有PowerPC、MIPS、ARM等。
ARM嵌入式系统技术开发与应用实践
三、嵌入式系统硬件基础 2、 ARM嵌入式系统外围设备
一个典型的嵌入式系统组成,除了ARM微处理器以外, 它还包括LCD,键盘接口,存储设备,通讯接口,AD/DA 等外设。
ARM嵌入式系统技术开发与应用实践
五、常见嵌入式系统介绍
4、VxWorks嵌入式操作系统
VxWorks操作系统是美国Wind River公司在1983年设计开发的一种实时 操作系统(RTOS)。它以其良好的可靠性和卓越的实时性被广泛地应 用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域 中,如卫星通讯、军事演习、弹道制导、飞机导航等。
3. 操作系统一般还提供完整的初始化程序和错误处理机制。
目前常见的嵌入式操作系统有:uC/OS、嵌入式Linux、 WinCE、VxWorks。
ARM嵌入式系统技术开发与应用实践
四、嵌入式系统软件基础
3、嵌入式软件的编程语言 和开发流程
嵌入式系统常用的高级语言有:
1. C/C++ 2. Ada 3. 等。
ARM嵌入式系统技术开发与应用实践

双口RAM在机载嵌入式系统中的应用

双口RAM在机载嵌入式系统中的应用

网络与信息工程2018.04双口 RAM 在机载嵌入式系统中的应用陈伊卿(航空工业计算所,陕西西安,710029)摘要:针对机载嵌入式实时系统中串行数据高速通信的需求,本文提出了一种使用双口 R A M 实现数据缓存的方案,并详细介 绍了双口 R A M 的工作原理及在本系统中的软件实现方法。

经测试验证表明,应用双口 R A M 在嵌入式系统中进行数据通信,实时 性强、准确率高、性能稳定。

关键词:双口 R A M ; CPU ; DSPApplication of Dual Port RAM in Airborne Embedded SydtemChen Yiqing(Xi/ an Aeronautics Computing Technique Research Institute, AV I C , X i ? an Shaanxi, 710029)Abstract: To t he r e q u i r e m e n t of h i g h s p e e d serial d a t a c o m m u n i c a t i o n in a i r b o r n e e m b e d d e d r e a l -t i m e system,this p a p e r p r e s e n t s a s c h e m e of u s i n g dual p o r t R A M to r e a l i z e d a t a cache, a n d i n t r o d u c e s in deta i l the w o r k i n g p r i n c i p l e of d u a l p o r t R A M a n d t he s o f t w a r e r e a l i z a t i o n method. T h e tes t r e s u l t s s h o w tha t the a p p l i c a t i o n of dual p o r t R A M in the e m b e d d e d s y s t e m fo r d a t a communication, real-time, h i g h a c c u r a c y a nd s t a b l e performance.Keywords: Dual P ort R A M ;C P U ;D S P〇引言在机载嵌入式实时系统中,串行数据的采集及交换是影响系 统开销的瓶颈之一。

嵌入式系统双口存储器应用研究

( . l g o E e t nc n omain n ie r g He a 1 Col e f lcr i If r t E gn ei , n nUnv ri f ce c a d e h oo y L o a g 7 0 3 Chn ; e o o n ies yo S in e n T c n lg , u y n 4 1 0 , ia t
Ap l ain r s a c fd a — o t a b s d o mb d e se p i t e e r ho u l r r m a e ne e d d s tm c o p y
F Qigh i Z ANG L i Y AN n —u , H e ANG F - n , umi
嵌入式系统双 口存储器应用研究
范庆辉 张 蕾 阳富 民 , ,
( 1 南科技 大学 电子信 息工程 学 院 ,河 南 洛 阳 4 10;2 河 703 .华 中科技 大学 计算机 学院 ,湖 北 武汉 4 07) 304
摘 要 : 含 多 C U 的嵌 入 式 系统 中, P 在 P C U之 间 的通讯和 数据 传输是 其重要 的组 成部 分。以数 字硬盘 录像机 ( R 为硬件 平 DV ) 台 , 简要 介 绍 D R系统 结构和硬 件设 计 的基 础上 , 过提 供双 口存储 器 的驱 动程序 对基 于双 口存储 器 的数 字信 号处理 器 在 V 通 ( P 与 C U之 间通讯 和数据 传输 进行 了研究 。通 过共 享双 口存 储 器的存储 单元 , DS ) P 有效地 实现 了DV R系统 中对 D P解码 过 S
程 的控 制 和 音 视 频 数 据 的 传 输 。
关 键 词 : 入 式 系 统 ; 数 字 视 频 录 像 机 ; 双 口 存 储 器 ; 驱 动 ; 数 字信 号 处 理 器 嵌

双端口RAM在单片机系统中的应用

摘要阐述了双端口RAM使用的一种方法,当其应用于双机容错系统时,可简化电路,提高系统的可靠性。

本方案经实践证明是有效且实用的。

关键词双端口RAM 双机容错切换系统硬件冗余1引言在对产品可靠性要求高的系统中,往往需要硬件冗余。

有些设备不仅要求其在各种恶劣的天气下工作,而且要求长期不间断工作。

为提高可靠性往往采用双CPU系统。

平时主单片机系统工作,并将所处理的数据存储在外存,一旦主CPU系统出现故障,副CPU可切换上来,并利用公共外存的数据继续工作,而不需要人工干预。

这时双端口RAM做为外存就是两个CPU之间信息传递的最好渠道。

本文以美国IDT公司生产的IDT7130为例,阐述双端口RAM在最常用的80C31双机系统中的应用。

2 系统的基本结构及硬件框图如图1所示,整个系统由2个8031最小系统、双端口RAM、故障探测及切换系统、程序监控系统、I/O转换电路、键盘显示电路及外部受控设备组成。

2个8031最小系统中,一个为主CPU(左边),右边为副CPU系统。

当两个CPU均为正常工作时,切换系统控制为主CPU系统工作,这时副CPU端的CE被屏蔽,同时键盘显示系统和I/O口由主CPU系统控制。

切换系统不断地检测两个CPU系统的工作状况。

当切换系统检测出主CPU系统发生故障时,屏蔽掉左边的CE,而打开CE,同时将键盘显示系统及I/O交由副CPU系统控制。

这时副CPU将接着主CPU系统刚刚中断的工作继续进行。

由于副CPU系统所使用的是双端口RAM中同一地址的数据继续工作,所以从外部看不出切换过程的发生。

为了保证设备长期不间断运行的可靠性,特使用了看门狗电路(MAX813L),这样首先从软件上保证程序运行的可靠性,最后又从双CPU切换来保证硬件上的可靠性。

由于键盘显示电路(8279)中用到了数据总线,所以使用了二片74HC245,并将RD、WR进行了二选一,245的方向也由PSEN及RD通过逻辑组合进行控制。

基于双口RAM的嵌入式可编程控制器的设计与实现

【172】第31卷第7期2009-07制造业自动化基于双口RAM的嵌入式可编程控制器的设计与实现The design and realization of embedded programming logical controller based on dual port RAM史晓娟SHI Xiao-juan(西安科技大学 机械工程学院,西安 710054)摘 要:本文针对传统可编程控制器控制方法的局限性,采用八位单片机、微机总线技术及双口RAM设计了嵌入式可编程控制器,并对该系统的硬件、软件做了总体上的介绍。

与传统PLC相比,该控制器具有结构紧凑、成本低、可靠性及实时性高等优点。

关键词:嵌入式 ; PLC(可编程控制器); 梯形图 ; 双口RAM; 单片机中图分类号:TP273 文献标识码:A 文章编号:1009-0134(2009)07-0172-030 引言可编程逻辑控制器(PLC)以其高可靠性和使用方便的特性,使其在现代工业控制中得到了广泛的应用。

随着工厂自动化的进展,对PLC之间以及PLC同其他控制设备之间相互联系的要求也相应提高。

由于PLC的通讯方式为串行通讯,受通讯方式的制约,传统的PLC(即外挂式PLC)难以胜任微机和PLC都必须参与实时控制和控制功能较为复杂的系统。

当输入/输出点数多时,PLC体积会随点数的增多而增大,安装不太方便。

此外,目前国内因没有自己的品牌,在应用PLC的场合仍多选用国外产品,品牌多,成本高,因此研制符合实际应用需求的国产化新型PLC系统及其通用开发平台具有重要意义和应用前景[1]。

为了提高速度,降低成本,可采用虚拟式PLC,即把PLC上的CPU和存储器等部件由微机的软件虚拟实现,再配合普通的开关量I/O卡实现对电气开关的控制。

但此方案因主机要直接参与控制逻辑的运算过程,占用了主机的部分工作时间,会导致整机速度下降。

另外,把过多的功能集中到主机使主机发生故障的风险加大[2]。

ARM嵌入式系统硬件设计及应用实例

ARM嵌入式系统硬件设计及应用实例ARM是一种广泛使用的嵌入式系统指令集架构,其在众多应用中都有着广泛的应用。

本文将以ARM嵌入式系统硬件设计及应用实例为主题,探讨其在不同领域中的具体应用。

一、ARM嵌入式系统硬件设计1.CPU设计:ARM架构的中央处理器是嵌入式系统的核心部件,其设计一般包括指令集设计、流水线设计和外设控制等。

基于ARM架构的CPU设计可以运行各种不同的操作系统和应用程序。

2.存储系统设计:嵌入式系统中的存储系统一般包括闪存、SDRAM等,用于存储程序代码、数据和系统参数等。

ARM嵌入式系统中的存储系统设计需要考虑性能、容量和功耗等因素。

3.总线系统设计:嵌入式系统中的总线系统用于连接各个模块,包括处理器、存储器、外设等。

ARM嵌入式系统中的总线系统设计需要考虑传输速度、连接方式和信号完整性等因素。

4.外设接口设计:ARM嵌入式系统通常需要与各种外设进行通信,包括显示器、触摸屏、传感器、通信模块等。

外设接口设计需要考虑接口标准、通信协议和电气特性等因素。

二、ARM嵌入式系统应用实例1.智能手机:智能手机是目前使用最广泛的ARM嵌入式系统应用之一、ARM架构提供了高性能、低功耗和丰富的接口,使得智能手机可以运行各种应用程序,如游戏、社交媒体和移动支付等。

2.智能家居:ARM嵌入式系统在智能家居应用中具有广泛的应用。

通过连接各种传感器和外设,ARM嵌入式系统可以实现智能家居设备的自动化控制,如智能灯光、智能门锁和智能温控等。

3.工业控制:工业控制系统是现代工业生产中的关键部件,ARM嵌入式系统在工业控制领域中具有重要应用。

ARM架构的高性能和丰富的接口,使得ARM嵌入式系统可以实现精确的数据采集、实时控制和通信功能。

4.医疗设备:ARM嵌入式系统在医疗设备中也有广泛应用。

例如,基于ARM架构的嵌入式系统可以用于电子血压计、血糖仪和心电图仪等医疗设备的数据采集、处理和显示。

5.汽车电子:现代汽车中的电子系统也广泛采用ARM嵌入式系统。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

接口 简 单, 使 用 方 便, 此 类 芯 片已 经 广 泛应 用 于 嵌入 式 领 域, 为 RAM。CY7C027 的两个端口各有一套控制线(nCE 片选, nOE 输
处理器间的通信提供了很好的解决方案。本文在 AT91RM9200 出使能, R/W 读写信号)控制两个端口独立地对片上资源进行访
用 户 空 间的 命 令 写入 DPRAM 右 端 邮箱 以 及 响应 DPRAM 产 生
的中断并唤醒读进程。驱动程序整体结构框图见图 2。具体的
file_operations 结 构 被 初 始 化 为 : struct file_operations
dpram_fops={
.owner = THIS_MODULE,
2 模块整体架构
在本 文 应 用 中 , ARM 作 为 主 控 制 器 , DPRAM 作 为 ARM 处
信号; 当右端读取邮箱时, 中断信号被清除。同理, 右端也可以 写左端邮箱 7FFE 使左端产生中断 信 号。利 用 这 种机 制 就 可以 方便地实现左右端口的信息交流。
理 器 与 前 端 数 据 源 之 间 的 通 信 桥 梁 。数 据 源 端 从 传 感 器 获 得 数 据 , 通 过 CPLD 产 生 读 写 时 序 写 入 DPRAM 中 的 两 个 区 , ARM
中图分类号: TP368.1
文献标识码: A
Abstr act: RISC processors based on ARM are wildly used in various digital systems. This article took AT91RM9200 as system plat-
高速不间断的数据传输, 传统的传输方式或者速度不够, 或者 控制器等丰富的外设, 比较适合本文的应用。
容易受外界干扰, 或者容易丢失数据。因此我们常采用双端口
本 应 用 选 用 的 CY7C027 是 CYPRESS 公 司 采 用 0.35- mi-
RAM(Dual- Port RAM 即 DPRAM)作为数据传输的桥梁。由于其 cronCMOS 工 艺 生 产 的 一 款 高 性 能 32K x 16bit 双 端 口 静 态
实 时 数 据 接 口 , 针 对 双 口 RAM 的 “乒 乓 ”传 输 方 式 在 Linux2.6 下 设 计 并 开 发 了 其 驱 动 程 序 , 最 终 实 现 了 数 据 源 与 处 理 器 间 不
间 断 、快 速 的 数 据 传 输 。
关键词:嵌入式系统; 双端口 RAM; Linux2.6; 驱动程序
针 ; SA_INTERRUPT 表 示 这 是 一 个 “快 速 ”中 断 处 理 例 程 , 它 运
行在中断禁用的状态下。这样做是因为并没有其他设备共享
IRQ0; ”dpram”表示中断的拥有者, 这可以 在/proc/interrupts 中 显
示; 最后的 NULL 表示没有强制使用共享方式。在装载驱动模块
u16 *remapbuf; //经过映射的虚拟地址
在 dpram_open 中使用 remapbuf
=ioremap
(DPRAM_BASE_ADDR, DPRAM_SIZE);进 行 物 理 地 址 到 虚 拟 地
址的映射。此后就可通过访问虚拟地址 remapbuf 来读写实际的
DPRAM 空间了。 3.3 中断处理及乒乓操作机制
.read = dpram_read
//用户读 DPRAM 接口,
.write = dpram_write,
//用户写 DPRAM 接口
.ioctl = dpram_ioctl,
//用 户 下 传 命 令 接 口
.open = dpram_open,
//打开 DPRAM 设备
.release = dpram_release,}; //关闭 DPRAM 设备
址到虚拟地址的映射, 这个工作在每次打开设备时执行。对于
所需要用到的地址资源和数据结构定义如下:
#define DPRAM_SIZE 0x10000//DPRAM 大小为 32k 乘 16 位
#define DPRAM_BASE_ADDR 0x50000000
u16 bankflag=0x0000; //DPRAM 分区标志
时进行的注册和申请, 必须在卸载模块时注销。即在 dpram_exit
函数中执行 unregister_chrdev 和 free_irq 来释放资源。
3.2.3 虚拟地址资源的分配
在 Linux 中, 无法直接访问某一物理地址空 间, 而 是 必 须访
问 经 过 映 射 的 虚 拟 地 址 。 在 dpram_open 例 程 中 实 现 了 物 理 地
处理器平台的基础上, 通过双口 RAM CY7C027 与数据源 进 行 问。最高的两个地址(7FFE 和 7FFF)作为左右两端的邮箱。当左
通信,并描述了在嵌入式 Linux2.6 中其驱动程序的开发过程。 端向 右 端邮 箱 7FFF 写 入 16bit“信 件 ”时 , 在 右 端 产 生 INT 中 断
(1.中国科学院声学研究所; 2 .中国科学院研究生院)张 震 1 ,2 李 淑 秋 1
ZHANG ZHEN LI S HUQIU
摘要:基 于 ARM 的 RISC 处 理 器 广 泛 应 用 于 各 种 数 字 系 统 中 .本 文 以 AT91RM9200 为 系 统 平 台 , 设 计 了 一 种 基 于 双 口 RAM 的
嵌入式 开 发 板 : 包 含 ARM7、ARM9、Xcal、CPU 为 核 心 的 教 学 开发板和企业评估板;
嵌入式工控板: 以工业级嵌入式微控制器为核心的数据采集 和 现 场 控 制 、远 程 通 讯 为 一 体 的 高 端 工 业 控 制 产 品 。
核心板: 提供模块化构建嵌入式系统、快速开发、轻松定制。 公司目前已形成以产品为主导, 以技术服务为支撑的产品研 发 、销 售 、服 务 体 系 。
ARM 开 发 与 应 用
文章编号:1008- 0570(2007)03- 2- 0134- 03
中 文 核 心 期 刊 《 微 计 算 机 信 息 》( 嵌 入 式 与 S OC )2007 年 第 23 卷 第 3-2 期
ARM嵌入式系统中双口 RAM 的驱动开发及应用
Ap p lica tio n a n d d rive r d e ve lo p m e n t o f d u a l- p o rt RAM in e m b e d d e d s ys te m
像常规文件一样看待, 它们可以使用和操作文件相同的, 标准
的系 统 调 用来 进 行 打开 、关 闭 和读 写 。用 户程 序 通 过相 应 的 系
统调用来访问硬件设备, 设备驱动程序的作用正是为这些系统
调用提供接口。对于本应用, 驱动程序实现的主要功能有: 读
DPRAM 数 据至 用 户 空间 、把 用 户空 间 的 数据 写 入 DPRAM、把

为了实现数据的实时传输, 保证数据读取的连续性, 防止因
术 DPRAM 两端设备速度不一致而产生冲突或丢失数据。系统采用
了“乒乓操作”的读取机制。将 DPRAM 的空间分为两个区: bank1
创 和 bank2。其中 bank1 的起始地址为 remapbuf, bank2 为 remap-
详情登陆: www.a rt- control.com 或来电垂询: 010- 64868148/49 64867985 64864110
- 134 - 360元 / 年 邮局订阅号: 82-946
《现场总线技术应用 200 例》
您的论文得到两院院士关注
ARM 开 发 与 应 用
CY7C027 提 供 一 个 驱 动 程 序 。 在 Linux 中 , 所 有 的 硬 件 设 备 都
式系统中。在很多嵌入式应用场合中, 需要处理器间进行实时
另 一 方 面 , ARM 从 以 太 网 获 得 远 端 处 理 机 下 达 的 命 令 , 解 析 后 通 过 DPRAM 转 达 给 前 端 的 CPLD, 使 数 据 源 采 集 端 执 行 相应的命令。系统连接方式如图 1:
ARM 处 理 器 选 用 AT91RM9200, 这 是 一 款 ARM920T 核 心 的处理器, 工作时钟 180MHz 时可达到 200MIPS。它拥有以太网
技 processor was implemented.
Key wor ds: Embedded system, dual- por t RAM, Linux 2.6, dr iver


1 引言
基 于 ARM 技 术 的 32 位 RISC 处 理 器 由 于 具 有 高 性 能 、高
新 集成 、低功 耗 、外 设丰 富 、指 令精 简 的 优点 广 泛 应用 于 各 种嵌 入
form, and designed a real - time data interface based on dual - port RAM (DPRAM), and also developed the driver for Linux 2.6 to
implement the “Ping- Pong” transmission of the DPRAM. Moreover, continues and fast data transmission between data source and
图 2 驱动程序整体结构框图(箭头表示控制流) 3.2 设备初始化 在使用设备之前, 要对设备进行初始化。包括配置 ARM 接 口 寄 存 器 、注 册 设 备 、申 请 中 断 和 分 配 虚 拟 地 址 资 源 。其 中 配 置 寄 存 器 和 注 册 申 请 工 作 在 模 块 加 载 的 时 候 在 init_dpram 中 实 现 , 而 分 配 资 源 的 工 作 在 每 次 打 开 设 备 的 时 候 在 dpram_open 中实现。 3.2.1 配置接口寄存器 AT91RM9200 具 有 一 个 EBI(外 部 总 线 接 口)可 以 方 便 地 连 接各种存储设备。DPRAM 属于静态存储器, 可以使用 EBI 接口 中的 SMC(静 态存 储 器 控制 器)来 控制 读 写 。 根 据 AT91RM9200 的 地 址 空 间 分 配 , DPRAM 由 片 选 信 号 CS4 使 能 , 起 始 地 址 为 0x50000000。 因 此 在 初 始 化 程 序 init_dpram 中 , 设 置 ARM 的 EBI_CSA(片 选 任 务寄 存 器)的 CS4 段 为 静 态 存 储 器 功 能 。 配 置 EBI_SMC2_CSR (片选寄存器 4), 设定适当的等待周期数(1 个周 期)和 总 线宽 度(16 位),便可 以 利 用 CS4 选 中 DPRAM, SMC 根 据 设置产生读写波形。 3.2.2 注册设备与申请中断 在 初 始 化 程 序 init_dpram 中 , 我 们 用 register_chrdev 将 DPRAM 注 册 为 一 个 字 符 型 设 备 。 为 了 实 现 命 令 传 递 , DPRAM 的左端口 INT 脚连接到了 AT91RM9200 的 IRQ0 脚, 因 此 我 们 还必须为设备申请相应的中断资源。使用如下函数: myirq =request_irq (AT91C_ID_IRQ0, dpram_interrupt, SA_INTERRUPT, "dpram", NULL); 其 中 AT91C_ID_IRQ0 是 AT91RM9200 中 IRQ0 所 对 应 的 中 断 号 ; dpram_interrupt 是 我 们 自 己 编 写 的 中 断 处 理 函 数 的 指
相关文档
最新文档