当前位置:首页 > 工业控制 > 电子设计自动化
[导读]0 引 言 PC/104嵌入式控制PC出现于20世纪80年代末,并于1992年形成IEEEP966.1标准。它一方面继承了PC的所有资源,另一方面又对PC的各个方面做了优化设计,使其与IBM PC完全兼容,并具有体积小,功耗低,工作温度宽

0 引 言

PC/104嵌入式控制PC出现于20世纪80年代末,并于1992年形成IEEEP966.1标准。它一方面继承了PC的所有资源,另一方面又对PC的各个方面做了优化设计,使其与IBM PC完全兼容,并具有体积小,功耗低,工作温度宽,可靠性高等特点。采用了独特的“自栈式”总线连接、模块化结构,使用起来灵活方便;采用面向对象的硬件设计方法,使得在PC/104标准上开发的扩展模块具有更强的通用性和更长的生命期;它以其优良的品质、高可靠性及模块化,广泛应用于工业控制、航空航天、军事、医疗、消防设备、智能仪器仪表、导航、通讯、数控、自动化生产设备、便携式计算机等领域。

CAN(Controller Area Network)总线是一种有效支持分布控制或实时控制的串行通信网络,采用多主协议,废除了传统的站地址编码,而采用对通信数据块进行编码的方法,使网络内节点个数在理论上不受限制。它具有总线仲裁、错误检测、自动重发等功能。由于采用了许多新技术及独特的设计,CAN总线具有高实时性、卓越性能、高可靠性、能独特灵活设汁和低廉价格,已广泛应用于工业现场、控制、智能大厦、小区安防、交通工具、医疗仪器、环境监控等众多领域。目前,它已被公认为是几种最有前途的现场总线之一。随着科技的发展,同一系统应用多种总线技术已经成为一种趋势。本设计利用FPGA完成PC/104总线和CAN总线之间的相互通讯,将两总线相结合,优势互补,使两总线有更大应用价值和更广阔的使用前景。

1 硬件设计

1.1 系统硬件结构

本设计采用PC/104模板形式,具有很强的方便性和可扩展性,其系统的硬件结构如图1所示。


由于PC/104总线采用的是地址数据总线分离的总线结构,而CAN总线协议控制器SJA1000T采用的是地址数据总线分时复用的总线结构,因此系统使用FPGA器件EP20K100实现总线转换和时序逻辑控制转换。该通讯板采用I/O映射方式,其内部寄存器地址为280H~2BFH。为了增强系统的抗干扰能力,在控制器SJA1000T与收发器82C250之间接入光电耦合器6N137。光耦6N137的上升时间典型值为30 ns,隔离电压为3 000 V,其支持最大频率值超过30 MHz。

1.2 FPGA设计

QuartusⅡ是Altera公司在21世纪初推出的FP-GA/CPLD开发环境,是Altera前一代FPGA/CPLD集成开发环境MAx+PlusⅡ的更新换代产品,其功能强大,界面友好,使用便捷。QuartusⅡ软件集成了Al-tera的FPGA/CPLD开发流程中所涉及的所有工具和第三方软件接口。QuartusⅡ软件的开发流程如图2所示。


采用原理图输入和硬件描述语言相结合的方式,进行编译后写人器件中;同时可在线更改写入内容,修改和调试简单易行。FPGA的设计主要由两部分组成:第一部分实现时序逻辑控制信号的转换,第二部分实现地址译码和地址数据线的复用。QuartusⅡ图表文件及器件管脚如图3所示。


由于PC/104的地址总线和数据总线是各自独立的,SJA1000T的地址总线和数据总线是分时复用的,所以它们之间不能直接相连,必须通过时序逻辑控制,再配合软件来实现读/写操作。对SJA1000T的操作方法是:首先,对地址为CAN首地址+0(A2A1A0=000)的端口进行写操作(WR为低,有效),CANALE为高,有效,此时复用的地址、数据总线上的数据被视为地址信号,进入SJA1000T内部锁存器;然后,对地址为cAN首地址+1(A2A1A0=001)的端口进行读或写操作(RD/WR为低,有效),CANALE为低,上述中的地址信号已被锁存,此时复用的地址、数据总线上的数据被视为数据信号,这样即可完成对SJA1000T的各个寄存器和缓冲区的读或写操作。

1.3 硬件电路测试

主要检测硬件结构及电路板设计是否正确。建立一个简单的通讯连接,将两个通讯板连接进行测试,用通讯板A作为输出,通讯板B作为输入。编程通过通讯板A发送数据,内容为8个随机数,检测通讯板B接收数据,如果不同则作加1计数。反之将通讯板B作为输出,通讯板A作为输入,进行相同测试。测试200万次循环未见异常。

2 软件设计

2.1 软件流程图

在该通讯板的设计中,控制部分的核心采用了PC/104嵌入式计算机系统。由于PC/104嵌入式计算机系统几乎具有和一般的PC机一样的强大功能,所以该通讯板的开发是在和系统模块栈接在一起后,直接在嵌入式计算机上进行的。这些工作都是采用C语言进行编程设计的。采用C语言的优点在于其快速性、高效性。在利用嵌入式计算机强大资源的条件下,C语言能满足模块的实时性要求。在系统软件的设计中,采用了结构化、模块化的设计方法,满足了仪器功能的要求。本接口系统的软件任务基本为在CAN协议芯片SJA1000T有中断发生时,根据SJA1000T的中断寄存器的内容完成相应的操作(如发送、接收数据帧等)。其流程图如图4所示。


系统设计中要进行接口驱动程序的设计,为保证操作系统的稳定和安全,驱动程序必须按一定的规范来编写。本系统的驱动程序主要考虑以下内容:设置端口和中断号,设置通讯板通讯默认参数,通讯板内存分配,映射I/O地址,创建通讯板事件和数据接收事件,初始化中断等。

SJA1000T初始化只有在复位模式下才能进行,初始化主要包括:工作方式的设置、接收滤波方式的设置、接收屏蔽寄存器和接收代码寄存器的设置、波特率设置和中断允许寄存器的设置等。SJA1000T在完成初始化后就可以回到工作状态进行正常的通讯任务了。

2.2 CAN多帧数据通信打包和解包技术

CAN通信数据传输采用短帧结构,每帧最多发送8个字节的有效数据,总线的有效传输速率很低,当在传输的数据量超过8个字节有效数据时,给用户编程带来了一定的困难。利用如图5所示的CAN的数据包格式,只需将待传输的数据进行相应的打包和解包操作即可实现数据的单帧和多帧传输,有效地简化了数据通信。


采用如图5所示的CAN数据包格式,无论是单帧还是多帧传输,只要把数据填入相应的发送缓冲区即可,在接收方,则将数据解包并放入接收缓冲区即可。与上述数据包格式相对应,当CAN总线进行多帧传输时,其CAN的多帧数据传输帧结构如图6所示。


在图6中,当发送的有效数据个数不超过4个时,一帧数据即可传输;当有效数据超过4个时,则需要多帧传输。此处的地址变址是指从发送缓冲区所取的存放于该帧的第一个有效数据的存储地址相对于缓冲区首地址的偏移量,如第一帧中地址变址为4,第二帧中的地址变址是10。地址变址的设置,使得对数据包的解包和打包实现起来较容易。

3 结 语

该通讯板设计简单,只需一块FPGA,一个CAN控制器SJA1000T和收发器PCA82C250,为增强系统的稳定性,在通信通道上均采用光电隔离技术,保护PC机避免因地环流而损坏,增强系统在恶劣环境中使用的可靠性。该通讯板采用的CAN数据包格式提高了总线的有效传输速率,经测试达到500 Kb/s,提高了通讯板通讯的实时性。本设计方案已成功应用于工业控制器中,效果理想。



参考文献:

[1].SJA1000Tdatasheethttp://www.dzsc.com/datasheet/SJA1000T_609076.html.
[2].EP20K100datasheethttp://www.dzsc.com/datasheet/EP20K100_1438301.html.
[3].6N137datasheethttp://www.dzsc.com/datasheet/6N137_91364.html.
[4].CPLDdatasheethttp://www.dzsc.com/datasheet/CPLD_1136600.html.
[5].PCA82C250datasheethttp://www.dzsc.com/datasheet/PCA82C250_542618.html.


来源:xinxin0次

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

Bluespec支持加速器功能的RISC-V处理器将Achronix的FPGA转化为可编程SoC

关键字: RISC-V处理器 FPGA SoC

为无处不在的端侧设备插上AI的翅膀,AMD发布第二代Versal™ 自适应 SoC

关键字: AMD FPGA 自适应SoC AI 边缘计算

Pmod接口可以说是数字电路板的连接革命。随着科技的飞速发展,数字电路板间的通信与连接技术也在不断创新和进步。Pmod接口,作为一种新兴的数字接口标准,正逐渐成为数字电路板间通信的桥梁,为电子设备的连接和通信带来了革命性...

关键字: pmod接口 FPGA 数字电路板

近日举办的GTC大会把人工智能/机器学习(AI/ML)领域中的算力比拼又带到了一个新的高度,这不只是说明了通用图形处理器(GPGPU)时代的来临,而是包括GPU、FPGA和NPU等一众数据处理加速器时代的来临,就像GPU...

关键字: FPGA AI 图形处理器

当我们提到成本优化型FPGA,往往与简化逻辑资源、有限I/O和较低制造工艺联系在一起。诚然,在成本受限的系统设计中,对于价格、功耗和尺寸的要求更为敏感;但随着一系列创新应用的发展、随着边缘AI的深化,成本优化型FPGA也...

关键字: AMD FPGA Spartan 边缘计算

全球领先的高性能现场可编程门阵列(FPGA)和嵌入式FPGA(eFPGA)半导体知识产权(IP)提供商Achronix Semiconductor公司宣布,该公司参加了由私募股权和风险投资公司Baird Capital举...

关键字: FPGA 智能汽车 eFPGA

全新 FPGA 能为嵌入式视觉、医疗、工业互联、机器人与视频应用提供高数量 I/O、功率效率以及卓越的安全功能

关键字: FPGA 嵌入式视觉 机器人

Altera致力于为客户提供端到端的FPGA、易于使用的AI、软件和弹性供应链。

关键字: FPGA AI

在半导体领域,大部分对于AI的关注都集中在GPU或专用AI加速器芯片(如NPU和TPU)上。但事实证明,有相当多的组件可以直接影响甚至运行AI工作负载。FPGA就是其中之一。

关键字: FPGA AI 半导体

半导体产品老化是一个自然现象,在电子应用中,基于环境、自然等因素,半导体在经过一段时间连续工作之后,其功能会逐渐丧失,这被称为功能失效。半导体功能失效主要包括:腐蚀、载流子注入、电迁移等。其中,电迁移引发的失效机理最为突...

关键字: 半导体 电迁移 FPGA
关闭
关闭