RS485串口通信实验

目录

一.RS485简介

二.实验任务

三.系统框图设计

四.波形仿真  

4.1key_trig波形仿真

4.2uart_tx波形仿真 

4.3uart_rx波形仿真

​编辑 

4.4led_ctrl模块波形仿真


一.RS485简介

二.实验任务

       使用两块开发板通过RS485端口互联,由各自开发板上的两个按键分别控制对方开发板上两个灯的亮灭。当按键按下时,对方开发板上对应的led灯点亮;按键释放时,对应的led灯熄灭。

三.系统框图设计

        这里Uart_rx模块同Uart_tx模块采用uart串口通信里的模块,因为rs232和rs485用到的uart协议(数据格式,传输速率)一样的,所以这里可以直接拿来用。

       当开发板接收信号时,并行信号传至uart_rx,该模块将灯并行信号转换至串行信号uart_rx_data[7:0](高六位是0,低两位才是灯信号),led_ctrl模块接收uart_rx_data的低两位信号,从而控制灯亮灭。

       当开发板发送信号时,key_trig模块首先对Key信号进行消抖,然后将key串行信号发送至uart_tx,uart_tx将按键串行信号转换至并行信号后传输出去。

四.波形仿真  

4.1key_trig波形仿真

            起始状态key为2‘b11,因为高电平表示按键未按下,低电平代表灯按下。中间由11跳变至00又跳变至11又跳变至00是在模拟按键抖动。当按键按下至稳态,开始对key信号进行打拍,因为这里需要捕捉key的下降沿,因此打三拍处理。捕捉到key的有效下降沿信号为key_data_valid。

4.2uart_tx波形仿真 

             当key按键按下时,即key_data_valid信号=uart_tx_en信号为高电平时,uart_tx_data暂存key_data信号,并且随着计数器的计数,将该值传给uart_txd。故uart_tx模块最终要发送的信号是uart_txd=8’b00000000。低两位00包含着按键被按下的信息。

 

4.3uart_rx波形仿真

           当uart_rxd波形由1变为0时,意味着起始位到来,计数器可以开始计数了,将接收到的8位数据以rx_cnt为索引记录下来,并逐步赋值给rx_data_t直至信号传输完毕,将rx_data_t信号一次性赋值给uart_rx_data信号,完成并行到串行的转换。

 

4.4led_ctrl模块波形仿真

           当uart_rx模块将信号转换完毕后,即uart_rx_data信号=led_en信号为高电平时,led_data接收uart_rx转换完毕的串行信号uart_rx_data[7:0]信号的低两位,即uart_rx_data[1:0],由于灯亮为高电平,按键按下为低电平,两者互为相反的关系,故当led_data信号来临时,led对其按位取反即可。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值