大家好。
我在这个学期的项目中、我们必须设计一个可以通过 MATLAB 进行设置的盒子、它必须处理生成的信号(在微控制器中生成)、并且我们必须在 Matlab (实时、如数据采集)中查看这两个信号的测量结果 (生成的输入和获得的输出)。
我有这个方框图:
我想使用 MSP430F5529微控制器(此 uC 内置 USB 控制器)、我有一些问题:
1) 1) MSP430 USB 不支持等时传输类型、因此我可以使用批量传输类型来传输此类信息。 MSP430上生成的输入信号是一个16位信号、由 I2C、SPI 接口或类似器件发送到 DAC。 然后、转换后的信号(模拟)由受控体进行滤波、在输入信号生成之前、由 K (根轨迹)设置极点和零点。 输出被馈送到 ADC、该 ADC 将信号转换回数字域、因此我们必须通过 USB 将其连续发送到主机(PC - Matlab)。 每个样本有16位=> 2字节、USP 2.0全速支持高达每秒1.5MB 的速度、即使实际带宽低于该值、我也有足够的带宽预算来构建此应用(我猜)。 我的问题是:
1A) Bulks 传输类型适用于此类应用? 我认为一个好主意是定义一个基本的数据包或帧(信息和大小)、并每隔"T"秒通过 USB 将其发送给主机。
1b)为此、是否必须在 MSP 上创建缓冲区来保存信息、直到信息通过 USB 端口发送? 我必须考虑哪种限制? 我的意思是、很显然、缓冲区中有一个信息流(速率)、我想知道哪个参数或值可以帮助我解决这个问题。
2) 2)到目前为止、我已经尝试过 USB 开发包中的 TI USB 示例、但不确定是否允许我使用 USB 描述符工具、这就是为什么我想要(从头开始)编写一个简单但功能齐全的 USB 代码来完成此操作的原因。 我已经阅读了一些文档、例如:

