树莓派4B外设_bcm2711-程序员宅基地

技术标签: 树莓派  嵌入式硬件  单片机  

树莓派4B外设(BCM2711)

GPIO

58个GPIO,分为3个bank
bank0:0-27
bank1:28-45
bank2:46-57

所有的GPIO至少有两种功能。

PWM

脉宽调制器
特点:

  • 两个独立的比特输出流,频率固定
  • 一个32bit字进行配置
  • 可变的输出
  • 序列模式从一个缓冲中读取数据(64个32bit字)
  • 由100MHz的时钟驱动,可以被时钟管理模块改变

在这里插入图片描述
BCM2711有两个pwm模块,每个有两个通道。
A value represented as a ratio of N/M can be transmitted along a serial channel with pulse width modulation, in which the value is represented by the duty cycle of the output signal。
用比率表示的值N/M可以用PWM进行串行传输,这个值表示为输出信号的占空比。
To send value N/M within a periodic sequence of M cycles, output should be 1 for N cycles and 0 for (M-N) cycles.
要在M个周期中发送N/M的值,输出应该N个周期为1,剩下的(M-N)个周期为0。
The desired sequence should have 1s and 0s spread out as evenly as possible, so that during any arbitrary period of time the duty cycle achieves the closest approximation of the value.
所需的序列应该有1s和0s尽可能均匀地展开,以便在任意时间段内占空比达到最接近该值。
This can be shown in the following table where 4/8 is modulated (N=4, M=8).
这可以在下表中显示,其中4/8被调制(n=4,m=8)。
在这里插入图片描述
Sequence which gives the ‘good’ approximation from the table above can be achieved by the following algorithm:
好的序列可以用如下的算法进行实现:

1. Set context = 0
2. context = context + N
3. if (context >= M)
		context = context - M
		send 1
	else
		send 0
4. Repeat from step 2

where context is a register which stores the result of the additions/subtractions.
其中context是存储加/减结果的寄存器。

8.4. Modes of Operation
操作模式
The PWM controller consists of two independent channels (pwm_chn_i in Figure 14) which implement the PWM algorithm
explained in the previous section. Each channel can operate in either PWM mode or serialiser mode.
PWM控制器由两个独立的通道(图14中的pwm_chn_i)组成,它们实现了前一节中解释的PWM算法。每个通道可以工作在PWM模式或串行模式。
PWM mode: There are two sub-modes in PWM mode: MSEN=0 and MSEN=1.
PWM模式:PWM模式有两个子模式:MSEN=0和MSEN=1。
When MSEN=0 (which is the default mode), data to be sent is interpreted as the value N of the algorithm explained above. The number of clock cycles (range) used to send data is the value M of the algorithm. Pulses are sent within this range so that the resulting duty cycle is N/M. The channel sends its output continuously as long as the data register is used (USEFi=0), or the FIFO is used and it is not empty.
当MSEN=0(这是默认模式)时,要发送的数据被解释为上述算法的值N。用于发送数据的时钟周期数(范围)是算法的值M。脉冲在此范围内发送,因此结果占空比为N/M。只要使用了数据寄存器(usefi=0),或者使用了FIFO并且它不是空的,通道就会连续地发送输出。
When MSEN=1, the PWM channel does not use the algorithm explained above, instead it sends serial data with the M/S ratio as in Figure 15. M is the data to be sent, and S is the range. This mode may be preferred if high frequency modulation is not required or has negative effects. The channel sends its output continuously as long as the data register is used (USEFi=0), or the FIFO is used and it is not empty.
当MSEN=1时,PWM通道不使用上述算法,而是以M/S 比率发送串行数据,如图15所示。M是要发送的数据,S是范围。如果不需要高频调制或有负面影响,则此模式可能是首选的。只要使用了数据寄存器(usefi=0),或者使用了FIFO并且它不是空的,通道就会连续地发送输出。
在这里插入图片描述
8.5. Quick Reference
快速参考

  • PWM0 DMA is mapped to DMA channel 5.
    PWM0 DMA映射到DMA通道5。
  • PWM1 DMA is mapped to DMA channel 1 (muxed with DSI0).
    PWM1 DMA映射到DMA通道1(与DSI0多路复用)。
  • GPIOs are assigned to PWM channels as below. Please refer to the GPIO chapter for further details:
    GPIO分配给PWM通道如下。详情请参阅GPIO章节:
    在这里插入图片描述
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_45090728/article/details/126897727

智能推荐

JSP 汉字乱码解决方法-摘自百度知道_jsp中文字乱码-程序员宅基地

文章浏览阅读434次。刚开始学习jsp的程序员都会遇到这样一个问题,就是网页上的中文无法显示.总结了以下几条方法。 1、在jsp页中加入一条语句: 中文显示就正常了。 2、对于从网页中的文本框通过String parameter = request.getParameter(“parameter”);方式获得的字符串,均是8859_1的编码,如果想把它显示在网页上就必须得用parameter = new_jsp中文字乱码

威联通QNAP-通过WinSCP访问安装路径并执行命令_威联通winscp-程序员宅基地

文章浏览阅读6.8k次。需要打开威联通SSH功能;WinSCP官网下载软件下载路径通过威联通admin账户(重要)登录WinSCP,便可访问到威联通软件安装路径;利用WinSCP连接威联通成功后,点击“命令”菜单图标,即可采用命令访问威联通文件。..._威联通winscp

Crosstool-NG 编译 riscv64-unknown-elf-gcc-程序员宅基地

文章浏览阅读1.4k次。How to build toolchainenv setup主机环境: ubuntu-20.04.3-desktop-amd64.iso安装包 : sudo apt-get install net-tools openssh-server git vim make gcc gawk bison flex texinfo automake libtool-bin cvs libncurses5-dev ninja-build libglib2.0-dev libpixman-1-dev help_riscv64-unknown-elf-gcc

Python大数据之Python爬虫学习总结——day16 数据可视化_以色列 网络爬虫-程序员宅基地

文章浏览阅读183次。注意: 模块的名称不要以数字开头,不要是关键字,一般都是小写,可以字母数字下划线汉字组成(不建议)举例: 当前模块定义名称为:文件操作# 读取文件中的列表,并且把字符串类型转为列表本身# 写列表数据到文件中。_以色列 网络爬虫

CRM 客户管理系统(SpringBoot+MyBatis)-程序员宅基地

文章浏览阅读6.1k次,点赞10次,收藏90次。点击关注公众号,回复“1024”获取2TB学习资源!一.对CRM的项目的简单描述1.什么是CRMCRM系统即客户关系管理系统,是指企业用CRM技术来管理与客户之间的关系。他的目标是缩减销售..._高净值crm项目 投入产出

HTML5期末大作业:在线电影网站设计——我不是药神电影介绍(4页) HTML+CSS+JavaScript 大二实训大作业HTML源码...-程序员宅基地

文章浏览阅读931次。常见网页设计作业题材有 ​​个人、 美食、 公司、 学校、 旅游、 电商、 宠物、 电器、 茶叶、 家居、 酒店、 舞蹈、 动漫、 明星、 服装、 体育、 化妆品、 物流、 环保、 书籍、 婚纱、 军事、 游戏、 节日、 戒烟、 电影、 摄影、 文化、 家乡、 鲜花、 礼品、 汽车、 其他​​ 等网页设计题目, ​​A..._电影网站设计代码

随便推点

Spark and Hadoop碎片知识点-程序员宅基地

文章浏览阅读140次。Spark and Hadoop碎片知识点合集

vue自定义指令-程序员宅基地

文章浏览阅读72次。vue自定义指令vue中除了核心功能内置的指令外,也允许注册自定义指令。有的情况下,对普通DOM元素进行底层操作,这时候就会用到自定义指令。自定义指令又分为全局的自定义指令和局部自定义指令。全局自定义指令全局注册主要是用过Vue.directive方法进行注册Vue.directive第一个参数是指令的名字(不需要写上v-前缀),第二个参数可以是对象数据。// 注册一个全局自定义指令 `v-focalize`Vue.directive('focalize', { // 当被绑定的元素插入

小程序的前期学习_一个app包括json js和dll-程序员宅基地

文章浏览阅读407次。根目录下自定义组件新建custom-tab-bar/index把点击的active定义为共享的数据store.js// 创建store实例// 定义共享数据 数据字段activeTabBarIndex:0, //点击的下标​})})wxmljs​​store,},}},})}},​/*** 组件的初始数据*/data: {{"text": "首页",},{"text": "消息",},{"text": "联系我们",},{_一个app包括json js和dll

3、数据类型转换、引用传值(可变类型、不可变类型)-程序员宅基地

文章浏览阅读217次,点赞3次,收藏5次。数据类型转换、引用传值(可变类型、不可变类型)

第十二章:预处理命令-程序员宅基地

文章浏览阅读628次,点赞23次,收藏8次。第十二章:预处理命令宏定义、文件包含处理

SecretFlow安装,10天拿到阿里网络安全岗offer-程序员宅基地

文章浏览阅读343次,点赞5次,收藏8次。虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算**对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。,朋友们如果有需要全套《网络安全入门+黑客进阶学习资源包》,可以扫描下方二维码领取(如遇扫码问题,可以在评论区留言领取哦)~还有大家最喜欢的黑客技术。

推荐文章

热门文章

相关标签