
埃斯顿量产伺服控制器C代码与硬件图纸:"```这个标题包括了您所提供文本的要
点。具体为:“埃斯顿量产伺服控制器TMS320F28335+FPGA全套C代码与硬件图纸”。``
`
【工业级伺服控制器硬核拆解】最近搞到埃斯顿量产伺服驱动器的全套技术资料,这玩意儿在工业
现场可是扛把子的存在。咱们直接上硬菜,先拆硬件再聊骚操作。
硬件架构整得挺暴力——DSP+FPGA黄金搭档。主控板上的TMS320F28335跑200MHz主频,专门处理电流
环这种实时性要求高的任务。旁边Lattice的MXO1200 FPGA搞IO扩展和编码器接口,这搭配比咖啡配油条
还带劲。驱动板直接上了5KW模块,散热片厚度堪比诺基亚手机(手动狗头)。
AD采样电路暗藏玄机,三路独立采样支路分别处理母线电压、相电流和温度检测。注意这个差分走
线设计:
```c
//DSP端的电流采样处理
#define ADC_OFFSET 2048 //12位ADC中间值
void Current_Calibrate(int16_t rawA, int16_t rawB){
static float iAlpha, iBeta;
//消除零点漂移
iAlpha = (rawA - ADC_OFFSET) * CURRENT_RATIO;
iBeta = (rawB - ADC_OFFSET) * CURRENT_RATIO * 0.57735f; //1/√3
//Clarke变换直接写进中断服务程序
}
```
这段代码在20kHz中断里狂奔,连个除法都不敢用,全是定点数骚操作。FPGA那边用VHDL写的编码器
接口才叫凶残,4倍频计数直接硬件实现:
```vhdl
process(clk_100M)
begin
if rising_edge(clk_100M) then
quad <= EncoderA & EncoderB;
case quad is
when "00" => count <= count + dir;
when "01" => dir <= 1;