【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】
对于pc电脑来说,pc是上位机,树莓派4b是下位机。但是对于mcu系统来说,树莓派4b是上位机,mcu是下位机。和树莓派4b这样的大soc相比,mcu内存更小、频率更低,比较适合来做实时性强的操作。举个例子来说,如果我们需要雕刻一个文字,那么树莓派4b要做的就是把这个文字变成一个一个的运动轨迹和速度曲线图 ,而mcu就是把这样的运动轨迹和速度用pid实现出来。有人会说,这个时候pc做什么呢?pc主要用于调试和标定,如果这些都做完了,那么就没有pc的事情了。
那么树莓派4b和mcu一般是怎么交互的呢?无非就是串口、网口、usb口和can。
1、串口
这里我们把232、485都归结到串口一栏。串口是比较简单,又比较实用的接口。mcu版本升级使用到串口,当然上下文交互也会用到串口。树莓派4b和mcu的交互一般都是采用一问一答的形式,问当然是树莓派4b,答就是mcu。在这之前,mcu肯定需要准备好相应的答案。
当然这里面的一问一答又有讲究,一种是write数据,也就是树莓派给mcu发送业务指令。还有一种是read数据,就是从mcu获得当前执行的状态反馈,两者都是不可或缺的。
2、网口
目前很多的mcu都支持网口,甚至于很多mcu内部集成了eth的phy,使用成本也不是很高。因此,针对这一类的mcu设备,树莓派4b使用就更加方便了。两者不需要通过有线连接起来,只要都处于同一个局域网内,就可以实现数据的互通有无了。实际过程中,我们可以采用tcp协议,或者是udp协议,甚至是http协议都可以,这取决于mcu实现到哪一个程度。
3、usb口
和串口相比较,usb口的最大优点就是速度快。一般232、485的速度都是几十到几百k每秒。但是usb的最大传输速度可以达到几兆、十几兆每秒。这对于一个mcu设备来说,是绰绰有余了。如果要说缺点的话,就是上位机用usb会稍微复杂一点,如果是pc的话,它会要求首先安装一个zadig的libusb驱动,然后利用这个libusb接口,实现数据的上传下达,整体开发难度稍高一点。树莓派4b也是一样,需要通过libusb来编程。
4、can接口
一般的场景下,can其实用的不多,它多见于车辆行业、交通行业和机械电子行业。pc电脑上面也没有can总线,一般都是购买一个usb转can模块,然后再和mcu进行通信。树莓派也可以采用类似的思路,可以购买一个spi转can的模块,同样可以和mcu进行can通信处理。
5、总结
和大arm soc相比较,mcu除了频率低一点,没有isp、ddr、gpu、npu、视频处理ip、pice这些高速模块之外,一般的iic、iis、spi、uart、can、usb、eth、sd这些接口都是有的。不同的mcu差别,主要就集中在gpio多少、ram和flash大小,频率有差别,但是说老实话,没那么大。使用mcu的场合,一般都是任务简单、场景单一的场合。因此,对于树莓派4b来说,只要寻找到两者能够彼此接受的数据传输形式,什么样的方法都是可以的。