香蕉派和树莓派的不同点及GPIO引脚定义

本文对比了香蕉派与树莓派的主要区别,包括不同的芯片组、硬件接口、GPIO配置等方面。香蕉派使用全智ARMCortex-A7双核CPU,增加了多种树莓派不具备的接口,如SATA、IR接收器等。
     今天淘宝买的香蕉派PVC外壳到了,把外壳装好,这个PVC外壳还是挺结实的,还带了个小风扇。香蕉派并不是一个简单的"克隆"树莓派的产品,香蕉派比树莓派有很多硬件及性能上的区别,最大的不同点在以下几个方面.

1. 所使用的芯片完全不同. 树莓派使用的是Broadcom ARM11内核, 香蕉派使用的是全智(Allwinner) ARM Cortex-A7 双核以CPU.  不同的ARM 架构造成了主要的不同点.  Banana Pi将在ARM V7架构上有更多的特性功能 ,并且能兼容ARM V6上的各种应用.

2.在产品尺寸上也有些不同. 请注意,现有的树莓派的外壳不能用在香蕉派上,必须重新定制.

3. 在硬件接品方面,香蕉派与树莓派更有更多的不同点,增加了很多树莓派以前没有的接口,这一点表现得更加明显.例如,香蕉派出增加板载 micphone in接口,  硬盘(SATA)接口, 红外控制(IR receiver)接口, OTG 接口, power switch, reset switch. 1000M网口, 这些接口都是树莓派所完全没有的.

4. 还有, 香蕉派的LCD LVDS 接口界面和摄像头接口也完全不同于树莓派.这意味着现在树莓派的摄像头配件不能用在香蕉派上. 额外的说一点,树莓派不支持的DSI接口,香蕉派也有机会采用外设来实现.


5. GPIO口数量和定义不一样 , 支持的板载电流更大



大约总结一下, 香蕉派在硬件上比树莓派提供更强大的性能支持,香蕉派开发者也需要花费更多的时间与精力去移植不同的系统与应用到香蕉派的Allwinner A20芯片上, 并不是一个简单的克隆产品,只是在开发者的支持下,兼容了树莓派现在的大部分应用,并能运营树莓派的系统,香蕉派由于刚起步,在技术支持与文档完善方面需要更多的努力, 需要一个较长的时间去适应.


下面是香蕉派的GPIO引脚定义
这页包括香蕉Pi的引脚定义,包括CON1,CON2,CON3,J11和J12。所有引脚可以被配置为GPIO,并且他们中的一些的具有一个或两个备选方案。
J11包含默认的串口UART0(UART0-RX,UART0-TX)。 UATR0被构造成用于控制台的输入/输出。而这一点,如果你想使用串行端口登录是非常有用的。所以它是最常用的PIN。 
J12还包含了串口UART7。 
CON3包含CAN总线,SPI总线,I2C总线,PWM,串行端口和等,它可以被配置成用于各种外围设备。 
CON1是 CSI接口。 
CON2是一个LVDS显示接口。
QQ截图20140930002514.png 
QQ截图20140930002528.png 
CON定义
http://wiki.lemaker.org/Pin_definition#CON1_Definition

树莓派5使用不同GPIO引脚点亮灯可能存在以下区别: ### 电气特性差异 不同的GPIO引脚可能具有不同的电气特性,如驱动能力。部分引脚能够提供更大的电流,这意味着在连接一些对电流需求较大的灯时,使用驱动能力强的引脚可以使灯更亮且稳定。而驱动能力较弱的引脚可能无法满足大功率灯的需求,导致灯光较暗或者闪烁。 ### 功能复用情况 树莓派的一些GPIO引脚除了作为普通的输入输出引脚用于点亮灯之外,还可能复用了其他功能,例如SPI、I2C、UART等通信接口。如果使用这些具有复用功能的引脚来点亮灯,当需要使用其复用功能时,就需要重新配置引脚,可能会影响到灯的控制。而使用没有复用功能的普通GPIO引脚,则可以专注于灯的控制,不会受到其他功能的干扰。 ### 编号方式影响 在编程控制时,树莓派GPIO引脚有不同的编号方式,如BOARD编号BCM编号。使用BOARD编号时,引脚编号与电路板上的物理引脚编号相对应,使用这种编号的好处是硬件兼容性好,不用担心树莓派的版本问题,在电路板升级后,不需要重写连接器或代码[^1]。而BCM编号是基于Broadcom SOC的通道编号,在不同版本的树莓派中可能会有所不同。因此,在使用不同引脚时,需要根据选择的编号方式正确编写代码。 以下是使用PythonRPi.GPIO库,以BOARD编号方式控制GPIO 12引脚点亮灯的示例代码: ```python import RPi.GPIO as GPIO import time # 使用BOARD编号 GPIO.setmode(GPIO.BOARD) # 设置GPIO 12为输出引脚 led_pin = 12 GPIO.setup(led_pin, GPIO.OUT) try: while True: # 点亮灯 GPIO.output(led_pin, GPIO.HIGH) time.sleep(1) # 熄灭灯 GPIO.output(led_pin, GPIO.LOW) time.sleep(1) except KeyboardInterrupt: print("程序终止") finally: # 清理GPIO设置 GPIO.cleanup() ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

offbye

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值