序号 | 缩写 | 完整拼写 | 中文翻译 |
---|---|---|---|
1 | ACC | Adaptive Cruise Control | 自适应巡航控制 |
2 | LCC | Lane Change Control | 换道控制 |
3 | LDW | Lane Departure Warning | 车道偏离警告 |
4 | LDP | Lane Departure Prevention | 车道偏离防止 |
5 | AEB | Autonomous Emergency Braking | 自动紧急制动 |
6 | TSR | Traffic Signal Recognition | 交通信号识别 |
7 | SLIF | Speed Limiting Information Function | 车速限制功能 |
8 | APA | Automatic Parking Assist | 自动泊车 |
9 | PEB | Parking Emergency Braking | 泊车紧急制动 |
1、点击.DSN文件,然后点击TOOS,再点击Create Netlist;如下图:
2、查看网表是否生成。 打开项目文件存放路径,看到了有MCU.NET的文件已经生成,将这个文件导入到PCB文件中即可。
1、新建PCB工程文件,新建.PCB加粗样式文件,添加AD的封装库文件及网表文件到PCB工程文件中。如图:
2、对比文件选择选择完之后点击“确定”。
3、更新到PCB文件中
上一步对比结果出来后,按如下图选择操作。
至此网表导入完毕!!!!
环境准备
步骤
【1】安装python
下载python下载安装包,双击安装。
【2】安装PyQt5, pyqt5_tools
pip install PyQt5 PyQt5-tools -I https://pypi.tuna.tsinghua.edu.cn/simple
【3】安装Qt Designer 下载Qt Designer下载安装包,双击安装。
【1】用Qt Designer设计界面 参考这里,设计界面。
使用 Qt Designer 创建一个基于 QWidget 的界面程序,然后给窗体内增加一个按钮控件。具体如何给窗体增加控件,如下图所示。
按 Ctrl+s 键或者点击 Qt Designer 软件的 File 菜单的 Save As 选项,把我们设计的界面文件保存到项目目录下,如上例我们保存到项目 pyqt5project 目录下,保存名称为 mytest_1.ui,注意使用 Qt Designer 设计的界面文件后缀名是 .ui。
使用 Qt Designer 工具,不单单可以设计界面,还可以设计信号槽,下面我们就使用 Qt Designer 给我们的按钮设计一个信号槽。
按照上面步骤操作完成后,点击 ok 按钮,就会返回到上一个对话框,我们对话框的右边 出现了 doclick(),选中后,点击 ok。到此为止,我们就成功的给按钮创建了信号槽。
【2】转换ui文件为python代码
>pyuic5 -o mytest_1.py mytest_1.ui
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'mytest_1.ui'
#
# Created by: PyQt5 UI code generator 5.15.9
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_Form(object):
def setupUi(self, Form):
Form.setObjectName("Form")
Form.resize(400, 300)
self.btn_ok = QtWidgets.QPushButton(Form)
self.btn_ok.setGeometry(QtCore.QRect(180, 150, 56, 17))
self.btn_ok.setObjectName("btn_ok")
self.retranslateUi(Form)
self.btn_ok.clicked.connect(Form.doclick) # type: ignore
QtCore.QMetaObject.connectSlotsByName(Form)
def retranslateUi(self, Form):
_translate = QtCore.QCoreApplication.translate
Form.setWindowTitle(_translate("Form", "Form"))
self.btn_ok.setText(_translate("Form", "click"))
【3】编辑逻辑code 在其中, 引用【2】中的界面code,并保存。如将逻辑代码保存为domytest_1.py。
并和刚刚生成那个mytest_1.py,放在同一个目录里。
import sys
import mytest_1 # import UI file
from PyQt5.QtWidgets import QWidget, QApplication, QMessageBox
class doMyTest_1(QWidget):
def __init__(self):
super().__init__()
self.ui = mytest_1.Ui_Form() # call UI object
self.ui.setupUi(self) # link me
self.show()
def doclick(self):
QMessageBox.information(None, "test info slot!", "my python")
app = QApplication(sys.argv)
ex = doMyTest_1()
app.exec()
直接在代码编辑器里面右键运行domytest_1.py。
注意:
用PyQt5实现上述code。
如果用PyQt6实现上述代码,会有错误发生:
File "c:\d_disk\RenesasMCUHWM\RCar\Gen4\R-Car_S4\Application_Notes_for_HWM\gateway_switch\GatewaySettingTool\code\python_Qt\mytest.py", line 16, in setupUi
self.btn_ok = QtWidgets.QPushButton(parent=Form)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: arguments did not match any overloaded call:
QPushButton(parent: typing.Optional[QWidget] = None): argument 'parent' has unexpected type 'doMyTest'
QPushButton(text: str, parent: typing.Optional[QWidget] = None): not enough arguments
QPushButton(icon: QIcon, text: str, parent: typing.Optional[QWidget] = None): not enough arguments
PS C:\d_disk\RenesasMCUHWM\RCar\Gen4\R-Car_S4\Application_Notes_for_HWM\gateway_switch\GatewaySettingTool\code>
环境准备
步骤
【1】安装python
下载python下载安装包,双击安装。
【2】安装wxpython
pip install wxPython
“import wx”, 如下例。
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import wx
app = wx.App()
frame = wx.Frame(None, title='Simple application')
frame.Show()
app.MainLoop()
【3】安装wxFormBuilder 下载wxFormBuilder下载安装包,双击安装。
【4】安装pyinstaller
pip install pyinstaller
【5】其他资源
【1】用wxFormBuilder设计界面,并生成python代码, copy并保存成.py文件,如保存名为CalculatorFrame.py文件。
【2】编辑逻辑code,在其中引用【1】中的界面code,并保存,如将逻辑代码保存为Calculator.py。
将上面的逻辑代码保存为Calculator.py,并跟刚刚生成那个CalculatorFrame.py,放在同一个目录里。直接在代码编辑器里面右键运行。
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import wx
import CalculatorFrame
...
pyinstaller -w -F -i gw_icon.ico Calculator.py … 543 INFO: Copying bootloader EXE to C:\d_disk\RenesasMCUHWM\RCar\Gen4\R-Car_S4\Application_Notes_for_HWM\gateway_switch\GatewaySettingTool\code\dist\Calculator.exe …
```
电源引脚1nH电感后连接去耦电容对应的带宽
NRZ(非归零)和PAM4(脉冲幅度调制4级)是两种不同的数字信号调制技术,它们在数据传输中有着显著的区别。
NRZ信号
NRZ信号采用高、低两种信号电平来表示数字逻辑信号的1和0。每个时钟周期可以传输1bit的信息。这种调制方式简单且易于实现,但其带宽利用率较低,因为每个符号只能携带一个比特的信息。因此,在高速传输应用中,NRZ信号容易受到噪声的影响,并且需要较高的信噪比(SNR)以保证良好的传输性能。
PAM4信号
PAM4信号则采用四个不同的信号电平进行信号传输,每个符号周期可以传输2bit的信息(0、1、2、3)。这意味着在相同的带宽下,PAM4能够传输更多的数据,从而提高了系统的整体效率。然而,由于PAM4信号具有更多的过渡幅度,它对电路的线性度要求更高,并且抗色散能力较差。此外,PAM4信号的信噪比(SNR)通常低于NRZ信号,尤其是在电源电压降低的情况下。
性能对比
波特率与带宽:PAM4允许在一个信号通道中传输更多的数据,通过编码不同幅度的信号来代表二进制的0、1、2和3,在相同的码率下,PAM4的波特率只有NRZ信号的一半。
误码率(BER) :研究表明,PAM4可以在感兴趣的信道上实现更好的误码率(BER),并且不需要更高的发射功率即可达到这一效果。
均衡与眼图:在低损耗信道上,NRZ的眼图开度可能高出3倍于PAM4,这表明NRZ系统在这些条件下更容易实现较好的传输性能。然而,PAM4系统的均衡化工作量较大,需要更多的均衡技术来补偿失真。
应用领域:随着光模块速率的提升至200Gbps以上,NRZ已经无法满足需求,而PAM4因其更高的数据传输速率和效率被广泛应用于高速光通信领域。
总结来说,NRZ和PAM4各有优缺点。NRZ适用于较低速率的应用场景或线路状况良好的情况,而PAM4则更适合于高速、大容量的数据传输需求。选择哪种调制方式取决于具体的应用场景和性能要求。
PCI Express 6.0
PCI Express 6.0 is a challenging technological leap especially with the move from NRZ to PAM4 and eye heights of only 6 mV.
PCIe 6.0 will double the bandwidth of PCIe 5.0 to 256 Gb/s among the same maximum number of lanes,16. The data transfer rate will hit 64 GT/s per pin, up from PCIe 5.0’s 32 GT/s. A move from NRZ to PAM4 signals will bring new challenges. PCIe 6.0 is also backwards compatible with previous PCIe generations.
The adjacent channels of 64 Gbaud (128 Gbps) data transmission will cause more crosstalk than PCIe 5.0.