文章目录

  • 电感,Keil5兼容C51,C语言宏替换
  • AC7811单片机
  • CAN通信协议,比特率bps
  • CAN通信协议标准,标准数据帧,扩展数据帧,0u与0ul
  • ECU,FLASH,RAM
  • ADC通道规则
  • ADC,DMA
  • JTAG与JINK调试
  • 计算机知识 C:\Users\Administrator\Desktop
  • 软件安装
  • 汽车LIN总线介绍,MMI
  • BDM车身域控制
  • Stateflow线上培训
  • Source insight4建立工程,SVN分支
  • VGA,DVI,HDMI区别

电感,Keil5兼容C51,C语言宏替换

L1电感的作用原理?就是隔交通直(我一开始隔直通交了哈哈哈)
MPQ4420是降压模块
原理图中tp符号?是测试点,自己使用
TJA1027T用来进行收发

JTAG+SWD==J-link==keil中debug要设置jtag调试

王凯说,原理图中红色部分,不参与电路板,只是起到标注作用,易于观看

keil5-MDK版与Keil5-c51是两个安装包,其中想要兼容两者,都安装在一个文件路径即可
先安装好MDK之后,破解好之后,再安装keil5-c51版本,注意安装过程中(因为两个软件包安装在同一个文件下面了),提示你点文件覆盖还是跳过,此时一定要点skip,亲测点全部覆盖,失败了好几次,第一天上班因为这点安装好几次都失败

加括号是为了处理表达式参数(即宏的参数可能是个算法表达式)时不出错,因为宏替换就是文本替换。
比如以下情况:

#define COM(A,B) (A)*(B)
那么COM(6+5,3)它会换成这样: (6+5)*(3)

显然这是和COM宏的意图一致的,但是如是去掉了定义中括号,即写成这样:

#define COM(A,B) A*B
那么COM(6+5,3)它就会换成这样: 6+5*3

这样显然就和宏的意图不符合了。

只有处在jlink调试时才可以打断点

AC7811单片机

AC781单片机有68个IO口(boot也当做IO使用),16条外部中断线,对应于7个外部中断向量==7个外部中断函数,每个引脚都支持引脚复用功能

准备:①利用gpio子例程中1的定时器2中断1ms进入一次,来进行判定5s(这个5s例程使用的是普通延时函数)

汽车靠背原理图中BZX84-C39是稳压二极管

初次接触AC7811单片机,用定时器实现了控制两个电机正反转(正转10s,反转50s),完成了王凯让我实现的小功能,并且学习了开发板中GPIO的代码例程,并且初次接触j-flash,并用其下载程序

学习使用source insight软件,建立工程,add all也行,add tree也行,具体教程已经收藏在博客里面,file name可以不用写直接close即可

CAN通信协议,比特率bps

安装S32-RAM软件,并初步学习使用其软件,can学习(王凯发给我的can资料)
Migrate迁移
Can通讯,半双工,异步通信,无时钟信号,can控制器通过两根线上的电位差来判断总线电平,can通讯不对节点进行地址编码,只是对数据内容进行编码
汽车数据采集-TTL电平->(cpu+cpu内部集成的CAN控制器)->can收发器->差分信号can总线->差分信号->can收发器->TTL电平->can控制器->完成汽车功能==明白了吗?
Can物理层=环路模式(也就是闭环总线,两头要有匹配电阻,这种比较常用)+开环模式(开环总线)
Can通信没有时序信号,所以和串口通信一样,必须事先统一好发送和接收的的波特率
LAN=local area network=局域网

刘洋B站视频
Can通讯协议标准分为高速通讯标准和低速通讯标准(刚好这个低速和高速涵盖了一台汽车里面的所有通讯),can通讯只需要两根线
Can通讯以5种类型帧来进行通信,一帧=7个段组=帧起始,仲裁段,控制段,数据段,crc段,ack段,帧结束==一个标准数据帧最多可以发送108位
位速率=每秒发送的位数=一位由四段构成,每一位由若干个tq构成

bps(bits per second)是数据传输速率的常用单位,意思是比特率、比特/秒、位/秒、每秒传的位数。 比特(bit)是信息技术中的最小单位。 文件大小(例如文本或图像文件)通常以字节(Byte)为单位。 一字节对应八比特。 在数据传输中,数据通常是串行传输的,即一个比特接一个比特地传输。 数据速率的单位是比特每秒(bps),含义是每秒串行通过的位数。 Bps (Bytes per second), 即字节每秒,因为一字节对应八比特,所以1 Bps = 8bps。 比特率是指每秒传送的比特 (bit)数。 单位为 bps (Bit Per Second),比特率越高,传送数据速度越快。

今天给六个板子烧录昨天王凯让我写好的程序,初次使用了探针,使用j-flash工具烧录的

CAN通信协议标准,标准数据帧,扩展数据帧,0u与0ul

Can=串行通信协议=ISO(国际标准化组织)定义的一个协议标准
Lan=局域网=内网=私网
多个内网=多个子网之间通信涉及到,网关的使用
ID号决定优先级,无其它特殊意义,can通讯没有地址概念,因此理论上总线可挂接无数节点
Iso定义的这套标准=硬件控制(1物理层=线路连接,2数据链路层=数据帧,寄存器啥的)+软件控制(3网络层,4传输层,5会话层,6表示层,7应用层)
数据链路层=MAC层+LLC层=帧化-仲裁-应答-错误的检测和报告
Iso仅仅对硬件控制层进行了标准化,在物理层规范了高速(环路模式)和低速两种通信(开环模式),两种模式的驱动ic不同=can控制器里面的电平转换芯片不同

数据传输==一帧一帧数据传输==电影也是一帧图片传输形成了画面,这个帧分为五种帧==数据帧,遥控帧,错误
帧,过载帧,帧间隔
一帧=7个段组=帧起始,仲裁段,控制段,数据段,crc段,ack段,帧结束==一个标准数据帧最多可以发送108位
(只有数据段的位数是不固定的0-64位)

数据帧分为标准数据帧和扩展数据帧,扩展帧只是ID号位数变多了,其它差别不大,因此扩展数据帧最多发送位数>108
标准数据帧格式=sof+id+rtr+ide+r0+dlc+data+crc+crc界定符+ack+ack界定符+eof
扩展格式=不写了
其余四种帧的格式也不写了
标准数据帧格式=sof(帧起始,1位,总线显隐性由它决定,显性0代表开始)+id(仲裁段,11位,决定优先级,禁止id=1111111XXXX)+rtr(没说,1位,只能是显性)+ide(1位,没说)+r0(1位,保留位必须显性0)+dlc(数据长度码,4位,1111代表8个字节,刚好是64位)+data(0-64位)+crc(15位)+crc界定符(1位)+ack(1位)+ack界定符(1位)+eof(7位,必须全是隐性1111111)
仲裁的过程,也很简单,不用说了,具体看can入门pdf

小白在学习过程中有时会在程序中看到0u或是0ul等常量有后缀的情况,如果没接触到C语言常量后缀的话可能就有点疑惑~
其中的u为unsigned,l为long,f为float
C语言中常量的默情况:整形默认为有符号int;浮点型默认为double;如果整形常量大小超出int,默认自然就为long int;如果需要无符号整形常量的话就可以在常量后面加u或是U,如0u或是0U,同理可以在常量后面加ul或UL表示无符号长整形常量;而浮点型常量后缀只有f或F,l或L,没有u或U,因为浮点数一般都为有符号

安装can驱动,和can调试软件

ECU,FLASH,RAM

Ecu=Electronic Control Unit=汽车的电子控制单元
学习CAN分析仪使用手册(CANalyst-Ⅱ)
Flash存储代码,arm存储数据(变量的值与地址,也包括寄存器地址与寄存器存储的值),比如F4中的4GRAM中分为八个块,每块512MB空间,比如某一块空间里面给存储器分配地址,这个叫做“映射”,寄存器中又细分小寄存器,在地址里面又分配地址,叫做“重映射”

ADC通道规则

不想看到keil中.c文件下面的.h文件,或者说多出来个.h文件,在魔术棒旁边的选项里面将Files中相应的.h文件删除即可

通常规则通道组中可以安排最多16个通道,而注入通道组可以安排最多4个通道。规则通道组的转换好比是程序的正常执行,而注入通道组的转换则好比是程序正常执行之外的一个中断处理程序。

GPIO_SetFunc();函数,第一个参数:PA-PE,第二个参数:7811单片机参考手册P236中有一个表格:0-3,0代表正常原理图管脚,123分别代表复用为相应的功能(看那个表格即可)
ADC_init()函数里面,tempAdcConfig数组用来配置ADC mode:mode1-8
tempAdcTrigSource数组用来配置触发方式,第一个成员是规则,第二个成员是注入,0是关闭默认内部触发,1是打开,比如10代表规则组外部触发
ADC中18个通道,一个温度一个电压,16个外部通道供我们用
DMA有12个通道,不同通道用于不用的外设,ADC专用DMA通道1

ADC,DMA

写写昨天的日志,建立工程时,默认是Target1,然后在RTE文件夹下面会出现这个名字,假如你修改为其它名字,则Target1不消失,会再次出现你修改名字的文件夹

还有就是,AC7811单片机的配置文件,在manage run里面ATC Drivers里面,自己添加即可,不让在文件夹下面你找不到,不像32都在文件夹里面

我是按照正点原子的代码风格来建文件夹的,包括头文件风格

技小新:外设是adc,外设基地址就是ADC地址,内存=存储基地址就是数组名,DMA初始化中必须加入一个数组名=该数组地址,用的是个二维数字,但是跟几维无关系,三维也行,二维中的第一个参数是滤波采集次数,第二个参数是通道号,因为DMA是由通道的(顺序规则转换),通道是1
正点原子:DMA中用的是一个自写的函数,数组用的是一维数组,外设基地址是串口地址,内存=存储基地址是数组名,通道是4
小蚂蚁:猜测:数组中存储的都是同一个值?这里我还是没有查到,根据众拳单片机的程序可以看到,数组存储的都是同一个值,接收到直接滤波即可

eflash=片内flash=默认

JTAG与JINK调试

spm=系统电源管理
nmi=不可屏蔽中断
待机模式是最省电的模式,处于这种状态下,只有rtc时钟中断和spm中断可以唤醒

firmware固件
记录一下问题:(下载电机控制板)
1,j-link驱动有,电脑也识别到串口COM3,打开keil中settings弹出蓝色j-link界面,只要点yes软件就卡死退出,点no没事(翻译是,read protected device detected,读保护,点yes就是尝试擦除程序,但是只要点yes软件就卡死退出)
2,点no没事之后,会进入settings里面,但是JTAG Device Chain识别不到(IDCODE区域是空白),但是左边的jlink型号和设备号可以识别到
3,然后进入jlink软件,发现可以连接成功,但是不可以production programming(按钮是灰色)
4,CSDN中关于JTAG Device Chain识别不到有很多方式,只有一种方式,我尝试成功,我点击进入jlink软件,点击芯片擦除,此时是成功的,于是production programming仍然是灰色,但是此时我尝试点击read back之后,发现production programming变黑色了(也许跟这个没有关系),此时我再次重新下载程序成功,程序正常运行,换个板子也可以如此下载程序,但是此时keil中JTAG Device Chain仍然识别不到

计算机知识 C:\Users\Administrator\Desktop

C:\Users\Administrator\Desktop\ Win10系统中C盘的Users==用户,Administrator==你自己的电脑用户名
==我的叫14733,Desktop==桌面,这三个英文只是代称,实际中都是别名,比如我的就是c\用户\14733\桌面,
appdata这个文件夹和桌面在同一目录下,默认是隐藏的,查看中选上“隐藏的项目”可查看

软件安装

Uds协议
Svn使用教程
Simulink模型开发
低功耗产品

Svn安装
Notepad++安装
Beyond Compare4安装
Matlab 2016a安装
SpcStudio安装
IAR for RAM安装

安装XYplorer软件
BDM==Body Control Module,车身控制模块
安装CareUEyes软件
安装geek软件(卸载软件,可以查询并删除软件对应的注册表信息)
安装win64环境下的ocx控件

汽车LIN总线介绍,MMI

汽车LIN总线,配合CAN总线使用,它速率要慢,mcu通过串口引出一条线,通过lin驱动芯片,这条线上挂载多个从机,mcu作为主机。实现汽车中的分布式电子控制,为CAN提供辅助功能,和can一样,不需要改变LIN 从节点的硬件和软件就可以在网络上增加节点,通常一个LIN 网络上节点数目小于12 个,LIN总线的网络节点数不能超过16,否则,节点增加将会减少网络阻抗,导致环境条件变差。每增加一个节点,就会降低3%的阻抗。
汽车车身网络,通信速率越低抗干扰能力越强。在一些比如车身电子配件的地方(如车窗、后视镜、大灯、车锁等),我们不需要报文像CAN总线上传输的那样“高速”!各大厂商一拍脑门就研究了这个LIN总线!

LIN总线采用的是单线传输形式,应用了单主机多从机的概念,总线电平一般为12V,传输速率最高限制为20kbps。由于物理层的限制,一个LIN网络最多可以连接16个节点。

MMI(Multi Media Interface)系统是“奥迪多媒体交互系统”的英文缩写

BDM车身域控制

小cpu是s9s12g64飞思卡尔单片机,大cpu是ST公司的spc560单片机
micro power中vcc通过0电阻分为hv,bv,adc给大cpu供电
slave power中V5与v4并联直接分为s-VBAT_D,然后vbat_switch和vbat-wake两个按键控制它分给VBAT_SW_S(开关供电),这个应该是用于低功耗,关掉开关省电,s-VBAT_D再降成s-vcc给can芯片供电和lin芯片供电
slave cpu中,s-vcc给小cpu供电
connector中是所有信号输入输出口,j1-j5
lf antenna中,v5给天线芯片供电
slave output中,PDU(Power Distribution Unit,电源分配单元),ESCL全称电子转向柱锁(Electronic Steering Column Lock)是车辆防盗系统的一部分,用于无钥匙进入无钥匙启动系统中锁止和解锁方向盘
slave input中都是端口,con来自connector,in直接接到小cpu口
mux中都是vcc供电,M74HC4851是具有注入电流保护的单路8通道模拟复用器/解复用器,一个芯片带一个mux-1-an,mux-a-an直接连到大cpu,一共12个mux-1—mux-12
flash空的
win-ap不知道
relay3是车窗电机控制,vbat-d供芯片,v-win-l供电机,控制端是小cpu
relay2是后视镜电机芯片,vbat-d供芯片,v-lock供电机,v-wiper供电机,控制端大cpu
relay1是中控锁电机,vbat-d供芯片,v-lock供电机,控制端是大cpu
bjt3是,led驱动芯片,是三色灯,vbat-d供电芯片,大cpu控制
bjt2与1都是三色灯,控制端直连大cpu
bjt1是灯,大cpu控制
lsd2是继电器驱动,vbat-d和vcc供电芯片,控制端是大cpu(喇叭,雨刮,加油口盖等)
lsd1是灯,大cpu控制
hsd1234,好多芯片,vcc和v1供电,好多灯,也是彩灯,芯片之间spi通信,控制端大cpu
ic-reset没看懂,反正是大cpu控制
bus没看懂,和上面ic-reset结合使用,vcc和vbat-d供电
power中,v1234并联构成了vbat-d,vbat-d和vcc给can驱动芯片uja1078供电,剩下还有三个switch开关,应该是用于睡眠或者低功耗,vbat-wu和vbat-sw控制是所有的信号输入开关,即打开它,信号输入才有效
input1-8都是输入信号,左边con是connect中的输入口,右边in都是连到mux中的M74HC4851芯片,然后经芯片之后直连大cpu

Stateflow线上培训

stateflow线上培训
建立一个模型,输入电压小于9v或者大于16v输出电压故障状态
状态机,两种状态,电压正常和故障
chart中ctrl+h快捷键
chart中tab快捷键,自动补完
[]在状态机中是条件判断

优化1:输入0-255V修改为0.0-25.5v(增大颗粒度)
优化2:考虑到汽车电子中电压状态不稳定,90与160在条件判断中,error改为85/165,idle中改为95/155,
优化3:大于160区间为高压故障,小于85区间为低压故障(变成了两种故障)
优化4:软件消抖=延时消抖
优化5:状态机的转换中,两种方案中,希望第一种方案,右边的如果状态数量过多会引起复杂(右边的输出放在了跳转条件里)

复习:
stateflow
实际电压精度
{}输出
[]条件判断

王凯uds诊断线上培训
否定响应码==相当于一种信息提示,用于查询,告诉你否定的原因

Source insight4建立工程,SVN分支

branches分支中建立WFF分支,source insight4不可以跨盘符建立文件联系,在WFF分支里面将trunk中的所有文件(也就是NV工程)
复制放在WFF里面,再在source insight4里面建立NV工程,NV工程中源工程文件就是WFF里面的复制的trunk工程,NV工程目录放在WFF
目录下面,不可以再进一步放入SI中,因为SI会跟随WFF上传到公司svn中(何志维说的,暂时没考证)20230131注:确实是一块被上传了

VGA,DVI,HDMI区别

VGA,模拟信号,视频信号,显示模糊
DVI,数字信号,视频信号,显示高清
hdmi,数字信号,音频信号,视频信号,显示高清

32单片机,硬件电路,计算机,细碎知识【7000字】【来源工作日记】【原创】相关推荐

  1. 32单片机与计算机网络,细碎知识【5000字】【来源实习日记】【原创】

    文章目录 STM32F4,Cortex M4内核,Keil5介绍,JTAG,SWD 结构体优点,C语言位移运算,F4单片机复用器 STM32中断优先级(分组),局域网,广域网,WIFI IP地址,路由 ...

  2. 计算机知识50字,电脑的日记50字

    电脑的日记50字 小编:欢迎阅读与支持,如果喜欢记得常来!内容简介:如果你独自驾舟行驶,环游世界旅行,如果你只能带一样东西供自己娱乐,你会选择哪一样?一本书,一个能随心... 觉得不错就继续看完以所有 ...

  3. 计算机基础知识500字以上,电脑考试作文500字

    "耶!万岁!"五(1)班发出了各种震耳欲聋的叫喊声.这是为什么呢?原来,我们五(1)班要进行第一场电脑考试,怪不得会这么激动呢! 我们怀着兴奋的心情,一步步来到了电脑室.电脑室很宽 ...

  4. 计算机课作文200字,玩电脑日记200字

    我的课余生活丰富多彩,有活力板.玩电脑.打羽毛球--可我最喜欢的就是玩电脑.下面学习啦小编为你带来玩电脑日记200字内容,希望同学们喜欢. 201X年X月X日     星期X     晴 玩电脑的乐趣 ...

  5. 计算机知识讲稿,计算机基础知识讲稿.ppt

    计算机基础知识讲稿.ppt 1 第一讲计算机基础知识 一 什么是计算机计算机 是一种用于存储和处理信息的通用机器 2 第一讲计算机基础知识 二 计算机发展史1946年2月 第一台计算机诞生在美国 EN ...

  6. 51单片机和32单片机有什么区别?该从哪个开始入门学习?

    单片机(microcontroller)是一种能够完成特定功能的微型电脑.它包含了中央处理器(CPU).存储器(ROM.RAM)以及输入/输出接口(I/O).单片机被广泛应用于各种电子设备中,如电子手 ...

  7. 单片机——硬件基础知识

    单片机--硬件基础知识 宗旨:技术的学习是有限的,分享的精神是无限的. 1.单片机内部资源 STC89C52:8KFLASH.512字节RAM.32个IO口.3个定时器.1个UART.8个中断源 (1 ...

  8. 多媒体微型计算机必不可少的硬件,第1章计算机基础知识习题材料.doc

    第三部分 习 题 第1章1 计算机基础知识 一.单项选择题 1.通常人们普遍使用的电子计算机是( ). A.数字电子计算机B.模拟电子计算机 C.数字模拟混合电子计算机D.以上都不对 2.世界上第一台 ...

  9. 《安富莱嵌入式周报》第296期:硬件电路实现SPI转以太网,单片机3D游戏图形引擎,Linux基金会年度报告,安捷伦直流电源原理图,KEIL C51更新9.61

    往期周报汇总地址:http://www.armbbs.cn/forum.php?mod=forumdisplay&fid=12&filter=typeid&typeid=104 ...

最新文章

  1. 两个队列实现一个栈思路c语言,两个栈实现队列功能C语言实现能运行!
  2. css不继承父类样式_提升你的Python编程能力,细说类的继承,拿走不谢
  3. leetcode 67 Add Binary
  4. 别乎略安身立命的基础本领
  5. 求助ET服装打版软件
  6. php在线文件编辑管理器 在线文本查看PHP插件
  7. jQuery实现下拉菜单[代码+详细讲解+效果图]
  8. HTML 标题居中 小小积累
  9. CTGU 2021春-MySQL数据库实验2:基本查询5-6关,共5小题全代码+信息表+通关截图!
  10. 手机视频监控解决方案(客户端)
  11. phpmail通过qq发邮箱失败_PHP中利用PHPMailer配合QQ邮箱实现发邮件
  12. java计算三角形的外心_hdu 6006(java 大数,三角形的外心)
  13. 各种常用计算机视觉库 2
  14. js中如何求平面两点之间的距离
  15. 服装行业进销存软件哪个好?
  16. 【高数学习笔记】1.函数、极限、连续
  17. 遥感图像处理基本操作——遥感图像辐射定标和大气校正(ENVI)
  18. 红心大战安卓单机版_红心大战单机版
  19. ESP32 的 C 语言编译环境安装和配置
  20. 用户角色权限的简单理解

热门文章

  1. 《JavaWeb---防恶意注册应用---输出随机验证图片》
  2. JavaScript:JSON详解
  3. 小猫爬山(排序、递归)
  4. 使用Python Matplotlib绘图并输出图像到文件中的实践
  5. CVPR2018跟踪算法STRCF原理及代码解析
  6. 《巴菲特的投资组合》读书笔记一
  7. Excel按照实际业务手动调整多个工作表顺序
  8. 金庸武侠第一高手盖棺定论
  9. 打印机:被忽略的信息泄露通道
  10. [SPC]生产统计过程控制三