当前位置:首页 > 嵌入式 > 嵌入式硬件

  1 引言

  ARCNET协议应用于高速动车组列车通信网络时,产生中央控制单元处理器PXA270与专用协议控制器件COM20020相连的时序不匹配问题,若用通用数字电路模块进行时序转换,PXA270需占用PXA270专门的资源(CPU时间片)对 COM20020的寄存器、数据包缓冲区进行低速读写访问(对COM20020的相邻两次读操作相隔至少300 ns),这样将增加处理器的负担。基于这种现状,提出一种基于FPGA的PXA270外设时序转换接口设计方案,以FPGA为桥梁进行时序转换,并增加存储器直接访问DMA(Direct Memory Aeeess)功能,即FPGA自动完成数据包的收发工作,PXA270则只需高速读写访问FPGA中的同步双口RAM。

  2 时序转换接口整体设计

  2.1 FPGA对外接白

  采用FPGA连接PXA270处理器与外设以解决PXA270处理器与外设直接连接时的时序不匹配问题。如图1所示,FPGA从PXA270处理器获得地址总线(ADDRBUS[17..14], ADDRBUS[9..0]),片选信号(SYSCS5),读允许(SYSOE),写允许(SYSWE),并提供双向数据端口DATABUS[7..0] (可根据实际应用修改为32位或16位等),中断(interrupt);同时,FPGA向COM20020提供特定的总线接口,包括 COM20020_DS,COM20020_CS,COM20020_DIR,COM20020_DATABUS [7..0],COM20020_ADDRBUS[2..0]等。

  2.2 内部功能实现

  PXA270和外设之间的连接是将FPGA中的双口RAM作为数据中转站,以此间接相连。该设计由以下4个功能模块组成。

  (1)PXA270对外设指定寄存器单次写操作PXA270先将所要写的数据送人双口RAM,然后PXA270向FPGA的命令寄存器写入对该外设指定寄存器的单次写指令,然后FP-GA根据接收到的命令将RAM中的数据输出到外设数据总线,同时给出对外设的写时序。

  (2)PXA270对外设指定寄存器单次读操作PXA270先向FPGA的命令寄存器写入对该外设指定寄存器的单次读指令,此时,FPGA给出对外设的读时序,并驱动RAM的地址总线、写时钟等信号,将外设数据总线上的数据传送到RAM中。再延时1μs,PXA270从RAM中读出数据。

  (3)PXA270对外设批数据写操作与单次写操作不同的是,PXA270需先将所要写入的数据存储到RAM的连续空间,然后向FPGA的命令寄存器写入批数据写操作指令,FP-GA根据接收到的命令将RAM中的数据分次送至外设数据总线,且需保证向COM20020的写时序与之同步。

  (4)PXA270对外设批数据读操作 由FPGA给出对外设的连续多次读时序将外设中的数据送人RAM,完成存储工作。PXA270等待批数据读完成中断发生后对RAM进行连续读。

  3 功能模块设计

  3.1 时序发生模块设计

  COM20020有80xx-like和68xx-like两种总线访问方式。这里中实现68xx-like访问方式,图2为其读写访问时序。

  读写时序的共同要求为:片选信号CS必须先于DS至少5 ns,并且只允许在DS无效之后CS才能恢复为高电平;读写方向信号DIR应在DS有效前至少10 ns建立;DS高电平宽度不小于20 ns。两者的不同要求:写时序的地址总线先于操作脉冲DS至少15 ns建立,DS低电平不小于20 ns,数据总线有效数据必须在DS变高之前至少30 ns建立,保持至DS变高后至少10 ns;而读时序的地址总线先于片选信号至少15 ns建立,DS低电平不小于60 ns,DS变低到数据总线数据有效的间隔最大为40 ns,DS变高到数据总线高阻抗的间隔最大为20 ns,这是COM20020作为数据输出方给访问设备提供的特性。针对以上读写时序的要求,具体设计如下:DIR在一次操作中只有高或低电平一种可能,通过命令寄存器在操作前事先给出,而后给出使能信号,DS在CS有效之后变低,而在CS无效之前变高,以便数据可靠锁存。

  图3为COM20020的时序原理图,从时序分析可得出如下设计方案:DIR用于指示操作是读还是写,DIR=‘1’为读,否则为写。在操作前先对DIR 赋值;在EN有效时选择CS,CLK的下一次上升沿变为有效。这样是给写操作对COM20020数据总线准备数据之用,不影响读操作;DS选择在CS有效的下一个CLK上升沿变为有效,但在CS无效前两个时钟周期给出上升沿,以满足“片选信号CS必须先于DS至少5 ns,并且只能在DS无效之后恢复为高电平”,并且DS中间应有至少60ns的时钟宽度,因而保持3个CLK周期有效。图4为CommandGenerator时序仿真图。采用计数器进行时序同步。以下给出VHDL源代码。

图5为批数据从WRRAM向外设传送的连续时钟产生和自动地址生成原理图。其中,lpm_counter0为带有异步清零和进位信号的增计数; AutoAccessDataNumsOnce在EN='1'时,产生一次批传送时钟,根据COM20020的长短数据包传送要求,在CCESSTYPE =‘1’时传送长数据包(512 B),否则传送短数据包(256 B)。FRE信号同时提供WRRAM的rdclock和lpm_counter0的clock信号。

图6为一次批数据向RAM中写,而后启动DMA传输,将数据从RAM送至COM20020的时序仿真。在WRCLOCK上升沿时,RAM将datain总线上的数据存储到WR_AD-DRESS所指向的字节地址空间,WRCLOCK信号是由PXA270的WE信号与分配给RAM的片选信号(高电平有效)相与而得。对RAM进行模拟写时必须确保AUTOWREN无效(低电平);在检验数据DMA传输的RAM输出环节,WRCLOCK应不再出现上升沿信号,以防RAM同时读写造成输出不定值。此外,每个数据从outputdata端口输出时,CS、DS在一定延时后(1个CLK时钟周期)给时序产生留足够时间。需说明:COM20020内部有2 K字节的RAM空间,用于存放待发送或已接收的数据包,在向RAM中写数据包前,指定该数据包的存放位置,然后将COM20020中的指针自动移动位置 1,则只需连续的向该RAM中写数据,而不必给出地址信号。
3.3 对外设指定寄存器操作
对外设指定寄存器操作比批数据传送实现简单,只需将操作次数降为1次,并对 COM20020的A2~A0提供相应的地址即可。指定寄存器操作将数据存储在RAM的高512字节空间,并且只占用其中低8个字节,在PXA270编程时,需确保PXA270送入RAM的地址与命令寄存器中的RAM存储地址COMMANDBYTE[2..0]相对应。

4 结论
本设计解决ARCNET协议专用器件应用于列车通信网络中的时序匹配问题,实现了PXA270处理器与COM20020的时序转换。此外,对扩展其他总线访问类型提供了参考框架,可通过修改CommandGenerator中COM20020时序,实现不同外设总线访问类型的扩展;修改 AutoAccessDataNun-sOnce中的ACCESSTYPE,可配置批数据操作的数据种类。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭