主要内容

BiSS-C绝对编码器的读取位置

这个例子展示了如何在单向模式下使用双向串行/同步连续(bis -c)开放协议读取绝对编码器的位置。本示例使用TI C2000外设(如CLB、SPI、ePWM、X-BAR和GPIO)实现了bis - c协议,使用的是德州仪器C2000处理器的嵌入式Coder®支持包。金宝app

使用这个例子,你可以:

  • 通过配置CLB、SPI、ePWM、X-BAR、GPIO等外设模块,设计并实现bis - c协议。

  • 为控制器生成代码并将其加载到硬件板上。

  • 执行Monitor & Tune监视主机上的位置信号。

BiSS-C接口

bis - c模式(单向)是一种快速同步串行接口,用于从编码器获取位置数据。控制器控制位置采集时间和数据传输速度,编码器将位置数据传输给控制器。

接口由两对单向微分线组成:

  • 控制器时钟信号(图中用MA表示)将位置采集请求和定时信息(时钟)从控制器传输到编码器。

  • 编码器数据输出(图中表示为SLO)将位置数据从编码器传输到控制器,同步到MA。

该图显示了BiSS-C协议的数据格式。

简介

通过TI BOOSTXL-POSMGR位置管理器助力包实现TI C2000 F280049C单片机的bis协议,实现与LinAce的线性轴绝对编码器的接口。bis - c接口上的通信主要由CPU (C28x)、可配置逻辑块(CLB)、串行外围接口(SPI)和设备互连(X-BARs)实现。

  • CLB用于生成bis - c协议时钟信号(BiSSC_CLK和SPICLK)。

  • bis - c协议时钟信号通过ePWM通道(GPIO0 &1)发送

  • SPI执行编码器数据接收功能。

  • 输入X-BAR配置为使CLB监视SPISIMO信号以检测开始脉冲,并相应地调整接收时钟(SPICLK)的相位。

实现

本工作流程描述了TI F280049C发射台的BiSS-C实现。

  • CPU根据LinAce编码器的数据包格式为当前bis - c命令设置一个CLB,如下所示:

  • 在模型中的每一步,CPU设置CLB操作以生成BiSS-C命令以读取编码器位置。

  • CLB TILE3在CLB模块和时钟脉冲(BiSS_CLK-49脉冲和SPICLK-36脉冲)中生成一个2MHz的参考时钟,包括这两个时钟的边缘位置,这是由CLB TILE1在这个速率下精确控制的。

  • SPI中断是在从编码器接收数据包后产生的。然后,CPU从SPI接收FIFO读取并解码编码器位置。

所需的硬件

可用的模型

您可以使用位置读取与bis - c绝对编码器生成代码并将其加载到F280049C发射台上。

硬件连接

模型

要打开模型,在MATLAB®提示符中键入以下命令。

open_system (“f280049C_BiSSC_Protocol”);

这个例子演示了如何从MCU(控制器)生成BiSS-C命令来从编码器读取位置值。

任务1 -配置和运行位置读取与BiSS-C绝对编码器模型

1.打开位置读取与bis - c绝对编码器模型。此型号配置为TI Piccolo F280049C LaunchPad硬件。

2.要在其他TI C2000处理器上运行该模型,请先按Ctrl + E打开“配置参数”对话框。导航到,选择需要的硬件板硬件实现>硬件板

请注意:确保BOOSTXL-POSMGR与所选硬件板的引脚映射关系正确。

3.如任务2所示,在模型中进行外设配置。如果您想在其他硬件板上运行此示例,可以使用相同的参数值。

任务2 -外围配置

设置此模型的外围块配置。双击块,打开块参数配置。如果希望在其他硬件板上运行此示例,可以使用相同的参数值。

配置生成CLB Tile、CLB X-BAR、Input X-BAR、ePWMbis时钟而且SPI时钟

  • CLB

CLB瓷砖1:

  • 为Tile boundary IN0配置GPREG,控制时钟产生顺序。

  • TILE1上生成的BISSC_CLK和SPICLK时钟输出被路由到ePWM1A和ePWM1B输出引脚。其余的tile边界配置将在后续小节中解释。

CLB瓷砖3:

  • TILE3边界IN0的GPREG设置

  • TILE3 OUT4路由到Global Mux,然后在CLB X-BAR中配置为TILE1使用。

CLB配置文件,即从CCS CLB配置工具生成的头文件和源文件,被导入到Simulink模型中。金宝app有关如何配置头文件和源文件的详细信息,请参见时钟生成的CLB逻辑

  • CLB x一横

  • AUXSIG0 Mux select被配置为将INPUTXBAR1即BISSC_DIN线连接到TILE1 BOUNDARY IN1的输入。

  • AUXSIG3 Mux select被配置为将CLB3_OUT4 (TILE1的2MHz时钟源)连接到TILE1_BOUNDARY in2, in3, in4和in5的输入。

  • 输入x一横

  • 生成编码器响应的GPIO24(BISSC_DIN)上的SPIB_SIMO在INPUT X-BAR INPUT1中配置。

  • 该设置使编码器开始脉冲在TILE1内部由TILE1_FSM_1读取,然后由TILE1_FSM_2触发TILE1_COUNTER_2生成SPICLK时钟周期以读取数据包。

  • ePWM块

  • 配置ePWM One Shot Trip选项,将输出GPIO0 (ePWM1A)和GPIO1 (ePWM1B)驱动到高状态,即输出的空闲状态。

  • GPIO块

开启编码器电源。配置GPIO28输出引脚高来驱动编码器。

  • SPI块

配置SPI块以读取编码器位置。

请注意:对于SPI配置,BOOSTXL-POSMGR上的STE引脚连接到地。因此引脚从MCU未初始化。

任务3 -时钟生成的CLB逻辑

在本任务中,你将学习如何:

任务4 -监测信号和优化模型

当你表演时监视和调优操作时,主机计算机与生成的可执行文件在其上运行的目标通信。

先决条件

在执行Monitor & Tune之前,请执行以下SCI配置和拨码开关配置。

科学配置

作为GPIO28是用来开启电源的编码器,使用吗GPIO 35GPIO37为UART运行外部模式。

拨码开关配置

拨码开关配置如下:

1.拨码开关S3, S4, S8: GPIO35和GPIO37路由到虚拟COM口,对外模式操作。

2.拨码开关S6:将GPIO28-29路由到BoosterPack Header。GPIO28现在启用编码器的电源。

1.打开“硬件”页签,单击监视和调优.您可以从Diagnostic Viewer中观察到为模型生成的代码,并且主机在加载生成的可执行文件后连接到目标。

监控信号

当模型运行时,您可以在Display块上监视以下信号。您可以在显示块中监视绝对编码器的位置计数。

其他可以尝试的事情

  • 尝试在F28379D目标上运行示例并分析结果。

  • BOOSTXL-POSMGR支金宝app持最多2个编码器的接口。第二个编码器可以与类似的方法连接。

  • 对位置数据进行CRC (Cyclic Redundancy Check)校验。

更多关于