Host-Target沟通
电机控制模块™使用主机模型和目标模型之间的通信接口来控制电机和观察反馈。
主机模式
主机模型是控制器硬件板的用户界面。在主机计算机上运行主机模型。在主机上运行主机模型之前,请确保在控制器硬件板上部署目标模型。
主机与目标硬件进行命令、控制和数据交换。您可以使用电机控制块集中可用的主机模型执行这些操作:
找到主机系统中的串口(COM口)。有关详细信息,请参见本页的“查找通信端口”部分。
使用serial Setup块配置串口和波特率。
启动或停止电机。
指定电机转速。
通过使用Time Scope和Display块查看主机从目标接收到的调试或输出信号。
目标模型
目标模型运行在控制器硬件板上。将目标模型部署到控制电机的嵌入式目标硬件。目标模型与主机模型通信以接收来自用户的命令(例如,启动或停止电机的命令)。Motor Control Blockset中可用的目标模型执行的一些常见操作:
与主机模型串行通信,接收用户命令并交换二进制数据。
从连接到电机和逆变器的位置和电流传感器读取数据。
通过运行控制算法并处理反馈信息来控制电机转速和转矩。
为逆变器产生占空比输入。
启用快速串行数据监控调试信号。
串行通信块
主机和目标模型通过使用这些支持串行通信的Motor Control Blockset块进行交互:
主机串行接收
主机串行设置
主机串行传输
使用这些块,您可以实时监控、控制和定制电机操作。例如,您可以查看调试信号,停止或启动电机,并更改电机速度,而无需重复部署目标型号。
快速串行数据监控
电机控制块集示例模型使用快速串行数据监控算法,通过主机模型执行控制和诊断操作。该算法使您能够以与执行采样时间相同的速率观察来自目标设备的数据(例如,20kHz的PWM频率)。这反过来又有助于瞬态的诊断和分析。
评估板通常通过USB连接提供串行通信,从而实现快速串行传输。运行在德州仪器™发射台硬件板上的模型发送信号我一个而且我b串行接口上的电流。
例如,考虑这样一种情况,一个模型需要每50µs采样两个信号a和B,并将它们发送到主机模型进行监控和调试。为了满足这一要求,电机控制块集示例将整个信号数据划分为600个数据点的数据包。因此,一个来自信号a的数据包与一个信号B的数据包相结合,结果是1200个数据点。使用这种方法,目标硬件按顺序向主机模型发送一对数据包(来自信号a和B)。目标器进一步将这些包对分组为节。每个部分以头开始,以结束符结束。在一个报头之后,主机模型开始缓冲数据点,直到它接收到一个终止符,之后Simulink金宝app®读取可以监视的缓冲数据。
读取我们选择的缓冲数据启用阻塞模式并设置数据大小来(2 n)
而且样品时间来n * 50
µs在主机串行接收块参数对话框。使用此配置,主机串行接收块读取2×n
每个数据点n×50
µ年代。的值n使Simulink主机模型能金宝app够实时高效运行。
Motor Control Blockset的例子采用了这种方法,因为Simulink在低数据速度下处理大数据包时表现出了金宝app高效率,而目标硬件(由Motor Control Blockset使用)在较高的数据速度下有效地处理较小的数据包。
使用主机模型在主机计算机上接收这些信号。电机控制块集示例实现面向场控制(FOC)算法的F28379D发射台使用mcb_pmsm_foc_host_model_f28379d.slx
.实现FOC算法的例子F28069M目标,使用mcb_pmsm_foc_host_model_f28069m.slx
.电机控制块集还为基于应用程序的示例提供了其他主机模型。
选择COM端口和波特率
在主机型号的Serial Setup块中选择与您的单板相匹配的适当COM端口。调整单板的波特率:
德州仪器发射台 | 波特率 |
---|---|
F28027发射台 |
3.75 e6 |
F28069发射台 |
5.625 e6 |
F28377S发射台 |
12 e6 |
F28379D发射台 |
12 e6 |
在目标设备上部署目标模型后,运行主机模型并观察在时间范围内以20 kHz更新的调试信号。您可以使用相同的技术监视其他处理器上的其他信号。
请注意
SCI_A通常连接到FTDI芯片,该芯片允许在LaunchPad板、坞站和ISO控制卡上通过USB进行串行传输。
寻找通信端口
在Windows操作系统的“设备管理器”中,通过以下步骤可以找到设备的串口®PC,在你将目标硬件连接到你的系统后:
开放设备管理器在你的Windows电脑上。
在下面找一个条目端口(COM & LPT)题为USB串口(COMX),其中X是一个数字。您可以记下这个数字来配置主机模型中的串行设置块。
如果COM口定位困难,请按照以下步骤定位COM口:
开放设备管理器在你的Windows电脑上。
在下面找一个条目端口(COM & LPT)题为USB串口(COMX),其中X是一个数字。如果有多个COM口,可以通过断开和重新连接C2000单板,并在“设备管理器”中观察更新情况来确定COM口。
或者,按照以下步骤为连接的目标硬件确定正确的端口名称:
右键单击通信端口,单击属性.
在细节选项卡上,选择硬件id财产。
如果端口显示如下id,则该通信端口属于所连接的TI的C2000™控制器硬件板:
视频:0403
PID: A6D0
如果您没有看到或找到正确的端口端口(COM & LPT),导航到德州仪器调试探头遵循以下步骤:
右键单击类辅助端口属性并选择属性.导航到先进的选项卡,选择负载VCP.
右键单击XDS100类调试端口属性并选择属性.导航到先进的TAB和clear负载VCP.
断开并重新连接USB电缆到系统,并观察设备管理器中的更新以确定COM端口。系统现在显示的COM端口属于所连接的TI的C2000控制器硬件板。
提示
VCP代表虚拟COM端口(用于支持通过USB串行通信的设备)。金宝app
如果德州仪器调试探头不出现在设备管理器,展开通用串行总线控制器在设备管理器中执行以下步骤:
右键单击TI XDS 100通道B并选择属性.导航到先进的选项卡,选择负载VCP.
右键单击TI XDS 100通道A并选择属性.导航到先进的TAB和clear负载VCP.
断开并重新连接USB电缆到系统,并观察设备管理器中的更新以确定COM端口。系统现在显示的COM端口属于所连接的TI的C2000控制器硬件板。
如果设备管理器没有检测到目标硬件,请执行以下步骤:
检查目标硬件是否已连接到系统。
检查设备驱动程序是否正确安装。通常,设备驱动程序与Code Composer Studio™(CCS)一起安装。检查系统上是否安装了CCS软件。或者,尝试重新安装Texas Instruments建议的设备驱动程序。
检查串口线缆是否完好。
如果问题仍然存在,请尝试将硬件连接到另一个系统,并检查设备管理器是否检测到硬件。
如果仍然遇到该问题,可能是目标硬件故障。
从目标硬件添加调试信号
包含在电机控制块集示例中的主机模型提供了信号的列表调试信号部分。您可以选择这些信号,并使用主机模型上可用的时间范围来监控它们,以便进行调试。
一次只能向此部分添加一对调试信号。或者,您可以修改列表中的现有项(例如,Speed_ref & Speed_feedback)来表达你想要的信号。方法中添加一对新的调试信号调试信号部分。
双击调试信号单选按钮,打开块参数对话框。添加一个新的状态值(例如,
6
-Id_ref_PU & Iq_ref_PU
)转至现有名单。的块参数对话框Debug_signals常量块可用TX主机模型的子系统。将该常量设置为在步骤1中添加的新状态值(例如,更改该值
5
来6
).打开与主机模型关联的目标模型,并打开
电流控制/ Debug_signals
子系统。向下图突出显示的mux块中再添加两个输入:
的块参数对话框选择器块,并设置输入端口大小参数值为mux中现在可用的输入数量(例如,将值从
9
来11
).连接新的信号(例如,Id_ref_PU而且Iq_ref_PU)到步骤4中添加的新mux端口。
的块参数对话框多端口切换块,并设置数据端口个数参数表示主机模型中当前可用的调试信号对的数量(例如,将值从
5
来6
).添加一个常量块,该块具有一个向量值,表示mux上的新信号位置(例如,使用向量
(10、11)
为你在步骤4中添加的mux输入)。连接这个常量块到新添加的端口多端口切换块。