第四章

硬件访问

 从站堆栈代码可执行在多个平台上和控制器架构。因此, 源代码包含多个定义来满足特定的硬件需求。  本章描述了硬件的具体配置和硬件访问的功能  使用通用的堆栈层

 

有可能用到的

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-swappingSWAPWORDSWAPDWORD ecatslvh可能改编。  如果这个开关设置,然后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”包括库接口(可能需要调整)

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐