为什么国外的芯片设计这么牛逼?我学个 Datasheet 都得想个半天。。。

2020-06-13 10:17:11 +08:00
 hello2019

因为我的工作与嵌入式行业相关,会用到很多的芯片。

作为一个驱动工程师,所作的工作就是如何“驱动”这些芯片工作。首先第一次就是学习芯片的 Datasheet(中文名称叫做数据手册),其实说的通俗点,芯片就好像一个冰箱,Datasheet 就好像冰箱的用户手册。

读“用户手册”之后,感受很多,每次觉得项目难做或搞不定的时候,我首先抛给自己一个问题:

芯片人家都能做得出来,你阅读手册连如何用都不会? (通俗点就是:冰箱人家做出来了,你连如何用遥控器都不会?)

每当这个时候,我总是感慨下做芯片的人太牛逼了。。。膜拜。 每当这个时候,我总是鞭策自己一把!!

11588 次点击
所在节点    程序员
72 条回复
Baltimore2012
2020-06-14 09:30:13 +08:00
看 Reference Manual,告诉你如何通过配置寄存器使用这个芯片,dataSheet 当工具书查看。
xiaoyt0909
2020-06-14 09:30:30 +08:00
@hahaandyou001 美国同理
ifxo
2020-06-14 09:35:30 +08:00
很简单的道理,都让你学会了人家还赚毛的钱啊,一个行业都有上中下游,上游的肯定要赚钱
Baltimore2012
2020-06-14 09:38:35 +08:00
@iConnect 你看 TI 的 RM 、DS 、AN,只要单词认识,整个文档就能看懂,行文逻辑非常清楚;其中文文档就比英文稍逊。大陆厂商的 RM 、DS 逻辑混乱,看半天也你弄不明白,盖文字表达能力不够,也有汉语本身语义复杂模糊的原因。简单例子:英文一个 if,对照汉语就有如果、若、倘若、假如、假使、假设等等多种表述。如果工程师英语水平不够,看中文文档都费劲。
JavaIO
2020-06-14 11:56:17 +08:00
头想秃都想不明白 /狗头
ditel
2020-06-14 13:25:17 +08:00
说到这个,就不得不提 35 岁退休警告了
yolee599
2020-06-14 14:54:31 +08:00
国外的文档真的很详细,而且完全开放,比如 ST,TI,ADI,NXP 。反观国内,没有 FAE 根本看不懂,还有的内容不写在文档上,生怕别人山寨他的一样。
ungrown
2020-06-14 16:36:46 +08:00
@shijingshijing #48

别在那自我感动,你看过多少文档?

芯片手册就两页 PDF 的很少见吗?

上千页的软件框架的文档在你看来很不可思议吗?

硬件有复杂的有简单的,软件也有复杂的有简单的。

硬件文档有写的详细的也有写的粗略的,软件文档也有写的详细的写的粗略的。

单一个多媒体编解码工具 ffmpeg,区区几十 MB 的命令行软件,官网上的文档如果下载下来一页一页打印成书,那玩意能砸死人。

然而 ffmpeg 的官方文档众所周知的“还远远不够详细”,众多的命令、变量、格式一笔带过甚至只字未提甚至开发组自己都说不清楚,就这样“粗略”的文档其分量已经让人望而生畏了,嗯?

“管脚定义,时序图,电气性能,温度范围,物理封装等内容”,区区这点内容,就让你感慨大厂的专业性和责任心了?


电子大厂那么多拳头产品,哪个不是除了一份已经“厚厚”的 PDF 之外,还有数不清的应用笔记?

看 datasheet 也就图一乐,真要解决问题还得多多查阅那些 AN 打头的官方应用笔记,里面满满当当的应用场景、设计样例、绕开产品 BUG 的方法、利用产品 BUG 的方法。都看过了?放心,看不完的,一辈子都不够。

那既然没看过在这儿嚷嚷啥呢?来装逼的?果然文人相亲吼,软件硬件不分家,要鄙视大家都在一根链条上吼?

有病!!!

软件文档是描述软件的,硬件文档是描述硬件的。软件暴露在外的是 API,自然要围绕 API 进行描述。硬件暴露给用户的元素难道不是跟 API 类同的东西?

软件的结构、原理、场景、变量、特性、语法、暴露出来的接口、接口接收的变量、接口返回的结果、接口抛出的异常、示例代码、推荐代码、缺陷、BUG 、避免 BUG 的方法、部署方法、运行环境、配置手段……等等等待。

对应到硬件的结构、原理、场景、物理量变化、物理特性、管脚、信号、封装、设计样例、推荐方案、可能存在的 bug 及如何避免、工作环境储存环境的温湿度盐碱度、机械特性、额定电压电流、管脚配置、通信方式、软件配置……等等等等。

来来来,纸和笔给你,我倒要看看你能在相同篇幅下把这些都写明白喽?
shijingshijing
2020-06-14 19:46:55 +08:00
@ungrown 我只是看你不懂还有这几样给你解释,从你的回复我也能看出你是啥水平,既没去过软件大厂,也没去过硬件大厂,眼光和见识都能从你回复中看出来。软件的文档你除了知道 SDK,最多知道个需求然后就没啥了,呵呵。

不跟你细说了,多说一句算我输,已 b,勿念。
ungrown
2020-06-14 20:36:58 +08:00
@shijingshijing #69
你 B 不 B 关我何事? B 了别人还要专门说一声的怕不是羞愧难当给自己保面子哦。
我的回复虽然 @的是你,但是难道就是给你一个人看的?还勿念呢,这网站是你开的吗?你看或者不看跟别人回不回帖子有哪怕一丝逻辑关系吗?嗯?

我当然不是大厂出来的,我不仅没进过大厂,我连中厂都没进过,不、想、进。
咋了不进大厂就看不懂手册了?不进大厂就用不到手册了?不进大厂就没有硬件开发的需要了?
当年还在做工业交换机电路设计的时候,接触到的各种手册不少,有简略的有复杂的。
单是 marvell 一颗低端交换机芯片,pdf 就有小一百页,区区四五十根管脚而已,无法受外部控制,唯二的硬件配置方式是几根管脚拉高低电平,再加一颗 SPI EEPROM 。一路千兆八路百兆接口。
就这么点功能,marvell 虽然本身也不是大厂,依然详尽地写了一册厚厚的 datasheet 。你说的那些“管脚定义,时序图,电气性能,温度范围,物理封装等内容”不仅全都有,而且这些还依然不是全部。
关键差分线如何防护?核心方针是什么?推荐的设计方案是什么?关键部位电源接地平面的铺设需要注意什么问题?散热设计需要注意什么?时钟信号需要如何保证完整性?以太网接口和不同电平的远端接口如何匹配?防雷防护需要注意什么?等等等等。
这些只是一个非大厂工程师在设计一个用了非大厂芯片的产品时查阅到的资料、遇到的问题、学到的东西、积累到的经验罢了,和大厂当然没法比。
但我奇怪的是,你怎么丝毫没有展现出大厂工程师应该具备的远远超过我这种非大厂出身的人所具备的经验学识和概括能力,不仅如此,你居然用硬件手册上很常见的“管脚定义,时序图,电气性能,温度范围,物理封装等内容”来作为自己的论据,我看你也是空有头衔而肚里没货吧。
可惜你已经 B 了,没机会看你秀秀真本事了吼~

对了,我回复装逼的人言辞一向是比较冲的,这既是习惯也是策略,语气冲就像照妖镜,能把对面的真面目照出来。
我一没写脏话而没泼脏水,然后你一没立场二没论据,直接说把我 B 了,然后逃了。
嗯,你这是自描自黑。
太嫩。

(别扯什么 B 不 B 的,这又不是给你看的)
ungrown
2020-06-14 22:43:48 +08:00
@shijingshijing #69
啊,我又来了,我还要补充几句,主要怪我眼神不好,没看到你把我关于软件文档的描述硬是要往 SDK 上做类比。

我啥时候提到过 SDK 了?嗯?
我甚至故意举了一个与软件开发无关的例子,我关于软件文档的例子用的是 ffmpeg,我指的官方文档是 ffmpeg 的命令行参数文档,这是个彻头彻尾的用户使用手册,哪来的 SDK ?
然而就是这么一份 FFMPEG 用户使用手册就已经算得上是“鸿篇巨制”了(对用户而言),且不说篇幅巨大,大到想用关键字搜都不能一下子定位到条目,更不用提这个软件很多特性很多规律甚至尚未被文档化,其中一小部分甚至连开发者自己都用不利索。用户社区内,大家既依赖这份官方文档,也同样依赖互联网上的笔记、问答来分享经验。“精通是不可能精通的,只有一边查文档一边开搜索引擎,日子才能过的下去这样子。”
至于 SDK 文档,你当世界上的 SDK 文档的体量和复杂度和细致度都一样哦?
写的细的软件文档在已经熟络整体的情况下是好事,因为知道怎么查,而且查的快,而且查到的很详细很准确,但是对刚上手的开发人员这就是噩梦;写的简略的文档则情况相反,刚上手时这是一份很好的指导手册,然而很多细节上面没有,得自己尝试或者询问他人。所以成熟的文档是既有巨量篇幅的细节与索引,又有一份面向新手的简介,实现过渡。然而这样的文档一般是成熟的框架、产品、平台的文档,这年头经常开发到一小半就拿出来用 /卖的东西太多了,文档只能逐步完善,这过程中还会有大改,等最后最终定型了,估计这套东西也快过时了。
但即使如此,无论是已经定型的,还是尚在发展的软件,不管是最终产品,还是用于开发的环境、框架、协议、平台,它们的文档论篇幅论复杂度都不会比硬件的文档简单。

你连手册里芯片有个变体这事都能拿上来专门讲一讲,干嘛,欺负这里硬件工程师少?
变体那么多,那是市场需求,客户需要,全写在手册上是尽本分,是为了用户能第一时间确定自己需要的元器件是什么型号、什么封装、什么包装,有些已经停产或者即将停产的用户还得考虑着手做新的替代设计。
有的产品变体能有十几二三十种,甚至更多,这么多变体难道都是给你一页一页慢慢翻看细细品味的?你要是已经定型了就赶紧找到对应的型号,该画封装画封装该画板子画板子。你要是还没选好型号赶紧和其他设计组多沟通赶紧把型号定下来,需要样品该申请就申请该买就赶紧买。
元器件数据手册里面的每项内容,就是这个元器件系列对外部(用户、开发人员)暴露出来的元素,这跟软件对外暴露出来的 API 是一个道理。变体、封装就是一个个列表,电热等物理特性就是元器件与外部环境交互的函数,额定参数是约束条件,管脚是输入输出的参量变量,设计原则是约束方法的函数,推荐方案相当于软件的示例代码,AN 相当于社区内关于问题的问答总结分享。
这不是一回事吗?
咋了,文档都是给人看的,都是为了说清楚事物的,在这两方面,难道硬件和软件有原则性区别吗?

最后模仿你的回复来回复你,这是我最喜欢的环节:
我只是看到你只懂这么几样拿来显摆就泼你冷水,从你回复我也能看出你是啥水平,不管去没去过大厂,终究学点皮毛,玻璃心和少见多怪都能从你的回复中看出来。软件的文档你最多也就知道个 SDK,毕竟我都拿非 SDK 的情况来举例了,你还是只会咬着 SDK 不放,黔驴技穷啊,呵呵。
就要跟你细说,少说一句算我输,你不看有的是别人看,你 B 了是你自己给自己关上一扇门。
SLKun
2020-06-14 22:58:03 +08:00
DataSheet 并不是一页一页看的, 只需要看一些关心的部分就行了
比如说嵌入式的话 只需要关心引脚定义 以及芯片的操作时序和指令就可以了
关心性能的时候可以看相关的一些图表
===
TI/ADI 的大部分 Datasheet 都还是可以的
国产和台湾的一些芯片的 datasheet 有的压根没公开, 找到的也只能呵呵哒

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

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

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

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

© 2021 V2EX