**这是本文档旧的修订版!**
六足机器人FPGA程序思路解读
分层设计
本次FPGA程序主要有四大模块,分别是
1.PWM发生模块
2.目标角度转换目标翻转值模块
3.命令解析模块(产生各种动作指令)
4.UART数据接收模块
PWM发生模块
系统时钟频率为12M,而我们需要20ms为周期的pwm,因此设计一个计数器,每计数240000次清零,然后在翻转值之前,输出高电平,翻转值之后,输出低电平,这样一个周期20ms且占空比可调的PWM发生模块就设计好了。
目标角度转换目标翻转值模块
由于对于舵机来说,需要的是接收一个周期20ms,高电平时间为0.5ms到2.5ms之间的pwm,而角度和这个高电平的时间又是成线性的,因此我们可以专门做个表,将各个角度对应各个不同的翻转值,这样,我们的命令解析模块,在对各个舵机进行指令输出的时候,直接输出目标角度即可,这样也极大的提高了程序的可读性。
命令解析模块(产生各种动作指令)
我们在接收到