CAN FD总线基础

学习笔记系列之CAN FD总线。 之前一篇笔记记录了CAN总线基础:https://blog.shuspieler.com/3649/ , 在这继续记录CAN FD的知识。 如果用一句话总结CAN FD和CAN的区别的话,就是为了加大数据吞吐率,在Payload使用了不同的传输频率,头部尾部保持不变,从而在相同的时间长度,传输了更多的数据,就像下图所示。 CAN FD协议需要新的控制器,而新的控制器是兼容老的CAN协议的,也就是说CAN FD控制器可以向下兼容与CAN控制器通信。有时候车身CAN控制器可以混杂部署,比如通过将一部分CAN控制器设置成休眠模式,就可以在CAN FD控制器之间进行高速传输,比如刷新ECU的时候。通常通过CAN需要传输几小时,通过CAN FD就可以大大减少这个时间。 下边是CAN FD和CAN 帧的对比图: 首先是CAN FD没有remote frame这个帧了。也不难想到,首先是这个用的确实不多,其次remote frame没有Data Field,而CAN FD 和CAN区别就在这里,所以remote frame就失去了其意义。在数据帧中,RTR也被换成RRS(Remote Request Substitution),并且保持显性电位。在帧头的SOF,IDE,以及帧尾的ACK,DEL,EOF以及ITM(Intermission Field)都与CAN总线一致。 CAN FD和CAN的帧主要区别位于IDE和ACK之间。如下图所示,两者的区分是那个r保留位,当r是显性电平逻辑0时候,代表这是一个传统的CAN帧,当r是隐性电平逻辑1时候,说明这是一个CAN FD帧,同时这个保留位r有了一个名字FDF: Flexible Data Rate Format。 CAN FD控制器可以发送和接收传统CAN帧以及CAN FD帧,传统CAN控制器在接收CAN FD帧由于显性电平r是不符合规则从而会报错,然后将通过错误帧应答,也就是说,传统CAN并不能解析CAN FD数据,按照错误帧处理。 CAN FD中有一个新的帧叫做BRS(Bit Rate Switch),当这一位是显性时,中间部分数据传输速率baud rate 2 和帧头帧尾传输速率baud rate 1 是相同的,这种情况下CAN FD并不能起到加速速率传输的效果。当这一位是隐性时候,中间部分数据传输速率变为 5Mbit/s,这是一个在实验室大量验证证实在绝大多数车身网络这是比较可靠的值。BRS的值决定了中间部分从BRS起到ACK之前的速率。 ESI全称Error State Indicator,这一位是显性代表这个节点是Error Active状态,如果这一位是隐性,代表这个节点是Error […]

CAN FD总线基础 Read More »

CAN总线基础

学习笔记系列之CAN总线。 基础知识已经学习过很多次了,可是时间久了对于一些细节的记忆就会模糊不清,每次资料看别人的总结还不如自己也总结一下,之后看自己的笔记就好了。 CAN (Controller Area Network) 在1980年由Bosch提出并于1994年进行了标准化(ISO 11891-1)。时至今日,CAN依旧在汽车动力总成,底盘等领域有着广泛的应用。CAN可以提供非常可靠的数据传输,以及满足很多情况下对于实时性的要求。 CAN标准可以再细分为高速和低速两种不同的子协议,主要区别在于物理层的电压不同从而最大传输速率有区别,低速CAN(CAN Low Speed)遵循 ISO 11891-3 标准,最高传输速率为 125 kbit/s. 高速CAN(CAN High Speed)遵循 ISO 11898-2 标准,最高传输速率为 1Mbit/s。通常我们汽车领域用高速CAN并且设置速率为 500 kbit/s,同时低速CAN也有特有的优势,比如说抗干扰能力强。 下边这张图对比了我们熟知的OSI七层模型和CAN 模型的对比。 通常情况下,CAN协议通过硬件控制器(CAN controller)的形式实现,物理信号的收发通过CAN收发器(CAN Transceiver)进行。通常选择非屏蔽双绞线来连接CAN收发器,传输距离不超过40米,并且在两端需要连接两个120 欧姆的电阻(仅高速CAN,低速CAN不做要求),以防止信号反射造成干扰。协议还规定了,一条CAN总线最多连接32个节点。 由于不同信号有着不同的传输频率的需求比如有的传输周期是10毫秒有的是100毫秒,所以也就催生了CAN控制器(CAN Controller)分为带储存(缓存)型和不带缓存型两种。不过对于上层控制器来说,一致都是将CAN控制器当作一个“储存芯片”对待,从中读出和写入数据。 双绞线可以有效地降低电磁干扰,在CAN总线(CAN Bus)中这两条线分别被称作 CAN high line (CANH) 和 CAN low line (CANL). 在网络物理层基于差分电压传输,这种模式可以有效消除电机,点火系统等开关造成干扰电压冲击带来的影响。 对于高速CAN,协议定义差分电压0伏代表逻辑1,并被称为隐性; 差分电压2伏代表逻辑0,被称为显性。有点绕,但是一定要记清楚! 关于高速CAN和低速CAN差分电压的规定如下图:   以高速CAN为例子,理解为何差分为2逻辑为1,是显性;而差分为0逻辑为0,是隐性,可以结合下午CAN收发器(CAN Transceiver) 物理实现来理解: 同时显性会覆盖隐性,也就是说,当同一时刻不同的节点有发送显性也有发送隐性,那么在总线上会展示成为显性,只有当所有的节点都发送隐性的时候,总线才会展示成隐性。我是这样记忆的,假设我们有多个TxD,只有所有的Driver都发送逻辑1:隐性,也就是所有上边和下边的三极管都是断开状态(Driver输出0),那么对于Receiver才能测出差分电压为0,单反有一个TxD发送了逻辑0,就是有一对上下三极管是接通状态(Driver输出1),那么CANH和CANL就分别接到了VCC和GND,那么Receiver检测的差分电压就是2V。当然现实情况会有一定的误差,CAN协议规定当差分电压大于0.9伏才能被认为是显性(逻辑1),差分电压小于0.5V才能被认为是隐形(逻辑0)。 对于低速CAN,协议规定差分信号是5V代表逻辑1,差分信号是2V代表逻辑0。根据CAN协议逻辑,可以看出显性和隐性是AND逻辑。就是说有一个发逻辑0(显性),结果就是逻辑0(显性)。 在CAN通信中,节点是以广播的形式发出信息的,所有节点都可以接收,然后根据其中的ID号过滤来确定是否试自己需要的信息。在数据格式上,CAN的Frame共有三种形式:Data

CAN总线基础 Read More »

敏捷和Scrum

Manifesto for Agile Software Development   We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That

敏捷和Scrum Read More »

控制变量法下的鼻炎

大约七八年前我在郑州读书的时候,我患有非常严重的鼻炎。那时候郑州空气污染很重,一年之中鼻炎最严重的就是送暖的第一周,我甚至能够根据我鼻炎的程度,感知学校是不是开始暖气送暖了。2014年冬天我去到了德国,当时还想着去体验一下那里的优质医疗,由于也都是免费的,想着读书之余,把鼻炎根治一下。但是神奇的是,那年冬天一天鼻子难受都没有过,甚至之后接下来的七年,也完全没有再犯过。我甚至都以为我的鼻炎自己好了,因为都七年了,一丁点事情都没有,很是开心。逐渐地逐渐地,我甚至都快忘了我有鼻炎的毛病,直到今年冬天。 今年回国来到北京生活,真的领略了大家说的北方冬天的空气以及大家口中所说的北京不适宜生存是什么意思。空气长期保持在一个不干净的状态,到了秋冬加上环境干燥,我熟悉的七八年前鼻炎的体验终于又回来了,原来我鼻炎并没有自动好,只是在德国的那七年,一次都没犯过罢了。到了今天实在扛不住的时候,我终于妥协了,开始吃下火药和消炎药。自诩体格非常好,印象中已经七八年没吃过药了,我完全想不起来上次吃药是啥时候,这次重拾小药片,纪念一下。。。 三四月份刚回来时候也有一定程度鼻炎过敏,那时候我猜可能是花粉,之前没过敏过,体验下来也是挺难受的,从那时起养成了看空气质量的一个习惯。我发现同一个地儿的空气质量与所用的手机有关系,以及是用百度或者谷歌查询有关系。比如下边的几个例子,两个是春天同一天拍的,中午用苹果查出来AQI是22评级是非常好(Excellent)而右边三星同一时间查出来的是AQI是52评级是中等(Moderat)。另一张晚上用苹果查出来的是55评级是很好(Good),右边三星查出来是85评级很差。这几天由于我鼻子很难受,我又对比了一下,中午时间苹果AQI是88评级是很好(Good),三星AQI是101评级是非常差(sehr schlecht)。真的很有意思,同一时间同一地点的空气质量,竟然与用户使用的手机品牌有关系,也是长知识了。

控制变量法下的鼻炎 Read More »

微信提示:连接失败,请在电脑上重试

想把微信聊天记录备份在电脑上,可以一直提示:“连接失败,请在电脑上重试”。已经检查了是在同一个网络,电脑和手机都连接了同一个WiFi。可是依旧莫名连接不上。网上的教程大多就是同一无线局域网,或者直接电脑连接手机本身的热点,关闭电脑防火墙等,可是依旧不行,错误提示如下。 尝试了半个多小时,终于找到了原因解决了问题。 首先我电脑上安装了杀毒软件,网络教程普遍教的关闭系统防火墙,在我这里应该对应改成在杀毒软件里边关闭防火墙,如下如:   然后关键的一步,就是在iPhone手机设置里边,微信设置,开启允许本地网络,如下图高亮。   在做到了这三点后,即同一个WiFi,关闭防火墙,iPhone手机允许微信使用本地网络,成功解决了问题。 注意这里可能还有一个隐藏的可能出问题的点,就是最好使用家用WiFi,公共WiFi可能有客户端隔离,也就是说电脑端可能不能和手机端内网通信,也可能会造成问题,家用普通路由器多数可以直接使用,不用啥特别的配置,可能有些小伙伴需要注意一下。

微信提示:连接失败,请在电脑上重试 Read More »

业余无线电操作证申请及验机流程

很小时候就对无线电感兴趣,多年前了解到中国无线电协会业余无线电分会(CRAC)这个组织,并且无线电爱好者想要使用电台发射功能,需要相应的操作证书和电台执照,就像驾车上路需要驾驶证和行驶证一样。去年来到北京工作后开始关注起来资格认证相关事宜,可能是相对小众吧,网络上的资源零零散散,官网以及公众号对于整个认证的报名考试,以及之后验机流程不够清晰,于是想着写一个极简版的流程记录,一方面对于我这段时间信息搜寻的总结,另一方面说不定也能帮助到一些新来的朋友。 业余无线电协会存在于全球各个国家,中国也有官方组织。中国无线电协会业余无线电分会(CRAC)是中国总站,全国各大城市还有地方分站例如北京无线电协会,上海市业余无线电协会。在各大城市业余无线电协会多数都有微信公众号,查看最新消息更方便。同时手机端可以使用智谱APP报名。 想合法研究学习使用业余无线电需要参加认证考试,个人拿到《中国无线电协会业余电台操作证书》,类似于驾驶证;自己的电台需要验机并拿到《执照》,类似于行驶证。操作证书分为A、B、C三个等级,A为最初级,通过后六月月后可以有资格报名参加B级,2年后有资格报名参加C级认证。三个级别的证书对应可以使用的波段以及最大发射功率有所不同。中国无线电协会业余无线电分会(CRAC)可以查询到全国举办的各级别的认证考试信息。   但是我个人感觉里边信息不是很全,更加推荐的是到所在地区分协会官方网站查询报名信息。比如我是在北京参加的认证,我查阅信息并且实际报名使用的网站是北京无线电协会。流程也不复杂,跟着网站注册流程填写个人资料,等审核通过就可以在举办认证时候及时抢考位了。在北京考位分两种,一种是加入协会参加一个90分钟的讲座,费用100元,紧接着参加考试认证;另外一个是不参加讲座直接去考试,没有费用。由于题库是公开的,这里根据自己的需要可以选择是否参加。个人感觉那位大哥讲的挺不错的,一方面在考试前会把所有知识点都串讲一遍,另外一方面也会讲一些关于业余无线电有趣的点。在北京参加认证可以关注《北京业余无线电服务中心》公众号,会发布能力验证通知,其中包含了具体时间和地点,例如: 2023年2月18日业余无线电操作技术能力验证名单 同时准备考试,就是所谓的刷题了。都是选择题,题库会不定期更新,官方释放最新题库地方在这里: 中国无线电协会业余无线电分会: http://www.crac.org.cn/News/List?type=6&y= 北京无线电协会:http://www.bjwxdxh.org.cn/news/html/?1001.html 全国题库都是一样的,只是不定期会更新版本,我考A级使用的是v20211022版。当然官网的题库是一个文本文件不方便学习和刷题,有很多第三方学习工具使用起来更加方便。比如我当时使用的是微信小程序《业余无线电工具集》,刷题挺方便的。A级考试40分钟30分钟答对25就通过,题刷熟练的话,5分钟足够了。。这是我当时参加认证的一些照片: 考完试过几天《北京业余无线电服务中心》公众号就会推送通过人员名单,文中也也会写明取证时间和地点,例如: 领取操作证通知2023(年)-03(批次) 取证时候可以同时带上自己购买的电台验机,跑一趟可以做两件事情。注意需电台要有核准码,可看下边列表,不在列表里的不能登记,每次考试完毕北京无线电协会也会更新这个列表。验机不需要实际测试,登记一个串号即可,很快。领取操作证地点和考试地点是在一个大院,但是是不同的楼,下图左边1号楼是当时考场所在地方,前方2号楼是协会办公楼所在地,验机和领证在此。 北京无线电协会: http://www.bjwxdxh.org.cn/news/html/?1080.html 之后等他们电台执照制作完毕,看到公众号通知后,可以再亲自来一趟,或者是在官网可以选择邮寄,不用大老远再跑一趟,还是挺方便的。 现在坐等我的执照制作完毕。     Reference: http://www.bjwxdxh.org.cn/ http://www.crac.org.cn/ https://zhuanlan.zhihu.com/p/607239899

业余无线电操作证申请及验机流程 Read More »

Auto Draft

舒国治说,“有时我站在华灯初上的某处京都屋檐下,看着檐外的小雨,突然间,这种向晚不晚、最难将息的青灰色调,闻得到一种既亲切却又遥远的愁伤,这种愁伤,仿佛来自三十年前或五百年前曾在这里住过之人的心底深处。”

Auto Draft Read More »

网约车司机(一)

说出来你们可能不信,2022年,我这周第一次乘坐网约车。 周日去同学家玩结束的太晚了,公交地铁已经停止了运营。于是只能打车回家,由于我是新用户,打车还便宜了20块。 网约车司机很热情,问我热不热用不用开空调,听不听音乐,并且不管是专车还是快车,在他这儿不做太多的区分,都是最高的服务标准。讲真我该搞不清楚专车快车的区别,从他的话中,我应该是那种便宜的类型吧。我一个糙人没那么多讲究,就说我都行。上车有一个小插曲,我在红绿灯路口等车他手势比划了一下我以为他要掉头于是我过马路到了另外一边,可他后来说让我过到路的另外一边我就又过了两个马路到了红绿灯路口的对角。上车他说从这个细节看出来我性格很好,很多情况一些乘客遇到类似的情形就该有情绪了,他说我在他指错路那一刻没有表现啥很不耐烦表情,他对他如此细节都能观察到似乎感到很满意。 当你在观察一个人的时候,对方也在观察你。在我的视角中,这位司机特别的小心翼翼,上车时候本来打算坐前排,司机说能坐后排吗,对我来说肯定无所谓了。上车后和我寒暄问我冷不冷热不热听不听音乐,以及他之后又表达了对我的观察,给我的印象就是司机很谨慎,他后来讲到他是某五星级酒店做管理的,需要与客户打交道,主要做客户投诉这一块的,形形色色的人都见过,所以对于每个人的特点他在前几秒钟就能有个大概的了解,他的言行可能也与他工作习惯有关吧。 期间他问我是不是零零后,说我声音有点活泼,听着应该很小。我回答道说怎么可能,我是九零后,而且是大九零后。对方问结婚了没我说没,他于是叹气道单身真是好,没有那么多压力,想做什么就做什么。而他现在好不自由,尤其有了孩子后,离婚就更加麻烦。我心里想,一旦心中有过这个想法并且敢和他人提及,在我看来他们家庭的感情被消磨得差不多了吧。他讲到当初结婚,也是家里催得紧,就匆匆忙忙结了,要是现在单身的话,就不会每天这么累,现在房贷每个月八千多,而他是酒店行业的现在很不景气,所以到了晚上被迫出来跑跑网约车贴补一下家用。他所在的万豪五星级酒店平时生意很好,接待的还多是外国人,虽然收入也不是特别高,但是也用不着再做个副业。而现在不行了,虽然他在酒店也是管理层了,可是没有客户他们的收入被影响得厉害,现在每个月都压力好大,所以周五晚上跑快车可能会跑到两点,周六周日的话可能跑到12点。我的那个单是他抢的,像这样子单程一百多的是非常好的大单,他这个跑完可能就回家去休息了,毕竟第二天周一还得工作。 每一个司机背后都是一个家庭,跑快车都有着他们自己的原因。我之后计划简单地记录一下与我有一面之缘的司机,这是在这个城市真实的生活。

网约车司机(一) Read More »