正点原子FPGA开发指南第十七章——RS485串口通信实验
实验任务:本节实验任务是使用两块领航者开发板通过 RS-485 端口互联,由各自开发板上的两个按键分别控制对方开发板上两个 LED 灯的亮灭。 当按键按下时,对方开发板上对应的 LED 灯点亮; 按键释放时,对应的LED灯熄灭。
涉及知识原理:
常用的串行通信接口标准有RS-232(全双工)、RS-422(全双工)/485(半双工),前者是单端输入输出,后两者为差分输入输出。
单端传输:信号传输过程中,用信号线对地线的电压值来表示逻辑“0”或“1”;
差分传输:两根信号线传输一路信号,两线上信号的信号幅值相等,相位相差180度,其差值用来表示逻辑“0”或“1”;差分图如下
按键消抖: 若按键能稳定在同一状态且持续时间达 20ms, 我们就认为抖动过程已经结束, 此时的采集的按键数据有效
技术层面:串口收发verilog代码与RS-232一致,根据不同的功能,顶层有差异;差分等工作由开发板上相关芯片自动完成,FPGA逻辑上收到的信号是已经差分后的结果
*本文仅记录学习过程,详细讲解及代码自行参考正点原子官方资料