《2022年总线设计简介借鉴》由会员分享,可在线阅读,更多相关《2022年总线设计简介借鉴(35页珍藏版)》请在金锄头文库上搜索。
1、总线设计简介总线概念总线是一种内部结构,它是cpu、内存、输入、输出设备传递信息的公用通道,主机的各个部件通过总线相连接,外部设备通过相应的接口电路再与总线相连接,从而形成了计算机硬件系统在计算机系统中,各个部件之间传送信息的公共通路叫总线,微型计算机是以总线结构来连接各个功能部件的。总线的分类总线按功能和规范可分为三大类型:(1) 内总线 (Internal Bus, I-Bus) 又称系统总线或板级总线,是微机系统中各插件(模块 )之间的信息传输通路。例如CPU 模块和存储器模块或I/O 接口模块之间的传输通路。 (2) 片总线 (Chip Bus, C-Bus) 又称元件级总线,是把各种
2、不同的芯片连接在一起构成特定功能模块(如 CPU 模块 )的信息传输通路。(3) 外总线 (External Bus, E-Bus) 又称通信总线,是微机系统之间或微机系统与其他系统(仪器、仪表、控制装置等)之间信息传输的通路,如EIA RS-232C、 IEEE-488等。其中的系统总线,即通常意义上所说的总线,一般又含有三种不同功能的总线,即数据总线DB( Data Bus )、地址总线AB ( Addre ss Bus )和控制总线CB( CONTROL Bus)。有的系统中,数据总线和地址总线是复用的,即总线在某些时刻出现的信号表示数据而另一些时刻表示地址;而有的系统是分开的。51 系
3、列单片机的地址总线和数据总线是复用的,而一般PC 中的总线则是分开的。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 35 页 - - - - - - - - - “ 数据总线DB ”用于传送数据信息。数据总线是双向三态形式的总线,即他既可以把CPU 的数据传送到存储器或 IO 接口等其它部件,也可以将其它部件的数据传送到CPU 。数据总线的位数是微型计算机的一个重要指标,通常与微处理的字长相一致。例如INTEL 8086微处理器字长16 位,其数据总线宽度也是16 位。
4、需要指出的是,数据的含义是广义的,它可以是真正的数据,也可以是指令代码或状态信息,有时甚至是一个控制信息,因此,在实际工作中,数据总线上传送的并不一定仅仅是真正意义上的数据。“ 地址总线AB ”是专门用来传送地址的,由于地址只能从CPU 传向外部存储器或IO 端口,所以地址总线总是单向三态的,这与数据总线不同。地址总线的位数决定了CPU 可直接寻址的内存空间大小,比如8 位微机的地址总线为16 位,则其最大可寻址空间为216 64KB ,16 位微型机(个人觉得很有必要解释下x 位处理器的意思:一个时钟周期内微处理器能处理的位数(1 、0)多少,即字长大小)的地址总线为20 位,其可寻址空间为
5、 220 1MB 。一般来说,若地址总线为n 位,则可寻址空间为2n 字节。“ 控制总线CB ”用来传送控制信号和时序信号。控制信号中,有的是微处理器送往存储器和IO 接口电路的,如读写信号,片选信号、中断响应信号等;也有是其它部件反馈给CPU 的,比如:中断申请信号、复位信号、总线请求信号、设备就绪信号等。因此,控制总线的传送方向由具体控制信号而定,一般是双向的,控制总线的位数要根据系统的实际控制需要而定。实际上控制总线的具体情况主要取决于CPU。按照传输数据的方式划分,可以分为串行总线和并行总线。串行总线中,二进制数据逐位通过一根数据线发送到目的器件;并行总线的数据线通常超过2 根。常见的
6、串行总线有SPI 、I2C 、USB 及 RS232 等。按照时钟信号是否独立,可以分为同步总线和异步总线。同步总线的时钟信号独立于数据,而异步总线的时钟信号是从数据中提取出来的。SPI、I2C 是同步串行总线,RS232 采用异步串行总线。总线工作原理当总线空闲(其他器件都以高阻态形式连接在总线上)且一个器件要与目的器件通信时,发起通信的器件驱动总线,发出地址和数据。其他以高阻态形式连接在总线上的器件如果收到(或能够收到)与自己相符的地址信息后,即接收总线上的数据。发送器件完成通信,将总线让出(输出变为高阻态)。总线标准名师资料总结 - - -精品资料欢迎下载 - - - - - - - -
7、 - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 35 页 - - - - - - - - - 总线是一类信号线的集合是模块间传输信息的公共通道,通过它,计算机各部件间可进行各种数据和命令的传送。为使不同供应商的产品间能够互换,给用户更多的选择,总线的技术规范要标准化。总线的标准制定要经周密考虑,要有严格的规定。总线标准(技术规范)包括以下几部分:机械结构规范:模块尺寸、总线插头、总线接插件以及安装尺寸均有统一规定。功能规范:总线每条信号线(引脚的名称)、功能以及工作过程要有统一规定。电气规范:总线每条信号线的有效电平、动态转换时间、负载能力等
8、。嵌入式的CAN 总线设计1 嵌入式系统的CAN 接口电路基于 ARM7 架构嵌入式系统的CAN 接口硬件模块包括SAMSUNG公司的嵌入式微处理器S3C44BOX和PHILIPS公司的 CAN 控制器芯片SJAl000和 CAN 总线收发器PCA82C250。1 1 SAMSUNG S3C44BOX的结构及特点8KB Cache、 SAMSUNG S3C44BOX微处理器是三星公司专为手持设备和一般应用提供的高性价比和高性能的微控制器解决方案,它使用ARM7TDMI CPU核,工作在66MHZ 。为了降低系统总成本和减少外围器件,这款芯片中还集成了下列部件:外部存储器控制器、LCD 控制器、
9、 4 个 DMA 通道、 2 通道异步UART 单元、 1 个同步串行口 (SIO) 、1 个多主 12C 总线控制器、1 个 I Is 总线控制器,5 通道 PWM 定时器及一个内部定时器、71个通用 I O 口、 8 个外部中断源、实时时钟、8 通道 10 位 ADC 等。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 35 页 - - - - - - - - - 1 2 CAN 总线控制器CAN 总线控制器选用PHILIPS 公司的 SJAl000 。 SJAl00
10、0是一款独立的控制器,用于汽车和一般工业环境中的控制器局域网络(CAN) 。它是 PHILIPS半导体 PCA82C200 CAN控制器 (BasicCAN) 的替代产品。而且,它增加了一种新的工作模式(PeliCAN) ,这种模式支持具有很多新特性的CAN2 0B 协议。 SJA1000是新一代CAN控制器,有如下特点:和PCA82C200独立 CAN 控制器引脚兼容及电气兼容;SJA1000有两种工作模式:基本 CAN 模式 (BASIC CAN)和增强CAN 模式 (PELI CAN),支持 CAN2.0A B 协议;同时支持11 位和 29 位ID,位速率可达1M ,具有总线仲裁功能;
11、扩展的接收缓冲器(64 字节、先进先出FIFO) ,增强的环境温度范围(-40-+125 );检错和纠错能力加强;支持带电插拔。SJA1000方框图如图1 所示。其中接口管理逻辑IML 负责连接外部主控制器,该控制器可以是微型控制器或其它任何控制器。接口管理逻辑IML 接收来自微控制器的命令,分配控制信息缓存器发送缓存器TBF 、接收缓存器 RBF0 和 RBF1 ,并为微控制器提供中断和状态信息。发送缓存器TBF 由 10 个字节存贮单元组成,存贮由微控制器写,将被发送至CAN 总线网络的报文。接收缓存器0 和 1(RBF0 、 RBF1) 均由 10 个字节组成,交替存贮从总线接收的报文,
12、当一个缓存器分配给CPU ,位流处理器可以对另一个进行写操作。位流处理器是一个控制发送缓存器和接收缓存器(并行数据 )与 CAN 总线 (串行数据 )之间数据流的序列发生器。位定时逻辑将SJA1000 同步于 CAN 总线上的位流。验收滤波器支持11 位和 29 位标识符的滤波,所有收到的报文由验收滤波器验收并存储在接收 FIFO 。错误管理逻辑按照CAN 协议完成错误界定。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 35 页 - - - - - - - - - 1
13、3 CAN 总线收发器CAN 总线收发器选用PHILIPS 公司 PCA82C250产品。 CAN 总线收发器是CAN 协议控制器和物理总线之间的接口,该器件对总线提供差动发送能力并对CAN 控制器提供差动接收能力,有很强的抗电磁干扰(EMI) 的能力,至少可挂110 个节点。1 4 嵌入式系统的CAN 接口电路图 2 是嵌入式微处理器S3C44BOX的 CAN 接口电路图。如图所示,ARM 和 SJA1000以总线方式连接,由于 ARM 信号为 3.3 伏,而 CAN 总线控制器电平为5 伏,所以所有信号之间均需要电平转换,本例中使用了QS34X245作为电平转换芯片。QS34X245为 8
14、0 引脚的双例直插芯片,它既有电平转换功能(5V 变到 3.3V) ,又是一个总线开关和隔离器件。QS34X245内提供一组32 位高速 CMOS 兼容的总线开关,当输出使能端OEn(n为 1 4)为低电平时,开关通,连能总线A 和总线 B;当输出使能端OEn 为高电平时,则开关断开,总线A 和总线 B 隔离。 OE1 控制总线A 和总线 B 的低 8 位(即 A7A0 和 B7 B0) ,OE2 控制 A15 A8 和 B15 B8, OE3控制 A23 A16 和 B23 B16 ,OE4 控制 A31 A24 和 B31 B24 。由于 ARM 总线非复用,而SJA1000总线复名师资料
15、总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 35 页 - - - - - - - - - 用,所以必须通过逻辑产生地址锁存信号ALE ,在本例中该信号由芯片GAL22V10产生。 SJA1000 的片选、读写信号均采用ARM 总线信号, ALE 信号由读写信号和地址信号通过GAL 产生。在写SJA1000寄存器时,首先往总线的一个地址写数据,作为地址,读写信号无效,ALE 变化产生锁存信号;然后写另外一个地址,读写信号有效,作为数据。上述逻辑完全通过GAL 产生。此外,CAN
16、 总线需要在两线问加一个120 欧电阻。2 系统软件的设计CAN 控制器对于主控制器(CPU) 来讲是一个存储器映象的IO 设备, SJA1000的功能配置和行为由主控制器的程序执行,主控制器和SJA1000之间的数据交换经过一组寄存器(控制段 )和一个 RAM( 报文缓存器)完成。RAM 部分的寄存器和地址窗口组成了发送缓存器和接收缓存器,其中控制段由CPU 在初始化时设置,需要发送的数据由CPU 填入发送缓存器中。接收缓存器有两个,对于CPU 而言两者地址是相同的,当CPU 读取一个缓存器时,另一个可同时在接收数据,两者替工作。SJA1000初始化程序图3 所示。名师资料总结 - - -精
17、品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 35 页 - - - - - - - - - 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 35 页 - - - - - - - - - SJA1000控制段寄存器包括控制寄存器CR、命令寄存器CMR 、状态寄存器SR 、中断寄存器IR、接收代码寄存器 ACR 、接收屏蔽寄存器AMR 、总线定时寄存器BTR0 及 BTRl 、
18、输出控制寄存器OCR 、测试寄存器TR。控制寄存器用来控制中断、复位和同步方式。命令寄存器用来控制发送、终止发送、缓冲区释放、清除过载状态、睡眠、唤醒和接收方式。状态寄存器用于指示CAN 控制器的当前工作状态,包括接收缓冲区状态、数据是否超载、发送缓冲区状态、发送是否结束、接收是否正在进行、发送是否正在进行、错误状态和总线是否关闭。中断寄存器用来指示各中断源状态,包括接收中断、发送中断、出错中断、超载中断和唤醒中断。接收代码寄存器存放用于接收帧识别的代码。接收屏蔽寄存器说明对应于接收代码的哪些位参与接收帧识别。总线定时寄存器用来设定总线通信速率。输出控制寄存器用来控制输出驱动器的输出方式。测试
19、寄存器仅用于芯片内部测试。控制 CAN 总线时首先初始化各寄存器,以设定通信参数(如:模式、位速率、验收码、屏蔽码、字段长、总线定时、输出模式等),BASIC CAN方式控制段共10 个字节。发送数据时首先置位命令寄存器,然后将被发送的报文写入发送缓冲区,最后置位请求发送,由SJAl000完成发送。接收通过查询状态寄存器,读取接收缓冲区获得信息,然后释放接收缓冲器。基于总线技术的NO.7 信令采集卡研制本 NO.7 信令采集卡是基于PCI 总线技术设计的,主要完成的功能为物理层的数据采集和HDLC 链路控制。本卡根据协议的选择主要完成NO.7 信令的采集,并把数据送到NGN 网络测试仪的上层软
20、件进行分析。 NO.7 信令采集卡的总体设计方案及硬件实现 NO.7信令采集卡是NGN 网络测试仪中非常重要的一张数据采集卡。在NGN 网络测试仪中主要完成的功能为物理层的数据采集和HDLC 链路控制。为了满足测试时数据流量大,方便用户使用的要求,本卡的设计采用了自带标准PCI 协议规范的HDLC 控制器( MindSpeed CN8478)、专用的E1 成帧器 (IDT82P2284)芯片及Windows 2000作为此卡的基本软硬件构架。此卡的软件驱动基于PCI 框架,能够实现NO.7 信令的快速、稳定采集。图1 为此卡的总体设计方案框图。名师资料总结 - - -精品资料欢迎下载 - -
21、- - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 35 页 - - - - - - - - - 图 1 NO.7 信令采集卡总体设计框图按照 NGN 网络测试仪的总体设计方案,NO.7 信令采集卡在测试仪中是以PCI 插槽板卡存在的。NO.7 信令通过带有高阻适配器的E1 数据采集线从网络上被提取后就送到成帧器芯片IDT82P2284中,数据经过IDT82P2284处理后来到了CN8478 的串口,在CN8478 中形成的HDLC 帧被送到上层软件进行协议分析处理。本卡可以实现16 路监测、 4 路仿真。 NO.7信令采集
22、卡在硬件上主要由以下单元组成:HDLC 逻辑层 MUSYCC ( CN8478 )、物理层E1 成帧器(IDT82P2284)、 CPLD 逻辑控制器、RJ45 网络接口、高阻适配器等。本采集卡的硬件设计框图如图2 所示。图 2 NO.7 信令采集卡硬件框图芯片资源介绍 1 CN8478简介 CN8478是一个 PCI 多功能设备,它包括了以下几个部分:一个主接口Host Interface、8 个串口 Serial Interface 、1 个扩展总线口Expansion Bus Interface(EBUS )、一个边界扫描口Boundary Scan and Test Access 。其
23、中,主接口又由四个部分组成:设备配置寄存器、PCI 功能 0 的配置空间、PCI 功能 1 的配置空间、PCI 接口。串口也有四个组成部分:中断控制器、DMAC 、位级处理器BLP 、接收和发送端口。主接口主要提供CN8478与 PC 之间的接口,完成设备寄存器配置和PCI 功能区配置区间的读写,串口主要完成主接口和IDT82P2284的数据传递,同时根据需要产生中断,并报知PC;EBUS 接口通过内置的MPU (微处理器单元)主要完成外围设备的扩展,这里用来对IDT82P2284的寄存器读写以实现对其进行控制;边界扫描在此系统中不用。图 3 为 CN8478的 PCI 接口设计原理图。名师资
24、料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 35 页 - - - - - - - - - 图 3 CN8478的 PCI 接口设计原理图 2 T1/E1收发成帧器IDT82P2284简介 IDT82P2284是一个支持四个链路的T1/E1 收发成帧器,收发接口数据的传输速率支持T1 的 1.544Mbps或者 E1 的 2.048Mbps 。物理线性接口电路恢复来自电缆的“+3 -43dB” 的模拟时钟和数据。IDT82P2284由以下几个部分组成:微处理器接口(MPU )
25、、接收 /发送线性接口单元(RLIU/TLIU )、边界扫描(JTAG )。采集模式简介本设计所研制的N0.7 信令采集卡可以实现两种模式的采集,即N64K 和高速 2M 。在 N64K 采集模式下,可对PHY 层的 IDT82P2284进行控制使其工作在复用模式,让成帧器芯片上的四条E1 链路合成一路后送到CN8478的一个串口,这时IDT82P2284和串口时钟为 8.192MHz,由板卡上的专用时钟芯片提供。在N 64K 的采集模式下可实现16 路的 NO.7 信令采集。在高速 2M 采集模式下,同样可对IDT82P2284进行控制,这时使其工作在非复用模式,让成帧器的每条E1链路分别独
26、立的把数据发送到CN8478的一个串口,这时IDT82P2284和串口之间的接口时钟为2.048MHz ,这个时钟是成帧器在网络的线上提取的。在高速2M 采集模式下,可同时实现8 路和 16 路的 NO.7 信令采集。 NO.7 信令采集卡的驱动程序设计 1 驱动程序功能设计名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 35 页 - - - - - - - - - N0.7信令采集卡驱动程序的设计可分两部分,分别对应CN8478 的配置和IDT82P2284的配置。在
27、对 CN8478 的配置中,驱动程序主要任务是完成映射在主机中共享体的配置。共享体是驱动程序向操作系统申请的一段存储空间,该空间在物理上处于主机的内存中。从整体上看,共享体可划分为两部分,第一部分用于 CN8478的寄存器映射,第二部分用于中断队列、发送消息链表、接收消息链表、发送数据缓冲区、接收数据缓冲区的分配。对成帧器 IDT82P2284的配置中,主要通过微处理接口对其寄存器进行控制,来实现将线上采集到的位流形成需要的帧结构消息以送往LINK 层设备。 2 驱动程序的实现本 NO.7 信令采集卡需要实现两个驱动程序,分别对应CN8478的 LINK 驱动, IDT82P2284的 PHY
28、 驱动。由于 PHY 驱动较简单,所以本文主要介绍LINK 驱动。 LINK驱动程序的编写本设计使用了DriverWorks开发工具,它与直接用DDK 编写的驱动程序有些区别。这里主要继承了DriverWorks提供的两个类(即Kdriver 类和 KPnpDevice类)来实现本驱动程序。 Kdriver类:这个类提供设备程序的基本框架结构,并负责将IRP 分发到目标设备对象中去。在本驱动程序设计中,继承了一个Kdriver 类的派生类。在这个派生类中重载了DriverEntry例程,在这个例程中主要做一些初始化工作。另外在这个类中还包含了一个AddDevice例程,被PnP 管理器调用来初
29、始化由该驱动程序所控制的设备。 KPnpDevice类:这个类代表设备驱动程序,提供驱动程序与应用程序的接口功能,承担IRP 分发任务,提供与底层设备的接口功能,同时,提供与其他系统对象的接口功能。包含了绝大部分驱动程序例程。 3 驱动程序的调试调试本驱动程序,本设计使用了一个KDebugOnlyTrace类对象在DriverMonitor中输出调试跟踪信息,同时也经常借助于SoftICE来查看内存值以确认共享体的配置信息。图4 为使用 DriverMonitor输出的调试信息。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名
30、师精心整理 - - - - - - - 第 11 页,共 35 页 - - - - - - - - - 图 4 驱动程序调试显示结束语对于此采集卡已经研制成功并实现了商用,它是NGN 网络测试仪中针对核心网测试最重要的数据采集卡之一。经过现场测试表明本采集卡能够对NGN 网络中的大流量NO.7 信令进行正确、稳定采集,从而使NGN 网络测试仪实现了对NGN 网络协议的测试与分析。同时也验证了本文所研制的NO.7 信令采集卡的可行性。基于 CAN 总线数控远程系统输入输出模块的设计与实现1 引 言 CAN的通信具有突出的可靠性、实时性和灵活性。它的应用不再局限于汽车行业,其中CAN 在机床数控系
31、统方面实现的功能主要包括:程序管理;机床系统参数输入输出诊断、参数的通讯;机床状态采集;机床工作模式采集;数据库管理等。目前,国产数控系统的主要份额是经济型机床数控系统。经济型数控系统与机床基本输入输出接口的数量都是有限的,经常不能满足实际操作中的需求,同时在实际车间中,机床与数控系统可能距离较远,输入输出信号在远程传输过程中非常容易受到干扰而出错,而CAN 总线在传输较远距离的信号时传输时间短,受干扰概率低,还具有较高的传输速度,基于这些原因本文提出了基于CAN 总线的数控系统远程输入输出模块的设计思想。2 模块结构设计名师资料总结 - - -精品资料欢迎下载 - - - - - - - -
32、 - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 35 页 - - - - - - - - - 该模块的组成结构设计如下:CANIN , CANOUT 是 CAN 总线的输入输出接口。DI,DO 是模块与机床的接口, DI :机床信息输入接口;DO :来自数控系统的信息输出给机床的接口。且D1 , DO 接口接收的信息都是开关量信息。 3 模块硬件设计本输入输出模块中的微处理器选用宏晶公司的单片机STC89C516RD+。在 CAN 总线通信接口中,CAN 通信控制器选用SJA1000 ,CAN 总线驱动器采用PCA82C250。由图 2 C
33、AN 远程输入输出模块硬件原理图可以看出,电路主要由6 部分组成:微控制器STC89C516RD+、独立 CAN 控制器、电气隔离器件6N137 、CAN 总线驱动器PCA82C250、输出模块和输入模块。微处理器STC89C516RD+负责向输出模块传出要输出的数据,对输入模块的输入点进行扫描输入,以及初始化SJA1000 ,并通过控制SJA1000 实现数据的接收和发送等通信任务。 SJA1000的 AD0 AD7 连接到 STC89C516RD+的 P0 口,片选信号CS* 由 P2.7 控制,其为0 时 CPU 片外存储器地址可选中SJA1000 ,进而可对SJA1000执行相应的读写
34、操作。SJA1000的 RD*WR*ALE分别与STC89C516RD+的对应引脚相连,INT* 接 STC89C516RD+的 INT0* ,使单片机可通过中断方式对SJA1000进行实时访问。P1 口 3 个端口外接一拨码开关,用来确定自身模块的标识号即该模块的ID 号,拨码开关的取值为 000 111,所以该ID 号的取值为0 7。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 35 页 - - - - - - - - - 为了增强 CAN 总线节点的抗干扰能力,
35、SJA1000的 TX0 和 RX0 并不是直接与PCA82C250的 TXD 和 RXD相连,而是在中间加入了一级高速光耦6N137 ,这样就很好地实现了总线上各CAN 节点间的电气隔离,但前提是光耦部分电路所采用的两个电源VCC 和 VDD 必须完全隔离,否则就只是利用其响应速度做低通滤波器用。电源的完全隔离可采用小功率的DC-DC ,或带多5 V 隔离输出的开关电源模块实现。这虽然增加了接口电路的复杂性及成本,但却提高了节点的稳定性和安全性。输出模块中各输出点通过锁存器74ALS273与 STC89C516RD+的 P0 口相接,并由P2 译出的地址以及写信号 WR* 进行锁存控制。而输
36、入模块中各输入点通过总线缓冲器74ABT245与 P0 口相连, 74ABT245由 P2 译出的地址以及读信号RD* 进行选通控制。这样STC89C516RD+就可以方便地对外部IO 进行访问而无须其他额外的软硬件开支,大大提高了STC89C516RD+的执行效率。 4 模块软件设计 CAN总线数控系统远程输入输出模块的软件设计主要包括6 大部分: STC89C516RD+初始化、 CAN 控制器初始化、报文发送、报文接收、对输出点的输出访问和输入点的扫描输入。本设计应用的CAN 的 pelic 模式的标准帧格式。程序流程如图3 所示。 SJA1000初始化只有在复位模式下才能进行,初始化主
37、要包括通过调节拨码开关设置本模块的标识符,工作方式的设置、接收滤波方式的设置、接收屏蔽寄存器(AMR) 和接收代码寄存器(ACR) 的设置、波特率设置和中断允许寄存器(IER) 的设置等。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 35 页 - - - - - - - - - 机床信息传到数控系统:当扫描到机床的输入信号有电平变化时,模块把自身的ID 信息和输入信号一起打包成标准帧发送给数控系统。数控系统指令传到机床:模块实时监控总线,当总线上有来自数控系统的信息,
38、启动CAN 接收,根据AMR 和 ACR 来判断是否该接收该指令帧,如果不应该接收,将信息丢弃,如果应该接收,将指令输出给机床。 5 模块应用在实际应用中,多块输入输出模块相连接组成CAN 的网络,多块输入输出模块的上位机都是机床数控系统,各模块的输入输出接口均与机床相连如图4 所示。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 35 页 - - - - - - - - - 注意在该网络中,在总线的两端应各接有一个终端电阻,终端电阻的作用是吸收信号线上电脉冲的多余能量
39、,防止反射形成信号混淆,而信号混淆将导致通讯错误。由于各模块的ID 号的取值为07,所以本设计数控系统外部可扩展8 个输入输出模块,其中各个模块ID 号设置不能相同,且站号越小,优先级越高。在本设计中每个模块的输入点为64 个,输出点为64 个,则一共可以扩展到 512(64*8) 个输入输出点。6 结 语基于 CAN 总线的数控系统远程输入输出模块不仅扩展了经济型数控系统的输入输出节点,而且提高了远程输入输出信号传输的正确率。本系统通过了现场进行的实验测试,总线单接一个模块;接两个模块;串接8 个模块,分别测试各个模块的工作情况,机床和数控系统之间的信息都能正确传送,通信速率完全能满足系统实
40、时性能的要求,运行可靠。系统具有结构简单,集成度、智能化程度高,结构与功能可扩展性好,安全可靠,极大地增加了数控系统和机床通信的输入输出节点。随着未来工厂自动化的发展,CAN 总线将具有广阔的应用前景。DDR 息线的布线分析与设计引 言随着嵌入式系统的处理能力越来越强大,实现的功能越来越多,系统的工作频率越来越高,DDR 的工作频率也逐渐从最低的133 MHz提高到 200 MHz ,从而实现了更大的系统带宽和更好的性能。然而,更高的工作频率同时也对系统的稳定性提出了更高的要求,这需要硬件设计者对电路的布局走线有更多的约束和考虑。而影响整个系统能否工作正常且稳定的最重要的部分就是DDR 部分的
41、电路设计。嵌入式系统使用DDR 内存,可以在传统的单数据数率内存芯片上实现更好的性能。DDR 允许在不增加时钟频率和数据位宽的条件下,一个时钟周期内能够处理两个操作。增加的数据总线性能是由于源同步数据选通允许数据同时在选通脉冲的上升沿和下降沿被获取。DDR 虽然能够给嵌入式设计带来更好的性能,但是设计者必须比以往的 SDR 设计更小心地处理DDR 部分的 PCB 布线部分,否则不仅不能实现好的性能,整个嵌入式系统的稳定性也会受到影响。DDR 比传统的SDR 有更短的信号建立保持时间、更干净的参考电压、更紧密的走线匹配和新的 IO 信号,并且需要合适的终端电阻匹配。这些都是要面对的新的挑战。 1
42、 DDR 总线结构名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 35 页 - - - - - - - - - 对于 DDR 内存, JEDEC 建立和采用了一个低压高速信号标准。这个标准称为“ 短截线串联终结逻辑(STubSeries Terminated Logic,SST L) ” 。SSTL 能够改进数据通过总线传输的信号完整性,这种终端设计的目的是防止在高速传输下由于信号反射导致的数据错误。在一个典型的内存拓扑结构中,如果使用了串联匹配电阻(Rs) ,那么它应
43、该放在远离DDR 控制器的位置。这种方法能够节约控制器附近宝贵的电路板空间,避免布线拥塞和繁琐的引脚扇出;而且也优化了从控制器到内存芯片的信号完整性,在这些位置往往有很多地址和命令信号需要可靠地被多个内存接收。最普通的 SSTL 终端模型是一种较好的单终端和并联终端方案,如图1 所示。这种方案包含使用一个串联终端电阻 (Rg) 从控制器到内存,以及一个并联终端电阻(RT) 上拉到终端电压(VTT) 。这种方法常见于商用电脑的主板上,但目前的嵌入式主板上为了获得更好的信号完整性和系统稳定性,也常常使用。Rs 和 RT 的值是依赖于具体的系统的,应该由板级仿真确定具体的值。 2 嵌入式DDR 布线
44、分析 2 1 DDR 的信号完整性问题高速总线信号的传输往往需要考虑信号完整性问题。DDR 的信号线不是普通的信号线而是传输线,因而传输线上的过孔,或者连接器等不连续阻抗因素都会影响接收端的信号完整性。主要有过冲和下冲、振铃及串扰等影响,交流噪声以及直流电压的一些不准确因素也同样影响信号传输的性能。 DDR为了实现更高的信号频率,SSTL 高增益差分接收器的接收电平往往是偏置在参考电平(VREF) 附近,使用这样的接收器允许更小的电压摆幅、更少的信号反射、更低的电磁干扰和更短的建立时间,比LVTTL 能适应更高的时钟频率。图2 所示的是SSTL 接口电平。交流逻辑电平是在接收器端的接收电平,在
45、接收器处交流逻辑名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 35 页 - - - - - - - - - 参数 (包括建立和保持时间)都必须最佳,而直流逻辑电平则提供一个滞后的接收电平点。当输入电平穿过DC 直流参考点时,接收器转变到新的逻辑电平并且保持这个新的状态,只要信号不低于门限电平。因此,SSTL 总线不易于受过冲、下冲和振铃的影响。 2 2 基于布线考虑的DDR 信号分组 DDR控制器包括超过130 个信号,并且提供直接的信号接口连接内存子系统。这些信号根
46、据信号的种类可以分为不同的信号组,如表1 所列。其中,数据组的分组应该以每个字节通道来划分,DMO、 DQSO 以及 DQO DQ7 为第 1 字节通道, DMl、 DQSl 以及 DQ8 DQl5 为第 2 字节通道,以此类推。每个字节通道内有严格的长度匹配关系。其他信号走线长度应按照组为单位来进行匹配,每组内信号长度差应该严格控制在一定范围内。不同组的信号间虽然不像组内信号那样要求严格,但不同组长度差同样也有一定要求。具体布线要求见24 小节。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - -
47、- - 第 18 页,共 35 页 - - - - - - - - - 2 3 信号组布线顺序为了确保 DDR 接口最优化,DDR 的布线应该按照如下的顺序进行:功率、电阻网络中的pin 脚交换、数据信号线布线、地址命令信号布线、控制信号布线、时钟信号布线、反馈信号布线。数据信号组的布线优先级是所有信号组中最高的,因为它工作在2 倍时钟频率下,它的信号完整性要求是最高的。另外,数据信号组是所有这些信号组中占最大部分内存总线位宽的部分,也是最主要的走线长度匹配有要求的信号组。地址、命令、控制和数据信号组都与时钟的走线有关。因此,系统中有效的时钟走线长度应该满足多种关系。设计者应该建立系统时序的综
48、合考虑,以确保所有这些关系都能够被满足。 2 4 各组信号布线长度匹配时钟信号:以地平面为参考,给整个时钟回路的走线提供一个完整的地平面,给回路电流提供一个低阻抗的路径。由于是差分时钟信号,在走线前应预先设计好线宽线距,计算好差分阻抗,再按照这种约束来进行布线。所有的 DDR 差分时钟信号都必须在关键平面上走线,尽量避免层到层的转换。线宽和差分间距需要参考DDR 控名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 19 页,共 35 页 - - - - - - - - - 制器的实施细
49、则,信号线的单线阻抗应控制在50 60,差分阻抗控制在100120 。时钟信号到其他信号应保持在 20 mil* 以上的距离来防止对其他信号的干扰。蛇形走线的间距不应小于20 mil 。串联终端电阻Rs 值在 1533Q ,可选的并联终端电阻RT 值在 2568 ,具体设定的阻值还是应该依据信号完整性仿真的结果。数据信号组:以地平面为参考,给信号回路提供完整的地平面。特征阻抗控制在5060 。线宽要求参考实施细则。与其他非DDR 信号间距至少隔离20 mil 。长度匹配按字节通道为单位进行设置,每字节通道内数据信号 DQ 、数据选通DQS 和数据屏蔽信号DM 长度差应控制在25 mil内(非常
50、重要 ),不同字节通道的信号长度差应控制在1 000 mi内。与相匹配的DM 和 DQS 串联匹配电Rs 值为 o33 ,并联匹配终端电阻RT 值为 25 68 其他 DDR 信号。地址和命令信号组:保持完整的地和电源平面。特征阻抗控制在50 60 。信号线宽参考具体设计实施细则。信号组与其他非DDR 信号间距至少保持20 mil 以上。组内信号应该与DDR 时钟线长度匹配,差距至少控制在 25 mil 内。串联匹配电阻Rs 值为 O 33 ,并联匹配电阻T,值应该在2568 。本组内的信号不要和数据信号组在同一个电阻排内。控制信号组:控制信号组的信号最少,只有时钟使能和片选两种信号。仍需要有
51、一个完整的地平面和电源平面作参考。串联匹配电阻RS 值为 O 33 ,并联匹配终端电阻RT 值为 25 68 。为了防止串扰,本组内信号同样也不能和数据信号在同一个电阻排内。 2 5 电源部分的设计分析通常情况下, DDR 供电电压是23 2 7 V ,典型值是25 V ,工作频率的不同可能引起正常工作电压的不同。参考电压VREF 是 113 138 V ,典型值是125 V 。VTT 以 VREF 为参考,电压范围是(VREF 一O4 V) 一(VREF+O 4 V) 。由于 VREF 只是给差分接受器端提供一个直流参考电平所以电流比较小,最大的只有3mA.VTT的电流由于上拉的缘故,在输出
52、端输出高电平时,VTT 应能流入电流,在输出端输出低电时VTT 电流输出 .故 VTT 必须能同时有流入和流出电流,电流的大小依赖于总线上同时出现的电位状态,从常用的设计来看最大可以从 2.3A 到 3.2A. 由于 VREF 电压作为其他信号接收端的重要参考,故它的布线设计也是十分重要的。叠加在VREF 电压的串扰或噪声能直接导致内存总线发生潜在的时序错误、抖动和漂移。很多电源芯片会把VREF 和 VTT 从同一源输出,但是由于使用的目的不同,走线也完全不同。VREF 最好和 VTT 在不同平面,以免VTT 产生的噪声干扰VREF 。而且无论是在DDR 控制器端还是DDR 存储器端, VRE
53、F 脚附近都应放置去耦电容,消除高频噪声。VREF 的走线宽度应该越宽越好,最好为2025 mil 。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 20 页,共 35 页 - - - - - - - - - VTT电源应该单独划分一块平面来供应电流,且最好放在DDR 存储器端。如果并联终端匹配使用排阻的方式上拉,那么最好每个排阻都添加一个01F 或 001 F 的去耦电容,这对于改善信号的完整性、提高DDR 总线的稳定性都有很好的效果。结 语在带有 DDR 的嵌入式系统主板中,设计
54、PCB 最难的部分莫过于DDR 的走线设计。好的走线就等于有了好的信号完整性和好的时序匹配,总线在高速输入输出数据过程中就不会出错,甚至能够有更好的抗串扰和EMC能力。 DDR 总线并行传输且速率较高,在设计过程中如果没有按照严格的约束进行布线,在设备后期调试过程中,将会出现各种各样异常问题,甚至是系统根本无法启动。而这些问题在查找和调试中很难发现,以至于无法完成硬件的开发。最好的方法就是在设计时就充分考虑信号完整性和时序匹配的问题,在走线时就把这些规则运用进去;如果有条件,可以做一下仿真,预先验证一下设计。这样做出来的设计,系统的稳定性和可靠性才会更高。工程设备CAN 总线控制设计1 引言自
55、 20 世纪 90 年代始,发达国家的制造业就已经开始进行相关技术的探索,高新技术大量应用于先进的工程设备设计中,工程设备的数字化、信息化及施工管理一体化是当前工程设备的发展热潮。同时 ,以微计算机为代表的智能控制器被大量采用,智能节点间的信息流量空前增加。将车载电子设备按照一定的协议联网,并加以有效地信息综合,使之达到资源和功能的共享已成为发展趋势。现场总线技术是指把单个分散的测量控制设备变成网络节点,以现场总线为纽带,把它们连接成可以相互沟通讯息、共同完成自控任务的网络系统与控制系统。CAN ( CONTROLler Area Network)总线 ,又称控制域局域网,属于总线式串行通信网
56、络,最早由BOSCH公司在 80 年代提出,由于可靠性高、实时性强、灵活方便,便于检测维护,因而被广泛应用。在工程设备领域,美国CAT 公司生产的CAT980G装载机,日本小松的WA380-3 和 WA500-3 ,日本川崎的KLD80Z 等均采用CAN 总线技术,提高设备的整体控制技术水平。根据 CAN 总线的技术特点,本文设计了一种基于CAN 总线的工程设备控制系统,通过分布式智能控制来提高工程设备的控制技术和信息化水平。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 21 页,
57、共 35 页 - - - - - - - - - 2 系统组成与功能特点2.1 系统组成传统的工程装备控制系统采用集中式控制,除主控制器外一般都不具备可智能化的条件。基于CAN 总线的控制系统采用分布式智能总线控制,将各功能模块做成智能终端,再通过CAN 总线连接,并辅之以一定的通讯协议,这样不仅提高了整个系统的可靠性及智能化水平,同时降低了系统的复杂程度。系统由主控制器、操纵盒、传感器、执行机构和虚拟仪表等组成,各部件采用CAN 总线互联。主控制器负责系统的信息协调与处理;作业终端是作业手对作业过程进行干预的主要手段;传感器负责感知系统的状态;执行器负责完成经主控制器处理后的动作;虚拟仪表提
58、供了一种可视化的人机界面,用文字或图形的方式告知作业手器材当前的状态;调试诊断仪负责定位系统故障源。各模块都是自成一体的智能终端,各模块可以有多个,只要给它们分配不同的标识符(ID 号)即可,各模块通过4 芯屏蔽电缆并联起来,4 芯电缆中2 根(电源正和电源负)用于给终端供电,另外2 根( CANH 和 CANL )用于终端间通信。本系统组成如图1 所示。2.2 系统功能特点与传统的集中式控制系统相比,本控制系统具有如下功能特点:( 1)防误操作功能。设计人员可以很容易地通过软件编程屏蔽掉本系统中可能出现的误操作,而只开放允许的操作,同时还可根据需要发出声光报警,告知作业手有操作错误;( 2)
59、作业向导功能。操纵盒的智能化和系统数据的共享使得设计人员可以根据作业过程,通过软件编程点亮相应的指示灯,告知作业手许可的操作。实现器材操作的“ 傻瓜 ” 化;( 3)系统自我诊断自我恢复。智能化终端可以方便地对自身的状态进行诊断,并向总线发送相关信息供其它智能节点处理用,使器材使用者不用掌握太多的专业知识就可以容易地判断问题所在;同时对于总线内部错误,总线系统可以通过自身软件进行自动恢复( 4)状态指示。通过虚拟仪表或操纵盒指示灯指示器显示系统当前状态。( 5)数据共享,信息全面,可靠性高。系统的所有数据都可在CAN 总线上接收到,可以很容易地实现信息共享,减少了数据的重复处理,降低了对主控制
60、器的要求;同时CAN 总线具有线间干扰小、抗干扰能力强的特点。系统采用模块化管理,各模块按其功能分散布置,简化了布线并缩短了线束的长度,从而降低了耦合电流名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 22 页,共 35 页 - - - - - - - - - 的产生,减小了线间干扰。同时在软件上,CAN 总线采用短帧传输,这样使总线数据报文在传输过程中有较强的抗干扰能力;( 6)扩充性强,产品升级快,性价比高。( 7)参数配置灵活。可以通过CAN 总线进行参数配置,如开关量可以根据
61、厂家需求设置其门限及控制极性(正负控 ),模拟量可根据厂家提供的传感器性能曲线进行校正,相关位置量也可以方便地进行总线标定,缩短产品调试时间。 3 总线通讯协议设计CAN 通信协议主要描述设备之间的基于基本CAN 通信的应用程序信息传递方式。CAN 通信层的定义与开放系统互连( OSI )参考模型一致,但只定义了最下面两层:物理层和数据链路层。由于没有规定应用层,因此CAN 协议本身并不完整,需要一个应用层协议来定义CAN 报文中的标识符(11/29 位)、 8 字节数据的分配与使用。目前国际上使用较多的高层协议有CANopen 、 J1939 和 DeviceNet等,但是由于工程设备的控制
62、节点一般不多,完全可以根据自身特点,设计高效的应用层协议。下面给出几个实用的设计方法。 3.1 报文 ID 的设计在通信标识符,即ID 号分配时,对于关重信息帧或要求快速响应的信息帧采用低号ID,如装备控制中需要实时反馈信号的各作业机构到位信号;对于传递仅用于监测而不参与实时控制信号的信息帧应采用高ID 号,如油温、油压、车姿等状态信息。另外,在验收滤波器中对验收代码寄存器(ACR )和验收屏蔽寄存器(AMR )正确设置可以屏蔽与该节点不相干的 ID 号信息,可以提高有效信息的响应速度。3.2 报文的循环发送与查询发送对于参与控制的重要信息帧一般应采取定时循环发送方式,保证信息的实时刷新;而对
63、于软硬件版本查询、参数标定等需要临时数据服务的则主要采用C/S (客户机 /服务器)方式进行信息帧发送,即进行特定的信息帧定义,当服务器收到客户机的参数查询或标定请求后再处理并发送相应的回馈信息帧。3.3 “ 心跳 ” 检测名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 23 页,共 35 页 - - - - - - - - - 当数据源节点退出总线后(故障或人为退出),接收节点相应的接收数据缓冲区的数据必须进行复位,防止数据不一致造成非期望事件发生。因此,一般要求源节点定时发送“
64、心跳 ” 信息,即设计一特定的信息帧或把特定信息帧中的某一位设计成代表该节点的“ 心跳 ” ,节点启动工作后每隔一定时间发送“ 心跳 ” 信息帧或定义的“ 心跳位 ”高低电平变化一次,这样如果在一定的时间内没有收到该节点“ 心跳 ” 信息,则可以判断节点不在总线上,进而做出相应的事件处理。图 2 数据标定流程图3.4 传输错误检验为了提高数据通讯的可靠性,对于关键数据帧(如标定数据帧),采用和校验的方式防止数据传输错误,即数据源节点将最后一个数据字节定义为校验字节,采用累加和等校验等方式,将运算结果的低8 位(即低位字节)作为校验数据值。数据接收节点收到数据帧后,通过运算进行比较,结果无误后再
65、进行相应的赋值处理。3.5 数据查询与参数标定数据查询和标定采用重复发送控制信息直到得到特定反馈信息才结束的通信方式,流程如图2 所示。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 24 页,共 35 页 - - - - - - - - - 4 CAN 总线作业终端设计将作业终端设计成一个智能节点,采用CAN 总线通信,则可以减少连接线缆芯数的数量,提高工作可靠性;同时数据传输内容丰富,可以传递状态信息,也可以传送报文信息,提高信息化程度;并可增加通信距离,提高工作的适应性。( 1
66、)硬件设计基于带CAN 总线控制器的单片机PIC18F458系统设计,通过CAN 总线收发器MCP2551与其它节点总线相连,外围有开关量输入电路、模拟量输入电路、数码管显示电路、开关量输出电路、CAN 收发器和电源电路等,见图3。图 3 CAN 总线作业终端硬件原理框图5 主控制器设计主控制器为主要的操作信号采集的执行单元,它将系统的操纵信号进行防误操作处理后控制作业机构的执行元件。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 25 页,共 35 页 - - - - - - -
67、- - 主控制器采用EPEC 系列高可靠性可编程控制器(PLC )设计,该系列控制器在国内外工程机械中应用较广泛,具有两个CAN 通讯口,本身即可兼做多协议的网关。该型控制器具有以下优点:抗电磁干扰、抗振动、耐油、适应环境能力强、结构紧凑、密封性好、具有自我保护能力的特点,可以长期在野外恶劣环境条件下工作,可以直接驱动多种执行器,如电液比例阀、伺服马达等,特别适用于移动设备的使用。当然,就CAN 系统作业集成角度来看,STW ,INTER CONTROL等控制器的性能也较好,各有其特色,可以根据控制需求进行选择。6 虚拟仪表设计虚拟仪表主要用于终端显示,以提供各种作业信息。选用PC104主板作
68、为嵌入式计算机系统的硬件,硬件配置表如表1 所示,软件采用实时性好的VxWorks操作系统,利用VxWorks BSP包完成移植。表 1 虚拟仪表硬件配置表虚拟仪表可以完成工作状态显示、传感器数据标定、视频显示等,提供了良好的人机交互界面,并可以通过RS232 接口接入导航定位信息,提高装备的信息化程度。 7 CAN总线调试诊断仪设计调试诊断仪基于BIT 技术,采用嵌入式系统架构,硬件以ARM 控制器为核心。ARM 系列处理器采用32 位嵌入式 RISC 结构,内部集成多级流水线以提高处理器指令的执行速度,其强大功能与外围电路的配合,将信号采集、处理、故障诊断及网络通信等功能集于一体,特别适合
69、作为智能仪器设备的开发平台。HMS30C7202是基于 ARM720T的 32 位处理器,包括了PC 机的所有基本功能。具有高性能低功耗的特点,片内资源非常丰富,具有极高的集成度,非常适用于嵌入式系统应用。调试诊断设备硬件由基于ARM 芯片 HMS30C7202的核心模块加外围电路组成,见图4。为了充分发挥ARM 芯片的效率,提高任务级的响应时间,采用实时内核C/OS-II 来进行资源管理。C/OS-II 是一个完整、可移植的抢占式实时多任务操作系统,具有执行效率高、占用空间小、实时性能优良和可扩展性强的特点。用户界面基于MiniGUI 平台进行开发,极大地提高了人机交互性能。名师资料总结 -
70、 - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 26 页,共 35 页 - - - - - - - - - 图 4 调试诊断仪硬件架构8 结语智能化、信息化是工程机械装备的发展方向,将先进的现场总线技术应用其中必将使装备智能化、信息化更易实现。文设计的基于CAN 总线的工程设备控制系统具有功能完善、通用性好、使用方便等特点,并且技术架构先进,符合工程设备控制系统向分布式智能控制的总体发展方向。通过多项军用与民用设备的应用实践表明,系统工作可靠,实时性好,功能拓展方便,维修性和测试性好,具有良好的推广
71、应用前景。本文创新点是将CAN 总线技术应用于工程设备控制系统,使其智能信息化程度高、通用性、维修性和测试性好,以提高工程设备的综合性能。通过相关设备控制系统的配套,成果应用已产生经济效益近20 万元。参考文献: 1邹宽明 .CAN 总线原理与应用设计M. 北京:北京航空航天大学出版社,1996. 2余兴民 .分布式系统中的CAN 总线应用设计J. 机械与电子,2003 ,( 1):59-61 3刘敬猛 .嵌入式技术及其在工程机械监控器中的应用J. 工程机械 ,2003,12(06):5-8 4邵中 . 行走机械控制系统的核心-STW 控制器 J. 建设机械技术与管理,2006, (7):44
72、 5孙立辉 ,原亮 .基于 CAN 总线的多机冗余系统的设计J. 计算机测量与控制,2002,10(12):824-826 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 27 页,共 35 页 - - - - - - - - - 6王彪等 .基于嵌入式架构的调试诊断仪设计J. 工兵装备研究 ,2006,(6):19-22 7王大宇 .CAN 总线技术在智能推土机控制系统中的应用J. 建筑机械 ,2005,(6):82-83 8祁永庆等 .基于 CAN 总线的 PLC 在多任务协同控
73、制中的应用J. 工程机械 ,2003,(02):1-3 9周永超 ,李雯 ,瞿安连基于软件工程的虚拟仪器设计J.微计算机信息,2005 ,11-1 :111-113 。基于 HI-8582 的 ARINC429总线设计摘要 :简要介绍了ARINC429总线和 HI-8582 芯片的特点,给出了基于HI-8582的 ARINC429总线设计思路和方法。最后结合工程实际给出了单片机AT89C52的数据收、发程序实例。关键词 :HI-8582 ,ARINC429接收, ARINC429发送, AT89C52 1 ARINC429总线及协议芯片HI-8582 简介1.1 ARINC429航空总线简介
74、ARINC429总线是美国航空无线电公司制定的民用航空数字总线传输标准,它规定了使用该总线的航空电子设备的信息流向和ARINC429基本数据字的格式。ARINC429为单向传输总线,信息只能从通信设备的发送口输出,经传输总线传至与它相连的需要该信息的其他设备的接收口。在需要两个通信设备间双向传输时,则在每个方向各用一根独立的传输总线。ARINC429通信采用带有奇数奇偶校验的32 位信息字 ,信息字通过标牌识别,最多具备256 个标牌。采用双极性归零制的三态码调制方式,即调制信号由“ 高” 、 “ 零 ” 和“ 低” 状态组成的三电平状态调制。1.2 HI-8582简介目前在机载设备中使用的A
75、RINC429总线协议芯片较多,相比之下,HOLT INTEGRATED CIRCUITS公司生产的 HI-8582 是一款性能价格比较高的ARINC429协议芯片。该器件的主要功能如下: 符合 ARINC429总线协议; 具有独立的双向接收和发送接口; 无需驱动,可直接上ARINC429总线; 标牌可程序化识别;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 28 页,共 35 页 - - - - - - - - - 串行数据速率可设位为100kbps或 12.5kbps ; 对接
76、收的数据可进行奇偶状态校验;并可对发送数据奇偶状态进行设置; 可自动产生字与字之间的间隔;52脚 PQFP 封装,节省印制板空间。2 AT89C52与 HI-8582的接口设计2.1 接口原理介绍由于 AT89C52是 8 位处理器,而HI-8582是 16 位接口芯片,在接口设计中利用一片CPLD 实现接口,设计中选用了Altera 公司的 EPM7128作为接口电路。电路框图见图1。图 1 中, D1 为单片机AT89C52 ,其中 P0 端口用于数据的的交换,P2 端口用于控制,利用两个外中断INT0 、INT1 接收收到的429 信号,单片机的复位信号是硬件看门狗产生的,图1 中没有画
77、出,复位信号RST 作为CPLD 的输入信号,单片机的时钟选用12MHz, 同时 12MHz 作为 CPLD 的时钟源。 D2 为 CPLD 器件EPM7128 ,主要完成8 位总线和16 位总线的转换、数据交换、编译码、产生HI-8582 的时钟和复位信号。D3为 ARINC429接口电路HI-8582 ,BD00 BD11 为双向数据总线与EPM7128相接,其余均为离散量。2.2 CPLD的控制逻辑名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 29 页,共 35 页 - -
78、- - - - - - - 图 2 接口电路的CPLD 控制逻辑图 2 接口电路的CPLD 控制逻辑CPLD 的控制逻辑见图2。 U12 为反向器,单片机的复位信号反向后送HI-8582的 MR 管脚,复位HI-8582中的寄存器。 U6U11 构成了分频电路,将12MHz 的时钟频率分为1MHz ,作为 HI-8582 的时钟信号。U1 U5 为三态 8D 触发器,由OE 控制输出,CLK 为时钟控制,上升沿锁存数据,低电平保持,当OE 为高电平时输出为高阻状态。2.3 HI-8582的复位及初始化电路上电后,单片机首先复位RST 管脚(高电平有效),同时RST 反向后复位HI-8582,
79、然后把控制字写到16 位数据总线上,此后便可接收和发送数据。一般情况下,当既不能接收又不能发送数据时,应怀疑初始化过程。初始化程序如下:CLR 7BH;CWSTR清 0 MOV P0,2FH; SETB P2.0; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 30 页,共 35 页 - - - - - - - - - CLR P2.0; 上升延锁存CLR P2.2; 设置 8582 为输出模式MOV P0,#31H; SETB P2.3; 上升延锁存控制字低8 位CLR P2.3
80、; MOV P0,#0E0H; SETB P2.1; 上升延锁存控制字高8 位CLR P2.1; SETB 7BH; MOV P0,2FH ; SETB P2.0; 上升延锁存CLR P2.0; SETB P2.2; 设置 8582 为输入模式2.4 HI-8582的数据发送过程 HI-8582发送数据时,首先应置ENTX 引脚为低电平,再将 PL1 置低,将低16 位数据写到16 位数据总线上,之后,将 PL1 置高,再将PL2 置低,将高16 位数据写到16 位数据总线上,数据写完之后,将ENTX 置高。 HI-8582 的发送存储器最多可装载16 个 32 位字长的数据,HI-8582
81、采用的是先进先出的发送顺序。发送程序如下:MOV R0,#0A0H; CLR 7CH;ENTX置低MOV P0,2FH; SETB P2.0; CLR P2.0; CLR 7EH;PL1置低MOV P0,2FH; SETB P2.0; CLR P2.0; CLR P2.2; 设置 8582 为输出模式MOV A,R0;读入 8 位数据MOV P0,A; SETB P2.3; CLR P2.3; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 31 页,共 35 页 - - - - -
82、 - - - - INC R0; MOV A,R0; 读入 8 位数据MOV P0,A; SETB P2.1; CLR P2.1; INC R0; SETB 7EH;PL1置高MOV P0,2FH; SETB P2.0; CLR P2.0; SETB P2.2; CLR 7DH;PL2置低MOV P0,2FH; SETB P2.0; CLR P2.0; CLR P2.2; MOV A,R0;读入 8 位数据MOV P0,A; SETB P2.3; CLR P2.3; INC R0; MOV A,R0; 读入 8 位数据MOV P0,A; SETB P2.1; CLR P2.1; SETB 7D
83、H;PL2 HIGH MOV P0,2FH; SETB P2.0; CLR P2.0; SETB 7CH;ENTX置高MOV P0,2FH; SETB P2.0; CLR P2.0; SETB P2.2; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 32 页,共 35 页 - - - - - - - - - 2.5 HI-8582的数据接收过程当接收器 1 接收到数据后,系统会置HF1 低电平 ,而当接收器接收到数据后,系统将置HF2 为低电平。欲使接收器 1 将接收数据的字1
84、送至 16 位数据总线上,应先置SEL 为低电平,再置EN1 为低电平 ,而后再置EN2 为高电平, SEL 为高电平,便可将字2 送至 16 位数据总线。要使接收器2 的数据送至位数据总线上,则置EN2 为低电平, EN1 为高电平即可。接收程序如下:CLR 7AH; 从 FIFO 中读数据MOV P0,2FH;SEL置低SETB P2.0; CLR P2.0; CLR 78H;EN2置低MOV P0,2FH; SETB P2.0; CLR P2.0 ; SETB P3.3 ; CLR P3.3 ; CLR P2.6; 设置 8582 低 8 位输入SETB P2.7 ; CLR P2.7;
85、 锁存 8582 低 8 位输入MOV A,P0;读 429 第 1 字节 (8 位 ) MOV R2,A;保存数据SETB P2.6; 设置第一字节输入为高阻CLR P2.5; 设置第二字节为输入SETB P2.4; CLR P2.4; 锁存 8582 第二字节输入MOV A,P0;读 429 第 2 字节 (8 位 ) MOV R3,A; 保存数据SETB P2.5; 高阻状态SETB 78H;EN2 HIGH MOV P0,2FH; SETB P2.0; CLR P2.0; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - -
86、名师精心整理 - - - - - - - 第 33 页,共 35 页 - - - - - - - - - SETB 7AH;SEL置高MOV P0,2FH; SETB P2.0; CLR P2.0; CLR 78H;EN2置低MOV P0,2FH; SETB P2.0; CLR P2.0; CLR P2.6; SETB P2.7; CLR P2.7; MOV A,P0;读 429 第 3 字节 (8 位 ) MOV R4,A;保存数据SETB P2.6; 高阻状态CLR P2.5; 设置低 8 位为输入SETB P2.4; CLR P2.4; MOV A,P0;读 429 第 4 字节 (8
87、位 ) MOV R5,A;保存数据SETB P2.5; 高阻状态SETB 78H;EN2置高MOV P0,2FH; SETB P2.0; CLR P2.0; 以上程序采用中断接收数据,当HI-8582 的 FIFO 满后, HF1 或 HF2 将变为低电平,产生中断,按以上程序处理结束后, HF1 或 HF2 将变为高电平,从而完成一次数据的接收流程。3 结束语按照本文介绍的方法已成功实现HI-8582 的 ARINC429航空总线接口设计,设计的机载设备已批量装备现役飞机,效果良好。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - -
88、- 名师精心整理 - - - - - - - 第 34 页,共 35 页 - - - - - - - - - 参考文献:1 SZ-01 数字信息传输系统,HB6096-86,中华人民共和国航空工业部标准. 2 HI-8582,ARINC 429 System ON a Chip, HOLT INTEGRATED CIRCUITS. 3 MAX 7000 Programmable Logic Device Family Data Sheet,Altera Corporation. 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 35 页,共 35 页 - - - - - - - - -