问下各位前辈,我最近刚开始学通信接口协议,有没有相关书籍推荐啊

2019-10-16 00:37:14 +08:00
 EZG997

最近学通信接口协议:UART,SPI,I2C,CAN 等,查了一下,可能比较合适的是这类书:微机原理,嵌入式通信,串行通信接口等。目前主要是看网上的文章视频,感觉讲的比较零碎,不成体系,有这类经验的前辈麻烦推荐几本合适的书,想学习一下,谢谢!

5248 次点击
所在节点    程序员
23 条回复
429463267
2019-10-16 02:58:29 +08:00
图解 http
starsriver
2019-10-16 07:54:50 +08:00
@429463267 搞笑呢。

书本就拉到吧。自己买一个 fpga 核心板或者单片机自己试试,最简单的就是树莓派。100 一个 zero。
panda1001
2019-10-16 08:19:06 +08:00
通信协议是嵌入式的知识点,协议翻手册,软件上就是 linux 驱动编程那些书
airqj
2019-10-16 08:20:51 +08:00
买块资料多的单片机开发板就够了 书都不用
xiaoyu03
2019-10-16 08:40:20 +08:00
我觉得通讯要两个设备间实验才直观,建议树莓派+单片机?
lihongjie0209
2019-10-16 09:09:30 +08:00
@429463267 #1 怕是没看题吧
Harv
2019-10-16 09:11:50 +08:00
白皮书
chinawrj
2019-10-16 09:29:35 +08:00
通信电子线路 电路 数字电路啥的先学一下吧。
VDimos
2019-10-16 09:51:04 +08:00
@429463267 在这瞎误导啥呢
XuanFei990
2019-10-16 10:13:42 +08:00
以前刚入行的时候,我可能是找一些网上文章,或者看一下相关的例程,比如 51 或者 stm32 的开发板例程都会有这类接口的例子,看一下。
后来可能就是去翻一下通信接口的官方协议规范,里边包括物理层,协议层描述,会更清晰一些。
BingZ
2019-10-16 10:32:11 +08:00
除了 CAN,前 3 个都不复杂,看网上科普足够。至于书,没觉得比芯片手册好。直接上手:
百科类:
https://en.wikipedia.org/wiki/Serial_Peripheral_Interface
https://en.wikipedia.org/wiki/I²C
https://en.wikipedia.org/wiki/Universal_asynchronous_receiver-transmitter
科普类:
https://electrosome.com/spi/
https://electrosome.com/i2c/

这些协议的学习分两块:电气特性和应用协议,电子类专业请务必重视电气特性规范和常用的电路设计。前三种协议,找个单片机的手册看看主控如何实现的:如 STM32 系列;再找几个 I2C 或 SPI 的外设芯片做下实验、看下手册就够了。

另外,I2C 的权威资料可以去 NXP 拿,这是他家主导的。https://www.nxp.com/docs/en/user-guide/UM10204.pdf
一切以规范协议为准。

CAN 的坑有点大,入门教材网上挺多,这里介绍一个:
免费注册后,可下载入门简介:
https://www.kvaser.cn/training-materials/
https://www.kvaser.cn/about-can/can-protocol-tutorial/
入门视频,自备梯子:
https://www.kvaser.com/e-learning/
入门后,看正式协议,ISO15765 和 ISO14229,自行百度下载。
应用还是以车用为主,还是建议从实际节点芯片和控制器入手实践更好。
laminux29
2019-10-16 10:33:52 +08:00
C 或 C++,通信原理(主要是 udp 与 tcp ),数据结构。

我觉得这三样能达到 80 分就可以完成接口的基础设计与实现。
wangkai0351
2019-10-16 14:31:28 +08:00
stm32 的中文芯片手册+sdk
wangkai0351
2019-10-16 14:37:24 +08:00
@starsriver 实名 diss 你的评论,楼主要学习通信接口协议:UART,SPI,I2C,CAN 等,你提出的建议是 fpga 核心板或者单片机,从这个角度,我认为你说的不对。
1 ) fpga 的 UART,SPI,I2C,CAN 等发送和接收模块 IP core 是收费的,你是想让楼主自己练习写 ip core 还是让楼主自己买 ipcore ?我认为不论哪种都是不合适的。
2 )单片机中包含 UART,SPI,I2C,CAN 的发送和接收模块吗?我认为不包含。姑且认为你说的单片机等于你说的树莓派,倒是可以说通,但是这样说是不符合逻辑的,参考 http://www.elecfans.com/emb/805428.html
ziyuzile
2019-10-16 16:03:07 +08:00
@wangkai0351 用单片机的话主要是学怎么用,FPGA 自己实现一个简单点的理解更透彻,最后用单片机时那些参数也理解的更深刻一些。
sansanhehe
2019-10-16 17:04:27 +08:00
unix socket 编程
starsriver
2019-10-16 18:59:02 +08:00
@wangkai0351 我就笑笑。

你自己开发过 fpga 吗?
Destiny97
2019-10-16 23:17:57 +08:00
推荐 fpga 或者单片机 io 模拟
wangkai0351
2019-10-17 08:49:15 +08:00
megamilk
2019-10-17 11:12:02 +08:00
直接上单片机吧,学习够了,小麻雀但该有的都有,楼上推荐的 FPGA 成本有点高,上来一大堆逻辑门电路都的整晕你,还要另学 Verilog 或者 VHDL 语言,等入门了能实现各类通讯协议了,再想深入了解底层的东西的话入 FPGA 也不迟

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/609731

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX