外设硬件仿真模块的作用是模拟外围硬件设备。外设硬件仿真模块根据硬件的规范对硬件的具体细节进行模拟。外设硬件仿真模块中会使用数据结构来模拟硬件以及其寄存器状态。在初始化完设备结构体后,对硬件设备的模拟通过对该数据结构中的成员状态的修改完成。外设硬件仿真模块封装了设备模拟功能与多设备管理功能,提供统一的对外统一接口,实现了模块化设计,符合软硬件解耦的需求。 外设硬件仿真模块包含设备模拟模块和多设备管理模块。设备模拟模块的作用是定义各个虚拟设备的数据结构成员,模拟各虚拟设备的执行流程,并封装成接口提供给外界调用;多设备管理模块的作用是实现对多个虚拟设备的管理,包括对设备的注册、卸载、查找等功能。 (1) CAN模块设计 1) 功能 为上层应用提供模拟的CAN接口设备驱动,应用可通过虚拟CAN设备驱动与connector进行通信。 2) 内部数据流图 全数字虚拟运行环境中的CAN是支持多通道的. CAN驱动内部数据流: (2) GPIO/通用开关量 1) 功能 虚拟设备和真实设备是有差异的,虚拟设备并不涉及电器特性,所以通用开关量和GPIO虚拟设备的实现是相同的。CSC-4是为上层应用程序提供GPIO和通用开关量的虚拟设备驱动。 2) 内部数据流图 全数字虚拟运行环境中的GPIO是支持多通道的 (3) LVDS模块 1) 功能 用于为上层应用提供模拟LVDS接口设备驱动,应用程序可以通过设备驱动使用LVDS与connector进行通信。 2) 内部数据流图 虚拟运行环境中的LVDS是支持多通道的. (4) SRIO设计 1) 功能 用于为上层应用提供模拟SRIO接口设备驱动,应用程序可以通过设备驱动使用SRIO与connector进行通信。 2) 内部数据流图 全数字虚拟运行环境中的SRIO是支持多通道的 (5) RS-422/RS-485模块设计 1) 功能 为上层应用提供模拟的RS-422和RS485的驱动程序,RS-422的电气性能与RS-485完全一样。主要的区别在于:RS-422有4根信号线:两根发送(Y、Z)、两根接收(A、B)。由于RS-422的收与发是分开的所以可以同时收和发(全双工);RS-485有2根信号线:发送和接收。但对于模拟设备来说RS-422与RS-485的实现方法和性能是完全相同的。 2) 内部数据流图 虚拟运行环境中的RS-422/RS485是支持多通道的 1.1.1.1. 网络通讯模块网络通信模块的功能是实现仿真器模拟的实时操作系统可以与外界进行网络通信。为了实现这一功能,仿真器需要提供虚拟网络设备,并在宿主机操作系统注册虚拟网卡。在以上两个条件满足的前提下,仿真器模拟的实时操作系统与外界进行网络通信需要进行两次数据交互。 (1)仿真器的虚拟网络设备与宿主机虚拟网卡之间进行数据交互。宿主机虚拟网卡会维护二个数据队列:接收队列与发送队列。当仿真器打开虚拟网卡注册的设备文件进行读操作时,虚拟网卡会把接收数据队列中的数据传递给仿真器;当仿真器进行写操作时,虚拟网卡会把仿真器写入的值放入接收队列。 (2)宿主机操作系统虚拟网卡通过模拟桥接同宿主机真实网卡进行数据交互。
|