六足机器人FPGA程序思路解读

本次FPGA程序主要有四大模块,分别是
1.PWM发生模块
2.目标角度转换目标翻转值模块
3.命令解析模块(产生各种动作指令)
4.UART数据接收模块

系统时钟频率为12M,而我们需要20ms为周期的pwm,因此设计一个计数器,每计数240000次清零,然后在翻转值之前,输出高电平,翻转值之后,输出低电平,这样一个周期20ms且占空比可调的PWM发生模块就设计好了。

由于对于舵机来说,需要的是接收一个周期20ms,高电平时间为0.5ms到2.5ms之间的pwm,而角度和这个高电平的时间又是成线性的,因此我们可以专门做个表,将各个角度对应各个不同的翻转值,这样,我们的命令解析模块,在对各个舵机进行指令输出的时候,直接输出目标角度即可,这样也极大的提高了程序的可读性。

我们在接收到