转自:http://blog.csdn.net/daxueba/article/details/50998000

Beaglebone Black的引脚分配

绝大多数的微型开发平台都提供了一些称为GPIO的输入输出端口。这些端口可以让你使用软件和硬件来控制一些电子的东西,每个端口都被赋予了一个特定的功能——模拟或数字。大多数的微控制器都使用一个引脚分配表来表示各个端口的功能。

Beaglebone Black有两排各46个端口的扩展插头,被标记为P9和P8,各个端口的默认功能如图1.33所示。

Beaglebone的数字GPIO端口

Beaglebone Black配备有65个GPIO端口。这些端口被标记为GPIO_xx,如图1.34所示。你可以控制这些端口输出在开和关之间切换。你也可以使用它们来检测数字设备的输入,如按钮开关的按下和松开。

注意:不像其他微控制器板(如Arduino),Beaglebone Black每个端口的操作电压是3.3V(Arduino是5V)。任何超过这个级别的电压都会永久损坏板子。

图1.34  数字GPIO

Beaglebone的模拟端口

Beaglebone Black有7个模拟端口,他们被标记为AINx,如图1.35所示。这些端口用来检测像温度传感器这样的设备输出的模拟信号。Beaglebone
Black内建的12位ADC可以将这些模拟信号转换为可读的数值,即将0~1.8V映射到0~4096。

注意:确保你的输入电压不会超过1.8V,否则可能会损坏板子,P9的32号端口是专为ADC提供的电源它输出的电压是1.8V,而P9的34号端口则是与之对应的GND。

图1.35  模拟输入端口

Beaglebone的I2C端口

Beaglebone Black提供了两个I2C端口,他们被标记为I2Cx_SCL和I2Cx_SDA,如图1.36所示。

图1.36  I2C端口

由于第一个I2C总线用做读取cape(Beaglebone
Black扩展板)上的EEPROMS,所以不可以再用作其他数字IO操作,但是仍然可以用来添加其他I2C设备。第二个I2C总线则可以供你配置和使用。I2C的特点是可以在一条总线上接入多个设备,通过I2C的地址系统可以明确地定位到指定设备。

Beaglebone的SPI端口

Beaglebone Black配备有两个SPI端口,他们分布在如图1.37所示的位置。

图1.37  SPI端口

SPI端口可用于SPI兼容的设备。SPI用在设备之间的同步数据连接。由于它使用的是全双工模式,所以数据传输的速度要比I2C快,但是使用的数据线也要多一些。

Beaglebone的ART端口

Beaglebone Black配备有5个UART端口,他们分布在如图1.38所示的位置。

图1.38  UART端口

在图1.38中只是标出了连接在扩展端口上的UART端口。其实Beaglebone还有一个UART端口,它接在了P9旁边的6脚插座上(名为J1),如图1.39所示。

图1.39  J1插座

Beaglebone的PWM和TIMER端口

Beaglebone Black配备有8个PWM端口和4个TIMER端口,他们的分布位置如图1.40所示。

图1.40  PWM和TIMER

在图1.40中所示的这些端口都可以被配置为PWM模式以产生伪模拟信号,这种信号可以用来控制马达转速及LED亮度等,而且这些端口在工作时并不会消耗额外的CPU周期。

Beaglebone Black的引脚分配的更多相关文章

  1. Beaglebone Black教程Beaglebone Black的引脚分配

    Beaglebone Black教程Beaglebone Black的引脚分配 Beaglebone Black的引脚分配 绝大多数的微型开发平台都提供了一些称为GPIO的输入输出端口.这些端口可以让 ...

  2. BeagleBone Black项目实训手册(大学霸内部资料)

    BeagleBone Black项目实训手册(大学霸内部资料) 介绍:本教程是<BeagleBone Black快速入门教程>的后续教程.本教程以项目操作为主,讲解LED项目.声音项目.传 ...

  3. beaglebone black 固定IP上网(ubuntu16.04,console)

    今天把beaglebone black搞了下,让能通过网线上网.需要修改一些文件.刷的是ubuntu16.04系统,没有界面.不过资源占用很少,顺便说一下.系统下的vi不好用,没有安装vim. 下面的 ...

  4. DE2-115开发板学习(1_时钟信号引脚分配与复位信号的产生)

    1.DE2-115开发板资源 Altera EPCS64 Configuration Device 64MB SDRAM (两片) 50MHz Oscillator EP4CE115F29C7(4PL ...

  5. Beaglebone Black从零开始系列教程大汇总!

    谁都有做菜鸟的时候,菜鸟不可怕,怕的是没有人指引前进的方向!本系列文章将逐个阐述BBB各个功能模块的基本使用方法.现在中文的BBB资料太少,它们是本人从全世界互联网的各个角落收集.学习.亲自测试得到的 ...

  6. Beaglebone Black – 连接 GY-91 MPU9250+BMP280 九轴传感器(2)

    这次用 SPI.BBB 有两套 SPI 接口可用,两套都是默认 disable,需要用 overlay 方式启用,即: echo BB-SPIDEV0 > /sys/devices/bone_c ...

  7. Beaglebone Black–I2C 接 BMP280 获取当前温度

    我有两个含温度传感的模块,一个是AOSONG 奥松电子的 AM2320 温度湿度,另一个是九轴里面的 Bosch BMP280.由于 AM2320 用 I2C MODBUS,直接用 I2C Tools ...

  8. BeagleBone硬件概览Ethernet端口板载LEDc重置按钮等介绍

    BeagleBone硬件概览Ethernet端口板载LEDc重置按钮等介绍 你进入BeagleBone世界的第一步就是将它连接以得到命令提示,然后你就可以处理文件以及执行命令了.在这里,你就可以定制你 ...

  9. Beaglebone Black的启动

    Beaglebone Black的启动 第1章  准备开始 Beaglebone Black上最显眼的恐怕就是板子两侧的扩展端口,一侧有46个端口,共92个端口Beaglebone Black的启动. ...

随机推荐

  1. MySql中创建存储过程

    MySQL 存储过程是从 MySQL 5.0 开始增加的新功能.存储过程的优点有一箩筐.不过最主要的还是执行效率和SQL 代码封装.特别是 SQL 代码封装功能,如果没有存储过程,在外部程序访问数据库 ...

  2. Codeforces gym102222 C. Caesar Cipher 签到

    题意: 给定一对用凯撒密码加密的明文和密文,再给你一个密文,让你解密出明文,保证有唯一解. 题解: 对凯撒密码的已知明文攻击,签到题. #include<iostream> using n ...

  3. Python 中练习题涉及到的无穷大和无穷小问题。

    首先来看一下所见的python联系题. inf = infinite 无限制的 float("inf")-1执行后的结果是:() A 1 B inf C -inf D 0 该考点考 ...

  4. HTTPS 加密原理探究

    由于之前项目中IOS系统建议将http协议换成https协议所以查看相关资料在此记录 HTTPS 通讯过程的基本原理 问:Https是什么? 答: HTTP 协议定义了一套规范,让客户端或浏览器可以和 ...

  5. java.lang.Object错误

    java.lang.Object错误 项目遇到一个错误 因为构建路径不完整..... 主要是因为缺少JDK(java.lang.Object来自那里),或者是JDK错误. 右击项目-->属性-- ...

  6. arttemplate02

    1.后台传来的数据 { "code": 200, "checkRecords": [ { "id": "402881e75cc80 ...

  7. 【VUE/JS】vue和js禁止浏览器页面后退

    1.vue 禁止浏览器后退需求是:需要某个路由不能通过浏览器返回,同时不影响相互之间的切换整理一下解决方法 和 使用方法: 1.在路由配置中给这个路由添加meta信息,比如: { path: '/ho ...

  8. pandas读书笔记、重新索引

      重新索引   pandas对象的一个重要方法是 reindex ,其作用是创建一个适应新索引的新对象. #reindex函数的参数 reindex(index,method,fill_value, ...

  9. 干货满满!10分钟看懂Docker和K8S

    2010年,几个搞IT的年轻人,在美国旧金山成立了一家名叫“dotCloud”的公司. 这家公司主要提供基于PaaS的云计算技术服务.具体来说,是和LXC有关的容器技术. LXC,就是Linux容器虚 ...

  10. 毫秒数转date

    毫秒数转date var date=new date(毫秒数);