pcb版用什么编程
更多
关于PCB(印刷电路板)的“编程”,需要根据不同的目的来理解,主要有以下三类情况及相关工具:
-
PCB设计(画板) - 使用 EDA 软件
- 核心目的: 设计电路原理图,绘制PCB的物理布局(走线、铺铜、放置元件、钻孔等)。
- 不是传统编程语言: 这过程不是用C、Python等通用语言编写代码,而是使用电子设计自动化软件。
- 常用工具 (EDA软件):
- KiCad: 免费开源,功能强大,社区活跃,适合个人、爱好者和小公司。
- 立创EDA: 国产,有在线版和桌面版,免费基础功能强大,集成元器件库和打样服务,中文支持极佳。
- Altium Designer: 行业标杆,功能全面专业,价格昂贵,适合大型企业。
- Cadence Allegro: 高端专业工具,常用于复杂高速电路设计。
- Eagle (现为Autodesk Fusion 360 PCB): 历史悠久,有免费限制版,现整合到Fusion 360生态中。
- PADS: Mentor Graphics(现Siemens)出品的中高端工具。
- “编程”体现: 部分高级EDA工具支持脚本(如Python, Tcl, JavaScript)来自动化重复任务或实现复杂功能。
-
对PCB上的微控制器(MCU)/处理器编程 - 使用嵌入式开发工具链
- 核心目的: 给焊接在PCB上的芯片(如STM32, Arduino, ESP32, PIC, 树莓派MCU等)烧写运行的程序。
- 编程语言:
- C/C++: 嵌入式开发最主流的语言,提供对硬件的底层控制和高性能。
- Arduino语言 (基于C/C++): 简化了语法和库,对初学者友好。
- MicroPython/CircuitPython: 基于Python的解释型语言,适合快速原型开发和教育。
- 汇编语言: 用于需要极致优化或直接操作寄存器的场景(较少见)。
- 开发工具:
- 集成开发环境: Arduino IDE, PlatformIO (VS Code插件), STM32CubeIDE, MPLAB X IDE, Keil MDK, IAR Embedded Workbench 等。
- 编译器/工具链: GCC for Arm (arm-none-eabi-gcc), SDCC (用于8051等), XC8/XC16/XC32 (Microchip) 等。
- 烧录器/调试器: J-Link, ST-Link, DAPLink, USB转串口芯片(CH340, CP2102) + Bootloader 等。
-
对PCB上的可编程逻辑器件编程 - 使用硬件描述语言
- 核心目的: 设计烧写到FPGA或CPLD等可编程逻辑芯片内部的数字逻辑电路。
- “编程”语言:
- 硬件描述语言: 这不是命令式编程,而是描述硬件结构和行为。
- Verilog: 广泛使用的HDL。
- VHDL: 常用于军工、航空航天等领域的HDL。
- SystemVerilog: Verilog的增强版,支持更复杂的设计和验证。
- 高层次综合: 新兴技术,允许使用C/C++/SystemC等描述算法,再由工具生成HDL。
- 硬件描述语言: 这不是命令式编程,而是描述硬件结构和行为。
- 开发工具:
- 厂商IDE: Xilinx Vivado / ISE (现Vivado为主), Intel (Altera) Quartus Prime, Lattice Diamond/Radiant, Microchip (Microsemi) Libero SoC。
- 仿真工具: ModelSim, QuestaSim, Verilator (开源) 等。
- 综合与实现工具: 集成在上述IDE中。
- 下载器/调试器: 厂商提供的JTAG下载器(如Xilinx Platform Cable USB, Altera/USB-Blaster)。
总结:
| 场景 | 目标对象 | 主要“编程”方式 | 常用工具/语言 |
|---|---|---|---|
| 设计PCB本身 | PCB布局布线 | 使用EDA软件 | KiCad, 立创EDA, Altium Designer, Allegro, Eagle |
| 为PCB上的MCU/CPU编写固件 | 微控制器/处理器 | 用嵌入式语言写代码 | C/C++, Arduino, MicroPython + IDE/编译器/烧录器 |
| 为PCB上的FPGA/CPLD编程 | 可编程逻辑器件 (PLD) | 用硬件描述语言设计电路 | Verilog, VHDL + 厂商IDE (Vivado, Quartus等) |
因此,当你说“给PCB板编程”时,最可能指的是第2种情况:给PCB板上的微控制器芯片编程。这时你需要:
- 确定板子上用的是哪款MCU芯片。
- 选择适合该芯片的编程语言(通常是C/C++或Arduino/Python变种)。
- 使用相应的开发环境编写、编译代码。
- 通过物理接口(如SWD, JTAG, UART+ Bootloader)和烧录工具将编译好的二进制程序下载到芯片中运行。
PCB设计与封装指导白皮书合集
资料简介: 本书内容为规定公司所有设计PCB板器件封装的命名与设计规范度,保证公司设计的PCB板器件使用的统一性,便于对所有设计的PCB可靠性进
资料下载
elecfans小能手
2022-09-23 16:00:42
PCB Copper Thieving有什么用?资料下载
电子发烧友网为你提供PCB Copper Thieving有什么用?资料下载的电子资料下载,更有其他相关的电路图、源代码、课件教程、中文资料、英文资料、参考设计、用户指南、解决方案等资料,希望可以帮助到广大的电子工程
资料下载
訾存贵
2021-04-04 08:54:54
fpga用什么编程语言_fpga的作用
经常看到不少人在论坛里发问,FPGA是不是用C语言开发的?国外有些公司专注于开发解决编译器这方面问题,目的让其能够达到用C语言替代VHDL语言的目的,也开发出了一些支持
2020-07-29 16:37:37
7天热门专题
换一换
换一换
- 如何分清usb-c和type-c的区别
- 中国芯片现状怎样?芯片发展分析
- vga接口接线图及vga接口定义
- 芯片的工作原理是什么?
- 华为harmonyos是什么意思,看懂鸿蒙OS系统!
- 什么是蓝牙?它的主要作用是什么?
- ssd是什么意思
- 汽车电子包含哪些领域?
- TWS蓝牙耳机是什么意思?你真的了解吗
- 什么是单片机?有什么用?
- 升压电路图汇总解析
- plc的工作原理是什么?
- 再次免费公开一肖一吗
- 充电桩一般是如何收费的?有哪些收费标准?
- ADC是什么?高精度ADC是什么意思?
- dtmb信号覆盖城市查询
- EDA是什么?有什么作用?
- 中科院研发成功2nm光刻机
- 苹果手机哪几个支持无线充电的?
- type-c四根线接法图解
- 华为芯片为什么受制于美国?
- 怎样挑选路由器?
- 元宇宙概念股龙头一览
- 锂电池和铅酸电池哪个好?
- 如何进行编码器的正确接线?接线方法介绍
- 什么是场效应管?它的作用是什么?
- 虚短与虚断的概念介绍及区别
- 晶振的作用是什么?
- 大疆无人机的价格贵吗?大约在什么价位?
- amoled屏幕和oled区别
- 苹果nfc功能怎么复制门禁卡
- 单片机和嵌入式的区别是什么
- 复位电路的原理及作用
- BLDC电机技术分析
- dsp是什么意思?有什么作用?
- 苹果无线充电器怎么使用?
- iphone13promax电池容量是多少毫安
- 芯片的组成材料有什么
- 特斯拉充电桩充电是如何收费的?收费标准是什么?
- 直流电机驱动电路及原理图
- 传感器常见类型有哪些?
- 自举电路图
- 苹果笔记本macbookpro18款与19款区别
- 通讯隔离作用
- 新斯的指纹芯片供哪些客户
- 伺服电机是如何进行工作的?它的原理是什么?
- 无人机价钱多少?为什么说无人机烧钱?
- 以太网VPN技术概述
- 手机nfc功能打开好还是关闭好
- 十大公认音质好的无线蓝牙耳机