首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于ARM数控系统的PC/104总线设计

基于ARM数控系统的PC/104总线设计

当前已经进入嵌入式系统全面应用时代,基于ARM处理器和嵌入式Linux的嵌入式系统以其设计灵活、软硬件可裁剪、性能优越、成本低等特点和优势,倍受设计者和使用者青睐。  其在低功耗、低成本应用领域确立了其市场领导地位;同时随着x86架构的不断成熟和x86处理器的应用范围越来越广,人们逐步开始认识到其本身架构的限制,在工业控制领域嵌入式ARM处理器将有望取代传统的X86处理器。
  PCI04总线是一种近年来在国际上广泛流行的专门为嵌入式系统而定义的工业控制总线,被IEEE协会定义为IEEE-P996,该系列产品已广泛应用于通信设备、车辆导航、工程控制等各种领域。由于PC或PC/AT的主板和扩展卡的尺寸及功耗标准都太大,。ISA总线不能满足嵌入式系统的发展的需要。PC/104作为从。ISA总线转变而来的接口总线,主要是为了适应嵌入式系统发展的需要,但是这种早期的总线结构是建立在Intel的x86架构之上的,在ARM体系结构下,还没有一个统一的标准可以提供对PC/104总线的支持,因为ARM在体系架构、总线时序、电气性能等方面和x86都有很大的区别。本文将提出一种在ARM处理器上支持PC/104总线的解决方案。
  l 系统总体设计
  系统的工作原理:PC/104总线上的1/O和Memory各16 MB空间用nGCS2和nGCS3选通,分别映射到的S3C24lO存储空间Bank2和Bank3的ROM/SRAM上。由于S3C24:10和CPLD在电平模式、制造工艺上都和PC/104总线标准有差异,故选用器件74LVHl62245做3.3~5 V电平转换器Buffer的方式来调整电气特性,进行TTL电平和LVTTL电平的转换,并增强驱动能力。PC/104总线上的8个中断请求信号IRQ[3:11]经bairer直接连接到S3C:2410的EINT[O:7];将S3C2410地址线SAddr[1:23]通过Buffer直接连接到Pc/104总线的Addr[1:19]和LAddr[17:23],.Addr0由控制器给出,当总线为8位数据传输时有效。由于复杂可编程器件CPLD的集成度高,与专用集成电路相比,具有设计灵活、开发周期短、设计制造成本低、大大节省了硬件资源优点,可选用他来做PC/104总线的控制器,主要是完成S3C2410读写时序向PC/104总线读写时序的转换,对输入控制信号译码,提供PC/104总线和S3C2410处理器的控制信号,同时产生PC/104所需要的时钟信号。S3C2410数据总线D[O:15]经CPLD输出到Buffer(Buffer上的数据传输方向由控制信号Data dir控制),连接到PC/104的数据总线上。因此总线控制设计的关键是保证控制器CPLD的时序的正确。其原理框图如图1所示。

  2 PC/104总线控制器的实现
  2.1 PC/104总线简介
  PC/104模块具有独特的堆叠式总线扩展方式、体积小、功耗低、可靠性高等特点,由J1/P1,64针单列双排插针或插孔,和J2/P2,40针单列双排插针或插孔组成,总共104根总线信号,PCI04因此得名;标准模块的机械尺寸是3.6X3.8 in,即96X90 lnln。当总线工作在16位的数据模式下,儿/P1和J2/P2引脚的信号都应有效,在8位数据模式下,只有J1/P1引脚信号有效,J2/P2上的信号无效。104个引脚的组成:20根地址线;7根锁存地址线;16根数据线;11个中断请求;32根控制线;14跟地和电源线;2个key;1个8 MHz的BCLK和1个14 MHz的OSC;总线的工作电压为5 V。PC/104总线的I/O读写时序如图2所示。

  2.2 ARM$3C2410处理器简介
  S3C2410是韩国三星电子公司的一款基入ARM920T内核的16/32位RISC嵌入式处理器,主要面向手持设备及高性价比、低功耗的应用,最高工作频率为203 MI-Iz。ARM920T核由ARM920TDMI、存储管理单元(MMU)和高速缓存3部分组成。其中MMU可以管理虚拟内存,高速缓存由独立的16 kB地址和16 kB数据高速Cache组成,他支持嵌入式Linux,Windows ce等嵌入式操作系统。S3C2410将系统的存储空间分成8组(Bank),每组的大小为128 M,共1 G。Bank0~Bank5的开始地址固定,用于ROM/SREM。Bank7的开始地址是Bank6的结束地址,灵活可变,其主要用于ROM/SRAM/SDRAM。S3C2410采用nGCS[7:0]8个通用的片选信号来选则这些组。读写时序图如图3所示。

  2.3 PC/104总线控制器的设计
  本设计采用。Xilinx公司XC95144XL的CPLD,共144个引脚,其中可编程的引脚数117个,满足PC/104总线控制器上输入输出控制信号数目的要求;器件正常工作电压3.3 V,I/O端口的负载电流可达24 mA,延迟时间tpD=5 ns,工作频率f=178 MHz,可与S3C2410的AHB总线的时钟频率HCLK匹配。VHDL是电子设计的主流硬件描述语言,具有很强的电路描述和建模的能力,从而大大简化了硬件设计的任务,提高了设计的效率和可靠性,并在语言的易读性和层次化结构化设计方面,表现了强大的生命力和应用潜力。Max+PlusⅡ界面友好,使用便捷。因此选择用VHDL语言编写有限状态机来实现PC/104总线控制器,通过Max+P1usⅡ开发工具进行逻辑波形验证。
  2.3.1 控制器内部状态图
  在PC/104总线的设计中,设计的重点是总线控制器的实现,能否完成PC/104总线驱动,关键在于控制器能否正常运行。PC/104总线控制器的工作流程:控制器等待选通信号有效,如果nGCS有效则锁存地址并保持ARM总线状态,然后进行读写操作判断,最后把数据和相应得控制信号加在PC/104总线上,完成操作后释放ARM总线。其状态转换图如图4所示。

  2.3.2 I/o空间读写逻辑仿真波形
  本设计的有限状态机采用VHDL语言设计,主要完成PC/104总线控制器的状态图转换,从逻辑仿真波形上看:ARM读操作时,n0E信号有效(低电平),从总线上读人数据,同时使总线控制信号有效;写操作时,nWE信号有效(低电平),把数据直接写到总线上,同时也使总线控制信号有效,图5的仿真波形基本符合本设计的S3C24lO和PC/104总线读写时序要求。
继承事业,薪火相传
返回列表