完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在芯片和芯片之间的通信中,芯片要接收来自其他芯片传输过来的数字信号,同时或者不同时向其他芯片发送数字信号。我想知道芯片内部是如何处理这些数字信号的? 以最常见的串行通信为例,数据是一位一位传输的,不同的通信协议其通信波特率相差很大,从几K到几十M不等,芯片接收时是一位一位接收过来的,芯片是如何处理这些数字信号的?又是怎么知道这些不同排列的数字信号各自代表的含义,并相应做出动作发出回应的? 再者,芯片内部是如何知道接受的二进制是特定长度的数据位,是不是芯片内部有一个专门计数的寄存器,一旦开始接收,就以设定时长开始计数,在规定时长计数不够或者计数太多就认为是错误? |
|
相关推荐
2个回答
|
|
“特定长度的数据位”是通过波特率设置的,串口波特率决定每秒传输的数据位数。“不同排列的数字信号各自代表的含义”如某种芯片串口空闲引脚为高电平1,起始位为低电平0,数据位01自己规定,停止位为高电平1,如果你的数据位为0011 0000,转化为十进制就是48,对应ASCII码就是'0'。“不是芯片内部有一个专门计数的寄存器”设置采样频率对信号进行采集,例如采样频率可以设置为16倍采样(波特率的16倍),采样到起始位,说明有数据传过来,采样的数据位放在接收移位寄存器里,采样到停止位说明数据传输结束。实在不理解,可以用示波器抓波形试试,或者去看一下SPI的时钟线和数据线是如何配合的。
最佳答案
|
|
|
|
芯片之间是按照某种通讯协议进行的。具体用那个协议,在芯片的使用说明资料中,有详细介绍。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-spi编程示例之spi编写程序
657 浏览 0 评论
《DNK210使用指南 -CanMV版 V1.0》第三十七章 image图像对比实验
640 浏览 0 评论
753 浏览 1 评论
546 浏览 0 评论
关于RT-Thread studio添加freemodbus控件失败的问题
910 浏览 1 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11652 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-10 15:58 , Processed in 0.374166 second(s), Total 42, Slave 37 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号