第四章
硬件访问
从站堆栈代码可执行在多个平台上和控制器架构。因此, 源代码包含多个定义来满足特定的硬件需求。 本章描述了硬件的具体配置和硬件访问的功能 使用通用的堆栈层
有可能用到的
SlaveInformation
Define: VENDOR_NAME EtherCAT slave vendor name
EtherCAT从站供应商名称
Define: DEVICE_NAME Name of the slave device (Object 0x1008)
定义:DEVICE_NAME 0 x1008奴隶设备名称(对象)
Generic
定义:SYSTEM_HEADER_FILE 定义包括语法系统头文件
Define: ESC_EEPROM_ACCESS_SUPPORT
If this switch is set the slave stack providesfunctions to access the EEPROM.
定义:ESC_EEPROM_ACCESS_SUPPORT 如果这个开关设置奴隶堆栈提供了eepm函数来访问。
Hardware
EL9800_HW
应设置如果奴隶代码上执行一个EL9800评估板 (如果EL9800董事会提供的MCI界面应该使用MCI_HW应当设置和这个定义应当重置)。 如果需要还应设置主机控制器连接通过SPI ESC。 注意:PDI类型也需要被配置在“ESC_CONFIG_DATA”。
Define: MCI_HW
应设置的MCI ESC连接。 注意:PDI类型也需要被配置在“ESC_CONFIG_DATA”。
microcontroller interface (MCI,微控制器接口)
定义:FC1100_HW 应当设置EtherCAT从属控制器位于一个FC1100 PCI卡。 注意:PDI类型也需要被配置在“ESC_CONFIG_DATA”。
定义:HW_ACCESS_FILE
定义用户特定的硬件包括语法访问文件。myhardwareh”(只会添加如果没有默认选择硬件访问) 注意:PDI类型也需要被配置在“ESC_CONFIG_DATA”。(是不是比较重要?应当改为STM32的访问函数)
目前的想法是根据源文件里关于PIC8的类似函数进行修改或者类比,找到。更麻烦的方法是根据各自的datasheet,从PIC8类比而来
定义:CONTROLLER_16BIT 主机控制器是一个16位的体系结构时应当设置
定义:CONTROLLER_32BIT 应当设置主机控制器是一个32位架构
定义:_PIC18 微芯片PIC18F452特定代码 该处理器安装在Beckhoff奴隶评估板(硬件版本EL9800_2)。
定义:_PIC24 微芯片PIC24HJ128GP306特定代码 该处理器安装在Beckhoff奴隶评估板(硬件版本EL9800_4A)。
定义:ESC_16BIT_ACCESS 如果单片机只支持16位访问ESC。
定义:ESC_32BIT_ACCESS 如果单片机只支持32位访问ESC。
定义:MBX_16BIT_ACCESS 如果单片机只支持16位访问本地邮箱内存(访问ESC DPRAM是由“ESC_16BIT_ACCESS”)。如果重置8位访问使用。
定义:BIG_ENDIAN_16BIT 如果单片机总是让16位访问外部存储器,BigEndian格式的操作 和高、低字节的转换是在硬件来完成的。
定义:BIG_ENDIAN_FORMAT 如果单片机与BigEndian格式,那么这个开关应设置。在这种情况下所有的词 和DWORD-accesses将使一个字节或WORD-swapping宏SWAPWORD和SWAPDWORD ecatslv。h可能改编。 如果这个开关设置,然后BIG_ENDIAN_16BIT应当重置。
定义:EXT_DEBUGER_INTERFACE 如果这个开关设置,外部调试器界面EL9800_4A(_PIC24)将被激活。 这个定义如果_PIC24没有设置将被忽略。
定义:LEDS_SUPPORTED EtherCAT状态映射到领导的指示
定义:ESC_SUPPORT_ECAT_LED 这个开关可以启用如果连接ESC支持错误和运行领导指示。查看数据表ESC的更多细节。
定义:ESC_EEPROM_EMULATION 如果这个开关设置eepm模拟的支持。并不是所有的ESC类型支持eepm仿真。有关更多信息,请参见ESC数据表。
定义:ESC_EEPROM_SIZE 指定eepm大小的字节eepm或模拟eepm连接。
定义:EEPROM_READ_SIZE 如果eepm只需要模拟是活跃的。这个值定义了每个备件将读取的字节数。
EtherCAT State Machine
定义:BOOTSTRAPMODE_SUPPORTED 如果固件更新FoE服务应该支持,那么这个开关应设置。 如果这个开关设置,然后还应当设置“FOE_SUPPORTED”。
定义:OP_PD_REQUIRED 如果这个开关复位状态转换SAFEOP_2_OP也会成功如果没有收到处理数据。监管机构只会主动当第一次处理数据是收到(bEcatFirstOutputsReceived)
定义:PREOPTIMEOUT 为从初始状态转换到指定超时值PreOP /Boot。(ESI价值:“PreopTimeout”)。 注意:栈中的这个值- 50 ms将用于在主运行超时之前的反应。
定义:SAFEOP2OPTIMEOUT 特定的超时从SafeOP作品(ESI值:“SafeopOpTimeout”)号 注意:栈中的这个值- 50 ms将用于在主运行超时之前的反应。
Synchronization
定义:DC_SUPPORTED 是否应该支持分布式时钟的从站,然后这个开关应设置。 如果设置此开关,然后还AL_EVENT_ENABLED应当设置。 注意:直流支持也需要被设置在“ESC_CONFIG_DATA”设置。
定义:ECAT_TIMER_INT 如果这个开关设置,那么监督时间EtherCAT看门狗定时器中断程序将检查。
定义:MIN_PD_CYCLE_TIME 在ns奴隶支持最小周期时间 (条目0 x1c32:05或条目0 x1c33:05)
定义:MAX_PD_CYCLE_TIME 在ns奴隶支持最大周期时间
定义:PD_OUTPUT_DELAY_TIME 最小输出延迟时间在ns奴隶支持(输入0 x1c32:09)
Application
定义:SAMPLE_APPLICATION_INTERFACE 选择这个定义来激活这个示例应用程序接口。这提供了一个简单的接口来创建一个静态库和用于外部应用程序。 注意:文 件”EtherCATSampleLibrary.h”包括库接口(可能需要调整)。