DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 104|回复: 0
打印 上一主题 下一主题

基于ARM处理器的 PC/1 04处理器模块的开发

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-16 18:43:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

                    ???? 摘要 PC/104是一种专门为嵌入式应用而定义的总线 。本文介绍的是一种基LPC2129 ARM处理器的PC/104模块 ,介绍了利用ARM处理器开发PC/104处理模块的基本结构、总线技术、串行通信接口以及驱动程序 ,为ARM处理器在PC/104领域的应用提供了一种新 的思路。
  PC/104是一种专门为嵌入式应用而定义的总线 ,lEEE会将它定义IEEE—P996 1,信号定义和PC/AT基本一致 ,但气和机械规范却完全不同,是一种优化的、小型 、堆栈式结构嵌入式系统 。基于PC/104结构的模块由于开发方便 、品种富、结构简单等优势在工业控制领域有着广泛的应用。
  ARM(Advanced RISC Machine)公司成立于 1990年月,是苹果电脑 ,Acorn电脑集团和 VLSI Technology的合资业 。ARM首创了CHlPLESS的模式 ,该公司只设计出高效ARM内核,通过将 ARM内核授权给半导体公司 ,由半导体公根据实际的应用情况加上各种外围的功能比如Flash、串RTC等构成一块完整的芯片。
  本文主要介绍基于ARM的 PC/104模块的结构 ,并给出总线模拟 、串行通讯接口以及驱动程序的相关内容。
  1 PC/104处理器模块的要求
  在工业控制和数据采集中 ,PC/104模块的总线 、串口功是必不可少的,而硬盘接口、并行口、键盘口等 lO 口却很少用 ,因此在选用另外的CPU代替x86作为PC/104模块的处器首先要求能够兼容原有的 PC/104总线 ,使得符合PC/规范的数字量输入/输出模块 、模拟量输入/输出模块以及针PC/104系统开发的各个系统能够正常使用 ;其次该处理器须具有 2个串行接 口,以适应大部分场合的串行通讯需要三 ,必须具有可以满足足够的程序空间和RAM空间为用户的序和数据使用;第四,必须具有 RTC(Real Time Clock),并能断 电时保持系统时间不变;第五 ,友好的开发环境 ,以适应现系统开发的需要 。
  2 基于 Inte1386SX的 PC/104模块的缺点
  首先 ,基于386SX 的 PC/104处理器模块的成本比较386SX/40的控制模块的价格在千元以上 ;第二,功耗较大瓦的功耗给电源供应、散热的设计带来一系列的问题,并且不合某些低功耗要求的环境中应用 ;第三 :程序烧写繁琐 ,基x86的PC/104的理器模块一般采用 DOC (Disk On Ch或者 DOM(Disk On Module)作为程序存储器,由于DOC用烧写工具比较昂贵 ,所以实际生产时多采用人工烧录方法括格式化、复制多个步骤 ,每烧一块芯片需要断电 、重新启动器数次 ,效率低下 、操作繁琐 ;第四,系统启动速度慢 ,从上电开始执行用户程序一般需要 2—5秒时间,WDT溢出时恢复时间较长,容易遗漏一些重要的事件。第五 ,开发环境不够友好,基于386SX 的 PC/104处理器模块的程序一般在 DOS环境下开发,开发工具一般为TURBO C或者BORLAND C,开发环境比较落后,编程 、调试非常的不方便。
  3 ARM处理器的特点
  首先速度快 ,ARM是一种基于 RISC架构的处理器 ,运行在44MHz的ARM的处理器的处理能力可大40MlPS,远大于基于CISC架构 386SX/40的13MIPS;其次 ,功耗非常低 ,例 LPC2129的内核耗电仅为 30mA (供 电电压为 1.8V,时钟 为 60MHz),功耗为 54mW,不到 386SX的十分之一 ;第三,集成度高、功能强大 ,很多世界著名的半导体厂家都购买 了 ARM的内 核,并根据市场的需要推出了集成丰富外围功能包括 SRAM、 RTC,CAN接口、串行口、以太网接口等等的芯片 ,在很多应用场合,一块ARM芯片可以满足所有的需要;第四,价格低廉,ARM芯片生产厂家很多,在工业控制和民用产品中的应用也非常广泛 ,芯片价格非常低廉 ,带128KFLASH的PHILIPS LPC2104的市场价格仅为50元人民币。
  4 CPU的选择
  经过80186、X51、ARM、DSP等多种CPU 比较后最终确定采用ARM作为 PC104处理器模块的替代处理器 ,为了兼容原 有的基于 PC/104设计的板卡。经过多家 ARM产品的比较,最 终确定采用 PHILIPS LPC2129作为本次开发的 PC/104处理 器模块 的 CPU。LPC2129是基于一个支持实时仿真和跟踪的 16/32位 ARM7TDMl—S CPU,并 内置 256K字节(KB)的高速 Flash存储器。128位宽度的存储器接 口和独特的加速结构使 32位代码能够在最大时钟速率(60MHz)下运行。LPC2129采 用很小的 TQFP一64封装 、具有极低的功耗 、2个串口、多个 32 位定时器 、4路10位ADC、2路CAN、PWM通道 、46个 GPlO 以及多达 9个外部中断使它特别适用于工业控制领域CPU模块的开 发 。
  5 系统结构
  基于ARM的PC/104系统主要由处理器 、总线接口 、 Flash、实时时钟 、复位电路 、通讯接口、调试接口、电源几个部分组成 ,如图 1所示。




  void outportb(unsigned int portAdd ress,unsigned char value)
  {
  addr=(portAddress<<1O): //将地址 向右移 1O位
  a=(value << 21): //利用两次移位,合成一个 8位数据
  b=(value<<23).
  a=(a& Ox01eO0000); //屏蔽无关位
  b=(b& O×78OOOOOO):
  data=(a I b):
  }
  6_2 串口通讯
  串口通讯是工业控制中的一个非常重要的通讯方式 ,原的x86 PC/104处理器模块包含两个带Modem接口的RS23接口,由于在实际应用中很少用到全功能的Modem接口,所在开发中省略RS232接口中的与 Modem通讯握手相关的号 ,包括RTS、DCD、CTS、RI、DTR、DSR六个通讯握手的信号只保留 RXD、T×D、GND三个信号 。在接口上仍旧采用双排针的插座 ,引脚排列也按照 DTE(Digital Terminal Equipmen的标准设置,以达到和原有的 386S×/40的PC/104处理器块的充分兼容。
  由于省略了 Modem通讯握手的相关信号 ,使得采用 1TTL/RS232的电平转换芯片 MAX3232实现两个串口的接口成为可能 ,并在实际的使用中得到了验证。
  6.3 驱动程序
  为了兼容已有的系统减少软件移植的工作量 ,因此在编写底层驱动程序时已充分考虑和 DOS开发环境的底层驱动程序兼容 ,伯比侣如仃在编垤写¨总”线驱动程序时编写了 unsigned char in portb(unsigned int portAddress)和void outportb(unsigned int portAddress.unsigned char value)两个函数: void outportb(unsigned int portAddress,unsigned char value)
  {
  }:
  unsigned char inportb(unsigned int portAddress)
  {ll_
  }




  这样原有在Dos下开发的程序源代码不需要修改 ,只需要在ARM 的开发平台上重新编译一下即可。
  7 结束语
  采用ARM处理器替代386SX的PC/104处理器模块后 , 首先成本大幅降低 ,该模块在某公司的环形线圈车辆检测器中投用后 ,产品的单位生产成本大幅降低 ,同时也最大限度的利用了以前的开发成果。第二 ,功耗大幅降低 ,CPU模块的功耗从原来8W 降低到现在的1W;第三,程序烧录方便 ,可以通过JTAG口或者串El直接下载程序 ,非常方便。第四,启动速度加快 ,系统启动时间小于0、5秒 ,远小于基于 386SX的 PC/104处理器的 2—4秒 ;第五,执行速度加快 ,全部任务执行完毕的时间从 2ms缩短为 0.5ms,速度提高了约4倍 ;第六 ,开发平台更加友好 ,基于 386SX的PC/104模块的开发在 D0S下进行,开发工具一般用 TURBO C或者 BORLAND C,ARM 开发则采用 WlND0WS 下的 ADS(ARM Developer Suite)进行开发 ,而且可以非常方便地在线跟踪和调试 。
  采用LPC2129CPU的PC/104处理器的车辆检测器在国 家“十五”科技攻关lTS专项杭州市智能交通系统示范工程的西湖隧道 、九曜山隧道中成功的投入使用 ,准确 、及时、可靠的采集了隧道的车速 、流量 、车道占有率等道路交通信息 ,取得了良好的社会效益 。
            
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-6-5 03:01 , 耗时 0.090418 秒, 19 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表