=========================

通用工控硬件平台:

=========================


1. AVR单片机, AVR 是1997年由ATMEL公司研发出的增强型内置Flash的RISC精简指令集高速8位单片机, atmel于2016年被microchip收购了。可以广泛应用于计算机外部设备、工业实时控制、仪器仪表、通讯设备、家用电器等各个领域。AVR单片机是 Atmel 公司 1997 年推出的 RISC 单片机。 它与51单片机、PIC单片机相比运行效率高很多、芯片内部的Flsah、EEPROM、SRAM容量较大、全部支持在线编程烧写(ISP、每个IO口都可以以推换驱动的方式输出高、低电平,驱动能力强、内部资源丰富,一般都集成AD、DA模数换器;PWM;SPI、USART、TWI、I2C通信口;丰富的中断源等。主要现在使用的型号是ATMEGA8/16。

AVR和ARM都是精简指令集, 但并不是不同于ARM, 相当于ARM系列里面的M0至M3的能力.

http://www.elecfans.com/emb/arm/20171110577994.html

2. ARM Cortex-M系列,Microcontroller主要是应用于工业控制, 很多半导体公司生产基于Cortex-M的 MCU, 下面是两个重要的产品系列.

(2.1)   STM32 是意法半导体的专为要求高性能、低成本、低功耗的嵌入式应用设计的ARM Cortex®-M0,M0+,M3, M4和M7内核.

主流产品(STM32F0、STM32F1、STM32F3)、超低功耗产品(STM32L0、STM32L1、STM32L4、STM32L4+)、高性能产品(STM32F2、STM32F4、STM32F7、STM32H7)

STM32 可采用正点原子的板子, taobao 搜索即可


(2.2) LPC1768 是恩智浦推出的ARM Cortex-M3微控制器, 国内得益于周立功的成功推广, LPC MCU在国内应用广泛


3.  51 系列单片机

这个是大学里教的单片机, 属于复杂指令集芯片. 功能较 AVR 和 ARM CM3 弱很多.

51可选用普中开发板


4. Arduino 开发平台

Arduino 不是一个 MCU, 而是一个完整的开发原型平台,  包含硬件(各种型号的Arduino板)和软件(ArduinoIDE)

Arduino 主要使用的是Atmel 的 AVR 8位单片机作为CPU, 比如 ATmega328 和 ATmega32U4 型号, 参见 https://www.arduino.cc/en/Products/Compare

但也有采用 Atmel ARM CM3的32bit  ATSAM3X8E 型号的 Due 系列

正如 Arduino 宣传的一样, 它是一个开放的平台, 所以也可使用 STM32 作 Arduino的CPU,  比如 MakerLab 板

https://www.zhihu.com/question/22248244


最著名的要说3d打印机主控,9成都是arduino的 mega 2560.

https://www.zhihu.com/question/299717979/answer/516958327

https://www.zhihu.com/question/31396380/answer/113368034

https://www.zhihu.com/question/49258490/answer/115056743

https://www.zhihu.com/question/269157685/answer/371972701


5. TI借鉴 arduino 做了个 energia 



=========================

CAN 总线

=========================

CAN 是Controller Area Network 的缩写(以下称为CAN),是ISO国际标准化的串行通信协议.

CAN属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行通信网络。较之许多RS-485基于R线构建的分布式控制系统而言, 在可靠性和实时性方面有很大优势.

CAN已经形成国际标准,并已被公认为几种最有前途的现场总线之一。其典型的应用协议有:SAE J1939/ISO11783、CANOpen、CANaerospace、DeviceNet、NMEA 2000等。

周立功公司有CAN 板卡产品,  可使用C#等高级语言实现计算机和CAN总线消息互发.  

https://i-item.jd.com/62607431846.html 

https://python.ctolib.com/123zmz123-ZlgCanDriver.html

http://www.zlg.cn/can/down/down/id/30.html


=========================

通用工控硬件平台:

=========================

usb 连接

https://stackoverflow.com/questions/19554229/communicating-with-an-usb-device-over-usb-virtual-serial-port-using-c

http://www.nxpic.org/module/forum/thread-616277-1-1.html